+++ /dev/null
-[run]
-include =
- pygments/*
+++ /dev/null
-name: Pygments
-
-on: [push, pull_request]
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
- strategy:
- max-parallel: 4
- matrix:
- python-version: [2.7, 3.5, 3.6, 3.7, 3.8, pypy2, pypy3]
-
- steps:
- - uses: actions/checkout@v1
- - name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v1
- with:
- python-version: ${{ matrix.python-version }}
- - name: Install package
- run: |
- python -m pip install --upgrade pip
- pip install -r requirements.txt
- pip install .
- - name: Test package
- run: make test
+++ /dev/null
-name: Docs
-
-on:
- push:
- branches:
- - master
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Setup Python
- uses: actions/setup-python@v1
- with:
- python-version: 3.7
- - name: Checkout Pygments
- uses: actions/checkout@v1
- - name: Checkout Pyodide
- run: git clone https://github.com/pygments/pyodide-artifacts
- - name: Sphinx install
- run: pip install Sphinx
- - name: Sphinx build
- run: |
- cd doc
- WEBSITE_BUILD=1 make dirhtml
- cp -a ../pyodide-artifacts/pyodide _build/dirhtml/_static
- touch _build/dirhtml/.nojekyll
- echo -e 'pygments.org\nwww.pygments.org' > _build/dirhtml/CNAME
- echo 'Automated deployment of docs for GitHub pages.' > _build/dirhtml/README
- - name: Deploy to repo
- uses: peaceiris/actions-gh-pages@v2.5.0
- env:
- ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
- EXTERNAL_REPOSITORY: pygments/pygments.github.io
- PUBLISH_BRANCH: master
- PUBLISH_DIR: ./doc/_build/dirhtml
+++ /dev/null
-*.egg
-*.pyc
-*.pyo
-.*.sw[op]
-/.pytest_cache/
-/.idea/
-/.project
-/.tags
-/.tox/
-/.cache/
-/Pygments.egg-info/*
-/TAGS
-/build/*
-/dist/*
-/doc/_build
-/.coverage
-/htmlcov
-/tests/examplefiles/output
* Sébastien Bigaret -- QVT Operational lexer
* Jarrett Billingsley -- MiniD lexer
* Adam Blinkinsop -- Haskell, Redcode lexers
-* Stéphane Blondon -- SGF lexer
+* Stéphane Blondon -- SGF and Sieve lexers
* Frits van Bommel -- assembler lexers
* Pierre Bourdon -- bugfixes
+* Martijn Braam -- Kernel log lexer
* Matthias Bussonnier -- ANSI style handling for terminal-256 formatter
* chebee7i -- Python traceback lexer improvements
* Hiram Chirino -- Scaml and Jade lexers
* Carlos Galdino -- Elixir and Elixir Console lexers
* Michael Galloy -- IDL lexer
* Naveen Garg -- Autohotkey lexer
+* Simon Garnotel -- FreeFem++ lexer
* Laurent Gautier -- R/S lexer
* Alex Gaynor -- PyPy log lexer
* Richard Gerkin -- Igor Pro lexer
* Alain Gilbert -- TypeScript lexer
* Alex Gilding -- BlitzBasic lexer
+* GitHub, Inc -- DASM16, Augeas, TOML, and Slash lexers
* Bertrand Goetzmann -- Groovy lexer
* Krzysiek Goj -- Scala lexer
+* Rostyslav Golda -- FloScript lexer
* Andrey Golovizin -- BibTeX lexers
* Matt Good -- Genshi, Cheetah lexers
* Michał Górny -- vim modeline support
* Dennis Kaarsemaker -- sources.list lexer
* Dmitri Kabak -- Inferno Limbo lexer
* Igor Kalnitsky -- vhdl lexer
+* Colin Kennedy - USD lexer
* Alexander Kit -- MaskJS lexer
* Pekka Klärck -- Robot Framework lexer
* Gerwin Klein -- Isabelle lexer
* Clément Prévost -- UrbiScript lexer
* Tanner Prynn -- cmdline -x option and loading lexers from files
* Oleh Prypin -- Crystal lexer (based on Ruby lexer)
+* Xidorn Quan -- Web IDL lexer
* Elias Rabel -- Fortran fixed form lexer
* raichoo -- Idris lexer
* Kashif Rasul -- CUDA lexer
* Alex Zimin -- Nemerle lexer
* Rob Zimmerman -- Kal lexer
* Vincent Zurczak -- Roboconf lexer
-* Rostyslav Golda -- FloScript lexer
-* GitHub, Inc -- DASM16, Augeas, TOML, and Slash lexers
-* Simon Garnotel -- FreeFem++ lexer
Many thanks for all contributions!
pull request numbers to the requests at
<https://github.com/pygments/pygments/pulls>.
+
+Version 2.6
+-----------
+(released March 8, 2020)
+
+- Running Pygments on Python 2.x is no longer supported.
+ (The Python 2 lexer still exists.)
+
+- Added lexers:
+
+ * Linux kernel logs (PR#1310)
+ * LLVM MIR (PR#1361)
+ * MiniScript (PR#1397)
+ * Mosel (PR#1287, PR#1326)
+ * Parsing Expression Grammar (PR#1336)
+ * ReasonML (PR#1386)
+ * Ride (PR#1319, PR#1321)
+ * Sieve (PR#1257)
+ * USD (PR#1290)
+ * WebIDL (PR#1309)
+
+- Updated lexers:
+
+ * Apache2 (PR#1378)
+ * Chapel (PR#1357)
+ * CSound (PR#1383)
+ * D (PR#1375, PR#1362)
+ * Idris (PR#1360)
+ * Perl6/Raku lexer (PR#1344)
+ * Python3 (PR#1382, PR#1385)
+ * Rust: Updated lexer to cover more builtins (mostly macros) and miscellaneous
+ new syntax (PR#1320)
+ * SQL: Add temporal support keywords (PR#1402)
+
+- The 256-color/true-color terminal formatters now support the italic attribute
+ in styles (PR#1288)
+- Support HTTP 2/3 header (PR#1308)
+- Support missing reason in HTTP header (PR#1322)
+- Boogie/Silver: support line continuations and triggers, move contract keywords
+ to separate category (PR#1299)
+- GAS: support C-style comments (PR#1291)
+- Fix names in S lexer (PR#1330, PR#1333)
+- Fix numeric literals in Ada (PR#1334)
+- Recognize ``.mjs`` files as Javascript (PR#1392)
+- Recognize ``.eex`` files as Elixir (PR#1387)
+- Fix ``re.MULTILINE`` usage (PR#1388)
+- Recognize ``pipenv`` and ``poetry`` dependency & lock files (PR#1376)
+- Improve font search on Windows (#1247)
+- Remove unused script block (#1401)
+
Version 2.5.2
-------------
(released November 29, 2019)
- Added lexers:
* Email (PR#1246)
- * Erlang, Elxir shells (PR#823, #1521)
+ * Erlang, Elixir shells (PR#823, #1521)
* Notmuch (PR#1264)
* `Scdoc <https://git.sr.ht/~sircmpwn/scdoc>`_ (PR#1268)
* `Solidity <https://solidity.readthedocs.io/>`_ (#1214)
* Logtalk (PR#1261)
* Matlab (PR#1271)
* Praat (PR#1277)
- * Python3 (PR#1255)
+ * Python3 (PR#1255, PR#1400)
* Ruby
* YAML (#1528)
* Velocity
- Support ``application/javascript`` as a JavaScript mime type (#504).
-- Support `Offload <http://offload.codeplay.com>`_ C++ Extensions as
+- Support `Offload <https://offload.codeplay.com/>`_ C++ Extensions as
keywords in the C++ lexer (#484).
- Escape more characters in LaTeX output (#505).
-i docs/build -i pygments/formatters/_mapping.py -i pygments/unistring.py
clean: clean-pyc
- -rm -rf build
+ -rm -rf build tests/examplefiles/output
-rm -f codetags.html
clean-pyc:
Metadata-Version: 1.2
Name: Pygments
-Version: 2.5.2
+Version: 2.6.0
Summary: Pygments is a syntax highlighting package written in Python.
-Home-page: http://pygments.org/
+Home-page: https://pygments.org/
Author: Georg Brandl
Author-email: georg@python.org
License: BSD License
wikis or other applications that need to prettify source code. Highlights
are:
- * a wide range of over 300 languages and other text formats is supported
+ * a wide range of over 500 languages and other text formats is supported
* special attention is paid to details, increasing quality by a fair amount
* support for new languages and formats are added easily
* a number of output formats, presently HTML, LaTeX, RTF, SVG, all image formats that PIL supports and ANSI sequences
Classifier: Intended Audience :: System Administrators
Classifier: Development Status :: 6 - Mature
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Operating System :: OS Independent
Classifier: Topic :: Text Processing :: Filters
Classifier: Topic :: Utilities
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
+Requires-Python: >=3.5
Metadata-Version: 1.2
Name: Pygments
-Version: 2.5.2
+Version: 2.6.0
Summary: Pygments is a syntax highlighting package written in Python.
-Home-page: http://pygments.org/
+Home-page: https://pygments.org/
Author: Georg Brandl
Author-email: georg@python.org
License: BSD License
wikis or other applications that need to prettify source code. Highlights
are:
- * a wide range of over 300 languages and other text formats is supported
+ * a wide range of over 500 languages and other text formats is supported
* special attention is paid to details, increasing quality by a fair amount
* support for new languages and formats are added easily
* a number of output formats, presently HTML, LaTeX, RTF, SVG, all image formats that PIL supports and ANSI sequences
Classifier: Intended Audience :: System Administrators
Classifier: Development Status :: 6 - Mature
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Operating System :: OS Independent
Classifier: Topic :: Text Processing :: Filters
Classifier: Topic :: Utilities
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
+Requires-Python: >=3.5
-.coveragerc
-.gitignore
AUTHORS
CHANGES
LICENSE
MANIFEST.in
Makefile
README.rst
-pytest.ini
-requirements.txt
setup.cfg
setup.py
-tox.ini
-.github/workflows/build.yaml
-.github/workflows/docs.yaml
Pygments.egg-info/PKG-INFO
Pygments.egg-info/SOURCES.txt
Pygments.egg-info/dependency_links.txt
doc/languages.rst
doc/make.bat
doc/pygmentize.1
-doc/_build/dirhtml/.buildinfo
-doc/_build/dirhtml/index.html
-doc/_build/dirhtml/objects.inv
-doc/_build/dirhtml/searchindex.js
-doc/_build/dirhtml/_sources/download.rst.txt
-doc/_build/dirhtml/_sources/faq.rst.txt
-doc/_build/dirhtml/_sources/index.rst.txt
-doc/_build/dirhtml/_sources/languages.rst.txt
-doc/_build/dirhtml/_sources/docs/api.rst.txt
-doc/_build/dirhtml/_sources/docs/authors.rst.txt
-doc/_build/dirhtml/_sources/docs/changelog.rst.txt
-doc/_build/dirhtml/_sources/docs/cmdline.rst.txt
-doc/_build/dirhtml/_sources/docs/filterdevelopment.rst.txt
-doc/_build/dirhtml/_sources/docs/filters.rst.txt
-doc/_build/dirhtml/_sources/docs/formatterdevelopment.rst.txt
-doc/_build/dirhtml/_sources/docs/formatters.rst.txt
-doc/_build/dirhtml/_sources/docs/index.rst.txt
-doc/_build/dirhtml/_sources/docs/integrate.rst.txt
-doc/_build/dirhtml/_sources/docs/java.rst.txt
-doc/_build/dirhtml/_sources/docs/lexerdevelopment.rst.txt
-doc/_build/dirhtml/_sources/docs/lexers.rst.txt
-doc/_build/dirhtml/_sources/docs/moinmoin.rst.txt
-doc/_build/dirhtml/_sources/docs/plugins.rst.txt
-doc/_build/dirhtml/_sources/docs/quickstart.rst.txt
-doc/_build/dirhtml/_sources/docs/rstdirective.rst.txt
-doc/_build/dirhtml/_sources/docs/styles.rst.txt
-doc/_build/dirhtml/_sources/docs/tokens.rst.txt
-doc/_build/dirhtml/_sources/docs/unicode.rst.txt
-doc/_build/dirhtml/_static/basic.css
-doc/_build/dirhtml/_static/bodybg.png
-doc/_build/dirhtml/_static/demo.css
-doc/_build/dirhtml/_static/demo.js
-doc/_build/dirhtml/_static/docbg.png
-doc/_build/dirhtml/_static/doctools.js
-doc/_build/dirhtml/_static/documentation_options.js
-doc/_build/dirhtml/_static/favicon.ico
-doc/_build/dirhtml/_static/file.png
-doc/_build/dirhtml/_static/github.png
-doc/_build/dirhtml/_static/jquery-3.2.1.js
-doc/_build/dirhtml/_static/jquery.js
-doc/_build/dirhtml/_static/language_data.js
-doc/_build/dirhtml/_static/listitem.png
-doc/_build/dirhtml/_static/logo.png
-doc/_build/dirhtml/_static/logo_new.png
-doc/_build/dirhtml/_static/logo_only.png
-doc/_build/dirhtml/_static/minus.png
-doc/_build/dirhtml/_static/plus.png
-doc/_build/dirhtml/_static/pocoo.png
-doc/_build/dirhtml/_static/pygments.css
-doc/_build/dirhtml/_static/pygments14.css
-doc/_build/dirhtml/_static/searchtools.js
-doc/_build/dirhtml/_static/spinner.gif
-doc/_build/dirhtml/_static/underscore-1.3.1.js
-doc/_build/dirhtml/_static/underscore.js
-doc/_build/dirhtml/_static/pyodide/Pygments.data
-doc/_build/dirhtml/_static/pyodide/Pygments.js
-doc/_build/dirhtml/_static/pyodide/packages.json
-doc/_build/dirhtml/_static/pyodide/pyodide.asm.data
-doc/_build/dirhtml/_static/pyodide/pyodide.asm.data.js
-doc/_build/dirhtml/_static/pyodide/pyodide.asm.js
-doc/_build/dirhtml/_static/pyodide/pyodide.asm.wasm
-doc/_build/dirhtml/_static/pyodide/pyodide.js
-doc/_build/dirhtml/demo/index.html
-doc/_build/dirhtml/docs/index.html
-doc/_build/dirhtml/docs/api/index.html
-doc/_build/dirhtml/docs/authors/index.html
-doc/_build/dirhtml/docs/changelog/index.html
-doc/_build/dirhtml/docs/cmdline/index.html
-doc/_build/dirhtml/docs/filterdevelopment/index.html
-doc/_build/dirhtml/docs/filters/index.html
-doc/_build/dirhtml/docs/formatterdevelopment/index.html
-doc/_build/dirhtml/docs/formatters/index.html
-doc/_build/dirhtml/docs/integrate/index.html
-doc/_build/dirhtml/docs/java/index.html
-doc/_build/dirhtml/docs/lexerdevelopment/index.html
-doc/_build/dirhtml/docs/lexers/index.html
-doc/_build/dirhtml/docs/moinmoin/index.html
-doc/_build/dirhtml/docs/plugins/index.html
-doc/_build/dirhtml/docs/quickstart/index.html
-doc/_build/dirhtml/docs/rstdirective/index.html
-doc/_build/dirhtml/docs/styles/index.html
-doc/_build/dirhtml/docs/tokens/index.html
-doc/_build/dirhtml/docs/unicode/index.html
-doc/_build/dirhtml/download/index.html
-doc/_build/dirhtml/faq/index.html
-doc/_build/dirhtml/genindex/index.html
-doc/_build/dirhtml/languages/index.html
-doc/_build/dirhtml/py-modindex/index.html
-doc/_build/dirhtml/search/index.html
doc/_build/doctrees/download.doctree
doc/_build/doctrees/environment.pickle
doc/_build/doctrees/faq.doctree
doc/_build/doctrees/docs/styles.doctree
doc/_build/doctrees/docs/tokens.doctree
doc/_build/doctrees/docs/unicode.doctree
+doc/_build/html/.buildinfo
+doc/_build/html/download.html
+doc/_build/html/faq.html
+doc/_build/html/genindex.html
+doc/_build/html/index.html
+doc/_build/html/languages.html
+doc/_build/html/objects.inv
+doc/_build/html/py-modindex.html
+doc/_build/html/search.html
+doc/_build/html/searchindex.js
+doc/_build/html/_sources/download.rst.txt
+doc/_build/html/_sources/faq.rst.txt
+doc/_build/html/_sources/index.rst.txt
+doc/_build/html/_sources/languages.rst.txt
+doc/_build/html/_sources/docs/api.rst.txt
+doc/_build/html/_sources/docs/authors.rst.txt
+doc/_build/html/_sources/docs/changelog.rst.txt
+doc/_build/html/_sources/docs/cmdline.rst.txt
+doc/_build/html/_sources/docs/filterdevelopment.rst.txt
+doc/_build/html/_sources/docs/filters.rst.txt
+doc/_build/html/_sources/docs/formatterdevelopment.rst.txt
+doc/_build/html/_sources/docs/formatters.rst.txt
+doc/_build/html/_sources/docs/index.rst.txt
+doc/_build/html/_sources/docs/integrate.rst.txt
+doc/_build/html/_sources/docs/java.rst.txt
+doc/_build/html/_sources/docs/lexerdevelopment.rst.txt
+doc/_build/html/_sources/docs/lexers.rst.txt
+doc/_build/html/_sources/docs/moinmoin.rst.txt
+doc/_build/html/_sources/docs/plugins.rst.txt
+doc/_build/html/_sources/docs/quickstart.rst.txt
+doc/_build/html/_sources/docs/rstdirective.rst.txt
+doc/_build/html/_sources/docs/styles.rst.txt
+doc/_build/html/_sources/docs/tokens.rst.txt
+doc/_build/html/_sources/docs/unicode.rst.txt
+doc/_build/html/_static/basic.css
+doc/_build/html/_static/bodybg.png
+doc/_build/html/_static/demo.css
+doc/_build/html/_static/demo.js
+doc/_build/html/_static/docbg.png
+doc/_build/html/_static/doctools.js
+doc/_build/html/_static/documentation_options.js
+doc/_build/html/_static/favicon.ico
+doc/_build/html/_static/file.png
+doc/_build/html/_static/github.png
+doc/_build/html/_static/jquery-3.4.1.js
+doc/_build/html/_static/jquery.js
+doc/_build/html/_static/language_data.js
+doc/_build/html/_static/listitem.png
+doc/_build/html/_static/logo.png
+doc/_build/html/_static/logo_new.png
+doc/_build/html/_static/logo_only.png
+doc/_build/html/_static/minus.png
+doc/_build/html/_static/plus.png
+doc/_build/html/_static/pocoo.png
+doc/_build/html/_static/pygments.css
+doc/_build/html/_static/pygments14.css
+doc/_build/html/_static/searchtools.js
+doc/_build/html/_static/spinner.gif
+doc/_build/html/_static/underscore-1.3.1.js
+doc/_build/html/_static/underscore.js
+doc/_build/html/docs/api.html
+doc/_build/html/docs/authors.html
+doc/_build/html/docs/changelog.html
+doc/_build/html/docs/cmdline.html
+doc/_build/html/docs/filterdevelopment.html
+doc/_build/html/docs/filters.html
+doc/_build/html/docs/formatterdevelopment.html
+doc/_build/html/docs/formatters.html
+doc/_build/html/docs/index.html
+doc/_build/html/docs/integrate.html
+doc/_build/html/docs/java.html
+doc/_build/html/docs/lexerdevelopment.html
+doc/_build/html/docs/lexers.html
+doc/_build/html/docs/moinmoin.html
+doc/_build/html/docs/plugins.html
+doc/_build/html/docs/quickstart.html
+doc/_build/html/docs/rstdirective.html
+doc/_build/html/docs/styles.html
+doc/_build/html/docs/tokens.html
+doc/_build/html/docs/unicode.html
doc/_static/demo.css
doc/_static/demo.js
doc/_static/favicon.ico
pygments/lexers/_stan_builtins.py
pygments/lexers/_stata_builtins.py
pygments/lexers/_tsql_builtins.py
+pygments/lexers/_usd_builtins.py
pygments/lexers/_vbscript_builtins.py
pygments/lexers/_vim_builtins.py
pygments/lexers/actionscript.py
pygments/lexers/modeling.py
pygments/lexers/modula2.py
pygments/lexers/monte.py
+pygments/lexers/mosel.py
pygments/lexers/ncl.py
pygments/lexers/nimrod.py
pygments/lexers/nit.py
pygments/lexers/rdf.py
pygments/lexers/rebol.py
pygments/lexers/resource.py
+pygments/lexers/ride.py
pygments/lexers/rnc.py
pygments/lexers/roboconf.py
pygments/lexers/robotframework.py
pygments/lexers/scripting.py
pygments/lexers/sgf.py
pygments/lexers/shell.py
+pygments/lexers/sieve.py
pygments/lexers/slash.py
pygments/lexers/smalltalk.py
pygments/lexers/smv.py
pygments/lexers/typoscript.py
pygments/lexers/unicon.py
pygments/lexers/urbi.py
+pygments/lexers/usd.py
pygments/lexers/varnish.py
pygments/lexers/verification.py
pygments/lexers/web.py
+pygments/lexers/webidl.py
pygments/lexers/webmisc.py
pygments/lexers/whiley.py
pygments/lexers/x10.py
tests/test_data.py
tests/test_examplefiles.py
tests/test_ezhil.py
+tests/test_grammar_notation.py
+tests/test_haskell.py
tests/test_html_formatter.py
+tests/test_idris.py
tests/test_inherit.py
tests/test_irc_formatter.py
tests/test_java.py
tests/test_textfmts.py
tests/test_token.py
tests/test_unistring.py
+tests/test_usd.py
tests/test_using_api.py
tests/test_util.py
tests/test_whiley.py
+tests/__pycache__/__init__.cpython-37.pyc
+tests/__pycache__/test_apache_conf.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_apache_conf.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_asm.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_asm.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_basic.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_basic.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_basic_api.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_basic_api.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_bibtex.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_bibtex.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_cfm.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_cfm.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_clexer.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_clexer.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_cmdline.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_cmdline.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_cpp.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_cpp.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_crystal.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_crystal.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_csound.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_csound.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_data.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_data.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_examplefiles.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_examplefiles.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_ezhil.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_ezhil.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_grammar_notation.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_guessing.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_haskell.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_haskell.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_html_formatter.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_html_formatter.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_idris.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_inherit.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_inherit.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_irc_formatter.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_irc_formatter.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_java.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_java.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_javascript.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_javascript.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_julia.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_julia.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_kotlin.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_kotlin.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_latex_formatter.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_latex_formatter.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_lexers_other.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_lexers_other.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_markdown_lexer.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_markdown_lexer.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_modeline.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_modeline.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_objectiveclexer.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_objectiveclexer.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_perllexer.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_perllexer.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_php.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_php.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_praat.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_praat.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_properties.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_properties.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_python.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_python.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_qbasiclexer.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_qbasiclexer.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_r.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_r.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_regexlexer.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_regexlexer.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_regexopt.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_regexopt.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_rtf_formatter.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_rtf_formatter.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_ruby.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_ruby.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_shell.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_shell.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_smarty.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_smarty.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_sql.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_sql.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_terminal_formatter.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_terminal_formatter.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_textfmts.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_textfmts.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_token.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_token.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_unistring.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_unistring.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_usd.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_usd.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_using_api.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_using_api.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_util.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_util.cpython-37-pytest-5.3.2.pyc
+tests/__pycache__/test_whiley.cpython-37-pytest-5.1.3.pyc
+tests/__pycache__/test_whiley.cpython-37-pytest-5.3.2.pyc
tests/dtds/HTML4-f.dtd
tests/dtds/HTML4-s.dtd
tests/dtds/HTML4.dcl
tests/examplefiles/as3_test2.as
tests/examplefiles/as3_test3.as
tests/examplefiles/aspx-cs_example
+tests/examplefiles/auction.ride
tests/examplefiles/autoit_submit.au3
tests/examplefiles/automake.mk
tests/examplefiles/badcase.java
tests/examplefiles/example.cob
tests/examplefiles/example.coffee
tests/examplefiles/example.cpp
+tests/examplefiles/example.dmesg
tests/examplefiles/example.e
tests/examplefiles/example.elm
tests/examplefiles/example.eml
tests/examplefiles/example.moon
tests/examplefiles/example.mq4
tests/examplefiles/example.mqh
+tests/examplefiles/example.ms
tests/examplefiles/example.msc
tests/examplefiles/example.ng2
tests/examplefiles/example.ni
tests/examplefiles/example.sh-session
tests/examplefiles/example.shell-session
tests/examplefiles/example.shex
+tests/examplefiles/example.sieve
tests/examplefiles/example.sl
tests/examplefiles/example.slim
tests/examplefiles/example.sls
tests/examplefiles/example.ttl
tests/examplefiles/example.u
tests/examplefiles/example.u1
+tests/examplefiles/example.usd
tests/examplefiles/example.vbs
+tests/examplefiles/example.webidl
tests/examplefiles/example.weechatlog
tests/examplefiles/example.whiley
tests/examplefiles/example.x10
tests/examplefiles/limbo.b
tests/examplefiles/linecontinuation.py
tests/examplefiles/livescript-demo.ls
+tests/examplefiles/llvm-mir.mir
tests/examplefiles/logos_example.xm
tests/examplefiles/ltmain.sh
tests/examplefiles/main.cmake
tests/examplefiles/test.mask
tests/examplefiles/test.mod
tests/examplefiles/test.moo
+tests/examplefiles/test.mos
tests/examplefiles/test.mt
tests/examplefiles/test.myt
tests/examplefiles/test.ncl
tests/examplefiles/test.pypylog
tests/examplefiles/test.r3
tests/examplefiles/test.rb
+tests/examplefiles/test.re
tests/examplefiles/test.rhtml
tests/examplefiles/test.rsl
tests/examplefiles/test.scaml
===================
This is the source of Pygments. It is a **generic syntax highlighter** written
-in Python that supports over 300 languages and text formats, for use in code
+in Python that supports over 500 languages and text formats, for use in code
hosting, forums, wikis or other applications that need to prettify source code.
Installing
Documentation
-------------
-... can be found online at http://pygments.org/ or created with Sphinx by ::
+... can be found online at https://pygments.org/ or created with Sphinx by ::
cd doc
make html
and **Matthäus Chajdas**.
Many lexers and fixes have been contributed by **Armin Ronacher**, the rest of
-the `Pocoo <http://dev.pocoo.org/>`_ team and **Tim Hatch**.
+the `Pocoo <https://dev.pocoo.org/>`_ team and **Tim Hatch**.
The code is distributed under the BSD 2-clause license. Contributors making pull
requests must agree that they are able and willing to put their contributions
+++ /dev/null
-# Sphinx build info version 1
-# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 4ed321c349170b9a52f3730c5cc7d944
-tags: d77d1c0d9ca2f4c8421862c7c5a0d620
+++ /dev/null
-.. -*- mode: rst -*-
-
-=====================
-The full Pygments API
-=====================
-
-This page describes the Pygments API.
-
-High-level API
-==============
-
-.. module:: pygments
-
-Functions from the :mod:`pygments` module:
-
-.. function:: lex(code, lexer)
-
- Lex `code` with the `lexer` (must be a `Lexer` instance)
- and return an iterable of tokens. Currently, this only calls
- `lexer.get_tokens()`.
-
-.. function:: format(tokens, formatter, outfile=None)
-
- Format a token stream (iterable of tokens) `tokens` with the
- `formatter` (must be a `Formatter` instance). The result is
- written to `outfile`, or if that is ``None``, returned as a
- string.
-
-.. function:: highlight(code, lexer, formatter, outfile=None)
-
- This is the most high-level highlighting function.
- It combines `lex` and `format` in one function.
-
-
-.. module:: pygments.lexers
-
-Functions from :mod:`pygments.lexers`:
-
-.. function:: get_lexer_by_name(alias, **options)
-
- Return an instance of a `Lexer` subclass that has `alias` in its
- aliases list. The lexer is given the `options` at its
- instantiation.
-
- Will raise :exc:`pygments.util.ClassNotFound` if no lexer with that alias is
- found.
-
-.. function:: get_lexer_for_filename(fn, **options)
-
- Return a `Lexer` subclass instance that has a filename pattern
- matching `fn`. The lexer is given the `options` at its
- instantiation.
-
- Will raise :exc:`pygments.util.ClassNotFound` if no lexer for that filename
- is found.
-
-.. function:: get_lexer_for_mimetype(mime, **options)
-
- Return a `Lexer` subclass instance that has `mime` in its mimetype
- list. The lexer is given the `options` at its instantiation.
-
- Will raise :exc:`pygments.util.ClassNotFound` if not lexer for that mimetype
- is found.
-
-.. function:: load_lexer_from_file(filename, lexername="CustomLexer", **options)
-
- Return a `Lexer` subclass instance loaded from the provided file, relative
- to the current directory. The file is expected to contain a Lexer class
- named `lexername` (by default, CustomLexer). Users should be very careful with
- the input, because this method is equivalent to running eval on the input file.
- The lexer is given the `options` at its instantiation.
-
- :exc:`ClassNotFound` is raised if there are any errors loading the Lexer
-
- .. versionadded:: 2.2
-
-.. function:: guess_lexer(text, **options)
-
- Return a `Lexer` subclass instance that's guessed from the text in
- `text`. For that, the :meth:`.analyse_text()` method of every known lexer
- class is called with the text as argument, and the lexer which returned the
- highest value will be instantiated and returned.
-
- :exc:`pygments.util.ClassNotFound` is raised if no lexer thinks it can
- handle the content.
-
-.. function:: guess_lexer_for_filename(filename, text, **options)
-
- As :func:`guess_lexer()`, but only lexers which have a pattern in `filenames`
- or `alias_filenames` that matches `filename` are taken into consideration.
-
- :exc:`pygments.util.ClassNotFound` is raised if no lexer thinks it can
- handle the content.
-
-.. function:: get_all_lexers()
-
- Return an iterable over all registered lexers, yielding tuples in the
- format::
-
- (longname, tuple of aliases, tuple of filename patterns, tuple of mimetypes)
-
- .. versionadded:: 0.6
-
-.. function:: find_lexer_class_by_name(alias)
-
- Return the `Lexer` subclass that has `alias` in its aliases list, without
- instantiating it.
-
- Will raise :exc:`pygments.util.ClassNotFound` if no lexer with that alias is
- found.
-
- .. versionadded:: 2.2
-
-.. function:: find_lexer_class(name)
-
- Return the `Lexer` subclass that with the *name* attribute as given by
- the *name* argument.
-
-
-.. module:: pygments.formatters
-
-Functions from :mod:`pygments.formatters`:
-
-.. function:: get_formatter_by_name(alias, **options)
-
- Return an instance of a :class:`.Formatter` subclass that has `alias` in its
- aliases list. The formatter is given the `options` at its instantiation.
-
- Will raise :exc:`pygments.util.ClassNotFound` if no formatter with that
- alias is found.
-
-.. function:: get_formatter_for_filename(fn, **options)
-
- Return a :class:`.Formatter` subclass instance that has a filename pattern
- matching `fn`. The formatter is given the `options` at its instantiation.
-
- Will raise :exc:`pygments.util.ClassNotFound` if no formatter for that filename
- is found.
-
-.. function:: load_formatter_from_file(filename, formattername="CustomFormatter", **options)
-
- Return a `Formatter` subclass instance loaded from the provided file, relative
- to the current directory. The file is expected to contain a Formatter class
- named ``formattername`` (by default, CustomFormatter). Users should be very
- careful with the input, because this method is equivalent to running eval
- on the input file. The formatter is given the `options` at its instantiation.
-
- :exc:`ClassNotFound` is raised if there are any errors loading the Formatter
-
- .. versionadded:: 2.2
-
-.. module:: pygments.styles
-
-Functions from :mod:`pygments.styles`:
-
-.. function:: get_style_by_name(name)
-
- Return a style class by its short name. The names of the builtin styles
- are listed in :data:`pygments.styles.STYLE_MAP`.
-
- Will raise :exc:`pygments.util.ClassNotFound` if no style of that name is
- found.
-
-.. function:: get_all_styles()
-
- Return an iterable over all registered styles, yielding their names.
-
- .. versionadded:: 0.6
-
-
-.. module:: pygments.lexer
-
-Lexers
-======
-
-The base lexer class from which all lexers are derived is:
-
-.. class:: Lexer(**options)
-
- The constructor takes a \*\*keywords dictionary of options.
- Every subclass must first process its own options and then call
- the `Lexer` constructor, since it processes the `stripnl`,
- `stripall` and `tabsize` options.
-
- An example looks like this:
-
- .. sourcecode:: python
-
- def __init__(self, **options):
- self.compress = options.get('compress', '')
- Lexer.__init__(self, **options)
-
- As these options must all be specifiable as strings (due to the
- command line usage), there are various utility functions
- available to help with that, see `Option processing`_.
-
- .. method:: get_tokens(text)
-
- This method is the basic interface of a lexer. It is called by
- the `highlight()` function. It must process the text and return an
- iterable of ``(tokentype, value)`` pairs from `text`.
-
- Normally, you don't need to override this method. The default
- implementation processes the `stripnl`, `stripall` and `tabsize`
- options and then yields all tokens from `get_tokens_unprocessed()`,
- with the ``index`` dropped.
-
- .. method:: get_tokens_unprocessed(text)
-
- This method should process the text and return an iterable of
- ``(index, tokentype, value)`` tuples where ``index`` is the starting
- position of the token within the input text.
-
- This method must be overridden by subclasses.
-
- .. staticmethod:: analyse_text(text)
-
- A static method which is called for lexer guessing. It should analyse
- the text and return a float in the range from ``0.0`` to ``1.0``.
- If it returns ``0.0``, the lexer will not be selected as the most
- probable one, if it returns ``1.0``, it will be selected immediately.
-
- .. note:: You don't have to add ``@staticmethod`` to the definition of
- this method, this will be taken care of by the Lexer's metaclass.
-
- For a list of known tokens have a look at the :doc:`tokens` page.
-
- A lexer also can have the following attributes (in fact, they are mandatory
- except `alias_filenames`) that are used by the builtin lookup mechanism.
-
- .. attribute:: name
-
- Full name for the lexer, in human-readable form.
-
- .. attribute:: aliases
-
- A list of short, unique identifiers that can be used to lookup
- the lexer from a list, e.g. using `get_lexer_by_name()`.
-
- .. attribute:: filenames
-
- A list of `fnmatch` patterns that match filenames which contain
- content for this lexer. The patterns in this list should be unique among
- all lexers.
-
- .. attribute:: alias_filenames
-
- A list of `fnmatch` patterns that match filenames which may or may not
- contain content for this lexer. This list is used by the
- :func:`.guess_lexer_for_filename()` function, to determine which lexers
- are then included in guessing the correct one. That means that
- e.g. every lexer for HTML and a template language should include
- ``\*.html`` in this list.
-
- .. attribute:: mimetypes
-
- A list of MIME types for content that can be lexed with this
- lexer.
-
-
-.. module:: pygments.formatter
-
-Formatters
-==========
-
-A formatter is derived from this class:
-
-
-.. class:: Formatter(**options)
-
- As with lexers, this constructor processes options and then must call the
- base class :meth:`__init__`.
-
- The :class:`Formatter` class recognizes the options `style`, `full` and
- `title`. It is up to the formatter class whether it uses them.
-
- .. method:: get_style_defs(arg='')
-
- This method must return statements or declarations suitable to define
- the current style for subsequent highlighted text (e.g. CSS classes
- in the `HTMLFormatter`).
-
- The optional argument `arg` can be used to modify the generation and
- is formatter dependent (it is standardized because it can be given on
- the command line).
-
- This method is called by the ``-S`` :doc:`command-line option <cmdline>`,
- the `arg` is then given by the ``-a`` option.
-
- .. method:: format(tokensource, outfile)
-
- This method must format the tokens from the `tokensource` iterable and
- write the formatted version to the file object `outfile`.
-
- Formatter options can control how exactly the tokens are converted.
-
- .. versionadded:: 0.7
- A formatter must have the following attributes that are used by the
- builtin lookup mechanism.
-
- .. attribute:: name
-
- Full name for the formatter, in human-readable form.
-
- .. attribute:: aliases
-
- A list of short, unique identifiers that can be used to lookup
- the formatter from a list, e.g. using :func:`.get_formatter_by_name()`.
-
- .. attribute:: filenames
-
- A list of :mod:`fnmatch` patterns that match filenames for which this
- formatter can produce output. The patterns in this list should be unique
- among all formatters.
-
-
-.. module:: pygments.util
-
-Option processing
-=================
-
-The :mod:`pygments.util` module has some utility functions usable for option
-processing:
-
-.. exception:: OptionError
-
- This exception will be raised by all option processing functions if
- the type or value of the argument is not correct.
-
-.. function:: get_bool_opt(options, optname, default=None)
-
- Interpret the key `optname` from the dictionary `options` as a boolean and
- return it. Return `default` if `optname` is not in `options`.
-
- The valid string values for ``True`` are ``1``, ``yes``, ``true`` and
- ``on``, the ones for ``False`` are ``0``, ``no``, ``false`` and ``off``
- (matched case-insensitively).
-
-.. function:: get_int_opt(options, optname, default=None)
-
- As :func:`get_bool_opt`, but interpret the value as an integer.
-
-.. function:: get_list_opt(options, optname, default=None)
-
- If the key `optname` from the dictionary `options` is a string,
- split it at whitespace and return it. If it is already a list
- or a tuple, it is returned as a list.
-
-.. function:: get_choice_opt(options, optname, allowed, default=None)
-
- If the key `optname` from the dictionary is not in the sequence
- `allowed`, raise an error, otherwise return it.
-
- .. versionadded:: 0.8
+++ /dev/null
-Full contributor list
-=====================
-
-.. include:: ../../AUTHORS
+++ /dev/null
-.. include:: ../../CHANGES
+++ /dev/null
-.. -*- mode: rst -*-
-
-======================
-Command Line Interface
-======================
-
-You can use Pygments from the shell, provided you installed the
-:program:`pygmentize` script::
-
- $ pygmentize test.py
- print "Hello World"
-
-will print the file test.py to standard output, using the Python lexer
-(inferred from the file name extension) and the terminal formatter (because
-you didn't give an explicit formatter name).
-
-If you want HTML output::
-
- $ pygmentize -f html -l python -o test.html test.py
-
-As you can see, the -l option explicitly selects a lexer. As seen above, if you
-give an input file name and it has an extension that Pygments recognizes, you can
-omit this option.
-
-The ``-o`` option gives an output file name. If it is not given, output is
-written to stdout.
-
-The ``-f`` option selects a formatter (as with ``-l``, it can also be omitted
-if an output file name is given and has a supported extension).
-If no output file name is given and ``-f`` is omitted, the
-:class:`.TerminalFormatter` is used.
-
-The above command could therefore also be given as::
-
- $ pygmentize -o test.html test.py
-
-To create a full HTML document, including line numbers and stylesheet (using the
-"emacs" style), highlighting the Python file ``test.py`` to ``test.html``::
-
- $ pygmentize -O full,style=emacs -o test.html test.py
-
-
-Options and filters
--------------------
-
-Lexer and formatter options can be given using the ``-O`` option::
-
- $ pygmentize -f html -O style=colorful,linenos=1 -l python test.py
-
-Be sure to enclose the option string in quotes if it contains any special shell
-characters, such as spaces or expansion wildcards like ``*``. If an option
-expects a list value, separate the list entries with spaces (you'll have to
-quote the option value in this case too, so that the shell doesn't split it).
-
-Since the ``-O`` option argument is split at commas and expects the split values
-to be of the form ``name=value``, you can't give an option value that contains
-commas or equals signs. Therefore, an option ``-P`` is provided (as of Pygments
-0.9) that works like ``-O`` but can only pass one option per ``-P``. Its value
-can then contain all characters::
-
- $ pygmentize -P "heading=Pygments, the Python highlighter" ...
-
-Filters are added to the token stream using the ``-F`` option::
-
- $ pygmentize -f html -l pascal -F keywordcase:case=upper main.pas
-
-As you see, options for the filter are given after a colon. As for ``-O``, the
-filter name and options must be one shell word, so there may not be any spaces
-around the colon.
-
-
-Generating styles
------------------
-
-Formatters normally don't output full style information. For example, the HTML
-formatter by default only outputs ``<span>`` tags with ``class`` attributes.
-Therefore, there's a special ``-S`` option for generating style definitions.
-Usage is as follows::
-
- $ pygmentize -f html -S colorful -a .syntax
-
-generates a CSS style sheet (because you selected the HTML formatter) for
-the "colorful" style prepending a ".syntax" selector to all style rules.
-
-For an explanation what ``-a`` means for :doc:`a particular formatter
-<formatters>`, look for the `arg` argument for the formatter's
-:meth:`.get_style_defs()` method.
-
-
-Getting lexer names
--------------------
-
-.. versionadded:: 1.0
-
-The ``-N`` option guesses a lexer name for a given filename, so that ::
-
- $ pygmentize -N setup.py
-
-will print out ``python``. It won't highlight anything yet. If no specific
-lexer is known for that filename, ``text`` is printed.
-
-Custom Lexers and Formatters
-----------------------------
-
-.. versionadded:: 2.2
-
-The ``-x`` flag enables custom lexers and formatters to be loaded
-from files relative to the current directory. Create a file with a class named
-CustomLexer or CustomFormatter, then specify it on the command line::
-
- $ pygmentize -l your_lexer.py -f your_formatter.py -x
-
-You can also specify the name of your class with a colon::
-
- $ pygmentize -l your_lexer.py:SomeLexer -x
-
-For more information, see :doc:`the Pygments documentation on Lexer development
-<lexerdevelopment>`.
-
-Getting help
-------------
-
-The ``-L`` option lists lexers, formatters, along with their short
-names and supported file name extensions, styles and filters. If you want to see
-only one category, give it as an argument::
-
- $ pygmentize -L filters
-
-will list only all installed filters.
-
-The ``-H`` option will give you detailed information (the same that can be found
-in this documentation) about a lexer, formatter or filter. Usage is as follows::
-
- $ pygmentize -H formatter html
-
-will print the help for the HTML formatter, while ::
-
- $ pygmentize -H lexer python
-
-will print the help for the Python lexer, etc.
-
-
-A note on encodings
--------------------
-
-.. versionadded:: 0.9
-
-Pygments tries to be smart regarding encodings in the formatting process:
-
-* If you give an ``encoding`` option, it will be used as the input and
- output encoding.
-
-* If you give an ``outencoding`` option, it will override ``encoding``
- as the output encoding.
-
-* If you give an ``inencoding`` option, it will override ``encoding``
- as the input encoding.
-
-* If you don't give an encoding and have given an output file, the default
- encoding for lexer and formatter is the terminal encoding or the default
- locale encoding of the system. As a last resort, ``latin1`` is used (which
- will pass through all non-ASCII characters).
-
-* If you don't give an encoding and haven't given an output file (that means
- output is written to the console), the default encoding for lexer and
- formatter is the terminal encoding (``sys.stdout.encoding``).
+++ /dev/null
-.. -*- mode: rst -*-
-
-=====================
-Write your own filter
-=====================
-
-.. versionadded:: 0.7
-
-Writing own filters is very easy. All you have to do is to subclass
-the `Filter` class and override the `filter` method. Additionally a
-filter is instantiated with some keyword arguments you can use to
-adjust the behavior of your filter.
-
-
-Subclassing Filters
-===================
-
-As an example, we write a filter that converts all `Name.Function` tokens
-to normal `Name` tokens to make the output less colorful.
-
-.. sourcecode:: python
-
- from pygments.util import get_bool_opt
- from pygments.token import Name
- from pygments.filter import Filter
-
- class UncolorFilter(Filter):
-
- def __init__(self, **options):
- Filter.__init__(self, **options)
- self.class_too = get_bool_opt(options, 'classtoo')
-
- def filter(self, lexer, stream):
- for ttype, value in stream:
- if ttype is Name.Function or (self.class_too and
- ttype is Name.Class):
- ttype = Name
- yield ttype, value
-
-Some notes on the `lexer` argument: that can be quite confusing since it doesn't
-need to be a lexer instance. If a filter was added by using the `add_filter()`
-function of lexers, that lexer is registered for the filter. In that case
-`lexer` will refer to the lexer that has registered the filter. It *can* be used
-to access options passed to a lexer. Because it could be `None` you always have
-to check for that case if you access it.
-
-
-Using a decorator
-=================
-
-You can also use the `simplefilter` decorator from the `pygments.filter` module:
-
-.. sourcecode:: python
-
- from pygments.util import get_bool_opt
- from pygments.token import Name
- from pygments.filter import simplefilter
-
-
- @simplefilter
- def uncolor(self, lexer, stream, options):
- class_too = get_bool_opt(options, 'classtoo')
- for ttype, value in stream:
- if ttype is Name.Function or (class_too and
- ttype is Name.Class):
- ttype = Name
- yield ttype, value
-
-The decorator automatically subclasses an internal filter class and uses the
-decorated function as a method for filtering. (That's why there is a `self`
-argument that you probably won't end up using in the method.)
+++ /dev/null
-.. -*- mode: rst -*-
-
-=======
-Filters
-=======
-
-.. versionadded:: 0.7
-
-You can filter token streams coming from lexers to improve or annotate the
-output. For example, you can highlight special words in comments, convert
-keywords to upper or lowercase to enforce a style guide etc.
-
-To apply a filter, you can use the `add_filter()` method of a lexer:
-
-.. sourcecode:: pycon
-
- >>> from pygments.lexers import PythonLexer
- >>> l = PythonLexer()
- >>> # add a filter given by a string and options
- >>> l.add_filter('codetagify', case='lower')
- >>> l.filters
- [<pygments.filters.CodeTagFilter object at 0xb785decc>]
- >>> from pygments.filters import KeywordCaseFilter
- >>> # or give an instance
- >>> l.add_filter(KeywordCaseFilter(case='lower'))
-
-The `add_filter()` method takes keyword arguments which are forwarded to
-the constructor of the filter.
-
-To get a list of all registered filters by name, you can use the
-`get_all_filters()` function from the `pygments.filters` module that returns an
-iterable for all known filters.
-
-If you want to write your own filter, have a look at :doc:`Write your own filter
-<filterdevelopment>`.
-
-
-Builtin Filters
-===============
-
-.. pygmentsdoc:: filters
+++ /dev/null
-.. -*- mode: rst -*-
-
-========================
-Write your own formatter
-========================
-
-As well as creating :doc:`your own lexer <lexerdevelopment>`, writing a new
-formatter for Pygments is easy and straightforward.
-
-A formatter is a class that is initialized with some keyword arguments (the
-formatter options) and that must provides a `format()` method.
-Additionally a formatter should provide a `get_style_defs()` method that
-returns the style definitions from the style in a form usable for the
-formatter's output format.
-
-
-Quickstart
-==========
-
-The most basic formatter shipped with Pygments is the `NullFormatter`. It just
-sends the value of a token to the output stream:
-
-.. sourcecode:: python
-
- from pygments.formatter import Formatter
-
- class NullFormatter(Formatter):
- def format(self, tokensource, outfile):
- for ttype, value in tokensource:
- outfile.write(value)
-
-As you can see, the `format()` method is passed two parameters: `tokensource`
-and `outfile`. The first is an iterable of ``(token_type, value)`` tuples,
-the latter a file like object with a `write()` method.
-
-Because the formatter is that basic it doesn't overwrite the `get_style_defs()`
-method.
-
-
-Styles
-======
-
-Styles aren't instantiated but their metaclass provides some class functions
-so that you can access the style definitions easily.
-
-Styles are iterable and yield tuples in the form ``(ttype, d)`` where `ttype`
-is a token and `d` is a dict with the following keys:
-
-``'color'``
- Hexadecimal color value (eg: ``'ff0000'`` for red) or `None` if not
- defined.
-
-``'bold'``
- `True` if the value should be bold
-
-``'italic'``
- `True` if the value should be italic
-
-``'underline'``
- `True` if the value should be underlined
-
-``'bgcolor'``
- Hexadecimal color value for the background (eg: ``'eeeeeee'`` for light
- gray) or `None` if not defined.
-
-``'border'``
- Hexadecimal color value for the border (eg: ``'0000aa'`` for a dark
- blue) or `None` for no border.
-
-Additional keys might appear in the future, formatters should ignore all keys
-they don't support.
-
-
-HTML 3.2 Formatter
-==================
-
-For an more complex example, let's implement a HTML 3.2 Formatter. We don't
-use CSS but inline markup (``<u>``, ``<font>``, etc). Because this isn't good
-style this formatter isn't in the standard library ;-)
-
-.. sourcecode:: python
-
- from pygments.formatter import Formatter
-
- class OldHtmlFormatter(Formatter):
-
- def __init__(self, **options):
- Formatter.__init__(self, **options)
-
- # create a dict of (start, end) tuples that wrap the
- # value of a token so that we can use it in the format
- # method later
- self.styles = {}
-
- # we iterate over the `_styles` attribute of a style item
- # that contains the parsed style values.
- for token, style in self.style:
- start = end = ''
- # a style item is a tuple in the following form:
- # colors are readily specified in hex: 'RRGGBB'
- if style['color']:
- start += '<font color="#%s">' % style['color']
- end = '</font>' + end
- if style['bold']:
- start += '<b>'
- end = '</b>' + end
- if style['italic']:
- start += '<i>'
- end = '</i>' + end
- if style['underline']:
- start += '<u>'
- end = '</u>' + end
- self.styles[token] = (start, end)
-
- def format(self, tokensource, outfile):
- # lastval is a string we use for caching
- # because it's possible that an lexer yields a number
- # of consecutive tokens with the same token type.
- # to minimize the size of the generated html markup we
- # try to join the values of same-type tokens here
- lastval = ''
- lasttype = None
-
- # wrap the whole output with <pre>
- outfile.write('<pre>')
-
- for ttype, value in tokensource:
- # if the token type doesn't exist in the stylemap
- # we try it with the parent of the token type
- # eg: parent of Token.Literal.String.Double is
- # Token.Literal.String
- while ttype not in self.styles:
- ttype = ttype.parent
- if ttype == lasttype:
- # the current token type is the same of the last
- # iteration. cache it
- lastval += value
- else:
- # not the same token as last iteration, but we
- # have some data in the buffer. wrap it with the
- # defined style and write it to the output file
- if lastval:
- stylebegin, styleend = self.styles[lasttype]
- outfile.write(stylebegin + lastval + styleend)
- # set lastval/lasttype to current values
- lastval = value
- lasttype = ttype
-
- # if something is left in the buffer, write it to the
- # output file, then close the opened <pre> tag
- if lastval:
- stylebegin, styleend = self.styles[lasttype]
- outfile.write(stylebegin + lastval + styleend)
- outfile.write('</pre>\n')
-
-The comments should explain it. Again, this formatter doesn't override the
-`get_style_defs()` method. If we would have used CSS classes instead of
-inline HTML markup, we would need to generate the CSS first. For that
-purpose the `get_style_defs()` method exists:
-
-
-Generating Style Definitions
-============================
-
-Some formatters like the `LatexFormatter` and the `HtmlFormatter` don't
-output inline markup but reference either macros or css classes. Because
-the definitions of those are not part of the output, the `get_style_defs()`
-method exists. It is passed one parameter (if it's used and how it's used
-is up to the formatter) and has to return a string or ``None``.
+++ /dev/null
-.. -*- mode: rst -*-
-
-====================
-Available formatters
-====================
-
-This page lists all builtin formatters.
-
-Common options
-==============
-
-All formatters support these options:
-
-`encoding`
- If given, must be an encoding name (such as ``"utf-8"``). This will
- be used to convert the token strings (which are Unicode strings)
- to byte strings in the output (default: ``None``).
- It will also be written in an encoding declaration suitable for the
- document format if the `full` option is given (e.g. a ``meta
- content-type`` directive in HTML or an invocation of the `inputenc`
- package in LaTeX).
-
- If this is ``""`` or ``None``, Unicode strings will be written
- to the output file, which most file-like objects do not support.
- For example, `pygments.highlight()` will return a Unicode string if
- called with no `outfile` argument and a formatter that has `encoding`
- set to ``None`` because it uses a `StringIO.StringIO` object that
- supports Unicode arguments to `write()`. Using a regular file object
- wouldn't work.
-
- .. versionadded:: 0.6
-
-`outencoding`
- When using Pygments from the command line, any `encoding` option given is
- passed to the lexer and the formatter. This is sometimes not desirable,
- for example if you want to set the input encoding to ``"guess"``.
- Therefore, `outencoding` has been introduced which overrides `encoding`
- for the formatter if given.
-
- .. versionadded:: 0.7
-
-
-Formatter classes
-=================
-
-All these classes are importable from :mod:`pygments.formatters`.
-
-.. pygmentsdoc:: formatters
+++ /dev/null
-Pygments documentation
-======================
-
-**Starting with Pygments**
-
-.. toctree::
- :maxdepth: 1
-
- ../download
- quickstart
- cmdline
-
-**Builtin components**
-
-.. toctree::
- :maxdepth: 1
-
- lexers
- filters
- formatters
- styles
-
-**Reference**
-
-.. toctree::
- :maxdepth: 1
-
- unicode
- tokens
- api
-
-**Hacking for Pygments**
-
-.. toctree::
- :maxdepth: 1
-
- lexerdevelopment
- formatterdevelopment
- filterdevelopment
- plugins
-
-**Hints and tricks**
-
-.. toctree::
- :maxdepth: 1
-
- rstdirective
- moinmoin
- java
- integrate
-
-**About Pygments**
-
-.. toctree::
- :maxdepth: 1
-
- changelog
- authors
-
-If you find bugs or have suggestions for the documentation, please submit them
-on `GitHub <https://github.com/pygments/pygments>`.
+++ /dev/null
-.. -*- mode: rst -*-
-
-===================================
-Using Pygments in various scenarios
-===================================
-
-Markdown
---------
-
-Since Pygments 0.9, the distribution ships Markdown_ preprocessor sample code
-that uses Pygments to render source code in
-:file:`external/markdown-processor.py`. You can copy and adapt it to your
-liking.
-
-.. _Markdown: http://www.freewisdom.org/projects/python-markdown/
-
-TextMate
---------
-
-Antonio Cangiano has created a Pygments bundle for TextMate that allows to
-colorize code via a simple menu option. It can be found here_.
-
-.. _here: http://antoniocangiano.com/2008/10/28/pygments-textmate-bundle/
-
-Bash completion
----------------
-
-The source distribution contains a file ``external/pygments.bashcomp`` that
-sets up completion for the ``pygmentize`` command in bash.
-
-Wrappers for other languages
-----------------------------
-
-These libraries provide Pygments highlighting for users of other languages
-than Python:
-
-* `pygments.rb <https://github.com/tmm1/pygments.rb>`_, a pygments wrapper for Ruby
-* `Clygments <https://github.com/bfontaine/clygments>`_, a pygments wrapper for
- Clojure
-* `PHPygments <https://github.com/capynet/PHPygments>`_, a pygments wrapper for PHP
+++ /dev/null
-=====================
-Use Pygments in Java
-=====================
-
-Thanks to `Jython <http://www.jython.org>`_ it is possible to use Pygments in
-Java.
-
-This page is a simple tutorial to get an idea of how this works. You can
-then look at the `Jython documentation <http://www.jython.org/docs/>`_ for more
-advanced uses.
-
-Since version 1.5, Pygments is deployed on `Maven Central
-<http://repo1.maven.org/maven2/org/pygments/pygments/>`_ as a JAR, as is Jython
-which makes it a lot easier to create a Java project.
-
-Here is an example of a `Maven <http://www.maven.org>`_ ``pom.xml`` file for a
-project running Pygments:
-
-.. sourcecode:: xml
-
- <?xml version="1.0" encoding="UTF-8"?>
-
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
- http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>example</groupId>
- <artifactId>example</artifactId>
- <version>1.0-SNAPSHOT</version>
- <dependencies>
- <dependency>
- <groupId>org.python</groupId>
- <artifactId>jython-standalone</artifactId>
- <version>2.5.3</version>
- </dependency>
- <dependency>
- <groupId>org.pygments</groupId>
- <artifactId>pygments</artifactId>
- <version>1.5</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
- </project>
-
-The following Java example:
-
-.. sourcecode:: java
-
- PythonInterpreter interpreter = new PythonInterpreter();
-
- // Set a variable with the content you want to work with
- interpreter.set("code", code);
-
- // Simple use Pygments as you would in Python
- interpreter.exec("from pygments import highlight\n"
- + "from pygments.lexers import PythonLexer\n"
- + "from pygments.formatters import HtmlFormatter\n"
- + "\nresult = highlight(code, PythonLexer(), HtmlFormatter())");
-
- // Get the result that has been set in a variable
- System.out.println(interpreter.get("result", String.class));
-
-will print something like:
-
-.. sourcecode:: html
-
- <div class="highlight">
- <pre><span class="k">print</span> <span class="s">"Hello World"</span></pre>
- </div>
+++ /dev/null
-.. -*- mode: rst -*-
-
-.. highlight:: python
-
-====================
-Write your own lexer
-====================
-
-If a lexer for your favorite language is missing in the Pygments package, you
-can easily write your own and extend Pygments.
-
-All you need can be found inside the :mod:`pygments.lexer` module. As you can
-read in the :doc:`API documentation <api>`, a lexer is a class that is
-initialized with some keyword arguments (the lexer options) and that provides a
-:meth:`.get_tokens_unprocessed()` method which is given a string or unicode
-object with the data to lex.
-
-The :meth:`.get_tokens_unprocessed()` method must return an iterator or iterable
-containing tuples in the form ``(index, token, value)``. Normally you don't
-need to do this since there are base lexers that do most of the work and that
-you can subclass.
-
-
-RegexLexer
-==========
-
-The lexer base class used by almost all of Pygments' lexers is the
-:class:`RegexLexer`. This class allows you to define lexing rules in terms of
-*regular expressions* for different *states*.
-
-States are groups of regular expressions that are matched against the input
-string at the *current position*. If one of these expressions matches, a
-corresponding action is performed (such as yielding a token with a specific
-type, or changing state), the current position is set to where the last match
-ended and the matching process continues with the first regex of the current
-state.
-
-Lexer states are kept on a stack: each time a new state is entered, the new
-state is pushed onto the stack. The most basic lexers (like the `DiffLexer`)
-just need one state.
-
-Each state is defined as a list of tuples in the form (`regex`, `action`,
-`new_state`) where the last item is optional. In the most basic form, `action`
-is a token type (like `Name.Builtin`). That means: When `regex` matches, emit a
-token with the match text and type `tokentype` and push `new_state` on the state
-stack. If the new state is ``'#pop'``, the topmost state is popped from the
-stack instead. To pop more than one state, use ``'#pop:2'`` and so on.
-``'#push'`` is a synonym for pushing the current state on the stack.
-
-The following example shows the `DiffLexer` from the builtin lexers. Note that
-it contains some additional attributes `name`, `aliases` and `filenames` which
-aren't required for a lexer. They are used by the builtin lexer lookup
-functions. ::
-
- from pygments.lexer import RegexLexer
- from pygments.token import *
-
- class DiffLexer(RegexLexer):
- name = 'Diff'
- aliases = ['diff']
- filenames = ['*.diff']
-
- tokens = {
- 'root': [
- (r' .*\n', Text),
- (r'\+.*\n', Generic.Inserted),
- (r'-.*\n', Generic.Deleted),
- (r'@.*\n', Generic.Subheading),
- (r'Index.*\n', Generic.Heading),
- (r'=.*\n', Generic.Heading),
- (r'.*\n', Text),
- ]
- }
-
-As you can see this lexer only uses one state. When the lexer starts scanning
-the text, it first checks if the current character is a space. If this is true
-it scans everything until newline and returns the data as a `Text` token (which
-is the "no special highlighting" token).
-
-If this rule doesn't match, it checks if the current char is a plus sign. And
-so on.
-
-If no rule matches at the current position, the current char is emitted as an
-`Error` token that indicates a lexing error, and the position is increased by
-one.
-
-
-Adding and testing a new lexer
-==============================
-
-The easiest way to use a new lexer is to use Pygments' support for loading
-the lexer from a file relative to your current directory.
-
-First, change the name of your lexer class to CustomLexer:
-
-.. code-block:: python
-
- from pygments.lexer import RegexLexer
- from pygments.token import *
-
- class CustomLexer(RegexLexer):
- """All your lexer code goes here!"""
-
-Then you can load the lexer from the command line with the additional
-flag ``-x``:
-
-.. code-block:: console
-
- $ pygmentize -l your_lexer_file.py -x
-
-To specify a class name other than CustomLexer, append it with a colon:
-
-.. code-block:: console
-
- $ pygmentize -l your_lexer.py:SomeLexer -x
-
-Or, using the Python API:
-
-.. code-block:: python
-
- # For a lexer named CustomLexer
- your_lexer = load_lexer_from_file(filename, **options)
-
- # For a lexer named MyNewLexer
- your_named_lexer = load_lexer_from_file(filename, "MyNewLexer", **options)
-
-When loading custom lexers and formatters, be extremely careful to use only
-trusted files; Pygments will perform the equivalent of ``eval`` on them.
-
-If you only want to use your lexer with the Pygments API, you can import and
-instantiate the lexer yourself, then pass it to :func:`pygments.highlight`.
-
-To prepare your new lexer for inclusion in the Pygments distribution, so that it
-will be found when passing filenames or lexer aliases from the command line, you
-have to perform the following steps.
-
-First, change to the current directory containing the Pygments source code. You
-will need to have either an unpacked source tarball, or (preferably) a copy
-cloned from GitHub.
-
-.. code-block:: console
-
- $ cd .../pygments-main
-
-Select a matching module under ``pygments/lexers``, or create a new module for
-your lexer class.
-
-Next, make sure the lexer is known from outside of the module. All modules in
-the ``pygments.lexers`` package specify ``__all__``. For example,
-``esoteric.py`` sets::
-
- __all__ = ['BrainfuckLexer', 'BefungeLexer', ...]
-
-Add the name of your lexer class to this list (or create the list if your lexer
-is the only class in the module).
-
-Finally the lexer can be made publicly known by rebuilding the lexer mapping:
-
-.. code-block:: console
-
- $ make mapfiles
-
-To test the new lexer, store an example file with the proper extension in
-``tests/examplefiles``. For example, to test your ``DiffLexer``, add a
-``tests/examplefiles/example.diff`` containing a sample diff output.
-
-Now you can use pygmentize to render your example to HTML:
-
-.. code-block:: console
-
- $ ./pygmentize -O full -f html -o /tmp/example.html tests/examplefiles/example.diff
-
-Note that this explicitly calls the ``pygmentize`` in the current directory
-by preceding it with ``./``. This ensures your modifications are used.
-Otherwise a possibly already installed, unmodified version without your new
-lexer would have been called from the system search path (``$PATH``).
-
-To view the result, open ``/tmp/example.html`` in your browser.
-
-Once the example renders as expected, you should run the complete test suite:
-
-.. code-block:: console
-
- $ make test
-
-It also tests that your lexer fulfills the lexer API and certain invariants,
-such as that the concatenation of all token text is the same as the input text.
-
-
-Regex Flags
-===========
-
-You can either define regex flags locally in the regex (``r'(?x)foo bar'``) or
-globally by adding a `flags` attribute to your lexer class. If no attribute is
-defined, it defaults to `re.MULTILINE`. For more information about regular
-expression flags see the page about `regular expressions`_ in the Python
-documentation.
-
-.. _regular expressions: http://docs.python.org/library/re.html#regular-expression-syntax
-
-
-Scanning multiple tokens at once
-================================
-
-So far, the `action` element in the rule tuple of regex, action and state has
-been a single token type. Now we look at the first of several other possible
-values.
-
-Here is a more complex lexer that highlights INI files. INI files consist of
-sections, comments and ``key = value`` pairs::
-
- from pygments.lexer import RegexLexer, bygroups
- from pygments.token import *
-
- class IniLexer(RegexLexer):
- name = 'INI'
- aliases = ['ini', 'cfg']
- filenames = ['*.ini', '*.cfg']
-
- tokens = {
- 'root': [
- (r'\s+', Text),
- (r';.*?$', Comment),
- (r'\[.*?\]$', Keyword),
- (r'(.*?)(\s*)(=)(\s*)(.*?)$',
- bygroups(Name.Attribute, Text, Operator, Text, String))
- ]
- }
-
-The lexer first looks for whitespace, comments and section names. Later it
-looks for a line that looks like a key, value pair, separated by an ``'='``
-sign, and optional whitespace.
-
-The `bygroups` helper yields each capturing group in the regex with a different
-token type. First the `Name.Attribute` token, then a `Text` token for the
-optional whitespace, after that a `Operator` token for the equals sign. Then a
-`Text` token for the whitespace again. The rest of the line is returned as
-`String`.
-
-Note that for this to work, every part of the match must be inside a capturing
-group (a ``(...)``), and there must not be any nested capturing groups. If you
-nevertheless need a group, use a non-capturing group defined using this syntax:
-``(?:some|words|here)`` (note the ``?:`` after the beginning parenthesis).
-
-If you find yourself needing a capturing group inside the regex which shouldn't
-be part of the output but is used in the regular expressions for backreferencing
-(eg: ``r'(<(foo|bar)>)(.*?)(</\2>)'``), you can pass `None` to the bygroups
-function and that group will be skipped in the output.
-
-
-Changing states
-===============
-
-Many lexers need multiple states to work as expected. For example, some
-languages allow multiline comments to be nested. Since this is a recursive
-pattern it's impossible to lex just using regular expressions.
-
-Here is a lexer that recognizes C++ style comments (multi-line with ``/* */``
-and single-line with ``//`` until end of line)::
-
- from pygments.lexer import RegexLexer
- from pygments.token import *
-
- class CppCommentLexer(RegexLexer):
- name = 'Example Lexer with states'
-
- tokens = {
- 'root': [
- (r'[^/]+', Text),
- (r'/\*', Comment.Multiline, 'comment'),
- (r'//.*?$', Comment.Singleline),
- (r'/', Text)
- ],
- 'comment': [
- (r'[^*/]', Comment.Multiline),
- (r'/\*', Comment.Multiline, '#push'),
- (r'\*/', Comment.Multiline, '#pop'),
- (r'[*/]', Comment.Multiline)
- ]
- }
-
-This lexer starts lexing in the ``'root'`` state. It tries to match as much as
-possible until it finds a slash (``'/'``). If the next character after the slash
-is an asterisk (``'*'``) the `RegexLexer` sends those two characters to the
-output stream marked as `Comment.Multiline` and continues lexing with the rules
-defined in the ``'comment'`` state.
-
-If there wasn't an asterisk after the slash, the `RegexLexer` checks if it's a
-Singleline comment (i.e. followed by a second slash). If this also wasn't the
-case it must be a single slash, which is not a comment starter (the separate
-regex for a single slash must also be given, else the slash would be marked as
-an error token).
-
-Inside the ``'comment'`` state, we do the same thing again. Scan until the
-lexer finds a star or slash. If it's the opening of a multiline comment, push
-the ``'comment'`` state on the stack and continue scanning, again in the
-``'comment'`` state. Else, check if it's the end of the multiline comment. If
-yes, pop one state from the stack.
-
-Note: If you pop from an empty stack you'll get an `IndexError`. (There is an
-easy way to prevent this from happening: don't ``'#pop'`` in the root state).
-
-If the `RegexLexer` encounters a newline that is flagged as an error token, the
-stack is emptied and the lexer continues scanning in the ``'root'`` state. This
-can help producing error-tolerant highlighting for erroneous input, e.g. when a
-single-line string is not closed.
-
-
-Advanced state tricks
-=====================
-
-There are a few more things you can do with states:
-
-- You can push multiple states onto the stack if you give a tuple instead of a
- simple string as the third item in a rule tuple. For example, if you want to
- match a comment containing a directive, something like:
-
- .. code-block:: text
-
- /* <processing directive> rest of comment */
-
- you can use this rule::
-
- tokens = {
- 'root': [
- (r'/\* <', Comment, ('comment', 'directive')),
- ...
- ],
- 'directive': [
- (r'[^>]*', Comment.Directive),
- (r'>', Comment, '#pop'),
- ],
- 'comment': [
- (r'[^*]+', Comment),
- (r'\*/', Comment, '#pop'),
- (r'\*', Comment),
- ]
- }
-
- When this encounters the above sample, first ``'comment'`` and ``'directive'``
- are pushed onto the stack, then the lexer continues in the directive state
- until it finds the closing ``>``, then it continues in the comment state until
- the closing ``*/``. Then, both states are popped from the stack again and
- lexing continues in the root state.
-
- .. versionadded:: 0.9
- The tuple can contain the special ``'#push'`` and ``'#pop'`` (but not
- ``'#pop:n'``) directives.
-
-
-- You can include the rules of a state in the definition of another. This is
- done by using `include` from `pygments.lexer`::
-
- from pygments.lexer import RegexLexer, bygroups, include
- from pygments.token import *
-
- class ExampleLexer(RegexLexer):
- tokens = {
- 'comments': [
- (r'/\*.*?\*/', Comment),
- (r'//.*?\n', Comment),
- ],
- 'root': [
- include('comments'),
- (r'(function )(\w+)( {)',
- bygroups(Keyword, Name, Keyword), 'function'),
- (r'.', Text),
- ],
- 'function': [
- (r'[^}/]+', Text),
- include('comments'),
- (r'/', Text),
- (r'\}', Keyword, '#pop'),
- ]
- }
-
- This is a hypothetical lexer for a language that consist of functions and
- comments. Because comments can occur at toplevel and in functions, we need
- rules for comments in both states. As you can see, the `include` helper saves
- repeating rules that occur more than once (in this example, the state
- ``'comment'`` will never be entered by the lexer, as it's only there to be
- included in ``'root'`` and ``'function'``).
-
-- Sometimes, you may want to "combine" a state from existing ones. This is
- possible with the `combined` helper from `pygments.lexer`.
-
- If you, instead of a new state, write ``combined('state1', 'state2')`` as the
- third item of a rule tuple, a new anonymous state will be formed from state1
- and state2 and if the rule matches, the lexer will enter this state.
-
- This is not used very often, but can be helpful in some cases, such as the
- `PythonLexer`'s string literal processing.
-
-- If you want your lexer to start lexing in a different state you can modify the
- stack by overriding the `get_tokens_unprocessed()` method::
-
- from pygments.lexer import RegexLexer
-
- class ExampleLexer(RegexLexer):
- tokens = {...}
-
- def get_tokens_unprocessed(self, text, stack=('root', 'otherstate')):
- for item in RegexLexer.get_tokens_unprocessed(self, text, stack):
- yield item
-
- Some lexers like the `PhpLexer` use this to make the leading ``<?php``
- preprocessor comments optional. Note that you can crash the lexer easily by
- putting values into the stack that don't exist in the token map. Also
- removing ``'root'`` from the stack can result in strange errors!
-
-- In some lexers, a state should be popped if anything is encountered that isn't
- matched by a rule in the state. You could use an empty regex at the end of
- the state list, but Pygments provides a more obvious way of spelling that:
- ``default('#pop')`` is equivalent to ``('', Text, '#pop')``.
-
- .. versionadded:: 2.0
-
-
-Subclassing lexers derived from RegexLexer
-==========================================
-
-.. versionadded:: 1.6
-
-Sometimes multiple languages are very similar, but should still be lexed by
-different lexer classes.
-
-When subclassing a lexer derived from RegexLexer, the ``tokens`` dictionaries
-defined in the parent and child class are merged. For example::
-
- from pygments.lexer import RegexLexer, inherit
- from pygments.token import *
-
- class BaseLexer(RegexLexer):
- tokens = {
- 'root': [
- ('[a-z]+', Name),
- (r'/\*', Comment, 'comment'),
- ('"', String, 'string'),
- ('\s+', Text),
- ],
- 'string': [
- ('[^"]+', String),
- ('"', String, '#pop'),
- ],
- 'comment': [
- ...
- ],
- }
-
- class DerivedLexer(BaseLexer):
- tokens = {
- 'root': [
- ('[0-9]+', Number),
- inherit,
- ],
- 'string': [
- (r'[^"\\]+', String),
- (r'\\.', String.Escape),
- ('"', String, '#pop'),
- ],
- }
-
-The `BaseLexer` defines two states, lexing names and strings. The
-`DerivedLexer` defines its own tokens dictionary, which extends the definitions
-of the base lexer:
-
-* The "root" state has an additional rule and then the special object `inherit`,
- which tells Pygments to insert the token definitions of the parent class at
- that point.
-
-* The "string" state is replaced entirely, since there is not `inherit` rule.
-
-* The "comment" state is inherited entirely.
-
-
-Using multiple lexers
-=====================
-
-Using multiple lexers for the same input can be tricky. One of the easiest
-combination techniques is shown here: You can replace the action entry in a rule
-tuple with a lexer class. The matched text will then be lexed with that lexer,
-and the resulting tokens will be yielded.
-
-For example, look at this stripped-down HTML lexer::
-
- from pygments.lexer import RegexLexer, bygroups, using
- from pygments.token import *
- from pygments.lexers.javascript import JavascriptLexer
-
- class HtmlLexer(RegexLexer):
- name = 'HTML'
- aliases = ['html']
- filenames = ['*.html', '*.htm']
-
- flags = re.IGNORECASE | re.DOTALL
- tokens = {
- 'root': [
- ('[^<&]+', Text),
- ('&.*?;', Name.Entity),
- (r'<\s*script\s*', Name.Tag, ('script-content', 'tag')),
- (r'<\s*[a-zA-Z0-9:]+', Name.Tag, 'tag'),
- (r'<\s*/\s*[a-zA-Z0-9:]+\s*>', Name.Tag),
- ],
- 'script-content': [
- (r'(.+?)(<\s*/\s*script\s*>)',
- bygroups(using(JavascriptLexer), Name.Tag),
- '#pop'),
- ]
- }
-
-Here the content of a ``<script>`` tag is passed to a newly created instance of
-a `JavascriptLexer` and not processed by the `HtmlLexer`. This is done using
-the `using` helper that takes the other lexer class as its parameter.
-
-Note the combination of `bygroups` and `using`. This makes sure that the
-content up to the ``</script>`` end tag is processed by the `JavascriptLexer`,
-while the end tag is yielded as a normal token with the `Name.Tag` type.
-
-Also note the ``(r'<\s*script\s*', Name.Tag, ('script-content', 'tag'))`` rule.
-Here, two states are pushed onto the state stack, ``'script-content'`` and
-``'tag'``. That means that first ``'tag'`` is processed, which will lex
-attributes and the closing ``>``, then the ``'tag'`` state is popped and the
-next state on top of the stack will be ``'script-content'``.
-
-Since you cannot refer to the class currently being defined, use `this`
-(imported from `pygments.lexer`) to refer to the current lexer class, i.e.
-``using(this)``. This construct may seem unnecessary, but this is often the
-most obvious way of lexing arbitrary syntax between fixed delimiters without
-introducing deeply nested states.
-
-The `using()` helper has a special keyword argument, `state`, which works as
-follows: if given, the lexer to use initially is not in the ``"root"`` state,
-but in the state given by this argument. This does not work with advanced
-`RegexLexer` subclasses such as `ExtendedRegexLexer` (see below).
-
-Any other keywords arguments passed to `using()` are added to the keyword
-arguments used to create the lexer.
-
-
-Delegating Lexer
-================
-
-Another approach for nested lexers is the `DelegatingLexer` which is for example
-used for the template engine lexers. It takes two lexers as arguments on
-initialisation: a `root_lexer` and a `language_lexer`.
-
-The input is processed as follows: First, the whole text is lexed with the
-`language_lexer`. All tokens yielded with the special type of ``Other`` are
-then concatenated and given to the `root_lexer`. The language tokens of the
-`language_lexer` are then inserted into the `root_lexer`'s token stream at the
-appropriate positions. ::
-
- from pygments.lexer import DelegatingLexer
- from pygments.lexers.web import HtmlLexer, PhpLexer
-
- class HtmlPhpLexer(DelegatingLexer):
- def __init__(self, **options):
- super(HtmlPhpLexer, self).__init__(HtmlLexer, PhpLexer, **options)
-
-This procedure ensures that e.g. HTML with template tags in it is highlighted
-correctly even if the template tags are put into HTML tags or attributes.
-
-If you want to change the needle token ``Other`` to something else, you can give
-the lexer another token type as the third parameter::
-
- DelegatingLexer.__init__(MyLexer, OtherLexer, Text, **options)
-
-
-Callbacks
-=========
-
-Sometimes the grammar of a language is so complex that a lexer would be unable
-to process it just by using regular expressions and stacks.
-
-For this, the `RegexLexer` allows callbacks to be given in rule tuples, instead
-of token types (`bygroups` and `using` are nothing else but preimplemented
-callbacks). The callback must be a function taking two arguments:
-
-* the lexer itself
-* the match object for the last matched rule
-
-The callback must then return an iterable of (or simply yield) ``(index,
-tokentype, value)`` tuples, which are then just passed through by
-`get_tokens_unprocessed()`. The ``index`` here is the position of the token in
-the input string, ``tokentype`` is the normal token type (like `Name.Builtin`),
-and ``value`` the associated part of the input string.
-
-You can see an example here::
-
- from pygments.lexer import RegexLexer
- from pygments.token import Generic
-
- class HypotheticLexer(RegexLexer):
-
- def headline_callback(lexer, match):
- equal_signs = match.group(1)
- text = match.group(2)
- yield match.start(), Generic.Headline, equal_signs + text + equal_signs
-
- tokens = {
- 'root': [
- (r'(=+)(.*?)(\1)', headline_callback)
- ]
- }
-
-If the regex for the `headline_callback` matches, the function is called with
-the match object. Note that after the callback is done, processing continues
-normally, that is, after the end of the previous match. The callback has no
-possibility to influence the position.
-
-There are not really any simple examples for lexer callbacks, but you can see
-them in action e.g. in the `SMLLexer` class in `ml.py`_.
-
-.. _ml.py: https://github.com/pygments/pygments/blob/master/pygments/lexers/ml.py
-
-
-The ExtendedRegexLexer class
-============================
-
-The `RegexLexer`, even with callbacks, unfortunately isn't powerful enough for
-the funky syntax rules of languages such as Ruby.
-
-But fear not; even then you don't have to abandon the regular expression
-approach: Pygments has a subclass of `RegexLexer`, the `ExtendedRegexLexer`.
-All features known from RegexLexers are available here too, and the tokens are
-specified in exactly the same way, *except* for one detail:
-
-The `get_tokens_unprocessed()` method holds its internal state data not as local
-variables, but in an instance of the `pygments.lexer.LexerContext` class, and
-that instance is passed to callbacks as a third argument. This means that you
-can modify the lexer state in callbacks.
-
-The `LexerContext` class has the following members:
-
-* `text` -- the input text
-* `pos` -- the current starting position that is used for matching regexes
-* `stack` -- a list containing the state stack
-* `end` -- the maximum position to which regexes are matched, this defaults to
- the length of `text`
-
-Additionally, the `get_tokens_unprocessed()` method can be given a
-`LexerContext` instead of a string and will then process this context instead of
-creating a new one for the string argument.
-
-Note that because you can set the current position to anything in the callback,
-it won't be automatically be set by the caller after the callback is finished.
-For example, this is how the hypothetical lexer above would be written with the
-`ExtendedRegexLexer`::
-
- from pygments.lexer import ExtendedRegexLexer
- from pygments.token import Generic
-
- class ExHypotheticLexer(ExtendedRegexLexer):
-
- def headline_callback(lexer, match, ctx):
- equal_signs = match.group(1)
- text = match.group(2)
- yield match.start(), Generic.Headline, equal_signs + text + equal_signs
- ctx.pos = match.end()
-
- tokens = {
- 'root': [
- (r'(=+)(.*?)(\1)', headline_callback)
- ]
- }
-
-This might sound confusing (and it can really be). But it is needed, and for an
-example look at the Ruby lexer in `ruby.py`_.
-
-.. _ruby.py: https://github.com/pygments/pygments/blob/master/pygments/lexers/ruby.py
-
-
-Handling Lists of Keywords
-==========================
-
-For a relatively short list (hundreds) you can construct an optimized regular
-expression directly using ``words()`` (longer lists, see next section). This
-function handles a few things for you automatically, including escaping
-metacharacters and Python's first-match rather than longest-match in
-alternations. Feel free to put the lists themselves in
-``pygments/lexers/_$lang_builtins.py`` (see examples there), and generated by
-code if possible.
-
-An example of using ``words()`` is something like::
-
- from pygments.lexer import RegexLexer, words, Name
-
- class MyLexer(RegexLexer):
-
- tokens = {
- 'root': [
- (words(('else', 'elseif'), suffix=r'\b'), Name.Builtin),
- (r'\w+', Name),
- ],
- }
-
-As you can see, you can add ``prefix`` and ``suffix`` parts to the constructed
-regex.
-
-
-Modifying Token Streams
-=======================
-
-Some languages ship a lot of builtin functions (for example PHP). The total
-amount of those functions differs from system to system because not everybody
-has every extension installed. In the case of PHP there are over 3000 builtin
-functions. That's an incredibly huge amount of functions, much more than you
-want to put into a regular expression.
-
-But because only `Name` tokens can be function names this is solvable by
-overriding the ``get_tokens_unprocessed()`` method. The following lexer
-subclasses the `PythonLexer` so that it highlights some additional names as
-pseudo keywords::
-
- from pygments.lexers.python import PythonLexer
- from pygments.token import Name, Keyword
-
- class MyPythonLexer(PythonLexer):
- EXTRA_KEYWORDS = set(('foo', 'bar', 'foobar', 'barfoo', 'spam', 'eggs'))
-
- def get_tokens_unprocessed(self, text):
- for index, token, value in PythonLexer.get_tokens_unprocessed(self, text):
- if token is Name and value in self.EXTRA_KEYWORDS:
- yield index, Keyword.Pseudo, value
- else:
- yield index, token, value
-
-The `PhpLexer` and `LuaLexer` use this method to resolve builtin functions.
+++ /dev/null
-.. -*- mode: rst -*-
-
-================
-Available lexers
-================
-
-This page lists all available builtin lexers and the options they take.
-
-Currently, **all lexers** support these options:
-
-`stripnl`
- Strip leading and trailing newlines from the input (default: ``True``)
-
-`stripall`
- Strip all leading and trailing whitespace from the input (default:
- ``False``).
-
-`ensurenl`
- Make sure that the input ends with a newline (default: ``True``). This
- is required for some lexers that consume input linewise.
-
- .. versionadded:: 1.3
-
-`tabsize`
- If given and greater than 0, expand tabs in the input (default: ``0``).
-
-`encoding`
- If given, must be an encoding name (such as ``"utf-8"``). This encoding
- will be used to convert the input string to Unicode (if it is not already
- a Unicode string). The default is ``"guess"``.
-
- If this option is set to ``"guess"``, a simple UTF-8 vs. Latin-1
- detection is used, if it is set to ``"chardet"``, the
- `chardet library <https://chardet.github.io/>`_ is used to
- guess the encoding of the input.
-
- .. versionadded:: 0.6
-
-
-The "Short Names" field lists the identifiers that can be used with the
-`get_lexer_by_name()` function.
-
-These lexers are builtin and can be imported from `pygments.lexers`:
-
-.. pygmentsdoc:: lexers
-
-
-Iterating over all lexers
--------------------------
-
-.. versionadded:: 0.6
-
-To get all lexers (both the builtin and the plugin ones), you can
-use the `get_all_lexers()` function from the `pygments.lexers`
-module:
-
-.. sourcecode:: pycon
-
- >>> from pygments.lexers import get_all_lexers
- >>> i = get_all_lexers()
- >>> i.next()
- ('Diff', ('diff',), ('*.diff', '*.patch'), ('text/x-diff', 'text/x-patch'))
- >>> i.next()
- ('Delphi', ('delphi', 'objectpascal', 'pas', 'pascal'), ('*.pas',), ('text/x-pascal',))
- >>> i.next()
- ('XML+Ruby', ('xml+erb', 'xml+ruby'), (), ())
-
-As you can see, the return value is an iterator which yields tuples
-in the form ``(name, aliases, filetypes, mimetypes)``.
+++ /dev/null
-.. -*- mode: rst -*-
-
-============================
-Using Pygments with MoinMoin
-============================
-
-From Pygments 0.7, the source distribution ships a `Moin`_ parser plugin that
-can be used to get Pygments highlighting in Moin wiki pages.
-
-To use it, copy the file `external/moin-parser.py` from the Pygments
-distribution to the `data/plugin/parser` subdirectory of your Moin instance.
-Edit the options at the top of the file (currently ``ATTACHMENTS`` and
-``INLINESTYLES``) and rename the file to the name that the parser directive
-should have. For example, if you name the file ``code.py``, you can get a
-highlighted Python code sample with this Wiki markup::
-
- {{{
- #!code python
- [...]
- }}}
-
-where ``python`` is the Pygments name of the lexer to use.
-
-Additionally, if you set the ``ATTACHMENTS`` option to True, Pygments will also
-be called for all attachments for whose filenames there is no other parser
-registered.
-
-You are responsible for including CSS rules that will map the Pygments CSS
-classes to colors. You can output a stylesheet file with `pygmentize`, put it
-into the `htdocs` directory of your Moin instance and then include it in the
-`stylesheets` configuration option in the Moin config, e.g.::
-
- stylesheets = [('screen', '/htdocs/pygments.css')]
-
-If you do not want to do that and are willing to accept larger HTML output, you
-can set the ``INLINESTYLES`` option to True.
-
-
-.. _Moin: http://moinmoin.wikiwikiweb.de/
+++ /dev/null
-================
-Register Plugins
-================
-
-If you want to extend Pygments without hacking the sources, but want to
-use the lexer/formatter/style/filter lookup functions (`lexers.get_lexer_by_name`
-et al.), you can use `setuptools`_ entrypoints to add new lexers, formatters
-or styles as if they were in the Pygments core.
-
-.. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools
-
-That means you can use your highlighter modules with the `pygmentize` script,
-which relies on the mentioned functions.
-
-
-Entrypoints
-===========
-
-Here is a list of setuptools entrypoints that Pygments understands:
-
-`pygments.lexers`
-
- This entrypoint is used for adding new lexers to the Pygments core.
- The name of the entrypoint values doesn't really matter, Pygments extracts
- required metadata from the class definition:
-
- .. sourcecode:: ini
-
- [pygments.lexers]
- yourlexer = yourmodule:YourLexer
-
- Note that you have to define ``name``, ``aliases`` and ``filename``
- attributes so that you can use the highlighter from the command line:
-
- .. sourcecode:: python
-
- class YourLexer(...):
- name = 'Name Of Your Lexer'
- aliases = ['alias']
- filenames = ['*.ext']
-
-
-`pygments.formatters`
-
- You can use this entrypoint to add new formatters to Pygments. The
- name of an entrypoint item is the name of the formatter. If you
- prefix the name with a slash it's used as a filename pattern:
-
- .. sourcecode:: ini
-
- [pygments.formatters]
- yourformatter = yourmodule:YourFormatter
- /.ext = yourmodule:YourFormatter
-
-
-`pygments.styles`
-
- To add a new style you can use this entrypoint. The name of the entrypoint
- is the name of the style:
-
- .. sourcecode:: ini
-
- [pygments.styles]
- yourstyle = yourmodule:YourStyle
-
-
-`pygments.filters`
-
- Use this entrypoint to register a new filter. The name of the
- entrypoint is the name of the filter:
-
- .. sourcecode:: ini
-
- [pygments.filters]
- yourfilter = yourmodule:YourFilter
-
-
-How To Use Entrypoints
-======================
-
-This documentation doesn't explain how to use those entrypoints because this is
-covered in the `setuptools documentation`_. That page should cover everything
-you need to write a plugin.
-
-.. _setuptools documentation: http://peak.telecommunity.com/DevCenter/setuptools
-
-
-Extending The Core
-==================
-
-If you have written a Pygments plugin that is open source, please inform us
-about that. There is a high chance that we'll add it to the Pygments
-distribution.
+++ /dev/null
-.. -*- mode: rst -*-
-
-===========================
-Introduction and Quickstart
-===========================
-
-
-Welcome to Pygments! This document explains the basic concepts and terms and
-gives a few examples of how to use the library.
-
-
-Architecture
-============
-
-There are four types of components that work together highlighting a piece of
-code:
-
-* A **lexer** splits the source into tokens, fragments of the source that
- have a token type that determines what the text represents semantically
- (e.g., keyword, string, or comment). There is a lexer for every language
- or markup format that Pygments supports.
-* The token stream can be piped through **filters**, which usually modify
- the token types or text fragments, e.g. uppercasing all keywords.
-* A **formatter** then takes the token stream and writes it to an output
- file, in a format such as HTML, LaTeX or RTF.
-* While writing the output, a **style** determines how to highlight all the
- different token types. It maps them to attributes like "red and bold".
-
-
-Example
-=======
-
-Here is a small example for highlighting Python code:
-
-.. sourcecode:: python
-
- from pygments import highlight
- from pygments.lexers import PythonLexer
- from pygments.formatters import HtmlFormatter
-
- code = 'print "Hello World"'
- print(highlight(code, PythonLexer(), HtmlFormatter()))
-
-which prints something like this:
-
-.. sourcecode:: html
-
- <div class="highlight">
- <pre><span class="k">print</span> <span class="s">"Hello World"</span></pre>
- </div>
-
-As you can see, Pygments uses CSS classes (by default, but you can change that)
-instead of inline styles in order to avoid outputting redundant style information over
-and over. A CSS stylesheet that contains all CSS classes possibly used in the output
-can be produced by:
-
-.. sourcecode:: python
-
- print(HtmlFormatter().get_style_defs('.highlight'))
-
-The argument to :func:`get_style_defs` is used as an additional CSS selector:
-the output may look like this:
-
-.. sourcecode:: css
-
- .highlight .k { color: #AA22FF; font-weight: bold }
- .highlight .s { color: #BB4444 }
- ...
-
-
-Options
-=======
-
-The :func:`highlight()` function supports a fourth argument called *outfile*, it
-must be a file object if given. The formatted output will then be written to
-this file instead of being returned as a string.
-
-Lexers and formatters both support options. They are given to them as keyword
-arguments either to the class or to the lookup method:
-
-.. sourcecode:: python
-
- from pygments import highlight
- from pygments.lexers import get_lexer_by_name
- from pygments.formatters import HtmlFormatter
-
- lexer = get_lexer_by_name("python", stripall=True)
- formatter = HtmlFormatter(linenos=True, cssclass="source")
- result = highlight(code, lexer, formatter)
-
-This makes the lexer strip all leading and trailing whitespace from the input
-(`stripall` option), lets the formatter output line numbers (`linenos` option),
-and sets the wrapping ``<div>``'s class to ``source`` (instead of
-``highlight``).
-
-Important options include:
-
-`encoding` : for lexers and formatters
- Since Pygments uses Unicode strings internally, this determines which
- encoding will be used to convert to or from byte strings.
-`style` : for formatters
- The name of the style to use when writing the output.
-
-
-For an overview of builtin lexers and formatters and their options, visit the
-:doc:`lexer <lexers>` and :doc:`formatters <formatters>` lists.
-
-For a documentation on filters, see :doc:`this page <filters>`.
-
-
-Lexer and formatter lookup
-==========================
-
-If you want to lookup a built-in lexer by its alias or a filename, you can use
-one of the following methods:
-
-.. sourcecode:: pycon
-
- >>> from pygments.lexers import (get_lexer_by_name,
- ... get_lexer_for_filename, get_lexer_for_mimetype)
-
- >>> get_lexer_by_name('python')
- <pygments.lexers.PythonLexer>
-
- >>> get_lexer_for_filename('spam.rb')
- <pygments.lexers.RubyLexer>
-
- >>> get_lexer_for_mimetype('text/x-perl')
- <pygments.lexers.PerlLexer>
-
-All these functions accept keyword arguments; they will be passed to the lexer
-as options.
-
-A similar API is available for formatters: use :func:`.get_formatter_by_name()`
-and :func:`.get_formatter_for_filename()` from the :mod:`pygments.formatters`
-module for this purpose.
-
-
-Guessing lexers
-===============
-
-If you don't know the content of the file, or you want to highlight a file
-whose extension is ambiguous, such as ``.html`` (which could contain plain HTML
-or some template tags), use these functions:
-
-.. sourcecode:: pycon
-
- >>> from pygments.lexers import guess_lexer, guess_lexer_for_filename
-
- >>> guess_lexer('#!/usr/bin/python\nprint "Hello World!"')
- <pygments.lexers.PythonLexer>
-
- >>> guess_lexer_for_filename('test.py', 'print "Hello World!"')
- <pygments.lexers.PythonLexer>
-
-:func:`.guess_lexer()` passes the given content to the lexer classes'
-:meth:`analyse_text()` method and returns the one for which it returns the
-highest number.
-
-All lexers have two different filename pattern lists: the primary and the
-secondary one. The :func:`.get_lexer_for_filename()` function only uses the
-primary list, whose entries are supposed to be unique among all lexers.
-:func:`.guess_lexer_for_filename()`, however, will first loop through all lexers
-and look at the primary and secondary filename patterns if the filename matches.
-If only one lexer matches, it is returned, else the guessing mechanism of
-:func:`.guess_lexer()` is used with the matching lexers.
-
-As usual, keyword arguments to these functions are given to the created lexer
-as options.
-
-
-Command line usage
-==================
-
-You can use Pygments from the command line, using the :program:`pygmentize`
-script::
-
- $ pygmentize test.py
-
-will highlight the Python file test.py using ANSI escape sequences
-(a.k.a. terminal colors) and print the result to standard output.
-
-To output HTML, use the ``-f`` option::
-
- $ pygmentize -f html -o test.html test.py
-
-to write an HTML-highlighted version of test.py to the file test.html.
-Note that it will only be a snippet of HTML, if you want a full HTML document,
-use the "full" option::
-
- $ pygmentize -f html -O full -o test.html test.py
-
-This will produce a full HTML document with included stylesheet.
-
-A style can be selected with ``-O style=<name>``.
-
-If you need a stylesheet for an existing HTML file using Pygments CSS classes,
-it can be created with::
-
- $ pygmentize -S default -f html > style.css
-
-where ``default`` is the style name.
-
-More options and tricks and be found in the :doc:`command line reference
-<cmdline>`.
+++ /dev/null
-.. -*- mode: rst -*-
-
-================================
-Using Pygments in ReST documents
-================================
-
-Many Python people use `ReST`_ for documentation their sourcecode, programs,
-scripts et cetera. This also means that documentation often includes sourcecode
-samples or snippets.
-
-You can easily enable Pygments support for your ReST texts using a custom
-directive -- this is also how this documentation displays source code.
-
-From Pygments 0.9, the directive is shipped in the distribution as
-`external/rst-directive.py`. You can copy and adapt this code to your liking.
-
-.. removed -- too confusing
- *Loosely related note:* The ReST lexer now recognizes ``.. sourcecode::`` and
- ``.. code::`` directives and highlights the contents in the specified language
- if the `handlecodeblocks` option is true.
-
-.. _ReST: http://docutils.sf.net/rst.html
+++ /dev/null
-.. -*- mode: rst -*-
-
-======
-Styles
-======
-
-Pygments comes with some builtin styles that work for both the HTML and
-LaTeX formatter.
-
-The builtin styles can be looked up with the `get_style_by_name` function:
-
-.. sourcecode:: pycon
-
- >>> from pygments.styles import get_style_by_name
- >>> get_style_by_name('colorful')
- <class 'pygments.styles.colorful.ColorfulStyle'>
-
-You can pass a instance of a `Style` class to a formatter as the `style`
-option in form of a string:
-
-.. sourcecode:: pycon
-
- >>> from pygments.styles import get_style_by_name
- >>> from pygments.formatters import HtmlFormatter
- >>> HtmlFormatter(style='colorful').style
- <class 'pygments.styles.colorful.ColorfulStyle'>
-
-Or you can also import your own style (which must be a subclass of
-`pygments.style.Style`) and pass it to the formatter:
-
-.. sourcecode:: pycon
-
- >>> from yourapp.yourmodule import YourStyle
- >>> from pygments.formatters import HtmlFormatter
- >>> HtmlFormatter(style=YourStyle).style
- <class 'yourapp.yourmodule.YourStyle'>
-
-
-Creating Own Styles
-===================
-
-So, how to create a style? All you have to do is to subclass `Style` and
-define some styles:
-
-.. sourcecode:: python
-
- from pygments.style import Style
- from pygments.token import Keyword, Name, Comment, String, Error, \
- Number, Operator, Generic
-
- class YourStyle(Style):
- default_style = ""
- styles = {
- Comment: 'italic #888',
- Keyword: 'bold #005',
- Name: '#f00',
- Name.Function: '#0f0',
- Name.Class: 'bold #0f0',
- String: 'bg:#eee #111'
- }
-
-That's it. There are just a few rules. When you define a style for `Name`
-the style automatically also affects `Name.Function` and so on. If you
-defined ``'bold'`` and you don't want boldface for a subtoken use ``'nobold'``.
-
-(Philosophy: the styles aren't written in CSS syntax since this way
-they can be used for a variety of formatters.)
-
-`default_style` is the style inherited by all token types.
-
-To make the style usable for Pygments, you must
-
-* either register it as a plugin (see :doc:`the plugin docs <plugins>`)
-* or drop it into the `styles` subpackage of your Pygments distribution one style
- class per style, where the file name is the style name and the class name is
- `StylenameClass`. For example, if your style should be called
- ``"mondrian"``, name the class `MondrianStyle`, put it into the file
- ``mondrian.py`` and this file into the ``pygments.styles`` subpackage
- directory.
-
-
-Style Rules
-===========
-
-Here a small overview of all allowed styles:
-
-``bold``
- render text as bold
-``nobold``
- don't render text as bold (to prevent subtokens being highlighted bold)
-``italic``
- render text italic
-``noitalic``
- don't render text as italic
-``underline``
- render text underlined
-``nounderline``
- don't render text underlined
-``bg:``
- transparent background
-``bg:#000000``
- background color (black)
-``border:``
- no border
-``border:#ffffff``
- border color (white)
-``#ff0000``
- text color (red)
-``noinherit``
- don't inherit styles from supertoken
-
-Note that there may not be a space between ``bg:`` and the color value
-since the style definition string is split at whitespace.
-Also, using named colors is not allowed since the supported color names
-vary for different formatters.
-
-Furthermore, not all lexers might support every style.
-
-
-Builtin Styles
-==============
-
-Pygments ships some builtin styles which are maintained by the Pygments team.
-
-To get a list of known styles you can use this snippet:
-
-.. sourcecode:: pycon
-
- >>> from pygments.styles import STYLE_MAP
- >>> STYLE_MAP.keys()
- ['default', 'emacs', 'friendly', 'colorful']
-
-
-Getting a list of available styles
-==================================
-
-.. versionadded:: 0.6
-
-Because it could be that a plugin registered a style, there is
-a way to iterate over all styles:
-
-.. sourcecode:: pycon
-
- >>> from pygments.styles import get_all_styles
- >>> styles = list(get_all_styles())
-
-
-.. _AnsiTerminalStyle:
-
-Terminal Styles
-===============
-
-.. versionadded:: 2.2
-
-Custom styles used with the 256-color terminal formatter can also map colors to
-use the 8 default ANSI colors. To do so, use ``ansigreen``, ``ansibrightred`` or
-any other colors defined in :attr:`pygments.style.ansicolors`. Foreground ANSI
-colors will be mapped to the corresponding `escape codes 30 to 37
-<https://en.wikipedia.org/wiki/ANSI_escape_code#Colors>`_ thus respecting any
-custom color mapping and themes provided by many terminal emulators. Light
-variants are treated as foreground color with and an added bold flag.
-``bg:ansi<color>`` will also be respected, except the light variant will be the
-same shade as their dark variant.
-
-See the following example where the color of the string ``"hello world"`` is
-governed by the escape sequence ``\x1b[34;01m`` (Ansi bright blue, Bold, 41 being red
-background) instead of an extended foreground & background color.
-
-.. sourcecode:: pycon
-
- >>> from pygments import highlight
- >>> from pygments.style import Style
- >>> from pygments.token import Token
- >>> from pygments.lexers import Python3Lexer
- >>> from pygments.formatters import Terminal256Formatter
-
- >>> class MyStyle(Style):
- styles = {
- Token.String: 'ansibrightblue bg:ansibrightred',
- }
-
- >>> code = 'print("Hello World")'
- >>> result = highlight(code, Python3Lexer(), Terminal256Formatter(style=MyStyle))
- >>> print(result.encode())
- b'\x1b[34;41;01m"\x1b[39;49;00m\x1b[34;41;01mHello World\x1b[39;49;00m\x1b[34;41;01m"\x1b[39;49;00m'
-
-Colors specified using ``ansi*`` are converted to a default set of RGB colors
-when used with formatters other than the terminal-256 formatter.
-
-By definition of ANSI, the following colors are considered "light" colors, and
-will be rendered by most terminals as bold:
-
-- "brightblack" (darkgrey), "brightred", "brightgreen", "brightyellow", "brightblue",
- "brightmagenta", "brightcyan", "white"
-
-The following are considered "dark" colors and will be rendered as non-bold:
-
-- "black", "red", "green", "yellow", "blue", "magenta", "cyan",
- "gray"
-
-Exact behavior might depends on the terminal emulator you are using, and its
-settings.
-
-.. _new-ansi-color-names:
-
-.. versionchanged:: 2.4
-
-The definition of the ANSI color names has changed.
-New names are easier to understand and align to the colors used in other projects.
-
-===================== ====================
-New names Pygments up to 2.3
-===================== ====================
-``ansiblack`` ``#ansiblack``
-``ansired`` ``#ansidarkred``
-``ansigreen`` ``#ansidarkgreen``
-``ansiyellow`` ``#ansibrown``
-``ansiblue`` ``#ansidarkblue``
-``ansimagenta`` ``#ansipurple``
-``ansicyan`` ``#ansiteal``
-``ansigray`` ``#ansilightgray``
-``ansibrightblack`` ``#ansidarkgray``
-``ansibrightred`` ``#ansired``
-``ansibrightgreen`` ``#ansigreen``
-``ansibrightyellow`` ``#ansiyellow``
-``ansibrightblue`` ``#ansiblue``
-``ansibrightmagenta`` ``#ansifuchsia``
-``ansibrightcyan`` ``#ansiturquoise``
-``ansiwhite`` ``#ansiwhite``
-===================== ====================
-
-Old ANSI color names are deprecated but will still work.
+++ /dev/null
-.. -*- mode: rst -*-
-
-==============
-Builtin Tokens
-==============
-
-.. module:: pygments.token
-
-In the :mod:`pygments.token` module, there is a special object called `Token`
-that is used to create token types.
-
-You can create a new token type by accessing an attribute of `Token`:
-
-.. sourcecode:: pycon
-
- >>> from pygments.token import Token
- >>> Token.String
- Token.String
- >>> Token.String is Token.String
- True
-
-Note that tokens are singletons so you can use the ``is`` operator for comparing
-token types.
-
-As of Pygments 0.7 you can also use the ``in`` operator to perform set tests:
-
-.. sourcecode:: pycon
-
- >>> from pygments.token import Comment
- >>> Comment.Single in Comment
- True
- >>> Comment in Comment.Multi
- False
-
-This can be useful in :doc:`filters <filters>` and if you write lexers on your
-own without using the base lexers.
-
-You can also split a token type into a hierarchy, and get the parent of it:
-
-.. sourcecode:: pycon
-
- >>> String.split()
- [Token, Token.Literal, Token.Literal.String]
- >>> String.parent
- Token.Literal
-
-In principle, you can create an unlimited number of token types but nobody can
-guarantee that a style would define style rules for a token type. Because of
-that, Pygments proposes some global token types defined in the
-`pygments.token.STANDARD_TYPES` dict.
-
-For some tokens aliases are already defined:
-
-.. sourcecode:: pycon
-
- >>> from pygments.token import String
- >>> String
- Token.Literal.String
-
-Inside the :mod:`pygments.token` module the following aliases are defined:
-
-============= ============================ ====================================
-`Text` `Token.Text` for any type of text data
-`Whitespace` `Token.Text.Whitespace` for specially highlighted whitespace
-`Error` `Token.Error` represents lexer errors
-`Other` `Token.Other` special token for data not
- matched by a parser (e.g. HTML
- markup in PHP code)
-`Keyword` `Token.Keyword` any kind of keywords
-`Name` `Token.Name` variable/function names
-`Literal` `Token.Literal` Any literals
-`String` `Token.Literal.String` string literals
-`Number` `Token.Literal.Number` number literals
-`Operator` `Token.Operator` operators (``+``, ``not``...)
-`Punctuation` `Token.Punctuation` punctuation (``[``, ``(``...)
-`Comment` `Token.Comment` any kind of comments
-`Generic` `Token.Generic` generic tokens (have a look at
- the explanation below)
-============= ============================ ====================================
-
-The `Whitespace` token type is new in Pygments 0.8. It is used only by the
-`VisibleWhitespaceFilter` currently.
-
-Normally you just create token types using the already defined aliases. For each
-of those token aliases, a number of subtypes exists (excluding the special tokens
-`Token.Text`, `Token.Error` and `Token.Other`)
-
-The `is_token_subtype()` function in the `pygments.token` module can be used to
-test if a token type is a subtype of another (such as `Name.Tag` and `Name`).
-(This is the same as ``Name.Tag in Name``. The overloaded `in` operator was newly
-introduced in Pygments 0.7, the function still exists for backwards
-compatibility.)
-
-With Pygments 0.7, it's also possible to convert strings to token types (for example
-if you want to supply a token from the command line):
-
-.. sourcecode:: pycon
-
- >>> from pygments.token import String, string_to_tokentype
- >>> string_to_tokentype("String")
- Token.Literal.String
- >>> string_to_tokentype("Token.Literal.String")
- Token.Literal.String
- >>> string_to_tokentype(String)
- Token.Literal.String
-
-
-Keyword Tokens
-==============
-
-`Keyword`
- For any kind of keyword (especially if it doesn't match any of the
- subtypes of course).
-
-`Keyword.Constant`
- For keywords that are constants (e.g. ``None`` in future Python versions).
-
-`Keyword.Declaration`
- For keywords used for variable declaration (e.g. ``var`` in some programming
- languages like JavaScript).
-
-`Keyword.Namespace`
- For keywords used for namespace declarations (e.g. ``import`` in Python and
- Java and ``package`` in Java).
-
-`Keyword.Pseudo`
- For keywords that aren't really keywords (e.g. ``None`` in old Python
- versions).
-
-`Keyword.Reserved`
- For reserved keywords.
-
-`Keyword.Type`
- For builtin types that can't be used as identifiers (e.g. ``int``,
- ``char`` etc. in C).
-
-
-Name Tokens
-===========
-
-`Name`
- For any name (variable names, function names, classes).
-
-`Name.Attribute`
- For all attributes (e.g. in HTML tags).
-
-`Name.Builtin`
- Builtin names; names that are available in the global namespace.
-
-`Name.Builtin.Pseudo`
- Builtin names that are implicit (e.g. ``self`` in Ruby, ``this`` in Java).
-
-`Name.Class`
- Class names. Because no lexer can know if a name is a class or a function
- or something else this token is meant for class declarations.
-
-`Name.Constant`
- Token type for constants. In some languages you can recognise a token by the
- way it's defined (the value after a ``const`` keyword for example). In
- other languages constants are uppercase by definition (Ruby).
-
-`Name.Decorator`
- Token type for decorators. Decorators are syntactic elements in the Python
- language. Similar syntax elements exist in C# and Java.
-
-`Name.Entity`
- Token type for special entities. (e.g. `` `` in HTML).
-
-`Name.Exception`
- Token type for exception names (e.g. ``RuntimeError`` in Python). Some languages
- define exceptions in the function signature (Java). You can highlight
- the name of that exception using this token then.
-
-`Name.Function`
- Token type for function names.
-
-`Name.Function.Magic`
- same as `Name.Function` but for special function names that have an implicit use
- in a language (e.g. ``__init__`` method in Python).
-
-`Name.Label`
- Token type for label names (e.g. in languages that support ``goto``).
-
-`Name.Namespace`
- Token type for namespaces. (e.g. import paths in Java/Python), names following
- the ``module``/``namespace`` keyword in other languages.
-
-`Name.Other`
- Other names. Normally unused.
-
-`Name.Tag`
- Tag names (in HTML/XML markup or configuration files).
-
-`Name.Variable`
- Token type for variables. Some languages have prefixes for variable names
- (PHP, Ruby, Perl). You can highlight them using this token.
-
-`Name.Variable.Class`
- same as `Name.Variable` but for class variables (also static variables).
-
-`Name.Variable.Global`
- same as `Name.Variable` but for global variables (used in Ruby, for
- example).
-
-`Name.Variable.Instance`
- same as `Name.Variable` but for instance variables.
-
-`Name.Variable.Magic`
- same as `Name.Variable` but for special variable names that have an implicit use
- in a language (e.g. ``__doc__`` in Python).
-
-
-Literals
-========
-
-`Literal`
- For any literal (if not further defined).
-
-`Literal.Date`
- for date literals (e.g. ``42d`` in Boo).
-
-
-`String`
- For any string literal.
-
-`String.Affix`
- Token type for affixes that further specify the type of the string they're
- attached to (e.g. the prefixes ``r`` and ``u8`` in ``r"foo"`` and ``u8"foo"``).
-
-`String.Backtick`
- Token type for strings enclosed in backticks.
-
-`String.Char`
- Token type for single characters (e.g. Java, C).
-
-`String.Delimiter`
- Token type for delimiting identifiers in "heredoc", raw and other similar
- strings (e.g. the word ``END`` in Perl code ``print <<'END';``).
-
-`String.Doc`
- Token type for documentation strings (for example Python).
-
-`String.Double`
- Double quoted strings.
-
-`String.Escape`
- Token type for escape sequences in strings.
-
-`String.Heredoc`
- Token type for "heredoc" strings (e.g. in Ruby or Perl).
-
-`String.Interpol`
- Token type for interpolated parts in strings (e.g. ``#{foo}`` in Ruby).
-
-`String.Other`
- Token type for any other strings (for example ``%q{foo}`` string constructs
- in Ruby).
-
-`String.Regex`
- Token type for regular expression literals (e.g. ``/foo/`` in JavaScript).
-
-`String.Single`
- Token type for single quoted strings.
-
-`String.Symbol`
- Token type for symbols (e.g. ``:foo`` in LISP or Ruby).
-
-
-`Number`
- Token type for any number literal.
-
-`Number.Bin`
- Token type for binary literals (e.g. ``0b101010``).
-
-`Number.Float`
- Token type for float literals (e.g. ``42.0``).
-
-`Number.Hex`
- Token type for hexadecimal number literals (e.g. ``0xdeadbeef``).
-
-`Number.Integer`
- Token type for integer literals (e.g. ``42``).
-
-`Number.Integer.Long`
- Token type for long integer literals (e.g. ``42L`` in Python).
-
-`Number.Oct`
- Token type for octal literals.
-
-
-Operators
-=========
-
-`Operator`
- For any punctuation operator (e.g. ``+``, ``-``).
-
-`Operator.Word`
- For any operator that is a word (e.g. ``not``).
-
-
-Punctuation
-===========
-
-.. versionadded:: 0.7
-
-`Punctuation`
- For any punctuation which is not an operator (e.g. ``[``, ``(``...)
-
-
-Comments
-========
-
-`Comment`
- Token type for any comment.
-
-`Comment.Hashbang`
- Token type for hashbang comments (i.e. first lines of files that start with
- ``#!``).
-
-`Comment.Multiline`
- Token type for multiline comments.
-
-`Comment.Preproc`
- Token type for preprocessor comments (also ``<?php``/``<%`` constructs).
-
-`Comment.Single`
- Token type for comments that end at the end of a line (e.g. ``# foo``).
-
-`Comment.Special`
- Special data in comments. For example code tags, author and license
- information, etc.
-
-
-Generic Tokens
-==============
-
-Generic tokens are for special lexers like the `DiffLexer` that doesn't really
-highlight a programming language but a patch file.
-
-
-`Generic`
- A generic, unstyled token. Normally you don't use this token type.
-
-`Generic.Deleted`
- Marks the token value as deleted.
-
-`Generic.Emph`
- Marks the token value as emphasized.
-
-`Generic.Error`
- Marks the token value as an error message.
-
-`Generic.Heading`
- Marks the token value as headline.
-
-`Generic.Inserted`
- Marks the token value as inserted.
-
-`Generic.Output`
- Marks the token value as program output (e.g. for python cli lexer).
-
-`Generic.Prompt`
- Marks the token value as command prompt (e.g. bash lexer).
-
-`Generic.Strong`
- Marks the token value as bold (e.g. for rst lexer).
-
-`Generic.Subheading`
- Marks the token value as subheadline.
-
-`Generic.Traceback`
- Marks the token value as a part of an error traceback.
+++ /dev/null
-=====================
-Unicode and Encodings
-=====================
-
-Since Pygments 0.6, all lexers use unicode strings internally. Because of that
-you might encounter the occasional :exc:`UnicodeDecodeError` if you pass strings
-with the wrong encoding.
-
-Per default all lexers have their input encoding set to `guess`. This means
-that the following encodings are tried:
-
-* UTF-8 (including BOM handling)
-* The locale encoding (i.e. the result of `locale.getpreferredencoding()`)
-* As a last resort, `latin1`
-
-If you pass a lexer a byte string object (not unicode), it tries to decode the
-data using this encoding.
-
-You can override the encoding using the `encoding` or `inencoding` lexer
-options. If you have the `chardet`_ library installed and set the encoding to
-``chardet`` if will analyse the text and use the encoding it thinks is the
-right one automatically:
-
-.. sourcecode:: python
-
- from pygments.lexers import PythonLexer
- lexer = PythonLexer(encoding='chardet')
-
-The best way is to pass Pygments unicode objects. In that case you can't get
-unexpected output.
-
-The formatters now send Unicode objects to the stream if you don't set the
-output encoding. You can do so by passing the formatters an `encoding` option:
-
-.. sourcecode:: python
-
- from pygments.formatters import HtmlFormatter
- f = HtmlFormatter(encoding='utf-8')
-
-**You will have to set this option if you have non-ASCII characters in the
-source and the output stream does not accept Unicode written to it!**
-This is the case for all regular files and for terminals.
-
-Note: The Terminal formatter tries to be smart: if its output stream has an
-`encoding` attribute, and you haven't set the option, it will encode any
-Unicode string with this encoding before writing it. This is the case for
-`sys.stdout`, for example. The other formatters don't have that behavior.
-
-Another note: If you call Pygments via the command line (`pygmentize`),
-encoding is handled differently, see :doc:`the command line docs <cmdline>`.
-
-.. versionadded:: 0.7
- The formatters now also accept an `outencoding` option which will override
- the `encoding` option if given. This makes it possible to use a single
- options dict with lexers and formatters, and still have different input and
- output encodings.
-
-.. _chardet: https://chardet.github.io/
+++ /dev/null
-Download and installation
-=========================
-
-The current release is version |version|.
-
-Packaged versions
------------------
-
-You can download it `from the Python Package Index
-<http://pypi.python.org/pypi/Pygments>`_. For installation of packages from
-PyPI, we recommend `Pip <http://www.pip-installer.org>`_, which works on all
-major platforms.
-
-Under Linux, most distributions include a package for Pygments, usually called
-``pygments`` or ``python-pygments``. You can install it with the package
-manager as usual.
-
-Development sources
--------------------
-
-We're using the Git version control system. You can get the development source
-using this command::
-
- git clone https://github.com/pygments/pygments
-
-Development takes place at `GitHub <https://github.com/pygments/pygments>`_.
-
-The latest changes in the development source code are listed in the `changelog
-<https://github.com/pygments/pygments/blob/master/CHANGES>`_.
-
-.. Documentation
- -------------
-
-.. XXX todo
-
- You can download the <a href="/docs/">documentation</a> either as
- a bunch of rst files from the Git repository, see above, or
- as a tar.gz containing rendered HTML files:</p>
- <p><a href="/docs/download/pygmentsdocs.tar.gz">pygmentsdocs.tar.gz</a></p>
+++ /dev/null
-:orphan:
-
-Pygments FAQ
-=============
-
-What is Pygments?
------------------
-
-Pygments is a syntax highlighting engine written in Python. That means, it will
-take source code (or other markup) in a supported language and output a
-processed version (in different formats) containing syntax highlighting markup.
-
-Its features include:
-
-* a wide range of common :doc:`languages and markup formats <languages>` is supported
-* new languages and formats are added easily
-* a number of output formats is available, including:
-
- - HTML
- - ANSI sequences (console output)
- - LaTeX
- - RTF
-
-* it is usable as a command-line tool and as a library
-* parsing and formatting is fast
-
-Pygments is licensed under the BSD license.
-
-Where does the name Pygments come from?
----------------------------------------
-
-*Py* of course stands for Python, while *pigments* are used for coloring paint,
-and in this case, source code!
-
-What are the system requirements?
----------------------------------
-
-Pygments only needs a standard Python install, version 2.7 or higher or version
-3.5 or higher for Python 3. No additional libraries are needed.
-
-How can I use Pygments?
------------------------
-
-Pygments is usable as a command-line tool as well as a library.
-
-From the command-line, usage looks like this (assuming the pygmentize script is
-properly installed)::
-
- pygmentize -f html /path/to/file.py
-
-This will print a HTML-highlighted version of /path/to/file.py to standard output.
-
-For a complete help, please run ``pygmentize -h``.
-
-Usage as a library is thoroughly demonstrated in the Documentation section.
-
-How do I make a new style?
---------------------------
-
-Please see the :doc:`documentation on styles <docs/styles>`.
-
-How can I report a bug or suggest a feature?
---------------------------------------------
-
-Please report bugs and feature wishes in the tracker at GitHub.
-
-You can also e-mail the authors, see the contact details.
-
-I want this support for this language!
---------------------------------------
-
-Instead of waiting for others to include language support, why not write it
-yourself? All you have to know is :doc:`outlined in the docs
-<docs/lexerdevelopment>`.
-
-Can I use Pygments for programming language processing?
--------------------------------------------------------
-
-The Pygments lexing machinery is quite powerful can be used to build lexers for
-basically all languages. However, parsing them is not possible, though some
-lexers go some steps in this direction in order to e.g. highlight function names
-differently.
-
-Also, error reporting is not the scope of Pygments. It focuses on correctly
-highlighting syntactically valid documents, not finding and compensating errors.
-
-Who uses Pygments?
-------------------
-
-This is an (incomplete) list of projects and sites known to use the Pygments highlighter.
-
-* `Wikipedia <http://en.wikipedia.org>`_
-* `BitBucket <http://bitbucket.org/>`_, a Mercurial and Git hosting site
-* `The Sphinx documentation builder <http://sphinx.pocoo.org/>`_, for embedded source examples
-* `rst2pdf <http://code.google.com/p/rst2pdf/>`_, a reStructuredText to PDF converter
-* `Codecov <http://codecov.io/>`_, a code coverage CI service
-* `Trac <http://trac.edgewall.org/>`_, the universal project management tool
-* `AsciiDoc <http://www.methods.co.nz/asciidoc/>`_, a text-based documentation generator
-* `ActiveState Code <http://code.activestate.com/>`_, the Python Cookbook successor
-* `ViewVC <http://viewvc.org/>`_, a web-based version control repository browser
-* `BzrFruit <http://repo.or.cz/w/bzrfruit.git>`_, a Bazaar branch viewer
-* `QBzr <http://bazaar-vcs.org/QBzr>`_, a cross-platform Qt-based GUI front end for Bazaar
-* `Review Board <http://www.review-board.org/>`_, a collaborative code reviewing tool
-* `Diamanda <http://code.google.com/p/diamanda/>`_, a Django powered wiki system with support for Pygments
-* `Progopedia <http://progopedia.ru/>`_ (`English <http://progopedia.com/>`_),
- an encyclopedia of programming languages
-* `Bruce <http://r1chardj0n3s.googlepages.com/bruce>`_, a reStructuredText presentation tool
-* `PIDA <http://pida.co.uk/>`_, a universal IDE written in Python
-* `BPython <http://www.noiseforfree.com/bpython/>`_, a curses-based intelligent Python shell
-* `PuDB <http://pypi.python.org/pypi/pudb>`_, a console Python debugger
-* `XWiki <http://www.xwiki.org/>`_, a wiki-based development framework in Java, using Jython
-* `roux <http://ananelson.com/software/roux/>`_, a script for running R scripts
- and creating beautiful output including graphs
-* `hurl <http://hurl.it/>`_, a web service for making HTTP requests
-* `wxHTMLPygmentizer <http://colinbarnette.net/projects/wxHTMLPygmentizer>`_ is
- a GUI utility, used to make code-colorization easier
-* `Postmarkup <http://code.google.com/p/postmarkup/>`_, a BBCode to XHTML generator
-* `WpPygments <http://blog.mirotin.net/?page_id=49>`_, and `WPygments
- <https://github.com/capynet/WPygments>`_, highlighter plugins for WordPress
-* `Siafoo <http://siafoo.net>`_, a tool for sharing and storing useful code and programming experience
-* `D source <http://www.dsource.org/>`_, a community for the D programming language
-* `dpaste.com <http://dpaste.com/>`_, another Django pastebin
-* `Django snippets <http://www.djangosnippets.org/>`_, a pastebin for Django code
-* `Fayaa <http://www.fayaa.com/code/>`_, a Chinese pastebin
-* `Incollo.com <http://incollo.com>`_, a free collaborative debugging tool
-* `PasteBox <http://p.boxnet.eu/>`_, a pastebin focused on privacy
-* `hilite.me <http://www.hilite.me/>`_, a site to highlight code snippets
-* `patx.me <http://patx.me/paste>`_, a pastebin
-* `Fluidic <https://github.com/richsmith/fluidic>`_, an experiment in
- integrating shells with a GUI
-* `pygments.rb <https://github.com/tmm1/pygments.rb>`_, a pygments wrapper for Ruby
-* `Clygments <https://github.com/bfontaine/clygments>`_, a pygments wrapper for
- Clojure
-* `PHPygments <https://github.com/capynet/PHPygments>`_, a pygments wrapper for PHP
-
-
-If you have a project or web site using Pygments, drop me a line, and I'll add a
-link here.
-
+++ /dev/null
-Welcome!
-========
-
-This is the home of Pygments. It is a generic syntax highlighter suitable for
-use in code hosting, forums, wikis or other applications that need to prettify
-source code. Highlights are:
-
-* a wide range of over 300 languages and other text formats is supported
-* special attention is paid to details that increase highlighting quality
-* support for new languages and formats are added easily; most languages use a
- simple regex-based lexing mechanism
-* a number of output formats is available, among them HTML, RTF, LaTeX and ANSI
- sequences
-* it is usable as a command-line tool and as a library
-* ... and it highlights even Perl 6!
-
-Read more in the :doc:`FAQ list <faq>` or the :doc:`documentation <docs/index>`,
-or `download the latest release <http://pypi.python.org/pypi/Pygments>`_.
-
-.. _contribute:
-
-Contribute
-----------
-
-Like every open-source project, we are always looking for volunteers to help us
-with programming. Python knowledge is required, but don't fear: Python is a very
-clear and easy to learn language.
-
-Development takes place on `GitHub <https://github.com/pygments/pygments>`_.
-
-If you found a bug, just open a ticket in the GitHub tracker. Be sure to log
-in to be notified when the issue is fixed -- development is not fast-paced as
-the library is quite stable. You can also send an e-mail to the developers, see
-below.
-
-The authors
------------
-
-Pygments is maintained by **Georg Brandl**, e-mail address *georg*\ *@*\ *python.org*
-and **Matthäus Chajdas**.
-
-Many lexers and fixes have been contributed by **Armin Ronacher**, the rest of
-the `Pocoo <http://dev.pocoo.org/>`_ team and **Tim Hatch**.
-
-.. toctree::
- :maxdepth: 1
- :hidden:
-
- docs/index
+++ /dev/null
-:orphan:
-
-Supported languages
-===================
-
-Pygments supports an ever-growing range of languages. Watch this space...
-
-Programming languages
----------------------
-
-* ActionScript
-* Ada
-* ANTLR
-* AppleScript
-* Assembly (various)
-* Asymptote
-* `Augeas <http://augeas.net>`_
-* Awk
-* BBC Basic
-* Befunge
-* `Boa <http://boa.cs.iastate.edu/docs/index.php>`_
-* Boo
-* BrainFuck
-* C, C++
-* C#
-* `Charm++ CI <http://charmplusplus.org/>`_
-* Clojure
-* CoffeeScript
-* ColdFusion
-* Common Lisp
-* Coq
-* Cryptol (incl. Literate Cryptol)
-* `Crystal <http://crystal-lang.org>`_
-* `Cython <http://cython.org>`_
-* `D <http://dlang.org>`_
-* Dart
-* DCPU-16
-* Delphi
-* Dylan
-* `Elm <http://elm-lang.org/>`_
-* Erlang
-* `Ezhil <http://ezhillang.org>`_ Ezhil - A Tamil programming language
-* Factor
-* Fancy
-* `Fennel <https://fennel-lang.org/>`_
-* `FloScript <http://ioflo.com/>`_
-* Fortran
-* `FreeFEM++ <https://freefem.org/>`_
-* F#
-* GAP
-* Gherkin (Cucumber)
-* GL shaders
-* Groovy
-* `Haskell <http://www.haskell.org>`_ (incl. Literate Haskell)
-* HLSL
-* `HSpec <http://hackage.haskell.org/package/hspec>`_
-* IDL
-* Io
-* Java
-* JavaScript
-* Lasso
-* LLVM
-* Logtalk
-* `Lua <http://www.lua.org>`_
-* Matlab
-* MiniD
-* Modelica
-* Modula-2
-* MuPad
-* Nemerle
-* Nimrod
-* Objective-C
-* Objective-J
-* Octave
-* OCaml
-* PHP
-* `Perl 5 <http://perl.org>`_ and `Perl 6 <https://perl6.org>`_
-* `Pony <https://www.ponylang.io/>`_
-* PovRay
-* PostScript
-* PowerShell
-* Prolog
-* `Python <http://www.python.org>`_ 2.x and 3.x (incl. console sessions and tracebacks)
-* `REBOL <http://www.rebol.com>`_
-* `Red <http://www.red-lang.org>`_
-* Redcode
-* `Ruby <http://www.ruby-lang.org>`_ (incl. irb sessions)
-* Rust
-* S, S-Plus, R
-* Scala
-* Scheme
-* Scilab
-* `SGF <https://www.red-bean.com/sgf/>`_
-* `Slash <https://github.com/arturadib/Slash-A>`_
-* `Slurm <https://slurm.schedmd.com/overview.html>`_
-* Smalltalk
-* SNOBOL
-* Tcl
-* `Tera Term language <https://ttssh2.osdn.jp/>`_
-* `TOML <https://github.com/toml-lang/toml>`_
-* Vala
-* Verilog
-* VHDL
-* Visual Basic.NET
-* Visual FoxPro
-* XQuery
-* Zephir
-
-Template languages
-------------------
-
-* Cheetah templates
-* `Django <http://www.djangoproject.com>`_ / `Jinja
- <http://jinja.pocoo.org/jinja>`_ templates
-* ERB (Ruby templating)
-* `Genshi <http://genshi.edgewall.org>`_ (the Trac template language)
-* JSP (Java Server Pages)
-* `Myghty <http://www.myghty.org>`_ (the HTML::Mason based framework)
-* `Mako <http://www.makotemplates.org>`_ (the Myghty successor)
-* `Smarty <http://www.smarty.net>`_ templates (PHP templating)
-* Tea
-
-Other markup
-------------
-
-* Apache config files
-* Bash shell scripts
-* BBCode
-* CMake
-* CSS
-* Debian control files
-* Diff files
-* DTD
-* Gettext catalogs
-* Gnuplot script
-* Groff markup
-* HTML
-* HTTP sessions
-* INI-style config files
-* IRC logs (irssi style)
-* Lighttpd config files
-* Makefiles
-* MoinMoin/Trac Wiki markup
-* MySQL
-* Nginx config files
-* POV-Ray scenes
-* Ragel
-* Redcode
-* ReST
-* Robot Framework
-* RPM spec files
-* SQL, also MySQL, SQLite
-* Squid configuration
-* TeX
-* tcsh
-* Vim Script
-* Windows batch files
-* XML
-* XSLT
-* YAML
-
-... that's all?
----------------
-
-Well, why not write your own? Contributing to Pygments is easy and fun. Take a
-look at the :doc:`docs on lexer development <docs/lexerdevelopment>`. Pull
-requests are welcome on `GitHub <https://github.com/pygments/pygments>`.
-
-Note: the languages listed here are supported in the development version. The
-latest release may lack a few of them.
+++ /dev/null
-/*
- * basic.css
- * ~~~~~~~~~
- *
- * Sphinx stylesheet -- basic theme.
- *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-/* -- main layout ----------------------------------------------------------- */
-
-div.clearer {
- clear: both;
-}
-
-/* -- relbar ---------------------------------------------------------------- */
-
-div.related {
- width: 100%;
- font-size: 90%;
-}
-
-div.related h3 {
- display: none;
-}
-
-div.related ul {
- margin: 0;
- padding: 0 0 0 10px;
- list-style: none;
-}
-
-div.related li {
- display: inline;
-}
-
-div.related li.right {
- float: right;
- margin-right: 5px;
-}
-
-/* -- sidebar --------------------------------------------------------------- */
-
-div.sphinxsidebarwrapper {
- padding: 10px 5px 0 10px;
-}
-
-div.sphinxsidebar {
- float: left;
- width: 230px;
- margin-left: -100%;
- font-size: 90%;
- word-wrap: break-word;
- overflow-wrap : break-word;
-}
-
-div.sphinxsidebar ul {
- list-style: none;
-}
-
-div.sphinxsidebar ul ul,
-div.sphinxsidebar ul.want-points {
- margin-left: 20px;
- list-style: square;
-}
-
-div.sphinxsidebar ul ul {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-div.sphinxsidebar form {
- margin-top: 10px;
-}
-
-div.sphinxsidebar input {
- border: 1px solid #98dbcc;
- font-family: sans-serif;
- font-size: 1em;
-}
-
-div.sphinxsidebar #searchbox form.search {
- overflow: hidden;
-}
-
-div.sphinxsidebar #searchbox input[type="text"] {
- float: left;
- width: 80%;
- padding: 0.25em;
- box-sizing: border-box;
-}
-
-div.sphinxsidebar #searchbox input[type="submit"] {
- float: left;
- width: 20%;
- border-left: none;
- padding: 0.25em;
- box-sizing: border-box;
-}
-
-
-img {
- border: 0;
- max-width: 100%;
-}
-
-/* -- search page ----------------------------------------------------------- */
-
-ul.search {
- margin: 10px 0 0 20px;
- padding: 0;
-}
-
-ul.search li {
- padding: 5px 0 5px 20px;
- background-image: url(file.png);
- background-repeat: no-repeat;
- background-position: 0 7px;
-}
-
-ul.search li a {
- font-weight: bold;
-}
-
-ul.search li div.context {
- color: #888;
- margin: 2px 0 0 30px;
- text-align: left;
-}
-
-ul.keywordmatches li.goodmatch a {
- font-weight: bold;
-}
-
-/* -- index page ------------------------------------------------------------ */
-
-table.contentstable {
- width: 90%;
- margin-left: auto;
- margin-right: auto;
-}
-
-table.contentstable p.biglink {
- line-height: 150%;
-}
-
-a.biglink {
- font-size: 1.3em;
-}
-
-span.linkdescr {
- font-style: italic;
- padding-top: 5px;
- font-size: 90%;
-}
-
-/* -- general index --------------------------------------------------------- */
-
-table.indextable {
- width: 100%;
-}
-
-table.indextable td {
- text-align: left;
- vertical-align: top;
-}
-
-table.indextable ul {
- margin-top: 0;
- margin-bottom: 0;
- list-style-type: none;
-}
-
-table.indextable > tbody > tr > td > ul {
- padding-left: 0em;
-}
-
-table.indextable tr.pcap {
- height: 10px;
-}
-
-table.indextable tr.cap {
- margin-top: 10px;
- background-color: #f2f2f2;
-}
-
-img.toggler {
- margin-right: 3px;
- margin-top: 3px;
- cursor: pointer;
-}
-
-div.modindex-jumpbox {
- border-top: 1px solid #ddd;
- border-bottom: 1px solid #ddd;
- margin: 1em 0 1em 0;
- padding: 0.4em;
-}
-
-div.genindex-jumpbox {
- border-top: 1px solid #ddd;
- border-bottom: 1px solid #ddd;
- margin: 1em 0 1em 0;
- padding: 0.4em;
-}
-
-/* -- domain module index --------------------------------------------------- */
-
-table.modindextable td {
- padding: 2px;
- border-collapse: collapse;
-}
-
-/* -- general body styles --------------------------------------------------- */
-
-div.body {
- min-width: 450px;
- max-width: 800px;
-}
-
-div.body p, div.body dd, div.body li, div.body blockquote {
- -moz-hyphens: auto;
- -ms-hyphens: auto;
- -webkit-hyphens: auto;
- hyphens: auto;
-}
-
-a.headerlink {
- visibility: hidden;
-}
-
-a.brackets:before,
-span.brackets > a:before{
- content: "[";
-}
-
-a.brackets:after,
-span.brackets > a:after {
- content: "]";
-}
-
-h1:hover > a.headerlink,
-h2:hover > a.headerlink,
-h3:hover > a.headerlink,
-h4:hover > a.headerlink,
-h5:hover > a.headerlink,
-h6:hover > a.headerlink,
-dt:hover > a.headerlink,
-caption:hover > a.headerlink,
-p.caption:hover > a.headerlink,
-div.code-block-caption:hover > a.headerlink {
- visibility: visible;
-}
-
-div.body p.caption {
- text-align: inherit;
-}
-
-div.body td {
- text-align: left;
-}
-
-.first {
- margin-top: 0 !important;
-}
-
-p.rubric {
- margin-top: 30px;
- font-weight: bold;
-}
-
-img.align-left, .figure.align-left, object.align-left {
- clear: left;
- float: left;
- margin-right: 1em;
-}
-
-img.align-right, .figure.align-right, object.align-right {
- clear: right;
- float: right;
- margin-left: 1em;
-}
-
-img.align-center, .figure.align-center, object.align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.align-left {
- text-align: left;
-}
-
-.align-center {
- text-align: center;
-}
-
-.align-right {
- text-align: right;
-}
-
-/* -- sidebars -------------------------------------------------------------- */
-
-div.sidebar {
- margin: 0 0 0.5em 1em;
- border: 1px solid #ddb;
- padding: 7px 7px 0 7px;
- background-color: #ffe;
- width: 40%;
- float: right;
-}
-
-p.sidebar-title {
- font-weight: bold;
-}
-
-/* -- topics ---------------------------------------------------------------- */
-
-div.topic {
- border: 1px solid #ccc;
- padding: 7px 7px 0 7px;
- margin: 10px 0 10px 0;
-}
-
-p.topic-title {
- font-size: 1.1em;
- font-weight: bold;
- margin-top: 10px;
-}
-
-/* -- admonitions ----------------------------------------------------------- */
-
-div.admonition {
- margin-top: 10px;
- margin-bottom: 10px;
- padding: 7px;
-}
-
-div.admonition dt {
- font-weight: bold;
-}
-
-div.admonition dl {
- margin-bottom: 0;
-}
-
-p.admonition-title {
- margin: 0px 10px 5px 0px;
- font-weight: bold;
-}
-
-div.body p.centered {
- text-align: center;
- margin-top: 25px;
-}
-
-/* -- tables ---------------------------------------------------------------- */
-
-table.docutils {
- border: 0;
- border-collapse: collapse;
-}
-
-table.align-center {
- margin-left: auto;
- margin-right: auto;
-}
-
-table caption span.caption-number {
- font-style: italic;
-}
-
-table caption span.caption-text {
-}
-
-table.docutils td, table.docutils th {
- padding: 1px 8px 1px 5px;
- border-top: 0;
- border-left: 0;
- border-right: 0;
- border-bottom: 1px solid #aaa;
-}
-
-table.footnote td, table.footnote th {
- border: 0 !important;
-}
-
-th {
- text-align: left;
- padding-right: 5px;
-}
-
-table.citation {
- border-left: solid 1px gray;
- margin-left: 1px;
-}
-
-table.citation td {
- border-bottom: none;
-}
-
-th > p:first-child,
-td > p:first-child {
- margin-top: 0px;
-}
-
-th > p:last-child,
-td > p:last-child {
- margin-bottom: 0px;
-}
-
-/* -- figures --------------------------------------------------------------- */
-
-div.figure {
- margin: 0.5em;
- padding: 0.5em;
-}
-
-div.figure p.caption {
- padding: 0.3em;
-}
-
-div.figure p.caption span.caption-number {
- font-style: italic;
-}
-
-div.figure p.caption span.caption-text {
-}
-
-/* -- field list styles ----------------------------------------------------- */
-
-table.field-list td, table.field-list th {
- border: 0 !important;
-}
-
-.field-list ul {
- margin: 0;
- padding-left: 1em;
-}
-
-.field-list p {
- margin: 0;
-}
-
-.field-name {
- -moz-hyphens: manual;
- -ms-hyphens: manual;
- -webkit-hyphens: manual;
- hyphens: manual;
-}
-
-/* -- hlist styles ---------------------------------------------------------- */
-
-table.hlist td {
- vertical-align: top;
-}
-
-
-/* -- other body styles ----------------------------------------------------- */
-
-ol.arabic {
- list-style: decimal;
-}
-
-ol.loweralpha {
- list-style: lower-alpha;
-}
-
-ol.upperalpha {
- list-style: upper-alpha;
-}
-
-ol.lowerroman {
- list-style: lower-roman;
-}
-
-ol.upperroman {
- list-style: upper-roman;
-}
-
-li > p:first-child {
- margin-top: 0px;
-}
-
-li > p:last-child {
- margin-bottom: 0px;
-}
-
-dl.footnote > dt,
-dl.citation > dt {
- float: left;
-}
-
-dl.footnote > dd,
-dl.citation > dd {
- margin-bottom: 0em;
-}
-
-dl.footnote > dd:after,
-dl.citation > dd:after {
- content: "";
- clear: both;
-}
-
-dl.field-list {
- display: flex;
- flex-wrap: wrap;
-}
-
-dl.field-list > dt {
- flex-basis: 20%;
- font-weight: bold;
- word-break: break-word;
-}
-
-dl.field-list > dt:after {
- content: ":";
-}
-
-dl.field-list > dd {
- flex-basis: 70%;
- padding-left: 1em;
- margin-left: 0em;
- margin-bottom: 0em;
-}
-
-dl {
- margin-bottom: 15px;
-}
-
-dd > p:first-child {
- margin-top: 0px;
-}
-
-dd ul, dd table {
- margin-bottom: 10px;
-}
-
-dd {
- margin-top: 3px;
- margin-bottom: 10px;
- margin-left: 30px;
-}
-
-dt:target, span.highlighted {
- background-color: #fbe54e;
-}
-
-rect.highlighted {
- fill: #fbe54e;
-}
-
-dl.glossary dt {
- font-weight: bold;
- font-size: 1.1em;
-}
-
-.optional {
- font-size: 1.3em;
-}
-
-.sig-paren {
- font-size: larger;
-}
-
-.versionmodified {
- font-style: italic;
-}
-
-.system-message {
- background-color: #fda;
- padding: 5px;
- border: 3px solid red;
-}
-
-.footnote:target {
- background-color: #ffa;
-}
-
-.line-block {
- display: block;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-.line-block .line-block {
- margin-top: 0;
- margin-bottom: 0;
- margin-left: 1.5em;
-}
-
-.guilabel, .menuselection {
- font-family: sans-serif;
-}
-
-.accelerator {
- text-decoration: underline;
-}
-
-.classifier {
- font-style: oblique;
-}
-
-.classifier:before {
- font-style: normal;
- margin: 0.5em;
- content: ":";
-}
-
-abbr, acronym {
- border-bottom: dotted 1px;
- cursor: help;
-}
-
-/* -- code displays --------------------------------------------------------- */
-
-pre {
- overflow: auto;
- overflow-y: hidden; /* fixes display issues on Chrome browsers */
-}
-
-span.pre {
- -moz-hyphens: none;
- -ms-hyphens: none;
- -webkit-hyphens: none;
- hyphens: none;
-}
-
-td.linenos pre {
- padding: 5px 0px;
- border: 0;
- background-color: transparent;
- color: #aaa;
-}
-
-table.highlighttable {
- margin-left: 0.5em;
-}
-
-table.highlighttable td {
- padding: 0 0.5em 0 0.5em;
-}
-
-div.code-block-caption {
- padding: 2px 5px;
- font-size: small;
-}
-
-div.code-block-caption code {
- background-color: transparent;
-}
-
-div.code-block-caption + div > div.highlight > pre {
- margin-top: 0;
-}
-
-div.code-block-caption span.caption-number {
- padding: 0.1em 0.3em;
- font-style: italic;
-}
-
-div.code-block-caption span.caption-text {
-}
-
-div.literal-block-wrapper {
- padding: 1em 1em 0;
-}
-
-div.literal-block-wrapper div.highlight {
- margin: 0;
-}
-
-code.descname {
- background-color: transparent;
- font-weight: bold;
- font-size: 1.2em;
-}
-
-code.descclassname {
- background-color: transparent;
-}
-
-code.xref, a code {
- background-color: transparent;
- font-weight: bold;
-}
-
-h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
- background-color: transparent;
-}
-
-.viewcode-link {
- float: right;
-}
-
-.viewcode-back {
- float: right;
- font-family: sans-serif;
-}
-
-div.viewcode-block:target {
- margin: -1px -10px;
- padding: 0 10px;
-}
-
-/* -- math display ---------------------------------------------------------- */
-
-img.math {
- vertical-align: middle;
-}
-
-div.body div.math p {
- text-align: center;
-}
-
-span.eqno {
- float: right;
-}
-
-span.eqno a.headerlink {
- position: relative;
- left: 0px;
- z-index: 1;
-}
-
-div.math:hover a.headerlink {
- visibility: visible;
-}
-
-/* -- printout stylesheet --------------------------------------------------- */
-
-@media print {
- div.document,
- div.documentwrapper,
- div.bodywrapper {
- margin: 0 !important;
- width: 100%;
- }
-
- div.sphinxsidebar,
- div.related,
- div.footer,
- #top-link {
- display: none;
- }
-}
\ No newline at end of file
+++ /dev/null
-#try {
- background-color: #f6f6f6;
- border-radius: 0;
- border: 1px solid #ccc;
- margin-top: 15px;
- padding: 10px 15px 5px 10px;
- position: relative;
-}
-
-#try h2 {
- margin-top: 0;
-}
-
-#try textarea {
- border: 1px solid #999;
- padding: 2px;
- width: 100%;
- min-height: 150px;
-}
-
-#hlcode pre {
- background-color: transparent;
- border-radius: 0;
-}
-
-#loading {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- margin: auto auto;
- background-color: #cccccccc;
- display: flex;
- flex-direction: column;
- justify-content: center;
- text-align: center;
-}
+++ /dev/null
-languagePluginLoader.then(() => {
- // pyodide is now ready to use...
- pyodide.loadPackage('Pygments').then(() => {
- pyodide.runPython('import pygments.lexers, pygments.formatters.html, pygments.styles');
-
- var lexerlist = pyodide.runPython('list(pygments.lexers.get_all_lexers())');
- var sel = document.getElementById("lang");
- for (lex of lexerlist) {
- var opt = document.createElement("option");
- opt.text = lex[0];
- opt.value = lex[1][0];
- sel.add(opt);
- }
-
- var stylelist = pyodide.runPython('list(pygments.styles.get_all_styles())');
- var sel = document.getElementById("style");
- for (sty of stylelist) {
- if (sty != "default") {
- var opt = document.createElement("option");
- opt.text = sty;
- opt.value = sty;
- sel.add(opt);
- }
- }
-
- document.getElementById("hlbtn").disabled = false;
- document.getElementById("loading").style.display = "none";
- });
-});
-
-function new_file() {
- pyodide.globals['fname'] = document.getElementById("file").files[0].name;
- var alias = pyodide.runPython('pygments.lexers.find_lexer_class_for_filename(fname).aliases[0]');
- var sel = document.getElementById("lang");
- for (var i = 0; i < sel.length; i++) {
- if (sel.options[i].value == alias) {
- sel.selectedIndex = i;
- reset_err_hl();
- break;
- }
- }
-}
-
-function reset_err_hl() {
- document.getElementById("aroundlang").style.backgroundColor = null;
-}
-
-function highlight() {
- var select = document.getElementById("lang");
- var alias = select.options.item(select.selectedIndex).value
-
- if (alias == "") {
- document.getElementById("aroundlang").style.backgroundColor = "#ffcccc";
- return;
- }
- pyodide.globals['alias'] = alias;
-
- var select = document.getElementById("style");
- pyodide.globals['style'] = select.options.item(select.selectedIndex).value;
-
- pyodide.runPython('lexer = pygments.lexers.get_lexer_by_name(alias)');
- pyodide.runPython('fmter = pygments.formatters.html.HtmlFormatter(noclasses=True, style=style)');
-
- var file = document.getElementById("file").files[0];
- if (file) {
- file.arrayBuffer().then(function(buf) {
- pyodide.globals['code_mem'] = buf;
- pyodide.runPython('code = bytes(code_mem)');
- highlight_now();
- });
- } else {
- pyodide.globals['code'] = document.getElementById("code").value;
- highlight_now();
- }
-}
-
-function highlight_now() {
- var out = document.getElementById("hlcode");
- out.innerHTML = pyodide.runPython('pygments.highlight(code, lexer, fmter)');
- document.location.hash = "#try";
- document.getElementById("hlcodedl").style.display = "block";
-}
-
-function download_code() {
- var filename = "highlighted.html";
- var hlcode = document.getElementById("hlcode").innerHTML;
- var blob = new Blob([hlcode], {type: 'text/html'});
- if (window.navigator.msSaveOrOpenBlob) {
- window.navigator.msSaveBlob(blob, filename);
- }
- else{
- var elem = window.document.createElement('a');
- elem.href = window.URL.createObjectURL(blob);
- elem.download = filename;
- document.body.appendChild(elem);
- elem.click();
- document.body.removeChild(elem);
- window.URL.revokeObjectURL(elem.href);
- }
-}
+++ /dev/null
-/*
- * doctools.js
- * ~~~~~~~~~~~
- *
- * Sphinx JavaScript utilities for all documentation.
- *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-/**
- * select a different prefix for underscore
- */
-$u = _.noConflict();
-
-/**
- * make the code below compatible with browsers without
- * an installed firebug like debugger
-if (!window.console || !console.firebug) {
- var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
- "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
- "profile", "profileEnd"];
- window.console = {};
- for (var i = 0; i < names.length; ++i)
- window.console[names[i]] = function() {};
-}
- */
-
-/**
- * small helper function to urldecode strings
- */
-jQuery.urldecode = function(x) {
- return decodeURIComponent(x).replace(/\+/g, ' ');
-};
-
-/**
- * small helper function to urlencode strings
- */
-jQuery.urlencode = encodeURIComponent;
-
-/**
- * This function returns the parsed url parameters of the
- * current request. Multiple values per key are supported,
- * it will always return arrays of strings for the value parts.
- */
-jQuery.getQueryParameters = function(s) {
- if (typeof s === 'undefined')
- s = document.location.search;
- var parts = s.substr(s.indexOf('?') + 1).split('&');
- var result = {};
- for (var i = 0; i < parts.length; i++) {
- var tmp = parts[i].split('=', 2);
- var key = jQuery.urldecode(tmp[0]);
- var value = jQuery.urldecode(tmp[1]);
- if (key in result)
- result[key].push(value);
- else
- result[key] = [value];
- }
- return result;
-};
-
-/**
- * highlight a given string on a jquery object by wrapping it in
- * span elements with the given class name.
- */
-jQuery.fn.highlightText = function(text, className) {
- function highlight(node, addItems) {
- if (node.nodeType === 3) {
- var val = node.nodeValue;
- var pos = val.toLowerCase().indexOf(text);
- if (pos >= 0 &&
- !jQuery(node.parentNode).hasClass(className) &&
- !jQuery(node.parentNode).hasClass("nohighlight")) {
- var span;
- var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
- if (isInSVG) {
- span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
- } else {
- span = document.createElement("span");
- span.className = className;
- }
- span.appendChild(document.createTextNode(val.substr(pos, text.length)));
- node.parentNode.insertBefore(span, node.parentNode.insertBefore(
- document.createTextNode(val.substr(pos + text.length)),
- node.nextSibling));
- node.nodeValue = val.substr(0, pos);
- if (isInSVG) {
- var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
- var bbox = node.parentElement.getBBox();
- rect.x.baseVal.value = bbox.x;
- rect.y.baseVal.value = bbox.y;
- rect.width.baseVal.value = bbox.width;
- rect.height.baseVal.value = bbox.height;
- rect.setAttribute('class', className);
- addItems.push({
- "parent": node.parentNode,
- "target": rect});
- }
- }
- }
- else if (!jQuery(node).is("button, select, textarea")) {
- jQuery.each(node.childNodes, function() {
- highlight(this, addItems);
- });
- }
- }
- var addItems = [];
- var result = this.each(function() {
- highlight(this, addItems);
- });
- for (var i = 0; i < addItems.length; ++i) {
- jQuery(addItems[i].parent).before(addItems[i].target);
- }
- return result;
-};
-
-/*
- * backward compatibility for jQuery.browser
- * This will be supported until firefox bug is fixed.
- */
-if (!jQuery.browser) {
- jQuery.uaMatch = function(ua) {
- ua = ua.toLowerCase();
-
- var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
- /(webkit)[ \/]([\w.]+)/.exec(ua) ||
- /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
- /(msie) ([\w.]+)/.exec(ua) ||
- ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
- [];
-
- return {
- browser: match[ 1 ] || "",
- version: match[ 2 ] || "0"
- };
- };
- jQuery.browser = {};
- jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
-}
-
-/**
- * Small JavaScript module for the documentation.
- */
-var Documentation = {
-
- init : function() {
- this.fixFirefoxAnchorBug();
- this.highlightSearchWords();
- this.initIndexTable();
- if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
- this.initOnKeyListeners();
- }
- },
-
- /**
- * i18n support
- */
- TRANSLATIONS : {},
- PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
- LOCALE : 'unknown',
-
- // gettext and ngettext don't access this so that the functions
- // can safely bound to a different name (_ = Documentation.gettext)
- gettext : function(string) {
- var translated = Documentation.TRANSLATIONS[string];
- if (typeof translated === 'undefined')
- return string;
- return (typeof translated === 'string') ? translated : translated[0];
- },
-
- ngettext : function(singular, plural, n) {
- var translated = Documentation.TRANSLATIONS[singular];
- if (typeof translated === 'undefined')
- return (n == 1) ? singular : plural;
- return translated[Documentation.PLURALEXPR(n)];
- },
-
- addTranslations : function(catalog) {
- for (var key in catalog.messages)
- this.TRANSLATIONS[key] = catalog.messages[key];
- this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
- this.LOCALE = catalog.locale;
- },
-
- /**
- * add context elements like header anchor links
- */
- addContextElements : function() {
- $('div[id] > :header:first').each(function() {
- $('<a class="headerlink">\u00B6</a>').
- attr('href', '#' + this.id).
- attr('title', _('Permalink to this headline')).
- appendTo(this);
- });
- $('dt[id]').each(function() {
- $('<a class="headerlink">\u00B6</a>').
- attr('href', '#' + this.id).
- attr('title', _('Permalink to this definition')).
- appendTo(this);
- });
- },
-
- /**
- * workaround a firefox stupidity
- * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
- */
- fixFirefoxAnchorBug : function() {
- if (document.location.hash && $.browser.mozilla)
- window.setTimeout(function() {
- document.location.href += '';
- }, 10);
- },
-
- /**
- * highlight the search words provided in the url in the text
- */
- highlightSearchWords : function() {
- var params = $.getQueryParameters();
- var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
- if (terms.length) {
- var body = $('div.body');
- if (!body.length) {
- body = $('body');
- }
- window.setTimeout(function() {
- $.each(terms, function() {
- body.highlightText(this.toLowerCase(), 'highlighted');
- });
- }, 10);
- $('<p class="highlight-link"><a href="javascript:Documentation.' +
- 'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
- .appendTo($('#searchbox'));
- }
- },
-
- /**
- * init the domain index toggle buttons
- */
- initIndexTable : function() {
- var togglers = $('img.toggler').click(function() {
- var src = $(this).attr('src');
- var idnum = $(this).attr('id').substr(7);
- $('tr.cg-' + idnum).toggle();
- if (src.substr(-9) === 'minus.png')
- $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
- else
- $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
- }).css('display', '');
- if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
- togglers.click();
- }
- },
-
- /**
- * helper function to hide the search marks again
- */
- hideSearchWords : function() {
- $('#searchbox .highlight-link').fadeOut(300);
- $('span.highlighted').removeClass('highlighted');
- },
-
- /**
- * make the url absolute
- */
- makeURL : function(relativeURL) {
- return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
- },
-
- /**
- * get the current relative url
- */
- getCurrentURL : function() {
- var path = document.location.pathname;
- var parts = path.split(/\//);
- $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
- if (this === '..')
- parts.pop();
- });
- var url = parts.join('/');
- return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
- },
-
- initOnKeyListeners: function() {
- $(document).keyup(function(event) {
- var activeElementType = document.activeElement.tagName;
- // don't navigate when in search box or textarea
- if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
- switch (event.keyCode) {
- case 37: // left
- var prevHref = $('link[rel="prev"]').prop('href');
- if (prevHref) {
- window.location.href = prevHref;
- return false;
- }
- case 39: // right
- var nextHref = $('link[rel="next"]').prop('href');
- if (nextHref) {
- window.location.href = nextHref;
- return false;
- }
- }
- }
- });
- }
-};
-
-// quick alias for translations
-_ = Documentation.gettext;
-
-$(document).ready(function() {
- Documentation.init();
-});
+++ /dev/null
-var DOCUMENTATION_OPTIONS = {
- URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
- VERSION: '2.4.2',
- LANGUAGE: 'None',
- COLLAPSE_INDEX: false,
- FILE_SUFFIX: '',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt',
- NAVIGATION_WITH_KEYS: false
-};
\ No newline at end of file
+++ /dev/null
-/*!
- * jQuery JavaScript Library v3.2.1
- * https://jquery.com/
- *
- * Includes Sizzle.js
- * https://sizzlejs.com/
- *
- * Copyright JS Foundation and other contributors
- * Released under the MIT license
- * https://jquery.org/license
- *
- * Date: 2017-03-20T18:59Z
- */
-( function( global, factory ) {
-
- "use strict";
-
- if ( typeof module === "object" && typeof module.exports === "object" ) {
-
- // For CommonJS and CommonJS-like environments where a proper `window`
- // is present, execute the factory and get jQuery.
- // For environments that do not have a `window` with a `document`
- // (such as Node.js), expose a factory as module.exports.
- // This accentuates the need for the creation of a real `window`.
- // e.g. var jQuery = require("jquery")(window);
- // See ticket #14549 for more info.
- module.exports = global.document ?
- factory( global, true ) :
- function( w ) {
- if ( !w.document ) {
- throw new Error( "jQuery requires a window with a document" );
- }
- return factory( w );
- };
- } else {
- factory( global );
- }
-
-// Pass this if window is not defined yet
-} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
-
-// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
-// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
-// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
-// enough that all such attempts are guarded in a try block.
-"use strict";
-
-var arr = [];
-
-var document = window.document;
-
-var getProto = Object.getPrototypeOf;
-
-var slice = arr.slice;
-
-var concat = arr.concat;
-
-var push = arr.push;
-
-var indexOf = arr.indexOf;
-
-var class2type = {};
-
-var toString = class2type.toString;
-
-var hasOwn = class2type.hasOwnProperty;
-
-var fnToString = hasOwn.toString;
-
-var ObjectFunctionString = fnToString.call( Object );
-
-var support = {};
-
-
-
- function DOMEval( code, doc ) {
- doc = doc || document;
-
- var script = doc.createElement( "script" );
-
- script.text = code;
- doc.head.appendChild( script ).parentNode.removeChild( script );
- }
-/* global Symbol */
-// Defining this global in .eslintrc.json would create a danger of using the global
-// unguarded in another place, it seems safer to define global only for this module
-
-
-
-var
- version = "3.2.1",
-
- // Define a local copy of jQuery
- jQuery = function( selector, context ) {
-
- // The jQuery object is actually just the init constructor 'enhanced'
- // Need init if jQuery is called (just allow error to be thrown if not included)
- return new jQuery.fn.init( selector, context );
- },
-
- // Support: Android <=4.0 only
- // Make sure we trim BOM and NBSP
- rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
-
- // Matches dashed string for camelizing
- rmsPrefix = /^-ms-/,
- rdashAlpha = /-([a-z])/g,
-
- // Used by jQuery.camelCase as callback to replace()
- fcamelCase = function( all, letter ) {
- return letter.toUpperCase();
- };
-
-jQuery.fn = jQuery.prototype = {
-
- // The current version of jQuery being used
- jquery: version,
-
- constructor: jQuery,
-
- // The default length of a jQuery object is 0
- length: 0,
-
- toArray: function() {
- return slice.call( this );
- },
-
- // Get the Nth element in the matched element set OR
- // Get the whole matched element set as a clean array
- get: function( num ) {
-
- // Return all the elements in a clean array
- if ( num == null ) {
- return slice.call( this );
- }
-
- // Return just the one element from the set
- return num < 0 ? this[ num + this.length ] : this[ num ];
- },
-
- // Take an array of elements and push it onto the stack
- // (returning the new matched element set)
- pushStack: function( elems ) {
-
- // Build a new jQuery matched element set
- var ret = jQuery.merge( this.constructor(), elems );
-
- // Add the old object onto the stack (as a reference)
- ret.prevObject = this;
-
- // Return the newly-formed element set
- return ret;
- },
-
- // Execute a callback for every element in the matched set.
- each: function( callback ) {
- return jQuery.each( this, callback );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map( this, function( elem, i ) {
- return callback.call( elem, i, elem );
- } ) );
- },
-
- slice: function() {
- return this.pushStack( slice.apply( this, arguments ) );
- },
-
- first: function() {
- return this.eq( 0 );
- },
-
- last: function() {
- return this.eq( -1 );
- },
-
- eq: function( i ) {
- var len = this.length,
- j = +i + ( i < 0 ? len : 0 );
- return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
- },
-
- end: function() {
- return this.prevObject || this.constructor();
- },
-
- // For internal use only.
- // Behaves like an Array's method, not like a jQuery method.
- push: push,
- sort: arr.sort,
- splice: arr.splice
-};
-
-jQuery.extend = jQuery.fn.extend = function() {
- var options, name, src, copy, copyIsArray, clone,
- target = arguments[ 0 ] || {},
- i = 1,
- length = arguments.length,
- deep = false;
-
- // Handle a deep copy situation
- if ( typeof target === "boolean" ) {
- deep = target;
-
- // Skip the boolean and the target
- target = arguments[ i ] || {};
- i++;
- }
-
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
- target = {};
- }
-
- // Extend jQuery itself if only one argument is passed
- if ( i === length ) {
- target = this;
- i--;
- }
-
- for ( ; i < length; i++ ) {
-
- // Only deal with non-null/undefined values
- if ( ( options = arguments[ i ] ) != null ) {
-
- // Extend the base object
- for ( name in options ) {
- src = target[ name ];
- copy = options[ name ];
-
- // Prevent never-ending loop
- if ( target === copy ) {
- continue;
- }
-
- // Recurse if we're merging plain objects or arrays
- if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
- ( copyIsArray = Array.isArray( copy ) ) ) ) {
-
- if ( copyIsArray ) {
- copyIsArray = false;
- clone = src && Array.isArray( src ) ? src : [];
-
- } else {
- clone = src && jQuery.isPlainObject( src ) ? src : {};
- }
-
- // Never move original objects, clone them
- target[ name ] = jQuery.extend( deep, clone, copy );
-
- // Don't bring in undefined values
- } else if ( copy !== undefined ) {
- target[ name ] = copy;
- }
- }
- }
- }
-
- // Return the modified object
- return target;
-};
-
-jQuery.extend( {
-
- // Unique for each copy of jQuery on the page
- expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
-
- // Assume jQuery is ready without the ready module
- isReady: true,
-
- error: function( msg ) {
- throw new Error( msg );
- },
-
- noop: function() {},
-
- isFunction: function( obj ) {
- return jQuery.type( obj ) === "function";
- },
-
- isWindow: function( obj ) {
- return obj != null && obj === obj.window;
- },
-
- isNumeric: function( obj ) {
-
- // As of jQuery 3.0, isNumeric is limited to
- // strings and numbers (primitives or objects)
- // that can be coerced to finite numbers (gh-2662)
- var type = jQuery.type( obj );
- return ( type === "number" || type === "string" ) &&
-
- // parseFloat NaNs numeric-cast false positives ("")
- // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
- // subtraction forces infinities to NaN
- !isNaN( obj - parseFloat( obj ) );
- },
-
- isPlainObject: function( obj ) {
- var proto, Ctor;
-
- // Detect obvious negatives
- // Use toString instead of jQuery.type to catch host objects
- if ( !obj || toString.call( obj ) !== "[object Object]" ) {
- return false;
- }
-
- proto = getProto( obj );
-
- // Objects with no prototype (e.g., `Object.create( null )`) are plain
- if ( !proto ) {
- return true;
- }
-
- // Objects with prototype are plain iff they were constructed by a global Object function
- Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
- return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
- },
-
- isEmptyObject: function( obj ) {
-
- /* eslint-disable no-unused-vars */
- // See https://github.com/eslint/eslint/issues/6125
- var name;
-
- for ( name in obj ) {
- return false;
- }
- return true;
- },
-
- type: function( obj ) {
- if ( obj == null ) {
- return obj + "";
- }
-
- // Support: Android <=2.3 only (functionish RegExp)
- return typeof obj === "object" || typeof obj === "function" ?
- class2type[ toString.call( obj ) ] || "object" :
- typeof obj;
- },
-
- // Evaluates a script in a global context
- globalEval: function( code ) {
- DOMEval( code );
- },
-
- // Convert dashed to camelCase; used by the css and data modules
- // Support: IE <=9 - 11, Edge 12 - 13
- // Microsoft forgot to hump their vendor prefix (#9572)
- camelCase: function( string ) {
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
- },
-
- each: function( obj, callback ) {
- var length, i = 0;
-
- if ( isArrayLike( obj ) ) {
- length = obj.length;
- for ( ; i < length; i++ ) {
- if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
- break;
- }
- }
- } else {
- for ( i in obj ) {
- if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
- break;
- }
- }
- }
-
- return obj;
- },
-
- // Support: Android <=4.0 only
- trim: function( text ) {
- return text == null ?
- "" :
- ( text + "" ).replace( rtrim, "" );
- },
-
- // results is for internal usage only
- makeArray: function( arr, results ) {
- var ret = results || [];
-
- if ( arr != null ) {
- if ( isArrayLike( Object( arr ) ) ) {
- jQuery.merge( ret,
- typeof arr === "string" ?
- [ arr ] : arr
- );
- } else {
- push.call( ret, arr );
- }
- }
-
- return ret;
- },
-
- inArray: function( elem, arr, i ) {
- return arr == null ? -1 : indexOf.call( arr, elem, i );
- },
-
- // Support: Android <=4.0 only, PhantomJS 1 only
- // push.apply(_, arraylike) throws on ancient WebKit
- merge: function( first, second ) {
- var len = +second.length,
- j = 0,
- i = first.length;
-
- for ( ; j < len; j++ ) {
- first[ i++ ] = second[ j ];
- }
-
- first.length = i;
-
- return first;
- },
-
- grep: function( elems, callback, invert ) {
- var callbackInverse,
- matches = [],
- i = 0,
- length = elems.length,
- callbackExpect = !invert;
-
- // Go through the array, only saving the items
- // that pass the validator function
- for ( ; i < length; i++ ) {
- callbackInverse = !callback( elems[ i ], i );
- if ( callbackInverse !== callbackExpect ) {
- matches.push( elems[ i ] );
- }
- }
-
- return matches;
- },
-
- // arg is for internal usage only
- map: function( elems, callback, arg ) {
- var length, value,
- i = 0,
- ret = [];
-
- // Go through the array, translating each of the items to their new values
- if ( isArrayLike( elems ) ) {
- length = elems.length;
- for ( ; i < length; i++ ) {
- value = callback( elems[ i ], i, arg );
-
- if ( value != null ) {
- ret.push( value );
- }
- }
-
- // Go through every key on the object,
- } else {
- for ( i in elems ) {
- value = callback( elems[ i ], i, arg );
-
- if ( value != null ) {
- ret.push( value );
- }
- }
- }
-
- // Flatten any nested arrays
- return concat.apply( [], ret );
- },
-
- // A global GUID counter for objects
- guid: 1,
-
- // Bind a function to a context, optionally partially applying any
- // arguments.
- proxy: function( fn, context ) {
- var tmp, args, proxy;
-
- if ( typeof context === "string" ) {
- tmp = fn[ context ];
- context = fn;
- fn = tmp;
- }
-
- // Quick check to determine if target is callable, in the spec
- // this throws a TypeError, but we will just return undefined.
- if ( !jQuery.isFunction( fn ) ) {
- return undefined;
- }
-
- // Simulated bind
- args = slice.call( arguments, 2 );
- proxy = function() {
- return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
- };
-
- // Set the guid of unique handler to the same of original handler, so it can be removed
- proxy.guid = fn.guid = fn.guid || jQuery.guid++;
-
- return proxy;
- },
-
- now: Date.now,
-
- // jQuery.support is not used in Core but other projects attach their
- // properties to it so it needs to exist.
- support: support
-} );
-
-if ( typeof Symbol === "function" ) {
- jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
-}
-
-// Populate the class2type map
-jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
-function( i, name ) {
- class2type[ "[object " + name + "]" ] = name.toLowerCase();
-} );
-
-function isArrayLike( obj ) {
-
- // Support: real iOS 8.2 only (not reproducible in simulator)
- // `in` check used to prevent JIT error (gh-2145)
- // hasOwn isn't used here due to false negatives
- // regarding Nodelist length in IE
- var length = !!obj && "length" in obj && obj.length,
- type = jQuery.type( obj );
-
- if ( type === "function" || jQuery.isWindow( obj ) ) {
- return false;
- }
-
- return type === "array" || length === 0 ||
- typeof length === "number" && length > 0 && ( length - 1 ) in obj;
-}
-var Sizzle =
-/*!
- * Sizzle CSS Selector Engine v2.3.3
- * https://sizzlejs.com/
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2016-08-08
- */
-(function( window ) {
-
-var i,
- support,
- Expr,
- getText,
- isXML,
- tokenize,
- compile,
- select,
- outermostContext,
- sortInput,
- hasDuplicate,
-
- // Local document vars
- setDocument,
- document,
- docElem,
- documentIsHTML,
- rbuggyQSA,
- rbuggyMatches,
- matches,
- contains,
-
- // Instance-specific data
- expando = "sizzle" + 1 * new Date(),
- preferredDoc = window.document,
- dirruns = 0,
- done = 0,
- classCache = createCache(),
- tokenCache = createCache(),
- compilerCache = createCache(),
- sortOrder = function( a, b ) {
- if ( a === b ) {
- hasDuplicate = true;
- }
- return 0;
- },
-
- // Instance methods
- hasOwn = ({}).hasOwnProperty,
- arr = [],
- pop = arr.pop,
- push_native = arr.push,
- push = arr.push,
- slice = arr.slice,
- // Use a stripped-down indexOf as it's faster than native
- // https://jsperf.com/thor-indexof-vs-for/5
- indexOf = function( list, elem ) {
- var i = 0,
- len = list.length;
- for ( ; i < len; i++ ) {
- if ( list[i] === elem ) {
- return i;
- }
- }
- return -1;
- },
-
- booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
-
- // Regular expressions
-
- // http://www.w3.org/TR/css3-selectors/#whitespace
- whitespace = "[\\x20\\t\\r\\n\\f]",
-
- // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
- identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
-
- // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
- attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
- // Operator (capture 2)
- "*([*^$|!~]?=)" + whitespace +
- // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
- "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
- "*\\]",
-
- pseudos = ":(" + identifier + ")(?:\\((" +
- // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
- // 1. quoted (capture 3; capture 4 or capture 5)
- "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
- // 2. simple (capture 6)
- "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
- // 3. anything else (capture 2)
- ".*" +
- ")\\)|)",
-
- // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
- rwhitespace = new RegExp( whitespace + "+", "g" ),
- rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
-
- rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
- rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
-
- rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
-
- rpseudo = new RegExp( pseudos ),
- ridentifier = new RegExp( "^" + identifier + "$" ),
-
- matchExpr = {
- "ID": new RegExp( "^#(" + identifier + ")" ),
- "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
- "TAG": new RegExp( "^(" + identifier + "|[*])" ),
- "ATTR": new RegExp( "^" + attributes ),
- "PSEUDO": new RegExp( "^" + pseudos ),
- "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
- "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
- "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
- "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
- // For use in libraries implementing .is()
- // We use this for POS matching in `select`
- "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
- whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
- },
-
- rinputs = /^(?:input|select|textarea|button)$/i,
- rheader = /^h\d$/i,
-
- rnative = /^[^{]+\{\s*\[native \w/,
-
- // Easily-parseable/retrievable ID or TAG or CLASS selectors
- rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
-
- rsibling = /[+~]/,
-
- // CSS escapes
- // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
- runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
- funescape = function( _, escaped, escapedWhitespace ) {
- var high = "0x" + escaped - 0x10000;
- // NaN means non-codepoint
- // Support: Firefox<24
- // Workaround erroneous numeric interpretation of +"0x"
- return high !== high || escapedWhitespace ?
- escaped :
- high < 0 ?
- // BMP codepoint
- String.fromCharCode( high + 0x10000 ) :
- // Supplemental Plane codepoint (surrogate pair)
- String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
- },
-
- // CSS string/identifier serialization
- // https://drafts.csswg.org/cssom/#common-serializing-idioms
- rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
- fcssescape = function( ch, asCodePoint ) {
- if ( asCodePoint ) {
-
- // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
- if ( ch === "\0" ) {
- return "\uFFFD";
- }
-
- // Control characters and (dependent upon position) numbers get escaped as code points
- return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
- }
-
- // Other potentially-special ASCII characters get backslash-escaped
- return "\\" + ch;
- },
-
- // Used for iframes
- // See setDocument()
- // Removing the function wrapper causes a "Permission Denied"
- // error in IE
- unloadHandler = function() {
- setDocument();
- },
-
- disabledAncestor = addCombinator(
- function( elem ) {
- return elem.disabled === true && ("form" in elem || "label" in elem);
- },
- { dir: "parentNode", next: "legend" }
- );
-
-// Optimize for push.apply( _, NodeList )
-try {
- push.apply(
- (arr = slice.call( preferredDoc.childNodes )),
- preferredDoc.childNodes
- );
- // Support: Android<4.0
- // Detect silently failing push.apply
- arr[ preferredDoc.childNodes.length ].nodeType;
-} catch ( e ) {
- push = { apply: arr.length ?
-
- // Leverage slice if possible
- function( target, els ) {
- push_native.apply( target, slice.call(els) );
- } :
-
- // Support: IE<9
- // Otherwise append directly
- function( target, els ) {
- var j = target.length,
- i = 0;
- // Can't trust NodeList.length
- while ( (target[j++] = els[i++]) ) {}
- target.length = j - 1;
- }
- };
-}
-
-function Sizzle( selector, context, results, seed ) {
- var m, i, elem, nid, match, groups, newSelector,
- newContext = context && context.ownerDocument,
-
- // nodeType defaults to 9, since context defaults to document
- nodeType = context ? context.nodeType : 9;
-
- results = results || [];
-
- // Return early from calls with invalid selector or context
- if ( typeof selector !== "string" || !selector ||
- nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
-
- return results;
- }
-
- // Try to shortcut find operations (as opposed to filters) in HTML documents
- if ( !seed ) {
-
- if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
- setDocument( context );
- }
- context = context || document;
-
- if ( documentIsHTML ) {
-
- // If the selector is sufficiently simple, try using a "get*By*" DOM method
- // (excepting DocumentFragment context, where the methods don't exist)
- if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
-
- // ID selector
- if ( (m = match[1]) ) {
-
- // Document context
- if ( nodeType === 9 ) {
- if ( (elem = context.getElementById( m )) ) {
-
- // Support: IE, Opera, Webkit
- // TODO: identify versions
- // getElementById can match elements by name instead of ID
- if ( elem.id === m ) {
- results.push( elem );
- return results;
- }
- } else {
- return results;
- }
-
- // Element context
- } else {
-
- // Support: IE, Opera, Webkit
- // TODO: identify versions
- // getElementById can match elements by name instead of ID
- if ( newContext && (elem = newContext.getElementById( m )) &&
- contains( context, elem ) &&
- elem.id === m ) {
-
- results.push( elem );
- return results;
- }
- }
-
- // Type selector
- } else if ( match[2] ) {
- push.apply( results, context.getElementsByTagName( selector ) );
- return results;
-
- // Class selector
- } else if ( (m = match[3]) && support.getElementsByClassName &&
- context.getElementsByClassName ) {
-
- push.apply( results, context.getElementsByClassName( m ) );
- return results;
- }
- }
-
- // Take advantage of querySelectorAll
- if ( support.qsa &&
- !compilerCache[ selector + " " ] &&
- (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
-
- if ( nodeType !== 1 ) {
- newContext = context;
- newSelector = selector;
-
- // qSA looks outside Element context, which is not what we want
- // Thanks to Andrew Dupont for this workaround technique
- // Support: IE <=8
- // Exclude object elements
- } else if ( context.nodeName.toLowerCase() !== "object" ) {
-
- // Capture the context ID, setting it first if necessary
- if ( (nid = context.getAttribute( "id" )) ) {
- nid = nid.replace( rcssescape, fcssescape );
- } else {
- context.setAttribute( "id", (nid = expando) );
- }
-
- // Prefix every selector in the list
- groups = tokenize( selector );
- i = groups.length;
- while ( i-- ) {
- groups[i] = "#" + nid + " " + toSelector( groups[i] );
- }
- newSelector = groups.join( "," );
-
- // Expand context for sibling selectors
- newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
- context;
- }
-
- if ( newSelector ) {
- try {
- push.apply( results,
- newContext.querySelectorAll( newSelector )
- );
- return results;
- } catch ( qsaError ) {
- } finally {
- if ( nid === expando ) {
- context.removeAttribute( "id" );
- }
- }
- }
- }
- }
- }
-
- // All others
- return select( selector.replace( rtrim, "$1" ), context, results, seed );
-}
-
-/**
- * Create key-value caches of limited size
- * @returns {function(string, object)} Returns the Object data after storing it on itself with
- * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
- * deleting the oldest entry
- */
-function createCache() {
- var keys = [];
-
- function cache( key, value ) {
- // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
- if ( keys.push( key + " " ) > Expr.cacheLength ) {
- // Only keep the most recent entries
- delete cache[ keys.shift() ];
- }
- return (cache[ key + " " ] = value);
- }
- return cache;
-}
-
-/**
- * Mark a function for special use by Sizzle
- * @param {Function} fn The function to mark
- */
-function markFunction( fn ) {
- fn[ expando ] = true;
- return fn;
-}
-
-/**
- * Support testing using an element
- * @param {Function} fn Passed the created element and returns a boolean result
- */
-function assert( fn ) {
- var el = document.createElement("fieldset");
-
- try {
- return !!fn( el );
- } catch (e) {
- return false;
- } finally {
- // Remove from its parent by default
- if ( el.parentNode ) {
- el.parentNode.removeChild( el );
- }
- // release memory in IE
- el = null;
- }
-}
-
-/**
- * Adds the same handler for all of the specified attrs
- * @param {String} attrs Pipe-separated list of attributes
- * @param {Function} handler The method that will be applied
- */
-function addHandle( attrs, handler ) {
- var arr = attrs.split("|"),
- i = arr.length;
-
- while ( i-- ) {
- Expr.attrHandle[ arr[i] ] = handler;
- }
-}
-
-/**
- * Checks document order of two siblings
- * @param {Element} a
- * @param {Element} b
- * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
- */
-function siblingCheck( a, b ) {
- var cur = b && a,
- diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
- a.sourceIndex - b.sourceIndex;
-
- // Use IE sourceIndex if available on both nodes
- if ( diff ) {
- return diff;
- }
-
- // Check if b follows a
- if ( cur ) {
- while ( (cur = cur.nextSibling) ) {
- if ( cur === b ) {
- return -1;
- }
- }
- }
-
- return a ? 1 : -1;
-}
-
-/**
- * Returns a function to use in pseudos for input types
- * @param {String} type
- */
-function createInputPseudo( type ) {
- return function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return name === "input" && elem.type === type;
- };
-}
-
-/**
- * Returns a function to use in pseudos for buttons
- * @param {String} type
- */
-function createButtonPseudo( type ) {
- return function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return (name === "input" || name === "button") && elem.type === type;
- };
-}
-
-/**
- * Returns a function to use in pseudos for :enabled/:disabled
- * @param {Boolean} disabled true for :disabled; false for :enabled
- */
-function createDisabledPseudo( disabled ) {
-
- // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
- return function( elem ) {
-
- // Only certain elements can match :enabled or :disabled
- // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
- // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
- if ( "form" in elem ) {
-
- // Check for inherited disabledness on relevant non-disabled elements:
- // * listed form-associated elements in a disabled fieldset
- // https://html.spec.whatwg.org/multipage/forms.html#category-listed
- // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
- // * option elements in a disabled optgroup
- // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
- // All such elements have a "form" property.
- if ( elem.parentNode && elem.disabled === false ) {
-
- // Option elements defer to a parent optgroup if present
- if ( "label" in elem ) {
- if ( "label" in elem.parentNode ) {
- return elem.parentNode.disabled === disabled;
- } else {
- return elem.disabled === disabled;
- }
- }
-
- // Support: IE 6 - 11
- // Use the isDisabled shortcut property to check for disabled fieldset ancestors
- return elem.isDisabled === disabled ||
-
- // Where there is no isDisabled, check manually
- /* jshint -W018 */
- elem.isDisabled !== !disabled &&
- disabledAncestor( elem ) === disabled;
- }
-
- return elem.disabled === disabled;
-
- // Try to winnow out elements that can't be disabled before trusting the disabled property.
- // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
- // even exist on them, let alone have a boolean value.
- } else if ( "label" in elem ) {
- return elem.disabled === disabled;
- }
-
- // Remaining elements are neither :enabled nor :disabled
- return false;
- };
-}
-
-/**
- * Returns a function to use in pseudos for positionals
- * @param {Function} fn
- */
-function createPositionalPseudo( fn ) {
- return markFunction(function( argument ) {
- argument = +argument;
- return markFunction(function( seed, matches ) {
- var j,
- matchIndexes = fn( [], seed.length, argument ),
- i = matchIndexes.length;
-
- // Match elements found at the specified indexes
- while ( i-- ) {
- if ( seed[ (j = matchIndexes[i]) ] ) {
- seed[j] = !(matches[j] = seed[j]);
- }
- }
- });
- });
-}
-
-/**
- * Checks a node for validity as a Sizzle context
- * @param {Element|Object=} context
- * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
- */
-function testContext( context ) {
- return context && typeof context.getElementsByTagName !== "undefined" && context;
-}
-
-// Expose support vars for convenience
-support = Sizzle.support = {};
-
-/**
- * Detects XML nodes
- * @param {Element|Object} elem An element or a document
- * @returns {Boolean} True iff elem is a non-HTML XML node
- */
-isXML = Sizzle.isXML = function( elem ) {
- // documentElement is verified for cases where it doesn't yet exist
- // (such as loading iframes in IE - #4833)
- var documentElement = elem && (elem.ownerDocument || elem).documentElement;
- return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
-
-/**
- * Sets document-related variables once based on the current document
- * @param {Element|Object} [doc] An element or document object to use to set the document
- * @returns {Object} Returns the current document
- */
-setDocument = Sizzle.setDocument = function( node ) {
- var hasCompare, subWindow,
- doc = node ? node.ownerDocument || node : preferredDoc;
-
- // Return early if doc is invalid or already selected
- if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
- return document;
- }
-
- // Update global variables
- document = doc;
- docElem = document.documentElement;
- documentIsHTML = !isXML( document );
-
- // Support: IE 9-11, Edge
- // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
- if ( preferredDoc !== document &&
- (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
-
- // Support: IE 11, Edge
- if ( subWindow.addEventListener ) {
- subWindow.addEventListener( "unload", unloadHandler, false );
-
- // Support: IE 9 - 10 only
- } else if ( subWindow.attachEvent ) {
- subWindow.attachEvent( "onunload", unloadHandler );
- }
- }
-
- /* Attributes
- ---------------------------------------------------------------------- */
-
- // Support: IE<8
- // Verify that getAttribute really returns attributes and not properties
- // (excepting IE8 booleans)
- support.attributes = assert(function( el ) {
- el.className = "i";
- return !el.getAttribute("className");
- });
-
- /* getElement(s)By*
- ---------------------------------------------------------------------- */
-
- // Check if getElementsByTagName("*") returns only elements
- support.getElementsByTagName = assert(function( el ) {
- el.appendChild( document.createComment("") );
- return !el.getElementsByTagName("*").length;
- });
-
- // Support: IE<9
- support.getElementsByClassName = rnative.test( document.getElementsByClassName );
-
- // Support: IE<10
- // Check if getElementById returns elements by name
- // The broken getElementById methods don't pick up programmatically-set names,
- // so use a roundabout getElementsByName test
- support.getById = assert(function( el ) {
- docElem.appendChild( el ).id = expando;
- return !document.getElementsByName || !document.getElementsByName( expando ).length;
- });
-
- // ID filter and find
- if ( support.getById ) {
- Expr.filter["ID"] = function( id ) {
- var attrId = id.replace( runescape, funescape );
- return function( elem ) {
- return elem.getAttribute("id") === attrId;
- };
- };
- Expr.find["ID"] = function( id, context ) {
- if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
- var elem = context.getElementById( id );
- return elem ? [ elem ] : [];
- }
- };
- } else {
- Expr.filter["ID"] = function( id ) {
- var attrId = id.replace( runescape, funescape );
- return function( elem ) {
- var node = typeof elem.getAttributeNode !== "undefined" &&
- elem.getAttributeNode("id");
- return node && node.value === attrId;
- };
- };
-
- // Support: IE 6 - 7 only
- // getElementById is not reliable as a find shortcut
- Expr.find["ID"] = function( id, context ) {
- if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
- var node, i, elems,
- elem = context.getElementById( id );
-
- if ( elem ) {
-
- // Verify the id attribute
- node = elem.getAttributeNode("id");
- if ( node && node.value === id ) {
- return [ elem ];
- }
-
- // Fall back on getElementsByName
- elems = context.getElementsByName( id );
- i = 0;
- while ( (elem = elems[i++]) ) {
- node = elem.getAttributeNode("id");
- if ( node && node.value === id ) {
- return [ elem ];
- }
- }
- }
-
- return [];
- }
- };
- }
-
- // Tag
- Expr.find["TAG"] = support.getElementsByTagName ?
- function( tag, context ) {
- if ( typeof context.getElementsByTagName !== "undefined" ) {
- return context.getElementsByTagName( tag );
-
- // DocumentFragment nodes don't have gEBTN
- } else if ( support.qsa ) {
- return context.querySelectorAll( tag );
- }
- } :
-
- function( tag, context ) {
- var elem,
- tmp = [],
- i = 0,
- // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
- results = context.getElementsByTagName( tag );
-
- // Filter out possible comments
- if ( tag === "*" ) {
- while ( (elem = results[i++]) ) {
- if ( elem.nodeType === 1 ) {
- tmp.push( elem );
- }
- }
-
- return tmp;
- }
- return results;
- };
-
- // Class
- Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
- if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
- return context.getElementsByClassName( className );
- }
- };
-
- /* QSA/matchesSelector
- ---------------------------------------------------------------------- */
-
- // QSA and matchesSelector support
-
- // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
- rbuggyMatches = [];
-
- // qSa(:focus) reports false when true (Chrome 21)
- // We allow this because of a bug in IE8/9 that throws an error
- // whenever `document.activeElement` is accessed on an iframe
- // So, we allow :focus to pass through QSA all the time to avoid the IE error
- // See https://bugs.jquery.com/ticket/13378
- rbuggyQSA = [];
-
- if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
- // Build QSA regex
- // Regex strategy adopted from Diego Perini
- assert(function( el ) {
- // Select is set to empty string on purpose
- // This is to test IE's treatment of not explicitly
- // setting a boolean content attribute,
- // since its presence should be enough
- // https://bugs.jquery.com/ticket/12359
- docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
- "<select id='" + expando + "-\r\\' msallowcapture=''>" +
- "<option selected=''></option></select>";
-
- // Support: IE8, Opera 11-12.16
- // Nothing should be selected when empty strings follow ^= or $= or *=
- // The test attribute must be unknown in Opera but "safe" for WinRT
- // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
- if ( el.querySelectorAll("[msallowcapture^='']").length ) {
- rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
- }
-
- // Support: IE8
- // Boolean attributes and "value" are not treated correctly
- if ( !el.querySelectorAll("[selected]").length ) {
- rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
- }
-
- // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
- if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
- rbuggyQSA.push("~=");
- }
-
- // Webkit/Opera - :checked should return selected option elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
- // IE8 throws error here and will not see later tests
- if ( !el.querySelectorAll(":checked").length ) {
- rbuggyQSA.push(":checked");
- }
-
- // Support: Safari 8+, iOS 8+
- // https://bugs.webkit.org/show_bug.cgi?id=136851
- // In-page `selector#id sibling-combinator selector` fails
- if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
- rbuggyQSA.push(".#.+[+~]");
- }
- });
-
- assert(function( el ) {
- el.innerHTML = "<a href='' disabled='disabled'></a>" +
- "<select disabled='disabled'><option/></select>";
-
- // Support: Windows 8 Native Apps
- // The type and name attributes are restricted during .innerHTML assignment
- var input = document.createElement("input");
- input.setAttribute( "type", "hidden" );
- el.appendChild( input ).setAttribute( "name", "D" );
-
- // Support: IE8
- // Enforce case-sensitivity of name attribute
- if ( el.querySelectorAll("[name=d]").length ) {
- rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
- }
-
- // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
- // IE8 throws error here and will not see later tests
- if ( el.querySelectorAll(":enabled").length !== 2 ) {
- rbuggyQSA.push( ":enabled", ":disabled" );
- }
-
- // Support: IE9-11+
- // IE's :disabled selector does not pick up the children of disabled fieldsets
- docElem.appendChild( el ).disabled = true;
- if ( el.querySelectorAll(":disabled").length !== 2 ) {
- rbuggyQSA.push( ":enabled", ":disabled" );
- }
-
- // Opera 10-11 does not throw on post-comma invalid pseudos
- el.querySelectorAll("*,:x");
- rbuggyQSA.push(",.*:");
- });
- }
-
- if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
- docElem.webkitMatchesSelector ||
- docElem.mozMatchesSelector ||
- docElem.oMatchesSelector ||
- docElem.msMatchesSelector) )) ) {
-
- assert(function( el ) {
- // Check to see if it's possible to do matchesSelector
- // on a disconnected node (IE 9)
- support.disconnectedMatch = matches.call( el, "*" );
-
- // This should fail with an exception
- // Gecko does not error, returns false instead
- matches.call( el, "[s!='']:x" );
- rbuggyMatches.push( "!=", pseudos );
- });
- }
-
- rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
- rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
-
- /* Contains
- ---------------------------------------------------------------------- */
- hasCompare = rnative.test( docElem.compareDocumentPosition );
-
- // Element contains another
- // Purposefully self-exclusive
- // As in, an element does not contain itself
- contains = hasCompare || rnative.test( docElem.contains ) ?
- function( a, b ) {
- var adown = a.nodeType === 9 ? a.documentElement : a,
- bup = b && b.parentNode;
- return a === bup || !!( bup && bup.nodeType === 1 && (
- adown.contains ?
- adown.contains( bup ) :
- a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
- ));
- } :
- function( a, b ) {
- if ( b ) {
- while ( (b = b.parentNode) ) {
- if ( b === a ) {
- return true;
- }
- }
- }
- return false;
- };
-
- /* Sorting
- ---------------------------------------------------------------------- */
-
- // Document order sorting
- sortOrder = hasCompare ?
- function( a, b ) {
-
- // Flag for duplicate removal
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
- }
-
- // Sort on method existence if only one input has compareDocumentPosition
- var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
- if ( compare ) {
- return compare;
- }
-
- // Calculate position if both inputs belong to the same document
- compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
- a.compareDocumentPosition( b ) :
-
- // Otherwise we know they are disconnected
- 1;
-
- // Disconnected nodes
- if ( compare & 1 ||
- (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
-
- // Choose the first element that is related to our preferred document
- if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
- return -1;
- }
- if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
- return 1;
- }
-
- // Maintain original order
- return sortInput ?
- ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
- 0;
- }
-
- return compare & 4 ? -1 : 1;
- } :
- function( a, b ) {
- // Exit early if the nodes are identical
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
- }
-
- var cur,
- i = 0,
- aup = a.parentNode,
- bup = b.parentNode,
- ap = [ a ],
- bp = [ b ];
-
- // Parentless nodes are either documents or disconnected
- if ( !aup || !bup ) {
- return a === document ? -1 :
- b === document ? 1 :
- aup ? -1 :
- bup ? 1 :
- sortInput ?
- ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
- 0;
-
- // If the nodes are siblings, we can do a quick check
- } else if ( aup === bup ) {
- return siblingCheck( a, b );
- }
-
- // Otherwise we need full lists of their ancestors for comparison
- cur = a;
- while ( (cur = cur.parentNode) ) {
- ap.unshift( cur );
- }
- cur = b;
- while ( (cur = cur.parentNode) ) {
- bp.unshift( cur );
- }
-
- // Walk down the tree looking for a discrepancy
- while ( ap[i] === bp[i] ) {
- i++;
- }
-
- return i ?
- // Do a sibling check if the nodes have a common ancestor
- siblingCheck( ap[i], bp[i] ) :
-
- // Otherwise nodes in our document sort first
- ap[i] === preferredDoc ? -1 :
- bp[i] === preferredDoc ? 1 :
- 0;
- };
-
- return document;
-};
-
-Sizzle.matches = function( expr, elements ) {
- return Sizzle( expr, null, null, elements );
-};
-
-Sizzle.matchesSelector = function( elem, expr ) {
- // Set document vars if needed
- if ( ( elem.ownerDocument || elem ) !== document ) {
- setDocument( elem );
- }
-
- // Make sure that attribute selectors are quoted
- expr = expr.replace( rattributeQuotes, "='$1']" );
-
- if ( support.matchesSelector && documentIsHTML &&
- !compilerCache[ expr + " " ] &&
- ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
- ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
-
- try {
- var ret = matches.call( elem, expr );
-
- // IE 9's matchesSelector returns false on disconnected nodes
- if ( ret || support.disconnectedMatch ||
- // As well, disconnected nodes are said to be in a document
- // fragment in IE 9
- elem.document && elem.document.nodeType !== 11 ) {
- return ret;
- }
- } catch (e) {}
- }
-
- return Sizzle( expr, document, null, [ elem ] ).length > 0;
-};
-
-Sizzle.contains = function( context, elem ) {
- // Set document vars if needed
- if ( ( context.ownerDocument || context ) !== document ) {
- setDocument( context );
- }
- return contains( context, elem );
-};
-
-Sizzle.attr = function( elem, name ) {
- // Set document vars if needed
- if ( ( elem.ownerDocument || elem ) !== document ) {
- setDocument( elem );
- }
-
- var fn = Expr.attrHandle[ name.toLowerCase() ],
- // Don't get fooled by Object.prototype properties (jQuery #13807)
- val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
- fn( elem, name, !documentIsHTML ) :
- undefined;
-
- return val !== undefined ?
- val :
- support.attributes || !documentIsHTML ?
- elem.getAttribute( name ) :
- (val = elem.getAttributeNode(name)) && val.specified ?
- val.value :
- null;
-};
-
-Sizzle.escape = function( sel ) {
- return (sel + "").replace( rcssescape, fcssescape );
-};
-
-Sizzle.error = function( msg ) {
- throw new Error( "Syntax error, unrecognized expression: " + msg );
-};
-
-/**
- * Document sorting and removing duplicates
- * @param {ArrayLike} results
- */
-Sizzle.uniqueSort = function( results ) {
- var elem,
- duplicates = [],
- j = 0,
- i = 0;
-
- // Unless we *know* we can detect duplicates, assume their presence
- hasDuplicate = !support.detectDuplicates;
- sortInput = !support.sortStable && results.slice( 0 );
- results.sort( sortOrder );
-
- if ( hasDuplicate ) {
- while ( (elem = results[i++]) ) {
- if ( elem === results[ i ] ) {
- j = duplicates.push( i );
- }
- }
- while ( j-- ) {
- results.splice( duplicates[ j ], 1 );
- }
- }
-
- // Clear input after sorting to release objects
- // See https://github.com/jquery/sizzle/pull/225
- sortInput = null;
-
- return results;
-};
-
-/**
- * Utility function for retrieving the text value of an array of DOM nodes
- * @param {Array|Element} elem
- */
-getText = Sizzle.getText = function( elem ) {
- var node,
- ret = "",
- i = 0,
- nodeType = elem.nodeType;
-
- if ( !nodeType ) {
- // If no nodeType, this is expected to be an array
- while ( (node = elem[i++]) ) {
- // Do not traverse comment nodes
- ret += getText( node );
- }
- } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
- // Use textContent for elements
- // innerText usage removed for consistency of new lines (jQuery #11153)
- if ( typeof elem.textContent === "string" ) {
- return elem.textContent;
- } else {
- // Traverse its children
- for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
- ret += getText( elem );
- }
- }
- } else if ( nodeType === 3 || nodeType === 4 ) {
- return elem.nodeValue;
- }
- // Do not include comment or processing instruction nodes
-
- return ret;
-};
-
-Expr = Sizzle.selectors = {
-
- // Can be adjusted by the user
- cacheLength: 50,
-
- createPseudo: markFunction,
-
- match: matchExpr,
-
- attrHandle: {},
-
- find: {},
-
- relative: {
- ">": { dir: "parentNode", first: true },
- " ": { dir: "parentNode" },
- "+": { dir: "previousSibling", first: true },
- "~": { dir: "previousSibling" }
- },
-
- preFilter: {
- "ATTR": function( match ) {
- match[1] = match[1].replace( runescape, funescape );
-
- // Move the given value to match[3] whether quoted or unquoted
- match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
-
- if ( match[2] === "~=" ) {
- match[3] = " " + match[3] + " ";
- }
-
- return match.slice( 0, 4 );
- },
-
- "CHILD": function( match ) {
- /* matches from matchExpr["CHILD"]
- 1 type (only|nth|...)
- 2 what (child|of-type)
- 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
- 4 xn-component of xn+y argument ([+-]?\d*n|)
- 5 sign of xn-component
- 6 x of xn-component
- 7 sign of y-component
- 8 y of y-component
- */
- match[1] = match[1].toLowerCase();
-
- if ( match[1].slice( 0, 3 ) === "nth" ) {
- // nth-* requires argument
- if ( !match[3] ) {
- Sizzle.error( match[0] );
- }
-
- // numeric x and y parameters for Expr.filter.CHILD
- // remember that false/true cast respectively to 0/1
- match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
- match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
-
- // other types prohibit arguments
- } else if ( match[3] ) {
- Sizzle.error( match[0] );
- }
-
- return match;
- },
-
- "PSEUDO": function( match ) {
- var excess,
- unquoted = !match[6] && match[2];
-
- if ( matchExpr["CHILD"].test( match[0] ) ) {
- return null;
- }
-
- // Accept quoted arguments as-is
- if ( match[3] ) {
- match[2] = match[4] || match[5] || "";
-
- // Strip excess characters from unquoted arguments
- } else if ( unquoted && rpseudo.test( unquoted ) &&
- // Get excess from tokenize (recursively)
- (excess = tokenize( unquoted, true )) &&
- // advance to the next closing parenthesis
- (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
-
- // excess is a negative index
- match[0] = match[0].slice( 0, excess );
- match[2] = unquoted.slice( 0, excess );
- }
-
- // Return only captures needed by the pseudo filter method (type and argument)
- return match.slice( 0, 3 );
- }
- },
-
- filter: {
-
- "TAG": function( nodeNameSelector ) {
- var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
- return nodeNameSelector === "*" ?
- function() { return true; } :
- function( elem ) {
- return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
- };
- },
-
- "CLASS": function( className ) {
- var pattern = classCache[ className + " " ];
-
- return pattern ||
- (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
- classCache( className, function( elem ) {
- return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
- });
- },
-
- "ATTR": function( name, operator, check ) {
- return function( elem ) {
- var result = Sizzle.attr( elem, name );
-
- if ( result == null ) {
- return operator === "!=";
- }
- if ( !operator ) {
- return true;
- }
-
- result += "";
-
- return operator === "=" ? result === check :
- operator === "!=" ? result !== check :
- operator === "^=" ? check && result.indexOf( check ) === 0 :
- operator === "*=" ? check && result.indexOf( check ) > -1 :
- operator === "$=" ? check && result.slice( -check.length ) === check :
- operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
- operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
- false;
- };
- },
-
- "CHILD": function( type, what, argument, first, last ) {
- var simple = type.slice( 0, 3 ) !== "nth",
- forward = type.slice( -4 ) !== "last",
- ofType = what === "of-type";
-
- return first === 1 && last === 0 ?
-
- // Shortcut for :nth-*(n)
- function( elem ) {
- return !!elem.parentNode;
- } :
-
- function( elem, context, xml ) {
- var cache, uniqueCache, outerCache, node, nodeIndex, start,
- dir = simple !== forward ? "nextSibling" : "previousSibling",
- parent = elem.parentNode,
- name = ofType && elem.nodeName.toLowerCase(),
- useCache = !xml && !ofType,
- diff = false;
-
- if ( parent ) {
-
- // :(first|last|only)-(child|of-type)
- if ( simple ) {
- while ( dir ) {
- node = elem;
- while ( (node = node[ dir ]) ) {
- if ( ofType ?
- node.nodeName.toLowerCase() === name :
- node.nodeType === 1 ) {
-
- return false;
- }
- }
- // Reverse direction for :only-* (if we haven't yet done so)
- start = dir = type === "only" && !start && "nextSibling";
- }
- return true;
- }
-
- start = [ forward ? parent.firstChild : parent.lastChild ];
-
- // non-xml :nth-child(...) stores cache data on `parent`
- if ( forward && useCache ) {
-
- // Seek `elem` from a previously-cached index
-
- // ...in a gzip-friendly way
- node = parent;
- outerCache = node[ expando ] || (node[ expando ] = {});
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ node.uniqueID ] ||
- (outerCache[ node.uniqueID ] = {});
-
- cache = uniqueCache[ type ] || [];
- nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
- diff = nodeIndex && cache[ 2 ];
- node = nodeIndex && parent.childNodes[ nodeIndex ];
-
- while ( (node = ++nodeIndex && node && node[ dir ] ||
-
- // Fallback to seeking `elem` from the start
- (diff = nodeIndex = 0) || start.pop()) ) {
-
- // When found, cache indexes on `parent` and break
- if ( node.nodeType === 1 && ++diff && node === elem ) {
- uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
- break;
- }
- }
-
- } else {
- // Use previously-cached element index if available
- if ( useCache ) {
- // ...in a gzip-friendly way
- node = elem;
- outerCache = node[ expando ] || (node[ expando ] = {});
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ node.uniqueID ] ||
- (outerCache[ node.uniqueID ] = {});
-
- cache = uniqueCache[ type ] || [];
- nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
- diff = nodeIndex;
- }
-
- // xml :nth-child(...)
- // or :nth-last-child(...) or :nth(-last)?-of-type(...)
- if ( diff === false ) {
- // Use the same loop as above to seek `elem` from the start
- while ( (node = ++nodeIndex && node && node[ dir ] ||
- (diff = nodeIndex = 0) || start.pop()) ) {
-
- if ( ( ofType ?
- node.nodeName.toLowerCase() === name :
- node.nodeType === 1 ) &&
- ++diff ) {
-
- // Cache the index of each encountered element
- if ( useCache ) {
- outerCache = node[ expando ] || (node[ expando ] = {});
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ node.uniqueID ] ||
- (outerCache[ node.uniqueID ] = {});
-
- uniqueCache[ type ] = [ dirruns, diff ];
- }
-
- if ( node === elem ) {
- break;
- }
- }
- }
- }
- }
-
- // Incorporate the offset, then check against cycle size
- diff -= last;
- return diff === first || ( diff % first === 0 && diff / first >= 0 );
- }
- };
- },
-
- "PSEUDO": function( pseudo, argument ) {
- // pseudo-class names are case-insensitive
- // http://www.w3.org/TR/selectors/#pseudo-classes
- // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
- // Remember that setFilters inherits from pseudos
- var args,
- fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
- Sizzle.error( "unsupported pseudo: " + pseudo );
-
- // The user may use createPseudo to indicate that
- // arguments are needed to create the filter function
- // just as Sizzle does
- if ( fn[ expando ] ) {
- return fn( argument );
- }
-
- // But maintain support for old signatures
- if ( fn.length > 1 ) {
- args = [ pseudo, pseudo, "", argument ];
- return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
- markFunction(function( seed, matches ) {
- var idx,
- matched = fn( seed, argument ),
- i = matched.length;
- while ( i-- ) {
- idx = indexOf( seed, matched[i] );
- seed[ idx ] = !( matches[ idx ] = matched[i] );
- }
- }) :
- function( elem ) {
- return fn( elem, 0, args );
- };
- }
-
- return fn;
- }
- },
-
- pseudos: {
- // Potentially complex pseudos
- "not": markFunction(function( selector ) {
- // Trim the selector passed to compile
- // to avoid treating leading and trailing
- // spaces as combinators
- var input = [],
- results = [],
- matcher = compile( selector.replace( rtrim, "$1" ) );
-
- return matcher[ expando ] ?
- markFunction(function( seed, matches, context, xml ) {
- var elem,
- unmatched = matcher( seed, null, xml, [] ),
- i = seed.length;
-
- // Match elements unmatched by `matcher`
- while ( i-- ) {
- if ( (elem = unmatched[i]) ) {
- seed[i] = !(matches[i] = elem);
- }
- }
- }) :
- function( elem, context, xml ) {
- input[0] = elem;
- matcher( input, null, xml, results );
- // Don't keep the element (issue #299)
- input[0] = null;
- return !results.pop();
- };
- }),
-
- "has": markFunction(function( selector ) {
- return function( elem ) {
- return Sizzle( selector, elem ).length > 0;
- };
- }),
-
- "contains": markFunction(function( text ) {
- text = text.replace( runescape, funescape );
- return function( elem ) {
- return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
- };
- }),
-
- // "Whether an element is represented by a :lang() selector
- // is based solely on the element's language value
- // being equal to the identifier C,
- // or beginning with the identifier C immediately followed by "-".
- // The matching of C against the element's language value is performed case-insensitively.
- // The identifier C does not have to be a valid language name."
- // http://www.w3.org/TR/selectors/#lang-pseudo
- "lang": markFunction( function( lang ) {
- // lang value must be a valid identifier
- if ( !ridentifier.test(lang || "") ) {
- Sizzle.error( "unsupported lang: " + lang );
- }
- lang = lang.replace( runescape, funescape ).toLowerCase();
- return function( elem ) {
- var elemLang;
- do {
- if ( (elemLang = documentIsHTML ?
- elem.lang :
- elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
-
- elemLang = elemLang.toLowerCase();
- return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
- }
- } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
- return false;
- };
- }),
-
- // Miscellaneous
- "target": function( elem ) {
- var hash = window.location && window.location.hash;
- return hash && hash.slice( 1 ) === elem.id;
- },
-
- "root": function( elem ) {
- return elem === docElem;
- },
-
- "focus": function( elem ) {
- return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
- },
-
- // Boolean properties
- "enabled": createDisabledPseudo( false ),
- "disabled": createDisabledPseudo( true ),
-
- "checked": function( elem ) {
- // In CSS3, :checked should return both checked and selected elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
- var nodeName = elem.nodeName.toLowerCase();
- return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
- },
-
- "selected": function( elem ) {
- // Accessing this property makes selected-by-default
- // options in Safari work properly
- if ( elem.parentNode ) {
- elem.parentNode.selectedIndex;
- }
-
- return elem.selected === true;
- },
-
- // Contents
- "empty": function( elem ) {
- // http://www.w3.org/TR/selectors/#empty-pseudo
- // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
- // but not by others (comment: 8; processing instruction: 7; etc.)
- // nodeType < 6 works because attributes (2) do not appear as children
- for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
- if ( elem.nodeType < 6 ) {
- return false;
- }
- }
- return true;
- },
-
- "parent": function( elem ) {
- return !Expr.pseudos["empty"]( elem );
- },
-
- // Element/input types
- "header": function( elem ) {
- return rheader.test( elem.nodeName );
- },
-
- "input": function( elem ) {
- return rinputs.test( elem.nodeName );
- },
-
- "button": function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return name === "input" && elem.type === "button" || name === "button";
- },
-
- "text": function( elem ) {
- var attr;
- return elem.nodeName.toLowerCase() === "input" &&
- elem.type === "text" &&
-
- // Support: IE<8
- // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
- ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
- },
-
- // Position-in-collection
- "first": createPositionalPseudo(function() {
- return [ 0 ];
- }),
-
- "last": createPositionalPseudo(function( matchIndexes, length ) {
- return [ length - 1 ];
- }),
-
- "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
- return [ argument < 0 ? argument + length : argument ];
- }),
-
- "even": createPositionalPseudo(function( matchIndexes, length ) {
- var i = 0;
- for ( ; i < length; i += 2 ) {
- matchIndexes.push( i );
- }
- return matchIndexes;
- }),
-
- "odd": createPositionalPseudo(function( matchIndexes, length ) {
- var i = 1;
- for ( ; i < length; i += 2 ) {
- matchIndexes.push( i );
- }
- return matchIndexes;
- }),
-
- "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
- var i = argument < 0 ? argument + length : argument;
- for ( ; --i >= 0; ) {
- matchIndexes.push( i );
- }
- return matchIndexes;
- }),
-
- "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
- var i = argument < 0 ? argument + length : argument;
- for ( ; ++i < length; ) {
- matchIndexes.push( i );
- }
- return matchIndexes;
- })
- }
-};
-
-Expr.pseudos["nth"] = Expr.pseudos["eq"];
-
-// Add button/input type pseudos
-for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
- Expr.pseudos[ i ] = createInputPseudo( i );
-}
-for ( i in { submit: true, reset: true } ) {
- Expr.pseudos[ i ] = createButtonPseudo( i );
-}
-
-// Easy API for creating new setFilters
-function setFilters() {}
-setFilters.prototype = Expr.filters = Expr.pseudos;
-Expr.setFilters = new setFilters();
-
-tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
- var matched, match, tokens, type,
- soFar, groups, preFilters,
- cached = tokenCache[ selector + " " ];
-
- if ( cached ) {
- return parseOnly ? 0 : cached.slice( 0 );
- }
-
- soFar = selector;
- groups = [];
- preFilters = Expr.preFilter;
-
- while ( soFar ) {
-
- // Comma and first run
- if ( !matched || (match = rcomma.exec( soFar )) ) {
- if ( match ) {
- // Don't consume trailing commas as valid
- soFar = soFar.slice( match[0].length ) || soFar;
- }
- groups.push( (tokens = []) );
- }
-
- matched = false;
-
- // Combinators
- if ( (match = rcombinators.exec( soFar )) ) {
- matched = match.shift();
- tokens.push({
- value: matched,
- // Cast descendant combinators to space
- type: match[0].replace( rtrim, " " )
- });
- soFar = soFar.slice( matched.length );
- }
-
- // Filters
- for ( type in Expr.filter ) {
- if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
- (match = preFilters[ type ]( match ))) ) {
- matched = match.shift();
- tokens.push({
- value: matched,
- type: type,
- matches: match
- });
- soFar = soFar.slice( matched.length );
- }
- }
-
- if ( !matched ) {
- break;
- }
- }
-
- // Return the length of the invalid excess
- // if we're just parsing
- // Otherwise, throw an error or return tokens
- return parseOnly ?
- soFar.length :
- soFar ?
- Sizzle.error( selector ) :
- // Cache the tokens
- tokenCache( selector, groups ).slice( 0 );
-};
-
-function toSelector( tokens ) {
- var i = 0,
- len = tokens.length,
- selector = "";
- for ( ; i < len; i++ ) {
- selector += tokens[i].value;
- }
- return selector;
-}
-
-function addCombinator( matcher, combinator, base ) {
- var dir = combinator.dir,
- skip = combinator.next,
- key = skip || dir,
- checkNonElements = base && key === "parentNode",
- doneName = done++;
-
- return combinator.first ?
- // Check against closest ancestor/preceding element
- function( elem, context, xml ) {
- while ( (elem = elem[ dir ]) ) {
- if ( elem.nodeType === 1 || checkNonElements ) {
- return matcher( elem, context, xml );
- }
- }
- return false;
- } :
-
- // Check against all ancestor/preceding elements
- function( elem, context, xml ) {
- var oldCache, uniqueCache, outerCache,
- newCache = [ dirruns, doneName ];
-
- // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
- if ( xml ) {
- while ( (elem = elem[ dir ]) ) {
- if ( elem.nodeType === 1 || checkNonElements ) {
- if ( matcher( elem, context, xml ) ) {
- return true;
- }
- }
- }
- } else {
- while ( (elem = elem[ dir ]) ) {
- if ( elem.nodeType === 1 || checkNonElements ) {
- outerCache = elem[ expando ] || (elem[ expando ] = {});
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
-
- if ( skip && skip === elem.nodeName.toLowerCase() ) {
- elem = elem[ dir ] || elem;
- } else if ( (oldCache = uniqueCache[ key ]) &&
- oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
-
- // Assign to newCache so results back-propagate to previous elements
- return (newCache[ 2 ] = oldCache[ 2 ]);
- } else {
- // Reuse newcache so results back-propagate to previous elements
- uniqueCache[ key ] = newCache;
-
- // A match means we're done; a fail means we have to keep checking
- if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
- return true;
- }
- }
- }
- }
- }
- return false;
- };
-}
-
-function elementMatcher( matchers ) {
- return matchers.length > 1 ?
- function( elem, context, xml ) {
- var i = matchers.length;
- while ( i-- ) {
- if ( !matchers[i]( elem, context, xml ) ) {
- return false;
- }
- }
- return true;
- } :
- matchers[0];
-}
-
-function multipleContexts( selector, contexts, results ) {
- var i = 0,
- len = contexts.length;
- for ( ; i < len; i++ ) {
- Sizzle( selector, contexts[i], results );
- }
- return results;
-}
-
-function condense( unmatched, map, filter, context, xml ) {
- var elem,
- newUnmatched = [],
- i = 0,
- len = unmatched.length,
- mapped = map != null;
-
- for ( ; i < len; i++ ) {
- if ( (elem = unmatched[i]) ) {
- if ( !filter || filter( elem, context, xml ) ) {
- newUnmatched.push( elem );
- if ( mapped ) {
- map.push( i );
- }
- }
- }
- }
-
- return newUnmatched;
-}
-
-function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
- if ( postFilter && !postFilter[ expando ] ) {
- postFilter = setMatcher( postFilter );
- }
- if ( postFinder && !postFinder[ expando ] ) {
- postFinder = setMatcher( postFinder, postSelector );
- }
- return markFunction(function( seed, results, context, xml ) {
- var temp, i, elem,
- preMap = [],
- postMap = [],
- preexisting = results.length,
-
- // Get initial elements from seed or context
- elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
-
- // Prefilter to get matcher input, preserving a map for seed-results synchronization
- matcherIn = preFilter && ( seed || !selector ) ?
- condense( elems, preMap, preFilter, context, xml ) :
- elems,
-
- matcherOut = matcher ?
- // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
- postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
-
- // ...intermediate processing is necessary
- [] :
-
- // ...otherwise use results directly
- results :
- matcherIn;
-
- // Find primary matches
- if ( matcher ) {
- matcher( matcherIn, matcherOut, context, xml );
- }
-
- // Apply postFilter
- if ( postFilter ) {
- temp = condense( matcherOut, postMap );
- postFilter( temp, [], context, xml );
-
- // Un-match failing elements by moving them back to matcherIn
- i = temp.length;
- while ( i-- ) {
- if ( (elem = temp[i]) ) {
- matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
- }
- }
- }
-
- if ( seed ) {
- if ( postFinder || preFilter ) {
- if ( postFinder ) {
- // Get the final matcherOut by condensing this intermediate into postFinder contexts
- temp = [];
- i = matcherOut.length;
- while ( i-- ) {
- if ( (elem = matcherOut[i]) ) {
- // Restore matcherIn since elem is not yet a final match
- temp.push( (matcherIn[i] = elem) );
- }
- }
- postFinder( null, (matcherOut = []), temp, xml );
- }
-
- // Move matched elements from seed to results to keep them synchronized
- i = matcherOut.length;
- while ( i-- ) {
- if ( (elem = matcherOut[i]) &&
- (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
-
- seed[temp] = !(results[temp] = elem);
- }
- }
- }
-
- // Add elements to results, through postFinder if defined
- } else {
- matcherOut = condense(
- matcherOut === results ?
- matcherOut.splice( preexisting, matcherOut.length ) :
- matcherOut
- );
- if ( postFinder ) {
- postFinder( null, results, matcherOut, xml );
- } else {
- push.apply( results, matcherOut );
- }
- }
- });
-}
-
-function matcherFromTokens( tokens ) {
- var checkContext, matcher, j,
- len = tokens.length,
- leadingRelative = Expr.relative[ tokens[0].type ],
- implicitRelative = leadingRelative || Expr.relative[" "],
- i = leadingRelative ? 1 : 0,
-
- // The foundational matcher ensures that elements are reachable from top-level context(s)
- matchContext = addCombinator( function( elem ) {
- return elem === checkContext;
- }, implicitRelative, true ),
- matchAnyContext = addCombinator( function( elem ) {
- return indexOf( checkContext, elem ) > -1;
- }, implicitRelative, true ),
- matchers = [ function( elem, context, xml ) {
- var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
- (checkContext = context).nodeType ?
- matchContext( elem, context, xml ) :
- matchAnyContext( elem, context, xml ) );
- // Avoid hanging onto element (issue #299)
- checkContext = null;
- return ret;
- } ];
-
- for ( ; i < len; i++ ) {
- if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
- matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
- } else {
- matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
-
- // Return special upon seeing a positional matcher
- if ( matcher[ expando ] ) {
- // Find the next relative operator (if any) for proper handling
- j = ++i;
- for ( ; j < len; j++ ) {
- if ( Expr.relative[ tokens[j].type ] ) {
- break;
- }
- }
- return setMatcher(
- i > 1 && elementMatcher( matchers ),
- i > 1 && toSelector(
- // If the preceding token was a descendant combinator, insert an implicit any-element `*`
- tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
- ).replace( rtrim, "$1" ),
- matcher,
- i < j && matcherFromTokens( tokens.slice( i, j ) ),
- j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
- j < len && toSelector( tokens )
- );
- }
- matchers.push( matcher );
- }
- }
-
- return elementMatcher( matchers );
-}
-
-function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
- var bySet = setMatchers.length > 0,
- byElement = elementMatchers.length > 0,
- superMatcher = function( seed, context, xml, results, outermost ) {
- var elem, j, matcher,
- matchedCount = 0,
- i = "0",
- unmatched = seed && [],
- setMatched = [],
- contextBackup = outermostContext,
- // We must always have either seed elements or outermost context
- elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
- // Use integer dirruns iff this is the outermost matcher
- dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
- len = elems.length;
-
- if ( outermost ) {
- outermostContext = context === document || context || outermost;
- }
-
- // Add elements passing elementMatchers directly to results
- // Support: IE<9, Safari
- // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
- for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
- if ( byElement && elem ) {
- j = 0;
- if ( !context && elem.ownerDocument !== document ) {
- setDocument( elem );
- xml = !documentIsHTML;
- }
- while ( (matcher = elementMatchers[j++]) ) {
- if ( matcher( elem, context || document, xml) ) {
- results.push( elem );
- break;
- }
- }
- if ( outermost ) {
- dirruns = dirrunsUnique;
- }
- }
-
- // Track unmatched elements for set filters
- if ( bySet ) {
- // They will have gone through all possible matchers
- if ( (elem = !matcher && elem) ) {
- matchedCount--;
- }
-
- // Lengthen the array for every element, matched or not
- if ( seed ) {
- unmatched.push( elem );
- }
- }
- }
-
- // `i` is now the count of elements visited above, and adding it to `matchedCount`
- // makes the latter nonnegative.
- matchedCount += i;
-
- // Apply set filters to unmatched elements
- // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
- // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
- // no element matchers and no seed.
- // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
- // case, which will result in a "00" `matchedCount` that differs from `i` but is also
- // numerically zero.
- if ( bySet && i !== matchedCount ) {
- j = 0;
- while ( (matcher = setMatchers[j++]) ) {
- matcher( unmatched, setMatched, context, xml );
- }
-
- if ( seed ) {
- // Reintegrate element matches to eliminate the need for sorting
- if ( matchedCount > 0 ) {
- while ( i-- ) {
- if ( !(unmatched[i] || setMatched[i]) ) {
- setMatched[i] = pop.call( results );
- }
- }
- }
-
- // Discard index placeholder values to get only actual matches
- setMatched = condense( setMatched );
- }
-
- // Add matches to results
- push.apply( results, setMatched );
-
- // Seedless set matches succeeding multiple successful matchers stipulate sorting
- if ( outermost && !seed && setMatched.length > 0 &&
- ( matchedCount + setMatchers.length ) > 1 ) {
-
- Sizzle.uniqueSort( results );
- }
- }
-
- // Override manipulation of globals by nested matchers
- if ( outermost ) {
- dirruns = dirrunsUnique;
- outermostContext = contextBackup;
- }
-
- return unmatched;
- };
-
- return bySet ?
- markFunction( superMatcher ) :
- superMatcher;
-}
-
-compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
- var i,
- setMatchers = [],
- elementMatchers = [],
- cached = compilerCache[ selector + " " ];
-
- if ( !cached ) {
- // Generate a function of recursive functions that can be used to check each element
- if ( !match ) {
- match = tokenize( selector );
- }
- i = match.length;
- while ( i-- ) {
- cached = matcherFromTokens( match[i] );
- if ( cached[ expando ] ) {
- setMatchers.push( cached );
- } else {
- elementMatchers.push( cached );
- }
- }
-
- // Cache the compiled function
- cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
-
- // Save selector and tokenization
- cached.selector = selector;
- }
- return cached;
-};
-
-/**
- * A low-level selection function that works with Sizzle's compiled
- * selector functions
- * @param {String|Function} selector A selector or a pre-compiled
- * selector function built with Sizzle.compile
- * @param {Element} context
- * @param {Array} [results]
- * @param {Array} [seed] A set of elements to match against
- */
-select = Sizzle.select = function( selector, context, results, seed ) {
- var i, tokens, token, type, find,
- compiled = typeof selector === "function" && selector,
- match = !seed && tokenize( (selector = compiled.selector || selector) );
-
- results = results || [];
-
- // Try to minimize operations if there is only one selector in the list and no seed
- // (the latter of which guarantees us context)
- if ( match.length === 1 ) {
-
- // Reduce context if the leading compound selector is an ID
- tokens = match[0] = match[0].slice( 0 );
- if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
- context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
-
- context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
- if ( !context ) {
- return results;
-
- // Precompiled matchers will still verify ancestry, so step up a level
- } else if ( compiled ) {
- context = context.parentNode;
- }
-
- selector = selector.slice( tokens.shift().value.length );
- }
-
- // Fetch a seed set for right-to-left matching
- i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
- while ( i-- ) {
- token = tokens[i];
-
- // Abort if we hit a combinator
- if ( Expr.relative[ (type = token.type) ] ) {
- break;
- }
- if ( (find = Expr.find[ type ]) ) {
- // Search, expanding context for leading sibling combinators
- if ( (seed = find(
- token.matches[0].replace( runescape, funescape ),
- rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
- )) ) {
-
- // If seed is empty or no tokens remain, we can return early
- tokens.splice( i, 1 );
- selector = seed.length && toSelector( tokens );
- if ( !selector ) {
- push.apply( results, seed );
- return results;
- }
-
- break;
- }
- }
- }
- }
-
- // Compile and execute a filtering function if one is not provided
- // Provide `match` to avoid retokenization if we modified the selector above
- ( compiled || compile( selector, match ) )(
- seed,
- context,
- !documentIsHTML,
- results,
- !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
- );
- return results;
-};
-
-// One-time assignments
-
-// Sort stability
-support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
-
-// Support: Chrome 14-35+
-// Always assume duplicates if they aren't passed to the comparison function
-support.detectDuplicates = !!hasDuplicate;
-
-// Initialize against the default document
-setDocument();
-
-// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
-// Detached nodes confoundingly follow *each other*
-support.sortDetached = assert(function( el ) {
- // Should return 1, but returns 4 (following)
- return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
-});
-
-// Support: IE<8
-// Prevent attribute/property "interpolation"
-// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
-if ( !assert(function( el ) {
- el.innerHTML = "<a href='#'></a>";
- return el.firstChild.getAttribute("href") === "#" ;
-}) ) {
- addHandle( "type|href|height|width", function( elem, name, isXML ) {
- if ( !isXML ) {
- return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
- }
- });
-}
-
-// Support: IE<9
-// Use defaultValue in place of getAttribute("value")
-if ( !support.attributes || !assert(function( el ) {
- el.innerHTML = "<input/>";
- el.firstChild.setAttribute( "value", "" );
- return el.firstChild.getAttribute( "value" ) === "";
-}) ) {
- addHandle( "value", function( elem, name, isXML ) {
- if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
- return elem.defaultValue;
- }
- });
-}
-
-// Support: IE<9
-// Use getAttributeNode to fetch booleans when getAttribute lies
-if ( !assert(function( el ) {
- return el.getAttribute("disabled") == null;
-}) ) {
- addHandle( booleans, function( elem, name, isXML ) {
- var val;
- if ( !isXML ) {
- return elem[ name ] === true ? name.toLowerCase() :
- (val = elem.getAttributeNode( name )) && val.specified ?
- val.value :
- null;
- }
- });
-}
-
-return Sizzle;
-
-})( window );
-
-
-
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
-
-// Deprecated
-jQuery.expr[ ":" ] = jQuery.expr.pseudos;
-jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = Sizzle.getText;
-jQuery.isXMLDoc = Sizzle.isXML;
-jQuery.contains = Sizzle.contains;
-jQuery.escapeSelector = Sizzle.escape;
-
-
-
-
-var dir = function( elem, dir, until ) {
- var matched = [],
- truncate = until !== undefined;
-
- while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
- if ( elem.nodeType === 1 ) {
- if ( truncate && jQuery( elem ).is( until ) ) {
- break;
- }
- matched.push( elem );
- }
- }
- return matched;
-};
-
-
-var siblings = function( n, elem ) {
- var matched = [];
-
- for ( ; n; n = n.nextSibling ) {
- if ( n.nodeType === 1 && n !== elem ) {
- matched.push( n );
- }
- }
-
- return matched;
-};
-
-
-var rneedsContext = jQuery.expr.match.needsContext;
-
-
-
-function nodeName( elem, name ) {
-
- return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
-
-};
-var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
-
-
-
-var risSimple = /^.[^:#\[\.,]*$/;
-
-// Implement the identical functionality for filter and not
-function winnow( elements, qualifier, not ) {
- if ( jQuery.isFunction( qualifier ) ) {
- return jQuery.grep( elements, function( elem, i ) {
- return !!qualifier.call( elem, i, elem ) !== not;
- } );
- }
-
- // Single element
- if ( qualifier.nodeType ) {
- return jQuery.grep( elements, function( elem ) {
- return ( elem === qualifier ) !== not;
- } );
- }
-
- // Arraylike of elements (jQuery, arguments, Array)
- if ( typeof qualifier !== "string" ) {
- return jQuery.grep( elements, function( elem ) {
- return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
- } );
- }
-
- // Simple selector that can be filtered directly, removing non-Elements
- if ( risSimple.test( qualifier ) ) {
- return jQuery.filter( qualifier, elements, not );
- }
-
- // Complex selector, compare the two sets, removing non-Elements
- qualifier = jQuery.filter( qualifier, elements );
- return jQuery.grep( elements, function( elem ) {
- return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
- } );
-}
-
-jQuery.filter = function( expr, elems, not ) {
- var elem = elems[ 0 ];
-
- if ( not ) {
- expr = ":not(" + expr + ")";
- }
-
- if ( elems.length === 1 && elem.nodeType === 1 ) {
- return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
- }
-
- return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
- return elem.nodeType === 1;
- } ) );
-};
-
-jQuery.fn.extend( {
- find: function( selector ) {
- var i, ret,
- len = this.length,
- self = this;
-
- if ( typeof selector !== "string" ) {
- return this.pushStack( jQuery( selector ).filter( function() {
- for ( i = 0; i < len; i++ ) {
- if ( jQuery.contains( self[ i ], this ) ) {
- return true;
- }
- }
- } ) );
- }
-
- ret = this.pushStack( [] );
-
- for ( i = 0; i < len; i++ ) {
- jQuery.find( selector, self[ i ], ret );
- }
-
- return len > 1 ? jQuery.uniqueSort( ret ) : ret;
- },
- filter: function( selector ) {
- return this.pushStack( winnow( this, selector || [], false ) );
- },
- not: function( selector ) {
- return this.pushStack( winnow( this, selector || [], true ) );
- },
- is: function( selector ) {
- return !!winnow(
- this,
-
- // If this is a positional/relative selector, check membership in the returned set
- // so $("p:first").is("p:last") won't return true for a doc with two "p".
- typeof selector === "string" && rneedsContext.test( selector ) ?
- jQuery( selector ) :
- selector || [],
- false
- ).length;
- }
-} );
-
-
-// Initialize a jQuery object
-
-
-// A central reference to the root jQuery(document)
-var rootjQuery,
-
- // A simple way to check for HTML strings
- // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
- // Strict HTML recognition (#11290: must start with <)
- // Shortcut simple #id case for speed
- rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
-
- init = jQuery.fn.init = function( selector, context, root ) {
- var match, elem;
-
- // HANDLE: $(""), $(null), $(undefined), $(false)
- if ( !selector ) {
- return this;
- }
-
- // Method init() accepts an alternate rootjQuery
- // so migrate can support jQuery.sub (gh-2101)
- root = root || rootjQuery;
-
- // Handle HTML strings
- if ( typeof selector === "string" ) {
- if ( selector[ 0 ] === "<" &&
- selector[ selector.length - 1 ] === ">" &&
- selector.length >= 3 ) {
-
- // Assume that strings that start and end with <> are HTML and skip the regex check
- match = [ null, selector, null ];
-
- } else {
- match = rquickExpr.exec( selector );
- }
-
- // Match html or make sure no context is specified for #id
- if ( match && ( match[ 1 ] || !context ) ) {
-
- // HANDLE: $(html) -> $(array)
- if ( match[ 1 ] ) {
- context = context instanceof jQuery ? context[ 0 ] : context;
-
- // Option to run scripts is true for back-compat
- // Intentionally let the error be thrown if parseHTML is not present
- jQuery.merge( this, jQuery.parseHTML(
- match[ 1 ],
- context && context.nodeType ? context.ownerDocument || context : document,
- true
- ) );
-
- // HANDLE: $(html, props)
- if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
- for ( match in context ) {
-
- // Properties of context are called as methods if possible
- if ( jQuery.isFunction( this[ match ] ) ) {
- this[ match ]( context[ match ] );
-
- // ...and otherwise set as attributes
- } else {
- this.attr( match, context[ match ] );
- }
- }
- }
-
- return this;
-
- // HANDLE: $(#id)
- } else {
- elem = document.getElementById( match[ 2 ] );
-
- if ( elem ) {
-
- // Inject the element directly into the jQuery object
- this[ 0 ] = elem;
- this.length = 1;
- }
- return this;
- }
-
- // HANDLE: $(expr, $(...))
- } else if ( !context || context.jquery ) {
- return ( context || root ).find( selector );
-
- // HANDLE: $(expr, context)
- // (which is just equivalent to: $(context).find(expr)
- } else {
- return this.constructor( context ).find( selector );
- }
-
- // HANDLE: $(DOMElement)
- } else if ( selector.nodeType ) {
- this[ 0 ] = selector;
- this.length = 1;
- return this;
-
- // HANDLE: $(function)
- // Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) ) {
- return root.ready !== undefined ?
- root.ready( selector ) :
-
- // Execute immediately if ready is not present
- selector( jQuery );
- }
-
- return jQuery.makeArray( selector, this );
- };
-
-// Give the init function the jQuery prototype for later instantiation
-init.prototype = jQuery.fn;
-
-// Initialize central reference
-rootjQuery = jQuery( document );
-
-
-var rparentsprev = /^(?:parents|prev(?:Until|All))/,
-
- // Methods guaranteed to produce a unique set when starting from a unique set
- guaranteedUnique = {
- children: true,
- contents: true,
- next: true,
- prev: true
- };
-
-jQuery.fn.extend( {
- has: function( target ) {
- var targets = jQuery( target, this ),
- l = targets.length;
-
- return this.filter( function() {
- var i = 0;
- for ( ; i < l; i++ ) {
- if ( jQuery.contains( this, targets[ i ] ) ) {
- return true;
- }
- }
- } );
- },
-
- closest: function( selectors, context ) {
- var cur,
- i = 0,
- l = this.length,
- matched = [],
- targets = typeof selectors !== "string" && jQuery( selectors );
-
- // Positional selectors never match, since there's no _selection_ context
- if ( !rneedsContext.test( selectors ) ) {
- for ( ; i < l; i++ ) {
- for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
-
- // Always skip document fragments
- if ( cur.nodeType < 11 && ( targets ?
- targets.index( cur ) > -1 :
-
- // Don't pass non-elements to Sizzle
- cur.nodeType === 1 &&
- jQuery.find.matchesSelector( cur, selectors ) ) ) {
-
- matched.push( cur );
- break;
- }
- }
- }
- }
-
- return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
- },
-
- // Determine the position of an element within the set
- index: function( elem ) {
-
- // No argument, return index in parent
- if ( !elem ) {
- return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
- }
-
- // Index in selector
- if ( typeof elem === "string" ) {
- return indexOf.call( jQuery( elem ), this[ 0 ] );
- }
-
- // Locate the position of the desired element
- return indexOf.call( this,
-
- // If it receives a jQuery object, the first element is used
- elem.jquery ? elem[ 0 ] : elem
- );
- },
-
- add: function( selector, context ) {
- return this.pushStack(
- jQuery.uniqueSort(
- jQuery.merge( this.get(), jQuery( selector, context ) )
- )
- );
- },
-
- addBack: function( selector ) {
- return this.add( selector == null ?
- this.prevObject : this.prevObject.filter( selector )
- );
- }
-} );
-
-function sibling( cur, dir ) {
- while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
- return cur;
-}
-
-jQuery.each( {
- parent: function( elem ) {
- var parent = elem.parentNode;
- return parent && parent.nodeType !== 11 ? parent : null;
- },
- parents: function( elem ) {
- return dir( elem, "parentNode" );
- },
- parentsUntil: function( elem, i, until ) {
- return dir( elem, "parentNode", until );
- },
- next: function( elem ) {
- return sibling( elem, "nextSibling" );
- },
- prev: function( elem ) {
- return sibling( elem, "previousSibling" );
- },
- nextAll: function( elem ) {
- return dir( elem, "nextSibling" );
- },
- prevAll: function( elem ) {
- return dir( elem, "previousSibling" );
- },
- nextUntil: function( elem, i, until ) {
- return dir( elem, "nextSibling", until );
- },
- prevUntil: function( elem, i, until ) {
- return dir( elem, "previousSibling", until );
- },
- siblings: function( elem ) {
- return siblings( ( elem.parentNode || {} ).firstChild, elem );
- },
- children: function( elem ) {
- return siblings( elem.firstChild );
- },
- contents: function( elem ) {
- if ( nodeName( elem, "iframe" ) ) {
- return elem.contentDocument;
- }
-
- // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
- // Treat the template element as a regular one in browsers that
- // don't support it.
- if ( nodeName( elem, "template" ) ) {
- elem = elem.content || elem;
- }
-
- return jQuery.merge( [], elem.childNodes );
- }
-}, function( name, fn ) {
- jQuery.fn[ name ] = function( until, selector ) {
- var matched = jQuery.map( this, fn, until );
-
- if ( name.slice( -5 ) !== "Until" ) {
- selector = until;
- }
-
- if ( selector && typeof selector === "string" ) {
- matched = jQuery.filter( selector, matched );
- }
-
- if ( this.length > 1 ) {
-
- // Remove duplicates
- if ( !guaranteedUnique[ name ] ) {
- jQuery.uniqueSort( matched );
- }
-
- // Reverse order for parents* and prev-derivatives
- if ( rparentsprev.test( name ) ) {
- matched.reverse();
- }
- }
-
- return this.pushStack( matched );
- };
-} );
-var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
-
-
-
-// Convert String-formatted options into Object-formatted ones
-function createOptions( options ) {
- var object = {};
- jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
- object[ flag ] = true;
- } );
- return object;
-}
-
-/*
- * Create a callback list using the following parameters:
- *
- * options: an optional list of space-separated options that will change how
- * the callback list behaves or a more traditional option object
- *
- * By default a callback list will act like an event callback list and can be
- * "fired" multiple times.
- *
- * Possible options:
- *
- * once: will ensure the callback list can only be fired once (like a Deferred)
- *
- * memory: will keep track of previous values and will call any callback added
- * after the list has been fired right away with the latest "memorized"
- * values (like a Deferred)
- *
- * unique: will ensure a callback can only be added once (no duplicate in the list)
- *
- * stopOnFalse: interrupt callings when a callback returns false
- *
- */
-jQuery.Callbacks = function( options ) {
-
- // Convert options from String-formatted to Object-formatted if needed
- // (we check in cache first)
- options = typeof options === "string" ?
- createOptions( options ) :
- jQuery.extend( {}, options );
-
- var // Flag to know if list is currently firing
- firing,
-
- // Last fire value for non-forgettable lists
- memory,
-
- // Flag to know if list was already fired
- fired,
-
- // Flag to prevent firing
- locked,
-
- // Actual callback list
- list = [],
-
- // Queue of execution data for repeatable lists
- queue = [],
-
- // Index of currently firing callback (modified by add/remove as needed)
- firingIndex = -1,
-
- // Fire callbacks
- fire = function() {
-
- // Enforce single-firing
- locked = locked || options.once;
-
- // Execute callbacks for all pending executions,
- // respecting firingIndex overrides and runtime changes
- fired = firing = true;
- for ( ; queue.length; firingIndex = -1 ) {
- memory = queue.shift();
- while ( ++firingIndex < list.length ) {
-
- // Run callback and check for early termination
- if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
- options.stopOnFalse ) {
-
- // Jump to end and forget the data so .add doesn't re-fire
- firingIndex = list.length;
- memory = false;
- }
- }
- }
-
- // Forget the data if we're done with it
- if ( !options.memory ) {
- memory = false;
- }
-
- firing = false;
-
- // Clean up if we're done firing for good
- if ( locked ) {
-
- // Keep an empty list if we have data for future add calls
- if ( memory ) {
- list = [];
-
- // Otherwise, this object is spent
- } else {
- list = "";
- }
- }
- },
-
- // Actual Callbacks object
- self = {
-
- // Add a callback or a collection of callbacks to the list
- add: function() {
- if ( list ) {
-
- // If we have memory from a past run, we should fire after adding
- if ( memory && !firing ) {
- firingIndex = list.length - 1;
- queue.push( memory );
- }
-
- ( function add( args ) {
- jQuery.each( args, function( _, arg ) {
- if ( jQuery.isFunction( arg ) ) {
- if ( !options.unique || !self.has( arg ) ) {
- list.push( arg );
- }
- } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
-
- // Inspect recursively
- add( arg );
- }
- } );
- } )( arguments );
-
- if ( memory && !firing ) {
- fire();
- }
- }
- return this;
- },
-
- // Remove a callback from the list
- remove: function() {
- jQuery.each( arguments, function( _, arg ) {
- var index;
- while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
- list.splice( index, 1 );
-
- // Handle firing indexes
- if ( index <= firingIndex ) {
- firingIndex--;
- }
- }
- } );
- return this;
- },
-
- // Check if a given callback is in the list.
- // If no argument is given, return whether or not list has callbacks attached.
- has: function( fn ) {
- return fn ?
- jQuery.inArray( fn, list ) > -1 :
- list.length > 0;
- },
-
- // Remove all callbacks from the list
- empty: function() {
- if ( list ) {
- list = [];
- }
- return this;
- },
-
- // Disable .fire and .add
- // Abort any current/pending executions
- // Clear all callbacks and values
- disable: function() {
- locked = queue = [];
- list = memory = "";
- return this;
- },
- disabled: function() {
- return !list;
- },
-
- // Disable .fire
- // Also disable .add unless we have memory (since it would have no effect)
- // Abort any pending executions
- lock: function() {
- locked = queue = [];
- if ( !memory && !firing ) {
- list = memory = "";
- }
- return this;
- },
- locked: function() {
- return !!locked;
- },
-
- // Call all callbacks with the given context and arguments
- fireWith: function( context, args ) {
- if ( !locked ) {
- args = args || [];
- args = [ context, args.slice ? args.slice() : args ];
- queue.push( args );
- if ( !firing ) {
- fire();
- }
- }
- return this;
- },
-
- // Call all the callbacks with the given arguments
- fire: function() {
- self.fireWith( this, arguments );
- return this;
- },
-
- // To know if the callbacks have already been called at least once
- fired: function() {
- return !!fired;
- }
- };
-
- return self;
-};
-
-
-function Identity( v ) {
- return v;
-}
-function Thrower( ex ) {
- throw ex;
-}
-
-function adoptValue( value, resolve, reject, noValue ) {
- var method;
-
- try {
-
- // Check for promise aspect first to privilege synchronous behavior
- if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {
- method.call( value ).done( resolve ).fail( reject );
-
- // Other thenables
- } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {
- method.call( value, resolve, reject );
-
- // Other non-thenables
- } else {
-
- // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
- // * false: [ value ].slice( 0 ) => resolve( value )
- // * true: [ value ].slice( 1 ) => resolve()
- resolve.apply( undefined, [ value ].slice( noValue ) );
- }
-
- // For Promises/A+, convert exceptions into rejections
- // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
- // Deferred#then to conditionally suppress rejection.
- } catch ( value ) {
-
- // Support: Android 4.0 only
- // Strict mode functions invoked without .call/.apply get global-object context
- reject.apply( undefined, [ value ] );
- }
-}
-
-jQuery.extend( {
-
- Deferred: function( func ) {
- var tuples = [
-
- // action, add listener, callbacks,
- // ... .then handlers, argument index, [final state]
- [ "notify", "progress", jQuery.Callbacks( "memory" ),
- jQuery.Callbacks( "memory" ), 2 ],
- [ "resolve", "done", jQuery.Callbacks( "once memory" ),
- jQuery.Callbacks( "once memory" ), 0, "resolved" ],
- [ "reject", "fail", jQuery.Callbacks( "once memory" ),
- jQuery.Callbacks( "once memory" ), 1, "rejected" ]
- ],
- state = "pending",
- promise = {
- state: function() {
- return state;
- },
- always: function() {
- deferred.done( arguments ).fail( arguments );
- return this;
- },
- "catch": function( fn ) {
- return promise.then( null, fn );
- },
-
- // Keep pipe for back-compat
- pipe: function( /* fnDone, fnFail, fnProgress */ ) {
- var fns = arguments;
-
- return jQuery.Deferred( function( newDefer ) {
- jQuery.each( tuples, function( i, tuple ) {
-
- // Map tuples (progress, done, fail) to arguments (done, fail, progress)
- var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
-
- // deferred.progress(function() { bind to newDefer or newDefer.notify })
- // deferred.done(function() { bind to newDefer or newDefer.resolve })
- // deferred.fail(function() { bind to newDefer or newDefer.reject })
- deferred[ tuple[ 1 ] ]( function() {
- var returned = fn && fn.apply( this, arguments );
- if ( returned && jQuery.isFunction( returned.promise ) ) {
- returned.promise()
- .progress( newDefer.notify )
- .done( newDefer.resolve )
- .fail( newDefer.reject );
- } else {
- newDefer[ tuple[ 0 ] + "With" ](
- this,
- fn ? [ returned ] : arguments
- );
- }
- } );
- } );
- fns = null;
- } ).promise();
- },
- then: function( onFulfilled, onRejected, onProgress ) {
- var maxDepth = 0;
- function resolve( depth, deferred, handler, special ) {
- return function() {
- var that = this,
- args = arguments,
- mightThrow = function() {
- var returned, then;
-
- // Support: Promises/A+ section 2.3.3.3.3
- // https://promisesaplus.com/#point-59
- // Ignore double-resolution attempts
- if ( depth < maxDepth ) {
- return;
- }
-
- returned = handler.apply( that, args );
-
- // Support: Promises/A+ section 2.3.1
- // https://promisesaplus.com/#point-48
- if ( returned === deferred.promise() ) {
- throw new TypeError( "Thenable self-resolution" );
- }
-
- // Support: Promises/A+ sections 2.3.3.1, 3.5
- // https://promisesaplus.com/#point-54
- // https://promisesaplus.com/#point-75
- // Retrieve `then` only once
- then = returned &&
-
- // Support: Promises/A+ section 2.3.4
- // https://promisesaplus.com/#point-64
- // Only check objects and functions for thenability
- ( typeof returned === "object" ||
- typeof returned === "function" ) &&
- returned.then;
-
- // Handle a returned thenable
- if ( jQuery.isFunction( then ) ) {
-
- // Special processors (notify) just wait for resolution
- if ( special ) {
- then.call(
- returned,
- resolve( maxDepth, deferred, Identity, special ),
- resolve( maxDepth, deferred, Thrower, special )
- );
-
- // Normal processors (resolve) also hook into progress
- } else {
-
- // ...and disregard older resolution values
- maxDepth++;
-
- then.call(
- returned,
- resolve( maxDepth, deferred, Identity, special ),
- resolve( maxDepth, deferred, Thrower, special ),
- resolve( maxDepth, deferred, Identity,
- deferred.notifyWith )
- );
- }
-
- // Handle all other returned values
- } else {
-
- // Only substitute handlers pass on context
- // and multiple values (non-spec behavior)
- if ( handler !== Identity ) {
- that = undefined;
- args = [ returned ];
- }
-
- // Process the value(s)
- // Default process is resolve
- ( special || deferred.resolveWith )( that, args );
- }
- },
-
- // Only normal processors (resolve) catch and reject exceptions
- process = special ?
- mightThrow :
- function() {
- try {
- mightThrow();
- } catch ( e ) {
-
- if ( jQuery.Deferred.exceptionHook ) {
- jQuery.Deferred.exceptionHook( e,
- process.stackTrace );
- }
-
- // Support: Promises/A+ section 2.3.3.3.4.1
- // https://promisesaplus.com/#point-61
- // Ignore post-resolution exceptions
- if ( depth + 1 >= maxDepth ) {
-
- // Only substitute handlers pass on context
- // and multiple values (non-spec behavior)
- if ( handler !== Thrower ) {
- that = undefined;
- args = [ e ];
- }
-
- deferred.rejectWith( that, args );
- }
- }
- };
-
- // Support: Promises/A+ section 2.3.3.3.1
- // https://promisesaplus.com/#point-57
- // Re-resolve promises immediately to dodge false rejection from
- // subsequent errors
- if ( depth ) {
- process();
- } else {
-
- // Call an optional hook to record the stack, in case of exception
- // since it's otherwise lost when execution goes async
- if ( jQuery.Deferred.getStackHook ) {
- process.stackTrace = jQuery.Deferred.getStackHook();
- }
- window.setTimeout( process );
- }
- };
- }
-
- return jQuery.Deferred( function( newDefer ) {
-
- // progress_handlers.add( ... )
- tuples[ 0 ][ 3 ].add(
- resolve(
- 0,
- newDefer,
- jQuery.isFunction( onProgress ) ?
- onProgress :
- Identity,
- newDefer.notifyWith
- )
- );
-
- // fulfilled_handlers.add( ... )
- tuples[ 1 ][ 3 ].add(
- resolve(
- 0,
- newDefer,
- jQuery.isFunction( onFulfilled ) ?
- onFulfilled :
- Identity
- )
- );
-
- // rejected_handlers.add( ... )
- tuples[ 2 ][ 3 ].add(
- resolve(
- 0,
- newDefer,
- jQuery.isFunction( onRejected ) ?
- onRejected :
- Thrower
- )
- );
- } ).promise();
- },
-
- // Get a promise for this deferred
- // If obj is provided, the promise aspect is added to the object
- promise: function( obj ) {
- return obj != null ? jQuery.extend( obj, promise ) : promise;
- }
- },
- deferred = {};
-
- // Add list-specific methods
- jQuery.each( tuples, function( i, tuple ) {
- var list = tuple[ 2 ],
- stateString = tuple[ 5 ];
-
- // promise.progress = list.add
- // promise.done = list.add
- // promise.fail = list.add
- promise[ tuple[ 1 ] ] = list.add;
-
- // Handle state
- if ( stateString ) {
- list.add(
- function() {
-
- // state = "resolved" (i.e., fulfilled)
- // state = "rejected"
- state = stateString;
- },
-
- // rejected_callbacks.disable
- // fulfilled_callbacks.disable
- tuples[ 3 - i ][ 2 ].disable,
-
- // progress_callbacks.lock
- tuples[ 0 ][ 2 ].lock
- );
- }
-
- // progress_handlers.fire
- // fulfilled_handlers.fire
- // rejected_handlers.fire
- list.add( tuple[ 3 ].fire );
-
- // deferred.notify = function() { deferred.notifyWith(...) }
- // deferred.resolve = function() { deferred.resolveWith(...) }
- // deferred.reject = function() { deferred.rejectWith(...) }
- deferred[ tuple[ 0 ] ] = function() {
- deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
- return this;
- };
-
- // deferred.notifyWith = list.fireWith
- // deferred.resolveWith = list.fireWith
- // deferred.rejectWith = list.fireWith
- deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
- } );
-
- // Make the deferred a promise
- promise.promise( deferred );
-
- // Call given func if any
- if ( func ) {
- func.call( deferred, deferred );
- }
-
- // All done!
- return deferred;
- },
-
- // Deferred helper
- when: function( singleValue ) {
- var
-
- // count of uncompleted subordinates
- remaining = arguments.length,
-
- // count of unprocessed arguments
- i = remaining,
-
- // subordinate fulfillment data
- resolveContexts = Array( i ),
- resolveValues = slice.call( arguments ),
-
- // the master Deferred
- master = jQuery.Deferred(),
-
- // subordinate callback factory
- updateFunc = function( i ) {
- return function( value ) {
- resolveContexts[ i ] = this;
- resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
- if ( !( --remaining ) ) {
- master.resolveWith( resolveContexts, resolveValues );
- }
- };
- };
-
- // Single- and empty arguments are adopted like Promise.resolve
- if ( remaining <= 1 ) {
- adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
- !remaining );
-
- // Use .then() to unwrap secondary thenables (cf. gh-3000)
- if ( master.state() === "pending" ||
- jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
-
- return master.then();
- }
- }
-
- // Multiple arguments are aggregated like Promise.all array elements
- while ( i-- ) {
- adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
- }
-
- return master.promise();
- }
-} );
-
-
-// These usually indicate a programmer mistake during development,
-// warn about them ASAP rather than swallowing them by default.
-var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
-
-jQuery.Deferred.exceptionHook = function( error, stack ) {
-
- // Support: IE 8 - 9 only
- // Console exists when dev tools are open, which can happen at any time
- if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
- window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
- }
-};
-
-
-
-
-jQuery.readyException = function( error ) {
- window.setTimeout( function() {
- throw error;
- } );
-};
-
-
-
-
-// The deferred used on DOM ready
-var readyList = jQuery.Deferred();
-
-jQuery.fn.ready = function( fn ) {
-
- readyList
- .then( fn )
-
- // Wrap jQuery.readyException in a function so that the lookup
- // happens at the time of error handling instead of callback
- // registration.
- .catch( function( error ) {
- jQuery.readyException( error );
- } );
-
- return this;
-};
-
-jQuery.extend( {
-
- // Is the DOM ready to be used? Set to true once it occurs.
- isReady: false,
-
- // A counter to track how many items to wait for before
- // the ready event fires. See #6781
- readyWait: 1,
-
- // Handle when the DOM is ready
- ready: function( wait ) {
-
- // Abort if there are pending holds or we're already ready
- if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
- return;
- }
-
- // Remember that the DOM is ready
- jQuery.isReady = true;
-
- // If a normal DOM Ready event fired, decrement, and wait if need be
- if ( wait !== true && --jQuery.readyWait > 0 ) {
- return;
- }
-
- // If there are functions bound, to execute
- readyList.resolveWith( document, [ jQuery ] );
- }
-} );
-
-jQuery.ready.then = readyList.then;
-
-// The ready event handler and self cleanup method
-function completed() {
- document.removeEventListener( "DOMContentLoaded", completed );
- window.removeEventListener( "load", completed );
- jQuery.ready();
-}
-
-// Catch cases where $(document).ready() is called
-// after the browser event has already occurred.
-// Support: IE <=9 - 10 only
-// Older IE sometimes signals "interactive" too soon
-if ( document.readyState === "complete" ||
- ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
-
- // Handle it asynchronously to allow scripts the opportunity to delay ready
- window.setTimeout( jQuery.ready );
-
-} else {
-
- // Use the handy event callback
- document.addEventListener( "DOMContentLoaded", completed );
-
- // A fallback to window.onload, that will always work
- window.addEventListener( "load", completed );
-}
-
-
-
-
-// Multifunctional method to get and set values of a collection
-// The value/s can optionally be executed if it's a function
-var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
- var i = 0,
- len = elems.length,
- bulk = key == null;
-
- // Sets many values
- if ( jQuery.type( key ) === "object" ) {
- chainable = true;
- for ( i in key ) {
- access( elems, fn, i, key[ i ], true, emptyGet, raw );
- }
-
- // Sets one value
- } else if ( value !== undefined ) {
- chainable = true;
-
- if ( !jQuery.isFunction( value ) ) {
- raw = true;
- }
-
- if ( bulk ) {
-
- // Bulk operations run against the entire set
- if ( raw ) {
- fn.call( elems, value );
- fn = null;
-
- // ...except when executing function values
- } else {
- bulk = fn;
- fn = function( elem, key, value ) {
- return bulk.call( jQuery( elem ), value );
- };
- }
- }
-
- if ( fn ) {
- for ( ; i < len; i++ ) {
- fn(
- elems[ i ], key, raw ?
- value :
- value.call( elems[ i ], i, fn( elems[ i ], key ) )
- );
- }
- }
- }
-
- if ( chainable ) {
- return elems;
- }
-
- // Gets
- if ( bulk ) {
- return fn.call( elems );
- }
-
- return len ? fn( elems[ 0 ], key ) : emptyGet;
-};
-var acceptData = function( owner ) {
-
- // Accepts only:
- // - Node
- // - Node.ELEMENT_NODE
- // - Node.DOCUMENT_NODE
- // - Object
- // - Any
- return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
-};
-
-
-
-
-function Data() {
- this.expando = jQuery.expando + Data.uid++;
-}
-
-Data.uid = 1;
-
-Data.prototype = {
-
- cache: function( owner ) {
-
- // Check if the owner object already has a cache
- var value = owner[ this.expando ];
-
- // If not, create one
- if ( !value ) {
- value = {};
-
- // We can accept data for non-element nodes in modern browsers,
- // but we should not, see #8335.
- // Always return an empty object.
- if ( acceptData( owner ) ) {
-
- // If it is a node unlikely to be stringify-ed or looped over
- // use plain assignment
- if ( owner.nodeType ) {
- owner[ this.expando ] = value;
-
- // Otherwise secure it in a non-enumerable property
- // configurable must be true to allow the property to be
- // deleted when data is removed
- } else {
- Object.defineProperty( owner, this.expando, {
- value: value,
- configurable: true
- } );
- }
- }
- }
-
- return value;
- },
- set: function( owner, data, value ) {
- var prop,
- cache = this.cache( owner );
-
- // Handle: [ owner, key, value ] args
- // Always use camelCase key (gh-2257)
- if ( typeof data === "string" ) {
- cache[ jQuery.camelCase( data ) ] = value;
-
- // Handle: [ owner, { properties } ] args
- } else {
-
- // Copy the properties one-by-one to the cache object
- for ( prop in data ) {
- cache[ jQuery.camelCase( prop ) ] = data[ prop ];
- }
- }
- return cache;
- },
- get: function( owner, key ) {
- return key === undefined ?
- this.cache( owner ) :
-
- // Always use camelCase key (gh-2257)
- owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
- },
- access: function( owner, key, value ) {
-
- // In cases where either:
- //
- // 1. No key was specified
- // 2. A string key was specified, but no value provided
- //
- // Take the "read" path and allow the get method to determine
- // which value to return, respectively either:
- //
- // 1. The entire cache object
- // 2. The data stored at the key
- //
- if ( key === undefined ||
- ( ( key && typeof key === "string" ) && value === undefined ) ) {
-
- return this.get( owner, key );
- }
-
- // When the key is not a string, or both a key and value
- // are specified, set or extend (existing objects) with either:
- //
- // 1. An object of properties
- // 2. A key and value
- //
- this.set( owner, key, value );
-
- // Since the "set" path can have two possible entry points
- // return the expected data based on which path was taken[*]
- return value !== undefined ? value : key;
- },
- remove: function( owner, key ) {
- var i,
- cache = owner[ this.expando ];
-
- if ( cache === undefined ) {
- return;
- }
-
- if ( key !== undefined ) {
-
- // Support array or space separated string of keys
- if ( Array.isArray( key ) ) {
-
- // If key is an array of keys...
- // We always set camelCase keys, so remove that.
- key = key.map( jQuery.camelCase );
- } else {
- key = jQuery.camelCase( key );
-
- // If a key with the spaces exists, use it.
- // Otherwise, create an array by matching non-whitespace
- key = key in cache ?
- [ key ] :
- ( key.match( rnothtmlwhite ) || [] );
- }
-
- i = key.length;
-
- while ( i-- ) {
- delete cache[ key[ i ] ];
- }
- }
-
- // Remove the expando if there's no more data
- if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
-
- // Support: Chrome <=35 - 45
- // Webkit & Blink performance suffers when deleting properties
- // from DOM nodes, so set to undefined instead
- // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
- if ( owner.nodeType ) {
- owner[ this.expando ] = undefined;
- } else {
- delete owner[ this.expando ];
- }
- }
- },
- hasData: function( owner ) {
- var cache = owner[ this.expando ];
- return cache !== undefined && !jQuery.isEmptyObject( cache );
- }
-};
-var dataPriv = new Data();
-
-var dataUser = new Data();
-
-
-
-// Implementation Summary
-//
-// 1. Enforce API surface and semantic compatibility with 1.9.x branch
-// 2. Improve the module's maintainability by reducing the storage
-// paths to a single mechanism.
-// 3. Use the same single mechanism to support "private" and "user" data.
-// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
-// 5. Avoid exposing implementation details on user objects (eg. expando properties)
-// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
-
-var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
- rmultiDash = /[A-Z]/g;
-
-function getData( data ) {
- if ( data === "true" ) {
- return true;
- }
-
- if ( data === "false" ) {
- return false;
- }
-
- if ( data === "null" ) {
- return null;
- }
-
- // Only convert to a number if it doesn't change the string
- if ( data === +data + "" ) {
- return +data;
- }
-
- if ( rbrace.test( data ) ) {
- return JSON.parse( data );
- }
-
- return data;
-}
-
-function dataAttr( elem, key, data ) {
- var name;
-
- // If nothing was found internally, try to fetch any
- // data from the HTML5 data-* attribute
- if ( data === undefined && elem.nodeType === 1 ) {
- name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
- data = elem.getAttribute( name );
-
- if ( typeof data === "string" ) {
- try {
- data = getData( data );
- } catch ( e ) {}
-
- // Make sure we set the data so it isn't changed later
- dataUser.set( elem, key, data );
- } else {
- data = undefined;
- }
- }
- return data;
-}
-
-jQuery.extend( {
- hasData: function( elem ) {
- return dataUser.hasData( elem ) || dataPriv.hasData( elem );
- },
-
- data: function( elem, name, data ) {
- return dataUser.access( elem, name, data );
- },
-
- removeData: function( elem, name ) {
- dataUser.remove( elem, name );
- },
-
- // TODO: Now that all calls to _data and _removeData have been replaced
- // with direct calls to dataPriv methods, these can be deprecated.
- _data: function( elem, name, data ) {
- return dataPriv.access( elem, name, data );
- },
-
- _removeData: function( elem, name ) {
- dataPriv.remove( elem, name );
- }
-} );
-
-jQuery.fn.extend( {
- data: function( key, value ) {
- var i, name, data,
- elem = this[ 0 ],
- attrs = elem && elem.attributes;
-
- // Gets all values
- if ( key === undefined ) {
- if ( this.length ) {
- data = dataUser.get( elem );
-
- if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
- i = attrs.length;
- while ( i-- ) {
-
- // Support: IE 11 only
- // The attrs elements can be null (#14894)
- if ( attrs[ i ] ) {
- name = attrs[ i ].name;
- if ( name.indexOf( "data-" ) === 0 ) {
- name = jQuery.camelCase( name.slice( 5 ) );
- dataAttr( elem, name, data[ name ] );
- }
- }
- }
- dataPriv.set( elem, "hasDataAttrs", true );
- }
- }
-
- return data;
- }
-
- // Sets multiple values
- if ( typeof key === "object" ) {
- return this.each( function() {
- dataUser.set( this, key );
- } );
- }
-
- return access( this, function( value ) {
- var data;
-
- // The calling jQuery object (element matches) is not empty
- // (and therefore has an element appears at this[ 0 ]) and the
- // `value` parameter was not undefined. An empty jQuery object
- // will result in `undefined` for elem = this[ 0 ] which will
- // throw an exception if an attempt to read a data cache is made.
- if ( elem && value === undefined ) {
-
- // Attempt to get data from the cache
- // The key will always be camelCased in Data
- data = dataUser.get( elem, key );
- if ( data !== undefined ) {
- return data;
- }
-
- // Attempt to "discover" the data in
- // HTML5 custom data-* attrs
- data = dataAttr( elem, key );
- if ( data !== undefined ) {
- return data;
- }
-
- // We tried really hard, but the data doesn't exist.
- return;
- }
-
- // Set the data...
- this.each( function() {
-
- // We always store the camelCased key
- dataUser.set( this, key, value );
- } );
- }, null, value, arguments.length > 1, null, true );
- },
-
- removeData: function( key ) {
- return this.each( function() {
- dataUser.remove( this, key );
- } );
- }
-} );
-
-
-jQuery.extend( {
- queue: function( elem, type, data ) {
- var queue;
-
- if ( elem ) {
- type = ( type || "fx" ) + "queue";
- queue = dataPriv.get( elem, type );
-
- // Speed up dequeue by getting out quickly if this is just a lookup
- if ( data ) {
- if ( !queue || Array.isArray( data ) ) {
- queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
- } else {
- queue.push( data );
- }
- }
- return queue || [];
- }
- },
-
- dequeue: function( elem, type ) {
- type = type || "fx";
-
- var queue = jQuery.queue( elem, type ),
- startLength = queue.length,
- fn = queue.shift(),
- hooks = jQuery._queueHooks( elem, type ),
- next = function() {
- jQuery.dequeue( elem, type );
- };
-
- // If the fx queue is dequeued, always remove the progress sentinel
- if ( fn === "inprogress" ) {
- fn = queue.shift();
- startLength--;
- }
-
- if ( fn ) {
-
- // Add a progress sentinel to prevent the fx queue from being
- // automatically dequeued
- if ( type === "fx" ) {
- queue.unshift( "inprogress" );
- }
-
- // Clear up the last queue stop function
- delete hooks.stop;
- fn.call( elem, next, hooks );
- }
-
- if ( !startLength && hooks ) {
- hooks.empty.fire();
- }
- },
-
- // Not public - generate a queueHooks object, or return the current one
- _queueHooks: function( elem, type ) {
- var key = type + "queueHooks";
- return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
- empty: jQuery.Callbacks( "once memory" ).add( function() {
- dataPriv.remove( elem, [ type + "queue", key ] );
- } )
- } );
- }
-} );
-
-jQuery.fn.extend( {
- queue: function( type, data ) {
- var setter = 2;
-
- if ( typeof type !== "string" ) {
- data = type;
- type = "fx";
- setter--;
- }
-
- if ( arguments.length < setter ) {
- return jQuery.queue( this[ 0 ], type );
- }
-
- return data === undefined ?
- this :
- this.each( function() {
- var queue = jQuery.queue( this, type, data );
-
- // Ensure a hooks for this queue
- jQuery._queueHooks( this, type );
-
- if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
- jQuery.dequeue( this, type );
- }
- } );
- },
- dequeue: function( type ) {
- return this.each( function() {
- jQuery.dequeue( this, type );
- } );
- },
- clearQueue: function( type ) {
- return this.queue( type || "fx", [] );
- },
-
- // Get a promise resolved when queues of a certain type
- // are emptied (fx is the type by default)
- promise: function( type, obj ) {
- var tmp,
- count = 1,
- defer = jQuery.Deferred(),
- elements = this,
- i = this.length,
- resolve = function() {
- if ( !( --count ) ) {
- defer.resolveWith( elements, [ elements ] );
- }
- };
-
- if ( typeof type !== "string" ) {
- obj = type;
- type = undefined;
- }
- type = type || "fx";
-
- while ( i-- ) {
- tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
- if ( tmp && tmp.empty ) {
- count++;
- tmp.empty.add( resolve );
- }
- }
- resolve();
- return defer.promise( obj );
- }
-} );
-var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
-
-var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
-
-
-var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
-
-var isHiddenWithinTree = function( elem, el ) {
-
- // isHiddenWithinTree might be called from jQuery#filter function;
- // in that case, element will be second argument
- elem = el || elem;
-
- // Inline style trumps all
- return elem.style.display === "none" ||
- elem.style.display === "" &&
-
- // Otherwise, check computed style
- // Support: Firefox <=43 - 45
- // Disconnected elements can have computed display: none, so first confirm that elem is
- // in the document.
- jQuery.contains( elem.ownerDocument, elem ) &&
-
- jQuery.css( elem, "display" ) === "none";
- };
-
-var swap = function( elem, options, callback, args ) {
- var ret, name,
- old = {};
-
- // Remember the old values, and insert the new ones
- for ( name in options ) {
- old[ name ] = elem.style[ name ];
- elem.style[ name ] = options[ name ];
- }
-
- ret = callback.apply( elem, args || [] );
-
- // Revert the old values
- for ( name in options ) {
- elem.style[ name ] = old[ name ];
- }
-
- return ret;
-};
-
-
-
-
-function adjustCSS( elem, prop, valueParts, tween ) {
- var adjusted,
- scale = 1,
- maxIterations = 20,
- currentValue = tween ?
- function() {
- return tween.cur();
- } :
- function() {
- return jQuery.css( elem, prop, "" );
- },
- initial = currentValue(),
- unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
-
- // Starting value computation is required for potential unit mismatches
- initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
- rcssNum.exec( jQuery.css( elem, prop ) );
-
- if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
-
- // Trust units reported by jQuery.css
- unit = unit || initialInUnit[ 3 ];
-
- // Make sure we update the tween properties later on
- valueParts = valueParts || [];
-
- // Iteratively approximate from a nonzero starting point
- initialInUnit = +initial || 1;
-
- do {
-
- // If previous iteration zeroed out, double until we get *something*.
- // Use string for doubling so we don't accidentally see scale as unchanged below
- scale = scale || ".5";
-
- // Adjust and apply
- initialInUnit = initialInUnit / scale;
- jQuery.style( elem, prop, initialInUnit + unit );
-
- // Update scale, tolerating zero or NaN from tween.cur()
- // Break the loop if scale is unchanged or perfect, or if we've just had enough.
- } while (
- scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
- );
- }
-
- if ( valueParts ) {
- initialInUnit = +initialInUnit || +initial || 0;
-
- // Apply relative offset (+=/-=) if specified
- adjusted = valueParts[ 1 ] ?
- initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
- +valueParts[ 2 ];
- if ( tween ) {
- tween.unit = unit;
- tween.start = initialInUnit;
- tween.end = adjusted;
- }
- }
- return adjusted;
-}
-
-
-var defaultDisplayMap = {};
-
-function getDefaultDisplay( elem ) {
- var temp,
- doc = elem.ownerDocument,
- nodeName = elem.nodeName,
- display = defaultDisplayMap[ nodeName ];
-
- if ( display ) {
- return display;
- }
-
- temp = doc.body.appendChild( doc.createElement( nodeName ) );
- display = jQuery.css( temp, "display" );
-
- temp.parentNode.removeChild( temp );
-
- if ( display === "none" ) {
- display = "block";
- }
- defaultDisplayMap[ nodeName ] = display;
-
- return display;
-}
-
-function showHide( elements, show ) {
- var display, elem,
- values = [],
- index = 0,
- length = elements.length;
-
- // Determine new display value for elements that need to change
- for ( ; index < length; index++ ) {
- elem = elements[ index ];
- if ( !elem.style ) {
- continue;
- }
-
- display = elem.style.display;
- if ( show ) {
-
- // Since we force visibility upon cascade-hidden elements, an immediate (and slow)
- // check is required in this first loop unless we have a nonempty display value (either
- // inline or about-to-be-restored)
- if ( display === "none" ) {
- values[ index ] = dataPriv.get( elem, "display" ) || null;
- if ( !values[ index ] ) {
- elem.style.display = "";
- }
- }
- if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
- values[ index ] = getDefaultDisplay( elem );
- }
- } else {
- if ( display !== "none" ) {
- values[ index ] = "none";
-
- // Remember what we're overwriting
- dataPriv.set( elem, "display", display );
- }
- }
- }
-
- // Set the display of the elements in a second loop to avoid constant reflow
- for ( index = 0; index < length; index++ ) {
- if ( values[ index ] != null ) {
- elements[ index ].style.display = values[ index ];
- }
- }
-
- return elements;
-}
-
-jQuery.fn.extend( {
- show: function() {
- return showHide( this, true );
- },
- hide: function() {
- return showHide( this );
- },
- toggle: function( state ) {
- if ( typeof state === "boolean" ) {
- return state ? this.show() : this.hide();
- }
-
- return this.each( function() {
- if ( isHiddenWithinTree( this ) ) {
- jQuery( this ).show();
- } else {
- jQuery( this ).hide();
- }
- } );
- }
-} );
-var rcheckableType = ( /^(?:checkbox|radio)$/i );
-
-var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
-
-var rscriptType = ( /^$|\/(?:java|ecma)script/i );
-
-
-
-// We have to close these tags to support XHTML (#13200)
-var wrapMap = {
-
- // Support: IE <=9 only
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
-
- // XHTML parsers do not magically insert elements in the
- // same way that tag soup parsers do. So we cannot shorten
- // this by omitting <tbody> or other required elements.
- thead: [ 1, "<table>", "</table>" ],
- col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
- tr: [ 2, "<table><tbody>", "</tbody></table>" ],
- td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
-
- _default: [ 0, "", "" ]
-};
-
-// Support: IE <=9 only
-wrapMap.optgroup = wrapMap.option;
-
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-
-function getAll( context, tag ) {
-
- // Support: IE <=9 - 11 only
- // Use typeof to avoid zero-argument method invocation on host objects (#15151)
- var ret;
-
- if ( typeof context.getElementsByTagName !== "undefined" ) {
- ret = context.getElementsByTagName( tag || "*" );
-
- } else if ( typeof context.querySelectorAll !== "undefined" ) {
- ret = context.querySelectorAll( tag || "*" );
-
- } else {
- ret = [];
- }
-
- if ( tag === undefined || tag && nodeName( context, tag ) ) {
- return jQuery.merge( [ context ], ret );
- }
-
- return ret;
-}
-
-
-// Mark scripts as having already been evaluated
-function setGlobalEval( elems, refElements ) {
- var i = 0,
- l = elems.length;
-
- for ( ; i < l; i++ ) {
- dataPriv.set(
- elems[ i ],
- "globalEval",
- !refElements || dataPriv.get( refElements[ i ], "globalEval" )
- );
- }
-}
-
-
-var rhtml = /<|&#?\w+;/;
-
-function buildFragment( elems, context, scripts, selection, ignored ) {
- var elem, tmp, tag, wrap, contains, j,
- fragment = context.createDocumentFragment(),
- nodes = [],
- i = 0,
- l = elems.length;
-
- for ( ; i < l; i++ ) {
- elem = elems[ i ];
-
- if ( elem || elem === 0 ) {
-
- // Add nodes directly
- if ( jQuery.type( elem ) === "object" ) {
-
- // Support: Android <=4.0 only, PhantomJS 1 only
- // push.apply(_, arraylike) throws on ancient WebKit
- jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
-
- // Convert non-html into a text node
- } else if ( !rhtml.test( elem ) ) {
- nodes.push( context.createTextNode( elem ) );
-
- // Convert html into DOM nodes
- } else {
- tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
-
- // Deserialize a standard representation
- tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
- wrap = wrapMap[ tag ] || wrapMap._default;
- tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
-
- // Descend through wrappers to the right content
- j = wrap[ 0 ];
- while ( j-- ) {
- tmp = tmp.lastChild;
- }
-
- // Support: Android <=4.0 only, PhantomJS 1 only
- // push.apply(_, arraylike) throws on ancient WebKit
- jQuery.merge( nodes, tmp.childNodes );
-
- // Remember the top-level container
- tmp = fragment.firstChild;
-
- // Ensure the created nodes are orphaned (#12392)
- tmp.textContent = "";
- }
- }
- }
-
- // Remove wrapper from fragment
- fragment.textContent = "";
-
- i = 0;
- while ( ( elem = nodes[ i++ ] ) ) {
-
- // Skip elements already in the context collection (trac-4087)
- if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
- if ( ignored ) {
- ignored.push( elem );
- }
- continue;
- }
-
- contains = jQuery.contains( elem.ownerDocument, elem );
-
- // Append to fragment
- tmp = getAll( fragment.appendChild( elem ), "script" );
-
- // Preserve script evaluation history
- if ( contains ) {
- setGlobalEval( tmp );
- }
-
- // Capture executables
- if ( scripts ) {
- j = 0;
- while ( ( elem = tmp[ j++ ] ) ) {
- if ( rscriptType.test( elem.type || "" ) ) {
- scripts.push( elem );
- }
- }
- }
- }
-
- return fragment;
-}
-
-
-( function() {
- var fragment = document.createDocumentFragment(),
- div = fragment.appendChild( document.createElement( "div" ) ),
- input = document.createElement( "input" );
-
- // Support: Android 4.0 - 4.3 only
- // Check state lost if the name is set (#11217)
- // Support: Windows Web Apps (WWA)
- // `name` and `type` must use .setAttribute for WWA (#14901)
- input.setAttribute( "type", "radio" );
- input.setAttribute( "checked", "checked" );
- input.setAttribute( "name", "t" );
-
- div.appendChild( input );
-
- // Support: Android <=4.1 only
- // Older WebKit doesn't clone checked state correctly in fragments
- support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
-
- // Support: IE <=11 only
- // Make sure textarea (and checkbox) defaultValue is properly cloned
- div.innerHTML = "<textarea>x</textarea>";
- support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
-} )();
-var documentElement = document.documentElement;
-
-
-
-var
- rkeyEvent = /^key/,
- rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
- rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
-
-function returnTrue() {
- return true;
-}
-
-function returnFalse() {
- return false;
-}
-
-// Support: IE <=9 only
-// See #13393 for more info
-function safeActiveElement() {
- try {
- return document.activeElement;
- } catch ( err ) { }
-}
-
-function on( elem, types, selector, data, fn, one ) {
- var origFn, type;
-
- // Types can be a map of types/handlers
- if ( typeof types === "object" ) {
-
- // ( types-Object, selector, data )
- if ( typeof selector !== "string" ) {
-
- // ( types-Object, data )
- data = data || selector;
- selector = undefined;
- }
- for ( type in types ) {
- on( elem, type, selector, data, types[ type ], one );
- }
- return elem;
- }
-
- if ( data == null && fn == null ) {
-
- // ( types, fn )
- fn = selector;
- data = selector = undefined;
- } else if ( fn == null ) {
- if ( typeof selector === "string" ) {
-
- // ( types, selector, fn )
- fn = data;
- data = undefined;
- } else {
-
- // ( types, data, fn )
- fn = data;
- data = selector;
- selector = undefined;
- }
- }
- if ( fn === false ) {
- fn = returnFalse;
- } else if ( !fn ) {
- return elem;
- }
-
- if ( one === 1 ) {
- origFn = fn;
- fn = function( event ) {
-
- // Can use an empty set, since event contains the info
- jQuery().off( event );
- return origFn.apply( this, arguments );
- };
-
- // Use same guid so caller can remove using origFn
- fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
- }
- return elem.each( function() {
- jQuery.event.add( this, types, fn, data, selector );
- } );
-}
-
-/*
- * Helper functions for managing events -- not part of the public interface.
- * Props to Dean Edwards' addEvent library for many of the ideas.
- */
-jQuery.event = {
-
- global: {},
-
- add: function( elem, types, handler, data, selector ) {
-
- var handleObjIn, eventHandle, tmp,
- events, t, handleObj,
- special, handlers, type, namespaces, origType,
- elemData = dataPriv.get( elem );
-
- // Don't attach events to noData or text/comment nodes (but allow plain objects)
- if ( !elemData ) {
- return;
- }
-
- // Caller can pass in an object of custom data in lieu of the handler
- if ( handler.handler ) {
- handleObjIn = handler;
- handler = handleObjIn.handler;
- selector = handleObjIn.selector;
- }
-
- // Ensure that invalid selectors throw exceptions at attach time
- // Evaluate against documentElement in case elem is a non-element node (e.g., document)
- if ( selector ) {
- jQuery.find.matchesSelector( documentElement, selector );
- }
-
- // Make sure that the handler has a unique ID, used to find/remove it later
- if ( !handler.guid ) {
- handler.guid = jQuery.guid++;
- }
-
- // Init the element's event structure and main handler, if this is the first
- if ( !( events = elemData.events ) ) {
- events = elemData.events = {};
- }
- if ( !( eventHandle = elemData.handle ) ) {
- eventHandle = elemData.handle = function( e ) {
-
- // Discard the second event of a jQuery.event.trigger() and
- // when an event is called after a page has unloaded
- return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
- jQuery.event.dispatch.apply( elem, arguments ) : undefined;
- };
- }
-
- // Handle multiple events separated by a space
- types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
- t = types.length;
- while ( t-- ) {
- tmp = rtypenamespace.exec( types[ t ] ) || [];
- type = origType = tmp[ 1 ];
- namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
-
- // There *must* be a type, no attaching namespace-only handlers
- if ( !type ) {
- continue;
- }
-
- // If event changes its type, use the special event handlers for the changed type
- special = jQuery.event.special[ type ] || {};
-
- // If selector defined, determine special event api type, otherwise given type
- type = ( selector ? special.delegateType : special.bindType ) || type;
-
- // Update special based on newly reset type
- special = jQuery.event.special[ type ] || {};
-
- // handleObj is passed to all event handlers
- handleObj = jQuery.extend( {
- type: type,
- origType: origType,
- data: data,
- handler: handler,
- guid: handler.guid,
- selector: selector,
- needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
- namespace: namespaces.join( "." )
- }, handleObjIn );
-
- // Init the event handler queue if we're the first
- if ( !( handlers = events[ type ] ) ) {
- handlers = events[ type ] = [];
- handlers.delegateCount = 0;
-
- // Only use addEventListener if the special events handler returns false
- if ( !special.setup ||
- special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
-
- if ( elem.addEventListener ) {
- elem.addEventListener( type, eventHandle );
- }
- }
- }
-
- if ( special.add ) {
- special.add.call( elem, handleObj );
-
- if ( !handleObj.handler.guid ) {
- handleObj.handler.guid = handler.guid;
- }
- }
-
- // Add to the element's handler list, delegates in front
- if ( selector ) {
- handlers.splice( handlers.delegateCount++, 0, handleObj );
- } else {
- handlers.push( handleObj );
- }
-
- // Keep track of which events have ever been used, for event optimization
- jQuery.event.global[ type ] = true;
- }
-
- },
-
- // Detach an event or set of events from an element
- remove: function( elem, types, handler, selector, mappedTypes ) {
-
- var j, origCount, tmp,
- events, t, handleObj,
- special, handlers, type, namespaces, origType,
- elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
-
- if ( !elemData || !( events = elemData.events ) ) {
- return;
- }
-
- // Once for each type.namespace in types; type may be omitted
- types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
- t = types.length;
- while ( t-- ) {
- tmp = rtypenamespace.exec( types[ t ] ) || [];
- type = origType = tmp[ 1 ];
- namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
-
- // Unbind all events (on this namespace, if provided) for the element
- if ( !type ) {
- for ( type in events ) {
- jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
- }
- continue;
- }
-
- special = jQuery.event.special[ type ] || {};
- type = ( selector ? special.delegateType : special.bindType ) || type;
- handlers = events[ type ] || [];
- tmp = tmp[ 2 ] &&
- new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
-
- // Remove matching events
- origCount = j = handlers.length;
- while ( j-- ) {
- handleObj = handlers[ j ];
-
- if ( ( mappedTypes || origType === handleObj.origType ) &&
- ( !handler || handler.guid === handleObj.guid ) &&
- ( !tmp || tmp.test( handleObj.namespace ) ) &&
- ( !selector || selector === handleObj.selector ||
- selector === "**" && handleObj.selector ) ) {
- handlers.splice( j, 1 );
-
- if ( handleObj.selector ) {
- handlers.delegateCount--;
- }
- if ( special.remove ) {
- special.remove.call( elem, handleObj );
- }
- }
- }
-
- // Remove generic event handler if we removed something and no more handlers exist
- // (avoids potential for endless recursion during removal of special event handlers)
- if ( origCount && !handlers.length ) {
- if ( !special.teardown ||
- special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
-
- jQuery.removeEvent( elem, type, elemData.handle );
- }
-
- delete events[ type ];
- }
- }
-
- // Remove data and the expando if it's no longer used
- if ( jQuery.isEmptyObject( events ) ) {
- dataPriv.remove( elem, "handle events" );
- }
- },
-
- dispatch: function( nativeEvent ) {
-
- // Make a writable jQuery.Event from the native event object
- var event = jQuery.event.fix( nativeEvent );
-
- var i, j, ret, matched, handleObj, handlerQueue,
- args = new Array( arguments.length ),
- handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
- special = jQuery.event.special[ event.type ] || {};
-
- // Use the fix-ed jQuery.Event rather than the (read-only) native event
- args[ 0 ] = event;
-
- for ( i = 1; i < arguments.length; i++ ) {
- args[ i ] = arguments[ i ];
- }
-
- event.delegateTarget = this;
-
- // Call the preDispatch hook for the mapped type, and let it bail if desired
- if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
- return;
- }
-
- // Determine handlers
- handlerQueue = jQuery.event.handlers.call( this, event, handlers );
-
- // Run delegates first; they may want to stop propagation beneath us
- i = 0;
- while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
- event.currentTarget = matched.elem;
-
- j = 0;
- while ( ( handleObj = matched.handlers[ j++ ] ) &&
- !event.isImmediatePropagationStopped() ) {
-
- // Triggered event must either 1) have no namespace, or 2) have namespace(s)
- // a subset or equal to those in the bound event (both can have no namespace).
- if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
-
- event.handleObj = handleObj;
- event.data = handleObj.data;
-
- ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
- handleObj.handler ).apply( matched.elem, args );
-
- if ( ret !== undefined ) {
- if ( ( event.result = ret ) === false ) {
- event.preventDefault();
- event.stopPropagation();
- }
- }
- }
- }
- }
-
- // Call the postDispatch hook for the mapped type
- if ( special.postDispatch ) {
- special.postDispatch.call( this, event );
- }
-
- return event.result;
- },
-
- handlers: function( event, handlers ) {
- var i, handleObj, sel, matchedHandlers, matchedSelectors,
- handlerQueue = [],
- delegateCount = handlers.delegateCount,
- cur = event.target;
-
- // Find delegate handlers
- if ( delegateCount &&
-
- // Support: IE <=9
- // Black-hole SVG <use> instance trees (trac-13180)
- cur.nodeType &&
-
- // Support: Firefox <=42
- // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
- // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
- // Support: IE 11 only
- // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
- !( event.type === "click" && event.button >= 1 ) ) {
-
- for ( ; cur !== this; cur = cur.parentNode || this ) {
-
- // Don't check non-elements (#13208)
- // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
- if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
- matchedHandlers = [];
- matchedSelectors = {};
- for ( i = 0; i < delegateCount; i++ ) {
- handleObj = handlers[ i ];
-
- // Don't conflict with Object.prototype properties (#13203)
- sel = handleObj.selector + " ";
-
- if ( matchedSelectors[ sel ] === undefined ) {
- matchedSelectors[ sel ] = handleObj.needsContext ?
- jQuery( sel, this ).index( cur ) > -1 :
- jQuery.find( sel, this, null, [ cur ] ).length;
- }
- if ( matchedSelectors[ sel ] ) {
- matchedHandlers.push( handleObj );
- }
- }
- if ( matchedHandlers.length ) {
- handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
- }
- }
- }
- }
-
- // Add the remaining (directly-bound) handlers
- cur = this;
- if ( delegateCount < handlers.length ) {
- handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
- }
-
- return handlerQueue;
- },
-
- addProp: function( name, hook ) {
- Object.defineProperty( jQuery.Event.prototype, name, {
- enumerable: true,
- configurable: true,
-
- get: jQuery.isFunction( hook ) ?
- function() {
- if ( this.originalEvent ) {
- return hook( this.originalEvent );
- }
- } :
- function() {
- if ( this.originalEvent ) {
- return this.originalEvent[ name ];
- }
- },
-
- set: function( value ) {
- Object.defineProperty( this, name, {
- enumerable: true,
- configurable: true,
- writable: true,
- value: value
- } );
- }
- } );
- },
-
- fix: function( originalEvent ) {
- return originalEvent[ jQuery.expando ] ?
- originalEvent :
- new jQuery.Event( originalEvent );
- },
-
- special: {
- load: {
-
- // Prevent triggered image.load events from bubbling to window.load
- noBubble: true
- },
- focus: {
-
- // Fire native event if possible so blur/focus sequence is correct
- trigger: function() {
- if ( this !== safeActiveElement() && this.focus ) {
- this.focus();
- return false;
- }
- },
- delegateType: "focusin"
- },
- blur: {
- trigger: function() {
- if ( this === safeActiveElement() && this.blur ) {
- this.blur();
- return false;
- }
- },
- delegateType: "focusout"
- },
- click: {
-
- // For checkbox, fire native event so checked state will be right
- trigger: function() {
- if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
- this.click();
- return false;
- }
- },
-
- // For cross-browser consistency, don't fire native .click() on links
- _default: function( event ) {
- return nodeName( event.target, "a" );
- }
- },
-
- beforeunload: {
- postDispatch: function( event ) {
-
- // Support: Firefox 20+
- // Firefox doesn't alert if the returnValue field is not set.
- if ( event.result !== undefined && event.originalEvent ) {
- event.originalEvent.returnValue = event.result;
- }
- }
- }
- }
-};
-
-jQuery.removeEvent = function( elem, type, handle ) {
-
- // This "if" is needed for plain objects
- if ( elem.removeEventListener ) {
- elem.removeEventListener( type, handle );
- }
-};
-
-jQuery.Event = function( src, props ) {
-
- // Allow instantiation without the 'new' keyword
- if ( !( this instanceof jQuery.Event ) ) {
- return new jQuery.Event( src, props );
- }
-
- // Event object
- if ( src && src.type ) {
- this.originalEvent = src;
- this.type = src.type;
-
- // Events bubbling up the document may have been marked as prevented
- // by a handler lower down the tree; reflect the correct value.
- this.isDefaultPrevented = src.defaultPrevented ||
- src.defaultPrevented === undefined &&
-
- // Support: Android <=2.3 only
- src.returnValue === false ?
- returnTrue :
- returnFalse;
-
- // Create target properties
- // Support: Safari <=6 - 7 only
- // Target should not be a text node (#504, #13143)
- this.target = ( src.target && src.target.nodeType === 3 ) ?
- src.target.parentNode :
- src.target;
-
- this.currentTarget = src.currentTarget;
- this.relatedTarget = src.relatedTarget;
-
- // Event type
- } else {
- this.type = src;
- }
-
- // Put explicitly provided properties onto the event object
- if ( props ) {
- jQuery.extend( this, props );
- }
-
- // Create a timestamp if incoming event doesn't have one
- this.timeStamp = src && src.timeStamp || jQuery.now();
-
- // Mark it as fixed
- this[ jQuery.expando ] = true;
-};
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
- constructor: jQuery.Event,
- isDefaultPrevented: returnFalse,
- isPropagationStopped: returnFalse,
- isImmediatePropagationStopped: returnFalse,
- isSimulated: false,
-
- preventDefault: function() {
- var e = this.originalEvent;
-
- this.isDefaultPrevented = returnTrue;
-
- if ( e && !this.isSimulated ) {
- e.preventDefault();
- }
- },
- stopPropagation: function() {
- var e = this.originalEvent;
-
- this.isPropagationStopped = returnTrue;
-
- if ( e && !this.isSimulated ) {
- e.stopPropagation();
- }
- },
- stopImmediatePropagation: function() {
- var e = this.originalEvent;
-
- this.isImmediatePropagationStopped = returnTrue;
-
- if ( e && !this.isSimulated ) {
- e.stopImmediatePropagation();
- }
-
- this.stopPropagation();
- }
-};
-
-// Includes all common event props including KeyEvent and MouseEvent specific props
-jQuery.each( {
- altKey: true,
- bubbles: true,
- cancelable: true,
- changedTouches: true,
- ctrlKey: true,
- detail: true,
- eventPhase: true,
- metaKey: true,
- pageX: true,
- pageY: true,
- shiftKey: true,
- view: true,
- "char": true,
- charCode: true,
- key: true,
- keyCode: true,
- button: true,
- buttons: true,
- clientX: true,
- clientY: true,
- offsetX: true,
- offsetY: true,
- pointerId: true,
- pointerType: true,
- screenX: true,
- screenY: true,
- targetTouches: true,
- toElement: true,
- touches: true,
-
- which: function( event ) {
- var button = event.button;
-
- // Add which for key events
- if ( event.which == null && rkeyEvent.test( event.type ) ) {
- return event.charCode != null ? event.charCode : event.keyCode;
- }
-
- // Add which for click: 1 === left; 2 === middle; 3 === right
- if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
- if ( button & 1 ) {
- return 1;
- }
-
- if ( button & 2 ) {
- return 3;
- }
-
- if ( button & 4 ) {
- return 2;
- }
-
- return 0;
- }
-
- return event.which;
- }
-}, jQuery.event.addProp );
-
-// Create mouseenter/leave events using mouseover/out and event-time checks
-// so that event delegation works in jQuery.
-// Do the same for pointerenter/pointerleave and pointerover/pointerout
-//
-// Support: Safari 7 only
-// Safari sends mouseenter too often; see:
-// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
-// for the description of the bug (it existed in older Chrome versions as well).
-jQuery.each( {
- mouseenter: "mouseover",
- mouseleave: "mouseout",
- pointerenter: "pointerover",
- pointerleave: "pointerout"
-}, function( orig, fix ) {
- jQuery.event.special[ orig ] = {
- delegateType: fix,
- bindType: fix,
-
- handle: function( event ) {
- var ret,
- target = this,
- related = event.relatedTarget,
- handleObj = event.handleObj;
-
- // For mouseenter/leave call the handler if related is outside the target.
- // NB: No relatedTarget if the mouse left/entered the browser window
- if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
- event.type = handleObj.origType;
- ret = handleObj.handler.apply( this, arguments );
- event.type = fix;
- }
- return ret;
- }
- };
-} );
-
-jQuery.fn.extend( {
-
- on: function( types, selector, data, fn ) {
- return on( this, types, selector, data, fn );
- },
- one: function( types, selector, data, fn ) {
- return on( this, types, selector, data, fn, 1 );
- },
- off: function( types, selector, fn ) {
- var handleObj, type;
- if ( types && types.preventDefault && types.handleObj ) {
-
- // ( event ) dispatched jQuery.Event
- handleObj = types.handleObj;
- jQuery( types.delegateTarget ).off(
- handleObj.namespace ?
- handleObj.origType + "." + handleObj.namespace :
- handleObj.origType,
- handleObj.selector,
- handleObj.handler
- );
- return this;
- }
- if ( typeof types === "object" ) {
-
- // ( types-object [, selector] )
- for ( type in types ) {
- this.off( type, selector, types[ type ] );
- }
- return this;
- }
- if ( selector === false || typeof selector === "function" ) {
-
- // ( types [, fn] )
- fn = selector;
- selector = undefined;
- }
- if ( fn === false ) {
- fn = returnFalse;
- }
- return this.each( function() {
- jQuery.event.remove( this, types, fn, selector );
- } );
- }
-} );
-
-
-var
-
- /* eslint-disable max-len */
-
- // See https://github.com/eslint/eslint/issues/3229
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
-
- /* eslint-enable */
-
- // Support: IE <=10 - 11, Edge 12 - 13
- // In IE/Edge using regex groups here causes severe slowdowns.
- // See https://connect.microsoft.com/IE/feedback/details/1736512/
- rnoInnerhtml = /<script|<style|<link/i,
-
- // checked="checked" or checked
- rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
- rscriptTypeMasked = /^true\/(.*)/,
- rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
-
-// Prefer a tbody over its parent table for containing new rows
-function manipulationTarget( elem, content ) {
- if ( nodeName( elem, "table" ) &&
- nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
-
- return jQuery( ">tbody", elem )[ 0 ] || elem;
- }
-
- return elem;
-}
-
-// Replace/restore the type attribute of script elements for safe DOM manipulation
-function disableScript( elem ) {
- elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
- return elem;
-}
-function restoreScript( elem ) {
- var match = rscriptTypeMasked.exec( elem.type );
-
- if ( match ) {
- elem.type = match[ 1 ];
- } else {
- elem.removeAttribute( "type" );
- }
-
- return elem;
-}
-
-function cloneCopyEvent( src, dest ) {
- var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
-
- if ( dest.nodeType !== 1 ) {
- return;
- }
-
- // 1. Copy private data: events, handlers, etc.
- if ( dataPriv.hasData( src ) ) {
- pdataOld = dataPriv.access( src );
- pdataCur = dataPriv.set( dest, pdataOld );
- events = pdataOld.events;
-
- if ( events ) {
- delete pdataCur.handle;
- pdataCur.events = {};
-
- for ( type in events ) {
- for ( i = 0, l = events[ type ].length; i < l; i++ ) {
- jQuery.event.add( dest, type, events[ type ][ i ] );
- }
- }
- }
- }
-
- // 2. Copy user data
- if ( dataUser.hasData( src ) ) {
- udataOld = dataUser.access( src );
- udataCur = jQuery.extend( {}, udataOld );
-
- dataUser.set( dest, udataCur );
- }
-}
-
-// Fix IE bugs, see support tests
-function fixInput( src, dest ) {
- var nodeName = dest.nodeName.toLowerCase();
-
- // Fails to persist the checked state of a cloned checkbox or radio button.
- if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
- dest.checked = src.checked;
-
- // Fails to return the selected option to the default selected state when cloning options
- } else if ( nodeName === "input" || nodeName === "textarea" ) {
- dest.defaultValue = src.defaultValue;
- }
-}
-
-function domManip( collection, args, callback, ignored ) {
-
- // Flatten any nested arrays
- args = concat.apply( [], args );
-
- var fragment, first, scripts, hasScripts, node, doc,
- i = 0,
- l = collection.length,
- iNoClone = l - 1,
- value = args[ 0 ],
- isFunction = jQuery.isFunction( value );
-
- // We can't cloneNode fragments that contain checked, in WebKit
- if ( isFunction ||
- ( l > 1 && typeof value === "string" &&
- !support.checkClone && rchecked.test( value ) ) ) {
- return collection.each( function( index ) {
- var self = collection.eq( index );
- if ( isFunction ) {
- args[ 0 ] = value.call( this, index, self.html() );
- }
- domManip( self, args, callback, ignored );
- } );
- }
-
- if ( l ) {
- fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
- first = fragment.firstChild;
-
- if ( fragment.childNodes.length === 1 ) {
- fragment = first;
- }
-
- // Require either new content or an interest in ignored elements to invoke the callback
- if ( first || ignored ) {
- scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
- hasScripts = scripts.length;
-
- // Use the original fragment for the last item
- // instead of the first because it can end up
- // being emptied incorrectly in certain situations (#8070).
- for ( ; i < l; i++ ) {
- node = fragment;
-
- if ( i !== iNoClone ) {
- node = jQuery.clone( node, true, true );
-
- // Keep references to cloned scripts for later restoration
- if ( hasScripts ) {
-
- // Support: Android <=4.0 only, PhantomJS 1 only
- // push.apply(_, arraylike) throws on ancient WebKit
- jQuery.merge( scripts, getAll( node, "script" ) );
- }
- }
-
- callback.call( collection[ i ], node, i );
- }
-
- if ( hasScripts ) {
- doc = scripts[ scripts.length - 1 ].ownerDocument;
-
- // Reenable scripts
- jQuery.map( scripts, restoreScript );
-
- // Evaluate executable scripts on first document insertion
- for ( i = 0; i < hasScripts; i++ ) {
- node = scripts[ i ];
- if ( rscriptType.test( node.type || "" ) &&
- !dataPriv.access( node, "globalEval" ) &&
- jQuery.contains( doc, node ) ) {
-
- if ( node.src ) {
-
- // Optional AJAX dependency, but won't run scripts if not present
- if ( jQuery._evalUrl ) {
- jQuery._evalUrl( node.src );
- }
- } else {
- DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
- }
- }
- }
- }
- }
- }
-
- return collection;
-}
-
-function remove( elem, selector, keepData ) {
- var node,
- nodes = selector ? jQuery.filter( selector, elem ) : elem,
- i = 0;
-
- for ( ; ( node = nodes[ i ] ) != null; i++ ) {
- if ( !keepData && node.nodeType === 1 ) {
- jQuery.cleanData( getAll( node ) );
- }
-
- if ( node.parentNode ) {
- if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
- setGlobalEval( getAll( node, "script" ) );
- }
- node.parentNode.removeChild( node );
- }
- }
-
- return elem;
-}
-
-jQuery.extend( {
- htmlPrefilter: function( html ) {
- return html.replace( rxhtmlTag, "<$1></$2>" );
- },
-
- clone: function( elem, dataAndEvents, deepDataAndEvents ) {
- var i, l, srcElements, destElements,
- clone = elem.cloneNode( true ),
- inPage = jQuery.contains( elem.ownerDocument, elem );
-
- // Fix IE cloning issues
- if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
- !jQuery.isXMLDoc( elem ) ) {
-
- // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
- destElements = getAll( clone );
- srcElements = getAll( elem );
-
- for ( i = 0, l = srcElements.length; i < l; i++ ) {
- fixInput( srcElements[ i ], destElements[ i ] );
- }
- }
-
- // Copy the events from the original to the clone
- if ( dataAndEvents ) {
- if ( deepDataAndEvents ) {
- srcElements = srcElements || getAll( elem );
- destElements = destElements || getAll( clone );
-
- for ( i = 0, l = srcElements.length; i < l; i++ ) {
- cloneCopyEvent( srcElements[ i ], destElements[ i ] );
- }
- } else {
- cloneCopyEvent( elem, clone );
- }
- }
-
- // Preserve script evaluation history
- destElements = getAll( clone, "script" );
- if ( destElements.length > 0 ) {
- setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
- }
-
- // Return the cloned set
- return clone;
- },
-
- cleanData: function( elems ) {
- var data, elem, type,
- special = jQuery.event.special,
- i = 0;
-
- for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
- if ( acceptData( elem ) ) {
- if ( ( data = elem[ dataPriv.expando ] ) ) {
- if ( data.events ) {
- for ( type in data.events ) {
- if ( special[ type ] ) {
- jQuery.event.remove( elem, type );
-
- // This is a shortcut to avoid jQuery.event.remove's overhead
- } else {
- jQuery.removeEvent( elem, type, data.handle );
- }
- }
- }
-
- // Support: Chrome <=35 - 45+
- // Assign undefined instead of using delete, see Data#remove
- elem[ dataPriv.expando ] = undefined;
- }
- if ( elem[ dataUser.expando ] ) {
-
- // Support: Chrome <=35 - 45+
- // Assign undefined instead of using delete, see Data#remove
- elem[ dataUser.expando ] = undefined;
- }
- }
- }
- }
-} );
-
-jQuery.fn.extend( {
- detach: function( selector ) {
- return remove( this, selector, true );
- },
-
- remove: function( selector ) {
- return remove( this, selector );
- },
-
- text: function( value ) {
- return access( this, function( value ) {
- return value === undefined ?
- jQuery.text( this ) :
- this.empty().each( function() {
- if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
- this.textContent = value;
- }
- } );
- }, null, value, arguments.length );
- },
-
- append: function() {
- return domManip( this, arguments, function( elem ) {
- if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
- var target = manipulationTarget( this, elem );
- target.appendChild( elem );
- }
- } );
- },
-
- prepend: function() {
- return domManip( this, arguments, function( elem ) {
- if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
- var target = manipulationTarget( this, elem );
- target.insertBefore( elem, target.firstChild );
- }
- } );
- },
-
- before: function() {
- return domManip( this, arguments, function( elem ) {
- if ( this.parentNode ) {
- this.parentNode.insertBefore( elem, this );
- }
- } );
- },
-
- after: function() {
- return domManip( this, arguments, function( elem ) {
- if ( this.parentNode ) {
- this.parentNode.insertBefore( elem, this.nextSibling );
- }
- } );
- },
-
- empty: function() {
- var elem,
- i = 0;
-
- for ( ; ( elem = this[ i ] ) != null; i++ ) {
- if ( elem.nodeType === 1 ) {
-
- // Prevent memory leaks
- jQuery.cleanData( getAll( elem, false ) );
-
- // Remove any remaining nodes
- elem.textContent = "";
- }
- }
-
- return this;
- },
-
- clone: function( dataAndEvents, deepDataAndEvents ) {
- dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
- deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
-
- return this.map( function() {
- return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
- } );
- },
-
- html: function( value ) {
- return access( this, function( value ) {
- var elem = this[ 0 ] || {},
- i = 0,
- l = this.length;
-
- if ( value === undefined && elem.nodeType === 1 ) {
- return elem.innerHTML;
- }
-
- // See if we can take a shortcut and just use innerHTML
- if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
- !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
-
- value = jQuery.htmlPrefilter( value );
-
- try {
- for ( ; i < l; i++ ) {
- elem = this[ i ] || {};
-
- // Remove element nodes and prevent memory leaks
- if ( elem.nodeType === 1 ) {
- jQuery.cleanData( getAll( elem, false ) );
- elem.innerHTML = value;
- }
- }
-
- elem = 0;
-
- // If using innerHTML throws an exception, use the fallback method
- } catch ( e ) {}
- }
-
- if ( elem ) {
- this.empty().append( value );
- }
- }, null, value, arguments.length );
- },
-
- replaceWith: function() {
- var ignored = [];
-
- // Make the changes, replacing each non-ignored context element with the new content
- return domManip( this, arguments, function( elem ) {
- var parent = this.parentNode;
-
- if ( jQuery.inArray( this, ignored ) < 0 ) {
- jQuery.cleanData( getAll( this ) );
- if ( parent ) {
- parent.replaceChild( elem, this );
- }
- }
-
- // Force callback invocation
- }, ignored );
- }
-} );
-
-jQuery.each( {
- appendTo: "append",
- prependTo: "prepend",
- insertBefore: "before",
- insertAfter: "after",
- replaceAll: "replaceWith"
-}, function( name, original ) {
- jQuery.fn[ name ] = function( selector ) {
- var elems,
- ret = [],
- insert = jQuery( selector ),
- last = insert.length - 1,
- i = 0;
-
- for ( ; i <= last; i++ ) {
- elems = i === last ? this : this.clone( true );
- jQuery( insert[ i ] )[ original ]( elems );
-
- // Support: Android <=4.0 only, PhantomJS 1 only
- // .get() because push.apply(_, arraylike) throws on ancient WebKit
- push.apply( ret, elems.get() );
- }
-
- return this.pushStack( ret );
- };
-} );
-var rmargin = ( /^margin/ );
-
-var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
-
-var getStyles = function( elem ) {
-
- // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
- // IE throws on elements created in popups
- // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
- var view = elem.ownerDocument.defaultView;
-
- if ( !view || !view.opener ) {
- view = window;
- }
-
- return view.getComputedStyle( elem );
- };
-
-
-
-( function() {
-
- // Executing both pixelPosition & boxSizingReliable tests require only one layout
- // so they're executed at the same time to save the second computation.
- function computeStyleTests() {
-
- // This is a singleton, we need to execute it only once
- if ( !div ) {
- return;
- }
-
- div.style.cssText =
- "box-sizing:border-box;" +
- "position:relative;display:block;" +
- "margin:auto;border:1px;padding:1px;" +
- "top:1%;width:50%";
- div.innerHTML = "";
- documentElement.appendChild( container );
-
- var divStyle = window.getComputedStyle( div );
- pixelPositionVal = divStyle.top !== "1%";
-
- // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
- reliableMarginLeftVal = divStyle.marginLeft === "2px";
- boxSizingReliableVal = divStyle.width === "4px";
-
- // Support: Android 4.0 - 4.3 only
- // Some styles come back with percentage values, even though they shouldn't
- div.style.marginRight = "50%";
- pixelMarginRightVal = divStyle.marginRight === "4px";
-
- documentElement.removeChild( container );
-
- // Nullify the div so it wouldn't be stored in the memory and
- // it will also be a sign that checks already performed
- div = null;
- }
-
- var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
- container = document.createElement( "div" ),
- div = document.createElement( "div" );
-
- // Finish early in limited (non-browser) environments
- if ( !div.style ) {
- return;
- }
-
- // Support: IE <=9 - 11 only
- // Style of cloned element affects source element cloned (#8908)
- div.style.backgroundClip = "content-box";
- div.cloneNode( true ).style.backgroundClip = "";
- support.clearCloneStyle = div.style.backgroundClip === "content-box";
-
- container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
- "padding:0;margin-top:1px;position:absolute";
- container.appendChild( div );
-
- jQuery.extend( support, {
- pixelPosition: function() {
- computeStyleTests();
- return pixelPositionVal;
- },
- boxSizingReliable: function() {
- computeStyleTests();
- return boxSizingReliableVal;
- },
- pixelMarginRight: function() {
- computeStyleTests();
- return pixelMarginRightVal;
- },
- reliableMarginLeft: function() {
- computeStyleTests();
- return reliableMarginLeftVal;
- }
- } );
-} )();
-
-
-function curCSS( elem, name, computed ) {
- var width, minWidth, maxWidth, ret,
-
- // Support: Firefox 51+
- // Retrieving style before computed somehow
- // fixes an issue with getting wrong values
- // on detached elements
- style = elem.style;
-
- computed = computed || getStyles( elem );
-
- // getPropertyValue is needed for:
- // .css('filter') (IE 9 only, #12537)
- // .css('--customProperty) (#3144)
- if ( computed ) {
- ret = computed.getPropertyValue( name ) || computed[ name ];
-
- if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
- ret = jQuery.style( elem, name );
- }
-
- // A tribute to the "awesome hack by Dean Edwards"
- // Android Browser returns percentage for some values,
- // but width seems to be reliably pixels.
- // This is against the CSSOM draft spec:
- // https://drafts.csswg.org/cssom/#resolved-values
- if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
-
- // Remember the original values
- width = style.width;
- minWidth = style.minWidth;
- maxWidth = style.maxWidth;
-
- // Put in the new values to get a computed value out
- style.minWidth = style.maxWidth = style.width = ret;
- ret = computed.width;
-
- // Revert the changed values
- style.width = width;
- style.minWidth = minWidth;
- style.maxWidth = maxWidth;
- }
- }
-
- return ret !== undefined ?
-
- // Support: IE <=9 - 11 only
- // IE returns zIndex value as an integer.
- ret + "" :
- ret;
-}
-
-
-function addGetHookIf( conditionFn, hookFn ) {
-
- // Define the hook, we'll check on the first run if it's really needed.
- return {
- get: function() {
- if ( conditionFn() ) {
-
- // Hook not needed (or it's not possible to use it due
- // to missing dependency), remove it.
- delete this.get;
- return;
- }
-
- // Hook needed; redefine it so that the support test is not executed again.
- return ( this.get = hookFn ).apply( this, arguments );
- }
- };
-}
-
-
-var
-
- // Swappable if display is none or starts with table
- // except "table", "table-cell", or "table-caption"
- // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
- rdisplayswap = /^(none|table(?!-c[ea]).+)/,
- rcustomProp = /^--/,
- cssShow = { position: "absolute", visibility: "hidden", display: "block" },
- cssNormalTransform = {
- letterSpacing: "0",
- fontWeight: "400"
- },
-
- cssPrefixes = [ "Webkit", "Moz", "ms" ],
- emptyStyle = document.createElement( "div" ).style;
-
-// Return a css property mapped to a potentially vendor prefixed property
-function vendorPropName( name ) {
-
- // Shortcut for names that are not vendor prefixed
- if ( name in emptyStyle ) {
- return name;
- }
-
- // Check for vendor prefixed names
- var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
- i = cssPrefixes.length;
-
- while ( i-- ) {
- name = cssPrefixes[ i ] + capName;
- if ( name in emptyStyle ) {
- return name;
- }
- }
-}
-
-// Return a property mapped along what jQuery.cssProps suggests or to
-// a vendor prefixed property.
-function finalPropName( name ) {
- var ret = jQuery.cssProps[ name ];
- if ( !ret ) {
- ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
- }
- return ret;
-}
-
-function setPositiveNumber( elem, value, subtract ) {
-
- // Any relative (+/-) values have already been
- // normalized at this point
- var matches = rcssNum.exec( value );
- return matches ?
-
- // Guard against undefined "subtract", e.g., when used as in cssHooks
- Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
- value;
-}
-
-function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
- var i,
- val = 0;
-
- // If we already have the right measurement, avoid augmentation
- if ( extra === ( isBorderBox ? "border" : "content" ) ) {
- i = 4;
-
- // Otherwise initialize for horizontal or vertical properties
- } else {
- i = name === "width" ? 1 : 0;
- }
-
- for ( ; i < 4; i += 2 ) {
-
- // Both box models exclude margin, so add it if we want it
- if ( extra === "margin" ) {
- val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
- }
-
- if ( isBorderBox ) {
-
- // border-box includes padding, so remove it if we want content
- if ( extra === "content" ) {
- val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
- }
-
- // At this point, extra isn't border nor margin, so remove border
- if ( extra !== "margin" ) {
- val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
- }
- } else {
-
- // At this point, extra isn't content, so add padding
- val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
-
- // At this point, extra isn't content nor padding, so add border
- if ( extra !== "padding" ) {
- val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
- }
- }
- }
-
- return val;
-}
-
-function getWidthOrHeight( elem, name, extra ) {
-
- // Start with computed style
- var valueIsBorderBox,
- styles = getStyles( elem ),
- val = curCSS( elem, name, styles ),
- isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
-
- // Computed unit is not pixels. Stop here and return.
- if ( rnumnonpx.test( val ) ) {
- return val;
- }
-
- // Check for style in case a browser which returns unreliable values
- // for getComputedStyle silently falls back to the reliable elem.style
- valueIsBorderBox = isBorderBox &&
- ( support.boxSizingReliable() || val === elem.style[ name ] );
-
- // Fall back to offsetWidth/Height when value is "auto"
- // This happens for inline elements with no explicit setting (gh-3571)
- if ( val === "auto" ) {
- val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
- }
-
- // Normalize "", auto, and prepare for extra
- val = parseFloat( val ) || 0;
-
- // Use the active box-sizing model to add/subtract irrelevant styles
- return ( val +
- augmentWidthOrHeight(
- elem,
- name,
- extra || ( isBorderBox ? "border" : "content" ),
- valueIsBorderBox,
- styles
- )
- ) + "px";
-}
-
-jQuery.extend( {
-
- // Add in style property hooks for overriding the default
- // behavior of getting and setting a style property
- cssHooks: {
- opacity: {
- get: function( elem, computed ) {
- if ( computed ) {
-
- // We should always get a number back from opacity
- var ret = curCSS( elem, "opacity" );
- return ret === "" ? "1" : ret;
- }
- }
- }
- },
-
- // Don't automatically add "px" to these possibly-unitless properties
- cssNumber: {
- "animationIterationCount": true,
- "columnCount": true,
- "fillOpacity": true,
- "flexGrow": true,
- "flexShrink": true,
- "fontWeight": true,
- "lineHeight": true,
- "opacity": true,
- "order": true,
- "orphans": true,
- "widows": true,
- "zIndex": true,
- "zoom": true
- },
-
- // Add in properties whose names you wish to fix before
- // setting or getting the value
- cssProps: {
- "float": "cssFloat"
- },
-
- // Get and set the style property on a DOM Node
- style: function( elem, name, value, extra ) {
-
- // Don't set styles on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
- return;
- }
-
- // Make sure that we're working with the right name
- var ret, type, hooks,
- origName = jQuery.camelCase( name ),
- isCustomProp = rcustomProp.test( name ),
- style = elem.style;
-
- // Make sure that we're working with the right name. We don't
- // want to query the value if it is a CSS custom property
- // since they are user-defined.
- if ( !isCustomProp ) {
- name = finalPropName( origName );
- }
-
- // Gets hook for the prefixed version, then unprefixed version
- hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
-
- // Check if we're setting a value
- if ( value !== undefined ) {
- type = typeof value;
-
- // Convert "+=" or "-=" to relative numbers (#7345)
- if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
- value = adjustCSS( elem, name, ret );
-
- // Fixes bug #9237
- type = "number";
- }
-
- // Make sure that null and NaN values aren't set (#7116)
- if ( value == null || value !== value ) {
- return;
- }
-
- // If a number was passed in, add the unit (except for certain CSS properties)
- if ( type === "number" ) {
- value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
- }
-
- // background-* props affect original clone's values
- if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
- style[ name ] = "inherit";
- }
-
- // If a hook was provided, use that value, otherwise just set the specified value
- if ( !hooks || !( "set" in hooks ) ||
- ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
-
- if ( isCustomProp ) {
- style.setProperty( name, value );
- } else {
- style[ name ] = value;
- }
- }
-
- } else {
-
- // If a hook was provided get the non-computed value from there
- if ( hooks && "get" in hooks &&
- ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
-
- return ret;
- }
-
- // Otherwise just get the value from the style object
- return style[ name ];
- }
- },
-
- css: function( elem, name, extra, styles ) {
- var val, num, hooks,
- origName = jQuery.camelCase( name ),
- isCustomProp = rcustomProp.test( name );
-
- // Make sure that we're working with the right name. We don't
- // want to modify the value if it is a CSS custom property
- // since they are user-defined.
- if ( !isCustomProp ) {
- name = finalPropName( origName );
- }
-
- // Try prefixed name followed by the unprefixed name
- hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
-
- // If a hook was provided get the computed value from there
- if ( hooks && "get" in hooks ) {
- val = hooks.get( elem, true, extra );
- }
-
- // Otherwise, if a way to get the computed value exists, use that
- if ( val === undefined ) {
- val = curCSS( elem, name, styles );
- }
-
- // Convert "normal" to computed value
- if ( val === "normal" && name in cssNormalTransform ) {
- val = cssNormalTransform[ name ];
- }
-
- // Make numeric if forced or a qualifier was provided and val looks numeric
- if ( extra === "" || extra ) {
- num = parseFloat( val );
- return extra === true || isFinite( num ) ? num || 0 : val;
- }
-
- return val;
- }
-} );
-
-jQuery.each( [ "height", "width" ], function( i, name ) {
- jQuery.cssHooks[ name ] = {
- get: function( elem, computed, extra ) {
- if ( computed ) {
-
- // Certain elements can have dimension info if we invisibly show them
- // but it must have a current display style that would benefit
- return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
-
- // Support: Safari 8+
- // Table columns in Safari have non-zero offsetWidth & zero
- // getBoundingClientRect().width unless display is changed.
- // Support: IE <=11 only
- // Running getBoundingClientRect on a disconnected node
- // in IE throws an error.
- ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
- swap( elem, cssShow, function() {
- return getWidthOrHeight( elem, name, extra );
- } ) :
- getWidthOrHeight( elem, name, extra );
- }
- },
-
- set: function( elem, value, extra ) {
- var matches,
- styles = extra && getStyles( elem ),
- subtract = extra && augmentWidthOrHeight(
- elem,
- name,
- extra,
- jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
- styles
- );
-
- // Convert to pixels if value adjustment is needed
- if ( subtract && ( matches = rcssNum.exec( value ) ) &&
- ( matches[ 3 ] || "px" ) !== "px" ) {
-
- elem.style[ name ] = value;
- value = jQuery.css( elem, name );
- }
-
- return setPositiveNumber( elem, value, subtract );
- }
- };
-} );
-
-jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
- function( elem, computed ) {
- if ( computed ) {
- return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
- elem.getBoundingClientRect().left -
- swap( elem, { marginLeft: 0 }, function() {
- return elem.getBoundingClientRect().left;
- } )
- ) + "px";
- }
- }
-);
-
-// These hooks are used by animate to expand properties
-jQuery.each( {
- margin: "",
- padding: "",
- border: "Width"
-}, function( prefix, suffix ) {
- jQuery.cssHooks[ prefix + suffix ] = {
- expand: function( value ) {
- var i = 0,
- expanded = {},
-
- // Assumes a single number if not a string
- parts = typeof value === "string" ? value.split( " " ) : [ value ];
-
- for ( ; i < 4; i++ ) {
- expanded[ prefix + cssExpand[ i ] + suffix ] =
- parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
- }
-
- return expanded;
- }
- };
-
- if ( !rmargin.test( prefix ) ) {
- jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
- }
-} );
-
-jQuery.fn.extend( {
- css: function( name, value ) {
- return access( this, function( elem, name, value ) {
- var styles, len,
- map = {},
- i = 0;
-
- if ( Array.isArray( name ) ) {
- styles = getStyles( elem );
- len = name.length;
-
- for ( ; i < len; i++ ) {
- map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
- }
-
- return map;
- }
-
- return value !== undefined ?
- jQuery.style( elem, name, value ) :
- jQuery.css( elem, name );
- }, name, value, arguments.length > 1 );
- }
-} );
-
-
-function Tween( elem, options, prop, end, easing ) {
- return new Tween.prototype.init( elem, options, prop, end, easing );
-}
-jQuery.Tween = Tween;
-
-Tween.prototype = {
- constructor: Tween,
- init: function( elem, options, prop, end, easing, unit ) {
- this.elem = elem;
- this.prop = prop;
- this.easing = easing || jQuery.easing._default;
- this.options = options;
- this.start = this.now = this.cur();
- this.end = end;
- this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
- },
- cur: function() {
- var hooks = Tween.propHooks[ this.prop ];
-
- return hooks && hooks.get ?
- hooks.get( this ) :
- Tween.propHooks._default.get( this );
- },
- run: function( percent ) {
- var eased,
- hooks = Tween.propHooks[ this.prop ];
-
- if ( this.options.duration ) {
- this.pos = eased = jQuery.easing[ this.easing ](
- percent, this.options.duration * percent, 0, 1, this.options.duration
- );
- } else {
- this.pos = eased = percent;
- }
- this.now = ( this.end - this.start ) * eased + this.start;
-
- if ( this.options.step ) {
- this.options.step.call( this.elem, this.now, this );
- }
-
- if ( hooks && hooks.set ) {
- hooks.set( this );
- } else {
- Tween.propHooks._default.set( this );
- }
- return this;
- }
-};
-
-Tween.prototype.init.prototype = Tween.prototype;
-
-Tween.propHooks = {
- _default: {
- get: function( tween ) {
- var result;
-
- // Use a property on the element directly when it is not a DOM element,
- // or when there is no matching style property that exists.
- if ( tween.elem.nodeType !== 1 ||
- tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
- return tween.elem[ tween.prop ];
- }
-
- // Passing an empty string as a 3rd parameter to .css will automatically
- // attempt a parseFloat and fallback to a string if the parse fails.
- // Simple values such as "10px" are parsed to Float;
- // complex values such as "rotate(1rad)" are returned as-is.
- result = jQuery.css( tween.elem, tween.prop, "" );
-
- // Empty strings, null, undefined and "auto" are converted to 0.
- return !result || result === "auto" ? 0 : result;
- },
- set: function( tween ) {
-
- // Use step hook for back compat.
- // Use cssHook if its there.
- // Use .style if available and use plain properties where available.
- if ( jQuery.fx.step[ tween.prop ] ) {
- jQuery.fx.step[ tween.prop ]( tween );
- } else if ( tween.elem.nodeType === 1 &&
- ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
- jQuery.cssHooks[ tween.prop ] ) ) {
- jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
- } else {
- tween.elem[ tween.prop ] = tween.now;
- }
- }
- }
-};
-
-// Support: IE <=9 only
-// Panic based approach to setting things on disconnected nodes
-Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
- set: function( tween ) {
- if ( tween.elem.nodeType && tween.elem.parentNode ) {
- tween.elem[ tween.prop ] = tween.now;
- }
- }
-};
-
-jQuery.easing = {
- linear: function( p ) {
- return p;
- },
- swing: function( p ) {
- return 0.5 - Math.cos( p * Math.PI ) / 2;
- },
- _default: "swing"
-};
-
-jQuery.fx = Tween.prototype.init;
-
-// Back compat <1.8 extension point
-jQuery.fx.step = {};
-
-
-
-
-var
- fxNow, inProgress,
- rfxtypes = /^(?:toggle|show|hide)$/,
- rrun = /queueHooks$/;
-
-function schedule() {
- if ( inProgress ) {
- if ( document.hidden === false && window.requestAnimationFrame ) {
- window.requestAnimationFrame( schedule );
- } else {
- window.setTimeout( schedule, jQuery.fx.interval );
- }
-
- jQuery.fx.tick();
- }
-}
-
-// Animations created synchronously will run synchronously
-function createFxNow() {
- window.setTimeout( function() {
- fxNow = undefined;
- } );
- return ( fxNow = jQuery.now() );
-}
-
-// Generate parameters to create a standard animation
-function genFx( type, includeWidth ) {
- var which,
- i = 0,
- attrs = { height: type };
-
- // If we include width, step value is 1 to do all cssExpand values,
- // otherwise step value is 2 to skip over Left and Right
- includeWidth = includeWidth ? 1 : 0;
- for ( ; i < 4; i += 2 - includeWidth ) {
- which = cssExpand[ i ];
- attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
- }
-
- if ( includeWidth ) {
- attrs.opacity = attrs.width = type;
- }
-
- return attrs;
-}
-
-function createTween( value, prop, animation ) {
- var tween,
- collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
- index = 0,
- length = collection.length;
- for ( ; index < length; index++ ) {
- if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
-
- // We're done with this property
- return tween;
- }
- }
-}
-
-function defaultPrefilter( elem, props, opts ) {
- var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
- isBox = "width" in props || "height" in props,
- anim = this,
- orig = {},
- style = elem.style,
- hidden = elem.nodeType && isHiddenWithinTree( elem ),
- dataShow = dataPriv.get( elem, "fxshow" );
-
- // Queue-skipping animations hijack the fx hooks
- if ( !opts.queue ) {
- hooks = jQuery._queueHooks( elem, "fx" );
- if ( hooks.unqueued == null ) {
- hooks.unqueued = 0;
- oldfire = hooks.empty.fire;
- hooks.empty.fire = function() {
- if ( !hooks.unqueued ) {
- oldfire();
- }
- };
- }
- hooks.unqueued++;
-
- anim.always( function() {
-
- // Ensure the complete handler is called before this completes
- anim.always( function() {
- hooks.unqueued--;
- if ( !jQuery.queue( elem, "fx" ).length ) {
- hooks.empty.fire();
- }
- } );
- } );
- }
-
- // Detect show/hide animations
- for ( prop in props ) {
- value = props[ prop ];
- if ( rfxtypes.test( value ) ) {
- delete props[ prop ];
- toggle = toggle || value === "toggle";
- if ( value === ( hidden ? "hide" : "show" ) ) {
-
- // Pretend to be hidden if this is a "show" and
- // there is still data from a stopped show/hide
- if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
- hidden = true;
-
- // Ignore all other no-op show/hide data
- } else {
- continue;
- }
- }
- orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
- }
- }
-
- // Bail out if this is a no-op like .hide().hide()
- propTween = !jQuery.isEmptyObject( props );
- if ( !propTween && jQuery.isEmptyObject( orig ) ) {
- return;
- }
-
- // Restrict "overflow" and "display" styles during box animations
- if ( isBox && elem.nodeType === 1 ) {
-
- // Support: IE <=9 - 11, Edge 12 - 13
- // Record all 3 overflow attributes because IE does not infer the shorthand
- // from identically-valued overflowX and overflowY
- opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
-
- // Identify a display type, preferring old show/hide data over the CSS cascade
- restoreDisplay = dataShow && dataShow.display;
- if ( restoreDisplay == null ) {
- restoreDisplay = dataPriv.get( elem, "display" );
- }
- display = jQuery.css( elem, "display" );
- if ( display === "none" ) {
- if ( restoreDisplay ) {
- display = restoreDisplay;
- } else {
-
- // Get nonempty value(s) by temporarily forcing visibility
- showHide( [ elem ], true );
- restoreDisplay = elem.style.display || restoreDisplay;
- display = jQuery.css( elem, "display" );
- showHide( [ elem ] );
- }
- }
-
- // Animate inline elements as inline-block
- if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
- if ( jQuery.css( elem, "float" ) === "none" ) {
-
- // Restore the original display value at the end of pure show/hide animations
- if ( !propTween ) {
- anim.done( function() {
- style.display = restoreDisplay;
- } );
- if ( restoreDisplay == null ) {
- display = style.display;
- restoreDisplay = display === "none" ? "" : display;
- }
- }
- style.display = "inline-block";
- }
- }
- }
-
- if ( opts.overflow ) {
- style.overflow = "hidden";
- anim.always( function() {
- style.overflow = opts.overflow[ 0 ];
- style.overflowX = opts.overflow[ 1 ];
- style.overflowY = opts.overflow[ 2 ];
- } );
- }
-
- // Implement show/hide animations
- propTween = false;
- for ( prop in orig ) {
-
- // General show/hide setup for this element animation
- if ( !propTween ) {
- if ( dataShow ) {
- if ( "hidden" in dataShow ) {
- hidden = dataShow.hidden;
- }
- } else {
- dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
- }
-
- // Store hidden/visible for toggle so `.stop().toggle()` "reverses"
- if ( toggle ) {
- dataShow.hidden = !hidden;
- }
-
- // Show elements before animating them
- if ( hidden ) {
- showHide( [ elem ], true );
- }
-
- /* eslint-disable no-loop-func */
-
- anim.done( function() {
-
- /* eslint-enable no-loop-func */
-
- // The final step of a "hide" animation is actually hiding the element
- if ( !hidden ) {
- showHide( [ elem ] );
- }
- dataPriv.remove( elem, "fxshow" );
- for ( prop in orig ) {
- jQuery.style( elem, prop, orig[ prop ] );
- }
- } );
- }
-
- // Per-property setup
- propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
- if ( !( prop in dataShow ) ) {
- dataShow[ prop ] = propTween.start;
- if ( hidden ) {
- propTween.end = propTween.start;
- propTween.start = 0;
- }
- }
- }
-}
-
-function propFilter( props, specialEasing ) {
- var index, name, easing, value, hooks;
-
- // camelCase, specialEasing and expand cssHook pass
- for ( index in props ) {
- name = jQuery.camelCase( index );
- easing = specialEasing[ name ];
- value = props[ index ];
- if ( Array.isArray( value ) ) {
- easing = value[ 1 ];
- value = props[ index ] = value[ 0 ];
- }
-
- if ( index !== name ) {
- props[ name ] = value;
- delete props[ index ];
- }
-
- hooks = jQuery.cssHooks[ name ];
- if ( hooks && "expand" in hooks ) {
- value = hooks.expand( value );
- delete props[ name ];
-
- // Not quite $.extend, this won't overwrite existing keys.
- // Reusing 'index' because we have the correct "name"
- for ( index in value ) {
- if ( !( index in props ) ) {
- props[ index ] = value[ index ];
- specialEasing[ index ] = easing;
- }
- }
- } else {
- specialEasing[ name ] = easing;
- }
- }
-}
-
-function Animation( elem, properties, options ) {
- var result,
- stopped,
- index = 0,
- length = Animation.prefilters.length,
- deferred = jQuery.Deferred().always( function() {
-
- // Don't match elem in the :animated selector
- delete tick.elem;
- } ),
- tick = function() {
- if ( stopped ) {
- return false;
- }
- var currentTime = fxNow || createFxNow(),
- remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
-
- // Support: Android 2.3 only
- // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
- temp = remaining / animation.duration || 0,
- percent = 1 - temp,
- index = 0,
- length = animation.tweens.length;
-
- for ( ; index < length; index++ ) {
- animation.tweens[ index ].run( percent );
- }
-
- deferred.notifyWith( elem, [ animation, percent, remaining ] );
-
- // If there's more to do, yield
- if ( percent < 1 && length ) {
- return remaining;
- }
-
- // If this was an empty animation, synthesize a final progress notification
- if ( !length ) {
- deferred.notifyWith( elem, [ animation, 1, 0 ] );
- }
-
- // Resolve the animation and report its conclusion
- deferred.resolveWith( elem, [ animation ] );
- return false;
- },
- animation = deferred.promise( {
- elem: elem,
- props: jQuery.extend( {}, properties ),
- opts: jQuery.extend( true, {
- specialEasing: {},
- easing: jQuery.easing._default
- }, options ),
- originalProperties: properties,
- originalOptions: options,
- startTime: fxNow || createFxNow(),
- duration: options.duration,
- tweens: [],
- createTween: function( prop, end ) {
- var tween = jQuery.Tween( elem, animation.opts, prop, end,
- animation.opts.specialEasing[ prop ] || animation.opts.easing );
- animation.tweens.push( tween );
- return tween;
- },
- stop: function( gotoEnd ) {
- var index = 0,
-
- // If we are going to the end, we want to run all the tweens
- // otherwise we skip this part
- length = gotoEnd ? animation.tweens.length : 0;
- if ( stopped ) {
- return this;
- }
- stopped = true;
- for ( ; index < length; index++ ) {
- animation.tweens[ index ].run( 1 );
- }
-
- // Resolve when we played the last frame; otherwise, reject
- if ( gotoEnd ) {
- deferred.notifyWith( elem, [ animation, 1, 0 ] );
- deferred.resolveWith( elem, [ animation, gotoEnd ] );
- } else {
- deferred.rejectWith( elem, [ animation, gotoEnd ] );
- }
- return this;
- }
- } ),
- props = animation.props;
-
- propFilter( props, animation.opts.specialEasing );
-
- for ( ; index < length; index++ ) {
- result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
- if ( result ) {
- if ( jQuery.isFunction( result.stop ) ) {
- jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
- jQuery.proxy( result.stop, result );
- }
- return result;
- }
- }
-
- jQuery.map( props, createTween, animation );
-
- if ( jQuery.isFunction( animation.opts.start ) ) {
- animation.opts.start.call( elem, animation );
- }
-
- // Attach callbacks from options
- animation
- .progress( animation.opts.progress )
- .done( animation.opts.done, animation.opts.complete )
- .fail( animation.opts.fail )
- .always( animation.opts.always );
-
- jQuery.fx.timer(
- jQuery.extend( tick, {
- elem: elem,
- anim: animation,
- queue: animation.opts.queue
- } )
- );
-
- return animation;
-}
-
-jQuery.Animation = jQuery.extend( Animation, {
-
- tweeners: {
- "*": [ function( prop, value ) {
- var tween = this.createTween( prop, value );
- adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
- return tween;
- } ]
- },
-
- tweener: function( props, callback ) {
- if ( jQuery.isFunction( props ) ) {
- callback = props;
- props = [ "*" ];
- } else {
- props = props.match( rnothtmlwhite );
- }
-
- var prop,
- index = 0,
- length = props.length;
-
- for ( ; index < length; index++ ) {
- prop = props[ index ];
- Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
- Animation.tweeners[ prop ].unshift( callback );
- }
- },
-
- prefilters: [ defaultPrefilter ],
-
- prefilter: function( callback, prepend ) {
- if ( prepend ) {
- Animation.prefilters.unshift( callback );
- } else {
- Animation.prefilters.push( callback );
- }
- }
-} );
-
-jQuery.speed = function( speed, easing, fn ) {
- var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
- complete: fn || !fn && easing ||
- jQuery.isFunction( speed ) && speed,
- duration: speed,
- easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
- };
-
- // Go to the end state if fx are off
- if ( jQuery.fx.off ) {
- opt.duration = 0;
-
- } else {
- if ( typeof opt.duration !== "number" ) {
- if ( opt.duration in jQuery.fx.speeds ) {
- opt.duration = jQuery.fx.speeds[ opt.duration ];
-
- } else {
- opt.duration = jQuery.fx.speeds._default;
- }
- }
- }
-
- // Normalize opt.queue - true/undefined/null -> "fx"
- if ( opt.queue == null || opt.queue === true ) {
- opt.queue = "fx";
- }
-
- // Queueing
- opt.old = opt.complete;
-
- opt.complete = function() {
- if ( jQuery.isFunction( opt.old ) ) {
- opt.old.call( this );
- }
-
- if ( opt.queue ) {
- jQuery.dequeue( this, opt.queue );
- }
- };
-
- return opt;
-};
-
-jQuery.fn.extend( {
- fadeTo: function( speed, to, easing, callback ) {
-
- // Show any hidden elements after setting opacity to 0
- return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
-
- // Animate to the value specified
- .end().animate( { opacity: to }, speed, easing, callback );
- },
- animate: function( prop, speed, easing, callback ) {
- var empty = jQuery.isEmptyObject( prop ),
- optall = jQuery.speed( speed, easing, callback ),
- doAnimation = function() {
-
- // Operate on a copy of prop so per-property easing won't be lost
- var anim = Animation( this, jQuery.extend( {}, prop ), optall );
-
- // Empty animations, or finishing resolves immediately
- if ( empty || dataPriv.get( this, "finish" ) ) {
- anim.stop( true );
- }
- };
- doAnimation.finish = doAnimation;
-
- return empty || optall.queue === false ?
- this.each( doAnimation ) :
- this.queue( optall.queue, doAnimation );
- },
- stop: function( type, clearQueue, gotoEnd ) {
- var stopQueue = function( hooks ) {
- var stop = hooks.stop;
- delete hooks.stop;
- stop( gotoEnd );
- };
-
- if ( typeof type !== "string" ) {
- gotoEnd = clearQueue;
- clearQueue = type;
- type = undefined;
- }
- if ( clearQueue && type !== false ) {
- this.queue( type || "fx", [] );
- }
-
- return this.each( function() {
- var dequeue = true,
- index = type != null && type + "queueHooks",
- timers = jQuery.timers,
- data = dataPriv.get( this );
-
- if ( index ) {
- if ( data[ index ] && data[ index ].stop ) {
- stopQueue( data[ index ] );
- }
- } else {
- for ( index in data ) {
- if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
- stopQueue( data[ index ] );
- }
- }
- }
-
- for ( index = timers.length; index--; ) {
- if ( timers[ index ].elem === this &&
- ( type == null || timers[ index ].queue === type ) ) {
-
- timers[ index ].anim.stop( gotoEnd );
- dequeue = false;
- timers.splice( index, 1 );
- }
- }
-
- // Start the next in the queue if the last step wasn't forced.
- // Timers currently will call their complete callbacks, which
- // will dequeue but only if they were gotoEnd.
- if ( dequeue || !gotoEnd ) {
- jQuery.dequeue( this, type );
- }
- } );
- },
- finish: function( type ) {
- if ( type !== false ) {
- type = type || "fx";
- }
- return this.each( function() {
- var index,
- data = dataPriv.get( this ),
- queue = data[ type + "queue" ],
- hooks = data[ type + "queueHooks" ],
- timers = jQuery.timers,
- length = queue ? queue.length : 0;
-
- // Enable finishing flag on private data
- data.finish = true;
-
- // Empty the queue first
- jQuery.queue( this, type, [] );
-
- if ( hooks && hooks.stop ) {
- hooks.stop.call( this, true );
- }
-
- // Look for any active animations, and finish them
- for ( index = timers.length; index--; ) {
- if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
- timers[ index ].anim.stop( true );
- timers.splice( index, 1 );
- }
- }
-
- // Look for any animations in the old queue and finish them
- for ( index = 0; index < length; index++ ) {
- if ( queue[ index ] && queue[ index ].finish ) {
- queue[ index ].finish.call( this );
- }
- }
-
- // Turn off finishing flag
- delete data.finish;
- } );
- }
-} );
-
-jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
- var cssFn = jQuery.fn[ name ];
- jQuery.fn[ name ] = function( speed, easing, callback ) {
- return speed == null || typeof speed === "boolean" ?
- cssFn.apply( this, arguments ) :
- this.animate( genFx( name, true ), speed, easing, callback );
- };
-} );
-
-// Generate shortcuts for custom animations
-jQuery.each( {
- slideDown: genFx( "show" ),
- slideUp: genFx( "hide" ),
- slideToggle: genFx( "toggle" ),
- fadeIn: { opacity: "show" },
- fadeOut: { opacity: "hide" },
- fadeToggle: { opacity: "toggle" }
-}, function( name, props ) {
- jQuery.fn[ name ] = function( speed, easing, callback ) {
- return this.animate( props, speed, easing, callback );
- };
-} );
-
-jQuery.timers = [];
-jQuery.fx.tick = function() {
- var timer,
- i = 0,
- timers = jQuery.timers;
-
- fxNow = jQuery.now();
-
- for ( ; i < timers.length; i++ ) {
- timer = timers[ i ];
-
- // Run the timer and safely remove it when done (allowing for external removal)
- if ( !timer() && timers[ i ] === timer ) {
- timers.splice( i--, 1 );
- }
- }
-
- if ( !timers.length ) {
- jQuery.fx.stop();
- }
- fxNow = undefined;
-};
-
-jQuery.fx.timer = function( timer ) {
- jQuery.timers.push( timer );
- jQuery.fx.start();
-};
-
-jQuery.fx.interval = 13;
-jQuery.fx.start = function() {
- if ( inProgress ) {
- return;
- }
-
- inProgress = true;
- schedule();
-};
-
-jQuery.fx.stop = function() {
- inProgress = null;
-};
-
-jQuery.fx.speeds = {
- slow: 600,
- fast: 200,
-
- // Default speed
- _default: 400
-};
-
-
-// Based off of the plugin by Clint Helfers, with permission.
-// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
-jQuery.fn.delay = function( time, type ) {
- time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
- type = type || "fx";
-
- return this.queue( type, function( next, hooks ) {
- var timeout = window.setTimeout( next, time );
- hooks.stop = function() {
- window.clearTimeout( timeout );
- };
- } );
-};
-
-
-( function() {
- var input = document.createElement( "input" ),
- select = document.createElement( "select" ),
- opt = select.appendChild( document.createElement( "option" ) );
-
- input.type = "checkbox";
-
- // Support: Android <=4.3 only
- // Default value for a checkbox should be "on"
- support.checkOn = input.value !== "";
-
- // Support: IE <=11 only
- // Must access selectedIndex to make default options select
- support.optSelected = opt.selected;
-
- // Support: IE <=11 only
- // An input loses its value after becoming a radio
- input = document.createElement( "input" );
- input.value = "t";
- input.type = "radio";
- support.radioValue = input.value === "t";
-} )();
-
-
-var boolHook,
- attrHandle = jQuery.expr.attrHandle;
-
-jQuery.fn.extend( {
- attr: function( name, value ) {
- return access( this, jQuery.attr, name, value, arguments.length > 1 );
- },
-
- removeAttr: function( name ) {
- return this.each( function() {
- jQuery.removeAttr( this, name );
- } );
- }
-} );
-
-jQuery.extend( {
- attr: function( elem, name, value ) {
- var ret, hooks,
- nType = elem.nodeType;
-
- // Don't get/set attributes on text, comment and attribute nodes
- if ( nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- // Fallback to prop when attributes are not supported
- if ( typeof elem.getAttribute === "undefined" ) {
- return jQuery.prop( elem, name, value );
- }
-
- // Attribute hooks are determined by the lowercase version
- // Grab necessary hook if one is defined
- if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
- hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
- ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
- }
-
- if ( value !== undefined ) {
- if ( value === null ) {
- jQuery.removeAttr( elem, name );
- return;
- }
-
- if ( hooks && "set" in hooks &&
- ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
- return ret;
- }
-
- elem.setAttribute( name, value + "" );
- return value;
- }
-
- if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
- return ret;
- }
-
- ret = jQuery.find.attr( elem, name );
-
- // Non-existent attributes return null, we normalize to undefined
- return ret == null ? undefined : ret;
- },
-
- attrHooks: {
- type: {
- set: function( elem, value ) {
- if ( !support.radioValue && value === "radio" &&
- nodeName( elem, "input" ) ) {
- var val = elem.value;
- elem.setAttribute( "type", value );
- if ( val ) {
- elem.value = val;
- }
- return value;
- }
- }
- }
- },
-
- removeAttr: function( elem, value ) {
- var name,
- i = 0,
-
- // Attribute names can contain non-HTML whitespace characters
- // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
- attrNames = value && value.match( rnothtmlwhite );
-
- if ( attrNames && elem.nodeType === 1 ) {
- while ( ( name = attrNames[ i++ ] ) ) {
- elem.removeAttribute( name );
- }
- }
- }
-} );
-
-// Hooks for boolean attributes
-boolHook = {
- set: function( elem, value, name ) {
- if ( value === false ) {
-
- // Remove boolean attributes when set to false
- jQuery.removeAttr( elem, name );
- } else {
- elem.setAttribute( name, name );
- }
- return name;
- }
-};
-
-jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
- var getter = attrHandle[ name ] || jQuery.find.attr;
-
- attrHandle[ name ] = function( elem, name, isXML ) {
- var ret, handle,
- lowercaseName = name.toLowerCase();
-
- if ( !isXML ) {
-
- // Avoid an infinite loop by temporarily removing this function from the getter
- handle = attrHandle[ lowercaseName ];
- attrHandle[ lowercaseName ] = ret;
- ret = getter( elem, name, isXML ) != null ?
- lowercaseName :
- null;
- attrHandle[ lowercaseName ] = handle;
- }
- return ret;
- };
-} );
-
-
-
-
-var rfocusable = /^(?:input|select|textarea|button)$/i,
- rclickable = /^(?:a|area)$/i;
-
-jQuery.fn.extend( {
- prop: function( name, value ) {
- return access( this, jQuery.prop, name, value, arguments.length > 1 );
- },
-
- removeProp: function( name ) {
- return this.each( function() {
- delete this[ jQuery.propFix[ name ] || name ];
- } );
- }
-} );
-
-jQuery.extend( {
- prop: function( elem, name, value ) {
- var ret, hooks,
- nType = elem.nodeType;
-
- // Don't get/set properties on text, comment and attribute nodes
- if ( nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
-
- // Fix name and attach hooks
- name = jQuery.propFix[ name ] || name;
- hooks = jQuery.propHooks[ name ];
- }
-
- if ( value !== undefined ) {
- if ( hooks && "set" in hooks &&
- ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
- return ret;
- }
-
- return ( elem[ name ] = value );
- }
-
- if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
- return ret;
- }
-
- return elem[ name ];
- },
-
- propHooks: {
- tabIndex: {
- get: function( elem ) {
-
- // Support: IE <=9 - 11 only
- // elem.tabIndex doesn't always return the
- // correct value when it hasn't been explicitly set
- // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
- // Use proper attribute retrieval(#12072)
- var tabindex = jQuery.find.attr( elem, "tabindex" );
-
- if ( tabindex ) {
- return parseInt( tabindex, 10 );
- }
-
- if (
- rfocusable.test( elem.nodeName ) ||
- rclickable.test( elem.nodeName ) &&
- elem.href
- ) {
- return 0;
- }
-
- return -1;
- }
- }
- },
-
- propFix: {
- "for": "htmlFor",
- "class": "className"
- }
-} );
-
-// Support: IE <=11 only
-// Accessing the selectedIndex property
-// forces the browser to respect setting selected
-// on the option
-// The getter ensures a default option is selected
-// when in an optgroup
-// eslint rule "no-unused-expressions" is disabled for this code
-// since it considers such accessions noop
-if ( !support.optSelected ) {
- jQuery.propHooks.selected = {
- get: function( elem ) {
-
- /* eslint no-unused-expressions: "off" */
-
- var parent = elem.parentNode;
- if ( parent && parent.parentNode ) {
- parent.parentNode.selectedIndex;
- }
- return null;
- },
- set: function( elem ) {
-
- /* eslint no-unused-expressions: "off" */
-
- var parent = elem.parentNode;
- if ( parent ) {
- parent.selectedIndex;
-
- if ( parent.parentNode ) {
- parent.parentNode.selectedIndex;
- }
- }
- }
- };
-}
-
-jQuery.each( [
- "tabIndex",
- "readOnly",
- "maxLength",
- "cellSpacing",
- "cellPadding",
- "rowSpan",
- "colSpan",
- "useMap",
- "frameBorder",
- "contentEditable"
-], function() {
- jQuery.propFix[ this.toLowerCase() ] = this;
-} );
-
-
-
-
- // Strip and collapse whitespace according to HTML spec
- // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace
- function stripAndCollapse( value ) {
- var tokens = value.match( rnothtmlwhite ) || [];
- return tokens.join( " " );
- }
-
-
-function getClass( elem ) {
- return elem.getAttribute && elem.getAttribute( "class" ) || "";
-}
-
-jQuery.fn.extend( {
- addClass: function( value ) {
- var classes, elem, cur, curValue, clazz, j, finalValue,
- i = 0;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each( function( j ) {
- jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
- } );
- }
-
- if ( typeof value === "string" && value ) {
- classes = value.match( rnothtmlwhite ) || [];
-
- while ( ( elem = this[ i++ ] ) ) {
- curValue = getClass( elem );
- cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
-
- if ( cur ) {
- j = 0;
- while ( ( clazz = classes[ j++ ] ) ) {
- if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
- cur += clazz + " ";
- }
- }
-
- // Only assign if different to avoid unneeded rendering.
- finalValue = stripAndCollapse( cur );
- if ( curValue !== finalValue ) {
- elem.setAttribute( "class", finalValue );
- }
- }
- }
- }
-
- return this;
- },
-
- removeClass: function( value ) {
- var classes, elem, cur, curValue, clazz, j, finalValue,
- i = 0;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each( function( j ) {
- jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
- } );
- }
-
- if ( !arguments.length ) {
- return this.attr( "class", "" );
- }
-
- if ( typeof value === "string" && value ) {
- classes = value.match( rnothtmlwhite ) || [];
-
- while ( ( elem = this[ i++ ] ) ) {
- curValue = getClass( elem );
-
- // This expression is here for better compressibility (see addClass)
- cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
-
- if ( cur ) {
- j = 0;
- while ( ( clazz = classes[ j++ ] ) ) {
-
- // Remove *all* instances
- while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
- cur = cur.replace( " " + clazz + " ", " " );
- }
- }
-
- // Only assign if different to avoid unneeded rendering.
- finalValue = stripAndCollapse( cur );
- if ( curValue !== finalValue ) {
- elem.setAttribute( "class", finalValue );
- }
- }
- }
- }
-
- return this;
- },
-
- toggleClass: function( value, stateVal ) {
- var type = typeof value;
-
- if ( typeof stateVal === "boolean" && type === "string" ) {
- return stateVal ? this.addClass( value ) : this.removeClass( value );
- }
-
- if ( jQuery.isFunction( value ) ) {
- return this.each( function( i ) {
- jQuery( this ).toggleClass(
- value.call( this, i, getClass( this ), stateVal ),
- stateVal
- );
- } );
- }
-
- return this.each( function() {
- var className, i, self, classNames;
-
- if ( type === "string" ) {
-
- // Toggle individual class names
- i = 0;
- self = jQuery( this );
- classNames = value.match( rnothtmlwhite ) || [];
-
- while ( ( className = classNames[ i++ ] ) ) {
-
- // Check each className given, space separated list
- if ( self.hasClass( className ) ) {
- self.removeClass( className );
- } else {
- self.addClass( className );
- }
- }
-
- // Toggle whole class name
- } else if ( value === undefined || type === "boolean" ) {
- className = getClass( this );
- if ( className ) {
-
- // Store className if set
- dataPriv.set( this, "__className__", className );
- }
-
- // If the element has a class name or if we're passed `false`,
- // then remove the whole classname (if there was one, the above saved it).
- // Otherwise bring back whatever was previously saved (if anything),
- // falling back to the empty string if nothing was stored.
- if ( this.setAttribute ) {
- this.setAttribute( "class",
- className || value === false ?
- "" :
- dataPriv.get( this, "__className__" ) || ""
- );
- }
- }
- } );
- },
-
- hasClass: function( selector ) {
- var className, elem,
- i = 0;
-
- className = " " + selector + " ";
- while ( ( elem = this[ i++ ] ) ) {
- if ( elem.nodeType === 1 &&
- ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
- return true;
- }
- }
-
- return false;
- }
-} );
-
-
-
-
-var rreturn = /\r/g;
-
-jQuery.fn.extend( {
- val: function( value ) {
- var hooks, ret, isFunction,
- elem = this[ 0 ];
-
- if ( !arguments.length ) {
- if ( elem ) {
- hooks = jQuery.valHooks[ elem.type ] ||
- jQuery.valHooks[ elem.nodeName.toLowerCase() ];
-
- if ( hooks &&
- "get" in hooks &&
- ( ret = hooks.get( elem, "value" ) ) !== undefined
- ) {
- return ret;
- }
-
- ret = elem.value;
-
- // Handle most common string cases
- if ( typeof ret === "string" ) {
- return ret.replace( rreturn, "" );
- }
-
- // Handle cases where value is null/undef or number
- return ret == null ? "" : ret;
- }
-
- return;
- }
-
- isFunction = jQuery.isFunction( value );
-
- return this.each( function( i ) {
- var val;
-
- if ( this.nodeType !== 1 ) {
- return;
- }
-
- if ( isFunction ) {
- val = value.call( this, i, jQuery( this ).val() );
- } else {
- val = value;
- }
-
- // Treat null/undefined as ""; convert numbers to string
- if ( val == null ) {
- val = "";
-
- } else if ( typeof val === "number" ) {
- val += "";
-
- } else if ( Array.isArray( val ) ) {
- val = jQuery.map( val, function( value ) {
- return value == null ? "" : value + "";
- } );
- }
-
- hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
-
- // If set returns undefined, fall back to normal setting
- if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
- this.value = val;
- }
- } );
- }
-} );
-
-jQuery.extend( {
- valHooks: {
- option: {
- get: function( elem ) {
-
- var val = jQuery.find.attr( elem, "value" );
- return val != null ?
- val :
-
- // Support: IE <=10 - 11 only
- // option.text throws exceptions (#14686, #14858)
- // Strip and collapse whitespace
- // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
- stripAndCollapse( jQuery.text( elem ) );
- }
- },
- select: {
- get: function( elem ) {
- var value, option, i,
- options = elem.options,
- index = elem.selectedIndex,
- one = elem.type === "select-one",
- values = one ? null : [],
- max = one ? index + 1 : options.length;
-
- if ( index < 0 ) {
- i = max;
-
- } else {
- i = one ? index : 0;
- }
-
- // Loop through all the selected options
- for ( ; i < max; i++ ) {
- option = options[ i ];
-
- // Support: IE <=9 only
- // IE8-9 doesn't update selected after form reset (#2551)
- if ( ( option.selected || i === index ) &&
-
- // Don't return options that are disabled or in a disabled optgroup
- !option.disabled &&
- ( !option.parentNode.disabled ||
- !nodeName( option.parentNode, "optgroup" ) ) ) {
-
- // Get the specific value for the option
- value = jQuery( option ).val();
-
- // We don't need an array for one selects
- if ( one ) {
- return value;
- }
-
- // Multi-Selects return an array
- values.push( value );
- }
- }
-
- return values;
- },
-
- set: function( elem, value ) {
- var optionSet, option,
- options = elem.options,
- values = jQuery.makeArray( value ),
- i = options.length;
-
- while ( i-- ) {
- option = options[ i ];
-
- /* eslint-disable no-cond-assign */
-
- if ( option.selected =
- jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
- ) {
- optionSet = true;
- }
-
- /* eslint-enable no-cond-assign */
- }
-
- // Force browsers to behave consistently when non-matching value is set
- if ( !optionSet ) {
- elem.selectedIndex = -1;
- }
- return values;
- }
- }
- }
-} );
-
-// Radios and checkboxes getter/setter
-jQuery.each( [ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = {
- set: function( elem, value ) {
- if ( Array.isArray( value ) ) {
- return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
- }
- }
- };
- if ( !support.checkOn ) {
- jQuery.valHooks[ this ].get = function( elem ) {
- return elem.getAttribute( "value" ) === null ? "on" : elem.value;
- };
- }
-} );
-
-
-
-
-// Return jQuery for attributes-only inclusion
-
-
-var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
-
-jQuery.extend( jQuery.event, {
-
- trigger: function( event, data, elem, onlyHandlers ) {
-
- var i, cur, tmp, bubbleType, ontype, handle, special,
- eventPath = [ elem || document ],
- type = hasOwn.call( event, "type" ) ? event.type : event,
- namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
-
- cur = tmp = elem = elem || document;
-
- // Don't do events on text and comment nodes
- if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
- return;
- }
-
- // focus/blur morphs to focusin/out; ensure we're not firing them right now
- if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
- return;
- }
-
- if ( type.indexOf( "." ) > -1 ) {
-
- // Namespaced trigger; create a regexp to match event type in handle()
- namespaces = type.split( "." );
- type = namespaces.shift();
- namespaces.sort();
- }
- ontype = type.indexOf( ":" ) < 0 && "on" + type;
-
- // Caller can pass in a jQuery.Event object, Object, or just an event type string
- event = event[ jQuery.expando ] ?
- event :
- new jQuery.Event( type, typeof event === "object" && event );
-
- // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
- event.isTrigger = onlyHandlers ? 2 : 3;
- event.namespace = namespaces.join( "." );
- event.rnamespace = event.namespace ?
- new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
- null;
-
- // Clean up the event in case it is being reused
- event.result = undefined;
- if ( !event.target ) {
- event.target = elem;
- }
-
- // Clone any incoming data and prepend the event, creating the handler arg list
- data = data == null ?
- [ event ] :
- jQuery.makeArray( data, [ event ] );
-
- // Allow special events to draw outside the lines
- special = jQuery.event.special[ type ] || {};
- if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
- return;
- }
-
- // Determine event propagation path in advance, per W3C events spec (#9951)
- // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
- if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
-
- bubbleType = special.delegateType || type;
- if ( !rfocusMorph.test( bubbleType + type ) ) {
- cur = cur.parentNode;
- }
- for ( ; cur; cur = cur.parentNode ) {
- eventPath.push( cur );
- tmp = cur;
- }
-
- // Only add window if we got to document (e.g., not plain obj or detached DOM)
- if ( tmp === ( elem.ownerDocument || document ) ) {
- eventPath.push( tmp.defaultView || tmp.parentWindow || window );
- }
- }
-
- // Fire handlers on the event path
- i = 0;
- while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
-
- event.type = i > 1 ?
- bubbleType :
- special.bindType || type;
-
- // jQuery handler
- handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
- dataPriv.get( cur, "handle" );
- if ( handle ) {
- handle.apply( cur, data );
- }
-
- // Native handler
- handle = ontype && cur[ ontype ];
- if ( handle && handle.apply && acceptData( cur ) ) {
- event.result = handle.apply( cur, data );
- if ( event.result === false ) {
- event.preventDefault();
- }
- }
- }
- event.type = type;
-
- // If nobody prevented the default action, do it now
- if ( !onlyHandlers && !event.isDefaultPrevented() ) {
-
- if ( ( !special._default ||
- special._default.apply( eventPath.pop(), data ) === false ) &&
- acceptData( elem ) ) {
-
- // Call a native DOM method on the target with the same name as the event.
- // Don't do default actions on window, that's where global variables be (#6170)
- if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
-
- // Don't re-trigger an onFOO event when we call its FOO() method
- tmp = elem[ ontype ];
-
- if ( tmp ) {
- elem[ ontype ] = null;
- }
-
- // Prevent re-triggering of the same event, since we already bubbled it above
- jQuery.event.triggered = type;
- elem[ type ]();
- jQuery.event.triggered = undefined;
-
- if ( tmp ) {
- elem[ ontype ] = tmp;
- }
- }
- }
- }
-
- return event.result;
- },
-
- // Piggyback on a donor event to simulate a different one
- // Used only for `focus(in | out)` events
- simulate: function( type, elem, event ) {
- var e = jQuery.extend(
- new jQuery.Event(),
- event,
- {
- type: type,
- isSimulated: true
- }
- );
-
- jQuery.event.trigger( e, null, elem );
- }
-
-} );
-
-jQuery.fn.extend( {
-
- trigger: function( type, data ) {
- return this.each( function() {
- jQuery.event.trigger( type, data, this );
- } );
- },
- triggerHandler: function( type, data ) {
- var elem = this[ 0 ];
- if ( elem ) {
- return jQuery.event.trigger( type, data, elem, true );
- }
- }
-} );
-
-
-jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
- "change select submit keydown keypress keyup contextmenu" ).split( " " ),
- function( i, name ) {
-
- // Handle event binding
- jQuery.fn[ name ] = function( data, fn ) {
- return arguments.length > 0 ?
- this.on( name, null, data, fn ) :
- this.trigger( name );
- };
-} );
-
-jQuery.fn.extend( {
- hover: function( fnOver, fnOut ) {
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
- }
-} );
-
-
-
-
-support.focusin = "onfocusin" in window;
-
-
-// Support: Firefox <=44
-// Firefox doesn't have focus(in | out) events
-// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
-//
-// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
-// focus(in | out) events fire after focus & blur events,
-// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
-// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
-if ( !support.focusin ) {
- jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-
- // Attach a single capturing handler on the document while someone wants focusin/focusout
- var handler = function( event ) {
- jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
- };
-
- jQuery.event.special[ fix ] = {
- setup: function() {
- var doc = this.ownerDocument || this,
- attaches = dataPriv.access( doc, fix );
-
- if ( !attaches ) {
- doc.addEventListener( orig, handler, true );
- }
- dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
- },
- teardown: function() {
- var doc = this.ownerDocument || this,
- attaches = dataPriv.access( doc, fix ) - 1;
-
- if ( !attaches ) {
- doc.removeEventListener( orig, handler, true );
- dataPriv.remove( doc, fix );
-
- } else {
- dataPriv.access( doc, fix, attaches );
- }
- }
- };
- } );
-}
-var location = window.location;
-
-var nonce = jQuery.now();
-
-var rquery = ( /\?/ );
-
-
-
-// Cross-browser xml parsing
-jQuery.parseXML = function( data ) {
- var xml;
- if ( !data || typeof data !== "string" ) {
- return null;
- }
-
- // Support: IE 9 - 11 only
- // IE throws on parseFromString with invalid input.
- try {
- xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
- } catch ( e ) {
- xml = undefined;
- }
-
- if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
- jQuery.error( "Invalid XML: " + data );
- }
- return xml;
-};
-
-
-var
- rbracket = /\[\]$/,
- rCRLF = /\r?\n/g,
- rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
- rsubmittable = /^(?:input|select|textarea|keygen)/i;
-
-function buildParams( prefix, obj, traditional, add ) {
- var name;
-
- if ( Array.isArray( obj ) ) {
-
- // Serialize array item.
- jQuery.each( obj, function( i, v ) {
- if ( traditional || rbracket.test( prefix ) ) {
-
- // Treat each array item as a scalar.
- add( prefix, v );
-
- } else {
-
- // Item is non-scalar (array or object), encode its numeric index.
- buildParams(
- prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
- v,
- traditional,
- add
- );
- }
- } );
-
- } else if ( !traditional && jQuery.type( obj ) === "object" ) {
-
- // Serialize object item.
- for ( name in obj ) {
- buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
- }
-
- } else {
-
- // Serialize scalar item.
- add( prefix, obj );
- }
-}
-
-// Serialize an array of form elements or a set of
-// key/values into a query string
-jQuery.param = function( a, traditional ) {
- var prefix,
- s = [],
- add = function( key, valueOrFunction ) {
-
- // If value is a function, invoke it and use its return value
- var value = jQuery.isFunction( valueOrFunction ) ?
- valueOrFunction() :
- valueOrFunction;
-
- s[ s.length ] = encodeURIComponent( key ) + "=" +
- encodeURIComponent( value == null ? "" : value );
- };
-
- // If an array was passed in, assume that it is an array of form elements.
- if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
-
- // Serialize the form elements
- jQuery.each( a, function() {
- add( this.name, this.value );
- } );
-
- } else {
-
- // If traditional, encode the "old" way (the way 1.3.2 or older
- // did it), otherwise encode params recursively.
- for ( prefix in a ) {
- buildParams( prefix, a[ prefix ], traditional, add );
- }
- }
-
- // Return the resulting serialization
- return s.join( "&" );
-};
-
-jQuery.fn.extend( {
- serialize: function() {
- return jQuery.param( this.serializeArray() );
- },
- serializeArray: function() {
- return this.map( function() {
-
- // Can add propHook for "elements" to filter or add form elements
- var elements = jQuery.prop( this, "elements" );
- return elements ? jQuery.makeArray( elements ) : this;
- } )
- .filter( function() {
- var type = this.type;
-
- // Use .is( ":disabled" ) so that fieldset[disabled] works
- return this.name && !jQuery( this ).is( ":disabled" ) &&
- rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
- ( this.checked || !rcheckableType.test( type ) );
- } )
- .map( function( i, elem ) {
- var val = jQuery( this ).val();
-
- if ( val == null ) {
- return null;
- }
-
- if ( Array.isArray( val ) ) {
- return jQuery.map( val, function( val ) {
- return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
- } );
- }
-
- return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
- } ).get();
- }
-} );
-
-
-var
- r20 = /%20/g,
- rhash = /#.*$/,
- rantiCache = /([?&])_=[^&]*/,
- rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
-
- // #7653, #8125, #8152: local protocol detection
- rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
- rnoContent = /^(?:GET|HEAD)$/,
- rprotocol = /^\/\//,
-
- /* Prefilters
- * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
- * 2) These are called:
- * - BEFORE asking for a transport
- * - AFTER param serialization (s.data is a string if s.processData is true)
- * 3) key is the dataType
- * 4) the catchall symbol "*" can be used
- * 5) execution will start with transport dataType and THEN continue down to "*" if needed
- */
- prefilters = {},
-
- /* Transports bindings
- * 1) key is the dataType
- * 2) the catchall symbol "*" can be used
- * 3) selection will start with transport dataType and THEN go to "*" if needed
- */
- transports = {},
-
- // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
- allTypes = "*/".concat( "*" ),
-
- // Anchor tag for parsing the document origin
- originAnchor = document.createElement( "a" );
- originAnchor.href = location.href;
-
-// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
-function addToPrefiltersOrTransports( structure ) {
-
- // dataTypeExpression is optional and defaults to "*"
- return function( dataTypeExpression, func ) {
-
- if ( typeof dataTypeExpression !== "string" ) {
- func = dataTypeExpression;
- dataTypeExpression = "*";
- }
-
- var dataType,
- i = 0,
- dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
-
- if ( jQuery.isFunction( func ) ) {
-
- // For each dataType in the dataTypeExpression
- while ( ( dataType = dataTypes[ i++ ] ) ) {
-
- // Prepend if requested
- if ( dataType[ 0 ] === "+" ) {
- dataType = dataType.slice( 1 ) || "*";
- ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
-
- // Otherwise append
- } else {
- ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
- }
- }
- }
- };
-}
-
-// Base inspection function for prefilters and transports
-function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
-
- var inspected = {},
- seekingTransport = ( structure === transports );
-
- function inspect( dataType ) {
- var selected;
- inspected[ dataType ] = true;
- jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
- var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
- if ( typeof dataTypeOrTransport === "string" &&
- !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
-
- options.dataTypes.unshift( dataTypeOrTransport );
- inspect( dataTypeOrTransport );
- return false;
- } else if ( seekingTransport ) {
- return !( selected = dataTypeOrTransport );
- }
- } );
- return selected;
- }
-
- return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
-}
-
-// A special extend for ajax options
-// that takes "flat" options (not to be deep extended)
-// Fixes #9887
-function ajaxExtend( target, src ) {
- var key, deep,
- flatOptions = jQuery.ajaxSettings.flatOptions || {};
-
- for ( key in src ) {
- if ( src[ key ] !== undefined ) {
- ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
- }
- }
- if ( deep ) {
- jQuery.extend( true, target, deep );
- }
-
- return target;
-}
-
-/* Handles responses to an ajax request:
- * - finds the right dataType (mediates between content-type and expected dataType)
- * - returns the corresponding response
- */
-function ajaxHandleResponses( s, jqXHR, responses ) {
-
- var ct, type, finalDataType, firstDataType,
- contents = s.contents,
- dataTypes = s.dataTypes;
-
- // Remove auto dataType and get content-type in the process
- while ( dataTypes[ 0 ] === "*" ) {
- dataTypes.shift();
- if ( ct === undefined ) {
- ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
- }
- }
-
- // Check if we're dealing with a known content-type
- if ( ct ) {
- for ( type in contents ) {
- if ( contents[ type ] && contents[ type ].test( ct ) ) {
- dataTypes.unshift( type );
- break;
- }
- }
- }
-
- // Check to see if we have a response for the expected dataType
- if ( dataTypes[ 0 ] in responses ) {
- finalDataType = dataTypes[ 0 ];
- } else {
-
- // Try convertible dataTypes
- for ( type in responses ) {
- if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
- finalDataType = type;
- break;
- }
- if ( !firstDataType ) {
- firstDataType = type;
- }
- }
-
- // Or just use first one
- finalDataType = finalDataType || firstDataType;
- }
-
- // If we found a dataType
- // We add the dataType to the list if needed
- // and return the corresponding response
- if ( finalDataType ) {
- if ( finalDataType !== dataTypes[ 0 ] ) {
- dataTypes.unshift( finalDataType );
- }
- return responses[ finalDataType ];
- }
-}
-
-/* Chain conversions given the request and the original response
- * Also sets the responseXXX fields on the jqXHR instance
- */
-function ajaxConvert( s, response, jqXHR, isSuccess ) {
- var conv2, current, conv, tmp, prev,
- converters = {},
-
- // Work with a copy of dataTypes in case we need to modify it for conversion
- dataTypes = s.dataTypes.slice();
-
- // Create converters map with lowercased keys
- if ( dataTypes[ 1 ] ) {
- for ( conv in s.converters ) {
- converters[ conv.toLowerCase() ] = s.converters[ conv ];
- }
- }
-
- current = dataTypes.shift();
-
- // Convert to each sequential dataType
- while ( current ) {
-
- if ( s.responseFields[ current ] ) {
- jqXHR[ s.responseFields[ current ] ] = response;
- }
-
- // Apply the dataFilter if provided
- if ( !prev && isSuccess && s.dataFilter ) {
- response = s.dataFilter( response, s.dataType );
- }
-
- prev = current;
- current = dataTypes.shift();
-
- if ( current ) {
-
- // There's only work to do if current dataType is non-auto
- if ( current === "*" ) {
-
- current = prev;
-
- // Convert response if prev dataType is non-auto and differs from current
- } else if ( prev !== "*" && prev !== current ) {
-
- // Seek a direct converter
- conv = converters[ prev + " " + current ] || converters[ "* " + current ];
-
- // If none found, seek a pair
- if ( !conv ) {
- for ( conv2 in converters ) {
-
- // If conv2 outputs current
- tmp = conv2.split( " " );
- if ( tmp[ 1 ] === current ) {
-
- // If prev can be converted to accepted input
- conv = converters[ prev + " " + tmp[ 0 ] ] ||
- converters[ "* " + tmp[ 0 ] ];
- if ( conv ) {
-
- // Condense equivalence converters
- if ( conv === true ) {
- conv = converters[ conv2 ];
-
- // Otherwise, insert the intermediate dataType
- } else if ( converters[ conv2 ] !== true ) {
- current = tmp[ 0 ];
- dataTypes.unshift( tmp[ 1 ] );
- }
- break;
- }
- }
- }
- }
-
- // Apply converter (if not an equivalence)
- if ( conv !== true ) {
-
- // Unless errors are allowed to bubble, catch and return them
- if ( conv && s.throws ) {
- response = conv( response );
- } else {
- try {
- response = conv( response );
- } catch ( e ) {
- return {
- state: "parsererror",
- error: conv ? e : "No conversion from " + prev + " to " + current
- };
- }
- }
- }
- }
- }
- }
-
- return { state: "success", data: response };
-}
-
-jQuery.extend( {
-
- // Counter for holding the number of active queries
- active: 0,
-
- // Last-Modified header cache for next request
- lastModified: {},
- etag: {},
-
- ajaxSettings: {
- url: location.href,
- type: "GET",
- isLocal: rlocalProtocol.test( location.protocol ),
- global: true,
- processData: true,
- async: true,
- contentType: "application/x-www-form-urlencoded; charset=UTF-8",
-
- /*
- timeout: 0,
- data: null,
- dataType: null,
- username: null,
- password: null,
- cache: null,
- throws: false,
- traditional: false,
- headers: {},
- */
-
- accepts: {
- "*": allTypes,
- text: "text/plain",
- html: "text/html",
- xml: "application/xml, text/xml",
- json: "application/json, text/javascript"
- },
-
- contents: {
- xml: /\bxml\b/,
- html: /\bhtml/,
- json: /\bjson\b/
- },
-
- responseFields: {
- xml: "responseXML",
- text: "responseText",
- json: "responseJSON"
- },
-
- // Data converters
- // Keys separate source (or catchall "*") and destination types with a single space
- converters: {
-
- // Convert anything to text
- "* text": String,
-
- // Text to html (true = no transformation)
- "text html": true,
-
- // Evaluate text as a json expression
- "text json": JSON.parse,
-
- // Parse text as xml
- "text xml": jQuery.parseXML
- },
-
- // For options that shouldn't be deep extended:
- // you can add your own custom options here if
- // and when you create one that shouldn't be
- // deep extended (see ajaxExtend)
- flatOptions: {
- url: true,
- context: true
- }
- },
-
- // Creates a full fledged settings object into target
- // with both ajaxSettings and settings fields.
- // If target is omitted, writes into ajaxSettings.
- ajaxSetup: function( target, settings ) {
- return settings ?
-
- // Building a settings object
- ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
-
- // Extending ajaxSettings
- ajaxExtend( jQuery.ajaxSettings, target );
- },
-
- ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
- ajaxTransport: addToPrefiltersOrTransports( transports ),
-
- // Main method
- ajax: function( url, options ) {
-
- // If url is an object, simulate pre-1.5 signature
- if ( typeof url === "object" ) {
- options = url;
- url = undefined;
- }
-
- // Force options to be an object
- options = options || {};
-
- var transport,
-
- // URL without anti-cache param
- cacheURL,
-
- // Response headers
- responseHeadersString,
- responseHeaders,
-
- // timeout handle
- timeoutTimer,
-
- // Url cleanup var
- urlAnchor,
-
- // Request state (becomes false upon send and true upon completion)
- completed,
-
- // To know if global events are to be dispatched
- fireGlobals,
-
- // Loop variable
- i,
-
- // uncached part of the url
- uncached,
-
- // Create the final options object
- s = jQuery.ajaxSetup( {}, options ),
-
- // Callbacks context
- callbackContext = s.context || s,
-
- // Context for global events is callbackContext if it is a DOM node or jQuery collection
- globalEventContext = s.context &&
- ( callbackContext.nodeType || callbackContext.jquery ) ?
- jQuery( callbackContext ) :
- jQuery.event,
-
- // Deferreds
- deferred = jQuery.Deferred(),
- completeDeferred = jQuery.Callbacks( "once memory" ),
-
- // Status-dependent callbacks
- statusCode = s.statusCode || {},
-
- // Headers (they are sent all at once)
- requestHeaders = {},
- requestHeadersNames = {},
-
- // Default abort message
- strAbort = "canceled",
-
- // Fake xhr
- jqXHR = {
- readyState: 0,
-
- // Builds headers hashtable if needed
- getResponseHeader: function( key ) {
- var match;
- if ( completed ) {
- if ( !responseHeaders ) {
- responseHeaders = {};
- while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
- responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
- }
- }
- match = responseHeaders[ key.toLowerCase() ];
- }
- return match == null ? null : match;
- },
-
- // Raw string
- getAllResponseHeaders: function() {
- return completed ? responseHeadersString : null;
- },
-
- // Caches the header
- setRequestHeader: function( name, value ) {
- if ( completed == null ) {
- name = requestHeadersNames[ name.toLowerCase() ] =
- requestHeadersNames[ name.toLowerCase() ] || name;
- requestHeaders[ name ] = value;
- }
- return this;
- },
-
- // Overrides response content-type header
- overrideMimeType: function( type ) {
- if ( completed == null ) {
- s.mimeType = type;
- }
- return this;
- },
-
- // Status-dependent callbacks
- statusCode: function( map ) {
- var code;
- if ( map ) {
- if ( completed ) {
-
- // Execute the appropriate callbacks
- jqXHR.always( map[ jqXHR.status ] );
- } else {
-
- // Lazy-add the new callbacks in a way that preserves old ones
- for ( code in map ) {
- statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
- }
- }
- }
- return this;
- },
-
- // Cancel the request
- abort: function( statusText ) {
- var finalText = statusText || strAbort;
- if ( transport ) {
- transport.abort( finalText );
- }
- done( 0, finalText );
- return this;
- }
- };
-
- // Attach deferreds
- deferred.promise( jqXHR );
-
- // Add protocol if not provided (prefilters might expect it)
- // Handle falsy url in the settings object (#10093: consistency with old signature)
- // We also use the url parameter if available
- s.url = ( ( url || s.url || location.href ) + "" )
- .replace( rprotocol, location.protocol + "//" );
-
- // Alias method option to type as per ticket #12004
- s.type = options.method || options.type || s.method || s.type;
-
- // Extract dataTypes list
- s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
-
- // A cross-domain request is in order when the origin doesn't match the current origin.
- if ( s.crossDomain == null ) {
- urlAnchor = document.createElement( "a" );
-
- // Support: IE <=8 - 11, Edge 12 - 13
- // IE throws exception on accessing the href property if url is malformed,
- // e.g. http://example.com:80x/
- try {
- urlAnchor.href = s.url;
-
- // Support: IE <=8 - 11 only
- // Anchor's host property isn't correctly set when s.url is relative
- urlAnchor.href = urlAnchor.href;
- s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
- urlAnchor.protocol + "//" + urlAnchor.host;
- } catch ( e ) {
-
- // If there is an error parsing the URL, assume it is crossDomain,
- // it can be rejected by the transport if it is invalid
- s.crossDomain = true;
- }
- }
-
- // Convert data if not already a string
- if ( s.data && s.processData && typeof s.data !== "string" ) {
- s.data = jQuery.param( s.data, s.traditional );
- }
-
- // Apply prefilters
- inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
-
- // If request was aborted inside a prefilter, stop there
- if ( completed ) {
- return jqXHR;
- }
-
- // We can fire global events as of now if asked to
- // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
- fireGlobals = jQuery.event && s.global;
-
- // Watch for a new set of requests
- if ( fireGlobals && jQuery.active++ === 0 ) {
- jQuery.event.trigger( "ajaxStart" );
- }
-
- // Uppercase the type
- s.type = s.type.toUpperCase();
-
- // Determine if request has content
- s.hasContent = !rnoContent.test( s.type );
-
- // Save the URL in case we're toying with the If-Modified-Since
- // and/or If-None-Match header later on
- // Remove hash to simplify url manipulation
- cacheURL = s.url.replace( rhash, "" );
-
- // More options handling for requests with no content
- if ( !s.hasContent ) {
-
- // Remember the hash so we can put it back
- uncached = s.url.slice( cacheURL.length );
-
- // If data is available, append data to url
- if ( s.data ) {
- cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
-
- // #9682: remove data so that it's not used in an eventual retry
- delete s.data;
- }
-
- // Add or update anti-cache param if needed
- if ( s.cache === false ) {
- cacheURL = cacheURL.replace( rantiCache, "$1" );
- uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
- }
-
- // Put hash and anti-cache on the URL that will be requested (gh-1732)
- s.url = cacheURL + uncached;
-
- // Change '%20' to '+' if this is encoded form body content (gh-2658)
- } else if ( s.data && s.processData &&
- ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
- s.data = s.data.replace( r20, "+" );
- }
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
- if ( jQuery.lastModified[ cacheURL ] ) {
- jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
- }
- if ( jQuery.etag[ cacheURL ] ) {
- jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
- }
- }
-
- // Set the correct header, if data is being sent
- if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
- jqXHR.setRequestHeader( "Content-Type", s.contentType );
- }
-
- // Set the Accepts header for the server, depending on the dataType
- jqXHR.setRequestHeader(
- "Accept",
- s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
- s.accepts[ s.dataTypes[ 0 ] ] +
- ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
- s.accepts[ "*" ]
- );
-
- // Check for headers option
- for ( i in s.headers ) {
- jqXHR.setRequestHeader( i, s.headers[ i ] );
- }
-
- // Allow custom headers/mimetypes and early abort
- if ( s.beforeSend &&
- ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
-
- // Abort if not done already and return
- return jqXHR.abort();
- }
-
- // Aborting is no longer a cancellation
- strAbort = "abort";
-
- // Install callbacks on deferreds
- completeDeferred.add( s.complete );
- jqXHR.done( s.success );
- jqXHR.fail( s.error );
-
- // Get transport
- transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
-
- // If no transport, we auto-abort
- if ( !transport ) {
- done( -1, "No Transport" );
- } else {
- jqXHR.readyState = 1;
-
- // Send global event
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
- }
-
- // If request was aborted inside ajaxSend, stop there
- if ( completed ) {
- return jqXHR;
- }
-
- // Timeout
- if ( s.async && s.timeout > 0 ) {
- timeoutTimer = window.setTimeout( function() {
- jqXHR.abort( "timeout" );
- }, s.timeout );
- }
-
- try {
- completed = false;
- transport.send( requestHeaders, done );
- } catch ( e ) {
-
- // Rethrow post-completion exceptions
- if ( completed ) {
- throw e;
- }
-
- // Propagate others as results
- done( -1, e );
- }
- }
-
- // Callback for when everything is done
- function done( status, nativeStatusText, responses, headers ) {
- var isSuccess, success, error, response, modified,
- statusText = nativeStatusText;
-
- // Ignore repeat invocations
- if ( completed ) {
- return;
- }
-
- completed = true;
-
- // Clear timeout if it exists
- if ( timeoutTimer ) {
- window.clearTimeout( timeoutTimer );
- }
-
- // Dereference transport for early garbage collection
- // (no matter how long the jqXHR object will be used)
- transport = undefined;
-
- // Cache response headers
- responseHeadersString = headers || "";
-
- // Set readyState
- jqXHR.readyState = status > 0 ? 4 : 0;
-
- // Determine if successful
- isSuccess = status >= 200 && status < 300 || status === 304;
-
- // Get response data
- if ( responses ) {
- response = ajaxHandleResponses( s, jqXHR, responses );
- }
-
- // Convert no matter what (that way responseXXX fields are always set)
- response = ajaxConvert( s, response, jqXHR, isSuccess );
-
- // If successful, handle type chaining
- if ( isSuccess ) {
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
- modified = jqXHR.getResponseHeader( "Last-Modified" );
- if ( modified ) {
- jQuery.lastModified[ cacheURL ] = modified;
- }
- modified = jqXHR.getResponseHeader( "etag" );
- if ( modified ) {
- jQuery.etag[ cacheURL ] = modified;
- }
- }
-
- // if no content
- if ( status === 204 || s.type === "HEAD" ) {
- statusText = "nocontent";
-
- // if not modified
- } else if ( status === 304 ) {
- statusText = "notmodified";
-
- // If we have data, let's convert it
- } else {
- statusText = response.state;
- success = response.data;
- error = response.error;
- isSuccess = !error;
- }
- } else {
-
- // Extract error from statusText and normalize for non-aborts
- error = statusText;
- if ( status || !statusText ) {
- statusText = "error";
- if ( status < 0 ) {
- status = 0;
- }
- }
- }
-
- // Set data for the fake xhr object
- jqXHR.status = status;
- jqXHR.statusText = ( nativeStatusText || statusText ) + "";
-
- // Success/Error
- if ( isSuccess ) {
- deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
- } else {
- deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
- }
-
- // Status-dependent callbacks
- jqXHR.statusCode( statusCode );
- statusCode = undefined;
-
- if ( fireGlobals ) {
- globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
- [ jqXHR, s, isSuccess ? success : error ] );
- }
-
- // Complete
- completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
-
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
-
- // Handle the global AJAX counter
- if ( !( --jQuery.active ) ) {
- jQuery.event.trigger( "ajaxStop" );
- }
- }
- }
-
- return jqXHR;
- },
-
- getJSON: function( url, data, callback ) {
- return jQuery.get( url, data, callback, "json" );
- },
-
- getScript: function( url, callback ) {
- return jQuery.get( url, undefined, callback, "script" );
- }
-} );
-
-jQuery.each( [ "get", "post" ], function( i, method ) {
- jQuery[ method ] = function( url, data, callback, type ) {
-
- // Shift arguments if data argument was omitted
- if ( jQuery.isFunction( data ) ) {
- type = type || callback;
- callback = data;
- data = undefined;
- }
-
- // The url can be an options object (which then must have .url)
- return jQuery.ajax( jQuery.extend( {
- url: url,
- type: method,
- dataType: type,
- data: data,
- success: callback
- }, jQuery.isPlainObject( url ) && url ) );
- };
-} );
-
-
-jQuery._evalUrl = function( url ) {
- return jQuery.ajax( {
- url: url,
-
- // Make this explicit, since user can override this through ajaxSetup (#11264)
- type: "GET",
- dataType: "script",
- cache: true,
- async: false,
- global: false,
- "throws": true
- } );
-};
-
-
-jQuery.fn.extend( {
- wrapAll: function( html ) {
- var wrap;
-
- if ( this[ 0 ] ) {
- if ( jQuery.isFunction( html ) ) {
- html = html.call( this[ 0 ] );
- }
-
- // The elements to wrap the target around
- wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
-
- if ( this[ 0 ].parentNode ) {
- wrap.insertBefore( this[ 0 ] );
- }
-
- wrap.map( function() {
- var elem = this;
-
- while ( elem.firstElementChild ) {
- elem = elem.firstElementChild;
- }
-
- return elem;
- } ).append( this );
- }
-
- return this;
- },
-
- wrapInner: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each( function( i ) {
- jQuery( this ).wrapInner( html.call( this, i ) );
- } );
- }
-
- return this.each( function() {
- var self = jQuery( this ),
- contents = self.contents();
-
- if ( contents.length ) {
- contents.wrapAll( html );
-
- } else {
- self.append( html );
- }
- } );
- },
-
- wrap: function( html ) {
- var isFunction = jQuery.isFunction( html );
-
- return this.each( function( i ) {
- jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
- } );
- },
-
- unwrap: function( selector ) {
- this.parent( selector ).not( "body" ).each( function() {
- jQuery( this ).replaceWith( this.childNodes );
- } );
- return this;
- }
-} );
-
-
-jQuery.expr.pseudos.hidden = function( elem ) {
- return !jQuery.expr.pseudos.visible( elem );
-};
-jQuery.expr.pseudos.visible = function( elem ) {
- return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
-};
-
-
-
-
-jQuery.ajaxSettings.xhr = function() {
- try {
- return new window.XMLHttpRequest();
- } catch ( e ) {}
-};
-
-var xhrSuccessStatus = {
-
- // File protocol always yields status code 0, assume 200
- 0: 200,
-
- // Support: IE <=9 only
- // #1450: sometimes IE returns 1223 when it should be 204
- 1223: 204
- },
- xhrSupported = jQuery.ajaxSettings.xhr();
-
-support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
-support.ajax = xhrSupported = !!xhrSupported;
-
-jQuery.ajaxTransport( function( options ) {
- var callback, errorCallback;
-
- // Cross domain only allowed if supported through XMLHttpRequest
- if ( support.cors || xhrSupported && !options.crossDomain ) {
- return {
- send: function( headers, complete ) {
- var i,
- xhr = options.xhr();
-
- xhr.open(
- options.type,
- options.url,
- options.async,
- options.username,
- options.password
- );
-
- // Apply custom fields if provided
- if ( options.xhrFields ) {
- for ( i in options.xhrFields ) {
- xhr[ i ] = options.xhrFields[ i ];
- }
- }
-
- // Override mime type if needed
- if ( options.mimeType && xhr.overrideMimeType ) {
- xhr.overrideMimeType( options.mimeType );
- }
-
- // X-Requested-With header
- // For cross-domain requests, seeing as conditions for a preflight are
- // akin to a jigsaw puzzle, we simply never set it to be sure.
- // (it can always be set on a per-request basis or even using ajaxSetup)
- // For same-domain requests, won't change header if already provided.
- if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
- headers[ "X-Requested-With" ] = "XMLHttpRequest";
- }
-
- // Set headers
- for ( i in headers ) {
- xhr.setRequestHeader( i, headers[ i ] );
- }
-
- // Callback
- callback = function( type ) {
- return function() {
- if ( callback ) {
- callback = errorCallback = xhr.onload =
- xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
-
- if ( type === "abort" ) {
- xhr.abort();
- } else if ( type === "error" ) {
-
- // Support: IE <=9 only
- // On a manual native abort, IE9 throws
- // errors on any property access that is not readyState
- if ( typeof xhr.status !== "number" ) {
- complete( 0, "error" );
- } else {
- complete(
-
- // File: protocol always yields status 0; see #8605, #14207
- xhr.status,
- xhr.statusText
- );
- }
- } else {
- complete(
- xhrSuccessStatus[ xhr.status ] || xhr.status,
- xhr.statusText,
-
- // Support: IE <=9 only
- // IE9 has no XHR2 but throws on binary (trac-11426)
- // For XHR2 non-text, let the caller handle it (gh-2498)
- ( xhr.responseType || "text" ) !== "text" ||
- typeof xhr.responseText !== "string" ?
- { binary: xhr.response } :
- { text: xhr.responseText },
- xhr.getAllResponseHeaders()
- );
- }
- }
- };
- };
-
- // Listen to events
- xhr.onload = callback();
- errorCallback = xhr.onerror = callback( "error" );
-
- // Support: IE 9 only
- // Use onreadystatechange to replace onabort
- // to handle uncaught aborts
- if ( xhr.onabort !== undefined ) {
- xhr.onabort = errorCallback;
- } else {
- xhr.onreadystatechange = function() {
-
- // Check readyState before timeout as it changes
- if ( xhr.readyState === 4 ) {
-
- // Allow onerror to be called first,
- // but that will not handle a native abort
- // Also, save errorCallback to a variable
- // as xhr.onerror cannot be accessed
- window.setTimeout( function() {
- if ( callback ) {
- errorCallback();
- }
- } );
- }
- };
- }
-
- // Create the abort callback
- callback = callback( "abort" );
-
- try {
-
- // Do send the request (this may raise an exception)
- xhr.send( options.hasContent && options.data || null );
- } catch ( e ) {
-
- // #14683: Only rethrow if this hasn't been notified as an error yet
- if ( callback ) {
- throw e;
- }
- }
- },
-
- abort: function() {
- if ( callback ) {
- callback();
- }
- }
- };
- }
-} );
-
-
-
-
-// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
-jQuery.ajaxPrefilter( function( s ) {
- if ( s.crossDomain ) {
- s.contents.script = false;
- }
-} );
-
-// Install script dataType
-jQuery.ajaxSetup( {
- accepts: {
- script: "text/javascript, application/javascript, " +
- "application/ecmascript, application/x-ecmascript"
- },
- contents: {
- script: /\b(?:java|ecma)script\b/
- },
- converters: {
- "text script": function( text ) {
- jQuery.globalEval( text );
- return text;
- }
- }
-} );
-
-// Handle cache's special case and crossDomain
-jQuery.ajaxPrefilter( "script", function( s ) {
- if ( s.cache === undefined ) {
- s.cache = false;
- }
- if ( s.crossDomain ) {
- s.type = "GET";
- }
-} );
-
-// Bind script tag hack transport
-jQuery.ajaxTransport( "script", function( s ) {
-
- // This transport only deals with cross domain requests
- if ( s.crossDomain ) {
- var script, callback;
- return {
- send: function( _, complete ) {
- script = jQuery( "<script>" ).prop( {
- charset: s.scriptCharset,
- src: s.url
- } ).on(
- "load error",
- callback = function( evt ) {
- script.remove();
- callback = null;
- if ( evt ) {
- complete( evt.type === "error" ? 404 : 200, evt.type );
- }
- }
- );
-
- // Use native DOM manipulation to avoid our domManip AJAX trickery
- document.head.appendChild( script[ 0 ] );
- },
- abort: function() {
- if ( callback ) {
- callback();
- }
- }
- };
- }
-} );
-
-
-
-
-var oldCallbacks = [],
- rjsonp = /(=)\?(?=&|$)|\?\?/;
-
-// Default jsonp settings
-jQuery.ajaxSetup( {
- jsonp: "callback",
- jsonpCallback: function() {
- var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
- this[ callback ] = true;
- return callback;
- }
-} );
-
-// Detect, normalize options and install callbacks for jsonp requests
-jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
-
- var callbackName, overwritten, responseContainer,
- jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
- "url" :
- typeof s.data === "string" &&
- ( s.contentType || "" )
- .indexOf( "application/x-www-form-urlencoded" ) === 0 &&
- rjsonp.test( s.data ) && "data"
- );
-
- // Handle iff the expected data type is "jsonp" or we have a parameter to set
- if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
-
- // Get callback name, remembering preexisting value associated with it
- callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
- s.jsonpCallback() :
- s.jsonpCallback;
-
- // Insert callback into url or form data
- if ( jsonProp ) {
- s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
- } else if ( s.jsonp !== false ) {
- s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
- }
-
- // Use data converter to retrieve json after script execution
- s.converters[ "script json" ] = function() {
- if ( !responseContainer ) {
- jQuery.error( callbackName + " was not called" );
- }
- return responseContainer[ 0 ];
- };
-
- // Force json dataType
- s.dataTypes[ 0 ] = "json";
-
- // Install callback
- overwritten = window[ callbackName ];
- window[ callbackName ] = function() {
- responseContainer = arguments;
- };
-
- // Clean-up function (fires after converters)
- jqXHR.always( function() {
-
- // If previous value didn't exist - remove it
- if ( overwritten === undefined ) {
- jQuery( window ).removeProp( callbackName );
-
- // Otherwise restore preexisting value
- } else {
- window[ callbackName ] = overwritten;
- }
-
- // Save back as free
- if ( s[ callbackName ] ) {
-
- // Make sure that re-using the options doesn't screw things around
- s.jsonpCallback = originalSettings.jsonpCallback;
-
- // Save the callback name for future use
- oldCallbacks.push( callbackName );
- }
-
- // Call if it was a function and we have a response
- if ( responseContainer && jQuery.isFunction( overwritten ) ) {
- overwritten( responseContainer[ 0 ] );
- }
-
- responseContainer = overwritten = undefined;
- } );
-
- // Delegate to script
- return "script";
- }
-} );
-
-
-
-
-// Support: Safari 8 only
-// In Safari 8 documents created via document.implementation.createHTMLDocument
-// collapse sibling forms: the second one becomes a child of the first one.
-// Because of that, this security measure has to be disabled in Safari 8.
-// https://bugs.webkit.org/show_bug.cgi?id=137337
-support.createHTMLDocument = ( function() {
- var body = document.implementation.createHTMLDocument( "" ).body;
- body.innerHTML = "<form></form><form></form>";
- return body.childNodes.length === 2;
-} )();
-
-
-// Argument "data" should be string of html
-// context (optional): If specified, the fragment will be created in this context,
-// defaults to document
-// keepScripts (optional): If true, will include scripts passed in the html string
-jQuery.parseHTML = function( data, context, keepScripts ) {
- if ( typeof data !== "string" ) {
- return [];
- }
- if ( typeof context === "boolean" ) {
- keepScripts = context;
- context = false;
- }
-
- var base, parsed, scripts;
-
- if ( !context ) {
-
- // Stop scripts or inline event handlers from being executed immediately
- // by using document.implementation
- if ( support.createHTMLDocument ) {
- context = document.implementation.createHTMLDocument( "" );
-
- // Set the base href for the created document
- // so any parsed elements with URLs
- // are based on the document's URL (gh-2965)
- base = context.createElement( "base" );
- base.href = document.location.href;
- context.head.appendChild( base );
- } else {
- context = document;
- }
- }
-
- parsed = rsingleTag.exec( data );
- scripts = !keepScripts && [];
-
- // Single tag
- if ( parsed ) {
- return [ context.createElement( parsed[ 1 ] ) ];
- }
-
- parsed = buildFragment( [ data ], context, scripts );
-
- if ( scripts && scripts.length ) {
- jQuery( scripts ).remove();
- }
-
- return jQuery.merge( [], parsed.childNodes );
-};
-
-
-/**
- * Load a url into a page
- */
-jQuery.fn.load = function( url, params, callback ) {
- var selector, type, response,
- self = this,
- off = url.indexOf( " " );
-
- if ( off > -1 ) {
- selector = stripAndCollapse( url.slice( off ) );
- url = url.slice( 0, off );
- }
-
- // If it's a function
- if ( jQuery.isFunction( params ) ) {
-
- // We assume that it's the callback
- callback = params;
- params = undefined;
-
- // Otherwise, build a param string
- } else if ( params && typeof params === "object" ) {
- type = "POST";
- }
-
- // If we have elements to modify, make the request
- if ( self.length > 0 ) {
- jQuery.ajax( {
- url: url,
-
- // If "type" variable is undefined, then "GET" method will be used.
- // Make value of this field explicit since
- // user can override it through ajaxSetup method
- type: type || "GET",
- dataType: "html",
- data: params
- } ).done( function( responseText ) {
-
- // Save response for use in complete callback
- response = arguments;
-
- self.html( selector ?
-
- // If a selector was specified, locate the right elements in a dummy div
- // Exclude scripts to avoid IE 'Permission Denied' errors
- jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
-
- // Otherwise use the full result
- responseText );
-
- // If the request succeeds, this function gets "data", "status", "jqXHR"
- // but they are ignored because response was set above.
- // If it fails, this function gets "jqXHR", "status", "error"
- } ).always( callback && function( jqXHR, status ) {
- self.each( function() {
- callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
- } );
- } );
- }
-
- return this;
-};
-
-
-
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( [
- "ajaxStart",
- "ajaxStop",
- "ajaxComplete",
- "ajaxError",
- "ajaxSuccess",
- "ajaxSend"
-], function( i, type ) {
- jQuery.fn[ type ] = function( fn ) {
- return this.on( type, fn );
- };
-} );
-
-
-
-
-jQuery.expr.pseudos.animated = function( elem ) {
- return jQuery.grep( jQuery.timers, function( fn ) {
- return elem === fn.elem;
- } ).length;
-};
-
-
-
-
-jQuery.offset = {
- setOffset: function( elem, options, i ) {
- var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
- position = jQuery.css( elem, "position" ),
- curElem = jQuery( elem ),
- props = {};
-
- // Set position first, in-case top/left are set even on static elem
- if ( position === "static" ) {
- elem.style.position = "relative";
- }
-
- curOffset = curElem.offset();
- curCSSTop = jQuery.css( elem, "top" );
- curCSSLeft = jQuery.css( elem, "left" );
- calculatePosition = ( position === "absolute" || position === "fixed" ) &&
- ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
-
- // Need to be able to calculate position if either
- // top or left is auto and position is either absolute or fixed
- if ( calculatePosition ) {
- curPosition = curElem.position();
- curTop = curPosition.top;
- curLeft = curPosition.left;
-
- } else {
- curTop = parseFloat( curCSSTop ) || 0;
- curLeft = parseFloat( curCSSLeft ) || 0;
- }
-
- if ( jQuery.isFunction( options ) ) {
-
- // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
- options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
- }
-
- if ( options.top != null ) {
- props.top = ( options.top - curOffset.top ) + curTop;
- }
- if ( options.left != null ) {
- props.left = ( options.left - curOffset.left ) + curLeft;
- }
-
- if ( "using" in options ) {
- options.using.call( elem, props );
-
- } else {
- curElem.css( props );
- }
- }
-};
-
-jQuery.fn.extend( {
- offset: function( options ) {
-
- // Preserve chaining for setter
- if ( arguments.length ) {
- return options === undefined ?
- this :
- this.each( function( i ) {
- jQuery.offset.setOffset( this, options, i );
- } );
- }
-
- var doc, docElem, rect, win,
- elem = this[ 0 ];
-
- if ( !elem ) {
- return;
- }
-
- // Return zeros for disconnected and hidden (display: none) elements (gh-2310)
- // Support: IE <=11 only
- // Running getBoundingClientRect on a
- // disconnected node in IE throws an error
- if ( !elem.getClientRects().length ) {
- return { top: 0, left: 0 };
- }
-
- rect = elem.getBoundingClientRect();
-
- doc = elem.ownerDocument;
- docElem = doc.documentElement;
- win = doc.defaultView;
-
- return {
- top: rect.top + win.pageYOffset - docElem.clientTop,
- left: rect.left + win.pageXOffset - docElem.clientLeft
- };
- },
-
- position: function() {
- if ( !this[ 0 ] ) {
- return;
- }
-
- var offsetParent, offset,
- elem = this[ 0 ],
- parentOffset = { top: 0, left: 0 };
-
- // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
- // because it is its only offset parent
- if ( jQuery.css( elem, "position" ) === "fixed" ) {
-
- // Assume getBoundingClientRect is there when computed position is fixed
- offset = elem.getBoundingClientRect();
-
- } else {
-
- // Get *real* offsetParent
- offsetParent = this.offsetParent();
-
- // Get correct offsets
- offset = this.offset();
- if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
- parentOffset = offsetParent.offset();
- }
-
- // Add offsetParent borders
- parentOffset = {
- top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ),
- left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true )
- };
- }
-
- // Subtract parent offsets and element margins
- return {
- top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
- left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
- };
- },
-
- // This method will return documentElement in the following cases:
- // 1) For the element inside the iframe without offsetParent, this method will return
- // documentElement of the parent window
- // 2) For the hidden or detached element
- // 3) For body or html element, i.e. in case of the html node - it will return itself
- //
- // but those exceptions were never presented as a real life use-cases
- // and might be considered as more preferable results.
- //
- // This logic, however, is not guaranteed and can change at any point in the future
- offsetParent: function() {
- return this.map( function() {
- var offsetParent = this.offsetParent;
-
- while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
- offsetParent = offsetParent.offsetParent;
- }
-
- return offsetParent || documentElement;
- } );
- }
-} );
-
-// Create scrollLeft and scrollTop methods
-jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
- var top = "pageYOffset" === prop;
-
- jQuery.fn[ method ] = function( val ) {
- return access( this, function( elem, method, val ) {
-
- // Coalesce documents and windows
- var win;
- if ( jQuery.isWindow( elem ) ) {
- win = elem;
- } else if ( elem.nodeType === 9 ) {
- win = elem.defaultView;
- }
-
- if ( val === undefined ) {
- return win ? win[ prop ] : elem[ method ];
- }
-
- if ( win ) {
- win.scrollTo(
- !top ? val : win.pageXOffset,
- top ? val : win.pageYOffset
- );
-
- } else {
- elem[ method ] = val;
- }
- }, method, val, arguments.length );
- };
-} );
-
-// Support: Safari <=7 - 9.1, Chrome <=37 - 49
-// Add the top/left cssHooks using jQuery.fn.position
-// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
-// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
-// getComputedStyle returns percent when specified for top/left/bottom/right;
-// rather than make the css module depend on the offset module, just check for it here
-jQuery.each( [ "top", "left" ], function( i, prop ) {
- jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
- function( elem, computed ) {
- if ( computed ) {
- computed = curCSS( elem, prop );
-
- // If curCSS returns percentage, fallback to offset
- return rnumnonpx.test( computed ) ?
- jQuery( elem ).position()[ prop ] + "px" :
- computed;
- }
- }
- );
-} );
-
-
-// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
-jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
- jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
- function( defaultExtra, funcName ) {
-
- // Margin is only for outerHeight, outerWidth
- jQuery.fn[ funcName ] = function( margin, value ) {
- var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
- extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
-
- return access( this, function( elem, type, value ) {
- var doc;
-
- if ( jQuery.isWindow( elem ) ) {
-
- // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
- return funcName.indexOf( "outer" ) === 0 ?
- elem[ "inner" + name ] :
- elem.document.documentElement[ "client" + name ];
- }
-
- // Get document width or height
- if ( elem.nodeType === 9 ) {
- doc = elem.documentElement;
-
- // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
- // whichever is greatest
- return Math.max(
- elem.body[ "scroll" + name ], doc[ "scroll" + name ],
- elem.body[ "offset" + name ], doc[ "offset" + name ],
- doc[ "client" + name ]
- );
- }
-
- return value === undefined ?
-
- // Get width or height on the element, requesting but not forcing parseFloat
- jQuery.css( elem, type, extra ) :
-
- // Set width or height on the element
- jQuery.style( elem, type, value, extra );
- }, type, chainable ? margin : undefined, chainable );
- };
- } );
-} );
-
-
-jQuery.fn.extend( {
-
- bind: function( types, data, fn ) {
- return this.on( types, null, data, fn );
- },
- unbind: function( types, fn ) {
- return this.off( types, null, fn );
- },
-
- delegate: function( selector, types, data, fn ) {
- return this.on( types, selector, data, fn );
- },
- undelegate: function( selector, types, fn ) {
-
- // ( namespace ) or ( selector, types [, fn] )
- return arguments.length === 1 ?
- this.off( selector, "**" ) :
- this.off( types, selector || "**", fn );
- }
-} );
-
-jQuery.holdReady = function( hold ) {
- if ( hold ) {
- jQuery.readyWait++;
- } else {
- jQuery.ready( true );
- }
-};
-jQuery.isArray = Array.isArray;
-jQuery.parseJSON = JSON.parse;
-jQuery.nodeName = nodeName;
-
-
-
-
-// Register as a named AMD module, since jQuery can be concatenated with other
-// files that may use define, but not via a proper concatenation script that
-// understands anonymous AMD modules. A named AMD is safest and most robust
-// way to register. Lowercase jquery is used because AMD module names are
-// derived from file names, and jQuery is normally delivered in a lowercase
-// file name. Do this after creating the global so that if an AMD module wants
-// to call noConflict to hide this version of jQuery, it will work.
-
-// Note that for maximum portability, libraries that are not jQuery should
-// declare themselves as anonymous modules, and avoid setting a global if an
-// AMD loader is present. jQuery is a special case. For more information, see
-// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
-
-if ( typeof define === "function" && define.amd ) {
- define( "jquery", [], function() {
- return jQuery;
- } );
-}
-
-
-
-
-var
-
- // Map over jQuery in case of overwrite
- _jQuery = window.jQuery,
-
- // Map over the $ in case of overwrite
- _$ = window.$;
-
-jQuery.noConflict = function( deep ) {
- if ( window.$ === jQuery ) {
- window.$ = _$;
- }
-
- if ( deep && window.jQuery === jQuery ) {
- window.jQuery = _jQuery;
- }
-
- return jQuery;
-};
-
-// Expose jQuery and $ identifiers, even in AMD
-// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
-// and CommonJS for browser emulators (#13566)
-if ( !noGlobal ) {
- window.jQuery = window.$ = jQuery;
-}
-
-
-
-
-return jQuery;
-} );
+++ /dev/null
-/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),
-a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),
-null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r});
+++ /dev/null
-/*
- * language_data.js
- * ~~~~~~~~~~~~~~~~
- *
- * This script contains the language-specific data used by searchtools.js,
- * namely the list of stopwords, stemmer, scorer and splitter.
- *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
-
-
-/* Non-minified version JS is _stemmer.js if file is provided */
-/**
- * Porter Stemmer
- */
-var Stemmer = function() {
-
- var step2list = {
- ational: 'ate',
- tional: 'tion',
- enci: 'ence',
- anci: 'ance',
- izer: 'ize',
- bli: 'ble',
- alli: 'al',
- entli: 'ent',
- eli: 'e',
- ousli: 'ous',
- ization: 'ize',
- ation: 'ate',
- ator: 'ate',
- alism: 'al',
- iveness: 'ive',
- fulness: 'ful',
- ousness: 'ous',
- aliti: 'al',
- iviti: 'ive',
- biliti: 'ble',
- logi: 'log'
- };
-
- var step3list = {
- icate: 'ic',
- ative: '',
- alize: 'al',
- iciti: 'ic',
- ical: 'ic',
- ful: '',
- ness: ''
- };
-
- var c = "[^aeiou]"; // consonant
- var v = "[aeiouy]"; // vowel
- var C = c + "[^aeiouy]*"; // consonant sequence
- var V = v + "[aeiou]*"; // vowel sequence
-
- var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
- var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
- var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
- var s_v = "^(" + C + ")?" + v; // vowel in stem
-
- this.stemWord = function (w) {
- var stem;
- var suffix;
- var firstch;
- var origword = w;
-
- if (w.length < 3)
- return w;
-
- var re;
- var re2;
- var re3;
- var re4;
-
- firstch = w.substr(0,1);
- if (firstch == "y")
- w = firstch.toUpperCase() + w.substr(1);
-
- // Step 1a
- re = /^(.+?)(ss|i)es$/;
- re2 = /^(.+?)([^s])s$/;
-
- if (re.test(w))
- w = w.replace(re,"$1$2");
- else if (re2.test(w))
- w = w.replace(re2,"$1$2");
-
- // Step 1b
- re = /^(.+?)eed$/;
- re2 = /^(.+?)(ed|ing)$/;
- if (re.test(w)) {
- var fp = re.exec(w);
- re = new RegExp(mgr0);
- if (re.test(fp[1])) {
- re = /.$/;
- w = w.replace(re,"");
- }
- }
- else if (re2.test(w)) {
- var fp = re2.exec(w);
- stem = fp[1];
- re2 = new RegExp(s_v);
- if (re2.test(stem)) {
- w = stem;
- re2 = /(at|bl|iz)$/;
- re3 = new RegExp("([^aeiouylsz])\\1$");
- re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
- if (re2.test(w))
- w = w + "e";
- else if (re3.test(w)) {
- re = /.$/;
- w = w.replace(re,"");
- }
- else if (re4.test(w))
- w = w + "e";
- }
- }
-
- // Step 1c
- re = /^(.+?)y$/;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- re = new RegExp(s_v);
- if (re.test(stem))
- w = stem + "i";
- }
-
- // Step 2
- re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- suffix = fp[2];
- re = new RegExp(mgr0);
- if (re.test(stem))
- w = stem + step2list[suffix];
- }
-
- // Step 3
- re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- suffix = fp[2];
- re = new RegExp(mgr0);
- if (re.test(stem))
- w = stem + step3list[suffix];
- }
-
- // Step 4
- re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
- re2 = /^(.+?)(s|t)(ion)$/;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- re = new RegExp(mgr1);
- if (re.test(stem))
- w = stem;
- }
- else if (re2.test(w)) {
- var fp = re2.exec(w);
- stem = fp[1] + fp[2];
- re2 = new RegExp(mgr1);
- if (re2.test(stem))
- w = stem;
- }
-
- // Step 5
- re = /^(.+?)e$/;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- re = new RegExp(mgr1);
- re2 = new RegExp(meq1);
- re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
- if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
- w = stem;
- }
- re = /ll$/;
- re2 = new RegExp(mgr1);
- if (re.test(w) && re2.test(w)) {
- re = /.$/;
- w = w.replace(re,"");
- }
-
- // and turn initial Y back to y
- if (firstch == "y")
- w = firstch.toLowerCase() + w.substr(1);
- return w;
- }
-}
-
-
-
-
-
-var splitChars = (function() {
- var result = {};
- var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
- 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
- 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
- 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
- 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
- 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
- 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
- 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
- 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
- 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
- var i, j, start, end;
- for (i = 0; i < singles.length; i++) {
- result[singles[i]] = true;
- }
- var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
- [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
- [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
- [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
- [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
- [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
- [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
- [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
- [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
- [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
- [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
- [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
- [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
- [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
- [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
- [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
- [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
- [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
- [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
- [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
- [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
- [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
- [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
- [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
- [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
- [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
- [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
- [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
- [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
- [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
- [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
- [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
- [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
- [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
- [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
- [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
- [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
- [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
- [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
- [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
- [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
- [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
- [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
- [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
- [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
- [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
- [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
- [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
- [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
- for (i = 0; i < ranges.length; i++) {
- start = ranges[i][0];
- end = ranges[i][1];
- for (j = start; j <= end; j++) {
- result[j] = true;
- }
- }
- return result;
-})();
-
-function splitQuery(query) {
- var result = [];
- var start = -1;
- for (var i = 0; i < query.length; i++) {
- if (splitChars[query.charCodeAt(i)]) {
- if (start !== -1) {
- result.push(query.slice(start, i));
- start = -1;
- }
- } else if (start === -1) {
- start = i;
- }
- }
- if (start !== -1) {
- result.push(query.slice(start));
- }
- return result;
-}
-
-
+++ /dev/null
-.highlight .hll { background-color: #ffffcc }
-.highlight { background: #f0f0f0; }
-.highlight .c { color: #60a0b0; font-style: italic } /* Comment */
-.highlight .err { border: 1px solid #FF0000 } /* Error */
-.highlight .k { color: #007020; font-weight: bold } /* Keyword */
-.highlight .o { color: #666666 } /* Operator */
-.highlight .ch { color: #60a0b0; font-style: italic } /* Comment.Hashbang */
-.highlight .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: #007020 } /* Comment.Preproc */
-.highlight .cpf { color: #60a0b0; font-style: italic } /* Comment.PreprocFile */
-.highlight .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
-.highlight .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
-.highlight .gd { color: #A00000 } /* Generic.Deleted */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #FF0000 } /* Generic.Error */
-.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
-.highlight .gi { color: #00A000 } /* Generic.Inserted */
-.highlight .go { color: #888888 } /* Generic.Output */
-.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.highlight .gt { color: #0044DD } /* Generic.Traceback */
-.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
-.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
-.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
-.highlight .kp { color: #007020 } /* Keyword.Pseudo */
-.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #902000 } /* Keyword.Type */
-.highlight .m { color: #40a070 } /* Literal.Number */
-.highlight .s { color: #4070a0 } /* Literal.String */
-.highlight .na { color: #4070a0 } /* Name.Attribute */
-.highlight .nb { color: #007020 } /* Name.Builtin */
-.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
-.highlight .no { color: #60add5 } /* Name.Constant */
-.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
-.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
-.highlight .ne { color: #007020 } /* Name.Exception */
-.highlight .nf { color: #06287e } /* Name.Function */
-.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
-.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
-.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
-.highlight .nv { color: #bb60d5 } /* Name.Variable */
-.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
-.highlight .w { color: #bbbbbb } /* Text.Whitespace */
-.highlight .mb { color: #40a070 } /* Literal.Number.Bin */
-.highlight .mf { color: #40a070 } /* Literal.Number.Float */
-.highlight .mh { color: #40a070 } /* Literal.Number.Hex */
-.highlight .mi { color: #40a070 } /* Literal.Number.Integer */
-.highlight .mo { color: #40a070 } /* Literal.Number.Oct */
-.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
-.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
-.highlight .sc { color: #4070a0 } /* Literal.String.Char */
-.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
-.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
-.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
-.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
-.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
-.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
-.highlight .sx { color: #c65d09 } /* Literal.String.Other */
-.highlight .sr { color: #235388 } /* Literal.String.Regex */
-.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
-.highlight .ss { color: #517918 } /* Literal.String.Symbol */
-.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
-.highlight .fm { color: #06287e } /* Name.Function.Magic */
-.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
-.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
-.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
-.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
-.highlight .il { color: #40a070 } /* Literal.Number.Integer.Long */
\ No newline at end of file
+++ /dev/null
-/*
- * pygments14.css
- * ~~~~~~~~~~~~~~
- *
- * Sphinx stylesheet -- pygments14 theme. Heavily copied from sphinx13.
- *
- * :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-@import url("basic.css");
-
-/* -- page layout ----------------------------------------------------------- */
-
-body {
- font-family: PT Sans, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
- 'Verdana', sans-serif;
- font-size: 14px;
- text-align: center;
- background-image: url(bodybg.png);
- background-color: #f9f9f9;
- color: black;
- padding: 0;
- /*
- border-right: 1px solid #66b55e;
- border-left: 1px solid #66b55e;
- */
-
- margin: 0 auto;
- min-width: 780px;
- max-width: 1080px;
-}
-
-.outerwrapper {
- background-image: url(docbg.png);
- background-attachment: fixed;
-}
-
-.pageheader {
- text-align: left;
- padding: 10px 15px;
-}
-
-.pageheader ul {
- float: right;
- color: white;
- list-style-type: none;
- padding-left: 0;
- margin-top: 40px;
- margin-right: 10px;
-}
-
-.pageheader li {
- float: left;
- margin: 0 0 0 10px;
-}
-
-.pageheader li a {
- border-radius: 3px;
- padding: 8px 12px;
- color: #666666;
- text-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
-}
-
-.pageheader li a:hover {
- background-color: #f4cd00;
- color: black;
- text-shadow: none;
-}
-
-div.document {
- text-align: left;
- /*border-left: 1em solid #fffbe3;*/
-}
-
-div.bodywrapper {
- margin: 0 12px 0 240px;
- background-color: white;
-/* border-right: 1px solid #66b55e; */
-}
-
-div.body {
- margin: 0;
- padding: 0.5em 20px 20px 20px;
-}
-
-div.related {
- font-size: 1em;
- color: #666666;
-}
-
-div.related ul {
- background-image: url(relbg.png);
- background-repeat: repeat-y;
- background-color: #f4cd00;
- height: 1.9em;
- /*
- border-top: 1px solid #66b55e;
- border-bottom: 1px solid #66b55e;
- */
-}
-
-div.related ul li {
- margin: 0 5px 0 0;
- padding: 0;
- float: left;
-}
-
-div.related ul li.right {
- float: right;
- margin-right: 5px;
-}
-
-div.related ul li a {
- margin: 0;
- padding: 0 5px 0 5px;
- line-height: 1.75em;
- color: #666666;
- /*text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.5);*/
-}
-
-div.related ul li a:hover {
- text-decoration: underline;
- text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.5);
-}
-
-div.sphinxsidebarwrapper {
- position: relative;
- top: 0px;
- padding: 0;
-}
-
-div.sphinxsidebar {
- margin: 0;
- padding: 0 0px 15px 15px;
- width: 210px;
- float: left;
- font-size: 1em;
- text-align: left;
-}
-
-div.sphinxsidebar .logo {
- font-size: 1.8em;
- color: #666;
- font-weight: 300;
- text-align: center;
-}
-
-div.sphinxsidebar .logo img {
- vertical-align: middle;
-}
-
-div.sphinxsidebar input {
- border: 1px solid #aaa;
- font-family: PT Sans, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
- 'Verdana', sans-serif;
- font-size: 1em;
-}
-
-div.sphinxsidebar h3 {
- font-size: 1.5em;
- /* border-top: 1px solid #66b55e; */
- margin-top: 1em;
- margin-bottom: 0.5em;
- padding-top: 0.5em;
-}
-
-div.sphinxsidebar h4 {
- font-size: 1.2em;
- margin-bottom: 0;
-}
-
-div.sphinxsidebar h3, div.sphinxsidebar h4 {
- margin-right: -15px;
- margin-left: -15px;
- padding-right: 14px;
- padding-left: 14px;
- color: #333;
- font-weight: 300;
- /*text-shadow: 0px 0px 0.5px rgba(0, 0, 0, 0.4);*/
-}
-
-div.sphinxsidebarwrapper > h3:first-child {
- margin-top: 0.5em;
- border: none;
-}
-
-div.sphinxsidebar h3 a {
- color: #333;
-}
-
-div.sphinxsidebar ul {
- color: #444;
- margin-top: 7px;
- padding: 0;
- line-height: 130%;
-}
-
-div.sphinxsidebar ul ul {
- margin-left: 20px;
- list-style-image: url(listitem.png);
-}
-
-div.footer {
- color: #666666;
- text-shadow: 0 0 .2px rgba(255, 255, 255, 0.8);
- padding: 2em;
- text-align: center;
- clear: both;
- font-size: 0.8em;
-}
-
-/* -- body styles ----------------------------------------------------------- */
-
-p {
- margin: 0.8em 0 0.5em 0;
-}
-
-a {
- color: #36852e;
- text-decoration: none;
-}
-
-a:hover {
- color: #d4ad00;
-}
-
-div.body a {
- text-decoration: underline;
-}
-
-h1 {
- margin: 10px 0 0 0;
- font-size: 2.4em;
- color: #666666;
- font-weight: 300;
-}
-
-h2 {
- margin: 1.em 0 0.2em 0;
- font-size: 1.5em;
- font-weight: 300;
- padding: 0;
- color: #36852e;
-}
-
-h3 {
- margin: 1em 0 -0.3em 0;
- font-size: 1.3em;
- font-weight: 300;
-}
-
-div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a {
- text-decoration: none;
-}
-
-div.body h1 a tt, div.body h2 a tt, div.body h3 a tt, div.body h4 a tt, div.body h5 a tt, div.body h6 a tt {
- color: #36852e !important;
- font-size: inherit !important;
-}
-
-a.headerlink {
- color: #66b55e !important;
- font-size: 12px;
- margin-left: 6px;
- padding: 0 4px 0 4px;
- text-decoration: none !important;
- float: right;
-}
-
-a.headerlink:hover {
- background-color: #ccc;
- color: white!important;
-}
-
-cite, code, tt {
- font-family: 'Consolas', 'DejaVu Sans Mono',
- 'Bitstream Vera Sans Mono', monospace;
- font-size: 14px;
- letter-spacing: -0.02em;
-}
-
-tt {
- background-color: #f2f2f2;
- border: 1px solid #ddd;
- border-radius: 2px;
- color: #333;
- padding: 1px;
-}
-
-tt.descname, tt.descclassname, tt.xref {
- border: 0;
-}
-
-hr {
- border: 1px solid #abc;
- margin: 2em;
-}
-
-a tt {
- border: 0;
- color: #36852e;
-}
-
-a tt:hover {
- color: #d4ad00;
-}
-
-pre {
- font-family: 'Consolas', 'DejaVu Sans Mono',
- 'Bitstream Vera Sans Mono', monospace;
- font-size: 13px;
- letter-spacing: 0.015em;
- line-height: 120%;
- padding: 0.5em;
- border: 1px solid #ccc;
- border-radius: 2px;
- background-color: #f8f8f8;
-}
-
-pre a {
- color: inherit;
- text-decoration: underline;
-}
-
-td.linenos pre {
- padding: 0.5em 0;
-}
-
-div.quotebar {
- background-color: #f8f8f8;
- max-width: 250px;
- float: right;
- padding: 0px 7px;
- border: 1px solid #ccc;
- margin-left: 1em;
-}
-
-div.topic {
- background-color: #f8f8f8;
-}
-
-table {
- border-collapse: collapse;
- margin: 0 -0.5em 0 -0.5em;
-}
-
-table td, table th {
- padding: 0.2em 0.5em 0.2em 0.5em;
-}
-
-div.admonition, div.warning {
- font-size: 0.9em;
- margin: 1em 0 1em 0;
- border: 1px solid #86989B;
- border-radius: 2px;
- background-color: #f7f7f7;
- padding: 0;
-}
-
-div.admonition p, div.warning p {
- margin: 0.5em 1em 0.5em 1em;
- padding: 0;
-}
-
-div.admonition pre, div.warning pre {
- margin: 0.4em 1em 0.4em 1em;
-}
-
-div.admonition p.admonition-title,
-div.warning p.admonition-title {
- margin-top: 1em;
- padding-top: 0.5em;
- font-weight: bold;
-}
-
-div.warning {
- border: 1px solid #940000;
-/* background-color: #FFCCCF;*/
-}
-
-div.warning p.admonition-title {
-}
-
-div.admonition ul, div.admonition ol,
-div.warning ul, div.warning ol {
- margin: 0.1em 0.5em 0.5em 3em;
- padding: 0;
-}
-
-.viewcode-back {
- font-family: PT Sans, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
- 'Verdana', sans-serif;
-}
-
-div.viewcode-block:target {
- background-color: #f4debf;
- border-top: 1px solid #ac9;
- border-bottom: 1px solid #ac9;
-}
\ No newline at end of file
+++ /dev/null
-var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="Pygments.data";var REMOTE_PACKAGE_BASE="Pygments.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","bin",true,true);Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","pygments",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/pygments","styles",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/pygments","lexers",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/pygments","formatters",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/pygments","filters",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","Pygments-2.4.2-py3.7.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:1670404,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1428,2846,4087,5687,7221,8744,10271,11812,13365,14860,16405,17950,19497,21144,22769,24375,25817,27337,28832,30348,31562,32532,33558,34584,35560,36614,37616,38665,39683,40626,41647,42664,43679,45032,46339,47627,48861,50077,50926,52088,53204,54025,54974,56186,57484,58931,60403,61340,62447,63479,64534,65407,66716,67871,69126,70036,71252,72558,73783,75094,76281,77306,78537,79717,80643,81749,82867,84223,85072,86197,87152,88299,89717,91005,92039,93258,94601,95941,97235,98485,99529,100673,101912,103133,104216,105361,106498,107582,108882,109940,110818,111792,112814,113910,115065,115776,116745,117665,118394,119389,120436,121700,123049,123850,124617,125653,126736,127655,128725,129835,130546,131528,132579,133922,134888,135796,136952,137666,138655,139759,140977,142030,143283,144492,145642,146869,148031,149287,150534,151668,152860,154016,155179,156371,157628,158620,159781,160954,161828,162721,163510,164437,165352,166566,167180,168046,169047,170151,171418,172706,173694,174996,176188,177390,178825,180037,181418,182689,183888,184701,185934,186849,187935,188983,190342,191179,192285,193080,194073,194918,196413,197489,198165,198886,199595,200383,201246,201999,202832,203476,204041,204860,205460,206208,207391,208669,209579,211083,212229,213036,214472,215675,216714,217793,219090,220425,221589,222784,223765,224732,225819,226989,227641,228360,229114,229762,230353,231109,231873,232607,233364,234177,235008,235645,236312,237094,237768,238277,238895,239554,240075,240778,241525,242231,242978,243742,244605,245346,246078,246939,247677,248488,249152,249802,250660,251347,252010,252791,253355,253941,254697,255400,256189,256999,257713,258312,259077,259775,260523,261276,261979,262751,263526,264165,264927,265722,266566,267312,268089,268847,269599,270152,270902,271680,272485,273180,273804,274546,275228,275915,276738,277488,278291,279034,279791,280867,282256,283391,284389,285103,286267,287313,288292,289350,290342,291466,292540,293802,294901,295758,296822,298021,299020,300306,301479,302306,303369,304555,305377,306459,307626,308579,309503,310736,311707,312461,313676,314850,315828,316834,317976,319266,320433,321839,322811,323984,324915,326102,326947,328285,329549,330772,332015,333301,334545,335958,337239,338428,339483,340665,341733,342901,344054,345135,346e3,346848,347652,348385,349560,350677,351474,352826,353910,354655,355466,356322,357508,358522,359450,360572,361785,362825,364346,365768,367192,368571,369734,370914,372167,373390,374591,375464,376674,377731,378898,380100,381149,381944,382386,382827,383274,384212,385135,385872,386774,387596,388261,389097,389806,390676,391627,392858,394246,395266,396365,397245,398577,399731,400805,402230,403381,404659,405911,406704,407623,408908,410128,411375,412305,413327,414508,415551,416446,417391,418286,419333,420363,420994,422079,423029,423942,424906,425896,426883,427919,428918,429847,430736,431689,432707,433511,434433,435473,436393,437447,438452,439303,440585,441851,443119,444425,445574,446847,447937,449043,450166,451247,452377,453463,454625,455683,456841,457830,458905,460023,460985,461861,462840,463828,465131,466316,467064,468331,469626,470800,471903,472854,474007,475393,476708,477833,479166,480463,481698,482851,484024,485243,486399,487533,488695,489637,490894,491950,493290,494921,496023,497070,498616,499988,501472,502988,503898,505014,506031,506991,508102,509453,510577,511561,512786,513743,514768,515844,516828,517933,518908,519929,521117,522350,523636,524975,526296,527537,528865,529585,530382,531427,532447,533639,534857,535754,536738,537675,538667,539398,539873,540343,540914,541399,541875,542535,543553,544130,545024,546001,546712,547661,548886,550131,551362,552632,553874,555200,556529,557706,558837,560248,561566,562805,564124,565369,566607,567760,568698,569687,570707,571695,572673,573693,574675,575630,576639,577592,578595,579618,580684,581662,583049,584152,585315,586579,587718,588710,589362,590581,591815,592575,593185,593572,594799,595839,596917,597932,598979,599898,600929,602064,603137,604370,605519,606592,608025,609325,610550,611678,612748,613789,614746,615727,616416,617510,618858,619856,620794,621803,622961,624282,625421,626330,627375,628494,629817,630947,632111,633176,634488,635589,636539,637996,639284,640049,641146,641912,643159,644264,645590,646626,647600,648864,650084,651198,652444,653678,654906,656069,657377,658561,659779,661076,662175,663259,664647,665897,667182,668514,669628,670482,671749,672953,674167,675259,676168,677587,678646,679737,681221,682457,683664,685e3,686223,687271,688611,689524,690308,691296,692467,693608,694797,696041,697271,698492,699740,701168,702187,703582,704608,705772,706974,708253,709495,710353,711348,712439,713605,714618,715731,716788,718186,719464,720587,721984,722877,723775,724879,726142,727061,728025,728898,730247,731422,732463,733771,734930,736071,737242,738478,739618,740733,742086,743294,744336,745400,746448,747453,748491,749553,750640,751916,752774,753830,754812,755667,756468,757179,758112,759075,760020,761213,761904,762664,763369,764712,765712,766639,767683,768425,769140,770006,771042,771822,772689,773480,774417,775203,776402,777588,778958,779716,780914,782329,783579,784517,785208,786312,787495,788455,789228,790285,791518,792645,793778,794681,795604,796567,797485,798273,799228,800127,800941,801779,802649,803642,804961,805976,807047,808026,809389,810616,811863,813148,814247,815392,816537,817857,819159,820470,821856,823099,824427,825617,826841,827913,829143,830292,831308,832634,833586,834725,835961,836621,837798,838832,839763,840734,841791,842668,843631,844700,845682,846799,847675,848663,849577,850364,851310,852118,852929,853706,854474,855736,856646,857793,858813,859857,860718,861886,862957,863920,864670,865569,866649,867885,869028,870358,871588,872543,873770,874969,875986,877384,878502,879575,880735,881920,883114,884124,885243,886274,887609,888204,889567,890728,892209,893794,895320,896019,897070,898396,899638,900920,902156,903393,904602,905819,907198,908487,909489,910591,911520,912526,913425,914457,915398,916436,917754,918740,919393,919993,920461,920998,921477,921926,922401,922952,923562,924273,924927,925877,926907,927681,928452,929469,930419,931345,932283,933430,934441,935800,936916,938232,939392,940413,941858,943226,944470,945699,947010,948264,949568,950812,952064,953293,954518,955816,956977,958106,959344,960417,961554,962726,964131,965420,966680,968090,969126,969867,971002,972176,972927,973994,974955,976148,976832,977381,978161,979176,980235,981277,982329,983344,984351,985145,985886,986616,987317,987987,988832,989757,990778,991784,992819,993601,994502,995324,996325,997355,998594,999985,1001329,1002567,1003691,1005042,1006240,1007458,1008536,1009715,1010863,1012179,1013264,1014469,1015890,1017072,1018320,1019571,1020835,1022172,1023192,1023867,1024876,1026123,1027109,1028005,1029165,1030376,1031592,1032956,1034286,1035332,1036348,1037668,1038850,1040147,1041145,1042271,1043357,1044373,1045533,1046763,1047903,1049084,1050198,1051267,1052359,1053193,1054639,1055673,1056846,1058035,1059087,1060750,1062423,1064226,1065883,1067523,1069181,1070045,1071198,1072415,1073563,1074569,1075560,1076496,1077519,1078624,1079673,1080799,1081952,1083137,1084436,1085676,1086817,1088194,1089462,1090506,1091570,1092690,1093738,1094986,1096191,1097331,1098324,1099363,1100471,1101530,1102732,1103752,1104842,1105777,1106934,1107883,1108747,1109522,1110304,1111121,1111991,1112839,1113650,1114533,1115264,1116140,1116977,1117978,1118708,1119504,1120276,1121136,1122013,1122803,1123793,1124823,1126427,1127887,1129380,1130859,1132334,1133823,1135284,1136750,1138232,1139736,1141202,1142400,1143603,1144854,1146267,1147698,1149185,1150576,1152077,1153208,1154029,1155180,1156321,1157244,1158317,1159645,1160955,1162194,1162955,1163797,1164814,1165770,1166870,1167858,1169021,1170401,1171175,1172255,1172939,1173787,1175204,1176391,1177540,1178824,1179631,1180668,1181665,1182556,1183517,1184470,1185501,1186410,1187404,1188359,1189322,1190134,1191066,1192053,1192967,1193861,1194820,1195774,1196742,1197615,1198637,1199641,1200632,1201611,1202533,1203467,1204722,1206141,1207521,1208830,1210030,1211106,1212393,1213583,1214797,1216058,1217213,1218585,1219732,1221067,1222471,1223544,1224854,1226002,1227212,1228281,1229094,1230129,1231223,1232516,1233620,1234799,1235997,1237174,1238402,1239577,1240666,1242071,1243385,1244568,1245711,1246877,1248015,1249160,1250305,1251479,1252517,1253578,1254420,1255405,1256395,1257408,1258776,1259841,1260983,1262098,1263030,1263917,1264958,1266287,1267434,1268629,1269787,1270786,1271795,1272450,1273302,1274196,1274995,1275777,1276844,1278098,1279188,1280098,1281144,1282096,1282977,1283966,1284961,1285877,1286767,1287771,1288738,1289764,1290992,1292436,1293724,1294705,1296033,1297231,1298429,1299295,1300287,1301501,1302788,1303846,1304977,1305876,1306633,1307422,1308726,1309741,1311145,1312443,1313678,1314621,1315499,1316486,1317735,1318836,1320026,1321140,1322244,1323472,1324455,1325449,1326480,1327763,1328829,1330248,1331600,1332513,1333381,1334660,1335952,1337039,1338253,1339219,1340363,1341432,1342429,1343456,1344617,1345913,1346689,1347624,1348906,1349752,1350920,1351889,1353182,1354016,1354943,1356162,1357270,1358161,1358886,1360045,1360943,1361859,1362751,1363902,1365341,1366587,1367930,1368900,1369988,1371236,1372154,1373066,1373889,1374788,1375693,1376444,1377379,1378556,1380027,1381576,1382638,1383835,1385206,1386276,1387159,1387902,1388993,1390277,1391563,1392854,1393738,1394611,1395599,1396564,1397400,1398198,1399094,1400126,1401142,1402204,1403082,1404047,1405172,1406271,1407222,1408142,1408981,1410059,1411418,1412739,1414207,1415276,1416395,1417466,1418710,1419839,1420755,1421484,1422391,1423275,1424139,1424999,1425833,1426664,1427307,1428110,1428913,1429829,1430530,1431306,1432176,1433050,1433924,1434848,1435696,1436567,1437438,1438387,1439153,1440492,1441890,1442980,1444198,1445564,1446860,1448057,1449299,1450531,1451352,1452620,1453610,1454864,1455906,1456936,1458025,1459392,1460669,1461992,1463143,1464312,1465573,1466575,1467600,1468883,1469983,1471398,1472320,1473488,1474488,1475542,1476332,1476878,1477498,1478964,1480136,1480932,1481844,1482680,1483566,1484405,1485266,1486114,1486962,1487899,1488764,1489645,1490517,1491358,1492118,1492891,1493655,1494500,1495350,1496140,1496962,1497760,1498619,1499501,1500321,1501026,1501824,1502688,1503873,1504893,1506176,1507101,1507930,1508760,1509595,1510393,1511218,1511994,1512845,1513655,1514386,1515198,1515986,1516832,1517511,1518194,1518983,1519587,1520180,1520928,1521785,1522589,1523314,1524138,1524983,1525768,1526595,1527326,1528206,1529022,1529799,1530596,1531301,1532029,1532730,1533550,1534302,1534956,1535749,1536565,1537344,1538152,1538919,1539726,1540488,1541166,1541969,1542761,1543526,1544325,1545097,1545818,1546621,1547449,1548272,1549116,1549933,1550736,1551487,1552311,1553080,1553873,1554729,1555587,1556393,1557207,1558001,1559259,1560287,1561507,1562875,1564095,1565254,1566431,1567684,1568907,1569969,1571200,1572566,1573923,1575228,1576309,1577530,1578847,1580028,1581355,1582374,1583591,1584824,1586110,1587347,1588812,1590182,1591547,1592730,1594096,1595189,1596149,1597331,1598355,1599275,1600200,1601265,1602265,1603450,1604677,1606037,1607216,1608551,1609601,1610615,1612135,1613458,1614672,1615745,1616801,1617753,1618912,1620013,1621243,1622084,1622992,1624204,1625356,1626194,1627095,1628217,1629423,1630499,1631758,1632802,1634179,1635453,1636638,1637735,1639085,1639930,1641250,1642317,1643680,1644656,1645723,1646760,1647803,1649109,1650374,1651573,1652775,1653948,1655064,1656378,1657436,1658141,1658822,1659690,1660571,1661370,1661821,1662508,1663359,1664258,1664747,1665589,1666306,1666703,1667090,1667781,1668537,1669301,1669747,1670315],sizes:[1428,1418,1241,1600,1534,1523,1527,1541,1553,1495,1545,1545,1547,1647,1625,1606,1442,1520,1495,1516,1214,970,1026,1026,976,1054,1002,1049,1018,943,1021,1017,1015,1353,1307,1288,1234,1216,849,1162,1116,821,949,1212,1298,1447,1472,937,1107,1032,1055,873,1309,1155,1255,910,1216,1306,1225,1311,1187,1025,1231,1180,926,1106,1118,1356,849,1125,955,1147,1418,1288,1034,1219,1343,1340,1294,1250,1044,1144,1239,1221,1083,1145,1137,1084,1300,1058,878,974,1022,1096,1155,711,969,920,729,995,1047,1264,1349,801,767,1036,1083,919,1070,1110,711,982,1051,1343,966,908,1156,714,989,1104,1218,1053,1253,1209,1150,1227,1162,1256,1247,1134,1192,1156,1163,1192,1257,992,1161,1173,874,893,789,927,915,1214,614,866,1001,1104,1267,1288,988,1302,1192,1202,1435,1212,1381,1271,1199,813,1233,915,1086,1048,1359,837,1106,795,993,845,1495,1076,676,721,709,788,863,753,833,644,565,819,600,748,1183,1278,910,1504,1146,807,1436,1203,1039,1079,1297,1335,1164,1195,981,967,1087,1170,652,719,754,648,591,756,764,734,757,813,831,637,667,782,674,509,618,659,521,703,747,706,747,764,863,741,732,861,738,811,664,650,858,687,663,781,564,586,756,703,789,810,714,599,765,698,748,753,703,772,775,639,762,795,844,746,777,758,752,553,750,778,805,695,624,742,682,687,823,750,803,743,757,1076,1389,1135,998,714,1164,1046,979,1058,992,1124,1074,1262,1099,857,1064,1199,999,1286,1173,827,1063,1186,822,1082,1167,953,924,1233,971,754,1215,1174,978,1006,1142,1290,1167,1406,972,1173,931,1187,845,1338,1264,1223,1243,1286,1244,1413,1281,1189,1055,1182,1068,1168,1153,1081,865,848,804,733,1175,1117,797,1352,1084,745,811,856,1186,1014,928,1122,1213,1040,1521,1422,1424,1379,1163,1180,1253,1223,1201,873,1210,1057,1167,1202,1049,795,442,441,447,938,923,737,902,822,665,836,709,870,951,1231,1388,1020,1099,880,1332,1154,1074,1425,1151,1278,1252,793,919,1285,1220,1247,930,1022,1181,1043,895,945,895,1047,1030,631,1085,950,913,964,990,987,1036,999,929,889,953,1018,804,922,1040,920,1054,1005,851,1282,1266,1268,1306,1149,1273,1090,1106,1123,1081,1130,1086,1162,1058,1158,989,1075,1118,962,876,979,988,1303,1185,748,1267,1295,1174,1103,951,1153,1386,1315,1125,1333,1297,1235,1153,1173,1219,1156,1134,1162,942,1257,1056,1340,1631,1102,1047,1546,1372,1484,1516,910,1116,1017,960,1111,1351,1124,984,1225,957,1025,1076,984,1105,975,1021,1188,1233,1286,1339,1321,1241,1328,720,797,1045,1020,1192,1218,897,984,937,992,731,475,470,571,485,476,660,1018,577,894,977,711,949,1225,1245,1231,1270,1242,1326,1329,1177,1131,1411,1318,1239,1319,1245,1238,1153,938,989,1020,988,978,1020,982,955,1009,953,1003,1023,1066,978,1387,1103,1163,1264,1139,992,652,1219,1234,760,610,387,1227,1040,1078,1015,1047,919,1031,1135,1073,1233,1149,1073,1433,1300,1225,1128,1070,1041,957,981,689,1094,1348,998,938,1009,1158,1321,1139,909,1045,1119,1323,1130,1164,1065,1312,1101,950,1457,1288,765,1097,766,1247,1105,1326,1036,974,1264,1220,1114,1246,1234,1228,1163,1308,1184,1218,1297,1099,1084,1388,1250,1285,1332,1114,854,1267,1204,1214,1092,909,1419,1059,1091,1484,1236,1207,1336,1223,1048,1340,913,784,988,1171,1141,1189,1244,1230,1221,1248,1428,1019,1395,1026,1164,1202,1279,1242,858,995,1091,1166,1013,1113,1057,1398,1278,1123,1397,893,898,1104,1263,919,964,873,1349,1175,1041,1308,1159,1141,1171,1236,1140,1115,1353,1208,1042,1064,1048,1005,1038,1062,1087,1276,858,1056,982,855,801,711,933,963,945,1193,691,760,705,1343,1e3,927,1044,742,715,866,1036,780,867,791,937,786,1199,1186,1370,758,1198,1415,1250,938,691,1104,1183,960,773,1057,1233,1127,1133,903,923,963,918,788,955,899,814,838,870,993,1319,1015,1071,979,1363,1227,1247,1285,1099,1145,1145,1320,1302,1311,1386,1243,1328,1190,1224,1072,1230,1149,1016,1326,952,1139,1236,660,1177,1034,931,971,1057,877,963,1069,982,1117,876,988,914,787,946,808,811,777,768,1262,910,1147,1020,1044,861,1168,1071,963,750,899,1080,1236,1143,1330,1230,955,1227,1199,1017,1398,1118,1073,1160,1185,1194,1010,1119,1031,1335,595,1363,1161,1481,1585,1526,699,1051,1326,1242,1282,1236,1237,1209,1217,1379,1289,1002,1102,929,1006,899,1032,941,1038,1318,986,653,600,468,537,479,449,475,551,610,711,654,950,1030,774,771,1017,950,926,938,1147,1011,1359,1116,1316,1160,1021,1445,1368,1244,1229,1311,1254,1304,1244,1252,1229,1225,1298,1161,1129,1238,1073,1137,1172,1405,1289,1260,1410,1036,741,1135,1174,751,1067,961,1193,684,549,780,1015,1059,1042,1052,1015,1007,794,741,730,701,670,845,925,1021,1006,1035,782,901,822,1001,1030,1239,1391,1344,1238,1124,1351,1198,1218,1078,1179,1148,1316,1085,1205,1421,1182,1248,1251,1264,1337,1020,675,1009,1247,986,896,1160,1211,1216,1364,1330,1046,1016,1320,1182,1297,998,1126,1086,1016,1160,1230,1140,1181,1114,1069,1092,834,1446,1034,1173,1189,1052,1663,1673,1803,1657,1640,1658,864,1153,1217,1148,1006,991,936,1023,1105,1049,1126,1153,1185,1299,1240,1141,1377,1268,1044,1064,1120,1048,1248,1205,1140,993,1039,1108,1059,1202,1020,1090,935,1157,949,864,775,782,817,870,848,811,883,731,876,837,1001,730,796,772,860,877,790,990,1030,1604,1460,1493,1479,1475,1489,1461,1466,1482,1504,1466,1198,1203,1251,1413,1431,1487,1391,1501,1131,821,1151,1141,923,1073,1328,1310,1239,761,842,1017,956,1100,988,1163,1380,774,1080,684,848,1417,1187,1149,1284,807,1037,997,891,961,953,1031,909,994,955,963,812,932,987,914,894,959,954,968,873,1022,1004,991,979,922,934,1255,1419,1380,1309,1200,1076,1287,1190,1214,1261,1155,1372,1147,1335,1404,1073,1310,1148,1210,1069,813,1035,1094,1293,1104,1179,1198,1177,1228,1175,1089,1405,1314,1183,1143,1166,1138,1145,1145,1174,1038,1061,842,985,990,1013,1368,1065,1142,1115,932,887,1041,1329,1147,1195,1158,999,1009,655,852,894,799,782,1067,1254,1090,910,1046,952,881,989,995,916,890,1004,967,1026,1228,1444,1288,981,1328,1198,1198,866,992,1214,1287,1058,1131,899,757,789,1304,1015,1404,1298,1235,943,878,987,1249,1101,1190,1114,1104,1228,983,994,1031,1283,1066,1419,1352,913,868,1279,1292,1087,1214,966,1144,1069,997,1027,1161,1296,776,935,1282,846,1168,969,1293,834,927,1219,1108,891,725,1159,898,916,892,1151,1439,1246,1343,970,1088,1248,918,912,823,899,905,751,935,1177,1471,1549,1062,1197,1371,1070,883,743,1091,1284,1286,1291,884,873,988,965,836,798,896,1032,1016,1062,878,965,1125,1099,951,920,839,1078,1359,1321,1468,1069,1119,1071,1244,1129,916,729,907,884,864,860,834,831,643,803,803,916,701,776,870,874,874,924,848,871,871,949,766,1339,1398,1090,1218,1366,1296,1197,1242,1232,821,1268,990,1254,1042,1030,1089,1367,1277,1323,1151,1169,1261,1002,1025,1283,1100,1415,922,1168,1e3,1054,790,546,620,1466,1172,796,912,836,886,839,861,848,848,937,865,881,872,841,760,773,764,845,850,790,822,798,859,882,820,705,798,864,1185,1020,1283,925,829,830,835,798,825,776,851,810,731,812,788,846,679,683,789,604,593,748,857,804,725,824,845,785,827,731,880,816,777,797,705,728,701,820,752,654,793,816,779,808,767,807,762,678,803,792,765,799,772,721,803,828,823,844,817,803,751,824,769,793,856,858,806,814,794,1258,1028,1220,1368,1220,1159,1177,1253,1223,1062,1231,1366,1357,1305,1081,1221,1317,1181,1327,1019,1217,1233,1286,1237,1465,1370,1365,1183,1366,1093,960,1182,1024,920,925,1065,1e3,1185,1227,1360,1179,1335,1050,1014,1520,1323,1214,1073,1056,952,1159,1101,1230,841,908,1212,1152,838,901,1122,1206,1076,1259,1044,1377,1274,1185,1097,1350,845,1320,1067,1363,976,1067,1037,1043,1306,1265,1199,1202,1173,1116,1314,1058,705,681,868,881,799,451,687,851,899,489,842,717,397,387,691,756,764,446,568,89],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_Pygments.data")}Module["addRunDependency"]("datafile_Pygments.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/bin/pygmentize",start:0,end:416,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatter.py",start:416,end:3364,audio:0},{filename:"/lib/python3.7/site-packages/pygments/__init__.py",start:3364,end:6509,audio:0},{filename:"/lib/python3.7/site-packages/pygments/unistring.py",start:6509,end:71258,audio:0},{filename:"/lib/python3.7/site-packages/pygments/scanner.py",start:71258,end:74381,audio:0},{filename:"/lib/python3.7/site-packages/pygments/token.py",start:74381,end:80548,audio:0},{filename:"/lib/python3.7/site-packages/pygments/console.py",start:80548,end:82269,audio:0},{filename:"/lib/python3.7/site-packages/pygments/style.py",start:82269,end:88027,audio:0},{filename:"/lib/python3.7/site-packages/pygments/regexopt.py",start:88027,end:91121,audio:0},{filename:"/lib/python3.7/site-packages/pygments/cmdline.py",start:91121,end:110656,audio:0},{filename:"/lib/python3.7/site-packages/pygments/sphinxext.py",start:110656,end:115313,audio:0},{filename:"/lib/python3.7/site-packages/pygments/plugin.py",start:115313,end:117047,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexer.py",start:117047,end:148745,audio:0},{filename:"/lib/python3.7/site-packages/pygments/modeline.py",start:148745,end:149755,audio:0},{filename:"/lib/python3.7/site-packages/pygments/util.py",start:149755,end:161655,audio:0},{filename:"/lib/python3.7/site-packages/pygments/filter.py",start:161655,end:163693,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/murphy.py",start:163693,end:166444,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/xcode.py",start:166444,end:167945,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/__init__.py",start:167945,end:170797,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/sas.py",start:170797,end:172238,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/default.py",start:172238,end:174770,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/manni.py",start:174770,end:177144,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/pastie.py",start:177144,end:179617,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/fruity.py",start:179617,end:180915,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/algol.py",start:180915,end:183178,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/solarized.py",start:183178,end:186925,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/abap.py",start:186925,end:187676,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/bw.py",start:187676,end:189031,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/emacs.py",start:189031,end:191517,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/native.py",start:191517,end:193455,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/arduino.py",start:193455,end:197947,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/paraiso_light.py",start:197947,end:203592,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/borland.py",start:203592,end:205154,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/trac.py",start:205154,end:207087,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/vs.py",start:207087,end:208160,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/tango.py",start:208160,end:215256,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/stata_light.py",start:215256,end:216530,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/perldoc.py",start:216530,end:218705,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/colorful.py",start:218705,end:221483,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/autumn.py",start:221483,end:223627,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/monokai.py",start:223627,end:228707,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/lovelace.py",start:228707,end:231880,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/algol_nu.py",start:231880,end:234158,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/igor.py",start:234158,end:234897,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/friendly.py",start:234897,end:237412,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/paraiso_dark.py",start:237412,end:243053,audio:0},{
-filename:"/lib/python3.7/site-packages/pygments/styles/vim.py",start:243053,end:245029,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/stata_dark.py",start:245029,end:246274,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/rainbow_dash.py",start:246274,end:248754,audio:0},{filename:"/lib/python3.7/site-packages/pygments/styles/rrt.py",start:248754,end:249606,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_stata_builtins.py",start:249606,end:274834,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/parsers.py",start:274834,end:302424,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/floscript.py",start:302424,end:305091,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/__init__.py",start:305091,end:316282,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/ezhil.py",start:316282,end:319302,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/sas.py",start:319302,end:328751,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/html.py",start:328751,end:348036,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/haxe.py",start:348036,end:378994,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/nix.py",start:378994,end:383025,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/monte.py",start:383025,end:389332,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/dylan.py",start:389332,end:399754,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/ampl.py",start:399754,end:403877,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/xorg.py",start:403877,end:404764,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/smalltalk.py",start:404764,end:411979,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_php_builtins.py",start:411979,end:566408,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/ruby.py",start:566408,end:588555,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/haskell.py",start:588555,end:620626,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/math.py",start:620626,end:621326,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/graphics.py",start:621326,end:659585,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/textedit.py",start:659585,end:665642,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/pascal.py",start:665642,end:698293,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/objective.py",start:698293,end:721082,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/foxpro.py",start:721082,end:747318,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/webmisc.py",start:747318,end:787227,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/typoscript.py",start:787227,end:795523,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/compiled.py",start:795523,end:796908,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/lisp.py",start:796908,end:940493,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/chapel.py",start:940493,end:944317,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/snobol.py",start:944317,end:947073,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/unicon.py",start:947073,end:965074,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/iolang.py",start:965074,end:966979,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_csound_builtins.py",start:966979,end:983846,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/python.py",start:983846,end:1026404,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/modula2.py",start:1026404,end:1078965,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_cl_builtins.py",start:1078965,end:1093018,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/esoteric.py",start:1093018,end:1102507,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/text.py",start:1102507,end:1103537,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/urbi.py",start:1103537,end:1109287,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/rnc.py",start:1109287,end:1111277,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_asy_builtins.py",start:1111277,end:1138598,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/roboconf.py",start:1138598,end:1140668,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/make.py",start:1140668,end:1147994,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/d.py",start:1147994,end:1157524,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/slash.py",start:1157524,end:1166045,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/capnproto.py",start:1166045,end:1168239,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/prolog.py",start:1168239,end:1180270,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/diff.py",start:1180270,end:1185143,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/r.py",start:1185143,end:1191422,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/erlang.py",start:1191422,end:1210360,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/archetype.py",start:1210360,end:1221496,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/c_cpp.py",start:1221496,end:1232023,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/basic.py",start:1232023,end:1259599,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/dsls.py",start:1259599,end:1292938,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/dotnet.py",start:1292938,end:1320537,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/modeling.py",start:1320537,end:1333927,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/asm.py",start:1333927,end:1363335,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/ooc.py",start:1363335,end:1366334,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/markup.py",start:1366334,end:1387107,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/parasail.py",start:1387107,end:1389844,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/graph.py",start:1389844,end:1392600,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/crystal.py",start:1392600,end:1409445,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/grammar_notation.py",start:1409445,end:1415774,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/fortran.py",start:1415774,end:1425615,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/console.py",start:1425615,end:1429735,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/eiffel.py",start:1429735,end:1432217,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_tsql_builtins.py",start:1432217,end:1447701,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/int_fiction.py",start:1447701,end:1503480,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/supercollider.py",start:1503480,end:1506996,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/tcl.py",start:1506996,end:1512394,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/rebol.py",start:1512394,end:1531018,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/qvt.py",start:1531018,end:1537115,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_mql_builtins.py",start:1537115,end:1561851,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/varnish.py",start:1561851,end:1569116,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/c_like.py",start:1569116,end:1594300,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/algebra.py",start:1594300,end:1601501,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/textfmts.py",start:1601501,end:1612358,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/templates.py",start:1612358,end:1685829,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/ambient.py",start:1685829,end:1688386,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/go.py",start:1688386,end:1692087,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/teraterm.py",start:1692087,end:1698397,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/hdl.py",start:1698397,end:1717096,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/hexdump.py",start:1717096,end:1720603,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/boa.py",start:1720603,end:1724545,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/testing.py",start:1724545,end:1735297,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/idl.py",start:1735297,end:1750283,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/robotframework.py",start:1750283,end:1769028,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/trafficscript.py",start:1769028,end:1770574,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/freefem.py",start:1770574,end:1797738,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/data.py",start:1797738,end:1816793,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/j.py",start:1816793,end:1821320,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/nimrod.py",start:1821320,end:1826494,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/matlab.py",start:1826494,end:1855642,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/functional.py",start:1855642,end:1856340,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/css.py",start:1856340,end:1887849,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_scilab_builtins.py",start:1887849,end:1940254,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/sql.py",start:1940254,end:1971828,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/ecl.py",start:1971828,end:1977703,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/clean.py",start:1977703,end:1984065,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/stata.py",start:1984065,end:1990522,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/verification.py",start:1990522,end:1994227,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/configs.py",start:1994227,end:2026082,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/rdf.py",start:2026082,end:2035772,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/scripting.py",start:2035772,end:2103536,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/apl.py",start:2103536,end:2106710,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/ncl.py",start:2106710,end:2170696,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_cocoa_builtins.py",start:2170696,end:2210712,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/perl.py",start:2210712,end:2242724,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/fantom.py",start:2242724,end:2252706,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/forth.py",start:2252706,end:2259885,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_mapping.py",start:2259885,end:2316731,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/php.py",start:2316731,end:2327552,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/automation.py",start:2327552,end:2347192,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/pony.py",start:2347192,end:2350461,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/rust.py",start:2350461,end:2358178,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/dalvik.py",start:2358178,end:2362598,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/whiley.py",start:2362598,end:2366610,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/actionscript.py",start:2366610,end:2377791,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/igor.py",start:2377791,end:2408708,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/julia.py",start:2408708,end:2422887,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/factor.py",start:2422887,end:2440751,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_lua_builtins.py",start:2440751,end:2449097,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_sourcemod_builtins.py",start:2449097,end:2476210,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/theorem.py",start:2476210,end:2495112,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/ml.py",start:2495112,end:2523004,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/pawn.py",start:2523004,end:2531102,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/oberon.py",start:2531102,end:2534835,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_postgres_builtins.py",start:2534835,end:2546045,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/inferno.py",start:2546045,end:2549162,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/bibtex.py",start:2549162,end:2553889,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/javascript.py",start:2553889,end:2613968,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/special.py",start:2613968,end:2617119,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/shell.py",start:2617119,end:2650389,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/felix.py",start:2650389,end:2659797,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/praat.py",start:2659797,end:2672353,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_stan_builtins.py",start:2672353,end:2682834,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/other.py",start:2682834,end:2684602,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/agile.py",start:2684602,end:2685502,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/web.py",start:2685502,end:2686420,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/csound.py",start:2686420,end:2703135,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/installers.py",start:2703135,end:2716001,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/smv.py",start:2716001,end:2718803,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_openedge_builtins.py",start:2718803,end:2767165,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/x10.py",start:2767165,end:2769130,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/jvm.py",start:2769130,end:2839097,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_vim_builtins.py",start:2839097,end:2896187,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_vbscript_builtins.py",start:2896187,end:2900436,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/resource.py",start:2900436,end:2903369,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/_lasso_builtins.py",start:2903369,end:3037903,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/elm.py",start:3037903,end:3040902,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/sgf.py",start:3040902,end:3042926,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/business.py",start:3042926,end:3070591,audio:0},{filename:"/lib/python3.7/site-packages/pygments/lexers/nit.py",start:3070591,end:3073334,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/rtf.py",start:3073334,end:3078383,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/__init__.py",start:3078383,end:3083507,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/html.py",start:3083507,end:3116193,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/svg.py",start:3116193,end:3122033,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/bbcode.py",start:3122033,end:3125347,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/latex.py",start:3125347,end:3143105,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/img.py",start:3143105,end:3162886,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/_mapping.py",start:3162886,end:3169100,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/terminal.py",start:3169100,end:3174097,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/irc.py",start:3174097,end:3179966,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/other.py",start:3179966,end:3185128,audio:0},{filename:"/lib/python3.7/site-packages/pygments/formatters/terminal256.py",start:3185128,end:3196196,audio:0},{filename:"/lib/python3.7/site-packages/pygments/filters/__init__.py",start:3196196,end:3207769,audio:0},{filename:"/lib/python3.7/site-packages/Pygments-2.4.2-py3.7.egg-info/PKG-INFO",start:3207769,end:3209708,audio:0},{filename:"/lib/python3.7/site-packages/Pygments-2.4.2-py3.7.egg-info/entry_points.txt",start:3209708,end:3209762,audio:0},{filename:"/lib/python3.7/site-packages/Pygments-2.4.2-py3.7.egg-info/top_level.txt",start:3209762,end:3209771,audio:0},{filename:"/lib/python3.7/site-packages/Pygments-2.4.2-py3.7.egg-info/dependency_links.txt",start:3209771,end:3209772,audio:0},{filename:"/lib/python3.7/site-packages/Pygments-2.4.2-py3.7.egg-info/SOURCES.txt",start:3209772,end:3250299,audio:0},{filename:"/lib/python3.7/site-packages/Pygments-2.4.2-py3.7.egg-info/not-zip-safe",start:3250299,end:3250300,audio:0}],remote_package_size:1674500,package_uuid:"7c8dcb7d-3096-4415-9797-bf2ace1a098d"})})();
\ No newline at end of file
+++ /dev/null
-{"dependencies": {"numpy": [], "pytest": ["atomicwrites", "attrs", "more-itertools", "pluggy", "py", "setuptools"], "mne": ["numpy", "scipy"], "biopython": [], "cytoolz": ["nose", "toolz"], "docutils": [], "pandas": ["numpy", "python-dateutil", "pytz"], "webencodings": [], "networkx": ["decorator", "setuptools", "matplotlib", "numpy"], "patsy": ["numpy"], "toolz": [], "xlrd": [], "decorator": [], "pyparsing": [], "atomicwrites": [], "Pygments": [], "scikit-learn": ["numpy", "scipy", "joblib"], "scipy": ["numpy"], "bleach": ["setuptools", "webencodings"], "attrs": [], "mpmath": [], "beautifulsoup4": ["soupsieve"], "kiwisolver": [], "soupsieve": [], "html5lib": ["webencodings"], "micropip": ["distlib"], "MarkupSafe": [], "setuptools": ["pyparsing"], "matplotlib": ["cycler", "kiwisolver", "numpy", "pyparsing", "python-dateutil", "pytz"], "nose": ["setuptools"], "pytz": [], "joblib": [], "py": [], "sympy": ["mpmath"], "python-dateutil": [], "statsmodels": ["numpy", "scipy", "pandas", "patsy"], "cycler": [], "more-itertools": [], "pluggy": [], "Jinja2": ["MarkupSafe"], "distlib": [], "nltk": [], "regex": [], "test": []}, "import_name_to_package_name": {"numpy": "numpy", "pytest": "pytest", "mne": "mne", "Bio": "biopython", "cytoolz": "cytoolz", "docutils": "docutils", "pandas": "pandas", "webencodings": "webencodings", "networkx": "networkx", "networkx.algorithms": "networkx", "networkx.algorithms.approximation": "networkx", "networkx.algorithms.assortativity": "networkx", "networkx.algorithms.bipartite": "networkx", "networkx.algorithms.centrality": "networkx", "networkx.algorithms.chordal": "networkx", "networkx.algorithms.coloring": "networkx", "networkx.algorithms.community": "networkx", "networkx.algorithms.components": "networkx", "networkx.algorithms.connectivity": "networkx", "networkx.algorithms.flow": "networkx", "networkx.algorithms.isomorphism": "networkx", "networkx.algorithms.link_analysis": "networkx", "networkx.algorithms.node_classification": "networkx", "networkx.algorithms.operators": "networkx", "networkx.algorithms.shortest_paths": "networkx", "networkx.algorithms.traversal": "networkx", "networkx.algorithms.tree": "networkx", "networkx.classes": "networkx", "networkx.drawing": "networkx", "networkx.generators": "networkx", "networkx.linalg": "networkx", "networkx.readwrite": "networkx", "networkx.readwrite.json_graph": "networkx", "networkx.utils": "networkx", "patsy": "patsy", "toolz": "toolz", "xlrd": "xlrd", "decorator": "decorator", "pyparsing": "pyparsing", "atomicwrites": "atomicwrites", "Pygments": "Pygments", "sklearn": "scikit-learn", "sklearn.calibration": "scikit-learn", "sklearn.cluster": "scikit-learn", "sklearn.compose": "scikit-learn", "sklearn.covariance": "scikit-learn", "sklearn.cross_decomposition": "scikit-learn", "sklearn.datasets": "scikit-learn", "sklearn.decomposition": "scikit-learn", "sklearn.discriminant_analysis": "scikit-learn", "sklearn.dummy": "scikit-learn", "sklearn.ensemble": "scikit-learn", "sklearn.exceptions": "scikit-learn", "sklearn.externals": "scikit-learn", "sklearn.feature_extraction": "scikit-learn", "sklearn.feature_selection": "scikit-learn", "sklearn.gaussian_process": "scikit-learn", "sklearn.impute": "scikit-learn", "sklearn.isotonic": "scikit-learn", "sklearn.kernel_approximation": "scikit-learn", "sklearn.kernel_ridge": "scikit-learn", "sklearn.linear_model": "scikit-learn", "sklearn.manifold": "scikit-learn", "sklearn.metrics": "scikit-learn", "sklearn.mixture": "scikit-learn", "sklearn.model_selection": "scikit-learn", "sklearn.multiclass": "scikit-learn", "sklearn.multioutput": "scikit-learn", "sklearn.naive_bayes": "scikit-learn", "sklearn.neighbors": "scikit-learn", "sklearn.neural_network": "scikit-learn", "sklearn.pipeline": "scikit-learn", "sklearn.preprocessing": "scikit-learn", "sklearn.random_projection": "scikit-learn", "sklearn.semi_supervised": "scikit-learn", "sklearn.svm": "scikit-learn", "sklearn.tree": "scikit-learn", "sklearn.utils": "scikit-learn", "scipy": "scipy", "scipy.cluster": "scipy", "scipy.constants": "scipy", "scipy.fftpack": "scipy", "scipy.odr": "scipy", "scipy.sparse": "scipy", "scipy.interpolate": "scipy", "scipy.integrate": "scipy", "scipy.linalg": "scipy", "scipy.misc": "scipy", "scipy.ndimage": "scipy", "scipy.spatial": "scipy", "scipy.special": "scipy", "bleach": "bleach", "attr": "attrs", "mpmath": "mpmath", "bs4": "beautifulsoup4", "kiwisolver": "kiwisolver", "soupsieve": "soupsieve", "html5lib": "html5lib", "micropip": "micropip", "markupsafe": "MarkupSafe", "setuptools": "setuptools", "easy_install": "setuptools", "pkg_resources": "setuptools", "matplotlib": "matplotlib", "mpl_toolkits": "matplotlib", "nose": "nose", "pytz": "pytz", "joblib": "joblib", "py": "py", "py.code": "py", "sympy": "sympy", "dateutil": "python-dateutil", "statsmodels": "statsmodels", "cycler": "cycler", "more_itertools": "more-itertools", "pluggy": "pluggy", "jinja2": "Jinja2", "distlib": "distlib", "nltk": "nltk", "regex": "regex"}}
\ No newline at end of file
+++ /dev/null
-var Module=typeof Module!=="undefined"?Module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="pyodide.asm.data";var REMOTE_PACKAGE_BASE="pyodide.asm.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","distutils",true,true);Module["FS_createPath"]("/lib/python3.7/distutils","tests",true,true);Module["FS_createPath"]("/lib/python3.7/distutils","command",true,true);Module["FS_createPath"]("/lib/python3.7","collections",true,true);Module["FS_createPath"]("/lib/python3.7","http",true,true);Module["FS_createPath"]("/lib/python3.7","unittest",true,true);Module["FS_createPath"]("/lib/python3.7/unittest","test",true,true);Module["FS_createPath"]("/lib/python3.7/unittest/test","testmock",true,true);Module["FS_createPath"]("/lib/python3.7","asyncio",true,true);Module["FS_createPath"]("/lib/python3.7","logging",true,true);Module["FS_createPath"]("/lib/python3.7","encodings",true,true);Module["FS_createPath"]("/lib/python3.7","xml",true,true);Module["FS_createPath"]("/lib/python3.7/xml","sax",true,true);Module["FS_createPath"]("/lib/python3.7/xml","etree",true,true);Module["FS_createPath"]("/lib/python3.7/xml","dom",true,true);Module["FS_createPath"]("/lib/python3.7/xml","parsers",true,true);Module["FS_createPath"]("/lib/python3.7","sqlite3",true,true);Module["FS_createPath"]("/lib/python3.7/sqlite3","test",true,true);Module["FS_createPath"]("/lib/python3.7","xmlrpc",true,true);Module["FS_createPath"]("/lib/python3.7","wsgiref",true,true);Module["FS_createPath"]("/lib/python3.7","urllib",true,true);Module["FS_createPath"]("/lib/python3.7","importlib",true,true);Module["FS_createPath"]("/lib/python3.7","html",true,true);Module["FS_createPath"]("/lib/python3.7","json",true,true);Module["FS_createPath"]("/lib/python3.7","email",true,true);Module["FS_createPath"]("/lib/python3.7/email","mime",true,true);Module["FS_createPath"]("/lib/python3.7","concurrent",true,true);Module["FS_createPath"]("/lib/python3.7/concurrent","futures",true,true);Module["FS_createPath"]("/lib/python3.7","pydoc_data",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","parso",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/parso","python",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/parso","pgen2",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","jedi",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi","plugins",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi","api",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi","common",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi","third_party",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party","typeshed",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed","stdlib",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib","3.6",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib","2",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2","distutils",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2","encodings",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2","os",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2","multiprocessing",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing","dummy",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2","email",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email","mime",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib","2and3",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3","distutils",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils","command",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3","logging",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3","ctypes",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3","xml",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml","sax",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml","etree",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml","parsers",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers","expat",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3","sqlite3",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3","wsgiref",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3","pyexpat",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3","lib2to3",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3","pgen2",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib","3",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","collections",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","http",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","unittest",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","asyncio",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","tkinter",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","encodings",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","urllib",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","importlib",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","html",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","os",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","multiprocessing",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing","dummy",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","json",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","email",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email","mime",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","concurrent",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent","futures",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3","curses",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib","3.7",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib","3.5",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed","third_party",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party","2",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","cryptography",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography","hazmat",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography/hazmat","primitives",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography/hazmat/primitives","asymmetric",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","OpenSSL",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","tornado",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","redis",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","kazoo",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/kazoo","recipe",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","fb303",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","scribe",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","routes",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","six",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six","moves",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves","urllib",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2","concurrent",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/concurrent","futures",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party","2and3",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","boto",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto","s3",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto","ec2",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto","kms",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto","elb",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","characteristic",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","backports",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","markupsafe",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","Crypto",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto","Signature",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto","Hash",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto","Cipher",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto","Util",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto","Protocol",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto","PublicKey",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto","Random",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random","Fortuna",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random","OSRNG",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","werkzeug",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug","debug",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug","contrib",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","google",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google","protobuf",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf","compiler",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf","util",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf","internal",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","atomicwrites",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","flask",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask","json",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","click",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","dateutil",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil","tz",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","yaml",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","bleach",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","pynamodb",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb","connection",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","pytz",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","simplejson",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","pymysql",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql","constants",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","requests",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests","packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages","urllib3",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3","packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages","ssl_match_hostname",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3","util",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3","contrib",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","jinja2",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3","attr",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party","3",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3","docutils",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils","parsers",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers","rst",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3","jwt",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/jwt","contrib",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib","algorithms",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3","typed_ast",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3","six",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six","moves",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves","urllib",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3","pkg_resources",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party","3.5",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi","evaluate",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/evaluate","gradual",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/evaluate","compiled",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/evaluate/compiled","subprocess",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/jedi/evaluate","context",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:8358294,cachedIndexes:[-1,-1],cachedChunks:[null,null],
-offsets:[0,1416,2638,3679,4708,6040,7167,8645,9820,11223,12349,13561,14529,15696,16834,17935,19255,20508,21495,22307,23629,24838,25838,26722,27765,29131,30146,31361,32467,33603,35209,36260,37459,38832,40150,41015,42019,42857,43915,44935,45967,47557,48891,50147,51528,52802,53984,55395,56712,57899,58916,59925,60945,62165,63375,64548,65674,66918,68111,69276,70390,71796,72848,74043,75146,76035,76920,78130,79479,80821,81982,83072,83892,84859,85597,86992,88377,89246,90327,91538,92744,94030,95259,96408,97476,98609,99904,101008,102111,103162,104098,105115,106191,107430,108631,109399,110624,111627,112667,113857,114792,115798,116960,118102,119245,120540,121757,122974,124428,125861,127153,128139,129450,130558,131673,132939,134255,135451,136616,137654,138516,139804,141225,142407,143398,144665,145697,146875,147644,148551,149392,150483,151729,153107,154542,155746,157052,158145,159404,160711,161923,163066,163999,165092,166567,167675,168820,169724,170994,172263,173551,174708,175759,177089,178457,179997,181215,182591,183780,185210,186460,187996,189325,190418,191725,192979,194253,195416,196534,197779,198905,200155,201355,202424,203673,204790,206101,207356,208632,209833,211136,212183,213510,214791,216157,217194,218285,219485,220802,222084,223423,224479,225577,226681,227792,229077,230055,231396,232376,233262,234585,235824,237040,237932,238854,239747,240766,241866,242784,243984,245141,246232,247269,248642,249645,250970,252204,253290,254484,255711,257082,258471,260017,261209,262509,263564,264639,265632,266845,267912,268916,270009,271346,272779,273971,275250,276304,277570,278836,279893,280830,282183,283435,284615,285665,286761,287545,288201,289021,289501,290080,290641,291180,291718,292212,292768,293313,293904,294504,295061,295576,296167,296730,297301,297885,298504,299636,300781,302071,303143,304358,305644,306889,307926,309249,310598,312014,313376,314641,315992,317071,318297,319564,320998,322283,323659,325024,325946,327391,328868,330090,331498,332879,334026,335204,336609,338042,339398,340656,341536,343065,344381,345718,346882,348187,349446,350662,351944,353244,354619,355730,357031,358184,359395,360496,361834,363134,364308,365697,366853,368222,369576,370856,372187,373171,374106,375251,376403,377565,378825,380080,381240,382533,383667,384949,386125,387611,388987,390296,391441,392740,393969,395237,396438,397829,399290,400273,401308,402314,403555,404729,406168,407167,408646,409773,410604,411618,412585,413859,414995,415962,417143,418118,418904,419976,421332,422874,424098,425522,426795,427704,428647,429871,431031,432199,433494,434393,435281,436442,437306,438639,439747,441009,442195,443610,445247,446909,448133,449707,451075,452470,453534,454826,456120,457185,458550,459838,460872,462018,462937,464078,464915,466536,467559,468698,470121,471170,472426,473257,474376,475368,476547,477499,478723,479821,480820,482027,483086,484334,485505,486684,487791,489114,490158,491124,492195,493548,494560,495711,496569,497528,498284,499468,500732,501693,502835,503959,505133,506194,507328,508394,509509,510453,511407,512654,513849,514743,516031,517198,518577,520077,521314,522449,523819,525118,526358,527548,528763,529722,530950,532267,533609,534691,535817,536901,538137,539030,539969,541121,542060,543214,544373,545662,546722,547737,548440,549374,550373,551404,552283,553354,554653,555759,556669,557489,558267,559229,560176,561557,562909,563846,565088,566098,566912,567994,569344,570517,571718,572847,574128,575247,576583,577822,579067,580536,581732,582805,584299,585535,586879,588143,589178,590572,591870,592974,594219,595519,596903,598306,599871,601297,602413,603647,604825,606056,607235,608454,609799,611075,612323,613290,614475,615750,616708,617768,618757,619926,621207,622396,623437,624472,625490,626656,627983,629169,630289,631664,633079,634386,635471,636927,638057,639190,640560,641624,642938,644381,645681,647103,648371,649600,650893,651894,652909,654140,655239,656358,657641,658372,659149,660307,661605,662785,664092,665218,666402,667976,669341,670569,671956,673302,674702,675820,676951,678017,678874,679892,681019,681972,683094,684362,685555,687023,688245,689407,690287,691390,692506,693588,695042,696443,697355,698524,699730,700733,701793,703102,704341,704825,705777,706783,707999,709130,710490,712001,713184,714260,715461,716778,718104,719417,720700,722192,723454,724508,725075,725851,726900,727784,728804,729795,730784,731926,733258,734419,735612,736829,737925,739182,740518,741654,742623,743560,745078,746259,747220,748053,749151,750218,751262,752269,753440,754528,755518,756875,758129,759412,760774,761854,762887,764060,765194,766482,767826,768697,769663,770447,771116,772356,773570,774735,775739,776943,778104,779057,780011,781130,782347,783472,784547,785619,786706,787818,788860,790065,791270,791946,792994,794056,795323,796105,797437,798955,800327,801836,803433,805070,806640,808159,809720,810862,811603,812617,813632,814531,815495,816540,817484,818537,819842,820893,822061,823214,824392,825614,826783,827649,828485,829784,830603,831545,832505,833670,834361,835540,836851,838231,839591,840696,842003,843048,844292,845411,846881,847978,849170,850237,851316,852198,853424,854780,856251,857290,858506,859909,861310,862683,863945,865160,866390,867540,868995,870181,871428,872704,873823,875094,876322,877424,878496,879569,880667,881800,883097,883978,885139,886303,887348,888651,889791,890936,892292,893527,894623,895695,896655,897994,899411,900659,902088,903336,904277,905518,906545,907818,909093,910347,911375,912586,913648,914721,916123,917376,918701,919820,920793,921836,922750,923604,924601,925696,926744,927736,928673,929776,930974,931862,932458,933206,933999,935090,936328,937495,938514,939566,940616,941692,942727,943688,944689,945719,946825,947790,948895,949994,950948,951938,952879,953955,955021,956068,957201,958100,959224,960080,961079,962114,963086,964542,966020,967208,968434,969604,970762,971861,973074,974194,975211,976583,977619,978858,979820,981023,982121,983451,984839,986024,987212,988545,989271,990254,991374,992587,993633,994783,995828,996934,998e3,998898,999878,1000898,1001944,1003075,1004114,1005043,1006119,1007155,1008390,1009561,1010571,1011503,1012548,1013725,1014747,1016036,1017081,1018149,1019227,1020344,1021509,1022294,1023247,1024095,1025245,1026466,1027750,1029238,1030748,1032282,1033432,1034678,1035875,1037146,1038486,1039725,1041055,1042212,1043378,1044558,1045795,1047111,1048200,1049186,1050463,1051237,1052170,1053458,1054429,1055940,1057243,1058361,1059477,1060629,1061763,1063033,1064250,1065436,1066589,1068020,1069427,1070907,1072059,1072854,1073926,1075206,1076321,1077390,1078812,1080121,1081722,1083273,1084766,1086391,1087853,1089209,1090551,1091530,1092528,1093583,1094999,1096348,1097486,1098553,1099658,1100817,1102115,1103351,1104253,1105418,1106418,1107506,1108615,1109821,1111364,1112716,1114017,1115283,1116645,1117760,1119079,1120080,1121423,1122705,1123978,1124996,1126156,1127205,1128331,1129549,1130983,1132092,1133324,1134500,1135479,1136571,1137718,1138953,1140258,1141443,1142332,1143764,1144940,1146184,1147180,1148088,1149019,1150465,1151510,1152656,1153798,1155023,1156167,1157621,1158807,1159899,1161019,1162483,1163727,1164998,1166239,1167386,1168694,1169764,1171180,1172274,1173160,1174217,1175354,1176344,1177672,1178435,1179274,1180407,1181529,1182567,1183803,1185089,1186427,1187468,1188696,1190038,1191224,1192401,1193504,1194662,1195833,1197172,1198401,1199169,1200216,1201371,1202686,1203922,1205144,1206149,1207192,1208225,1209030,1210056,1210972,1212357,1213660,1214992,1216137,1217549,1218776,1219774,1220819,1222008,1222837,1223829,1225276,1226319,1227809,1229092,1230254,1231516,1232740,1233806,1234899,1235919,1236998,1238112,1239167,1240270,1241297,1242459,1243441,1244471,1245630,1246801,1247830,1248939,1250321,1251674,1252989,1254416,1255991,1257203,1258374,1259505,1260327,1261551,1262689,1263589,1264829,1265631,1267098,1268684,1269583,1270810,1271942,1272929,1274042,1275156,1276282,1277588,1279161,1280172,1281308,1282526,1283629,1284755,1285747,1287021,1288081,1289141,1290132,1291117,1292111,1293372,1294307,1295215,1296568,1297604,1298469,1299275,1300170,1301162,1301991,1303329,1304372,1305389,1306494,1307722,1308912,1310182,1311340,1312880,1314132,1315489,1316715,1317880,1318672,1319673,1320503,1321609,1322651,1323890,1325094,1325947,1326933,1328024,1329044,1330020,1331019,1331742,1333020,1334332,1335302,1336531,1337525,1338485,1339544,1340572,1341310,1342615,1344061,1345363,1346631,1347849,1349129,1350273,1351573,1353048,1354055,1355488,1356745,1357763,1359038,1360002,1361130,1362226,1363581,1364966,1366239,1367392,1368511,1369583,1370609,1371801,1372860,1373991,1375393,1376470,1377746,1379224,1380149,1380911,1382031,1382911,1384052,1385143,1386207,1387225,1388503,1389738,1390792,1391958,1392961,1394068,1395225,1396163,1397228,1398010,1398755,1399773,1400769,1401847,1402790,1403859,1404815,1405612,1406516,1407493,1408486,1409445,1410343,1411176,1411968,1412938,1413755,1414765,1415865,1417012,1418378,1419707,1420960,1421909,1422995,1424072,1425289,1426580,1428029,1429187,1430451,1431786,1433002,1434081,1434885,1435797,1436727,1437726,1438504,1439732,1441012,1442113,1443332,1444460,1445589,1446941,1448246,1449439,1450252,1451344,1452327,1453605,1455069,1456207,1457282,1458486,1459785,1461024,1462105,1463026,1464180,1465530,1466989,1468335,1469523,1470610,1471906,1473178,1474133,1475146,1476570,1477928,1479127,1480220,1481091,1482119,1483020,1483820,1484825,1485974,1486905,1487779,1488667,1489533,1490266,1491092,1492055,1493076,1494105,1495279,1496306,1497588,1498696,1499983,1501293,1502652,1504028,1505219,1506711,1508171,1509584,1510829,1512169,1513685,1515019,1516218,1517321,1518457,1519449,1520671,1521705,1522432,1523533,1524726,1525847,1527050,1528258,1529453,1530624,1531999,1533229,1534631,1535862,1537113,1538456,1539738,1540988,1542431,1543570,1544895,1545797,1546791,1548083,1549340,1550361,1551116,1552060,1553409,1554766,1555955,1557332,1558679,1559834,1561098,1562449,1563578,1564870,1565780,1566844,1567945,1568917,1569773,1570816,1571399,1572570,1573744,1574786,1575856,1576785,1577686,1578791,1579854,1580623,1581664,1582738,1583833,1584901,1585930,1586878,1587850,1588803,1589716,1590798,1592169,1593343,1594378,1595402,1596696,1597732,1598780,1600118,1601248,1602217,1603409,1604685,1605681,1606965,1608129,1609254,1610238,1611148,1612324,1613135,1614370,1615638,1616877,1618061,1618894,1619879,1620934,1621912,1622742,1624065,1625071,1626450,1627496,1628408,1629433,1630616,1631684,1632772,1633407,1634161,1634807,1635452,1636372,1637069,1637613,1638272,1639047,1639637,1640437,1641190,1642098,1642842,1643628,1644610,1645301,1646344,1647180,1648011,1648828,1649628,1650393,1651334,1652197,1653519,1654962,1656206,1657612,1659041,1660382,1661767,1662985,1664402,1665720,1666874,1668188,1669453,1670853,1672430,1673563,1674692,1675728,1676639,1677498,1678858,1680246,1681589,1682906,1684094,1685354,1686689,1687957,1689300,1690616,1691718,1692937,1693665,1695052,1696131,1697449,1698572,1699742,1700934,1702181,1703421,1704229,1705426,1706747,1707854,1708648,1709631,1710865,1711938,1713110,1714216,1715320,1716406,1717558,1718327,1719185,1719835,1721303,1722581,1723727,1724875,1726137,1727457,1728538,1729871,1730846,1731939,1732784,1733680,1734528,1735402,1736570,1737779,1738857,1740321,1741662,1743129,1744573,1745705,1746651,1748152,1749439,1750386,1751663,1752931,1754243,1755334,1756576,1757633,1758652,1759619,1760739,1761913,1763112,1764279,1765257,1766463,1767569,1768804,1769758,1770897,1771942,1773184,1774156,1775315,1776324,1777727,1778844,1779970,1780889,1781955,1783163,1784426,1785440,1786574,1787630,1788662,1789529,1790730,1792027,1793542,1794770,1795901,1797176,1798504,1799676,1800888,1802193,1803406,1804728,1806006,1807018,1808441,1809722,1811027,1812271,1813246,1814421,1815805,1816903,1818330,1819259,1820211,1821187,1822395,1823703,1825187,1826236,1827450,1828812,1830098,1831218,1832133,1833361,1834548,1835824,1836504,1837553,1839032,1840137,1841287,1842669,1843899,1845178,1846223,1847500,1848886,1850227,1851471,1852535,1853882,1855161,1856114,1857448,1858680,1859932,1861222,1862672,1864196,1865540,1866871,1868212,1869435,1870792,1871986,1873250,1874552,1875696,1876824,1877922,1879141,1880145,1880963,1881849,1882919,1883951,1885077,1886255,1887502,1888820,1889777,1890768,1891655,1892563,1893668,1894807,1896e3,1897274,1898341,1899462,1900727,1901931,1903e3,1904070,1905339,1906518,1907556,1908884,1910025,1911312,1912604,1913656,1914967,1916200,1917142,1918254,1919273,1920490,1921604,1923098,1924376,1925408,1926420,1927804,1929062,1930208,1931148,1932265,1933407,1934566,1935884,1937255,1938239,1939548,1940546,1941753,1942913,1944081,1945417,1946586,1947577,1948833,1950101,1951322,1952519,1953604,1954770,1955879,1957056,1958232,1959497,1960731,1961881,1963016,1963951,1965176,1966107,1967425,1968733,1969846,1970871,1972027,1973005,1974134,1975178,1976128,1977258,1978440,1979593,1980658,1981738,1982626,1983821,1984849,1985796,1986858,1987671,1988719,1989803,1990980,1992178,1993566,1995029,1996250,1997559,1998702,1999996,2001354,2002630,2003632,2004888,2006160,2007474,2008432,2009155,2010148,2011071,2012088,2012810,2013775,2014972,2016251,2017628,2018457,2019680,2020711,2021766,2022975,2024570,2025957,2027079,2028043,2029110,2030186,2031186,2032208,2033330,2034438,2035429,2036199,2037173,2038579,2039803,2040941,2042172,2043408,2044675,2045616,2046591,2047679,2048935,2050322,2051661,2052910,2054058,2055283,2056514,2057681,2058727,2059856,2061125,2062433,2063498,2064554,2065269,2066114,2067048,2068531,2069636,2070860,2071968,2073025,2073872,2075088,2076335,2077673,2078783,2079956,2081219,2082432,2083684,2084842,2085933,2087275,2088548,2089895,2091162,2092436,2093700,2094942,2096302,2097420,2098559,2099571,2100843,2102018,2103086,2104218,2104858,2105936,2106902,2107976,2108963,2109970,2110873,2112007,2113052,2114090,2115169,2116240,2117213,2118159,2118961,2120251,2121674,2123140,2124435,2125754,2127079,2128373,2129412,2130418,2131747,2132909,2134046,2135261,2136599,2137923,2139118,2140554,2141774,2143031,2144133,2145083,2146168,2147462,2148828,2150232,2151594,2152979,2154298,2155619,2156824,2158187,2159512,2160845,2162010,2163070,2164223,2165221,2166193,2167209,2168285,2169247,2170040,2171053,2172019,2172847,2173706,2175057,2176440,2177565,2178817,2180154,2181445,2182604,2183228,2184547,2185735,2187121,2188599,2189998,2191201,2192302,2193375,2194658,2196038,2197321,2198529,2199535,2200705,2201891,2202966,2204104,2205357,2206470,2207887,2209042,2210299,2211552,2212844,2213999,2215079,2216028,2217451,2218597,2219583,2220549,2221719,2222821,2223725,2224693,2225716,2226708,2227996,2229223,2230193,2231334,2232519,2233747,2234992,2236037,2237227,2238380,2239623,2240649,2241822,2242904,2243686,2244665,2245727,2246397,2247300,2248292,2249377,2250713,2251775,2253034,2253896,2254684,2255920,2257314,2258378,2259615,2261102,2262505,2263657,2264876,2266313,2267640,2268949,2270414,2271611,2272693,2273816,2274845,2275850,2277001,2278114,2279448,2280446,2281496,2282260,2283180,2284260,2285481,2286504,2287440,2288378,2289743,2291019,2292083,2293222,2294446,2295622,2296868,2297807,2298877,2299973,2301192,2302456,2303681,2305100,2306267,2307569,2308887,2310261,2311797,2312717,2313738,2314623,2315580,2316599,2317544,2318930,2320259,2321418,2322441,2323679,2324965,2326113,2327444,2328792,2329807,2330352,2331542,2332650,2334059,2335421,2336678,2337865,2339069,2340330,2341599,2342823,2344241,2345647,2347021,2348427,2349806,2350995,2352380,2353509,2354603,2355654,2356778,2357864,2358779,2360002,2361377,2362631,2363904,2365028,2365827,2367053,2368292,2369295,2370559,2371821,2373273,2374639,2376072,2377133,2378319,2379556,2381163,2382652,2383993,2385304,2386349,2387478,2388698,2389897,2391110,2392300,2393682,2395092,2396434,2397707,2398931,2400176,2401295,2402408,2403403,2404787,2406132,2407447,2408581,2409866,2411136,2412374,2413694,2414976,2415953,2416911,2417914,2418902,2419839,2421074,2422347,2423766,2425062,2426263,2427456,2428670,2429708,2431045,2432333,2433573,2434942,2436097,2437259,2438495,2439355,2440809,2442133,2443488,2444652,2446110,2447372,2448519,2449589,2450920,2452127,2453267,2454599,2455652,2456944,2458236,2459559,2460921,2462044,2463090,2463983,2464955,2465825,2466922,2468249,2469319,2470587,2471684,2473199,2474496,2475710,2476883,2478222,2479303,2480915,2482218,2483175,2484230,2485254,2486279,2487345,2488515,2489924,2491165,2492303,2493217,2494260,2495491,2496810,2497939,2499200,2500482,2501899,2503181,2504581,2505894,2507356,2508841,2510156,2511400,2512741,2514193,2515332,2516592,2517920,2519242,2520446,2521476,2522712,2524062,2525070,2526544,2527878,2529241,2530784,2531802,2533107,2534436,2535742,2536848,2538009,2539068,2540293,2541608,2542882,2543908,2545151,2546215,2547349,2548195,2549317,2550471,2551594,2552746,2553764,2554629,2555606,2556346,2557684,2558494,2559595,2560905,2562013,2563069,2564102,2565204,2566443,2567399,2568455,2569829,2571140,2572472,2573913,2575110,2576251,2577391,2578526,2579309,2580268,2581078,2582289,2583515,2584595,2585822,2586984,2588097,2589026,2590102,2591217,2592302,2593289,2594320,2595329,2596378,2597280,2598414,2599696,2600601,2601664,2602625,2603865,2604770,2605670,2606382,2606893,2607894,2608872,2609882,2611061,2612246,2613235,2614244,2615024,2615955,2616618,2617558,2618631,2619725,2620796,2621721,2622730,2623854,2624825,2625866,2627009,2628157,2629320,2630315,2631015,2631959,2633068,2634049,2635083,2636286,2637500,2638712,2639635,2640756,2641913,2643072,2644283,2645507,2646648,2647584,2648806,2649852,2650590,2651800,2652931,2654124,2655406,2656485,2657575,2657995,2659045,2660027,2661370,2662574,2663331,2664301,2665059,2665974,2667276,2668292,2669488,2670694,2671531,2672688,2673612,2674909,2675866,2676716,2677717,2678860,2679458,2680197,2680802,2681871,2683069,2684217,2685240,2686587,2687920,2689799,2691562,2693353,2695170,2696924,2698645,2700255,2701990,2703517,2704581,2706373,2707908,2709492,2711288,2713174,2714694,2716488,2718183,2719871,2721458,2723033,2724746,2726205,2726897,2728565,2730299,2731940,2733667,2735248,2737049,2738779,2740470,2742306,2744101,2745785,2747629,2749443,2751282,2753121,2754898,2756643,2758395,2760216,2762001,2763904,2765427,2767154,2768925,2770691,2772479,2774135,2775866,2777157,2778234,2779813,2781496,2783025,2784728,2786407,2788221,2790072,2791886,2793589,2795417,2797277,2799047,2800796,2802528,2804231,2805997,2807722,2808817,2809748,2811177,2812496,2814316,2816364,2818412,2820460,2822438,2824162,2825526,2827482,2829196,2830703,2832742,2834524,2835729,2836751,2837508,2838638,2840169,2841449,2842694,2843907,2845225,2846438,2847949,2849132,2849562,2850316,2851433,2853472,2855485,2857529,2858537,2859567,2860911,2862023,2863262,2864380,2865362,2866550,2867634,2868673,2869690,2870969,2872130,2873291,2874529,2875697,2876918,2878079,2879382,2880473,2881524,2882562,2883877,2885252,2886474,2887740,2888819,2889984,2891058,2892273,2894096,2895864,2897693,2899348,2900984,2902696,2904332,2905593,2907359,2908895,2910611,2912440,2914155,2915933,2917600,2919229,2920815,2922559,2923534,2925217,2927020,2928778,2930507,2932291,2934033,2935771,2937528,2939286,2941096,2942930,2944760,2946427,2948196,2949967,2951654,2953384,2954844,2956436,2957871,2959438,2961053,2962502,2964116,2965909,2967752,2969624,2971402,2972885,2974479,2976080,2977148,2978025,2979055,2980045,2980915,2982271,2983949,2985760,2987409,2989226,2990716,2992271,2994044,2995843,2997516,2999327,3000848,3002631,3004316,3005970,3007756,3009228,3010638,3012674,3014722,3016770,3018818,3020346,3021809,3023517,3025565,3026693,3028725,3030659,3031791,3032568,3034060,3034667,3036307,3037775,3038485,3039028,3039933,3041025,3042150,3043274,3044279,3045568,3046761,3047749,3048860,3050345,3052031,3053782,3055547,3056994,3058599,3060209,3061839,3063110,3064926,3066428,3068073,3069975,3071612,3073404,3075066,3076740,3078430,3080156,3081053,3082722,3084534,3086280,3087947,3089827,3091392,3093241,3095012,3096763,3098460,3100263,3102080,3103675,3105446,3106867,3108412,3109906,3111391,3113137,3114598,3116294,3118048,3119849,3121709,3123494,3124827,3126401,3128076,3129558,3130496,3131366,3132516,3133432,3134539,3136299,3138089,3139689,3141517,3143022,3144578,3146391,3148184,3149959,3151560,3153360,3155075,3156754,3158334,3159805,3161215,3163251,3165299,3167347,3169395,3170925,3172368,3174085,3176141,3177410,3179348,3181400,3183020,3184128,3184846,3186238,3187286,3188689,3190220,3191158,3191916,3192648,3193732,3194816,3196343,3198037,3199817,3201602,3203217,3204789,3206365,3208033,3209289,3211193,3212719,3214279,3216220,3217767,3219641,3221504,3223257,3224709,3226321,3227990,3229340,3231109,3232810,3234583,3236303,3238011,3239787,3241554,3243364,3245112,3246542,3248038,3249113,3250169,3251289,3251777,3252337,3252731,3253211,3253897,3254320,3254906,3255929,3256680,3257535,3258474,3259682,3260439,3261125,3261610,3262140,3263214,3264188,3264993,3266039,3266876,3267686,3268574,3269412,3270114,3270848,3271556,3272268,3272875,3273675,3274507,3275410,3276948,3278725,3279769,3281368,3282551,3283545,3284766,3285915,3286962,3288572,3290126,3291743,3292924,3294222,3295747,3297371,3298882,3299964,3301001,3301900,3303383,3305172,3306913,3308368,3309763,3311154,3313029,3314545,3316105,3317332,3318852,3320602,3321844,3323131,3324224,3325232,3326524,3328115,3329693,3331185,3332811,3334281,3336026,3337766,3339427,3340852,3342024,3343742,3345485,3347187,3348416,3349990,3351302,3352461,3353929,3355405,3356980,3358386,3359933,3361380,3363202,3364305,3365628,3367457,3369213,3370978,3372508,3374129,3375907,3377696,3379214,3380950,3382527,3384138,3385531,3387257,3388802,3390186,3391875,3393463,3395073,3396794,3398564,3399874,3401519,3402529,3404039,3405730,3407353,3408873,3410368,3411802,3413417,3414880,3416526,3418130,3419625,3421295,3422817,3424555,3426147,3427772,3429491,3431105,3432629,3434307,3435345,3436196,3437061,3438037,3438902,3439723,3441065,3443023,3444931,3446740,3447929,3449876,3451930,3453821,3455047,3456941,3458580,3459910,3461358,3462185,3463620,3464685,3466391,3467982,3469483,3471113,3472483,3474034,3475586,3477018,3478807,3480855,3482903,3484951,3486967,3488657,3489864,3490374,3491748,3493299,3494219,3494905,3496007,3497061,3498259,3500314,3502362,3504415,3506459,3508455,3509867,3510891,3512002,3513028,3514178,3515315,3516441,3517467,3518448,3519564,3520533,3521516,3522392,3523488,3524521,3525756,3526821,3527820,3529100,3530159,3531362,3532486,3533384,3534598,3536007,3537269,3538221,3539293,3540249,3541428,3542656,3543709,3544748,3545866,3547196,3548335,3549548,3550709,3551932,3553127,3554223,3555282,3556393,3557377,3558320,3559323,3560471,3561816,3563078,3564141,3565375,3566421,3567240,3568238,3569528,3570612,3571593,3571912,3572085,3573950,3575720,3577520,3579098,3580597,3582287,3584167,3585601,3587190,3589040,3590544,3591871,3593482,3594882,3596624,3598351,3600399,3602447,3604495,3606543,3608203,3609711,3609948,3610068,3611114,3612110,3612748,3612917,3614211,3615468,3616632,3618387,3619973,3621634,3623440,3625281,3627033,3628752,3630452,3632138,3633724,3634939,3636763,3638276,3639880,3641719,3643606,3645251,3647057,3648881,3650631,3652044,3653653,3655201,3656893,3658322,3660094,3661840,3663579,3665316,3666987,3668645,3670322,3672081,3673933,3675740,3677340,3678838,3680298,3681770,3682277,3683439,3684369,3685183,3685785,3686380,3686895,3687510,3688083,3688674,3688910,3689720,3690147,3690898,3691733,3692492,3693252,3694622,3696210,3697693,3698613,3699346,3700009,3700562,3701243,3702307,3703109,3704197,3705065,3706249,3707096,3707912,3708871,3709734,3710800,3712003,3712845,3713754,3714448,3715400,3716146,3716894,3717855,3718844,3719533,3720680,3721909,3723121,3724646,3726400,3727927,3729574,3730879,3731647,3733026,3734027,3735094,3736193,3737477,3739103,3740556,3742006,3743507,3744831,3746349,3747682,3749023,3750446,3752123,3753666,3755224,3756532,3758171,3759671,3760849,3762081,3763765,3765541,3767246,3768788,3770179,3771866,3773666,3775165,3776906,3778155,3779374,3780796,3782300,3784071,3785261,3786789,3788043,3789275,3790699,3791969,3793565,3794930,3796535,3797951,3799387,3801173,3802597,3804283,3806101,3807921,3809768,3811333,3812721,3814383,3816104,3817831,3819599,3820842,3822627,3824102,3825466,3826882,3828306,3830146,3831199,3832825,3834260,3835749,3837283,3838699,3840527,3841880,3842987,3844232,3846056,3847827,3849474,3851254,3852775,3854379,3856108,3857892,3859717,3861221,3862795,3864503,3865888,3867444,3868799,3870461,3872177,3873849,3875351,3877040,3878766,3880248,3881975,3883785,3885456,3886567,3887811,3889465,3891146,3892833,3894594,3896239,3897844,3899520,3900936,3902521,3904148,3905935,3907418,3909143,3910919,3912733,3914331,3916078,3917784,3919123,3919917,3921063,3922997,3924896,3926515,3927907,3929949,3931964,3933170,3934495,3936396,3937944,3939156,3940341,3941304,3942283,3943502,3944447,3945602,3946665,3947820,3948860,3949902,3950924,3952052,3953647,3955673,3957722,3959102,3960589,3962070,3964118,3966166,3968214,3970262,3971698,3972902,3974350,3975462,3976718,3977496,3978353,3979235,3980219,3981153,3982233,3983422,3984534,3985757,3986915,3988067,3989269,3990662,3992133,3992567,3993226,3995101,3997145,3999167,4001215,4003228,4005240,4007271,4009308,4011325,4013346,4015351,4016675,4017704,4018652,4020108,4021480,4022699,4023967,4025211,4026296,4027548,4028647,4029830,4030945,4032039,4033162,4034050,4034950,4036028,4037175,4038328,4039395,4040645,4041723,4042823,4044170,4045221,4046318,4047242,4048414,4049488,4050697,4051769,4052834,4053942,4055135,4056222,4057408,4058022,4058047,4059621,4061383,4063057,4064667,4066408,4067996,4069783,4071260,4072870,4074620,4076406,4077716,4079379,4081109,4083164,4085212,4087260,4089308,4091008,4091966,4093231,4094728,4095538,4095563,4096503,4097543,4098062,4098087,4099243,4101082,4102823,4104615,4106432,4108190,4109894,4111502,4113283,4114782,4115851,4117612,4119105,4120710,4122574,4124361,4125924,4127713,4129333,4130941,4132567,4134185,4135902,4137313,4137980,4139568,4141248,4142904,4144624,4146146,4148003,4149652,4151367,4153138,4154929,4156727,4158484,4160271,4162053,4163856,4165609,4167468,4169104,4170878,4172511,4174272,4176101,4177706,4179439,4181170,4182912,4184715,4186362,4188063,4189830,4190913,4192459,4194061,4195796,4197399,4199034,4200854,4202677,4204286,4206042,4207798,4209608,4211372,4213092,4214746,4216533,4218169,4219840,4221429,4222954,4223780,4225005,4226446,4227825,4229870,4231918,4233966,4236014,4237445,4238817,4240544,4242592,4243716,4245743,4247577,4248728,4249398,4250550,4252034,4253378,4254661,4255960,4257312,4258552,4260040,4261290,4261842,4262431,4263501,4265554,4267589,4269628,4270706,4271751,4272974,4272999,4273733,4275396,4277101,4278761,4280395,4282164,4283750,4285539,4287074,4288601,4290346,4291916,4293074,4293099,4293833,4295172,4296980,4299028,4301076,4303124,4305057,4306689,4307449,4308894,4310322,4310356,4310689,4311752,4312626,4312651,4313268,4314420,4315746,4316827,4317924,4319070,4320306,4321559,4322875,4324145,4325457,4326813,4328068,4329352,4329969,4330801,4332071,4333227,4334394,4335328,4336156,4336840,4337621,4338531,4340132,4341387,4342915,4344306,4345416,4346550,4347667,4348886,4350210,4351304,4352701,4354032,4355525,4357033,4358472,4359941,4361422,4362784,4363743,4364946,4366100,4367277,4368410,4369757,4371026,4372089,4373313,4374654,4376058,4377382,4378613,4379780,4380790,4381936,4383165,4384232,4385586,4387093,4388534,4389938,4391039,4392204,4393447,4394563,4395743,4396799,4397833,4398976,4400314,4401583,4402784,4404014,4405073,4406180,4407460,4408484,4409719,4410932,4412148,4413250,4414268,4415469,4416883,4418069,4419429,4420802,4422200,4423551,4424684,4426084,4427471,4428703,4430195,4431543,4432659,4433760,4434549,4435573,4436666,4437602,4438544,4439564,4440810,4441967,4443055,4444226,4445168,4446242,4447334,4448384,4449349,4450444,4451564,4452738,4454e3,4454849,4456207,4457295,4458295,4459901,4461224,4462576,4463736,4464684,4465624,4466544,4467768,4469055,4470097,4470971,4472049,4473343,4473955,4475190,4476171,4477593,4478844,4479817,4480898,4482029,4483184,4484246,4485228,4486384,4487459,4488511,4489632,4490494,4491645,4492907,4493876,4495152,4496514,4497525,4498602,4499507,4500567,4501664,4502836,4504125,4505575,4506922,4507856,4509229,4510262,4511412,4512640,4513571,4514502,4515889,4517181,4518363,4519816,4520862,4522252,4523602,4524876,4526075,4527144,4528430,4529589,4530486,4531710,4532837,4533873,4535105,4536162,4537261,4538363,4539441,4540566,4542041,4543227,4544374,4545595,4546526,4547412,4548478,4549655,4550913,4552184,4553171,4554343,4555128,4556081,4556945,4557698,4558798,4559901,4560523,4561432,4562452,4563454,4564794,4565774,4566761,4567980,4569087,4570208,4571338,4572377,4573573,4574668,4575708,4576764,4577819,4579038,4580096,4581103,4582274,4583410,4584397,4585260,4585974,4586563,4587565,4588698,4589847,4590702,4591771,4592791,4593494,4594439,4595245,4596147,4596984,4597957,4598911,4600082,4601108,4602155,4603166,4604120,4605146,4606070,4606643,4607244,4608102,4609100,4609932,4610862,4611445,4612461,4613366,4614020,4614755,4615613,4616562,4617656,4618612,4619417,4620195,4621162,4622235,4623093,4623812,4624747,4625736,4626564,4627361,4628371,4629483,4630521,4631305,4632114,4633193,4634080,4634889,4635751,4636855,4637726,4638469,4639236,4639918,4640554,4641510,4642324,4643455,4644426,4645621,4646572,4647438,4648384,4649268,4650109,4650853,4651951,4652950,4653727,4654403,4655082,4655901,4656785,4657671,4658472,4659243,4659800,4660408,4661341,4661677,4662409,4663146,4663993,4664784,4665743,4666450,4667302,4668214,4669030,4669917,4670996,4671951,4672857,4673440,4674235,4675126,4676156,4676857,4677445,4678125,4678879,4680001,4681261,4681998,4683163,4684316,4685116,4686161,4686939,4687725,4688831,4689858,4690812,4691605,4692536,4693331,4694319,4695214,4696123,4697063,4697897,4698504,4699241,4699876,4700539,4701219,4701975,4702754,4703974,4704634,4705175,4705986,4706781,4707594,4708665,4709603,4710571,4711281,4712154,4712992,4713902,4714813,4715776,4716588,4717591,4718345,4719199,4719938,4720769,4721571,4722349,4723285,4724469,4725427,4726055,4726910,4727692,4728329,4729104,4729903,4730653,4731244,4732176,4732893,4733557,4734366,4735099,4735961,4736733,4737648,4738479,4739202,4740083,4740789,4741524,4742337,4743221,4744085,4744928,4745948,4746889,4747694,4748702,4749558,4750397,4751210,4752099,4752871,4753725,4754506,4755650,4756751,4757407,4758089,4758944,4759753,4760587,4761457,4762344,4763130,4763981,4764865,4765964,4766601,4767563,4768428,4769259,4769997,4770902,4771842,4772903,4773984,4775454,4776614,4777821,4778839,4780175,4781345,4782507,4783743,4784775,4785826,4786835,4787999,4789032,4790273,4791375,4792479,4793706,4795005,4796357,4797548,4798762,4799955,4801055,4802090,4803261,4804405,4805535,4806530,4807642,4808659,4809858,4810975,4812052,4813290,4814524,4815705,4816937,4818173,4819246,4820321,4821495,4822499,4823572,4824573,4825854,4826996,4828322,4829210,4829943,4831087,4832241,4833231,4834459,4835774,4837035,4838060,4838997,4840191,4841412,4842343,4843505,4844791,4846028,4847059,4848190,4849232,4850261,4851491,4852329,4853465,4854727,4855726,4856851,4857915,4858810,4859767,4861023,4862056,4863216,4864157,4865146,4866285,4867331,4868414,4869351,4870427,4871705,4872901,4874049,4875030,4876251,4877423,4878436,4879540,4880143,4881193,4882319,4883573,4884868,4886108,4887220,4888429,4889755,4890896,4891974,4893079,4894077,4895489,4896669,4897972,4899161,4900175,4901199,4902156,4903318,4904490,4905678,4906951,4908278,4909500,4910555,4911749,4912916,4914116,4915456,4916486,4917434,4918809,4920004,4921297,4922574,4923840,4925072,4926237,4927517,4928586,4929618,4930685,4931646,4932697,4933763,4934967,4936246,4937334,4938294,4939330,4940575,4941738,4943021,4944320,4945501,4946827,4948195,4949380,4950617,4951863,4953020,4954210,4955327,4956506,4957489,4958484,4959236,4960428,4961659,4962896,4964025,4965183,4966229,4967388,4968423,4969479,4970444,4971534,4972541,4973757,4974758,4975874,4976992,4978077,4979371,4980444,4981498,4982531,4983562,4984575,4985563,4986668,4987449,4988410,4989255,4990494,4991816,4992897,4994043,4995347,4996891,4998132,4999580,5000818,5002186,5003344,5004380,5005607,5006957,5008228,5009332,5010514,5011738,5012897,5014026,5015315,5016517,5017739,5018900,5020171,5021187,5022479,5023422,5024391,5025620,5026771,5027888,5029204,5030140,5031120,5032460,5033462,5034351,5035401,5036683,5038160,5039532,5040794,5042096,5043445,5044370,5045606,5046534,5047668,5048277,5049187,5050234,5051221,5052166,5053261,5054608,5055632,5056837,5058311,5059492,5060730,5062056,5063020,5064268,5065359,5066580,5067867,5069127,5070436,5071640,5072889,5074287,5075377,5076678,5077634,5078864,5080019,5081266,5082331,5083625,5084821,5086021,5087301,5088648,5089890,5091173,5092226,5093200,5093884,5094587,5095434,5096095,5097188,5098238,5099222,5099905,5100791,5101700,5102358,5103271,5104337,5105095,5105845,5106733,5107472,5108325,5109787,5110939,5112159,5112893,5113720,5114479,5115128,5116216,5117074,5118166,5118830,5119619,5120479,5121515,5122343,5123024,5123710,5124567,5125373,5126426,5127399,5128072,5128976,5129631,5130319,5131229,5132188,5133238,5134155,5134837,5135863,5136721,5137379,5138322,5139370,5140128,5140920,5141890,5142641,5143417,5144434,5145234,5145988,5146764,5147402,5148135,5148780,5149553,5150387,5151164,5151975,5152517,5153220,5153943,5154611,5155334,5156045,5157026,5157879,5158936,5159837,5160518,5161263,5162002,5162950,5164033,5165115,5166025,5166718,5167544,5168458,5169073,5169963,5170980,5171696,5172492,5173411,5174091,5174799,5175819,5176778,5177460,5178408,5179398,5180236,5181413,5182449,5183178,5183906,5184773,5185625,5186383,5187527,5188478,5189503,5190203,5191004,5191970,5192638,5193613,5194562,5195655,5196489,5197233,5198057,5198867,5199498,5200595,5201611,5202281,5202959,5203558,5204145,5205137,5206022,5206958,5207812,5208618,5209452,5210269,5211245,5212300,5213217,5213899,5214690,5215604,5216358,5217425,5218449,5219204,5219874,5220627,5221494,5222318,5223036,5223714,5224511,5225501,5226236,5226902,5227490,5228116,5228855,5229863,5230726,5231415,5232085,5232680,5233440,5234406,5235344,5236375,5237259,5238171,5238863,5239631,5240604,5241518,5242466,5243568,5244472,5245358,5246007,5247020,5248012,5248724,5249436,5250304,5250916,5251883,5252907,5253641,5254435,5255313,5256153,5256810,5257938,5258960,5259655,5260445,5261291,5262032,5262662,5263633,5264528,5265562,5266273,5266933,5267759,5268490,5269366,5270387,5271249,5272047,5272897,5273798,5274565,5275505,5276516,5277329,5278007,5278737,5279427,5280248,5281054,5281920,5282970,5283987,5285120,5286142,5287054,5287930,5288615,5289412,5290198,5291254,5292102,5292770,5293452,5294335,5295108,5296134,5297105,5297770,5298650,5299328,5299961,5300823,5301875,5302777,5303464,5304228,5304974,5305781,5306844,5307830,5308513,5309201,5309867,5310835,5311574,5312329,5313045,5313839,5314866,5315889,5316936,5317855,5318543,5319455,5320197,5320792,5321741,5322647,5323676,5324764,5325554,5326305,5327029,5327771,5328871,5329843,5330767,5331803,5332514,5333328,5334338,5335122,5336158,5337175,5337921,5338643,5339577,5340257,5340835,5341817,5342565,5343425,5344098,5345117,5346090,5346758,5347433,5348277,5348888,5349800,5350854,5351621,5352378,5353188,5354042,5354726,5355689,5356412,5357206,5357938,5359004,5359986,5360638,5361332,5362151,5362764,5363717,5364731,5365467,5366247,5366950,5367832,5368525,5369565,5370236,5371012,5371775,5372760,5373733,5374389,5375134,5375950,5376671,5377543,5378589,5379321,5380098,5380770,5381367,5382053,5382987,5384029,5384804,5385498,5386251,5386893,5387536,5388502,5389312,5389972,5390690,5391593,5392566,5393541,5394434,5395177,5395912,5396643,5397486,5398110,5399181,5400047,5400762,5401384,5402198,5403245,5403976,5404711,5405319,5406009,5406734,5407770,5408704,5409380,5410133,5410778,5411577,5412479,5413490,5414375,5415166,5416036,5416910,5417665,5418714,5419536,5420250,5420904,5421729,5422717,5423450,5424113,5424698,5425326,5426062,5427109,5427952,5428651,5429291,5429880,5430612,5431543,5432362,5433124,5433864,5434858,5435783,5436446,5437261,5438041,5438747,5439647,5440613,5441260,5442090,5442726,5443428,5444356,5445341,5446360,5447027,5447707,5448563,5449259,5450224,5450932,5451694,5452475,5453136,5454212,5455093,5456141,5457014,5457871,5458491,5459448,5460458,5461166,5461895,5462554,5463364,5464120,5465230,5466138,5466814,5467716,5468419,5469274,5470157,5471072,5471969,5472603,5473614,5474600,5475330,5476009,5476819,5477450,5478321,5479413,5480241,5480951,5481778,5482612,5483304,5484312,5485304,5486205,5486813,5487873,5488877,5489558,5490441,5491406,5492029,5492872,5493611,5494467,5495203,5495920,5496851,5497643,5498590,5499617,5500457,5501166,5501893,5502938,5503662,5504449,5505297,5506011,5506704,5507648,5508530,5509203,5510200,5510880,5511469,5512492,5513234,5514021,5514819,5515528,5516209,5517184,5518002,5519112,5520109,5520788,5521571,5522326,5523124,5523871,5524770,5525480,5526243,5527080,5528113,5528933,5529621,5530295,5531154,5531940,5532973,5533947,5534619,5535520,5536173,5536818,5537638,5538545,5539399,5540095,5541051,5542030,5542762,5543484,5544275,5545034,5545822,5546909,5547790,5548470,5549387,5550059,5550776,5551624,5552703,5553503,5554251,5555071,5555787,5556431,5557433,5558194,5558940,5559652,5560550,5561529,5562179,5562887,5563568,5564244,5564984,5565942,5566688,5567419,5567981,5568572,5569254,5570343,5571199,5572041,5572899,5573815,5574529,5575519,5576688,5577952,5579106,5580170,5580939,5581806,5582492,5583195,5584233,5585163,5586183,5587298,5588351,5589181,5590004,5590884,5591607,5592662,5593710,5594474,5595163,5596025,5596712,5597405,5598333,5599174,5599846,5600554,5601376,5602241,5603148,5604158,5605247,5606115,5606821,5607541,5608334,5609061,5610085,5611122,5612050,5612740,5613533,5614385,5615058,5616288,5617368,5618316,5619213,5620185,5621206,5621866,5622696,5623648,5624365,5625265,5626311,5627212,5627902,5628638,5629315,5629931,5630952,5631960,5633020,5633769,5634602,5635580,5636398,5637125,5638247,5639245,5639921,5640633,5641447,5642199,5643132,5644105,5645123,5645780,5646599,5647441,5648037,5648947,5649757,5650533,5651263,5652037,5653013,5653832,5654671,5655553,5656369,5656987,5657930,5658971,5659708,5660442,5661071,5661872,5662612,5663702,5664648,5665320,5666170,5666817,5667662,5668559,5669613,5670520,5671201,5672069,5672950,5673551,5674732,5675903,5677101,5678426,5679593,5680369,5681374,5682329,5683607,5684840,5686038,5687353,5688604,5689660,5690928,5692003,5692951,5694156,5695274,5696245,5697095,5698217,5699018,5699963,5701022,5702306,5703371,5704677,5705876,5706925,5707843,5709136,5710585,5711895,5713096,5714344,5715160,5716323,5717514,5718524,5719642,5720664,5721386,5722454,5723533,5724612,5725634,5726623,5727770,5728881,5729969,5731307,5732571,5733550,5734669,5735924,5736878,5738042,5739039,5740596,5742026,5743291,5744379,5745250,5746379,5747890,5749201,5750289,5751469,5752553,5753769,5754668,5755370,5756605,5757600,5758756,5760015,5761146,5762459,5763436,5764639,5765486,5766472,5767386,5768450,5769571,5770677,5771514,5772705,5773812,5774917,5775977,5776939,5778093,5778989,5780244,5781479,5782684,5783456,5784317,5785468,5786459,5787580,5788679,5789600,5790411,5791493,5792785,5793858,5794936,5795963,5796810,5797761,5798845,5799660,5800550,5801583,5802769,5803924,5804568,5805479,5806591,5807561,5808557,5809470,5810605,5811793,5812902,5813902,5814806,5815632,5816724,5817830,5818654,5819810,5821269,5822701,5824239,5825550,5826685,5827501,5828417,5829277,5830551,5831618,5833028,5833546,5834479,5835329,5836685,5837334,5838257,5839351,5840245,5840886,5841808,5842654,5843560,5844638,5845121,5845702,5846569,5847322,5848341,5849106,5849910,5851293,5852486,5853604,5854713,5855861,5857020,5858180,5859430,5860250,5861137,5862575,5863428,5864211,5864939,5865919,5866810,5868135,5869270,5869889,5870805,5871808,5872699,5873706,5875061,5875940,5876798,5877428,5878179,5878797,5879643,5880480,5881689,5883047,5884341,5885504,5886583,5887791,5888922,5890218,5891541,5892483,5893696,5894809,5896085,5897265,5898386,5899486,5900502,5901608,5903101,5904585,5906005,5907346,5908489,5909406,5910593,5911875,5913057,5913989,5915356,5916250,5917202,5918424,5919529,5920760,5921915,5923306,5924441,5925676,5926730,5927995,5929268,5930473,5931975,5933129,5934510,5936014,5937260,5938645,5939878,5941058,5942317,5943519,5944800,5946085,5947593,5949038,5950119,5951159,5952440,5953673,5954955,5956465,5957896,5959128,5960036,5961213,5962303,5963504,5964940,5966255,5967739,5969188,5970652,5972030,5973371,5974692,5975844,5976949,5978020,5979216,5980486,5981898,5983131,5984477,5985721,5986786,5988061,5989177,5990543,5991846,5992963,5994100,5995223,5996473,5997741,5998926,6000099,6001222,6002596,6004002,6005082,6006161,6007383,6008552,6009692,6010853,6012109,6013330,6014286,6014859,6015486,6016488,6017651,6018890,6020291,6021553,6022733,6023860,6025144,6026467,6027892,6028999,6029990,6031157,6032225,6033551,6034743,6035915,6037341,6038572,6039750,6041261,6042541,6043966,6044874,6046084,6047409,6048608,6049450,6050501,6051640,6052847,6054e3,6055298,6056495,6057957,6059002,6060162,6061371,6062574,6063895,6064866,6065790,6066887,6067944,6069019,6070328,6071379,6072481,6073635,6074784,6076100,6077318,6078574,6079560,6080820,6082049,6083305,6084409,6085588,6086778,6088019,6089136,6090292,6091515,6092866,6094116,6095464,6096646,6098101,6099176,6100421,6101824,6102993,6104156,6105593,6106690,6107919,6109323,6110375,6111567,6112719,6113759,6114585,6115742,6116961,6118094,6119304,6120481,6121579,6122679,6123871,6124980,6126316,6127564,6128560,6129814,6131055,6132143,6133433,6134667,6135987,6137127,6138391,6139255,6140206,6141406,6142629,6143854,6145133,6146365,6147577,6148712,6149618,6150479,6151423,6152327,6153269,6154150,6155078,6155949,6156900,6157807,6158722,6159610,6160515,6161412,6162250,6163043,6163878,6164812,6165749,6166690,6167592,6168520,6169378,6170274,6171191,6172113,6172974,6174166,6175467,6176760,6177804,6178545,6179596,6180660,6181701,6182795,6184069,6185377,6186826,6188145,6189448,6190477,6191659,6192666,6193750,6194908,6196298,6197521,6198584,6199629,6200562,6201327,6202675,6203919,6205226,6206136,6207221,6208389,6209678,6210862,6211814,6213146,6214605,6216021,6217541,6218966,6220384,6221719,6222971,6224422,6225824,6226966,6228340,6229594,6230801,6231976,6232998,6234381,6235681,6237083,6238175,6239432,6240570,6241742,6242812,6243970,6244904,6246136,6247307,6248527,6249784,6250821,6252002,6253054,6254218,6255498,6256679,6257891,6259047,6260043,6261494,6262917,6264312,6265345,6266107,6266703,6267421,6268298,6269368,6270467,6271548,6272677,6273866,6275177,6276422,6277832,6278956,6280011,6280996,6282054,6283360,6284368,6285254,6286237,6287251,6288250,6289317,6290317,6291361,6292321,6293624,6294697,6295887,6296514,6297702,6298838,6300020,6301266,6302356,6303255,6304400,6305547,6306478,6307773,6309078,6310197,6311488,6312883,6314010,6315146,6316360,6317783,6319004,6320179,6321220,6322571,6323584,6324993,6326279,6327434,6328735,6329938,6331255,6332611,6333870,6334912,6336214,6337536,6338588,6339994,6341202,6342495,6343902,6345132,6346590,6347539,6348428,6349458,6350489,6351345,6352923,6354183,6355472,6356677,6357869,6358790,6359978,6360936,6361913,6363080,6364257,6365797,6366971,6368382,6369569,6370919,6372380,6373794,6375096,6376563,6377641,6378690,6380034,6381120,6382329,6383747,6384967,6386130,6387385,6388738,6390085,6391202,6392196,6393159,6394136,6395504,6396957,6398271,6399594,6401004,6402164,6403472,6404775,6406079,6407356,6408508,6409962,6411247,6412497,6413760,6414971,6416214,6417492,6418893,6420273,6421343,6422592,6423812,6425173,6426412,6427821,6429213,6430226,6431459,6432869,6434032,6435177,6436268,6437537,6438690,6439738,6441036,6442243,6443381,6444543,6445813,6447196,6448430,6449486,6450722,6451500,6452573,6453875,6455084,6456062,6457010,6457731,6458895,6460009,6461328,6462364,6463365,6464186,6465208,6466234,6467248,6468292,6469361,6470313,6471425,6472311,6473396,6474376,6475379,6476289,6477216,6478093,6479040,6479899,6480783,6481737,6482632,6483516,6484283,6485253,6486200,6487270,6488344,6489406,6490497,6491455,6492378,6493473,6494464,6495668,6496683,6497803,6498873,6500016,6501141,6502182,6503205,6504268,6505259,6506253,6507303,6508199,6509257,6510299,6511236,6512251,6513237,6514291,6515332,6516358,6517415,6518371,6519328,6520336,6521209,6522235,6523368,6524467,6525499,6526532,6527592,6528552,6529347,6530400,6531329,6532383,6533419,6534404,6535366,6536385,6537372,6538297,6539211,6540242,6541311,6542284,6543427,6544495,6545524,6546529,6547608,6548740,6549816,6550974,6551986,6552944,6553949,6555025,6556074,6556923,6557983,6559087,6560321,6561558,6562654,6563739,6564768,6565801,6566826,6567827,6568923,6569992,6571037,6572096,6573210,6574426,6575686,6576769,6577816,6578853,6579796,6580780,6581630,6582400,6583217,6584188,6584991,6585507,6586265,6586939,6587772,6588544,6589382,6590236,6591096,6592064,6592991,6594080,6595116,6596237,6597266,6598416,6599537,6600456,6601508,6602566,6603729,6604780,6605791,6606916,6608031,6609117,6610168,6611400,6612454,6613531,6614617,6615710,6616779,6617860,6618907,6619805,6620596,6621535,6622458,6623322,6624460,6625603,6626718,6627739,6628164,6628565,6629311,6630285,6631333,6632515,6633620,6634348,6635431,6636535,6637510,6638475,6639408,6640313,6641318,6642370,6643407,6644348,6645476,6646543,6647474,6648482,6649526,6650544,6651486,6652422,6653473,6654556,6655551,6656723,6657632,6658648,6659556,6660578,6661516,6662455,6663457,6664412,6665327,6666211,6667267,6668240,6669151,6670045,6670959,6671953,6673021,6674050,6675001,6675906,6676868,6677965,6678940,6679947,6680727,6681665,6682525,6683325,6684268,6685197,6686062,6687057,6688080,6689045,6689904,6690918,6691894,6692864,6693849,6694752,6695587,6696428,6697227,6698084,6698984,6699870,6700782,6701719,6702537,6703139,6703675,6704577,6705467,6706410,6707401,6708233,6709382,6710431,6710822,6711580,6712677,6713631,6714826,6715877,6717081,6718171,6719381,6720437,6721579,6722729,6723800,6724937,6726046,6727116,6727737,6728434,6729295,6730269,6731227,6732247,6733356,6734493,6735626,6736776,6737901,6739092,6740108,6741242,6742374,6743432,6744552,6745545,6746662,6747593,6748573,6749365,6750131,6751043,6751964,6752969,6753908,6754909,6756022,6757e3,6757600,6758505,6759512,6760673,6761719,6762506,6763093,6763693,6764690,6765719,6766840,6767920,6769027,6769998,6770981,6771989,6772725,6773261,6773818,6774493,6775519,6776600,6777696,6778898,6780198,6781845,6783076,6784180,6785309,6786135,6787086,6787761,6788373,6789060,6790088,6790985,6792048,6793110,6794228,6795585,6797072,6798441,6799291,6800417,6801508,6802575,6803975,6805249,6806330,6807735,6809035,6810264,6811680,6812671,6813867,6814965,6816240,6817635,6818984,6820081,6821420,6822836,6823954,6824987,6826152,6827358,6828558,6829929,6831451,6832551,6833915,6835321,6836634,6837875,6839297,6840835,6842105,6843256,6844504,6845471,6846577,6847842,6849165,6850312,6851132,6852343,6853375,6854578,6855695,6856830,6857967,6859070,6860149,6861493,6862674,6863908,6865233,6866371,6867510,6868671,6869719,6870697,6871862,6872936,6874091,6875201,6876382,6877484,6878692,6879910,6881089,6882165,6883324,6884646,6886061,6887330,6888573,6889948,6891218,6892472,6893846,6895062,6896052,6897117,6898257,6899224,6900286,6901415,6902518,6903446,6904074,6905181,6906156,6907017,6908003,6909003,6910382,6911582,6912932,6914344,6915703,6916924,6917827,6919103,6920274,6921377,6922790,6923732,6924708,6925705,6926683,6927793,6929208,6930464,6931840,6933178,6934332,6935524,6936608,6937718,6938899,6940040,6941018,6942109,6943288,6944411,6945467,6946569,6947638,6948462,6949517,6950552,6951667,6952797,6953972,6955070,6956046,6957480,6958779,6960077,6961273,6962467,6963603,6964710,6966201,6967488,6968736,6970171,6971417,6972665,6974004,6975307,6976624,6977979,6979400,6980691,6981895,6983279,6984645,6986014,6987243,6988363,6989749,6991175,6992591,6993673,6994903,6996118,6997385,6998649,7000036,7001171,7002430,7003563,7004813,7006104,7007114,7008337,7009589,7010959,7011968,7013241,7014359,7015556,7016536,7017679,7018819,7020118,7021624,7022917,7024192,7025390,7026589,7027754,7028781,7029974,7031072,7032364,7033693,7035151,7036366,7037655,7038897,7040021,7041131,7042295,7043318,7044269,7045506,7046855,7047997,7049221,7050311,7051285,7052600,7053880,7055256,7056647,7057972,7059115,7060307,7061789,7062996,7064279,7065443,7066637,7067717,7068954,7070205,7071452,7072719,7073939,7074915,7076221,7077557,7078870,7080166,7081148,7082212,7083332,7084498,7085701,7086880,7088224,7089556,7090787,7092212,7093715,7095347,7096296,7097388,7098288,7099179,7100154,7101322,7102476,7103200,7104358,7105515,7106293,7107122,7107979,7109092,7109948,7111277,7112246,7113156,7114154,7115187,7116287,7117030,7117962,7119111,7119890,7120801,7121896,7122727,7123715,7124776,7125433,7126255,7126974,7128043,7129155,7130011,7130917,7131995,7132926,7134112,7134932,7135941,7136867,7137663,7138871,7139807,7140518,7141380,7142386,7143346,7144435,7145544,7146484,7147553,7148329,7148753,7149425,7150263,7151262,7152433,7153568,7154483,7155428,7156100,7156857,7157470,7158265,7158934,7159851,7160543,7161273,7162212,7162923,7163776,7164509,7165206,7166039,7166860,7167665,7168570,7169453,7170053,7170872,7171900,7172892,7173767,7174179,7174612,7175547,7176387,7176812,7177941,7178820,7179660,7180448,7181115,7182251,7182992,7183919,7185191,7186378,7187532,7188294,7189356,7190314,7191356,7192416,7193422,7194464,7195559,7196509,7197653,7198786,7199185,7200217,7201356,7202402,7203101,7204104,7205223,7206299,7207239,7208295,7209315,7209729,7210869,7212021,7212936,7213643,7214373,7215579,7216635,7217480,7218558,7219428,7220286,7221128,7221698,7222210,7223320,7224426,7225351,7226273,7227253,7228293,7229171,7230094,7231235,7232234,7233312,7234629,7235627,7236641,7237617,7238540,7239543,7240429,7241652,7242421,7243401,7244334,7245380,7246113,7247214,7248285,7249270,7250207,7251191,7252062,7253211,7253970,7255209,7256159,7256968,7257957,7258922,7260128,7261140,7262064,7263249,7264212,7265065,7265523,7266124,7266611,7267340,7268099,7268562,7269410,7270218,7271253,7272426,7273479,7274314,7275389,7276449,7277352,7278299,7279414,7280417,7281478,7282301,7283305,7284295,7285032,7285598,7286598,7287573,7288519,7289386,7290387,7291253,7292388,7293531,7294593,7295641,7296621,7297390,7298260,7299161,7300136,7301119,7302149,7302945,7304082,7304722,7305698,7306332,7307096,7307965,7308981,7309981,7310620,7311511,7312718,7313592,7314712,7315796,7316770,7317506,7318299,7318973,7319778,7320449,7321318,7322077,7322728,7323675,7324396,7325252,7325975,7326692,7327510,7328392,7329127,7329926,7330852,7331484,7332271,7333173,7334259,7335118,7335537,7336031,7336796,7337729,7338334,7339458,7340362,7341210,7342141,7342835,7343918,7344678,7345875,7346692,7347651,7348631,7349709,7350622,7351560,7352518,7353323,7354570,7355126,7355550,7356439,7357415,7358361,7359092,7360098,7360970,7361628,7362337,7363421,7364590,7365373,7366513,7367558,7368439,7369667,7370622,7371723,7372653,7373742,7374706,7375664,7376734,7377746,7378816,7379557,7380620,7381515,7382586,7383520,7384263,7384929,7385615,7386386,7387377,7388470,7389145,7389911,7390876,7391857,7392691,7393444,7394194,7395203,7396122,7397132,7398101,7398841,7399919,7400863,7401614,7402748,7403566,7404432,7405669,7406597,7407475,7408081,7408948,7409970,7411053,7411889,7412826,7413836,7414575,7415637,7416479,7417452,7418450,7419574,7420762,7421808,7422854,7423485,7424270,7424900,7425841,7426983,7427977,7428887,7430155,7431076,7431797,7432466,7433397,7434232,7435099,7435640,7436549,7437607,7438572,7439585,7440693,7441615,7442718,7443741,7444800,7445485,7446091,7446871,7447874,7448709,7449727,7450465,7451323,7452284,7453338,7454074,7454551,7455193,7456167,7457108,7457719,7458693,7459490,7460466,7461211,7461733,7462544,7463397,7463965,7464568,7464928,7465825,7467016,7468263,7469431,7470601,7471395,7472660,7473937,7474947,7475919,7476593,7477606,7478441,7479831,7480829,7481732,7482326,7483525,7484498,7485717,7486511,7487556,7488478,7489019,7490137,7491094,7492005,7493041,7494304,7495437,7496177,7497378,7498375,7499323,7500416,7501466,7502526,7503540,7504833,7505832,7506718,7507656,7508849,7509924,7510762,7511752,7512758,7513860,7514670,7515562,7516538,7517509,7518499,7519719,7520725,7521448,7522255,7523401,7524042,7524998,7525790,7526903,7528136,7529462,7530511,7531803,7532397,7532995,7533534,7534384,7534888,7535987,7536817,7537664,7538609,7539655,7540732,7541671,7542607,7543451,7544219,7545099,7546230,7547097,7547965,7548964,7549988,7551011,7552148,7553203,7554183,7554556,7555880,7556837,7557775,7558788,7559457,7560309,7561542,7562894,7564016,7565266,7566387,7567659,7568381,7569382,7570057,7571185,7571945,7572896,7573700,7574313,7574966,7575812,7576809,7577714,7578835,7579954,7580833,7581823,7582970,7583894,7584960,7585876,7586790,7587776,7588735,7589268,7590316,7591351,7592668,7593865,7594739,7595633,7596525,7597678,7598791,7599420,7600391,7601474,7602529,7603681,7604848,7606136,7607170,7608076,7609130,7610293,7611151,7612073,7612858,7613830,7614932,7615643,7616600,7617648,7618853,7620021,7620894,7621734,7622752,7623572,7624402,7625469,7626561,7627153,7627752,7628590,7629324,7630204,7631087,7631902,7632836,7633976,7634727,7635707,7636865,7637709,7638483,7639132,7639912,7640744,7641721,7642479,7643378,7644335,7645260,7646313,7647329,7648246,7649394,7650439,7651216,7651915,7652889,7653587,7654605,7655430,7656205,7656937,7657725,7658718,7659549,7660379,7661004,7661896,7662625,7663550,7664256,7665011,7665724,7666431,7667177,7668072,7669139,7670390,7671302,7672146,7672974,7673850,7674861,7675670,7676695,7677757,7678602,7679455,7680374,7681520,7682464,7683596,7684596,7685590,7686862,7687815,7688707,7689738,7690722,7691363,7692023,7692767,7693573,7694453,7695400,7696218,7697319,7698154,7699067,7700146,7701001,7702043,7702774,7703811,7704624,7705733,7706875,7707969,7709058,7709724,7710834,7711795,7712601,7713644,7714501,7715540,7716420,7717275,7718119,7718886,7719798,7720487,7721251,7721907,7722778,7723753,7724814,7725744,7726788,7728029,7729085,7729991,7730958,7732253,7733369,7734284,7735371,7736197,7736900,7737780,7738695,7739826,7740620,7741601,7742545,7743257,7744115,7745152,7746264,7747319,7748379,7749377,7750168,7751197,7752208,7753182,7754287,7755376,7756109,7757234,7758144,7758873,7759539,7760500,7761473,7762333,7763253,7764160,7764993,7765867,7766828,7767424,7767685,7767992,7768420,7769349,7770378,7771695,7772741,7773738,7774605,7775402,7776239,7777172,7778165,7779057,7780270,7781382,7782456,7783519,7784581,7785622,7786685,7787734,7789019,7789900,7790761,7791578,7792420,7793586,7794443,7795233,7796353,7797329,7798276,7799390,7800418,7801516,7802187,7802871,7803737,7804050,7804389,7805089,7805695,7806527,7807430,7808228,7809274,7810046,7810534,7811019,7811879,7812564,7813513,7814359,7815043,7815783,7816506,7817397,7818022,7818636,7819311,7820233,7820752,7821691,7822575,7823637,7824545,7825475,7825776,7826473,7827232,7827789,7828818,7829736,7830600,7831647,7832738,7833714,7834564,7835353,7836246,7837131,7837952,7838787,7839852,7840716,7841837,7842728,7843545,7844415,7845517,7846415,7847265,7848265,7848841,7849819,7850681,7851686,7852855,7853644,7854869,7856017,7857073,7857967,7859004,7859969,7860882,7861642,7862741,7863590,7864667,7865771,7866830,7867824,7868836,7869811,7870825,7871789,7872399,7873302,7874232,7875028,7876012,7876855,7877277,7877652,7878157,7878776,7879506,7880021,7880530,7880962,7881487,7882056,7882675,7883527,7884152,7884785,7885315,7885759,7886438,7887601,7888236,7888580,7889042,7889561,7890108,7890751,7891384,7891738,7892209,7892749,7893286,7893985,7894971,7895805,7896609,7897341,7898215,7899107,7899770,7900368,7900807,7901127,7901608,7902350,7903387,7904462,7905090,7905454,7905918,7906372,7907096,7907815,7908344,7908809,7909348,7910007,7910708,7911323,7911869,7912565,7913288,7913917,7914682,7915322,7915990,7916622,7917086,7917564,7918229,7918794,7919258,7919805,7920446,7921123,7921843,7922589,7923309,7923900,7924450,7925145,7925852,7926503,7927005,7927740,7928444,7928940,7929519,7930131,7930916,7931676,7932387,7933022,7933680,7934427,7935162,7935892,7936658,7937145,7937914,7938667,7939482,7940168,7940657,7941113,7941670,7942204,7942995,7943771,7944370,7945117,7946033,7946762,7947418,7947826,7948242,7948825,7949343,7949893,7950532,7951253,7952226,7952977,7953910,7954687,7955787,7956890,7957829,7958868,7959877,7961015,7961986,7963035,7963808,7965039,7966011,7966971,7967712,7968883,7970006,7970589,7971775,7972701,7973487,7974371,7975342,7976364,7977346,7978135,7979106,7979945,7981242,7982545,7983509,7984082,7984694,7985266,7986385,7987454,7988319,7989009,7989670,7990614,7991405,7992079,7993026,7993937,7994609,7995636,7996347,7997268,7997994,7998844,7999672,8000244,8001199,8002069,8002955,8003367,8004112,8004969,8005792,8006616,8007384,8008474,8009615,8010320,8011305,8012401,8013486,8014369,8015191,8016266,8016828,8017766,8018504,8019057,8019799,8020812,8021683,8022710,8023683,8024785,8025820,8027021,8028241,8029506,8030836,8032063,8033424,8034562,8035764,8036837,8037977,8038863,8039859,8040801,8041939,8042987,8044030,8045098,8046132,8047168,8048260,8049126,8050225,8051205,8052245,8053392,8054613,8055767,8056703,8057751,8058735,8059691,8060777,8061622,8062510,8063517,8064440,8065486,8066375,8067114,8067839,8068826,8069829,8070836,8071434,8071955,8072809,8073886,8074564,8075591,8076888,8077804,8078676,8079797,8080810,8081869,8082602,8083693,8084817,8085679,8086495,8087525,8088326,8089203,8090043,8091301,8092282,8093345,8094306,8094962,8095738,8096923,8097929,8098851,8099736,8100658,8101800,8103375,8104910,8106067,8107266,8108274,8109197,8110307,8111281,8112359,8113358,8114570,8115781,8116894,8118129,8119413,8120540,8121887,8123101,8124215,8125259,8126483,8127597,8128820,8130109,8131359,8132316,8133452,8134476,8135712,8136805,8138169,8139301,8140434,8141707,8142774,8144091,8145150,8146031,8147082,8148184,8149353,8150833,8152230,8153338,8154481,8155480,8156650,8157827,8159016,8160139,8161502,8162509,8163699,8164792,8166197,8167291,8168332,8169671,8170821,8172134,8173556,8174655,8175784,8176909,8178028,8179073,8180272,8181716,8182805,8183995,8185415,8186668,8187823,8189078,8190347,8191556,8192696,8193830,8194728,8195951,8197267,8198482,8199632,8200990,8202304,8203382,8204407,8205571,8206777,8207786,8208793,8209707,8210868,8211950,8213224,8214338,8215363,8216460,8217816,8218846,8219959,8221215,8222424,8223611,8225014,8226320,8227652,8228800,8229982,8231080,8232195,8233296,8234307,8235501,8236741,8237880,8238906,8239930,8241050,8242238,8243398,8244397,8245386,8246574,8247705,8248725,8249978,8251158,8252215,8253203,8254229,8255553,8256763,8257964,8259050,8260188,8261263,8262107,8263328,8264383,8265568,8266860,8268159,8269387,8270709,8272173,8273334,8274412,8275686,8276899,8278211,8279475,8280591,8281663,8282750,8283808,8284893,8286194,8287201,8288190,8289384,8290589,8291629,8292677,8293825,8295220,8296415,8297663,8298777,8299929,8301120,8302329,8303607,8304849,8306042,8307199,8308264,8309228,8310385,8311415,8312541,8313571,8314537,8315615,8316843,8318031,8319362,8320550,8321870,8323059,8324169,8325305,8326345,8327359,8328423,8329669,8330639,8331597,8332685,8333882,8334987,8336060,8337280,8338473,8339555,8340664,8342012,8343426,8344541,8345502,8346653,8347627,8348780,8349944,8350947,8351941,8352953,8354093,8355428,8356465,8357711],
-sizes:[1416,1222,1041,1029,1332,1127,1478,1175,1403,1126,1212,968,1167,1138,1101,1320,1253,987,812,1322,1209,1e3,884,1043,1366,1015,1215,1106,1136,1606,1051,1199,1373,1318,865,1004,838,1058,1020,1032,1590,1334,1256,1381,1274,1182,1411,1317,1187,1017,1009,1020,1220,1210,1173,1126,1244,1193,1165,1114,1406,1052,1195,1103,889,885,1210,1349,1342,1161,1090,820,967,738,1395,1385,869,1081,1211,1206,1286,1229,1149,1068,1133,1295,1104,1103,1051,936,1017,1076,1239,1201,768,1225,1003,1040,1190,935,1006,1162,1142,1143,1295,1217,1217,1454,1433,1292,986,1311,1108,1115,1266,1316,1196,1165,1038,862,1288,1421,1182,991,1267,1032,1178,769,907,841,1091,1246,1378,1435,1204,1306,1093,1259,1307,1212,1143,933,1093,1475,1108,1145,904,1270,1269,1288,1157,1051,1330,1368,1540,1218,1376,1189,1430,1250,1536,1329,1093,1307,1254,1274,1163,1118,1245,1126,1250,1200,1069,1249,1117,1311,1255,1276,1201,1303,1047,1327,1281,1366,1037,1091,1200,1317,1282,1339,1056,1098,1104,1111,1285,978,1341,980,886,1323,1239,1216,892,922,893,1019,1100,918,1200,1157,1091,1037,1373,1003,1325,1234,1086,1194,1227,1371,1389,1546,1192,1300,1055,1075,993,1213,1067,1004,1093,1337,1433,1192,1279,1054,1266,1266,1057,937,1353,1252,1180,1050,1096,784,656,820,480,579,561,539,538,494,556,545,591,600,557,515,591,563,571,584,619,1132,1145,1290,1072,1215,1286,1245,1037,1323,1349,1416,1362,1265,1351,1079,1226,1267,1434,1285,1376,1365,922,1445,1477,1222,1408,1381,1147,1178,1405,1433,1356,1258,880,1529,1316,1337,1164,1305,1259,1216,1282,1300,1375,1111,1301,1153,1211,1101,1338,1300,1174,1389,1156,1369,1354,1280,1331,984,935,1145,1152,1162,1260,1255,1160,1293,1134,1282,1176,1486,1376,1309,1145,1299,1229,1268,1201,1391,1461,983,1035,1006,1241,1174,1439,999,1479,1127,831,1014,967,1274,1136,967,1181,975,786,1072,1356,1542,1224,1424,1273,909,943,1224,1160,1168,1295,899,888,1161,864,1333,1108,1262,1186,1415,1637,1662,1224,1574,1368,1395,1064,1292,1294,1065,1365,1288,1034,1146,919,1141,837,1621,1023,1139,1423,1049,1256,831,1119,992,1179,952,1224,1098,999,1207,1059,1248,1171,1179,1107,1323,1044,966,1071,1353,1012,1151,858,959,756,1184,1264,961,1142,1124,1174,1061,1134,1066,1115,944,954,1247,1195,894,1288,1167,1379,1500,1237,1135,1370,1299,1240,1190,1215,959,1228,1317,1342,1082,1126,1084,1236,893,939,1152,939,1154,1159,1289,1060,1015,703,934,999,1031,879,1071,1299,1106,910,820,778,962,947,1381,1352,937,1242,1010,814,1082,1350,1173,1201,1129,1281,1119,1336,1239,1245,1469,1196,1073,1494,1236,1344,1264,1035,1394,1298,1104,1245,1300,1384,1403,1565,1426,1116,1234,1178,1231,1179,1219,1345,1276,1248,967,1185,1275,958,1060,989,1169,1281,1189,1041,1035,1018,1166,1327,1186,1120,1375,1415,1307,1085,1456,1130,1133,1370,1064,1314,1443,1300,1422,1268,1229,1293,1001,1015,1231,1099,1119,1283,731,777,1158,1298,1180,1307,1126,1184,1574,1365,1228,1387,1346,1400,1118,1131,1066,857,1018,1127,953,1122,1268,1193,1468,1222,1162,880,1103,1116,1082,1454,1401,912,1169,1206,1003,1060,1309,1239,484,952,1006,1216,1131,1360,1511,1183,1076,1201,1317,1326,1313,1283,1492,1262,1054,567,776,1049,884,1020,991,989,1142,1332,1161,1193,1217,1096,1257,1336,1136,969,937,1518,1181,961,833,1098,1067,1044,1007,1171,1088,990,1357,1254,1283,1362,1080,1033,1173,1134,1288,1344,871,966,784,669,1240,1214,1165,1004,1204,1161,953,954,1119,1217,1125,1075,1072,1087,1112,1042,1205,1205,676,1048,1062,1267,782,1332,1518,1372,1509,1597,1637,1570,1519,1561,1142,741,1014,1015,899,964,1045,944,1053,1305,1051,1168,1153,1178,1222,1169,866,836,1299,819,942,960,1165,691,1179,1311,1380,1360,1105,1307,1045,1244,1119,1470,1097,1192,1067,1079,882,1226,1356,1471,1039,1216,1403,1401,1373,1262,1215,1230,1150,1455,1186,1247,1276,1119,1271,1228,1102,1072,1073,1098,1133,1297,881,1161,1164,1045,1303,1140,1145,1356,1235,1096,1072,960,1339,1417,1248,1429,1248,941,1241,1027,1273,1275,1254,1028,1211,1062,1073,1402,1253,1325,1119,973,1043,914,854,997,1095,1048,992,937,1103,1198,888,596,748,793,1091,1238,1167,1019,1052,1050,1076,1035,961,1001,1030,1106,965,1105,1099,954,990,941,1076,1066,1047,1133,899,1124,856,999,1035,972,1456,1478,1188,1226,1170,1158,1099,1213,1120,1017,1372,1036,1239,962,1203,1098,1330,1388,1185,1188,1333,726,983,1120,1213,1046,1150,1045,1106,1066,898,980,1020,1046,1131,1039,929,1076,1036,1235,1171,1010,932,1045,1177,1022,1289,1045,1068,1078,1117,1165,785,953,848,1150,1221,1284,1488,1510,1534,1150,1246,1197,1271,1340,1239,1330,1157,1166,1180,1237,1316,1089,986,1277,774,933,1288,971,1511,1303,1118,1116,1152,1134,1270,1217,1186,1153,1431,1407,1480,1152,795,1072,1280,1115,1069,1422,1309,1601,1551,1493,1625,1462,1356,1342,979,998,1055,1416,1349,1138,1067,1105,1159,1298,1236,902,1165,1e3,1088,1109,1206,1543,1352,1301,1266,1362,1115,1319,1001,1343,1282,1273,1018,1160,1049,1126,1218,1434,1109,1232,1176,979,1092,1147,1235,1305,1185,889,1432,1176,1244,996,908,931,1446,1045,1146,1142,1225,1144,1454,1186,1092,1120,1464,1244,1271,1241,1147,1308,1070,1416,1094,886,1057,1137,990,1328,763,839,1133,1122,1038,1236,1286,1338,1041,1228,1342,1186,1177,1103,1158,1171,1339,1229,768,1047,1155,1315,1236,1222,1005,1043,1033,805,1026,916,1385,1303,1332,1145,1412,1227,998,1045,1189,829,992,1447,1043,1490,1283,1162,1262,1224,1066,1093,1020,1079,1114,1055,1103,1027,1162,982,1030,1159,1171,1029,1109,1382,1353,1315,1427,1575,1212,1171,1131,822,1224,1138,900,1240,802,1467,1586,899,1227,1132,987,1113,1114,1126,1306,1573,1011,1136,1218,1103,1126,992,1274,1060,1060,991,985,994,1261,935,908,1353,1036,865,806,895,992,829,1338,1043,1017,1105,1228,1190,1270,1158,1540,1252,1357,1226,1165,792,1001,830,1106,1042,1239,1204,853,986,1091,1020,976,999,723,1278,1312,970,1229,994,960,1059,1028,738,1305,1446,1302,1268,1218,1280,1144,1300,1475,1007,1433,1257,1018,1275,964,1128,1096,1355,1385,1273,1153,1119,1072,1026,1192,1059,1131,1402,1077,1276,1478,925,762,1120,880,1141,1091,1064,1018,1278,1235,1054,1166,1003,1107,1157,938,1065,782,745,1018,996,1078,943,1069,956,797,904,977,993,959,898,833,792,970,817,1010,1100,1147,1366,1329,1253,949,1086,1077,1217,1291,1449,1158,1264,1335,1216,1079,804,912,930,999,778,1228,1280,1101,1219,1128,1129,1352,1305,1193,813,1092,983,1278,1464,1138,1075,1204,1299,1239,1081,921,1154,1350,1459,1346,1188,1087,1296,1272,955,1013,1424,1358,1199,1093,871,1028,901,800,1005,1149,931,874,888,866,733,826,963,1021,1029,1174,1027,1282,1108,1287,1310,1359,1376,1191,1492,1460,1413,1245,1340,1516,1334,1199,1103,1136,992,1222,1034,727,1101,1193,1121,1203,1208,1195,1171,1375,1230,1402,1231,1251,1343,1282,1250,1443,1139,1325,902,994,1292,1257,1021,755,944,1349,1357,1189,1377,1347,1155,1264,1351,1129,1292,910,1064,1101,972,856,1043,583,1171,1174,1042,1070,929,901,1105,1063,769,1041,1074,1095,1068,1029,948,972,953,913,1082,1371,1174,1035,1024,1294,1036,1048,1338,1130,969,1192,1276,996,1284,1164,1125,984,910,1176,811,1235,1268,1239,1184,833,985,1055,978,830,1323,1006,1379,1046,912,1025,1183,1068,1088,635,754,646,645,920,697,544,659,775,590,800,753,908,744,786,982,691,1043,836,831,817,800,765,941,863,1322,1443,1244,1406,1429,1341,1385,1218,1417,1318,1154,1314,1265,1400,1577,1133,1129,1036,911,859,1360,1388,1343,1317,1188,1260,1335,1268,1343,1316,1102,1219,728,1387,1079,1318,1123,1170,1192,1247,1240,808,1197,1321,1107,794,983,1234,1073,1172,1106,1104,1086,1152,769,858,650,1468,1278,1146,1148,1262,1320,1081,1333,975,1093,845,896,848,874,1168,1209,1078,1464,1341,1467,1444,1132,946,1501,1287,947,1277,1268,1312,1091,1242,1057,1019,967,1120,1174,1199,1167,978,1206,1106,1235,954,1139,1045,1242,972,1159,1009,1403,1117,1126,919,1066,1208,1263,1014,1134,1056,1032,867,1201,1297,1515,1228,1131,1275,1328,1172,1212,1305,1213,1322,1278,1012,1423,1281,1305,1244,975,1175,1384,1098,1427,929,952,976,1208,1308,1484,1049,1214,1362,1286,1120,915,1228,1187,1276,680,1049,1479,1105,1150,1382,1230,1279,1045,1277,1386,1341,1244,1064,1347,1279,953,1334,1232,1252,1290,1450,1524,1344,1331,1341,1223,1357,1194,1264,1302,1144,1128,1098,1219,1004,818,886,1070,1032,1126,1178,1247,1318,957,991,887,908,1105,1139,1193,1274,1067,1121,1265,1204,1069,1070,1269,1179,1038,1328,1141,1287,1292,1052,1311,1233,942,1112,1019,1217,1114,1494,1278,1032,1012,1384,1258,1146,940,1117,1142,1159,1318,1371,984,1309,998,1207,1160,1168,1336,1169,991,1256,1268,1221,1197,1085,1166,1109,1177,1176,1265,1234,1150,1135,935,1225,931,1318,1308,1113,1025,1156,978,1129,1044,950,1130,1182,1153,1065,1080,888,1195,1028,947,1062,813,1048,1084,1177,1198,1388,1463,1221,1309,1143,1294,1358,1276,1002,1256,1272,1314,958,723,993,923,1017,722,965,1197,1279,1377,829,1223,1031,1055,1209,1595,1387,1122,964,1067,1076,1e3,1022,1122,1108,991,770,974,1406,1224,1138,1231,1236,1267,941,975,1088,1256,1387,1339,1249,1148,1225,1231,1167,1046,1129,1269,1308,1065,1056,715,845,934,1483,1105,1224,1108,1057,847,1216,1247,1338,1110,1173,1263,1213,1252,1158,1091,1342,1273,1347,1267,1274,1264,1242,1360,1118,1139,1012,1272,1175,1068,1132,640,1078,966,1074,987,1007,903,1134,1045,1038,1079,1071,973,946,802,1290,1423,1466,1295,1319,1325,1294,1039,1006,1329,1162,1137,1215,1338,1324,1195,1436,1220,1257,1102,950,1085,1294,1366,1404,1362,1385,1319,1321,1205,1363,1325,1333,1165,1060,1153,998,972,1016,1076,962,793,1013,966,828,859,1351,1383,1125,1252,1337,1291,1159,624,1319,1188,1386,1478,1399,1203,1101,1073,1283,1380,1283,1208,1006,1170,1186,1075,1138,1253,1113,1417,1155,1257,1253,1292,1155,1080,949,1423,1146,986,966,1170,1102,904,968,1023,992,1288,1227,970,1141,1185,1228,1245,1045,1190,1153,1243,1026,1173,1082,782,979,1062,670,903,992,1085,1336,1062,1259,862,788,1236,1394,1064,1237,1487,1403,1152,1219,1437,1327,1309,1465,1197,1082,1123,1029,1005,1151,1113,1334,998,1050,764,920,1080,1221,1023,936,938,1365,1276,1064,1139,1224,1176,1246,939,1070,1096,1219,1264,1225,1419,1167,1302,1318,1374,1536,920,1021,885,957,1019,945,1386,1329,1159,1023,1238,1286,1148,1331,1348,1015,545,1190,1108,1409,1362,1257,1187,1204,1261,1269,1224,1418,1406,1374,1406,1379,1189,1385,1129,1094,1051,1124,1086,915,1223,1375,1254,1273,1124,799,1226,1239,1003,1264,1262,1452,1366,1433,1061,1186,1237,1607,1489,1341,1311,1045,1129,1220,1199,1213,1190,1382,1410,1342,1273,1224,1245,1119,1113,995,1384,1345,1315,1134,1285,1270,1238,1320,1282,977,958,1003,988,937,1235,1273,1419,1296,1201,1193,1214,1038,1337,1288,1240,1369,1155,1162,1236,860,1454,1324,1355,1164,1458,1262,1147,1070,1331,1207,1140,1332,1053,1292,1292,1323,1362,1123,1046,893,972,870,1097,1327,1070,1268,1097,1515,1297,1214,1173,1339,1081,1612,1303,957,1055,1024,1025,1066,1170,1409,1241,1138,914,1043,1231,1319,1129,1261,1282,1417,1282,1400,1313,1462,1485,1315,1244,1341,1452,1139,1260,1328,1322,1204,1030,1236,1350,1008,1474,1334,1363,1543,1018,1305,1329,1306,1106,1161,1059,1225,1315,1274,1026,1243,1064,1134,846,1122,1154,1123,1152,1018,865,977,740,1338,810,1101,1310,1108,1056,1033,1102,1239,956,1056,1374,1311,1332,1441,1197,1141,1140,1135,783,959,810,1211,1226,1080,1227,1162,1113,929,1076,1115,1085,987,1031,1009,1049,902,1134,1282,905,1063,961,1240,905,900,712,511,1001,978,1010,1179,1185,989,1009,780,931,663,940,1073,1094,1071,925,1009,1124,971,1041,1143,1148,1163,995,700,944,1109,981,1034,1203,1214,1212,923,1121,1157,1159,1211,1224,1141,936,1222,1046,738,1210,1131,1193,1282,1079,1090,420,1050,982,1343,1204,757,970,758,915,1302,1016,1196,1206,837,1157,924,1297,957,850,1001,1143,598,739,605,1069,1198,1148,1023,1347,1333,1879,1763,1791,1817,1754,1721,1610,1735,1527,1064,1792,1535,1584,1796,1886,1520,1794,1695,1688,1587,1575,1713,1459,692,1668,1734,1641,1727,1581,1801,1730,1691,1836,1795,1684,1844,1814,1839,1839,1777,1745,1752,1821,1785,1903,1523,1727,1771,1766,1788,1656,1731,1291,1077,1579,1683,1529,1703,1679,1814,1851,1814,1703,1828,1860,1770,1749,1732,1703,1766,1725,1095,931,1429,1319,1820,2048,2048,2048,1978,1724,1364,1956,1714,1507,2039,1782,1205,1022,757,1130,1531,1280,1245,1213,1318,1213,1511,1183,430,754,1117,2039,2013,2044,1008,1030,1344,1112,1239,1118,982,1188,1084,1039,1017,1279,1161,1161,1238,1168,1221,1161,1303,1091,1051,1038,1315,1375,1222,1266,1079,1165,1074,1215,1823,1768,1829,1655,1636,1712,1636,1261,1766,1536,1716,1829,1715,1778,1667,1629,1586,1744,975,1683,1803,1758,1729,1784,1742,1738,1757,1758,1810,1834,1830,1667,1769,1771,1687,1730,1460,1592,1435,1567,1615,1449,1614,1793,1843,1872,1778,1483,1594,1601,1068,877,1030,990,870,1356,1678,1811,1649,1817,1490,1555,1773,1799,1673,1811,1521,1783,1685,1654,1786,1472,1410,2036,2048,2048,2048,1528,1463,1708,2048,1128,2032,1934,1132,777,1492,607,1640,1468,710,543,905,1092,1125,1124,1005,1289,1193,988,1111,1485,1686,1751,1765,1447,1605,1610,1630,1271,1816,1502,1645,1902,1637,1792,1662,1674,1690,1726,897,1669,1812,1746,1667,1880,1565,1849,1771,1751,1697,1803,1817,1595,1771,1421,1545,1494,1485,1746,1461,1696,1754,1801,1860,1785,1333,1574,1675,1482,938,870,1150,916,1107,1760,1790,1600,1828,1505,1556,1813,1793,1775,1601,1800,1715,1679,1580,1471,1410,2036,2048,2048,2048,1530,1443,1717,2056,1269,1938,2052,1620,1108,718,1392,1048,1403,1531,938,758,732,1084,1084,1527,1694,1780,1785,1615,1572,1576,1668,1256,1904,1526,1560,1941,1547,1874,1863,1753,1452,1612,1669,1350,1769,1701,1773,1720,1708,1776,1767,1810,1748,1430,1496,1075,1056,1120,488,560,394,480,686,423,586,1023,751,855,939,1208,757,686,485,530,1074,974,805,1046,837,810,888,838,702,734,708,712,607,800,832,903,1538,1777,1044,1599,1183,994,1221,1149,1047,1610,1554,1617,1181,1298,1525,1624,1511,1082,1037,899,1483,1789,1741,1455,1395,1391,1875,1516,1560,1227,1520,1750,1242,1287,1093,1008,1292,1591,1578,1492,1626,1470,1745,1740,1661,1425,1172,1718,1743,1702,1229,1574,1312,1159,1468,1476,1575,1406,1547,1447,1822,1103,1323,1829,1756,1765,1530,1621,1778,1789,1518,1736,1577,1611,1393,1726,1545,1384,1689,1588,1610,1721,1770,1310,1645,1010,1510,1691,1623,1520,1495,1434,1615,1463,1646,1604,1495,1670,1522,1738,1592,1625,1719,1614,1524,1678,1038,851,865,976,865,821,1342,1958,1908,1809,1189,1947,2054,1891,1226,1894,1639,1330,1448,827,1435,1065,1706,1591,1501,1630,1370,1551,1552,1432,1789,2048,2048,2048,2016,1690,1207,510,1374,1551,920,686,1102,1054,1198,2055,2048,2053,2044,1996,1412,1024,1111,1026,1150,1137,1126,1026,981,1116,969,983,876,1096,1033,1235,1065,999,1280,1059,1203,1124,898,1214,1409,1262,952,1072,956,1179,1228,1053,1039,1118,1330,1139,1213,1161,1223,1195,1096,1059,1111,984,943,1003,1148,1345,1262,1063,1234,1046,819,998,1290,1084,981,319,173,1865,1770,1800,1578,1499,1690,1880,1434,1589,1850,1504,1327,1611,1400,1742,1727,2048,2048,2048,2048,1660,1508,237,120,1046,996,638,169,1294,1257,1164,1755,1586,1661,1806,1841,1752,1719,1700,1686,1586,1215,1824,1513,1604,1839,1887,1645,1806,1824,1750,1413,1609,1548,1692,1429,1772,1746,1739,1737,1671,1658,1677,1759,1852,1807,1600,1498,1460,1472,507,1162,930,814,602,595,515,615,573,591,236,810,427,751,835,759,760,1370,1588,1483,920,733,663,553,681,1064,802,1088,868,1184,847,816,959,863,1066,1203,842,909,694,952,746,748,961,989,689,1147,1229,1212,1525,1754,1527,1647,1305,768,1379,1001,1067,1099,1284,1626,1453,1450,1501,1324,1518,1333,1341,1423,1677,1543,1558,1308,1639,1500,1178,1232,1684,1776,1705,1542,1391,1687,1800,1499,1741,1249,1219,1422,1504,1771,1190,1528,1254,1232,1424,1270,1596,1365,1605,1416,1436,1786,1424,1686,1818,1820,1847,1565,1388,1662,1721,1727,1768,1243,1785,1475,1364,1416,1424,1840,1053,1626,1435,1489,1534,1416,1828,1353,1107,1245,1824,1771,1647,1780,1521,1604,1729,1784,1825,1504,1574,1708,1385,1556,1355,1662,1716,1672,1502,1689,1726,1482,1727,1810,1671,1111,1244,1654,1681,1687,1761,1645,1605,1676,1416,1585,1627,1787,1483,1725,1776,1814,1598,1747,1706,1339,794,1146,1934,1899,1619,1392,2042,2015,1206,1325,1901,1548,1212,1185,963,979,1219,945,1155,1063,1155,1040,1042,1022,1128,1595,2026,2049,1380,1487,1481,2048,2048,2048,2048,1436,1204,1448,1112,1256,778,857,882,984,934,1080,1189,1112,1223,1158,1152,1202,1393,1471,434,659,1875,2044,2022,2048,2013,2012,2031,2037,2017,2021,2005,1324,1029,948,1456,1372,1219,1268,1244,1085,1252,1099,1183,1115,1094,1123,888,900,1078,1147,1153,1067,1250,1078,1100,1347,1051,1097,924,1172,1074,1209,1072,1065,1108,1193,1087,1186,614,25,1574,1762,1674,1610,1741,1588,1787,1477,1610,1750,1786,1310,1663,1730,2055,2048,2048,2048,1700,958,1265,1497,810,25,940,1040,519,25,1156,1839,1741,1792,1817,1758,1704,1608,1781,1499,1069,1761,1493,1605,1864,1787,1563,1789,1620,1608,1626,1618,1717,1411,667,1588,1680,1656,1720,1522,1857,1649,1715,1771,1791,1798,1757,1787,1782,1803,1753,1859,1636,1774,1633,1761,1829,1605,1733,1731,1742,1803,1647,1701,1767,1083,1546,1602,1735,1603,1635,1820,1823,1609,1756,1756,1810,1764,1720,1654,1787,1636,1671,1589,1525,826,1225,1441,1379,2045,2048,2048,2048,1431,1372,1727,2048,1124,2027,1834,1151,670,1152,1484,1344,1283,1299,1352,1240,1488,1250,552,589,1070,2053,2035,2039,1078,1045,1223,25,734,1663,1705,1660,1634,1769,1586,1789,1535,1527,1745,1570,1158,25,734,1339,1808,2048,2048,2048,1933,1632,760,1445,1428,34,333,1063,874,25,617,1152,1326,1081,1097,1146,1236,1253,1316,1270,1312,1356,1255,1284,617,832,1270,1156,1167,934,828,684,781,910,1601,1255,1528,1391,1110,1134,1117,1219,1324,1094,1397,1331,1493,1508,1439,1469,1481,1362,959,1203,1154,1177,1133,1347,1269,1063,1224,1341,1404,1324,1231,1167,1010,1146,1229,1067,1354,1507,1441,1404,1101,1165,1243,1116,1180,1056,1034,1143,1338,1269,1201,1230,1059,1107,1280,1024,1235,1213,1216,1102,1018,1201,1414,1186,1360,1373,1398,1351,1133,1400,1387,1232,1492,1348,1116,1101,789,1024,1093,936,942,1020,1246,1157,1088,1171,942,1074,1092,1050,965,1095,1120,1174,1262,849,1358,1088,1e3,1606,1323,1352,1160,948,940,920,1224,1287,1042,874,1078,1294,612,1235,981,1422,1251,973,1081,1131,1155,1062,982,1156,1075,1052,1121,862,1151,1262,969,1276,1362,1011,1077,905,1060,1097,1172,1289,1450,1347,934,1373,1033,1150,1228,931,931,1387,1292,1182,1453,1046,1390,1350,1274,1199,1069,1286,1159,897,1224,1127,1036,1232,1057,1099,1102,1078,1125,1475,1186,1147,1221,931,886,1066,1177,1258,1271,987,1172,785,953,864,753,1100,1103,622,909,1020,1002,1340,980,987,1219,1107,1121,1130,1039,1196,1095,1040,1056,1055,1219,1058,1007,1171,1136,987,863,714,589,1002,1133,1149,855,1069,1020,703,945,806,902,837,973,954,1171,1026,1047,1011,954,1026,924,573,601,858,998,832,930,583,1016,905,654,735,858,949,1094,956,805,778,967,1073,858,719,935,989,828,797,1010,1112,1038,784,809,1079,887,809,862,1104,871,743,767,682,636,956,814,1131,971,1195,951,866,946,884,841,744,1098,999,777,676,679,819,884,886,801,771,557,608,933,336,732,737,847,791,959,707,852,912,816,887,1079,955,906,583,795,891,1030,701,588,680,754,1122,1260,737,1165,1153,800,1045,778,786,1106,1027,954,793,931,795,988,895,909,940,834,607,737,635,663,680,756,779,1220,660,541,811,795,813,1071,938,968,710,873,838,910,911,963,812,1003,754,854,739,831,802,778,936,1184,958,628,855,782,637,775,799,750,591,932,717,664,809,733,862,772,915,831,723,881,706,735,813,884,864,843,1020,941,805,1008,856,839,813,889,772,854,781,1144,1101,656,682,855,809,834,870,887,786,851,884,1099,637,962,865,831,738,905,940,1061,1081,1470,1160,1207,1018,1336,1170,1162,1236,1032,1051,1009,1164,1033,1241,1102,1104,1227,1299,1352,1191,1214,1193,1100,1035,1171,1144,1130,995,1112,1017,1199,1117,1077,1238,1234,1181,1232,1236,1073,1075,1174,1004,1073,1001,1281,1142,1326,888,733,1144,1154,990,1228,1315,1261,1025,937,1194,1221,931,1162,1286,1237,1031,1131,1042,1029,1230,838,1136,1262,999,1125,1064,895,957,1256,1033,1160,941,989,1139,1046,1083,937,1076,1278,1196,1148,981,1221,1172,1013,1104,603,1050,1126,1254,1295,1240,1112,1209,1326,1141,1078,1105,998,1412,1180,1303,1189,1014,1024,957,1162,1172,1188,1273,1327,1222,1055,1194,1167,1200,1340,1030,948,1375,1195,1293,1277,1266,1232,1165,1280,1069,1032,1067,961,1051,1066,1204,1279,1088,960,1036,1245,1163,1283,1299,1181,1326,1368,1185,1237,1246,1157,1190,1117,1179,983,995,752,1192,1231,1237,1129,1158,1046,1159,1035,1056,965,1090,1007,1216,1001,1116,1118,1085,1294,1073,1054,1033,1031,1013,988,1105,781,961,845,1239,1322,1081,1146,1304,1544,1241,1448,1238,1368,1158,1036,1227,1350,1271,1104,1182,1224,1159,1129,1289,1202,1222,1161,1271,1016,1292,943,969,1229,1151,1117,1316,936,980,1340,1002,889,1050,1282,1477,1372,1262,1302,1349,925,1236,928,1134,609,910,1047,987,945,1095,1347,1024,1205,1474,1181,1238,1326,964,1248,1091,1221,1287,1260,1309,1204,1249,1398,1090,1301,956,1230,1155,1247,1065,1294,1196,1200,1280,1347,1242,1283,1053,974,684,703,847,661,1093,1050,984,683,886,909,658,913,1066,758,750,888,739,853,1462,1152,1220,734,827,759,649,1088,858,1092,664,789,860,1036,828,681,686,857,806,1053,973,673,904,655,688,910,959,1050,917,682,1026,858,658,943,1048,758,792,970,751,776,1017,800,754,776,638,733,645,773,834,777,811,542,703,723,668,723,711,981,853,1057,901,681,745,739,948,1083,1082,910,693,826,914,615,890,1017,716,796,919,680,708,1020,959,682,948,990,838,1177,1036,729,728,867,852,758,1144,951,1025,700,801,966,668,975,949,1093,834,744,824,810,631,1097,1016,670,678,599,587,992,885,936,854,806,834,817,976,1055,917,682,791,914,754,1067,1024,755,670,753,867,824,718,678,797,990,735,666,588,626,739,1008,863,689,670,595,760,966,938,1031,884,912,692,768,973,914,948,1102,904,886,649,1013,992,712,712,868,612,967,1024,734,794,878,840,657,1128,1022,695,790,846,741,630,971,895,1034,711,660,826,731,876,1021,862,798,850,901,767,940,1011,813,678,730,690,821,806,866,1050,1017,1133,1022,912,876,685,797,786,1056,848,668,682,883,773,1026,971,665,880,678,633,862,1052,902,687,764,746,807,1063,986,683,688,666,968,739,755,716,794,1027,1023,1047,919,688,912,742,595,949,906,1029,1088,790,751,724,742,1100,972,924,1036,711,814,1010,784,1036,1017,746,722,934,680,578,982,748,860,673,1019,973,668,675,844,611,912,1054,767,757,810,854,684,963,723,794,732,1066,982,652,694,819,613,953,1014,736,780,703,882,693,1040,671,776,763,985,973,656,745,816,721,872,1046,732,777,672,597,686,934,1042,775,694,753,642,643,966,810,660,718,903,973,975,893,743,735,731,843,624,1071,866,715,622,814,1047,731,735,608,690,725,1036,934,676,753,645,799,902,1011,885,791,870,874,755,1049,822,714,654,825,988,733,663,585,628,736,1047,843,699,640,589,732,931,819,762,740,994,925,663,815,780,706,900,966,647,830,636,702,928,985,1019,667,680,856,696,965,708,762,781,661,1076,881,1048,873,857,620,957,1010,708,729,659,810,756,1110,908,676,902,703,855,883,915,897,634,1011,986,730,679,810,631,871,1092,828,710,827,834,692,1008,992,901,608,1060,1004,681,883,965,623,843,739,856,736,717,931,792,947,1027,840,709,727,1045,724,787,848,714,693,944,882,673,997,680,589,1023,742,787,798,709,681,975,818,1110,997,679,783,755,798,747,899,710,763,837,1033,820,688,674,859,786,1033,974,672,901,653,645,820,907,854,696,956,979,732,722,791,759,788,1087,881,680,917,672,717,848,1079,800,748,820,716,644,1002,761,746,712,898,979,650,708,681,676,740,958,746,731,562,591,682,1089,856,842,858,916,714,990,1169,1264,1154,1064,769,867,686,703,1038,930,1020,1115,1053,830,823,880,723,1055,1048,764,689,862,687,693,928,841,672,708,822,865,907,1010,1089,868,706,720,793,727,1024,1037,928,690,793,852,673,1230,1080,948,897,972,1021,660,830,952,717,900,1046,901,690,736,677,616,1021,1008,1060,749,833,978,818,727,1122,998,676,712,814,752,933,973,1018,657,819,842,596,910,810,776,730,774,976,819,839,882,816,618,943,1041,737,734,629,801,740,1090,946,672,850,647,845,897,1054,907,681,868,881,601,1181,1171,1198,1325,1167,776,1005,955,1278,1233,1198,1315,1251,1056,1268,1075,948,1205,1118,971,850,1122,801,945,1059,1284,1065,1306,1199,1049,918,1293,1449,1310,1201,1248,816,1163,1191,1010,1118,1022,722,1068,1079,1079,1022,989,1147,1111,1088,1338,1264,979,1119,1255,954,1164,997,1557,1430,1265,1088,871,1129,1511,1311,1088,1180,1084,1216,899,702,1235,995,1156,1259,1131,1313,977,1203,847,986,914,1064,1121,1106,837,1191,1107,1105,1060,962,1154,896,1255,1235,1205,772,861,1151,991,1121,1099,921,811,1082,1292,1073,1078,1027,847,951,1084,815,890,1033,1186,1155,644,911,1112,970,996,913,1135,1188,1109,1e3,904,826,1092,1106,824,1156,1459,1432,1538,1311,1135,816,916,860,1274,1067,1410,518,933,850,1356,649,923,1094,894,641,922,846,906,1078,483,581,867,753,1019,765,804,1383,1193,1118,1109,1148,1159,1160,1250,820,887,1438,853,783,728,980,891,1325,1135,619,916,1003,891,1007,1355,879,858,630,751,618,846,837,1209,1358,1294,1163,1079,1208,1131,1296,1323,942,1213,1113,1276,1180,1121,1100,1016,1106,1493,1484,1420,1341,1143,917,1187,1282,1182,932,1367,894,952,1222,1105,1231,1155,1391,1135,1235,1054,1265,1273,1205,1502,1154,1381,1504,1246,1385,1233,1180,1259,1202,1281,1285,1508,1445,1081,1040,1281,1233,1282,1510,1431,1232,908,1177,1090,1201,1436,1315,1484,1449,1464,1378,1341,1321,1152,1105,1071,1196,1270,1412,1233,1346,1244,1065,1275,1116,1366,1303,1117,1137,1123,1250,1268,1185,1173,1123,1374,1406,1080,1079,1222,1169,1140,1161,1256,1221,956,573,627,1002,1163,1239,1401,1262,1180,1127,1284,1323,1425,1107,991,1167,1068,1326,1192,1172,1426,1231,1178,1511,1280,1425,908,1210,1325,1199,842,1051,1139,1207,1153,1298,1197,1462,1045,1160,1209,1203,1321,971,924,1097,1057,1075,1309,1051,1102,1154,1149,1316,1218,1256,986,1260,1229,1256,1104,1179,1190,1241,1117,1156,1223,1351,1250,1348,1182,1455,1075,1245,1403,1169,1163,1437,1097,1229,1404,1052,1192,1152,1040,826,1157,1219,1133,1210,1177,1098,1100,1192,1109,1336,1248,996,1254,1241,1088,1290,1234,1320,1140,1264,864,951,1200,1223,1225,1279,1232,1212,1135,906,861,944,904,942,881,928,871,951,907,915,888,905,897,838,793,835,934,937,941,902,928,858,896,917,922,861,1192,1301,1293,1044,741,1051,1064,1041,1094,1274,1308,1449,1319,1303,1029,1182,1007,1084,1158,1390,1223,1063,1045,933,765,1348,1244,1307,910,1085,1168,1289,1184,952,1332,1459,1416,1520,1425,1418,1335,1252,1451,1402,1142,1374,1254,1207,1175,1022,1383,1300,1402,1092,1257,1138,1172,1070,1158,934,1232,1171,1220,1257,1037,1181,1052,1164,1280,1181,1212,1156,996,1451,1423,1395,1033,762,596,718,877,1070,1099,1081,1129,1189,1311,1245,1410,1124,1055,985,1058,1306,1008,886,983,1014,999,1067,1e3,1044,960,1303,1073,1190,627,1188,1136,1182,1246,1090,899,1145,1147,931,1295,1305,1119,1291,1395,1127,1136,1214,1423,1221,1175,1041,1351,1013,1409,1286,1155,1301,1203,1317,1356,1259,1042,1302,1322,1052,1406,1208,1293,1407,1230,1458,949,889,1030,1031,856,1578,1260,1289,1205,1192,921,1188,958,977,1167,1177,1540,1174,1411,1187,1350,1461,1414,1302,1467,1078,1049,1344,1086,1209,1418,1220,1163,1255,1353,1347,1117,994,963,977,1368,1453,1314,1323,1410,1160,1308,1303,1304,1277,1152,1454,1285,1250,1263,1211,1243,1278,1401,1380,1070,1249,1220,1361,1239,1409,1392,1013,1233,1410,1163,1145,1091,1269,1153,1048,1298,1207,1138,1162,1270,1383,1234,1056,1236,778,1073,1302,1209,978,948,721,1164,1114,1319,1036,1001,821,1022,1026,1014,1044,1069,952,1112,886,1085,980,1003,910,927,877,947,859,884,954,895,884,767,970,947,1070,1074,1062,1091,958,923,1095,991,1204,1015,1120,1070,1143,1125,1041,1023,1063,991,994,1050,896,1058,1042,937,1015,986,1054,1041,1026,1057,956,957,1008,873,1026,1133,1099,1032,1033,1060,960,795,1053,929,1054,1036,985,962,1019,987,925,914,1031,1069,973,1143,1068,1029,1005,1079,1132,1076,1158,1012,958,1005,1076,1049,849,1060,1104,1234,1237,1096,1085,1029,1033,1025,1001,1096,1069,1045,1059,1114,1216,1260,1083,1047,1037,943,984,850,770,817,971,803,516,758,674,833,772,838,854,860,968,927,1089,1036,1121,1029,1150,1121,919,1052,1058,1163,1051,1011,1125,1115,1086,1051,1232,1054,1077,1086,1093,1069,1081,1047,898,791,939,923,864,1138,1143,1115,1021,425,401,746,974,1048,1182,1105,728,1083,1104,975,965,933,905,1005,1052,1037,941,1128,1067,931,1008,1044,1018,942,936,1051,1083,995,1172,909,1016,908,1022,938,939,1002,955,915,884,1056,973,911,894,914,994,1068,1029,951,905,962,1097,975,1007,780,938,860,800,943,929,865,995,1023,965,859,1014,976,970,985,903,835,841,799,857,900,886,912,937,818,602,536,902,890,943,991,832,1149,1049,391,758,1097,954,1195,1051,1204,1090,1210,1056,1142,1150,1071,1137,1109,1070,621,697,861,974,958,1020,1109,1137,1133,1150,1125,1191,1016,1134,1132,1058,1120,993,1117,931,980,792,766,912,921,1005,939,1001,1113,978,600,905,1007,1161,1046,787,587,600,997,1029,1121,1080,1107,971,983,1008,736,536,557,675,1026,1081,1096,1202,1300,1647,1231,1104,1129,826,951,675,612,687,1028,897,1063,1062,1118,1357,1487,1369,850,1126,1091,1067,1400,1274,1081,1405,1300,1229,1416,991,1196,1098,1275,1395,1349,1097,1339,1416,1118,1033,1165,1206,1200,1371,1522,1100,1364,1406,1313,1241,1422,1538,1270,1151,1248,967,1106,1265,1323,1147,820,1211,1032,1203,1117,1135,1137,1103,1079,1344,1181,1234,1325,1138,1139,1161,1048,978,1165,1074,1155,1110,1181,1102,1208,1218,1179,1076,1159,1322,1415,1269,1243,1375,1270,1254,1374,1216,990,1065,1140,967,1062,1129,1103,928,628,1107,975,861,986,1e3,1379,1200,1350,1412,1359,1221,903,1276,1171,1103,1413,942,976,997,978,1110,1415,1256,1376,1338,1154,1192,1084,1110,1181,1141,978,1091,1179,1123,1056,1102,1069,824,1055,1035,1115,1130,1175,1098,976,1434,1299,1298,1196,1194,1136,1107,1491,1287,1248,1435,1246,1248,1339,1303,1317,1355,1421,1291,1204,1384,1366,1369,1229,1120,1386,1426,1416,1082,1230,1215,1267,1264,1387,1135,1259,1133,1250,1291,1010,1223,1252,1370,1009,1273,1118,1197,980,1143,1140,1299,1506,1293,1275,1198,1199,1165,1027,1193,1098,1292,1329,1458,1215,1289,1242,1124,1110,1164,1023,951,1237,1349,1142,1224,1090,974,1315,1280,1376,1391,1325,1143,1192,1482,1207,1283,1164,1194,1080,1237,1251,1247,1267,1220,976,1306,1336,1313,1296,982,1064,1120,1166,1203,1179,1344,1332,1231,1425,1503,1632,949,1092,900,891,975,1168,1154,724,1158,1157,778,829,857,1113,856,1329,969,910,998,1033,1100,743,932,1149,779,911,1095,831,988,1061,657,822,719,1069,1112,856,906,1078,931,1186,820,1009,926,796,1208,936,711,862,1006,960,1089,1109,940,1069,776,424,672,838,999,1171,1135,915,945,672,757,613,795,669,917,692,730,939,711,853,733,697,833,821,805,905,883,600,819,1028,992,875,412,433,935,840,425,1129,879,840,788,667,1136,741,927,1272,1187,1154,762,1062,958,1042,1060,1006,1042,1095,950,1144,1133,399,1032,1139,1046,699,1003,1119,1076,940,1056,1020,414,1140,1152,915,707,730,1206,1056,845,1078,870,858,842,570,512,1110,1106,925,922,980,1040,878,923,1141,999,1078,1317,998,1014,976,923,1003,886,1223,769,980,933,1046,733,1101,1071,985,937,984,871,1149,759,1239,950,809,989,965,1206,1012,924,1185,963,853,458,601,487,729,759,463,848,808,1035,1173,1053,835,1075,1060,903,947,1115,1003,1061,823,1004,990,737,566,1e3,975,946,867,1001,866,1135,1143,1062,1048,980,769,870,901,975,983,1030,796,1137,640,976,634,764,869,1016,1e3,639,891,1207,874,1120,1084,974,736,793,674,805,671,869,759,651,947,721,856,723,717,818,882,735,799,926,632,787,902,1086,859,419,494,765,933,605,1124,904,848,931,694,1083,760,1197,817,959,980,1078,913,938,958,805,1247,556,424,889,976,946,731,1006,872,658,709,1084,1169,783,1140,1045,881,1228,955,1101,930,1089,964,958,1070,1012,1070,741,1063,895,1071,934,743,666,686,771,991,1093,675,766,965,981,834,753,750,1009,919,1010,969,740,1078,944,751,1134,818,866,1237,928,878,606,867,1022,1083,836,937,1010,739,1062,842,973,998,1124,1188,1046,1046,631,785,630,941,1142,994,910,1268,921,721,669,931,835,867,541,909,1058,965,1013,1108,922,1103,1023,1059,685,606,780,1003,835,1018,738,858,961,1054,736,477,642,974,941,611,974,797,976,745,522,811,853,568,603,360,897,1191,1247,1168,1170,794,1265,1277,1010,972,674,1013,835,1390,998,903,594,1199,973,1219,794,1045,922,541,1118,957,911,1036,1263,1133,740,1201,997,948,1093,1050,1060,1014,1293,999,886,938,1193,1075,838,990,1006,1102,810,892,976,971,990,1220,1006,723,807,1146,641,956,792,1113,1233,1326,1049,1292,594,598,539,850,504,1099,830,847,945,1046,1077,939,936,844,768,880,1131,867,868,999,1024,1023,1137,1055,980,373,1324,957,938,1013,669,852,1233,1352,1122,1250,1121,1272,722,1001,675,1128,760,951,804,613,653,846,997,905,1121,1119,879,990,1147,924,1066,916,914,986,959,533,1048,1035,1317,1197,874,894,892,1153,1113,629,971,1083,1055,1152,1167,1288,1034,906,1054,1163,858,922,785,972,1102,711,957,1048,1205,1168,873,840,1018,820,830,1067,1092,592,599,838,734,880,883,815,934,1140,751,980,1158,844,774,649,780,832,977,758,899,957,925,1053,1016,917,1148,1045,777,699,974,698,1018,825,775,732,788,993,831,830,625,892,729,925,706,755,713,707,746,895,1067,1251,912,844,828,876,1011,809,1025,1062,845,853,919,1146,944,1132,1e3,994,1272,953,892,1031,984,641,660,744,806,880,947,818,1101,835,913,1079,855,1042,731,1037,813,1109,1142,1094,1089,666,1110,961,806,1043,857,1039,880,855,844,767,912,689,764,656,871,975,1061,930,1044,1241,1056,906,967,1295,1116,915,1087,826,703,880,915,1131,794,981,944,712,858,1037,1112,1055,1060,998,791,1029,1011,974,1105,1089,733,1125,910,729,666,961,973,860,920,907,833,874,961,596,261,307,428,929,1029,1317,1046,997,867,797,837,933,993,892,1213,1112,1074,1063,1062,1041,1063,1049,1285,881,861,817,842,1166,857,790,1120,976,947,1114,1028,1098,671,684,866,313,339,700,606,832,903,798,1046,772,488,485,860,685,949,846,684,740,723,891,625,614,675,922,519,939,884,1062,908,930,301,697,759,557,1029,918,864,1047,1091,976,850,789,893,885,821,835,1065,864,1121,891,817,870,1102,898,850,1e3,576,978,862,1005,1169,789,1225,1148,1056,894,1037,965,913,760,1099,849,1077,1104,1059,994,1012,975,1014,964,610,903,930,796,984,843,422,375,505,619,730,515,509,432,525,569,619,852,625,633,530,444,679,1163,635,344,462,519,547,643,633,354,471,540,537,699,986,834,804,732,874,892,663,598,439,320,481,742,1037,1075,628,364,464,454,724,719,529,465,539,659,701,615,546,696,723,629,765,640,668,632,464,478,665,565,464,547,641,677,720,746,720,591,550,695,707,651,502,735,704,496,579,612,785,760,711,635,658,747,735,730,766,487,769,753,815,686,489,456,557,534,791,776,599,747,916,729,656,408,416,583,518,550,639,721,973,751,933,777,1100,1103,939,1039,1009,1138,971,1049,773,1231,972,960,741,1171,1123,583,1186,926,786,884,971,1022,982,789,971,839,1297,1303,964,573,612,572,1119,1069,865,690,661,944,791,674,947,911,672,1027,711,921,726,850,828,572,955,870,886,412,745,857,823,824,768,1090,1141,705,985,1096,1085,883,822,1075,562,938,738,553,742,1013,871,1027,973,1102,1035,1201,1220,1265,1330,1227,1361,1138,1202,1073,1140,886,996,942,1138,1048,1043,1068,1034,1036,1092,866,1099,980,1040,1147,1221,1154,936,1048,984,956,1086,845,888,1007,923,1046,889,739,725,987,1003,1007,598,521,854,1077,678,1027,1297,916,872,1121,1013,1059,733,1091,1124,862,816,1030,801,877,840,1258,981,1063,961,656,776,1185,1006,922,885,922,1142,1575,1535,1157,1199,1008,923,1110,974,1078,999,1212,1211,1113,1235,1284,1127,1347,1214,1114,1044,1224,1114,1223,1289,1250,957,1136,1024,1236,1093,1364,1132,1133,1273,1067,1317,1059,881,1051,1102,1169,1480,1397,1108,1143,999,1170,1177,1189,1123,1363,1007,1190,1093,1405,1094,1041,1339,1150,1313,1422,1099,1129,1125,1119,1045,1199,1444,1089,1190,1420,1253,1155,1255,1269,1209,1140,1134,898,1223,1316,1215,1150,1358,1314,1078,1025,1164,1206,1009,1007,914,1161,1082,1274,1114,1025,1097,1356,1030,1113,1256,1209,1187,1403,1306,1332,1148,1182,1098,1115,1101,1011,1194,1240,1139,1026,1024,1120,1188,1160,999,989,1188,1131,1020,1253,1180,1057,988,1026,1324,1210,1201,1086,1138,1075,844,1221,1055,1185,1292,1299,1228,1322,1464,1161,1078,1274,1213,1312,1264,1116,1072,1087,1058,1085,1301,1007,989,1194,1205,1040,1048,1148,1395,1195,1248,1114,1152,1191,1209,1278,1242,1193,1157,1065,964,1157,1030,1126,1030,966,1078,1228,1188,1331,1188,1320,1189,1110,1136,1040,1014,1064,1246,970,958,1088,1197,1105,1073,1220,1193,1082,1109,1348,1414,1115,961,1151,974,1153,1164,1003,994,1012,1140,1335,1037,1246,583],
-successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_pyodide.asm.data")}Module["addRunDependency"]("datafile_pyodide.asm.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/lzma.py",start:0,end:12983,audio:0},{filename:"/lib/python3.7/gzip.py",start:12983,end:33321,audio:0},{filename:"/lib/python3.7/xdrlib.py",start:33321,end:39234,audio:0},{filename:"/lib/python3.7/weakref.py",start:39234,end:59715,audio:0},{filename:"/lib/python3.7/uu.py",start:59715,end:66613,audio:0},{filename:"/lib/python3.7/formatter.py",start:66613,end:81756,audio:0},{filename:"/lib/python3.7/timeit.py",start:81756,end:95200,audio:0},{filename:"/lib/python3.7/crypt.py",start:95200,end:98546,audio:0},{filename:"/lib/python3.7/dummy_threading.py",start:98546,end:101361,audio:0},{filename:"/lib/python3.7/reprlib.py",start:101361,end:106628,audio:0},{filename:"/lib/python3.7/csv.py",start:106628,end:122808,audio:0},{filename:"/lib/python3.7/pyclbr.py",start:122808,end:137945,audio:0},{filename:"/lib/python3.7/_markupbase.py",start:137945,end:152543,audio:0},{filename:"/lib/python3.7/pipes.py",start:152543,end:161459,audio:0},{filename:"/lib/python3.7/configparser.py",start:161459,end:215724,audio:0},{filename:"/lib/python3.7/genericpath.py",start:215724,end:220480,audio:0},{filename:"/lib/python3.7/symbol.py",start:220480,end:222611,audio:0},{filename:"/lib/python3.7/chunk.py",start:222611,end:228046,audio:0},{filename:"/lib/python3.7/ssl.py",start:228046,end:273149,audio:0},{filename:"/lib/python3.7/secrets.py",start:273149,end:275187,audio:0},{filename:"/lib/python3.7/shutil.py",start:275187,end:316203,audio:0},{filename:"/lib/python3.7/antigravity.py",start:316203,end:316679,audio:0},{filename:"/lib/python3.7/cgitb.py",start:316679,end:328697,audio:0},{filename:"/lib/python3.7/smtplib.py",start:328697,end:372881,audio:0},{filename:"/lib/python3.7/codecs.py",start:372881,end:409168,audio:0},{filename:"/lib/python3.7/calendar.py",start:409168,end:433994,audio:0},{filename:"/lib/python3.7/re.py",start:433994,end:449186,audio:0},{filename:"/lib/python3.7/socketserver.py",start:449186,end:475943,audio:0},{filename:"/lib/python3.7/locale.py",start:475943,end:553970,audio:0},{filename:"/lib/python3.7/base64.py",start:553970,end:574457,audio:0},{filename:"/lib/python3.7/statistics.py",start:574457,end:595108,audio:0},{filename:"/lib/python3.7/rlcompleter.py",start:595108,end:602205,audio:0},{filename:"/lib/python3.7/difflib.py",start:602205,end:686592,audio:0},{filename:"/lib/python3.7/_threading_local.py",start:686592,end:693806,audio:0},{filename:"/lib/python3.7/code.py",start:693806,end:704425,audio:0},{filename:"/lib/python3.7/bz2.py",start:704425,end:716835,audio:0},{filename:"/lib/python3.7/plistlib.py",start:716835,end:746720,audio:0},{filename:"/lib/python3.7/codeop.py",start:746720,end:752714,audio:0},{filename:"/lib/python3.7/bdb.py",start:752714,end:784202,audio:0},{filename:"/lib/python3.7/heapq.py",start:784202,end:807219,audio:0},{filename:"/lib/python3.7/__future__.py",start:807219,end:812320,audio:0},{filename:"/lib/python3.7/_compat_pickle.py",start:812320,end:821069,audio:0},{filename:"/lib/python3.7/tarfile.py",start:821069,end:913661,audio:0},{filename:"/lib/python3.7/linecache.py",start:913661,end:918973,audio:0},{filename:"/lib/python3.7/getopt.py",start:918973,end:926462,audio:0},{filename:"/lib/python3.7/webbrowser.py",start:926462,end:926828,audio:0},{filename:"/lib/python3.7/pickle.py",start:926828,end:984665,audio:0},{filename:"/lib/python3.7/sre_compile.py",start:984665,end:1011537,audio:0},{filename:"/lib/python3.7/contextvars.py",start:1011537,end:1011666,audio:0},{filename:"/lib/python3.7/threading.py",start:1011666,end:1059452,audio:0},{filename:"/lib/python3.7/pdb.py",start:1059452,end:1121832,audio:0},{filename:"/lib/python3.7/signal.py",start:1121832,end:1123955,audio:0},{filename:"/lib/python3.7/sndhdr.py",start:1123955,end:1131041,audio:0},{filename:"/lib/python3.7/os.py",start:1131041,end:1168797,audio:0},{filename:"/lib/python3.7/_bootlocale.py",start:1168797,end:1170598,audio:0},{filename:"/lib/python3.7/tty.py",start:1170598,end:1171477,audio:0},{filename:"/lib/python3.7/opcode.py",start:1171477,end:1177301,audio:0},{filename:"/lib/python3.7/cgi.py",start:1177301,end:1211100,audio:0},{filename:"/lib/python3.7/compileall.py",start:1211100,end:1224392,audio:0},{filename:"/lib/python3.7/cmd.py",start:1224392,end:1239252,audio:0},{filename:"/lib/python3.7/functools.py",start:1239252,end:1271451,audio:0},{filename:"/lib/python3.7/smtpd.py",start:1271451,end:1306162,audio:0},{filename:"/lib/python3.7/filecmp.py",start:1306162,end:1315992,audio:0},{filename:"/lib/python3.7/modulefinder.py",start:1315992,end:1339027,audio:0},{filename:"/lib/python3.7/datetime.py",start:1339027,end:1423545,audio:0},{filename:"/lib/python3.7/pickletools.py",start:1423545,end:1514799,audio:0},{filename:"/lib/python3.7/doctest.py",start:1514799,end:1619199,audio:0},{filename:"/lib/python3.7/argparse.py",start:1619199,end:1714302,audio:0},{filename:"/lib/python3.7/ftplib.py",start:1714302,end:1749558,audio:0},{filename:"/lib/python3.7/quopri.py",start:1749558,end:1756812,audio:0},{filename:"/lib/python3.7/ipaddress.py",start:1756812,end:1831884,audio:0},{filename:"/lib/python3.7/platform.py",start:1831884,end:1877861,audio:0},{filename:"/lib/python3.7/token.py",start:1877861,end:1881624,audio:0},{filename:"/lib/python3.7/warnings.py",start:1881624,end:1901365,audio:0},{filename:"/lib/python3.7/asynchat.py",start:1901365,end:1912693,audio:0},{filename:"/lib/python3.7/_compression.py",start:1912693,end:1918033,audio:0},{filename:"/lib/python3.7/LICENSE.txt",start:1918033,end:1930796,audio:0},{filename:"/lib/python3.7/string.py",start:1930796,end:1942360,audio:0},{filename:"/lib/python3.7/trace.py",start:1942360,end:1970949,audio:0},{filename:"/lib/python3.7/typing.py",start:1970949,end:2025485,audio:0},{filename:"/lib/python3.7/uuid.py",start:2025485,end:2054280,audio:0},{filename:"/lib/python3.7/stat.py",start:2054280,end:2059318,audio:0},{filename:"/lib/python3.7/zipapp.py",start:2059318,end:2066853,audio:0},{filename:"/lib/python3.7/abc.py",start:2066853,end:2072433,audio:0},{filename:"/lib/python3.7/fractions.py",start:2072433,end:2096072,audio:0},{filename:"/lib/python3.7/enum.py",start:2096072,end:2130633,audio:0},{filename:"/lib/python3.7/wave.py",start:2130633,end:2148862,audio:0},{filename:"/lib/python3.7/struct.py",start:2148862,end:2149119,audio:0},{filename:"/lib/python3.7/mailcap.py",start:2149119,end:2157223,audio:0},{filename:"/lib/python3.7/sre_constants.py",start:2157223,end:2164400,audio:0},{filename:"/lib/python3.7/decimal.py",start:2164400,end:2164720,audio:0},{filename:"/lib/python3.7/_weakrefset.py",start:2164720,end:2170399,audio:0},{filename:"/lib/python3.7/imaplib.py",start:2170399,end:2223426,audio:0},{filename:"/lib/python3.7/gettext.py",start:2223426,end:2245393,audio:0},{filename:"/lib/python3.7/asyncore.py",start:2245393,end:2265511,audio:0},{filename:"/lib/python3.7/binhex.py",start:2265511,end:2279465,audio:0},{filename:"/lib/python3.7/stringprep.py",start:2279465,end:2292382,audio:0},{filename:"/lib/python3.7/netrc.py",start:2292382,end:2297948,audio:0},{filename:"/lib/python3.7/_collections_abc.py",start:2297948,end:2324372,audio:0},{filename:"/lib/python3.7/fnmatch.py",start:2324372,end:2328428,audio:0},{filename:"/lib/python3.7/__phello__.foo.py",start:2328428,end:2328492,audio:0},{filename:"/lib/python3.7/telnetlib.py",start:2328492,end:2351627,audio:0},{filename:"/lib/python3.7/tracemalloc.py",start:2351627,end:2368703,audio:0},{filename:"/lib/python3.7/selectors.py",start:2368703,end:2387264,audio:0},{filename:"/lib/python3.7/posixpath.py",start:2387264,end:2402678,audio:0},{filename:"/lib/python3.7/colorsys.py",start:2402678,end:2406742,audio:0},{filename:"/lib/python3.7/copy.py",start:2406742,end:2415557,audio:0},{filename:"/lib/python3.7/glob.py",start:2415557,end:2421195,audio:0},{filename:"/lib/python3.7/socket.py",start:2421195,end:2448558,audio:0},{filename:"/lib/python3.7/mailbox.py",start:2448558,end:2527212,audio:0},{filename:"/lib/python3.7/profile.py",start:2527212,end:2549258,audio:0},{filename:"/lib/python3.7/sunau.py",start:2549258,end:2567633,audio:0},{filename:"/lib/python3.7/_strptime.py",start:2567633,end:2593137,audio:0},{filename:"/lib/python3.7/hashlib.py",start:2593137,end:2602615,audio:0},{filename:"/lib/python3.7/queue.py",start:2602615,end:2613974,audio:0},{filename:"/lib/python3.7/textwrap.py",start:2613974,end:2633468,audio:0},{filename:"/lib/python3.7/sre_parse.py",start:2633468,end:2672773,audio:0},{filename:"/lib/python3.7/runpy.py",start:2672773,end:2684732,audio:0},{filename:"/lib/python3.7/nturl2path.py",start:2684732,end:2687316,audio:0},{filename:"/lib/python3.7/nntplib.py",start:2687316,end:2730404,audio:0},{filename:"/lib/python3.7/pty.py",start:2730404,end:2735167,audio:0},{filename:"/lib/python3.7/sched.py",start:2735167,end:2741609,audio:0},{filename:"/lib/python3.7/getpass.py",start:2741609,end:2747603,audio:0},{filename:"/lib/python3.7/mimetypes.py",start:2747603,end:2768437,audio:0},{filename:"/lib/python3.7/_pydecimal.py",start:2768437,end:2996972,audio:0},{filename:"/lib/python3.7/fileinput.py",start:2996972,end:3011540,audio:0},{filename:"/lib/python3.7/tempfile.py",start:3011540,end:3038250,audio:0},{filename:"/lib/python3.7/pathlib.py",start:3038250,end:3087074,audio:0},{filename:"/lib/python3.7/poplib.py",start:3087074,end:3102037,audio:0},{filename:"/lib/python3.7/_sysconfigdata__emscripten_.py",start:3102037,end:3122398,audio:0},{filename:"/lib/python3.7/_pyio.py",start:3122398,end:3213528,audio:0},{filename:"/lib/python3.7/random.py",start:3213528,end:3241012,audio:0},{filename:"/lib/python3.7/tokenize.py",start:3241012,end:3267505,audio:0},{filename:"/lib/python3.7/shelve.py",start:3267505,end:3276032,audio:0},{filename:"/lib/python3.7/_py_abc.py",start:3276032,end:3282218,audio:0},{filename:"/lib/python3.7/cProfile.py",start:3282218,end:3287954,audio:0},{filename:"/lib/python3.7/dataclasses.py",start:3287954,end:3333386,audio:0},{filename:"/lib/python3.7/pydoc.py",start:3333386,end:3440153,audio:0},{filename:"/lib/python3.7/pystone.py",start:3440153,end:3447807,audio:0},{filename:"/lib/python3.7/inspect.py",start:3447807,end:3564927,audio:0},{filename:"/lib/python3.7/site.py",start:3564927,end:3585907,audio:0},{filename:"/lib/python3.7/pprint.py",start:3585907,end:3606767,audio:0},{filename:"/lib/python3.7/_sitebuiltins.py",start:3606767,end:3609882,audio:0},{filename:"/lib/python3.7/operator.py",start:3609882,end:3620745,audio:0},{filename:"/lib/python3.7/pstats.py",start:3620745,end:3648058,audio:0},{filename:"/lib/python3.7/imp.py",start:3648058,end:3658727,audio:0},{filename:"/lib/python3.7/symtable.py",start:3658727,end:3666001,audio:0},{filename:"/lib/python3.7/traceback.py",start:3666001,end:3689097,audio:0},{filename:"/lib/python3.7/shlex.py",start:3689097,end:3702053,audio:0},{filename:"/lib/python3.7/_testcapi.py",start:3702053,end:3702200,audio:0},{filename:"/lib/python3.7/this.py",start:3702200,end:3703203,audio:0},{filename:"/lib/python3.7/contextlib.py",start:3703203,end:3726977,audio:0},{filename:"/lib/python3.7/subprocess.py",start:3726977,end:3796062,audio:0},{filename:"/lib/python3.7/io.py",start:3796062,end:3799579,audio:0},{filename:"/lib/python3.7/_dummy_thread.py",start:3799579,end:3804696,audio:0},{filename:"/lib/python3.7/types.py",start:3804696,end:3814614,audio:0},{filename:"/lib/python3.7/ast.py",start:3814614,end:3827189,audio:0},{filename:"/lib/python3.7/pkgutil.py",start:3827189,end:3848650,audio:0},{filename:"/lib/python3.7/copyreg.py",start:3848650,end:3855667,audio:0},{filename:"/lib/python3.7/keyword.py",start:3855667,end:3857912,audio:0},{filename:"/lib/python3.7/aifc.py",start:3857912,end:3890726,audio:0},{filename:"/lib/python3.7/ntpath.py",start:3890726,end:3913184,audio:0},{filename:"/lib/python3.7/tabnanny.py",start:3913184,end:3924592,audio:0},{filename:"/lib/python3.7/dis.py",start:3924592,end:3944480,audio:0},{filename:"/lib/python3.7/zipfile.py",start:3944480,end:4024214,audio:0},{filename:"/lib/python3.7/hmac.py",start:4024214,end:4030731,audio:0},{filename:"/lib/python3.7/sysconfig.py",start:4030731,end:4054924,audio:0},{filename:"/lib/python3.7/optparse.py",start:4054924,end:4115295,audio:0},{filename:"/lib/python3.7/bisect.py",start:4115295,end:4117852,audio:0},{filename:"/lib/python3.7/py_compile.py",start:4117852,end:4125701,audio:0},{filename:"/lib/python3.7/macpath.py",start:4125701,end:4131824,audio:0},{filename:"/lib/python3.7/numbers.py",start:4131824,end:4142068,audio:0},{filename:"/lib/python3.7/imghdr.py",start:4142068,end:4145863,audio:0},{filename:"/lib/python3.7/distutils/spawn.py",start:4145863,end:4153274,audio:0},{filename:"/lib/python3.7/distutils/__init__.py",start:4153274,end:4153510,audio:0},{filename:"/lib/python3.7/distutils/archive_util.py",start:4153510,end:4161631,audio:0},{filename:"/lib/python3.7/distutils/filelist.py",start:4161631,end:4174463,audio:0},{filename:"/lib/python3.7/distutils/debug.py",start:4174463,end:4174602,audio:0},{filename:"/lib/python3.7/distutils/cygwinccompiler.py",start:4174602,end:4191080,audio:0},{filename:"/lib/python3.7/distutils/dep_util.py",start:4191080,end:4194571,audio:0},{filename:"/lib/python3.7/distutils/ccompiler.py",start:4194571,end:4241986,audio:0},{filename:"/lib/python3.7/distutils/version.py",start:4241986,end:4254331,audio:0},{filename:"/lib/python3.7/distutils/fancy_getopt.py",start:4254331,end:4272115,audio:0},{filename:"/lib/python3.7/distutils/cmd.py",start:4272115,end:4290194,audio:0},{filename:"/lib/python3.7/distutils/core.py",start:4290194,end:4299070,audio:0},{filename:"/lib/python3.7/distutils/msvccompiler.py",start:4299070,end:4322634,audio:0},{filename:"/lib/python3.7/distutils/extension.py",start:4322634,end:4333149,audio:0},{filename:"/lib/python3.7/distutils/text_file.py",start:4333149,end:4345632,audio:0},{filename:"/lib/python3.7/distutils/config.py",start:4345632,end:4350459,audio:0},{filename:"/lib/python3.7/distutils/dir_util.py",start:4350459,end:4358237,audio:0},{filename:"/lib/python3.7/distutils/unixccompiler.py",start:4358237,end:4372610,audio:0},{filename:"/lib/python3.7/distutils/msvc9compiler.py",start:4372610,end:4403121,audio:0},{filename:"/lib/python3.7/distutils/file_util.py",start:4403121,end:4411269,audio:0},{filename:"/lib/python3.7/distutils/log.py",start:4411269,end:4413177,audio:0},{filename:"/lib/python3.7/distutils/_msvccompiler.py",start:4413177,end:4434726,audio:0},{filename:"/lib/python3.7/distutils/README",start:4434726,end:4435021,audio:0},{filename:"/lib/python3.7/distutils/bcppcompiler.py",start:4435021,end:4449956,audio:0},{filename:"/lib/python3.7/distutils/errors.py",start:4449956,end:4453533,audio:0},{filename:"/lib/python3.7/distutils/util.py",start:4453533,end:4473718,audio:0},{filename:"/lib/python3.7/distutils/versionpredicate.py",start:4473718,end:4478851,audio:0},{filename:"/lib/python3.7/distutils/sysconfig.py",start:4478851,end:4498912,audio:0},{filename:"/lib/python3.7/distutils/dist.py",start:4498912,end:4549297,audio:0},{filename:"/lib/python3.7/distutils/tests/test_msvc9compiler.py",start:4549297,end:4555335,audio:0},{filename:"/lib/python3.7/distutils/tests/test_sdist.py",start:4555335,end:4571822,audio:0},{filename:"/lib/python3.7/distutils/tests/__init__.py",start:4571822,end:4572882,audio:0},{filename:"/lib/python3.7/distutils/tests/support.py",start:4572882,end:4579415,audio:0},{filename:"/lib/python3.7/distutils/tests/test_config_cmd.py",start:4579415,end:4582197,audio:0},{filename:"/lib/python3.7/distutils/tests/test_spawn.py",start:4582197,end:4584057,audio:0},{filename:"/lib/python3.7/distutils/tests/test_cygwinccompiler.py",start:4584057,end:4589693,audio:0},{filename:"/lib/python3.7/distutils/tests/test_unixccompiler.py",start:4589693,end:4594321,audio:0},{filename:"/lib/python3.7/distutils/tests/test_build_py.py",start:4594321,end:4600656,audio:0},{filename:"/lib/python3.7/distutils/tests/test_register.py",start:4600656,end:4610421,audio:0},{filename:"/lib/python3.7/distutils/tests/test_install_scripts.py",start:4610421,end:4613046,audio:0},{filename:"/lib/python3.7/distutils/tests/test_install_headers.py",start:4613046,end:4614284,audio:0},{filename:"/lib/python3.7/distutils/tests/test_install_data.py",start:4614284,end:4616861,audio:0
-},{filename:"/lib/python3.7/distutils/tests/test_version.py",start:4616861,end:4619475,audio:0},{filename:"/lib/python3.7/distutils/tests/test_install.py",start:4619475,end:4628010,audio:0},{filename:"/lib/python3.7/distutils/tests/test_dep_util.py",start:4628010,end:4630830,audio:0},{filename:"/lib/python3.7/distutils/tests/test_file_util.py",start:4630830,end:4635243,audio:0},{filename:"/lib/python3.7/distutils/tests/test_filelist.py",start:4635243,end:4646718,audio:0},{filename:"/lib/python3.7/distutils/tests/test_cmd.py",start:4646718,end:4650553,audio:0},{filename:"/lib/python3.7/distutils/tests/test_extension.py",start:4650553,end:4653321,audio:0},{filename:"/lib/python3.7/distutils/tests/test_archive_util.py",start:4653321,end:4667657,audio:0},{filename:"/lib/python3.7/distutils/tests/test_versionpredicate.py",start:4667657,end:4667937,audio:0},{filename:"/lib/python3.7/distutils/tests/test_core.py",start:4667937,end:4672014,audio:0},{filename:"/lib/python3.7/distutils/tests/test_msvccompiler.py",start:4672014,end:4676886,audio:0},{filename:"/lib/python3.7/distutils/tests/test_bdist_msi.py",start:4676886,end:4677614,audio:0},{filename:"/lib/python3.7/distutils/tests/test_sysconfig.py",start:4677614,end:4685580,audio:0},{filename:"/lib/python3.7/distutils/tests/test_build_ext.py",start:4685580,end:4705026,audio:0},{filename:"/lib/python3.7/distutils/tests/test_clean.py",start:4705026,end:4706467,audio:0},{filename:"/lib/python3.7/distutils/tests/test_check.py",start:4706467,end:4711723,audio:0},{filename:"/lib/python3.7/distutils/tests/test_upload.py",start:4711723,end:4718258,audio:0},{filename:"/lib/python3.7/distutils/tests/test_bdist_dumb.py",start:4718258,end:4721157,audio:0},{filename:"/lib/python3.7/distutils/tests/test_dir_util.py",start:4721157,end:4725811,audio:0},{filename:"/lib/python3.7/distutils/tests/test_build.py",start:4725811,end:4727776,audio:0},{filename:"/lib/python3.7/distutils/tests/test_text_file.py",start:4727776,end:4731212,audio:0},{filename:"/lib/python3.7/distutils/tests/test_bdist_rpm.py",start:4731212,end:4736220,audio:0},{filename:"/lib/python3.7/distutils/tests/test_bdist_wininst.py",start:4736220,end:4737260,audio:0},{filename:"/lib/python3.7/distutils/tests/Setup.sample",start:4737260,end:4739509,audio:0},{filename:"/lib/python3.7/distutils/tests/test_util.py",start:4739509,end:4750504,audio:0},{filename:"/lib/python3.7/distutils/tests/xxmodule.c",start:4750504,end:4763261,audio:0},{filename:"/lib/python3.7/distutils/tests/test_install_lib.py",start:4763261,end:4767235,audio:0},{filename:"/lib/python3.7/distutils/tests/test_bdist.py",start:4767235,end:4768778,audio:0},{filename:"/lib/python3.7/distutils/tests/test_build_clib.py",start:4768778,end:4773453,audio:0},{filename:"/lib/python3.7/distutils/tests/test_build_scripts.py",start:4773453,end:4777046,audio:0},{filename:"/lib/python3.7/distutils/tests/test_dist.py",start:4777046,end:4796141,audio:0},{filename:"/lib/python3.7/distutils/tests/test_log.py",start:4796141,end:4797430,audio:0},{filename:"/lib/python3.7/distutils/tests/test_config.py",start:4797430,end:4801273,audio:0},{filename:"/lib/python3.7/distutils/command/__init__.py",start:4801273,end:4802072,audio:0},{filename:"/lib/python3.7/distutils/command/command_template",start:4802072,end:4802705,audio:0},{filename:"/lib/python3.7/distutils/command/wininst-10.0-amd64.exe",start:4802705,end:5024913,audio:0},{filename:"/lib/python3.7/distutils/command/register.py",start:5024913,end:5036625,audio:0},{filename:"/lib/python3.7/distutils/command/bdist_wininst.py",start:5036625,end:5052057,audio:0},{filename:"/lib/python3.7/distutils/command/sdist.py",start:5052057,end:5071056,audio:0},{filename:"/lib/python3.7/distutils/command/install_lib.py",start:5071056,end:5079453,audio:0},{filename:"/lib/python3.7/distutils/command/wininst-9.0.exe",start:5079453,end:5275549,audio:0},{filename:"/lib/python3.7/distutils/command/bdist.py",start:5275549,end:5281111,audio:0},{filename:"/lib/python3.7/distutils/command/build_scripts.py",start:5281111,end:5287343,audio:0},{filename:"/lib/python3.7/distutils/command/wininst-10.0.exe",start:5287343,end:5478319,audio:0},{filename:"/lib/python3.7/distutils/command/wininst-14.0.exe",start:5478319,end:5936559,audio:0},{filename:"/lib/python3.7/distutils/command/bdist_msi.py",start:5936559,end:5971790,audio:0},{filename:"/lib/python3.7/distutils/command/config.py",start:5971790,end:5984876,audio:0},{filename:"/lib/python3.7/distutils/command/build_ext.py",start:5984876,end:6015233,audio:0},{filename:"/lib/python3.7/distutils/command/install_scripts.py",start:6015233,end:6017250,audio:0},{filename:"/lib/python3.7/distutils/command/bdist_dumb.py",start:6017250,end:6022162,audio:0},{filename:"/lib/python3.7/distutils/command/clean.py",start:6022162,end:6024938,audio:0},{filename:"/lib/python3.7/distutils/command/install.py",start:6024938,end:6051675,audio:0},{filename:"/lib/python3.7/distutils/command/wininst-8.0.exe",start:6051675,end:6113115,audio:0},{filename:"/lib/python3.7/distutils/command/install_egg_info.py",start:6113115,end:6115718,audio:0},{filename:"/lib/python3.7/distutils/command/install_data.py",start:6115718,end:6118540,audio:0},{filename:"/lib/python3.7/distutils/command/wininst-14.0-amd64.exe",start:6118540,end:6706316,audio:0},{filename:"/lib/python3.7/distutils/command/build_py.py",start:6706316,end:6723480,audio:0},{filename:"/lib/python3.7/distutils/command/install_headers.py",start:6723480,end:6724778,audio:0},{filename:"/lib/python3.7/distutils/command/bdist_rpm.py",start:6724778,end:6746448,audio:0},{filename:"/lib/python3.7/distutils/command/build_clib.py",start:6746448,end:6754470,audio:0},{filename:"/lib/python3.7/distutils/command/check.py",start:6754470,end:6759966,audio:0},{filename:"/lib/python3.7/distutils/command/build.py",start:6759966,end:6765714,audio:0},{filename:"/lib/python3.7/distutils/command/upload.py",start:6765714,end:6772975,audio:0},{filename:"/lib/python3.7/distutils/command/wininst-6.0.exe",start:6772975,end:6834415,audio:0},{filename:"/lib/python3.7/distutils/command/wininst-9.0-amd64.exe",start:6834415,end:7058671,audio:0},{filename:"/lib/python3.7/distutils/command/wininst-7.1.exe",start:7058671,end:7124207,audio:0},{filename:"/lib/python3.7/collections/__init__.py",start:7124207,end:7171847,audio:0},{filename:"/lib/python3.7/collections/abc.py",start:7171847,end:7171915,audio:0},{filename:"/lib/python3.7/http/cookies.py",start:7171915,end:7192372,audio:0},{filename:"/lib/python3.7/http/__init__.py",start:7192372,end:7198499,audio:0},{filename:"/lib/python3.7/http/server.py",start:7198499,end:7244518,audio:0},{filename:"/lib/python3.7/http/client.py",start:7244518,end:7298412,audio:0},{filename:"/lib/python3.7/http/cookiejar.py",start:7298412,end:7374726,audio:0},{filename:"/lib/python3.7/unittest/__init__.py",start:7374726,end:7377869,audio:0},{filename:"/lib/python3.7/unittest/__main__.py",start:7377869,end:7378341,audio:0},{filename:"/lib/python3.7/unittest/main.py",start:7378341,end:7389579,audio:0},{filename:"/lib/python3.7/unittest/suite.py",start:7389579,end:7400058,audio:0},{filename:"/lib/python3.7/unittest/runner.py",start:7400058,end:7407809,audio:0},{filename:"/lib/python3.7/unittest/mock.py",start:7407809,end:7488423,audio:0},{filename:"/lib/python3.7/unittest/loader.py",start:7488423,end:7511076,audio:0},{filename:"/lib/python3.7/unittest/case.py",start:7511076,end:7568243,audio:0},{filename:"/lib/python3.7/unittest/result.py",start:7568243,end:7575685,audio:0},{filename:"/lib/python3.7/unittest/signals.py",start:7575685,end:7578088,audio:0},{filename:"/lib/python3.7/unittest/util.py",start:7578088,end:7583303,audio:0},{filename:"/lib/python3.7/unittest/test/__init__.py",start:7583303,end:7583887,audio:0},{filename:"/lib/python3.7/unittest/test/test_discovery.py",start:7583887,end:7617580,audio:0},{filename:"/lib/python3.7/unittest/test/test_break.py",start:7617580,end:7627125,audio:0},{filename:"/lib/python3.7/unittest/test/support.py",start:7627125,end:7630877,audio:0},{filename:"/lib/python3.7/unittest/test/test_runner.py",start:7630877,end:7642896,audio:0},{filename:"/lib/python3.7/unittest/test/test_result.py",start:7642896,end:7667896,audio:0},{filename:"/lib/python3.7/unittest/test/__main__.py",start:7667896,end:7668492,audio:0},{filename:"/lib/python3.7/unittest/test/test_skipping.py",start:7668492,end:7677808,audio:0},{filename:"/lib/python3.7/unittest/test/test_loader.py",start:7677808,end:7740495,audio:0},{filename:"/lib/python3.7/unittest/test/dummy.py",start:7740495,end:7740545,audio:0},{filename:"/lib/python3.7/unittest/test/test_case.py",start:7740545,end:7813132,audio:0},{filename:"/lib/python3.7/unittest/test/test_assertions.py",start:7813132,end:7830210,audio:0},{filename:"/lib/python3.7/unittest/test/_test_warnings.py",start:7830210,end:7832514,audio:0},{filename:"/lib/python3.7/unittest/test/test_functiontestcase.py",start:7832514,end:7838054,audio:0},{filename:"/lib/python3.7/unittest/test/test_program.py",start:7838054,end:7853103,audio:0},{filename:"/lib/python3.7/unittest/test/test_suite.py",start:7853103,end:7868287,audio:0},{filename:"/lib/python3.7/unittest/test/test_setups.py",start:7868287,end:7884790,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/__init__.py",start:7884790,end:7885255,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/support.py",start:7885255,end:7885642,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/testhelpers.py",start:7885642,end:7913458,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/testcallable.py",start:7913458,end:7917741,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/__main__.py",start:7917741,end:7918364,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/testsealable.py",start:7918364,end:7923459,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/testwith.py",start:7923459,end:7933874,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/testsentinel.py",start:7933874,end:7935199,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/testpatch.py",start:7935199,end:7990753,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/testmock.py",start:7990753,end:8041237,audio:0},{filename:"/lib/python3.7/unittest/test/testmock/testmagicmethods.py",start:8041237,end:8055649,audio:0},{filename:"/lib/python3.7/asyncio/__init__.py",start:8055649,end:8056818,audio:0},{filename:"/lib/python3.7/asyncio/sslproto.py",start:8056818,end:8083593,audio:0},{filename:"/lib/python3.7/asyncio/windows_utils.py",start:8083593,end:8088666,audio:0},{filename:"/lib/python3.7/asyncio/base_tasks.py",start:8088666,end:8090824,audio:0},{filename:"/lib/python3.7/asyncio/protocols.py",start:8090824,end:8097860,audio:0},{filename:"/lib/python3.7/asyncio/unix_events.py",start:8097860,end:8138233,audio:0},{filename:"/lib/python3.7/asyncio/events.py",start:8138233,end:8164418,audio:0},{filename:"/lib/python3.7/asyncio/base_events.py",start:8164418,end:8233131,audio:0},{filename:"/lib/python3.7/asyncio/runners.py",start:8233131,end:8235124,audio:0},{filename:"/lib/python3.7/asyncio/windows_events.py",start:8235124,end:8264473,audio:0},{filename:"/lib/python3.7/asyncio/futures.py",start:8264473,end:8277183,audio:0},{filename:"/lib/python3.7/asyncio/constants.py",start:8277183,end:8278071,audio:0},{filename:"/lib/python3.7/asyncio/format_helpers.py",start:8278071,end:8280475,audio:0},{filename:"/lib/python3.7/asyncio/log.py",start:8280475,end:8280599,audio:0},{filename:"/lib/python3.7/asyncio/streams.py",start:8280599,end:8305186,audio:0},{filename:"/lib/python3.7/asyncio/tasks.py",start:8305186,end:8334566,audio:0},{filename:"/lib/python3.7/asyncio/base_subprocess.py",start:8334566,end:8343352,audio:0},{filename:"/lib/python3.7/asyncio/transports.py",start:8343352,end:8353474,audio:0},{filename:"/lib/python3.7/asyncio/locks.py",start:8353474,end:8369387,audio:0},{filename:"/lib/python3.7/asyncio/coroutines.py",start:8369387,end:8377998,audio:0},{filename:"/lib/python3.7/asyncio/selector_events.py",start:8377998,end:8415559,audio:0},{filename:"/lib/python3.7/asyncio/proactor_events.py",start:8415559,end:8440534,audio:0},{filename:"/lib/python3.7/asyncio/subprocess.py",start:8440534,end:8447788,audio:0},{filename:"/lib/python3.7/asyncio/base_futures.py",start:8447788,end:8449869,audio:0},{filename:"/lib/python3.7/asyncio/queues.py",start:8449869,end:8457872,audio:0},{filename:"/lib/python3.7/logging/__init__.py",start:8457872,end:8530450,audio:0},{filename:"/lib/python3.7/logging/config.py",start:8530450,end:8566251,audio:0},{filename:"/lib/python3.7/logging/handlers.py",start:8566251,end:8623876,audio:0},{filename:"/lib/python3.7/encodings/hp_roman8.py",start:8623876,end:8637351,audio:0},{filename:"/lib/python3.7/encodings/shift_jisx0213.py",start:8637351,end:8638410,audio:0},{filename:"/lib/python3.7/encodings/cp1254.py",start:8638410,end:8651912,audio:0},{filename:"/lib/python3.7/encodings/iso8859_7.py",start:8651912,end:8664756,audio:0},{filename:"/lib/python3.7/encodings/__init__.py",start:8664756,end:8670424,audio:0},{filename:"/lib/python3.7/encodings/mac_roman.py",start:8670424,end:8683904,audio:0},{filename:"/lib/python3.7/encodings/cp857.py",start:8683904,end:8717812,audio:0},{filename:"/lib/python3.7/encodings/latin_1.py",start:8717812,end:8719076,audio:0},{filename:"/lib/python3.7/encodings/johab.py",start:8719076,end:8720099,audio:0},{filename:"/lib/python3.7/encodings/palmos.py",start:8720099,end:8733618,audio:0},{filename:"/lib/python3.7/encodings/cp1257.py",start:8733618,end:8746992,audio:0},{filename:"/lib/python3.7/encodings/mac_arabic.py",start:8746992,end:8783459,audio:0},{filename:"/lib/python3.7/encodings/charmap.py",start:8783459,end:8785543,audio:0},{filename:"/lib/python3.7/encodings/iso8859_11.py",start:8785543,end:8797878,audio:0},{filename:"/lib/python3.7/encodings/cp424.py",start:8797878,end:8809933,audio:0},{filename:"/lib/python3.7/encodings/shift_jis.py",start:8809933,end:8810972,audio:0},{filename:"/lib/python3.7/encodings/euc_jisx0213.py",start:8810972,end:8812023,audio:0},{filename:"/lib/python3.7/encodings/gbk.py",start:8812023,end:8813038,audio:0},{filename:"/lib/python3.7/encodings/kz1048.py",start:8813038,end:8826761,audio:0},{filename:"/lib/python3.7/encodings/cp1256.py",start:8826761,end:8839575,audio:0},{filename:"/lib/python3.7/encodings/mac_latin2.py",start:8839575,end:8853693,audio:0},{filename:"/lib/python3.7/encodings/raw_unicode_escape.py",start:8853693,end:8854901,audio:0},{filename:"/lib/python3.7/encodings/iso2022_jp_2004.py",start:8854901,end:8855974,audio:0},{filename:"/lib/python3.7/encodings/cp1253.py",start:8855974,end:8869068,audio:0},{filename:"/lib/python3.7/encodings/unicode_escape.py",start:8869068,end:8870252,audio:0},{filename:"/lib/python3.7/encodings/euc_jp.py",start:8870252,end:8871279,audio:0},{filename:"/lib/python3.7/encodings/iso8859_15.py",start:8871279,end:8884491,audio:0},{filename:"/lib/python3.7/encodings/iso8859_5.py",start:8884491,end:8897506,audio:0},{filename:"/lib/python3.7/encodings/utf_32_be.py",start:8897506,end:8898436,audio:0},{filename:"/lib/python3.7/encodings/iso2022_jp_1.py",start:8898436,end:8899497,audio:0},{filename:"/lib/python3.7/encodings/cp037.py",start:8899497,end:8912618,audio:0},{filename:"/lib/python3.7/encodings/iso8859_13.py",start:8912618,end:8925889,audio:0},{filename:"/lib/python3.7/encodings/iso8859_8.py",start:8925889,end:8936925,audio:0},{filename:"/lib/python3.7/encodings/cp1125.py",start:8936925,end:8971522,audio:0},{filename:"/lib/python3.7/encodings/cp65001.py",start:8971522,end:8972628,audio:0},{filename:"/lib/python3.7/encodings/iso2022_jp_3.py",start:8972628,end:8973689,audio:0},{filename:"/lib/python3.7/encodings/cp875.py",start:8973689,end:8986543,audio:0},{filename:"/lib/python3.7/encodings/euc_jis_2004.py",start:8986543,end:8987594,audio:0},{filename:"/lib/python3.7/encodings/hex_codec.py",start:8987594,end:8989102,audio:0},{filename:"/lib/python3.7/encodings/rot_13.py",start:8989102,end:8991550,audio:0},{filename:"/lib/python3.7/encodings/utf_32_le.py",start:8991550,end:8992480,audio:0},{filename:"/lib/python3.7/encodings/cp862.py",start:8992480,end:9025850,audio:0},{filename:"/lib/python3.7/encodings/ptcp154.py",start:9025850,end:9039865,audio:0},{filename:"/lib/python3.7/encodings/base64_codec.py",start:9039865,end:9041398,audio:0},{filename:"/lib/python3.7/encodings/cp950.py",start:9041398,end:9042421,audio:0},{filename:"/lib/python3.7/encodings/iso8859_2.py",start:9042421,end:9055825,audio:0},{filename:"/lib/python3.7/encodings/cp1140.py",start:9055825,end:9068930,audio:0},{filename:"/lib/python3.7/encodings/zlib_codec.py",start:9068930,end:9071134,audio:0},{filename:"/lib/python3.7/encodings/euc_kr.py",start:9071134,end:9072161,audio:0},{filename:"/lib/python3.7/encodings/unicode_internal.py",start:9072161,end:9073357,audio:0},{filename:"/lib/python3.7/encodings/mac_farsi.py",start:9073357,end:9088527,audio:0},{filename:"/lib/python3.7/encodings/idna.py",start:9088527,end:9097697,audio:0},{filename:"/lib/python3.7/encodings/cp858.py",start:9097697,end:9131712,audio:0},{filename:"/lib/python3.7/encodings/cp874.py",start:9131712,end:9144307,audio:0},{filename:"/lib/python3.7/encodings/iso8859_6.py",start:9144307,end:9155140,audio:0},{filename:"/lib/python3.7/encodings/mac_turkish.py",start:9155140,end:9168653,audio:0},{filename:"/lib/python3.7/encodings/koi8_u.py",start:9168653,end:9182415,audio:0},{filename:"/lib/python3.7/encodings/utf_8_sig.py",start:9182415,end:9186548,audio:0},{filename:"/lib/python3.7/encodings/tis_620.py",start:9186548,end:9198848,audio:0},{filename:"/lib/python3.7/encodings/mbcs.py",start:9198848,end:9200059,audio:0},{filename:"/lib/python3.7/encodings/oem.py",start:9200059,end:9201078,audio:0},{filename:"/lib/python3.7/encodings/shift_jis_2004.py",start:9201078,end:9202137,audio:0},{filename:"/lib/python3.7/encodings/cp1255.py",start:9202137,end:9214603,audio:0},{filename:"/lib/python3.7/encodings/koi8_r.py",start:9214603,end:9228382,audio:0},{filename:"/lib/python3.7/encodings/utf_16_le.py",start:9228382,end:9229419,audio:0},{filename:"/lib/python3.7/encodings/cp437.py",start:9229419,end:9263983,audio:0},{filename:"/lib/python3.7/encodings/cp861.py",start:9263983,end:9298616,audio:0},{filename:"/lib/python3.7/encodings/cp852.py",start:9298616,end:9333618,audio:0},{filename:"/lib/python3.7/encodings/iso8859_14.py",start:9333618,end:9347270,audio:0},{filename:"/lib/python3.7/encodings/mac_croatian.py",start:9347270,end:9360903,audio:0},{filename:"/lib/python3.7/encodings/utf_7.py",start:9360903,end:9361849,audio:0},{filename:"/lib/python3.7/encodings/cp720.py",start:9361849,end:9375535,audio:0},{filename:"/lib/python3.7/encodings/cp737.py",start:9375535,end:9410216,audio:0},{filename:"/lib/python3.7/encodings/cp500.py",start:9410216,end:9423337,audio:0},{filename:"/lib/python3.7/encodings/big5hkscs.py",start:9423337,end:9424376,audio:0},{filename:"/lib/python3.7/encodings/cp866.py",start:9424376,end:9458772,audio:0},{filename:"/lib/python3.7/encodings/cp869.py",start:9458772,end:9491737,audio:0},{filename:"/lib/python3.7/encodings/utf_8.py",start:9491737,end:9492742,audio:0},{filename:"/lib/python3.7/encodings/iso8859_3.py",start:9492742,end:9505831,audio:0},{filename:"/lib/python3.7/encodings/mac_iceland.py",start:9505831,end:9519329,audio:0},{filename:"/lib/python3.7/encodings/quopri_codec.py",start:9519329,end:9520854,audio:0},{filename:"/lib/python3.7/encodings/cp865.py",start:9520854,end:9555472,audio:0},{filename:"/lib/python3.7/encodings/cp863.py",start:9555472,end:9589724,audio:0},{filename:"/lib/python3.7/encodings/utf_16.py",start:9589724,end:9594960,audio:0},{filename:"/lib/python3.7/encodings/big5.py",start:9594960,end:9595979,audio:0},{filename:"/lib/python3.7/encodings/iso2022_jp.py",start:9595979,end:9597032,audio:0},{filename:"/lib/python3.7/encodings/cp1252.py",start:9597032,end:9610543,audio:0},{filename:"/lib/python3.7/encodings/mac_centeuro.py",start:9610543,end:9624645,audio:0},{filename:"/lib/python3.7/encodings/cp932.py",start:9624645,end:9625668,audio:0},{filename:"/lib/python3.7/encodings/cp864.py",start:9625668,end:9659331,audio:0},{filename:"/lib/python3.7/encodings/aliases.py",start:9659331,end:9674908,audio:0},{filename:"/lib/python3.7/encodings/cp856.py",start:9674908,end:9687331,audio:0},{filename:"/lib/python3.7/encodings/cp949.py",start:9687331,end:9688354,audio:0},{filename:"/lib/python3.7/encodings/gb18030.py",start:9688354,end:9689385,audio:0},{filename:"/lib/python3.7/encodings/cp850.py",start:9689385,end:9723490,audio:0},{filename:"/lib/python3.7/encodings/cp775.py",start:9723490,end:9757966,audio:0},{filename:"/lib/python3.7/encodings/iso8859_1.py",start:9757966,end:9771142,audio:0},{filename:"/lib/python3.7/encodings/iso2022_kr.py",start:9771142,end:9772195,audio:0},{filename:"/lib/python3.7/encodings/cp855.py",start:9772195,end:9806045,audio:0},{filename:"/lib/python3.7/encodings/cp1026.py",start:9806045,end:9819158,audio:0},{filename:"/lib/python3.7/encodings/hz.py",start:9819158,end:9820169,audio:0},{filename:"/lib/python3.7/encodings/gb2312.py",start:9820169,end:9821196,audio:0},{filename:"/lib/python3.7/encodings/punycode.py",start:9821196,end:9828077,audio:0},{filename:"/lib/python3.7/encodings/mac_romanian.py",start:9828077,end:9841738,audio:0},{filename:"/lib/python3.7/encodings/cp273.py",start:9841738,end:9855870,audio:0},{filename:"/lib/python3.7/encodings/iso8859_16.py",start:9855870,end:9869427,audio:0},{filename:"/lib/python3.7/encodings/mac_cyrillic.py",start:9869427,end:9882881,audio:0},{filename:"/lib/python3.7/encodings/utf_16_be.py",start:9882881,end:9883918,audio:0},{filename:"/lib/python3.7/encodings/ascii.py",start:9883918,end:9885166,audio:0},{filename:"/lib/python3.7/encodings/iso8859_10.py",start:9885166,end:9898755,audio:0},{filename:"/lib/python3.7/encodings/iso2022_jp_2.py",start:9898755,end:9899816,audio:0},{filename:"/lib/python3.7/encodings/iso8859_9.py",start:9899816,end:9912972,audio:0},{filename:"/lib/python3.7/encodings/uu_codec.py",start:9912972,end:9915693,audio:0},{filename:"/lib/python3.7/encodings/utf_32.py",start:9915693,end:9920822,audio:0},{filename:"/lib/python3.7/encodings/cp1250.py",start:9920822,end:9934508,audio:0},{filename:"/lib/python3.7/encodings/cp1006.py",start:9934508,end:9948076,audio:0},{filename:"/lib/python3.7/encodings/bz2_codec.py",start:9948076,end:9950325,audio:0},{filename:"/lib/python3.7/encodings/cp1258.py",start:9950325,end:9963689,audio:0},{filename:"/lib/python3.7/encodings/iso8859_4.py",start:9963689,end:9977065,audio:0},{filename:"/lib/python3.7/encodings/iso2022_jp_ext.py",start:9977065,end:9978134,audio:0},{filename:"/lib/python3.7/encodings/koi8_t.py",start:9978134,end:9991327,audio:0},{filename:"/lib/python3.7/encodings/undefined.py",start:9991327,end:9992626,audio:0},{filename:"/lib/python3.7/encodings/mac_greek.py",start:9992626,end:10006347,audio:0},{filename:"/lib/python3.7/encodings/cp860.py",start:10006347,end:10041028,audio:0},{filename:"/lib/python3.7/encodings/cp1251.py",start:10041028,end:10054389,audio:0},{filename:"/lib/python3.7/xml/__init__.py",start:10054389,end:10054946,audio:0},{filename:"/lib/python3.7/xml/sax/__init__.py",start:10054946,end:10058539,audio:0},{filename:"/lib/python3.7/xml/sax/saxutils.py",start:10058539,end:10070744,audio:0},{filename:"/lib/python3.7/xml/sax/_exceptions.py",start:10070744,end:10075529,audio:0},{filename:"/lib/python3.7/xml/sax/handler.py",start:10075529,end:10089451,audio:0},{filename:"/lib/python3.7/xml/sax/expatreader.py",start:10089451,end:10105155,audio:0},{filename:"/lib/python3.7/xml/sax/xmlreader.py",start:10105155,end:10117839,audio:0},{filename:"/lib/python3.7/xml/etree/ElementTree.py",start:10117839,end:10175105,audio:0},{filename:"/lib/python3.7/xml/etree/__init__.py",start:10175105,end:10176709,audio:0},{filename:"/lib/python3.7/xml/etree/cElementTree.py",start:10176709,end:10176791,audio:0},{filename:"/lib/python3.7/xml/etree/ElementPath.py",start:10176791,end:10187092,audio:0},{filename:"/lib/python3.7/xml/etree/ElementInclude.py",start:10187092,end:10192243,audio:0},{filename:"/lib/python3.7/xml/dom/__init__.py",start:10192243,end:10196262,audio:0},{filename:"/lib/python3.7/xml/dom/NodeFilter.py",start:10196262,end:10197198,audio:0},{filename:"/lib/python3.7/xml/dom/xmlbuilder.py",start:10197198,end:10209601,audio:0},{filename:"/lib/python3.7/xml/dom/minicompat.py",start:10209601,end:10212968,audio:0},{filename:"/lib/python3.7/xml/dom/expatbuilder.py",start:10212968,end:10248724,audio:0},{filename:"/lib/python3.7/xml/dom/domreg.py",start:10248724,end:10252126,audio:0},{filename:"/lib/python3.7/xml/dom/pulldom.py",start:10252126,end:10263887,audio:0},{filename:"/lib/python3.7/xml/dom/minidom.py",start:10263887,end:10330706,audio:0},{filename:"/lib/python3.7/xml/parsers/__init__.py",start:10330706,end:10330873,audio:0},{filename:"/lib/python3.7/xml/parsers/expat.py",start:10330873,end:10331121,audio:0},{filename:"/lib/python3.7/sqlite3/__init__.py",start:10331121,end:10332139,audio:0},{filename:"/lib/python3.7/sqlite3/dump.py",start:10332139,end:10334964,audio:0},{filename:"/lib/python3.7/sqlite3/dbapi2.py",start:10334964,end:10337651,audio:0},{filename:"/lib/python3.7/sqlite3/test/__init__.py",start:10337651,end:10337651,audio:0},{filename:"/lib/python3.7/sqlite3/test/hooks.py",start:10337651,end:10348197,audio:0},{filename:"/lib/python3.7/sqlite3/test/dump.py",start:10348197,end:10351037,audio:0},{filename:"/lib/python3.7/sqlite3/test/transactions.py",start:10351037,end:10358892,audio:0},{filename:"/lib/python3.7/sqlite3/test/dbapi.py",start:10358892,end:10394260,audio:0},{filename:"/lib/python3.7/sqlite3/test/regression.py",start:10394260,end:10409298,audio:0},{filename:"/lib/python3.7/sqlite3/test/backup.py",start:10409298,end:10414969,audio:0},{filename:"/lib/python3.7/sqlite3/test/factory.py",start:10414969,end:10426319,audio:0},{filename:"/lib/python3.7/sqlite3/test/types.py",start:10426319,end:10441808,audio:0},{filename:"/lib/python3.7/sqlite3/test/userfunctions.py",start:10441808,end:10456933,audio:0},{filename:"/lib/python3.7/xmlrpc/__init__.py",start:10456933,end:10456971,audio:0},{filename:"/lib/python3.7/xmlrpc/server.py",start:10456971,end:10494320,audio:0},{filename:"/lib/python3.7/xmlrpc/client.py",start:10494320,end:10543310,audio:0},{filename:"/lib/python3.7/wsgiref/__init__.py",start:10543310,end:10543897,audio:0},{filename:"/lib/python3.7/wsgiref/simple_server.py",start:10543897,end:10549036,audio:0},{filename:"/lib/python3.7/wsgiref/handlers.py",start:10549036,end:10570037,audio:0},{filename:"/lib/python3.7/wsgiref/headers.py",start:10570037,end:10576803,audio:0},{filename:"/lib/python3.7/wsgiref/util.py",start:10576803,end:10582437,audio:0},{filename:"/lib/python3.7/wsgiref/validate.py",start:10582437,end:10597536,audio:0},{filename:"/lib/python3.7/urllib/__init__.py",start:10597536,end:10597536,audio:0},{filename:"/lib/python3.7/urllib/error.py",start:10597536,end:10600168,audio:0},{filename:"/lib/python3.7/urllib/request.py",start:10600168,end:10700087,audio:0},{filename:"/lib/python3.7/urllib/parse.py",start:10700087,end:10737012,audio:0},{filename:"/lib/python3.7/urllib/robotparser.py",start:10737012,end:10745844,audio:0},{filename:"/lib/python3.7/urllib/response.py",start:10745844,end:10748143,audio:0},{filename:"/lib/python3.7/importlib/__init__.py",start:10748143,end:10754180,audio:0},{filename:"/lib/python3.7/importlib/_bootstrap.py",start:10754180,end:10793458,audio:0},{filename:"/lib/python3.7/importlib/machinery.py",start:10793458,end:10794302,audio:0},{filename:"/lib/python3.7/importlib/abc.py",start:10794302,end:10807174,audio:0},{filename:"/lib/python3.7/importlib/resources.py",start:10807174,end:10820136,audio:0},{filename:"/lib/python3.7/importlib/_bootstrap_external.py",start:10820136,end:10879148,audio:0},{filename:"/lib/python3.7/importlib/util.py",start:10879148,end:10890467,audio:0},{filename:"/lib/python3.7/html/__init__.py",start:10890467,end:10895223,audio:0},{filename:"/lib/python3.7/html/entities.py",start:10895223,end:10970538,audio:0},{filename:"/lib/python3.7/html/parser.py",start:10970538,end:10988259,audio:0},{filename:"/lib/python3.7/json/__init__.py",start:10988259,end:11002349,audio:0},{filename:"/lib/python3.7/json/scanner.py",start:11002349,end:11004774,audio:0},{filename:"/lib/python3.7/json/encoder.py",start:11004774,end:11020866,audio:0},{filename:"/lib/python3.7/json/decoder.py",start:11020866,end:11033338,audio:0},{filename:"/lib/python3.7/json/tool.py",start:11033338,end:11034801,audio:0},{filename:"/lib/python3.7/email/encoders.py",start:11034801,end:11036587,audio:0},{filename:"/lib/python3.7/email/__init__.py",start:11036587,end:11038353,audio:0},{filename:"/lib/python3.7/email/iterators.py",start:11038353,end:11040488,audio:0},{filename:"/lib/python3.7/email/base64mime.py",start:11040488,end:11044046,audio:0},{filename:"/lib/python3.7/email/utils.py",start:11044046,end:11057534,audio:0},{filename:"/lib/python3.7/email/_policybase.py",start:11057534,end:11072607,audio:0},{filename:"/lib/python3.7/email/message.py",start:11072607,end:11119326,audio:0},{filename:"/lib/python3.7/email/_header_value_parser.py",start:11119326,end:11218926,audio:0},{filename:"/lib/python3.7/email/charset.py",start:11218926,end:11236077,audio:0},{filename:"/lib/python3.7/email/header.py",start:11236077,end:11260163,audio:0},{filename:"/lib/python3.7/email/parser.py",start:11260163,end:11265206,audio:0},{filename:"/lib/python3.7/email/_parseaddr.py",start:11265206,end:11282405,audio:0},{filename:"/lib/python3.7/email/feedparser.py",start:11282405,end:11305180,audio:0},{filename:"/lib/python3.7/email/quoprimime.py",start:11305180,end:11315038,audio:0},{filename:"/lib/python3.7/email/architecture.rst",start:11315038,end:11324599,audio:0},{filename:"/lib/python3.7/email/contentmanager.py",start:11324599,end:11335271,audio:0},{filename:"/lib/python3.7/email/headerregistry.py",start:11335271,end:11355495,audio:0},{filename:"/lib/python3.7/email/_encoded_words.py",start:11355495,end:11363415,audio:0},{filename:"/lib/python3.7/email/policy.py",start:11363415,end:11373788,audio:0},{filename:"/lib/python3.7/email/errors.py",start:11373788,end:11377323,audio:0},{filename:"/lib/python3.7/email/generator.py",start:11377323,end:11397298,audio:0},{filename:"/lib/python3.7/email/mime/__init__.py",start:11397298,end:11397298,audio:0},{filename:"/lib/python3.7/email/mime/multipart.py",start:11397298,end:11398919,audio:0},{filename:"/lib/python3.7/email/mime/nonmultipart.py",start:11398919,end:11399610,audio:0},{filename:"/lib/python3.7/email/mime/base.py",start:11399610,end:11400526,audio:0},{filename:"/lib/python3.7/email/mime/text.py",start:11400526,end:11401963,audio:0},{filename:"/lib/python3.7/email/mime/message.py",start:11401963,end:11403280,audio:0},{filename:"/lib/python3.7/email/mime/application.py",start:11403280,end:11404601,audio:0},{filename:"/lib/python3.7/email/mime/audio.py",start:11404601,end:11407340,audio:0},{filename:"/lib/python3.7/email/mime/image.py",start:11407340,end:11409169,audio:0},{filename:"/lib/python3.7/concurrent/__init__.py",start:11409169,end:11409207,audio:0},{filename:"/lib/python3.7/concurrent/futures/__init__.py",start:11409207,end:11410704,audio:0},{filename:"/lib/python3.7/concurrent/futures/process.py",start:11410704,end:11437659,audio:0},{filename:"/lib/python3.7/concurrent/futures/thread.py",start:11437659,end:11445212,audio:0},{filename:"/lib/python3.7/concurrent/futures/_base.py",start:11445212,end:11466558,audio:0},{filename:"/lib/python3.7/pydoc_data/__init__.py",start:11466558,end:11466558,audio:0},{filename:"/lib/python3.7/pydoc_data/_pydoc.css",start:11466558,end:11466654,audio:0},{filename:"/lib/python3.7/pydoc_data/topics.py",start:11466654,end:12127587,audio:0},{filename:"/lib/python3.7/site-packages/pyodide.py",start:12127587,end:12130533,audio:0},{
-filename:"/lib/python3.7/site-packages/sitecustomize.py",start:12130533,end:12130781,audio:0},{filename:"/lib/python3.7/site-packages/six.py",start:12130781,end:12161669,audio:0},{filename:"/lib/python3.7/site-packages/README.txt",start:12161669,end:12161788,audio:0},{filename:"/lib/python3.7/site-packages/parso/__init__.py",start:12161788,end:12163395,audio:0},{filename:"/lib/python3.7/site-packages/parso/tree.py",start:12163395,end:12174697,audio:0},{filename:"/lib/python3.7/site-packages/parso/cache.py",start:12174697,end:12179584,audio:0},{filename:"/lib/python3.7/site-packages/parso/utils.py",start:12179584,end:12185636,audio:0},{filename:"/lib/python3.7/site-packages/parso/file_io.py",start:12185636,end:12186608,audio:0},{filename:"/lib/python3.7/site-packages/parso/_compatibility.py",start:12186608,end:12190049,audio:0},{filename:"/lib/python3.7/site-packages/parso/normalizer.py",start:12190049,end:12195219,audio:0},{filename:"/lib/python3.7/site-packages/parso/parser.py",start:12195219,end:12202379,audio:0},{filename:"/lib/python3.7/site-packages/parso/grammar.py",start:12202379,end:12212654,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/grammar37.txt",start:12212654,end:12219440,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/__init__.py",start:12219440,end:12219440,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/grammar36.txt",start:12219440,end:12226375,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/grammar35.txt",start:12226375,end:12233310,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/tree.py",start:12233310,end:12270189,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/diff.py",start:12270189,end:12297362,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/token.py",start:12297362,end:12298173,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/parser.py",start:12298173,end:12306783,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/grammar38.txt",start:12306783,end:12314329,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/grammar34.txt",start:12314329,end:12320459,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/grammar33.txt",start:12320459,end:12326585,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/pep8.py",start:12326585,end:12358801,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/grammar27.txt",start:12358801,end:12364761,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/tokenize.py",start:12364761,end:12390521,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/grammar26.txt",start:12390521,end:12396947,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/errors.py",start:12396947,end:12434569,audio:0},{filename:"/lib/python3.7/site-packages/parso/python/prefix.py",start:12434569,end:12436974,audio:0},{filename:"/lib/python3.7/site-packages/parso/pgen2/__init__.py",start:12436974,end:12437356,audio:0},{filename:"/lib/python3.7/site-packages/parso/pgen2/grammar_parser.py",start:12437356,end:12442648,audio:0},{filename:"/lib/python3.7/site-packages/parso/pgen2/generator.py",start:12442648,end:12455912,audio:0},{filename:"/lib/python3.7/site-packages/jedi/__init__.py",start:12455912,end:12457657,audio:0},{filename:"/lib/python3.7/site-packages/jedi/__main__.py",start:12457657,end:12459084,audio:0},{filename:"/lib/python3.7/site-packages/jedi/debug.py",start:12459084,end:12462799,audio:0},{filename:"/lib/python3.7/site-packages/jedi/cache.py",start:12462799,end:12467054,audio:0},{filename:"/lib/python3.7/site-packages/jedi/utils.py",start:12467054,end:12471734,audio:0},{filename:"/lib/python3.7/site-packages/jedi/file_io.py",start:12471734,end:12472864,audio:0},{filename:"/lib/python3.7/site-packages/jedi/settings.py",start:12472864,end:12476689,audio:0},{filename:"/lib/python3.7/site-packages/jedi/_compatibility.py",start:12476689,end:12498274,audio:0},{filename:"/lib/python3.7/site-packages/jedi/refactoring.py",start:12498274,end:12505303,audio:0},{filename:"/lib/python3.7/site-packages/jedi/parser_utils.py",start:12505303,end:12514726,audio:0},{filename:"/lib/python3.7/site-packages/jedi/plugins/__init__.py",start:12514726,end:12516125,audio:0},{filename:"/lib/python3.7/site-packages/jedi/plugins/flask.py",start:12516125,end:12517024,audio:0},{filename:"/lib/python3.7/site-packages/jedi/plugins/stdlib.py",start:12517024,end:12546445,audio:0},{filename:"/lib/python3.7/site-packages/jedi/plugins/registry.py",start:12546445,end:12546672,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/replstartup.py",start:12546672,end:12547611,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/__init__.py",start:12547611,end:12569402,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/project.py",start:12569402,end:12575843,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/completion.py",start:12575843,end:12589286,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/keywords.py",start:12589286,end:12591512,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/interpreter.py",start:12591512,end:12593055,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/file_name.py",start:12593055,end:12599037,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/exceptions.py",start:12599037,end:12599162,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/environment.py",start:12599162,end:12615427,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/classes.py",start:12615427,end:12640731,audio:0},{filename:"/lib/python3.7/site-packages/jedi/api/helpers.py",start:12640731,end:12655347,audio:0},{filename:"/lib/python3.7/site-packages/jedi/common/__init__.py",start:12655347,end:12655407,audio:0},{filename:"/lib/python3.7/site-packages/jedi/common/utils.py",start:12655407,end:12656019,audio:0},{filename:"/lib/python3.7/site-packages/jedi/common/context.py",start:12656019,end:12658035,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/LICENSE",start:12658035,end:12670693,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3.6/secrets.pyi",start:12670693,end:12671194,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/rfc822.pyi",start:12671194,end:12673428,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/collections.pyi",start:12673428,end:12678628,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/whichdb.pyi",start:12678628,end:12678778,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/dummy_thread.pyi",start:12678778,end:12679572,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/smtplib.pyi",start:12679572,end:12682114,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/tokenize.pyi",start:12682114,end:12684884,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/SocketServer.pyi",start:12684884,end:12688643,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_collections.pyi",start:12688643,end:12690156,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/tempfile.pyi",start:12690156,end:12693894,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/sets.pyi",start:12693894,end:12696820,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/runpy.pyi",start:12696820,end:12697361,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/httplib.pyi",start:12697361,end:12703298,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_struct.pyi",start:12703298,end:12704109,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/heapq.pyi",start:12704109,end:12704778,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/ConfigParser.pyi",start:12704778,end:12708590,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/cPickle.pyi",start:12708590,end:12709391,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/importlib.pyi",start:12709391,end:12709525,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/HTMLParser.pyi",start:12709525,end:12710592,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/markupbase.pyi",start:12710592,end:12710857,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/urllib2.pyi",start:12710857,end:12719194,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/compileall.pyi",start:12719194,end:12719805,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/stringold.pyi",start:12719805,end:12721882,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/pipes.pyi",start:12721882,end:12722335,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/Cookie.pyi",start:12722335,end:12723651,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/symbol.pyi",start:12723651,end:12725023,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/string.pyi",start:12725023,end:12728795,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/cStringIO.pyi",start:12728795,end:12730828,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/repr.pyi",start:12730828,end:12731887,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/re.pyi",start:12731887,end:12735676,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/urllib.pyi",start:12735676,end:12740414,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/mutex.pyi",start:12740414,end:12740858,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/sha.pyi",start:12740858,end:12741133,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/os2emxpath.pyi",start:12741133,end:12747391,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/fcntl.pyi",start:12747391,end:12748952,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_warnings.pyi",start:12748952,end:12749399,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/shelve.pyi",start:12749399,end:12750974,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_json.pyi",start:12750974,end:12751462,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/nturl2path.pyi",start:12751462,end:12751577,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/subprocess.pyi",start:12751577,end:12755333,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_ast.pyi",start:12755333,end:12761110,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/typing.pyi",start:12761110,end:12777150,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/robotparser.pyi",start:12777150,end:12777380,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_sre.pyi",start:12777380,end:12779331,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/spwd.pyi",start:12779331,end:12779987,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_md5.pyi",start:12779987,end:12780287,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/unittest.pyi",start:12780287,end:12792828,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/urlparse.pyi",start:12792828,end:12794907,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/__builtin__.pyi",start:12794907,end:12864283,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_sha256.pyi",start:12864283,end:12864915,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/exceptions.pyi",start:12864915,end:12867555,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/Queue.pyi",start:12867555,end:12868460,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/inspect.pyi",start:12868460,end:12873719,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_sha.pyi",start:12873719,end:12874067,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/sys.pyi",start:12874067,end:12877821,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/fnmatch.pyi",start:12877821,end:12878169,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_hotshot.pyi",start:12878169,end:12879159,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/json.pyi",start:12879159,end:12882814,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/stat.pyi",start:12882814,end:12883759,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/dircache.pyi",start:12883759,end:12884098,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/UserList.pyi",start:12884098,end:12884727,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/textwrap.pyi",start:12884727,end:12886703,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_threading_local.pyi",start:12886703,end:12887121,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/SimpleHTTPServer.pyi",start:12887121,end:12887805,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/thread.pyi",start:12887805,end:12888800,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/mimetools.pyi",start:12888800,end:12889503,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/StringIO.pyi",start:12889503,end:12890682,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/gc.pyi",start:12890682,end:12891469,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/getopt.pyi",start:12891469,end:12891917,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/future_builtins.pyi",start:12891917,end:12892143,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_socket.pyi",start:12892143,end:12898435,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/platform.pyi",start:12898435,end:12900044,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/io.pyi",start:12900044,end:12901507,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/atexit.pyi",start:12901507,end:12901624,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/commands.pyi",start:12901624,end:12901955,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_functools.pyi",start:12901955,end:12904757,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/signal.pyi",start:12904757,end:12906396,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/xmlrpclib.pyi",start:12906396,end:12915482,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/gzip.pyi",start:12915482,end:12916482,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_io.pyi",start:12916482,end:12923516,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/functools.pyi",start:12923516,end:12926960,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/toaiff.pyi",start:12926960,end:12927317,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/glob.pyi",start:12927317,end:12927692,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/getpass.pyi",start:12927692,end:12927884,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/hashlib.pyi",start:12927884,end:12928885,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/md5.pyi",start:12928885,end:12929001,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/ast.pyi",start:12929001,end:12930202,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/shlex.pyi",start:12930202,end:12931171,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/cookielib.pyi",start:12931171,end:12935576,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/strop.pyi",start:12935576,end:12937412,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/abc.pyi",start:12937412,end:12938465,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/sre_constants.pyi",start:12938465,end:12940279,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/random.pyi",start:12940279,end:12943465,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_symtable.pyi",start:12943465,end:12944147,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/imp.pyi",start:12944147,end:12945468,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/UserString.pyi",start:12945468,end:12949328,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/itertools.pyi",start:12949328,end:12955888,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/resource.pyi",start:12955888,end:12956951,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/sre_parse.pyi",start:12956951,end:12959298,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/UserDict.pyi",start:12959298,end:12960933,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/htmlentitydefs.pyi",start:12960933,end:12961064,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/gettext.pyi",start:12961064,end:12963348,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/user.pyi",start:12963348,end:12963572,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/_sha512.pyi",start:12963572,end:12964204,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/BaseHTTPServer.pyi",start:12964204,end:12965990,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/popen2.pyi",start:12965990,end:12966955,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/posix.pyi",start:12966955,end:12973379,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/types.pyi",start:12973379,end:12978236,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/emxccompiler.pyi",start:12978236,end:12978352,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/__init__.pyi",start:12978352,end:12978352,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/encodings/utf_8.pyi",start:12978352,end:12978925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/encodings/__init__.pyi",start:12978925,end:12979019,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/os/__init__.pyi",start:12979019,end:12993235,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/os/path.pyi",start:12993235,end:12999493,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/__init__.pyi",start:12999493,end:13001424,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/util.pyi",start:13001424,end:13002182,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/pool.pyi",start:13002182,end:13004569,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/process.pyi",start:13004569,end:13005478,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/connection.pyi",start:13005478,end:13006147,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/__init__.pyi",start:13006147,end:13007544,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/iterators.pyi",start:13007544,end:13007750,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/_parseaddr.pyi",start:13007750,end:13008822,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/utils.pyi",start:13008822,end:13009645,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/message.pyi",start:13009645,end:13011575,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/quoprimime.pyi",start:13011575,end:13012065,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/header.pyi",start:13012065,end:13012539,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/charset.pyi",start:13012539,end:13013441,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/generator.pyi",start:13013441,end:13013819,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/base64mime.pyi",start:13013819,end:13014119,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/MIMEText.pyi",start:13014119,end:13014278,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/__init__.pyi",start:13014278,end:13014548,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/feedparser.pyi",start:13014548,end:13015085,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/parser.pyi",start:13015085,end:13015500,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/encoders.pyi",start:13015500,end:13015643,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/message.pyi",start:13015643,end:13015791,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/text.pyi",start:13015791,end:13015950,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/multipart.pyi",start:13015950,end:13016109,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/application.pyi",start:13016109,end:13016536,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/image.pyi",start:13016536,end:13016713,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/base.pyi",start:13016713,end:13016841,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/__init__.pyi",start:13016841,end:13016841,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/nonmultipart.pyi",start:13016841,end:13016948,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/audio.pyi",start:13016948,end:13017125,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/difflib.pyi",start:13017125,end:13021001,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/turtle.pyi",start:13021001,end:13039321,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/code.pyi",start:13039321,end:13040967,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/decimal.pyi",start:13040967,end:13057099,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/grp.pyi",start:13057099,end:13057539,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pickle.pyi",start:13057539,end:13061105,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/profile.pyi",start:13061105,end:13062396,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/telnetlib.pyi",start:13062396,end:13065119,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/__future__.pyi",start:13065119,end:13065667,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pdb.pyi",start:13065667,end:13068050,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/cProfile.pyi",start:13068050,end:13069194,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/linecache.pyi",start:13069194,end:13069784,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/tty.pyi",start:13069784,end:13070089,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/marshal.pyi",start:13070089,end:13070325,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/weakref.pyi",start:13070325,end:13074613,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/sunau.pyi",start:13074613,end:13077749,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/asyncore.pyi",start:13077749,end:13083303,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xdrlib.pyi",start:13083303,end:13085656,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/trace.pyi",start:13085656,end:13087704,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/tarfile.pyi",start:13087704,end:13094704,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/ssl.pyi",start:13094704,end:13106747,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/sysconfig.pyi",start:13106747,end:13107620,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/termios.pyi",start:13107620,end:13111023,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/warnings.pyi",start:13111023,end:13112979,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/optparse.pyi",start:13112979,end:13122950,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/select.pyi",start:13122950,end:13126973,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/array.pyi",start:13126973,end:13129834,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/_weakref.pyi",start:13129834,end:13130862,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/smtpd.pyi",start:13130862,end:13134188,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/imghdr.pyi",start:13134188,end:13134591,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/operator.pyi",start:13134591,end:13141104,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/py_compile.pyi",start:13141104,end:13141852,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pwd.pyi",start:13141852,end:13142467,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/tabnanny.pyi",start:13142467,end:13143060,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/csv.pyi",start:13143060,end:13145953,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/math.pyi",start:13145953,end:13148678,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/sched.pyi",start:13148678,end:13150043,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/errno.pyi",start:13150043,end:13151763,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/contextlib.pyi",start:13151763,end:13155806,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/builtins.pyi",start:13155806,end:13225182,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/uuid.pyi",start:13225182,end:13228012,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/hmac.pyi",start:13228012,end:13229087,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/fractions.pyi",start:13229087,end:13232262,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pty.pyi",start:13232262,end:13232885,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/shutil.pyi",start:13232885,end:13238677,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/unicodedata.pyi",start:13238677,end:13240517,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/quopri.pyi",start:13240517,end:13240897,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/genericpath.pyi",start:13240897,end:13241550,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/mmap.pyi",start:13241550,end:13244441,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/ntpath.pyi",start:13244441,end:13250699,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/sre_compile.pyi",start:13250699,end:13251329,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/_heapq.pyi",start:13251329,end:13251844,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/_codecs.pyi",start:13251844,end:13256824,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/sndhdr.pyi",start:13256824,end:13257501,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/stringprep.pyi",start:13257501,end:13258359,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/plistlib.pyi",start:13258359,end:13260573,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/bisect.pyi",start:13260573,end:13261664,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/posixpath.pyi",start:13261664,end:13267922,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/calendar.pyi",start:13267922,end:13273694,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/bz2.pyi",
-start:13273694,end:13275286,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pkgutil.pyi",start:13275286,end:13276646,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/wave.pyi",start:13276646,end:13279349,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/_csv.pyi",start:13279349,end:13280786,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/token.pyi",start:13280786,end:13281869,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/cgi.pyi",start:13281869,end:13286791,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/zlib.pyi",start:13286791,end:13288445,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/syslog.pyi",start:13288445,end:13289267,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/socket.pyi",start:13289267,end:13305567,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/macpath.pyi",start:13305567,end:13311825,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/netrc.pyi",start:13311825,end:13312291,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/binascii.pyi",start:13312291,end:13313896,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/datetime.pyi",start:13313896,end:13324750,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/filecmp.pyi",start:13324750,end:13326371,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/cmd.pyi",start:13326371,end:13328065,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/webbrowser.pyi",start:13328065,end:13331312,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pprint.pyi",start:13331312,end:13332901,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/nis.pyi",start:13332901,end:13333224,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/_weakrefset.pyi",start:13333224,end:13335458,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc.pyi",start:13335458,end:13345221,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/_bisect.pyi",start:13345221,end:13345808,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/readline.pyi",start:13345808,end:13347333,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/binhex.pyi",start:13347333,end:13348502,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/symtable.pyi",start:13348502,end:13350147,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/_random.pyi",start:13350147,end:13350640,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/timeit.pyi",start:13350640,end:13352274,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/keyword.pyi",start:13352274,end:13352409,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/colorsys.pyi",start:13352409,end:13353009,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/opcode.pyi",start:13353009,end:13353472,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/fileinput.pyi",start:13353472,end:13355441,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pickletools.pyi",start:13355441,end:13359836,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/rlcompleter.pyi",start:13359836,end:13360170,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/imaplib.pyi",start:13360170,end:13366104,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/locale.pyi",start:13366104,end:13368700,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyclbr.pyi",start:13368700,end:13369631,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/numbers.pyi",start:13369631,end:13373588,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/base64.pyi",start:13373588,end:13375174,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/site.pyi",start:13375174,end:13375656,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/mimetypes.pyi",start:13375656,end:13377231,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/doctest.pyi",start:13377231,end:13384106,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/formatter.pyi",start:13384106,end:13388752,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/codecs.pyi",start:13388752,end:13399584,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/dis.pyi",start:13399584,end:13402593,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/uu.pyi",start:13402593,end:13403155,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/time.pyi",start:13403155,end:13407021,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/traceback.pyi",start:13407021,end:13412894,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/poplib.pyi",start:13412894,end:13415386,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/codeop.pyi",start:13415386,end:13416019,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/zipimport.pyi",start:13416019,end:13416708,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/crypt.pyi",start:13416708,end:13417369,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/cmath.pyi",start:13417369,end:13418576,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/copy.pyi",start:13418576,end:13418919,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/argparse.pyi",start:13418919,end:13436735,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/ftplib.pyi",start:13436735,end:13442336,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/asynchat.pyi",start:13442336,end:13443893,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/zipfile.pyi",start:13443893,end:13447460,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/chunk.pyi",start:13447460,end:13448215,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/struct.pyi",start:13448215,end:13449891,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pstats.pyi",start:13449891,end:13451857,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/threading.pyi",start:13451857,end:13458196,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/extension.pyi",start:13458196,end:13459909,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/fancy_getopt.pyi",start:13459909,end:13460861,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/dist.pyi",start:13460861,end:13461353,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/core.pyi",start:13461353,end:13463312,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/dep_util.pyi",start:13463312,end:13463615,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/sysconfig.pyi",start:13463615,end:13464307,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/archive_util.pyi",start:13464307,end:13464832,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/spawn.pyi",start:13464832,end:13465118,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/cygwinccompiler.pyi",start:13465118,end:13465296,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/version.pyi",start:13465296,end:13467182,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/msvccompiler.pyi",start:13467182,end:13467297,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/dir_util.pyi",start:13467297,end:13467935,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/unixccompiler.pyi",start:13467935,end:13468052,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/__init__.pyi",start:13468052,end:13468052,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/errors.pyi",start:13468052,end:13468904,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/cmd.pyi",start:13468904,end:13471494,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/util.pyi",start:13471494,end:13472386,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/log.pyi",start:13472386,end:13473162,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/ccompiler.pyi",start:13473162,end:13480123,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/file_util.pyi",start:13480123,end:13480617,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/debug.pyi",start:13480617,end:13480658,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/text_file.pyi",start:13480658,end:13481418,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/filelist.pyi",start:13481418,end:13481470,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/bcppcompiler.pyi",start:13481470,end:13481585,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/install_scripts.pyi",start:13481585,end:13481585,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/bdist_packager.pyi",start:13481585,end:13481585,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/bdist_dumb.pyi",start:13481585,end:13481585,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/install.pyi",start:13481585,end:13481925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/clean.pyi",start:13481925,end:13481925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/build_ext.pyi",start:13481925,end:13481925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/bdist_wininst.pyi",start:13481925,end:13481925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/config.pyi",start:13481925,end:13481925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/install_data.pyi",start:13481925,end:13481925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/bdist_rpm.pyi",start:13481925,end:13481925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/build_scripts.pyi",start:13481925,end:13481925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/register.pyi",start:13481925,end:13481925,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/bdist_msi.pyi",start:13481925,end:13482107,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/check.pyi",start:13482107,end:13482107,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/sdist.pyi",start:13482107,end:13482107,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/install_lib.pyi",start:13482107,end:13482107,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/__init__.pyi",start:13482107,end:13482107,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/build_py.pyi",start:13482107,end:13482384,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/install_headers.pyi",start:13482384,end:13482384,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/build_clib.pyi",start:13482384,end:13482384,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/bdist.pyi",start:13482384,end:13482384,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/distutils/command/build.pyi",start:13482384,end:13482384,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/handlers.pyi",start:13482384,end:13490185,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/config.pyi",start:13490185,end:13491348,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/__init__.pyi",start:13491348,end:13509396,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/__init__.pyi",start:13509396,end:13521075,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/util.pyi",start:13521075,end:13521262,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/wintypes.pyi",start:13521262,end:13525828,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/__init__.pyi",start:13525828,end:13525858,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/saxutils.pyi",start:13525858,end:13528215,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/handler.pyi",start:13528215,end:13529606,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/__init__.pyi",start:13529606,end:13530995,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/xmlreader.pyi",start:13530995,end:13533322,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/cElementTree.pyi",start:13533322,end:13533421,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementInclude.pyi",start:13533421,end:13534086,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/__init__.pyi",start:13534086,end:13534086,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementTree.pyi",start:13534086,end:13543861,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementPath.pyi",start:13543861,end:13545459,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/__init__.pyi",start:13545459,end:13545493,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/model.pyi",start:13545493,end:13545521,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/__init__.pyi",start:13545521,end:13545543,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/errors.pyi",start:13545543,end:13545572,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/sqlite3/__init__.pyi",start:13545572,end:13545615,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/sqlite3/dbapi2.pyi",start:13545615,end:13556257,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/handlers.pyi",start:13556257,end:13559357,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/validate.pyi",start:13559357,end:13561218,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/headers.pyi",start:13561218,end:13562468,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/__init__.pyi",start:13562468,end:13562468,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/util.pyi",start:13562468,end:13563354,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/simple_server.pyi",start:13563354,end:13564877,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/types.pyi",start:13564877,end:13566619,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/model.pyi",start:13566619,end:13566824,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/__init__.pyi",start:13566824,end:13570139,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/errors.pyi",start:13570139,end:13571414,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/__init__.pyi",start:13571414,end:13571447,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pytree.pyi",start:13571447,end:13574701,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pygram.pyi",start:13574701,end:13576973,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/tokenize.pyi",start:13576973,end:13577961,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/grammar.pyi",start:13577961,end:13578746,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/literals.pyi",start:13578746,end:13578962,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/parse.pyi",start:13578962,end:13580122,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/token.pyi",start:13580122,end:13581233,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/__init__.pyi",start:13581233,end:13581417,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/driver.pyi",start:13581417,end:13582467,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/pgen.pyi",start:13582467,end:13584632,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_dummy_thread.pyi",start:13584632,end:13585432,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/smtplib.pyi",start:13585432,end:13591160,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/statistics.pyi",start:13591160,end:13592234,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tokenize.pyi",start:13592234,end:13594646,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tempfile.pyi",start:13594646,end:13600030,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tracemalloc.pyi",start:13600030,end:13602174,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/runpy.pyi",start:13602174,end:13602868,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/heapq.pyi",start:13602868,end:13603732,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/configparser.pyi",start:13603732,end:13612037,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/queue.pyi",start:13612037,end:13613020,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/compileall.pyi",start:13613020,end:13614203,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/pipes.pyi",start:13614203,end:13614798,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/symbol.pyi",start:13614798,end:13616363,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/string.pyi",start:13616363,end:13617994,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/msvcrt.pyi",start:13617994,end:13618189,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/ipaddress.pyi",start:13618189,end:13623343,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/re.pyi",start:13623343,end:13628342,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_thread.pyi",start:13628342,end:13629219,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/socketserver.pyi",start:13629219,end:13632978,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/fcntl.pyi",start:13632978,end:13634766,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_warnings.pyi",start:13634766,end:13635213,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_operator.pyi",start:13635213,end:13636614,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_posixsubprocess.pyi",start:13636614,end:13637214,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/shelve.pyi",start:13637214,end:13638782,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_json.pyi",start:13638782,end:13639714,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/nturl2path.pyi",start:13639714,end:13639790,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/subprocess.pyi",start:13639790,end:13653807,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_ast.pyi",start:13653807,end:13661722,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/typing.pyi",start:13661722,end:13682043,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/spwd.pyi",start:13682043,end:13682701,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/lzma.pyi",start:13682701,end:13686017,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_winapi.pyi",start:13686017,end:13689965,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/reprlib.pyi",start:13689965,end:13691219,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/selectors.pyi",start:13691219,end:13694919,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_tracemalloc.pyi",start:13694919,end:13695558,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_subprocess.pyi",start:13695558,end:13696826,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/inspect.pyi",start:13696826,end:13708605,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/sys.pyi",start:13708605,end:13714134,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/fnmatch.pyi",start:13714134,end:13714500,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/faulthandler.pyi",start:13714500,end:13715244,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_importlib_modulespec.pyi",start:13715244,end:13716812,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/stat.pyi",start:13716812,end:13717979,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/nntplib.pyi",start:13717979,end:13722272,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_compression.pyi",start:13722272,end:13722708,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/textwrap.pyi",start:13722708,end:13726165,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_threading_local.pyi",start:13726165,end:13726755,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_curses.pyi",start:13726755,end:13739638,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/gc.pyi",start:13739638,end:13740457,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_stat.pyi",start:13740457,end:13741679,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/getopt.pyi",start:13741679,end:13742110,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/platform.pyi",start:13742110,end:13743994,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_imp.pyi",start:13743994,end:13744765,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/io.pyi",start:13744765,end:13752945,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/pathlib.pyi",start:13752945,end:13757795,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/_markupbase.pyi",start:13757795,end:13758052,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/atexit.pyi",start:13758052,end:13758365,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/signal.pyi",start:13758365,end:13762665,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/gzip.pyi",start:13762665,end:13764569,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/functools.pyi",start:13764569,end:13769581,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/glob.pyi",start:13769581,end:13770375,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/getpass.pyi",start:13770375,end:13770578,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/hashlib.pyi",start:13770578,end:13772931,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/ast.pyi",start:13772931,end:13774563,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/shlex.pyi",start:13774563,end:13776184,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/abc.pyi",start:13776184,end:13776797,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/sre_constants.pyi",start:13776797,end:13780203,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/random.pyi",start:13780203,end:13783667,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/imp.pyi",start:13783667,end:13785840,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/itertools.pyi",start:13785840,end:13789833,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/resource.pyi",start:13789833,end:13791189,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/sre_parse.pyi",start:13791189,end:13794145,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/gettext.pyi",start:13794145,end:13796040,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/enum.pyi",start:13796040,end:13799078,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/posix.pyi",start:13799078,end:13800873,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/types.pyi",start:13800873,end:13808103,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/collections/__init__.pyi",start:13808103,end:13823320,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/collections/abc.pyi",start:13823320,end:13824347,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/http/server.pyi",start:13824347,end:13827120,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/http/client.pyi",start:13827120,end:13834633,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/http/cookies.pyi",start:13834633,end:13835894,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/http/cookiejar.pyi",start:13835894,end:13840677,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/http/__init__.pyi",start:13840677,end:13842612,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/case.pyi",start:13842612,end:13854270,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/signals.pyi",start:13854270,end:13854658,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/loader.pyi",start:13854658,end:13856134,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/result.pyi",start:13856134,end:13857756,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/suite.pyi",start:13857756,end:13858547,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/runner.pyi",start:13858547,end:13860190,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/__init__.pyi",start:13860190,end:13861190,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/mock.pyi",start:13861190,end:13866382,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/runners.pyi",start:13866382,end:13866559,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/protocols.pyi",start:13866559,end:13867491,audio:0},{
-filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/events.pyi",start:13867491,end:13879089,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/coroutines.pyi",start:13879089,end:13879352,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/queues.pyi",start:13879352,end:13880828,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/locks.pyi",start:13880828,end:13883172,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/subprocess.pyi",start:13883172,end:13885564,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/streams.pyi",start:13885564,end:13889762,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/transports.pyi",start:13889762,end:13891120,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/futures.pyi",start:13891120,end:13893463,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/__init__.pyi",start:13893463,end:13897249,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_events.pyi",start:13897249,end:13905654,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/tasks.pyi",start:13905654,end:13909822,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/filedialog.pyi",start:13909822,end:13912055,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/ttk.pyi",start:13912055,end:13918296,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/constants.pyi",start:13918296,end:13919176,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/messagebox.pyi",start:13919176,end:13920326,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/commondialog.pyi",start:13920326,end:13920603,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/__init__.pyi",start:13920603,end:13945692,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/dialog.pyi",start:13945692,end:13945983,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/encodings/utf_8.pyi",start:13945983,end:13946556,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/encodings/__init__.pyi",start:13946556,end:13946650,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/robotparser.pyi",start:13946650,end:13947359,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/request.pyi",start:13947359,end:13957384,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/parse.pyi",start:13957384,end:13962450,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/__init__.pyi",start:13962450,end:13962450,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/response.pyi",start:13962450,end:13964118,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/error.pyi",start:13964118,end:13964463,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/resources.pyi",start:13964463,end:13965472,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/machinery.pyi",start:13965472,end:13969426,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/__init__.pyi",start:13969426,end:13970034,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/util.pyi",start:13970034,end:13971901,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/abc.pyi",start:13971901,end:13975627,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/html/entities.pyi",start:13975627,end:13975718,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/html/__init__.pyi",start:13975718,end:13975840,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/html/parser.pyi",start:13975840,end:13977082,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/os/__init__.pyi",start:13977082,end:14006823,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/os/path.pyi",start:14006823,end:14013081,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/context.pyi",start:14013081,end:14020250,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/connection.pyi",start:14020250,end:14022343,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/synchronize.pyi",start:14022343,end:14024400,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/managers.pyi",start:14024400,end:14026146,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/queues.pyi",start:14026146,end:14027255,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/spawn.pyi",start:14027255,end:14027948,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/__init__.pyi",start:14027948,end:14031455,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/pool.pyi",start:14031455,end:14034970,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/process.pyi",start:14034970,end:14035113,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/connection.pyi",start:14035113,end:14036206,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/__init__.pyi",start:14036206,end:14037292,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/json/encoder.pyi",start:14037292,end:14038024,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/json/__init__.pyi",start:14038024,end:14040203,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/json/decoder.pyi",start:14040203,end:14041325,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/iterators.pyi",start:14041325,end:14041660,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/contentmanager.pyi",start:14041660,end:14042240,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/headerregistry.pyi",start:14042240,end:14045217,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/utils.pyi",start:14045217,end:14046847,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/message.pyi",start:14046847,end:14051991,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/header.pyi",start:14051991,end:14053134,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/charset.pyi",start:14053134,end:14054290,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/generator.pyi",start:14054290,end:14055397,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/__init__.pyi",start:14055397,end:14056207,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/errors.pyi",start:14056207,end:14057070,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/feedparser.pyi",start:14057070,end:14057653,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/parser.pyi",start:14057653,end:14059098,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/policy.pyi",start:14059098,end:14061464,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/encoders.pyi",start:14061464,end:14061719,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/message.pyi",start:14061719,end:14061961,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/text.pyi",start:14061961,end:14062236,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/multipart.pyi",start:14062236,end:14062694,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/application.pyi",start:14062694,end:14063146,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/image.pyi",start:14063146,end:14063595,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/base.pyi",start:14063595,end:14063912,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/__init__.pyi",start:14063912,end:14063912,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/nonmultipart.pyi",start:14063912,end:14064038,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/audio.pyi",start:14064038,end:14064487,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/__init__.pyi",start:14064487,end:14064487,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/thread.pyi",start:14064487,end:14065181,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/__init__.pyi",start:14065181,end:14065289,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/process.pyi",start:14065289,end:14065881,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/_base.pyi",start:14065881,end:14068272,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/curses/panel.pyi",start:14068272,end:14069071,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/curses/textpad.pyi",start:14069071,end:14069500,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/curses/ascii.pyi",start:14069500,end:14070722,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3/curses/__init__.pyi",start:14070722,end:14071024,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3.7/dataclasses.pyi",start:14071024,end:14073405,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3.7/contextvars.pyi",start:14073405,end:14074535,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/stdlib/3.5/zipapp.pyi",start:14074535,end:14075198,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/pymssql.pyi",start:14075198,end:14077074,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/pathlib2.pyi",start:14077074,end:14081924,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/enum.pyi",start:14081924,end:14084962,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/gflags.pyi",start:14084962,end:14095516,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography/__init__.pyi",start:14095516,end:14095516,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography/hazmat/__init__.pyi",start:14095516,end:14095516,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography/hazmat/primitives/serialization.pyi",start:14095516,end:14096370,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography/hazmat/primitives/__init__.pyi",start:14096370,end:14096370,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography/hazmat/primitives/asymmetric/rsa.pyi",start:14096370,end:14098637,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography/hazmat/primitives/asymmetric/__init__.pyi",start:14098637,end:14098637,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/cryptography/hazmat/primitives/asymmetric/dsa.pyi",start:14098637,end:14098758,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/OpenSSL/crypto.pyi",start:14098758,end:14106402,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/OpenSSL/__init__.pyi",start:14106402,end:14106402,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/ioloop.pyi",start:14106402,end:14109199,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/locks.pyi",start:14109199,end:14110478,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httputil.pyi",start:14110478,end:14113152,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/tcpserver.pyi",start:14113152,end:14113708,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/__init__.pyi",start:14113708,end:14113708,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httpclient.pyi",start:14113708,end:14116741,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/concurrent.pyi",start:14116741,end:14117757,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/util.pyi",start:14117757,end:14118813,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/netutil.pyi",start:14118813,end:14120162,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/web.pyi",start:14120162,end:14128871,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httpserver.pyi",start:14128871,end:14130406,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/testing.pyi",start:14130406,end:14132024,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/process.pyi",start:14132024,end:14132686,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/tornado/gen.pyi",start:14132686,end:14135455,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/redis/client.pyi",start:14135455,end:14147415,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/redis/connection.pyi",start:14147415,end:14151511,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/redis/utils.pyi",start:14151511,end:14151647,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/redis/exceptions.pyi",start:14151647,end:14152216,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/redis/__init__.pyi",start:14152216,end:14153084,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/client.pyi",start:14153084,end:14156394,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/exceptions.pyi",start:14156394,end:14158448,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/__init__.pyi",start:14158448,end:14158448,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/recipe/__init__.pyi",start:14158448,end:14158448,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/recipe/watchers.pyi",start:14158448,end:14158999,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/fb303/FacebookService.pyi",start:14158999,end:14167674,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/fb303/__init__.pyi",start:14167674,end:14167674,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/scribe/ttypes.pyi",start:14167674,end:14168057,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/scribe/__init__.pyi",start:14168057,end:14168057,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/scribe/scribe.pyi",start:14168057,end:14169256,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/routes/mapper.pyi",start:14169256,end:14171550,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/routes/__init__.pyi",start:14171550,end:14171927,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/routes/util.pyi",start:14171927,end:14172503,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/__init__.pyi",start:14172503,end:14176225,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/_dummy_thread.pyi",start:14176225,end:14176252,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_parse.pyi",start:14176252,end:14176280,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/cPickle.pyi",start:14176280,end:14176302,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_nonmultipart.pyi",start:14176302,end:14176340,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/configparser.pyi",start:14176340,end:14176367,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/queue.pyi",start:14176367,end:14176387,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_cookiejar.pyi",start:14176387,end:14176411,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_robotparser.pyi",start:14176411,end:14176437,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/_thread.pyi",start:14176437,end:14176458,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_request.pyi",start:14176458,end:14176488,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/socketserver.pyi",start:14176488,end:14176515,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/reprlib.pyi",start:14176515,end:14176534,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_response.pyi",start:14176534,end:14176565,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_base.pyi",start:14176565,end:14176595,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_text.pyi",start:14176595,end:14176624,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/SimpleHTTPServer.pyi",start:14176624,end:14176655,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_multipart.pyi",start:14176655,end:14176690,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/__init__.pyi",start:14176690,end:14179085,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_error.pyi",start:14179085,end:14179113,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/xmlrpc_client.pyi",start:14179113,end:14179137,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/html_parser.pyi",start:14179137,end:14179162,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_client.pyi",start:14179162,end:14179184,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/html_entities.pyi",start:14179184,end:14179213,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/BaseHTTPServer.pyi",start:14179213,end:14179242,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_cookies.pyi",start:14179242,end:14179263,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/robotparser.pyi",start:14179263,end:14179322,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/request.pyi",start:14179322,end:14181282,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/parse.pyi",start:14181282,end:14182337,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/__init__.pyi",start:14182337,end:14182554,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/response.pyi",start:14182554,end:14182760,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/error.pyi",start:14182760,end:14182908,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/__init__.pyi",start:14182908,end:14182908,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/thread.pyi",start:14182908,end:14183602,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/__init__.pyi",start:14183602,end:14183710,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/process.pyi",start:14183710,end:14184302,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/_base.pyi",start:14184302,end:14186693,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/croniter.pyi",start:14186693,end:14188613,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/first.pyi",start:14188613,end:14189095,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/ujson.pyi",start:14189095,end:14190141,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/toml.pyi",start:14190141,end:14190957,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/typing_extensions.pyi",start:14190957,end:14193249,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji.pyi",start:14193249,end:14193632,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/singledispatch.pyi",start:14193632,end:14194268,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pycurl.pyi",start:14194268,end:14206917,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/mypy_extensions.pyi",start:14206917,end:14208868,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/certifi.pyi",start:14208868,end:14208920,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/itsdangerous.pyi",start:14208920,end:14217181,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/backports_abc.pyi",start:14217181,end:14217401,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/termcolor.pyi",start:14217401,end:14217853,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/tabulate.pyi",start:14217853,end:14218341,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/mock.pyi",start:14218341,end:14223533,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/compat.pyi",start:14223533,end:14223846,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/regioninfo.pyi",start:14223846,end:14224500,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/connection.pyi",start:14224500,end:14229730,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/utils.pyi",start:14229730,end:14235906,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/auth.pyi",start:14235906,end:14240046,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/auth_handler.pyi",start:14240046,end:14240296,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/__init__.pyi",start:14240296,end:14247282,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/exception.pyi",start:14247282,end:14251850,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/plugin.pyi",start:14251850,end:14252085,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/connection.pyi",start:14252085,end:14256439,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/key.pyi",start:14256439,end:14264748,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/multipart.pyi",start:14264748,end:14266581,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/multidelete.pyi",start:14266581,end:14267595,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/deletemarker.pyi",start:14267595,end:14267961,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/cors.pyi",start:14267961,end:14268907,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/keyfile.pyi",start:14268907,end:14269591,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlogging.pyi",start:14269591,end:14269991,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/acl.pyi",start:14269991,end:14271613,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/__init__.pyi",start:14271613,end:14272108,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/prefix.pyi",start:14272108,end:14272432,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/lifecycle.pyi",start:14272432,end:14274282,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlistresultset.pyi",start:14274282,end:14276085,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/website.pyi",start:14276085,end:14278529,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucket.pyi",start:14278529,end:14286559,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/user.pyi",start:14286559,end:14286921,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/tagging.pyi",start:14286921,end:14287650,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/ec2/__init__.pyi",start:14287650,end:14287820,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/layer1.pyi",start:14287820,end:14291449,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/exceptions.pyi",start:14291449,end:14292278,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/__init__.pyi",start:14292278,end:14292434,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/elb/__init__.pyi",start:14292434,end:14294913,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/characteristic/__init__.pyi",start:14294913,end:14296220,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/backports/__init__.pyi",start:14296220,end:14296220,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/backports/ssl_match_hostname.pyi",start:14296220,end:14296301,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_compat.pyi",start:14296301,end:14296741,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_native.pyi",start:14296741,end:14296996,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_speedups.pyi",start:14296996,end:14297251,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/__init__.pyi",start:14297251,end:14300076,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_constants.pyi",start:14300076,end:14300143,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/pct_warnings.pyi",start:14300143,end:14300555,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/__init__.pyi",start:14300555,end:14300664,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Signature/PKCS1_v1_5.pyi",start:14300664,end:14300844,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Signature/__init__.pyi",start:14300844,end:14300912,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Signature/PKCS1_PSS.pyi",start:14300912,end:14301198,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/SHA512.pyi",start:14301198,end:14301528,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/MD5.pyi",start:14301528,end:14301855,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/SHA224.pyi",start:14301855,end:14302185,audio:0},{
-filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/MD2.pyi",start:14302185,end:14302512,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/RIPEMD.pyi",start:14302512,end:14302845,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/SHA.pyi",start:14302845,end:14303173,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/SHA256.pyi",start:14303173,end:14303503,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/MD4.pyi",start:14303503,end:14303830,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/SHA384.pyi",start:14303830,end:14304160,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/__init__.pyi",start:14304160,end:14304295,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/hashalgo.pyi",start:14304295,end:14304623,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Hash/HMAC.pyi",start:14304623,end:14305043,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/Blowfish.pyi",start:14305043,end:14305450,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/PKCS1_OAEP.pyi",start:14305450,end:14305954,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/DES.pyi",start:14305954,end:14306351,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/PKCS1_v1_5.pyi",start:14306351,end:14306765,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/ARC4.pyi",start:14306765,end:14307133,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/blockalgo.pyi",start:14307133,end:14307550,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/ARC2.pyi",start:14307550,end:14307947,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/__init__.pyi",start:14307947,end:14308089,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/CAST.pyi",start:14308089,end:14308494,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/AES.pyi",start:14308494,end:14308891,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/DES3.pyi",start:14308891,end:14309291,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Cipher/XOR.pyi",start:14309291,end:14309703,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Util/Counter.pyi",start:14309703,end:14309919,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Util/randpool.pyi",start:14309919,end:14310452,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Util/RFC1751.pyi",start:14310452,end:14310578,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Util/__init__.pyi",start:14310578,end:14310673,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Util/strxor.pyi",start:14310673,end:14310741,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Util/asn1.pyi",start:14310741,end:14312153,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Util/number.pyi",start:14312153,end:14312954,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Protocol/KDF.pyi",start:14312954,end:14313225,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Protocol/Chaffing.pyi",start:14313225,end:14313369,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Protocol/__init__.pyi",start:14313369,end:14313446,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Protocol/AllOrNothing.pyi",start:14313446,end:14313708,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/PublicKey/DSA.pyi",start:14313708,end:14314449,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/PublicKey/pubkey.pyi",start:14314449,end:14315060,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/PublicKey/ElGamal.pyi",start:14315060,end:14315591,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/PublicKey/RSA.pyi",start:14315591,end:14316683,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/PublicKey/__init__.pyi",start:14316683,end:14316750,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/__init__.pyi",start:14316750,end:14316780,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/random.pyi",start:14316780,end:14317215,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/Fortuna/FortunaGenerator.pyi",start:14317215,end:14317572,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/Fortuna/__init__.pyi",start:14317572,end:14317572,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/Fortuna/FortunaAccumulator.pyi",start:14317572,end:14318142,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/Fortuna/SHAd256.pyi",start:14318142,end:14318456,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/OSRNG/rng_base.pyi",start:14318456,end:14318715,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/OSRNG/fallback.pyi",start:14318715,end:14318831,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/OSRNG/__init__.pyi",start:14318831,end:14318849,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/Crypto/Random/OSRNG/posix.pyi",start:14318849,end:14319023,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_compat.pyi",start:14319023,end:14320162,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/datastructures.pyi",start:14320162,end:14334324,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/posixemulation.pyi",start:14334324,end:14334522,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/test.pyi",start:14334522,end:14338070,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/utils.pyi",start:14338070,end:14340012,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/routing.pyi",start:14340012,end:14346561,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/serving.pyi",start:14346561,end:14350267,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/formparser.pyi",start:14350267,end:14352355,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_internal.pyi",start:14352355,end:14352953,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/exceptions.pyi",start:14352953,end:14357123,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/useragents.pyi",start:14357123,end:14357434,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/__init__.pyi",start:14357434,end:14362973,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/script.pyi",start:14362973,end:14363732,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/security.pyi",start:14363732,end:14364256,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/testapp.pyi",start:14364256,end:14364481,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/filesystem.pyi",start:14364481,end:14364650,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/local.pyi",start:14364650,end:14366965,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/wrappers.pyi",start:14366965,end:14375704,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_reloader.pyi",start:14375704,end:14376530,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/wsgi.pyi",start:14376530,end:14380151,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/urls.pyi",start:14380151,end:14383052,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/http.pyi",start:14383052,end:14388416,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/repr.pyi",start:14388416,end:14389262,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/tbtools.pyi",start:14389262,end:14390949,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/__init__.pyi",start:14390949,end:14392279,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/console.pyi",start:14392279,end:14393486,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/lint.pyi",start:14393486,end:14394622,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/sessions.pyi",start:14394622,end:14396532,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/jsrouting.pyi",start:14396532,end:14396857,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/atom.pyi",start:14396857,end:14397993,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/profiler.pyi",start:14397993,end:14398548,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/__init__.pyi",start:14398548,end:14398548,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/iterio.pyi",start:14398548,end:14399750,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/securecookie.pyi",start:14399750,end:14400896,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/wrappers.pyi",start:14400896,end:14401499,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/limiter.pyi",start:14401499,end:14401691,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/testtools.pyi",start:14401691,end:14401902,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/fixers.pyi",start:14401902,end:14403267,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/cache.pyi",start:14403267,end:14406588,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/__init__.pyi",start:14406588,end:14406588,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor.pyi",start:14406588,end:14412927,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_arena_pb2.pyi",start:14412927,end:14414031,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/test_messages_proto3_pb2.pyi",start:14414031,end:14438378,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/source_context_pb2.pyi",start:14438378,end:14438710,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_no_arena_pb2.pyi",start:14438710,end:14450197,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_mset_wire_format_pb2.pyi",start:14450197,end:14450779,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/message.pyi",start:14450779,end:14452684,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/map_unittest_pb2.pyi",start:14452684,end:14478220,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/symbol_database.pyi",start:14478220,end:14478868,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/type_pb2.pyi",start:14478868,end:14484301,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/api_pb2.pyi",start:14484301,end:14486567,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/struct_pb2.pyi",start:14486567,end:14488947,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/map_proto2_unittest_pb2.pyi",start:14488947,end:14500854,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/any_test_pb2.pyi",start:14500854,end:14501579,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/message_factory.pyi",start:14501579,end:14502094,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_no_generic_services_pb2.pyi",start:14502094,end:14502784,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/reflection.pyi",start:14502784,end:14503014,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/service.pyi",start:14503014,end:14504385,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/json_format.pyi",start:14504385,end:14505301,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/test_messages_proto2_pb2.pyi",start:14505301,end:14526292,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_import_pb2.pyi",start:14526292,end:14527498,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_custom_options_pb2.pyi",start:14527498,end:14538702,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/empty_pb2.pyi",start:14538702,end:14538901,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/timestamp_pb2.pyi",start:14538901,end:14539352,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/__init__.pyi",start:14539352,end:14539371,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/duration_pb2.pyi",start:14539371,end:14539819,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_pb2.pyi",start:14539819,end:14594384,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_no_arena_import_pb2.pyi",start:14594384,end:14594714,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pb2.pyi",start:14594714,end:14617186,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_proto3_arena_pb2.pyi",start:14617186,end:14630028,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/any_pb2.pyi",start:14630028,end:14630480,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_mset_pb2.pyi",start:14630480,end:14632196,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/field_mask_pb2.pyi",start:14632196,end:14632735,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pool.pyi",start:14632735,end:14633479,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/unittest_import_public_pb2.pyi",start:14633479,end:14633795,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/wrappers_pb2.pyi",start:14633795,end:14635861,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/plugin_pb2.pyi",start:14635861,end:14638069,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/__init__.pyi",start:14638069,end:14638069,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/util/__init__.pyi",start:14638069,end:14638069,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/util/json_format_proto3_pb2.pyi",start:14638069,end:14656452,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/encoder.pyi",start:14656452,end:14657497,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/enum_type_wrapper.pyi",start:14657497,end:14657855,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/wire_format.pyi",start:14657855,end:14659409,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/well_known_types.pyi",start:14659409,end:14663091,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/__init__.pyi",start:14663091,end:14663091,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/message_listener.pyi",start:14663091,end:14663239,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/containers.pyi",start:14663239,end:14665741,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/decoder.pyi",start:14665741,end:14666601,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/atomicwrites/__init__.pyi",start:14666601,end:14667351,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/cli.pyi",start:14667351,end:14669693,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/ctx.pyi",start:14669693,end:14671256,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/templating.pyi",start:14671256,end:14672035,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/sessions.pyi",start:14672035,end:14674150,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/config.pyi",start:14674150,end:14675138,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/signals.pyi",start:14675138,end:14675974,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/logging.pyi",start:14675974,end:14676271,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/helpers.pyi",start:14676271,end:14678377,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/__init__.pyi",start:14678377,end:14680594,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/blueprints.pyi",start:14680594,end:14684019,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/views.pyi",start:14684019,end:14684694,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/globals.pyi",start:14684694,end:14685132,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/app.pyi",start:14685132,end:14692961,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/wrappers.pyi",start:14692961,end:14694214,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/debughelpers.pyi",start:14694214,end:14694941,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/testing.pyi",start:14694941,end:14696239,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/json/__init__.pyi",start:14696239,end:14696846,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/json/tag.pyi",start:14696846,end:14698883,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/core.pyi",start:14698883,end:14710365,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/utils.pyi",start:14710365,end:14712284,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/termui.pyi",start:14712284,end:14715640,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/formatting.pyi",start:14715640,end:14717255,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/exceptions.pyi",start:14717255,end:14719317,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/__init__.pyi",start:14719317,end:14722133,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/globals.pyi",start:14722133,end:14722429,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/decorators.pyi",start:14722429,end:14731551,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/_termui_impl.pyi",start:14731551,end:14732027,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/parser.pyi",start:14732027,end:14734145,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/testing.pyi",start:14734145,end:14736041,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/click/types.pyi",start:14736041,end:14741476,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/relativedelta.pyi",start:14741476,end:14744804,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/utils.pyi",start:14744804,end:14745086,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/rrule.pyi",start:14745086,end:14748426,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/__init__.pyi",start:14748426,end:14748426,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/_common.pyi",start:14748426,end:14748743,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/parser.pyi",start:14748743,end:14750484,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/tz.pyi",start:14750484,end:14754413,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/__init__.pyi",start:14754413,end:14754753,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/_common.pyi",start:14754753,end:14755571,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/constructor.pyi",start:14755571,end:14758308,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/serializer.pyi",start:14758308,end:14758973,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/cyaml.pyi",start:14758973,end:14761273,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/events.pyi",start:14761273,end:14762935,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/loader.pyi",start:14762935,end:14763560,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/resolver.pyi",start:14763560,end:14764345,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/representer.pyi",start:14764345,end:14766349,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/tokens.pyi",start:14766349,end:14768141,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/emitter.pyi",start:14768141,end:14771928,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/dumper.pyi",start:14771928,end:14773026,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/__init__.pyi",start:14773026,end:14778310,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/composer.pyi",start:14778310,end:14778905,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/nodes.pyi",start:14778905,end:14779590,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/reader.pyi",start:14779590,end:14780421,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/parser.pyi",start:14780421,end:14782084,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/error.pyi",start:14782084,end:14782619,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/scanner.pyi",start:14782619,end:14786191,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/utils.pyi",start:14786191,end:14786477,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/callbacks.pyi",start:14786477,end:14786683,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/sanitizer.pyi",start:14786683,end:14787837,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/linkifier.pyi",start:14787837,end:14788815,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/__init__.pyi",start:14788815,end:14789692,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/throttle.pyi",start:14789692,end:14790164,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/attributes.pyi",start:14790164,end:14794330,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/constants.pyi",start:14794330,end:14797368,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/exceptions.pyi",start:14797368,end:14798255,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/__init__.pyi",start:14798255,end:14798272,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/models.pyi",start:14798272,end:14803569,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/settings.pyi",start:14803569,end:14803714,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/indexes.pyi",start:14803714,end:14804696,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/types.pyi",start:14804696,end:14804753,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/table.pyi",start:14804753,end:14807870,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/base.pyi",start:14807870,end:14813538,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/__init__.pyi",start:14813538,end:14813673,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/util.pyi",start:14813673,end:14813740,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pytz/__init__.pyi",start:14813740,end:14815550,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/encoder.pyi",start:14815550,end:14815818,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/__init__.pyi",start:14815818,end:14816357,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/decoder.pyi",start:14816357,end:14816591,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/scanner.pyi",start:14816591,end:14816853,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/times.pyi",
-start:14816853,end:14817023,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/charset.pyi",start:14817023,end:14817350,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/converters.pyi",start:14817350,end:14818680,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/connections.pyi",start:14818680,end:14823531,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/__init__.pyi",start:14823531,end:14825161,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/err.pyi",start:14825161,end:14825686,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/util.pyi",start:14825686,end:14825752,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/cursors.pyi",start:14825752,end:14827533,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/CLIENT.pyi",start:14827533,end:14827841,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/SERVER_STATUS.pyi",start:14827841,end:14828172,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FIELD_TYPE.pyi",start:14828172,end:14828526,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/COMMAND.pyi",start:14828526,end:14828933,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/__init__.pyi",start:14828933,end:14828933,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/ER.pyi",start:14828933,end:14840213,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FLAG.pyi",start:14840213,end:14840439,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/status_codes.pyi",start:14840439,end:14840509,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/api.pyi",start:14840509,end:14842011,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/compat.pyi",start:14842011,end:14842134,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/utils.pyi",start:14842134,end:14843775,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/structures.pyi",start:14843775,end:14844691,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/auth.pyi",start:14844691,end:14845914,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/sessions.pyi",start:14845914,end:14850820,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/cookies.pyi",start:14850820,end:14852894,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/exceptions.pyi",start:14852894,end:14853897,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/__init__.pyi",start:14853897,end:14854837,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/models.pyi",start:14854837,end:14859540,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/adapters.pyi",start:14859540,end:14862663,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/hooks.pyi",start:14862663,end:14862819,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/__init__.pyi",start:14862819,end:14862977,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/poolmanager.pyi",start:14862977,end:14864285,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/_collections.pyi",start:14864285,end:14865654,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connection.pyi",start:14865654,end:14867710,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/filepost.pyi",start:14867710,end:14868037,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/fields.pyi",start:14868037,end:14868561,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/request.pyi",start:14868561,end:14869081,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/exceptions.pyi",start:14869081,end:14870494,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/__init__.pyi",start:14870494,end:14871408,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/response.pyi",start:14871408,end:14873105,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connectionpool.pyi",start:14873105,end:14876039,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/__init__.pyi",start:14876039,end:14876039,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyi",start:14876039,end:14876120,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyi",start:14876120,end:14876208,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/connection.pyi",start:14876208,end:14876396,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/request.pyi",start:14876396,end:14876616,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/retry.pyi",start:14876616,end:14877713,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/url.pyi",start:14877713,end:14878204,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/__init__.pyi",start:14878204,end:14878896,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/response.pyi",start:14878896,end:14878923,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/ssl_.pyi",start:14878923,end:14879594,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/timeout.pyi",start:14879594,end:14880092,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/contrib/__init__.pyi",start:14880092,end:14880092,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/defaults.pyi",start:14880092,end:14880607,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/_compat.pyi",start:14880607,end:14881251,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/runtime.pyi",start:14881251,end:14884700,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/optimizer.pyi",start:14884700,end:14885360,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/utils.pyi",start:14885360,end:14887387,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/tests.pyi",start:14887387,end:14887948,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/visitor.pyi",start:14887948,end:14888254,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/ext.pyi",start:14888254,end:14889875,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/bccache.pyi",start:14889875,end:14891271,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/constants.pyi",start:14891271,end:14891294,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/environment.pyi",start:14891294,end:14898883,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/filters.pyi",start:14898883,end:14901336,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/exceptions.pyi",start:14901336,end:14902386,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/meta.pyi",start:14902386,end:14902724,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/compiler.pyi",start:14902724,end:14909086,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/_stringdefs.pyi",start:14909086,end:14909446,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/lexer.pyi",start:14909446,end:14912188,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/sandbox.pyi",start:14912188,end:14913333,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/__init__.pyi",start:14913333,end:14914704,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/nodes.pyi",start:14914704,end:14919862,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/parser.pyi",start:14919862,end:14922377,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/debug.pyi",start:14922377,end:14923395,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/loaders.pyi",start:14923395,end:14926053,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/validators.pyi",start:14926053,end:14926950,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/filters.pyi",start:14926950,end:14927164,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/exceptions.pyi",start:14927164,end:14927421,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/converters.pyi",start:14927421,end:14927772,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/__init__.pyi",start:14927772,end:14935541,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/dataclasses.pyi",start:14935541,end:14937922,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/orjson.pyi",start:14937922,end:14938317,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils/examples.pyi",start:14938317,end:14938392,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils/__init__.pyi",start:14938392,end:14938450,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils/nodes.pyi",start:14938450,end:14938711,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/__init__.pyi",start:14938711,end:14938769,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/roles.pyi",start:14938769,end:14939219,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/states.pyi",start:14939219,end:14939351,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/__init__.pyi",start:14939351,end:14939409,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/nodes.pyi",start:14939409,end:14939467,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/jwt/algorithms.pyi",start:14939467,end:14942409,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/jwt/__init__.pyi",start:14942409,end:14944026,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/__init__.pyi",start:14944026,end:14944026,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/pycrypto.pyi",start:14944026,end:14944261,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/__init__.pyi",start:14944261,end:14944299,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/py_ecdsa.pyi",start:14944299,end:14944533,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/ast27.pyi",start:14944533,end:14951518,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/ast3.pyi",start:14951518,end:14959532,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/conversions.pyi",start:14959532,end:14959616,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/__init__.pyi",start:14959616,end:14959740,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/__init__.pyi",start:14959740,end:14963275,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/_dummy_thread.pyi",start:14963275,end:14963303,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter.pyi",start:14963303,end:14963325,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_parse.pyi",start:14963325,end:14963352,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/cPickle.pyi",start:14963352,end:14963373,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_nonmultipart.pyi",start:14963373,end:14963411,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_tkfiledialog.pyi",start:14963411,end:14963444,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/configparser.pyi",start:14963444,end:14963471,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/queue.pyi",start:14963471,end:14963491,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_dialog.pyi",start:14963491,end:14963520,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_cookiejar.pyi",start:14963520,end:14963549,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_robotparser.pyi",start:14963549,end:14963582,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/_thread.pyi",start:14963582,end:14963604,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_request.pyi",start:14963604,end:14963634,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/socketserver.pyi",start:14963634,end:14963661,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_commondialog.pyi",start:14963661,end:14963696,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_constants.pyi",start:14963696,end:14963728,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/CGIHTTPServer.pyi",start:14963728,end:14963754,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_filedialog.pyi",start:14963754,end:14963787,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/builtins.pyi",start:14963787,end:14963810,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/reprlib.pyi",start:14963810,end:14963832,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_response.pyi",start:14963832,end:14963863,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_ttk.pyi",start:14963863,end:14963889,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_base.pyi",start:14963889,end:14963919,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_text.pyi",start:14963919,end:14963949,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/SimpleHTTPServer.pyi",start:14963949,end:14963975,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_multipart.pyi",start:14963975,end:14964010,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/__init__.pyi",start:14964010,end:14966312,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_error.pyi",start:14966312,end:14966339,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/html_parser.pyi",start:14966339,end:14966365,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_client.pyi",start:14966365,end:14966391,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/html_entities.pyi",start:14966391,end:14966419,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/BaseHTTPServer.pyi",start:14966419,end:14966445,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_cookies.pyi",start:14966445,end:14966472,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/robotparser.pyi",start:14966472,end:14966538,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/request.pyi",start:14966538,end:14968894,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/parse.pyi",start:14968894,end:14970204,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/__init__.pyi",start:14970204,end:14970421,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/response.pyi",start:14970421,end:14970810,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/error.pyi",start:14970810,end:14970974,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/pkg_resources/__init__.pyi",start:14970974,end:14982598,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3/pkg_resources/py31compat.pyi",start:14982598,end:14982978,audio:0},{filename:"/lib/python3.7/site-packages/jedi/third_party/typeshed/third_party/3.5/contextvars.pyi",start:14982978,end:14984108,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/__init__.py",start:14984108,end:15004189,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/syntax_tree.py",start:15004189,end:15033492,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/filters.py",start:15033492,end:15047314,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/analysis.py",start:15047314,end:15055549,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/star_args.py",start:15055549,end:15062840,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/cache.py",start:15062840,end:15066900,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/utils.py",start:15066900,end:15070462,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/base_context.py",start:15070462,end:15084954,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/dynamic.py",start:15084954,end:15093610,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/recursion.py",start:15093610,end:15098513,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/lazy_context.py",start:15098513,end:15100181,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/imports.py",start:15100181,end:15121089,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/parser_cache.py",start:15121089,end:15121261,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/docstrings.py",start:15121261,end:15132194,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/arguments.py",start:15132194,end:15146298,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/sys_path.py",start:15146298,end:15156183,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/usages.py",start:15156183,end:15158524,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/signature.py",start:15158524,end:15162106,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/names.py",start:15162106,end:15173995,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/param.py",start:15173995,end:15184216,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/finder.py",start:15184216,end:15196698,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/helpers.py",start:15196698,end:15204781,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/flow_analysis.py",start:15204781,end:15209090,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/gradual/__init__.py",start:15209090,end:15209090,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/gradual/conversion.py",start:15209090,end:15215913,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/gradual/utils.py",start:15215913,end:15217021,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/gradual/typing.py",start:15217021,end:15242087,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/gradual/typeshed.py",start:15242087,end:15252316,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/gradual/annotation.py",start:15252316,end:15266928,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/gradual/stub_context.py",start:15266928,end:15270679,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/compiled/__init__.py",start:15270679,end:15273047,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/compiled/mixed.py",start:15273047,end:15283862,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/compiled/getattr_static.py",start:15283862,end:15289620,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py",start:15289620,end:15305912,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/compiled/context.py",start:15305912,end:15324250,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/compiled/subprocess/__init__.py",start:15324250,end:15338411,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/compiled/subprocess/__main__.py",start:15338411,end:15340100,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/compiled/subprocess/functions.py",start:15340100,end:15342363,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/context/__init__.py",start:15342363,end:15342714,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/context/function.py",start:15342714,end:15359846,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/context/module.py",start:15359846,end:15369934,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/context/namespace.py",start:15369934,end:15371919,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/context/instance.py",start:15371919,end:15392057,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/context/decorator.py",start:15392057,end:15392512,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/context/klass.py",start:15392512,end:15406564,audio:0},{filename:"/lib/python3.7/site-packages/jedi/evaluate/context/iterable.py",start:15406564,end:15436655,audio:0}],remote_package_size:8362390,package_uuid:"f726249f-1132-41c8-9531-dc589aa9272f"})})();
\ No newline at end of file
+++ /dev/null
-
-var pyodide = (function() {
- var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
- return (
-function(pyodide) {
- pyodide = pyodide || {};
-
-var Module=typeof pyodide!=="undefined"?pyodide:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{var success=_emscripten_resize_heap(end);if(!success)return 0}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var LDSO={nextHandle:1,loadedLibs:{"-1":{refcount:Infinity,name:"__self__",module:Module,global:true}},loadedLibNames:{"__self__":-1}};function fetchBinary(url){return fetch(url,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load binary file at '"+url+"'"}return response["arrayBuffer"]()}).then(function(buffer){return new Uint8Array(buffer)})}function loadDynamicLibrary(lib,flags){flags=flags||{global:true,nodelete:true};var handle=LDSO.loadedLibNames[lib];var dso;if(handle){dso=LDSO.loadedLibs[handle];if(flags.global&&!dso.global){dso.global=true;if(dso.module!=="loading"){mergeLibSymbols(dso.module)}}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;return flags.loadAsync?Promise.resolve(handle):handle}handle=LDSO.nextHandle++;dso={refcount:flags.nodelete?Infinity:1,name:lib,module:"loading",global:flags.global};LDSO.loadedLibNames[lib]=handle;LDSO.loadedLibs[handle]=dso;function loadLibData(){if(flags.fs){var libData=flags.fs.readFile(lib,{encoding:"binary"});if(!(libData instanceof Uint8Array)){libData=new Uint8Array(lib_data)}return flags.loadAsync?Promise.resolve(libData):libData}if(flags.loadAsync){return fetchBinary(lib)}return Module["readBinary"](lib)}function createLibModule(libData){return loadWebAssemblyModule(libData,flags)}function getLibModule(){if(Module["preloadedWasm"]!==undefined&&Module["preloadedWasm"][lib]!==undefined){var libModule=Module["preloadedWasm"][lib];return flags.loadAsync?Promise.resolve(libModule):libModule}if(flags.loadAsync){return loadLibData(lib).then(function(libData){return createLibModule(libData)})}return createLibModule(loadLibData(lib))}function mergeLibSymbols(libModule){for(var sym in libModule){if(!libModule.hasOwnProperty(sym)){continue}if(sym[0]!=="_"){continue}if(!Module.hasOwnProperty(sym)){Module[sym]=libModule[sym]}}}function moduleLoaded(libModule){if(dso.global){mergeLibSymbols(libModule)}dso.module=libModule}if(flags.loadAsync){return getLibModule().then(function(libModule){moduleLoaded(libModule);return handle})}moduleLoaded(getLibModule());return handle}function loadWebAssemblyModule(binary,flags){var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);assert(int32View[0]==1836278016,"need to see wasm magic number");assert(binary[8]===0,"need the dylink section to be first");var next=9;function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[next++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}var sectionSize=getLEB();assert(binary[next]===6);next++;assert(binary[next]==="d".charCodeAt(0));next++;assert(binary[next]==="y".charCodeAt(0));next++;assert(binary[next]==="l".charCodeAt(0));next++;assert(binary[next]==="i".charCodeAt(0));next++;assert(binary[next]==="n".charCodeAt(0));next++;assert(binary[next]==="k".charCodeAt(0));next++;var memorySize=getLEB();var memoryAlign=getLEB();var tableSize=getLEB();var tableAlign=getLEB();var neededDynlibsCount=getLEB();var neededDynlibs=[];for(var i=0;i<neededDynlibsCount;++i){var nameLen=getLEB();var nameUTF8=binary.subarray(next,next+nameLen);next+=nameLen;var name=UTF8ArrayToString(nameUTF8,0);neededDynlibs.push(name)}function loadModule(){memoryAlign=Math.pow(2,memoryAlign);tableAlign=Math.pow(2,tableAlign);memoryAlign=Math.max(memoryAlign,STACK_ALIGN);var memoryBase=alignMemory(getMemory(memorySize+memoryAlign),memoryAlign);for(var i=memoryBase;i<memoryBase+memorySize;++i)HEAP8[i]=0;var env=asmLibraryArg;var table=wasmTable;var tableBase=table.length;var originalTable=table;table.grow(tableSize);assert(table===originalTable);for(var i=memoryBase;i<memoryBase+memorySize;i++){HEAP8[i]=0}for(var i=tableBase;i<tableBase+tableSize;i++){table.set(i,null)}for(var x in Module){if(!(x in env)){env[x]=Module[x]}}var proxyHandler={"get":function(obj,prop){switch(prop){case"__memory_base":case"gb":return memoryBase;case"__table_base":case"fb":return tableBase}if(prop in obj){return obj[prop]}if(prop.startsWith("g$")){var name=prop.substr(2);return env[prop]=function(){return Module[name]}}if(prop.startsWith("invoke_")){var dynCallName="dynCall_"+prop.slice(7);return env[prop]=function(){var sp=stackSave();try{var args=Array.prototype.slice.call(arguments);return Module[dynCallName].apply(null,args)}catch(e){stackRestore(sp);if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}}return env[prop]=function(){return Module[prop].apply(null,arguments)}}};var info={global:{"NaN":NaN,Infinity:Infinity},"global.Math":Math,env:new Proxy(env,proxyHandler),"asm2wasm":asm2wasmImports};function postInstantiation(instance){var exports={};for(var e in instance.exports){var value=instance.exports[e];if(typeof value==="object"){value=value.value}if(typeof value==="number"){if(e.substr(0,3)=="fp$"&&typeof instance.exports[e.substr(3)]==="function"){value=value+tableBase}else{value=value+memoryBase}}if(e.startsWith("dynCall_")){if(!Module.hasOwnProperty(e)){Module[e]=value}}exports[e]=value}var init=exports["__post_instantiate"];if(init){if(runtimeInitialized){init()}else{__ATINIT__.push(init)}}return exports}if(flags.loadAsync){return WebAssembly.instantiate(binary,info).then(function(result){return postInstantiation(result.instance)})}else{var instance=new WebAssembly.Instance(new WebAssembly.Module(binary),info);return postInstantiation(instance)}}if(flags.loadAsync){return Promise.all(neededDynlibs.map(function(dynNeeded){return loadDynamicLibrary(dynNeeded,flags)})).then(function(){return loadModule()})}neededDynlibs.forEach(function(dynNeeded){loadDynamicLibrary(dynNeeded,flags)});return loadModule()}Module["loadWebAssemblyModule"]=loadWebAssemblyModule;function registerFunctions(sigs,newModule){sigs.forEach(function(sig){if(!Module["FUNCTION_TABLE_"+sig]){Module["FUNCTION_TABLE_"+sig]=[]}});var oldMaxx=alignFunctionTables();var newMaxx=alignFunctionTables(newModule);var maxx=oldMaxx+newMaxx;sigs.forEach(function(sig){var newTable=newModule["FUNCTION_TABLE_"+sig];var oldTable=Module["FUNCTION_TABLE_"+sig];assert(newTable!==oldTable);assert(oldTable.length===oldMaxx);for(var i=0;i<newTable.length;i++){oldTable.push(newTable[i])}assert(oldTable.length===maxx)});assert(maxx===alignFunctionTables())}Module["registerFunctions"]=registerFunctions;function convertJsFunctionToWasm(func,sig){var typeSection=[1,0,1,96];var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={"i":127,"j":126,"f":125,"d":124};typeSection.push(sigParam.length);for(var i=0;i<sigParam.length;++i){typeSection.push(typeCodes[sigParam[i]])}if(sigRet=="v"){typeSection.push(0)}else{typeSection=typeSection.concat([1,typeCodes[sigRet]])}typeSection[1]=typeSection.length-2;var bytes=new Uint8Array([0,97,115,109,1,0,0,0].concat(typeSection,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0]));var module=new WebAssembly.Module(bytes);var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports.f;return wrappedFunc}function addFunctionWasm(func,sig){var table=wasmTable;var ret=table.length;try{table.grow(1)}catch(err){if(!err instanceof RangeError){throw err}throw"Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."}try{table.set(ret,func)}catch(err){if(!err instanceof TypeError){throw err}assert(typeof sig!=="undefined","Missing signature argument to addFunction");var wrapped=convertJsFunctionToWasm(func,sig);table.set(ret,wrapped)}return ret}function removeFunctionWasm(index){}function addFunction(func,sig){return addFunctionWasm(func,sig)}function removeFunction(index){removeFunctionWasm(index)}var funcWrappers={};function getFuncWrapper(func,sig){if(!func)return;assert(sig);if(!funcWrappers[sig]){funcWrappers[sig]={}}var sigCache=funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var Runtime={};var GLOBAL_BASE=1024;GLOBAL_BASE=alignMemory(GLOBAL_BASE,16);if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function cwrap(ident,returnType,argTypes,opts){argTypes=argTypes||[];var numericArgs=argTypes.every(function(type){return type==="number"});var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_DYNAMIC=2;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}function Pointer_stringify(ptr,length){abort("this function has been removed - you should use UTF8ToString(ptr, maxBytesToRead) instead!")}function AsciiToString(ptr){var str="";while(1){var ch=HEAPU8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str="";while(!(idx>=endIdx)){var u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeStringToMemory(string,buffer,dontAddNull){warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=1024,STACK_BASE=3014976,STACKTOP=STACK_BASE,STACK_MAX=8257856,DYNAMIC_BASE=8257856,DYNAMICTOP_PTR=3014720;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||1073741824;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{if(typeof WebAssembly==="object"&&typeof WebAssembly.Memory==="function"){wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE});buffer=wasmMemory.buffer}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnExit(cb){}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};Module["preloadedWasm"]={};addOnPreRun(function(){function loadDynamicLibraries(libs){if(libs){libs.forEach(function(lib){loadDynamicLibrary(lib,{global:true,nodelete:true})})}}if(Module["dynamicLibraries"]&&Module["dynamicLibraries"].length>0&&!Module["readBinary"]){addRunDependency("preload_dynamicLibraries");Promise.all(Module["dynamicLibraries"].map(function(lib){return loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true})})).then(function(){removeRunDependency("preload_dynamicLibraries")});return}loadDynamicLibraries(Module["dynamicLibraries"])});var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="pyodide.asm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":16384,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var ASM_CONSTS=[function(){delete Module.PyProxies[ptrobj]}];function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function ___js2python(id){var value=Module.hiwire_get_value(id);var type=typeof value;if(type==="string"){var max_code_point=0;var length=value.length;for(var i=0;i<value.length;i++){code_point=value.codePointAt(i);max_code_point=Math.max(max_code_point,code_point);if(code_point>65535){i++;length--}}var result=__js2python_allocate_string(length,max_code_point);if(result==0){return 0}var ptr=__js2python_get_ptr(result);if(max_code_point>65535){ptr=ptr/4;for(var i=0,j=0;j<length;i++,j++){var code_point=value.codePointAt(i);Module.HEAPU32[ptr+j]=code_point;if(code_point>65535){i++}}}else if(max_code_point>255){ptr=ptr/2;for(var i=0;i<length;i++){Module.HEAPU16[ptr+i]=value.codePointAt(i)}}else{for(var i=0;i<length;i++){Module.HEAPU8[ptr+i]=value.codePointAt(i)}}return result}else if(type==="number"){return __js2python_number(value)}else if(value===undefined||value===null){return __js2python_none()}else if(value===true){return __js2python_true()}else if(value===false){return __js2python_false()}else if(Module.PyProxy.isPyProxy(value)){return __js2python_pyproxy(Module.PyProxy.getPtr(value))}else if(value["byteLength"]!==undefined){return __js2python_memoryview(id)}else{return __js2python_jsproxy(id)}}function _hiwire_array(){return Module.hiwire_new_value([])}function _hiwire_bytes(ptr,len){var bytes=new Uint8ClampedArray(Module.HEAPU8.buffer,ptr,len);return Module.hiwire_new_value(bytes)}function _hiwire_call(idfunc,idargs){var jsfunc=Module.hiwire_get_value(idfunc);var jsargs=Module.hiwire_get_value(idargs);return Module.hiwire_new_value(jsfunc.apply(jsfunc,jsargs))}function _hiwire_call_member(idobj,ptrname,idargs){var jsobj=Module.hiwire_get_value(idobj);var jsname=UTF8ToString(ptrname);var jsargs=Module.hiwire_get_value(idargs);return Module.hiwire_new_value(jsobj[jsname].apply(jsobj,jsargs))}function _hiwire_copy_to_ptr(idobj,ptr){var jsobj=Module.hiwire_get_value(idobj);var buffer=jsobj["buffer"]!==undefined?jsobj.buffer:jsobj;Module.HEAPU8.set(new Uint8Array(buffer),ptr)}function _hiwire_decref(idval){Module.hiwire_decref(idval)}function _hiwire_delete_member_obj(idobj,ididx){var jsobj=Module.hiwire_get_value(idobj);var jsidx=Module.hiwire_get_value(ididx);delete jsobj[jsidx]}function _hiwire_delete_member_string(idobj,ptrkey){var jsobj=Module.hiwire_get_value(idobj);var jskey=UTF8ToString(ptrkey);delete jsobj[jskey]}function _hiwire_dir(idobj){var jsobj=Module.hiwire_get_value(idobj);var result=[];do{result.push.apply(result,Object.getOwnPropertyNames(jsobj))}while(jsobj=Object.getPrototypeOf(jsobj));return Module.hiwire_new_value(result)}function _hiwire_double(val){return Module.hiwire_new_value(val)}function _hiwire_equal(ida,idb){return Module.hiwire_get_value(ida)==Module.hiwire_get_value(idb)?1:0}function _hiwire_float32array(ptr,len){var array=new Float32Array(Module.HEAPU8.buffer,ptr,len);return Module.hiwire_new_value(array)}function _hiwire_float64array(ptr,len){var array=new Float64Array(Module.HEAPU8.buffer,ptr,len);return Module.hiwire_new_value(array)}function _hiwire_get_bool(idobj){var val=Module.hiwire_get_value(idobj);return val&&(val.length===undefined||val.length)?1:0}function _hiwire_get_byteLength(idobj){var jsobj=Module.hiwire_get_value(idobj);return jsobj["byteLength"]}function _hiwire_get_byteOffset(idobj){var jsobj=Module.hiwire_get_value(idobj);return jsobj["byteOffset"]}function _hiwire_get_dtype(idobj){var jsobj=Module.hiwire_get_value(idobj);switch(jsobj.constructor.name){case"Int8Array":dtype=1;break;case"Uint8Array":dtype=2;break;case"Uint8ClampedArray":dtype=3;break;case"Int16Array":dtype=4;break;case"Uint16Array":dtype=5;break;case"Int32Array":dtype=6;break;case"Uint32Array":dtype=7;break;case"Float32Array":dtype=8;break;case"Float64Array":dtype=9;break;case"ArrayBuffer":dtype=3;break;default:dtype=3;break}return dtype}function _hiwire_get_global(idname){var jsname=UTF8ToString(idname);if(jsname in self){return Module.hiwire_new_value(self[jsname])}else{return-1}}function _hiwire_get_iterator(idobj){if(idobj===-2){return-1}var jsobj=Module.hiwire_get_value(idobj);if(typeof jsobj.next==="function"){return Module.hiwire_new_value(jsobj)}else if(typeof jsobj[Symbol.iterator]==="function"){return Module.hiwire_new_value(jsobj[Symbol.iterator]())}else{return Module.hiwire_new_value(Object.entries(jsobj)[Symbol.iterator]())}return-1}function _hiwire_get_length(idobj){return Module.hiwire_get_value(idobj).length}function _hiwire_get_member_int(idobj,idx){var jsobj=Module.hiwire_get_value(idobj);return Module.hiwire_new_value(jsobj[idx])}function _hiwire_get_member_obj(idobj,ididx){var jsobj=Module.hiwire_get_value(idobj);var jsidx=Module.hiwire_get_value(ididx);if(jsidx in jsobj){return Module.hiwire_new_value(jsobj[jsidx])}else{return-1}}function _hiwire_get_member_string(idobj,idkey){var jsobj=Module.hiwire_get_value(idobj);var jskey=UTF8ToString(idkey);if(jskey in jsobj){return Module.hiwire_new_value(jsobj[jskey])}else{return-1}}function _hiwire_greater_than(ida,idb){return Module.hiwire_get_value(ida)>Module.hiwire_get_value(idb)?1:0}function _hiwire_greater_than_equal(ida,idb){return Module.hiwire_get_value(ida)>=Module.hiwire_get_value(idb)?1:0}function _hiwire_incref(idval){if(idval<0){return}return Module.hiwire_new_value(Module.hiwire_get_value(idval))}function _hiwire_int(val){return Module.hiwire_new_value(val)}function _hiwire_int16array(ptr,len){var array=new Int16Array(Module.HEAPU8.buffer,ptr,len);return Module.hiwire_new_value(array)}function _hiwire_int32array(ptr,len){var array=new Int32Array(Module.HEAPU8.buffer,ptr,len);return Module.hiwire_new_value(array)}function _hiwire_int8array(ptr,len){var array=new Int8Array(Module.HEAPU8.buffer,ptr,len);return Module.hiwire_new_value(array)}function _hiwire_is_function(idobj){return typeof Module.hiwire_get_value(idobj)==="function"}function _hiwire_is_on_wasm_heap(idobj){var jsobj=Module.hiwire_get_value(idobj);return jsobj.buffer===Module.HEAPU8.buffer?1:0}function _hiwire_is_typedarray(idobj){var jsobj=Module.hiwire_get_value(idobj);return jsobj["byteLength"]!==undefined?1:0}function _hiwire_less_than(ida,idb){return Module.hiwire_get_value(ida)<Module.hiwire_get_value(idb)?1:0}function _hiwire_less_than_equal(ida,idb){return Module.hiwire_get_value(ida)<=Module.hiwire_get_value(idb)?1:0}function _hiwire_new(idobj,idargs){function newCall(Cls){return new(Function.prototype.bind.apply(Cls,arguments))}var jsobj=Module.hiwire_get_value(idobj);var jsargs=Module.hiwire_get_value(idargs);jsargs.unshift(jsobj);return Module.hiwire_new_value(newCall.apply(newCall,jsargs))}function _hiwire_next(idobj){if(idobj===-2){return-1}var jsobj=Module.hiwire_get_value(idobj);return Module.hiwire_new_value(jsobj.next())}function _hiwire_nonzero(idobj){var jsobj=Module.hiwire_get_value(idobj);return jsobj!=0?1:0}function _hiwire_not_equal(ida,idb){return Module.hiwire_get_value(ida)!=Module.hiwire_get_value(idb)?1:0}function _hiwire_object(){return Module.hiwire_new_value({})}function _hiwire_push_array(idarr,idval){Module.hiwire_get_value(idarr).push(Module.hiwire_get_value(idval))}function _hiwire_push_object_pair(idobj,idkey,idval){var jsobj=Module.hiwire_get_value(idobj);var jskey=Module.hiwire_get_value(idkey);var jsval=Module.hiwire_get_value(idval);jsobj[jskey]=jsval}function _hiwire_set_member_int(idobj,idx,idval){Module.hiwire_get_value(idobj)[idx]=Module.hiwire_get_value(idval)}function _hiwire_set_member_obj(idobj,ididx,idval){var jsobj=Module.hiwire_get_value(idobj);var jsidx=Module.hiwire_get_value(ididx);var jsval=Module.hiwire_get_value(idval);jsobj[jsidx]=jsval}function _hiwire_set_member_string(idobj,ptrkey,idval){var jsobj=Module.hiwire_get_value(idobj);var jskey=UTF8ToString(ptrkey);var jsval=Module.hiwire_get_value(idval);jsobj[jskey]=jsval}function _hiwire_setup(){var hiwire={objects:{},counter:1};hiwire.objects[-2]=undefined;hiwire.objects[-3]=true;hiwire.objects[-4]=false;hiwire.objects[-5]=null;Module.hiwire_new_value=function(jsval){var objects=hiwire.objects;while(hiwire.counter in objects){hiwire.counter=hiwire.counter+1&2147483647}var idval=hiwire.counter;objects[idval]=jsval;hiwire.counter=hiwire.counter+1&2147483647;return idval};Module.hiwire_get_value=function(idval){return hiwire.objects[idval]};Module.hiwire_decref=function(idval){if(idval<0){return}var objects=hiwire.objects;delete objects[idval]}}function _hiwire_string_ascii(ptr){return Module.hiwire_new_value(AsciiToString(ptr))}function _hiwire_string_ucs1(ptr,len){var jsstr="";var idx=ptr;for(var i=0;i<len;++i){jsstr+=String.fromCharCode(Module.HEAPU8[idx+i])}return Module.hiwire_new_value(jsstr)}function _hiwire_string_ucs2(ptr,len){var jsstr="";var idx=ptr/2;for(var i=0;i<len;++i){jsstr+=String.fromCharCode(Module.HEAPU16[idx+i])}return Module.hiwire_new_value(jsstr)}function _hiwire_string_ucs4(ptr,len){var jsstr="";var idx=ptr/4;for(var i=0;i<len;++i){jsstr+=String.fromCodePoint(Module.HEAPU32[idx+i])}return Module.hiwire_new_value(jsstr)}function _hiwire_string_utf8(ptr){return Module.hiwire_new_value(UTF8ToString(ptr))}function _hiwire_subarray(idarr,start,end){var jsarr=Module.hiwire_get_value(idarr);var jssub=jsarr.subarray(start,end);return Module.hiwire_new_value(jssub)}function _hiwire_throw_error(idmsg){var jsmsg=Module.hiwire_get_value(idmsg);Module.hiwire_decref(idmsg);throw new Error(jsmsg)}function _hiwire_to_string(idobj){return Module.hiwire_new_value(Module.hiwire_get_value(idobj).toString())}function _hiwire_typeof(idobj){return Module.hiwire_new_value(typeof Module.hiwire_get_value(idobj))}function _hiwire_uint16array(ptr,len){var array=new Uint16Array(Module.HEAPU8.buffer,ptr,len);return Module.hiwire_new_value(array)}function _hiwire_uint32array(ptr,len){var array=new Uint32Array(Module.HEAPU8.buffer,ptr,len);return Module.hiwire_new_value(array)}function _hiwire_uint8array(ptr,len){var array=new Uint8Array(Module.HEAPU8.buffer,ptr,len);return Module.hiwire_new_value(array)}function _pyimport_init(){Module.pyimport=function(name){var pyname=allocate(intArrayFromString(name),"i8",ALLOC_NORMAL);var idresult=Module.__pyimport(pyname);jsresult=Module.hiwire_get_value(idresult);Module.hiwire_decref(idresult);_free(pyname);return jsresult};return 0}function _pyproxy_init(){Module.PyProxies={};Module.PyProxy={getPtr:function(jsobj){var ptr=jsobj["$$"]["ptr"];if(ptr===null){throw new Error("Object has already been destroyed")}return ptr},isPyProxy:function(jsobj){return jsobj["$$"]!==undefined&&jsobj["$$"]["type"]==="PyProxy"},addExtraKeys:function(result){result.push("toString");result.push("prototype");result.push("arguments");result.push("caller")},isExtensible:function(){return true},has:function(jsobj,jskey){ptrobj=this.getPtr(jsobj);var idkey=Module.hiwire_new_value(jskey);var result=__pyproxy_has(ptrobj,idkey)!=0;Module.hiwire_decref(idkey);return result},get:function(jsobj,jskey){ptrobj=this.getPtr(jsobj);if(jskey==="toString"){return function(){if(self.pyodide.repr===undefined){self.pyodide.repr=self.pyodide.pyimport("repr")}return self.pyodide.repr(jsobj)}}else if(jskey==="$$"){return jsobj["$$"]}else if(jskey==="destroy"){return function(){__pyproxy_destroy(ptrobj);jsobj["$$"]["ptr"]=null}}else if(jskey=="apply"){return function(jsthis,jsargs){var idargs=Module.hiwire_new_value(jsargs);var idresult=__pyproxy_apply(ptrobj,idargs);var jsresult=Module.hiwire_get_value(idresult);Module.hiwire_decref(idresult);Module.hiwire_decref(idargs);return jsresult}}var idkey=Module.hiwire_new_value(jskey);var idresult=__pyproxy_get(ptrobj,idkey);var jsresult=Module.hiwire_get_value(idresult);Module.hiwire_decref(idkey);Module.hiwire_decref(idresult);return jsresult},set:function(jsobj,jskey,jsval){ptrobj=this.getPtr(jsobj);var idkey=Module.hiwire_new_value(jskey);var idval=Module.hiwire_new_value(jsval);var idresult=__pyproxy_set(ptrobj,idkey,idval);var jsresult=Module.hiwire_get_value(idresult);Module.hiwire_decref(idkey);Module.hiwire_decref(idval);Module.hiwire_decref(idresult);return jsresult},deleteProperty:function(jsobj,jskey){ptrobj=this.getPtr(jsobj);var idkey=Module.hiwire_new_value(jskey);var idresult=__pyproxy_deleteProperty(ptrobj,idkey);var jsresult=Module.hiwire_get_value(idresult);Module.hiwire_decref(idresult);Module.hiwire_decref(idkey);return jsresult},ownKeys:function(jsobj){ptrobj=this.getPtr(jsobj);var idresult=__pyproxy_ownKeys(ptrobj);var jsresult=Module.hiwire_get_value(idresult);Module.hiwire_decref(idresult);this.addExtraKeys(jsresult);return jsresult},enumerate:function(jsobj){ptrobj=this.getPtr(jsobj);var idresult=__pyproxy_enumerate(ptrobj);var jsresult=Module.hiwire_get_value(idresult);Module.hiwire_decref(idresult);this.addExtraKeys(jsresult);return jsresult},apply:function(jsobj,jsthis,jsargs){ptrobj=this.getPtr(jsobj);var idargs=Module.hiwire_new_value(jsargs);var idresult=__pyproxy_apply(ptrobj,idargs);var jsresult=Module.hiwire_get_value(idresult);Module.hiwire_decref(idresult);Module.hiwire_decref(idargs);return jsresult}};return 0}function _pyproxy_new(ptrobj){if(Module.PyProxies.hasOwnProperty(ptrobj)){return Module.hiwire_new_value(Module.PyProxies[ptrobj])}var target=function(){};target["$$"]={ptr:ptrobj,type:"PyProxy"};var proxy=new Proxy(target,Module.PyProxy);Module.PyProxies[ptrobj]=proxy;return Module.hiwire_new_value(proxy)}function _runpython_finalize_js(){Module.version=function(){Module.runPython("import pyodide");return Module.runPython("pyodide.__version__")};return 0}function _runpython_init_js(){Module._runPythonInternal=function(pycode){var idresult=Module.__runPython(pycode);var jsresult=Module.hiwire_get_value(idresult);Module.hiwire_decref(idresult);_free(pycode);return jsresult};Module.runPython=function(code){var pycode=allocate(intArrayFromString(code),"i8",ALLOC_NORMAL);return Module._runPythonInternal(pycode)};Module.runPythonAsync=function(code,messageCallback){var pycode=allocate(intArrayFromString(code),"i8",ALLOC_NORMAL);var idimports=Module.__findImports(pycode);var jsimports=Module.hiwire_get_value(idimports);Module.hiwire_decref(idimports);var internal=function(resolve,reject){try{resolve(Module._runPythonInternal(pycode))}catch(e){reject(e)}};if(jsimports.length){var packageNames=self.pyodide._module.packages.import_name_to_package_name;var packages={};for(var i=0;i<jsimports.length;++i){var name=jsimports[i];if(packageNames[name]!==undefined){packages[packageNames[name]]=undefined}}if(Object.keys(packages).length){var runInternal=function(){return new Promise(internal)};return Module.loadPackage(Object.keys(packages),messageCallback).then(runInternal)}}return new Promise(internal)}}__ATINIT__.push({func:function(){globalCtors()}});var tempDoublePtr=3014960;function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function __Atomics_load_f32_emulated(){return Module["__Atomics_load_f32_emulated"].apply(null,arguments)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}Module["___assert_fail"]=___assert_fail;var ENV={};Module["ENV"]=ENV;function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}Module["___buildEnvironment"]=___buildEnvironment;function _emscripten_get_now(){abort()}Module["_emscripten_get_now"]=_emscripten_get_now;function _emscripten_get_now_is_monotonic(){return 0||ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||typeof performance==="object"&&performance&&typeof performance["now"]==="function"}Module["_emscripten_get_now_is_monotonic"]=_emscripten_get_now_is_monotonic;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["___setErrNo"]=___setErrNo;function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(22);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}Module["_clock_gettime"]=_clock_gettime;function ___clock_gettime(a0,a1){return _clock_gettime(a0,a1)}Module["___clock_gettime"]=___clock_gettime;function ___cxa_allocate_exception(size){return _malloc(size)}Module["___cxa_allocate_exception"]=___cxa_allocate_exception;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}Module["___cxa_free_exception"]=___cxa_free_exception;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};Module["EXCEPTIONS"]=EXCEPTIONS;function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}Module["___cxa_begin_catch"]=___cxa_begin_catch;function ___cxa_current_primary_exception(){var ret=EXCEPTIONS.caught[EXCEPTIONS.caught.length-1]||0;if(ret)EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ret));return ret}Module["___cxa_current_primary_exception"]=___cxa_current_primary_exception;function ___cxa_decrement_exception_refcount(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr))}Module["___cxa_decrement_exception_refcount"]=___cxa_decrement_exception_refcount;function ___cxa_increment_exception_refcount(ptr){EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr))}Module["___cxa_increment_exception_refcount"]=___cxa_increment_exception_refcount;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}Module["___cxa_pure_virtual"]=___cxa_pure_virtual;function ___cxa_end_catch(){_setThrew(0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}Module["___cxa_end_catch"]=___cxa_end_catch;function ___cxa_rethrow(){var ptr=EXCEPTIONS.caught.pop();ptr=EXCEPTIONS.deAdjust(ptr);if(!EXCEPTIONS.infos[ptr].rethrown){EXCEPTIONS.caught.push(ptr);EXCEPTIONS.infos[ptr].rethrown=true}EXCEPTIONS.last=ptr;throw ptr}Module["___cxa_rethrow"]=___cxa_rethrow;function ___cxa_rethrow_primary_exception(ptr){if(!ptr)return;ptr=EXCEPTIONS.deAdjust(ptr);EXCEPTIONS.caught.push(ptr);EXCEPTIONS.infos[ptr].rethrown=true;___cxa_rethrow()}Module["___cxa_rethrow_primary_exception"]=___cxa_rethrow_primary_exception;function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}Module["___resumeException"]=___resumeException;function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}Module["___cxa_find_matching_catch"]=___cxa_find_matching_catch;function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}Module["___cxa_throw"]=___cxa_throw;function ___cxa_uncaught_exception(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}Module["___cxa_uncaught_exception"]=___cxa_uncaught_exception;function _llvm_cttz_i32(x){x=x|0;return(x?31-(Math_clz32(x^x-1)|0)|0:32)|0}Module["_llvm_cttz_i32"]=_llvm_cttz_i32;function ___gxx_personality_v0(){}Module["___gxx_personality_v0"]=___gxx_personality_v0;function ___libc_current_sigrtmax(){return 0}Module["___libc_current_sigrtmax"]=___libc_current_sigrtmax;function ___libc_current_sigrtmin(){return 0}Module["___libc_current_sigrtmin"]=___libc_current_sigrtmin;function ___lock(){}Module["___lock"]=___lock;function ___map_file(pathname,size){___setErrNo(1);return-1}Module["___map_file"]=___map_file;var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};Module["PATH"]=PATH;var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};Module["TTY"]=TTY;var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){canOwn=false;if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};Module["MEMFS"]=MEMFS;var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};Module["IDBFS"]=IDBFS;var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};Module["NODEFS"]=NODEFS;var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},unlink:function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},rmdir:function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},readlink:function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};Module["WORKERFS"]=WORKERFS;var _stdin=3014736;Module["_stdin"]=_stdin;var _stdout=3014752;Module["_stdout"]=_stdout;var _stderr=3014768;Module["_stderr"]=_stderr;var LZ4={DIR_MODE:16895,FILE_MODE:33279,CHUNK_SIZE:-1,init:function(){LZ4.CHUNK_SIZE=2048},loadPackage:function(pack){LZ4.init();var compressedData=pack["compressedData"];assert(compressedData.cachedIndexes.length===compressedData.cachedChunks.length);pack["metadata"].files.forEach(function(file){var dir=PATH.dirname(file.filename);var name=PATH.basename(file.filename);FS.createPath("",dir,true,true);var parent=FS.analyzePath(dir).object;LZ4.createNode(parent,name,LZ4.FILE_MODE,0,{compressedData:compressedData,start:file.start,end:file.end})});compressedData.buf=Module["_malloc"](LZ4.CHUNK_SIZE);for(var i=0;i<compressedData.cachedIndexes.length;i++){compressedData.cachedIndexes[i]=-1;compressedData.cachedChunks[i]=Module["_malloc"](LZ4.CHUNK_SIZE);assert(compressedData.cachedChunks[i]!==null)}},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=LZ4.node_ops;node.stream_ops=LZ4.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(LZ4.FILE_MODE!==LZ4.DIR_MODE);if(mode===LZ4.FILE_MODE){node.size=contents.end-contents.start;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},unlink:function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},rmdir:function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},readdir:function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},readlink:function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}},stream_ops:{read:function(stream,buffer,offset,length,position){length=Math.min(length,stream.node.size-position);if(length<=0)return 0;var contents=stream.node.contents;var compressedData=contents.compressedData;var written=0;while(written<length){var start=contents.start+position+written;var desired=length-written;var chunkIndex=Math.floor(start/LZ4.CHUNK_SIZE);var compressedStart=compressedData.offsets[chunkIndex];var compressedSize=compressedData.sizes[chunkIndex];var startInChunk=start%LZ4.CHUNK_SIZE;var endInChunk=Math.min(startInChunk+desired,LZ4.CHUNK_SIZE);var currChunk;if(compressedData.successes[chunkIndex]){var found=compressedData.cachedIndexes.indexOf(chunkIndex);if(found>=0){currChunk=compressedData.cachedChunks[found];buffer.set(Module.HEAPU8.subarray(currChunk+startInChunk,currChunk+endInChunk),offset+written)}else{compressedData.cachedIndexes.pop();compressedData.cachedIndexes.unshift(chunkIndex);currChunk=compressedData.cachedChunks.pop();compressedData.cachedChunks.unshift(currChunk);if(compressedData.debug){console.log("decompressing chunk "+chunkIndex);Module["decompressedChunks"]=(Module["decompressedChunks"]||0)+1}var compressed=compressedData.data.subarray(compressedStart,compressedStart+compressedSize);Module.HEAPU8.set(compressed,compressedData.buf);var originalSize=Module["_LZ4_decompress_safe"](compressedData.buf,currChunk,compressedSize,LZ4.CHUNK_SIZE);if(chunkIndex<compressedData.successes.length-1)assert(originalSize===LZ4.CHUNK_SIZE);buffer.set(Module.HEAPU8.subarray(currChunk+startInChunk,currChunk+endInChunk),offset+written)}}else{buffer.set(compressedData.data.subarray(compressedStart+startInChunk,compressedStart+endInChunk),offset+written)}var currWritten=endInChunk-startInChunk;written+=currWritten}return written},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};Module["LZ4"]=LZ4;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error";if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};Module["FS"]=FS;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};Module["ERRNO_CODES"]=ERRNO_CODES;var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};Module["SYSCALLS"]=SYSCALLS;function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall10"]=___syscall10;var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind:function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}},connect:function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)},listen:function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}});sock.server.on("closed",function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null});sock.server.on("error",function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])})},accept:function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname:function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}},sendmsg:function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data;data=buffer.slice(offset,offset+length);if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}},recvmsg:function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res}}};Module["SOCKFS"]=SOCKFS;function __inet_pton4_raw(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}Module["__inet_pton4_raw"]=__inet_pton4_raw;function __inet_pton6_raw(str){var words;var w,offset,z,i;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}Module["__inet_pton6_raw"]=__inet_pton6_raw;var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(name){var res=__inet_pton4_raw(name);if(res!==null){return name}res=__inet_pton6_raw(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};Module["DNS"]=DNS;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};Module["Sockets"]=Sockets;function __inet_ntop4_raw(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}Module["__inet_ntop4_raw"]=__inet_ntop4_raw;function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}Module["__inet_ntop6_raw"]=__inet_ntop6_raw;function __read_sockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:22}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:22}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:97}}return{family:family,addr:addr,port:port}}Module["__read_sockaddr"]=__read_sockaddr;function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:97}}return{}}Module["__write_sockaddr"]=__write_sockaddr;function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0}case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0}case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0}case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport)}return newsock.stream.fd}case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);return 0}case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);return 0}case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}}case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}case 14:{return-ERRNO_CODES.ENOPROTOOPT}case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT}case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)}case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i<num;i++){var iovbase=HEAP32[iov+(8*i+0)>>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall102"]=___syscall102;function ___syscall114(which,varargs){SYSCALLS.varargs=varargs;try{abort("cannot wait on child processes")}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall114"]=___syscall114;function ___syscall118(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall118"]=___syscall118;function ___syscall12(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall12"]=___syscall12;function ___syscall121(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.EPERM}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall121"]=___syscall121;function ___syscall122(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get();if(!buf)return-ERRNO_CODES.EFAULT;var layout={"__size__":390,"sysname":0,"nodename":65,"release":130,"version":195,"machine":260,"domainname":325};var copyString=function(element,value){var offset=layout[element];writeAsciiToMemory(value,buf+offset)};copyString("sysname","Emscripten");copyString("nodename","emscripten");copyString("release","1.0");copyString("version","#1");copyString("machine","x86-JS");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall122"]=___syscall122;function ___syscall125(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall125"]=___syscall125;var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};Module["PROCINFO"]=PROCINFO;function ___syscall132(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;return PROCINFO.pgid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall132"]=___syscall132;function ___syscall133(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.chdir(stream.path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall133"]=___syscall133;function ___syscall14(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get(),dev=SYSCALLS.get();return SYSCALLS.doMknod(path,mode,dev)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall14"]=___syscall14;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall140"]=___syscall140;function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall142"]=___syscall142;function ___syscall144(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;SYSCALLS.doMsync(addr,FS.getStream(info.fd),len,info.flags);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall144"]=___syscall144;function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall145"]=___syscall145;function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall146"]=___syscall146;function ___syscall147(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;return PROCINFO.sid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall147"]=___syscall147;function ___syscall148(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall148"]=___syscall148;function ___syscall15(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall15"]=___syscall15;function ___syscall153(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall153"]=___syscall153;function ___syscall150(a0,a1){return ___syscall153(a0,a1)}Module["___syscall150"]=___syscall150;function ___syscall151(a0,a1){return ___syscall153(a0,a1)}Module["___syscall151"]=___syscall151;function ___syscall152(a0,a1){return ___syscall153(a0,a1)}Module["___syscall152"]=___syscall152;function ___syscall163(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOMEM}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall163"]=___syscall163;function ___syscall168(which,varargs){SYSCALLS.varargs=varargs;try{var fds=SYSCALLS.get(),nfds=SYSCALLS.get(),timeout=SYSCALLS.get();var nonzero=0;for(var i=0;i<nfds;i++){var pollfd=fds+8*i;var fd=HEAP32[pollfd>>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall168"]=___syscall168;function ___syscall180(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get(),zero=SYSCALLS.getZero(),offset=SYSCALLS.get64();return FS.read(stream,HEAP8,buf,count,offset)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall180"]=___syscall180;function ___syscall181(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get(),zero=SYSCALLS.getZero(),offset=SYSCALLS.get64();return FS.write(stream,HEAP8,buf,count,offset)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall181"]=___syscall181;function ___syscall183(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get(),size=SYSCALLS.get();if(size===0)return-ERRNO_CODES.EINVAL;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size<cwdLengthInBytes+1)return-ERRNO_CODES.ERANGE;stringToUTF8(cwd,buf,size);return buf}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall183"]=___syscall183;function ___syscall191(which,varargs){SYSCALLS.varargs=varargs;try{var resource=SYSCALLS.get(),rlim=SYSCALLS.get();HEAP32[rlim>>2]=-1;HEAP32[rlim+4>>2]=-1;HEAP32[rlim+8>>2]=-1;HEAP32[rlim+12>>2]=-1;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall191"]=___syscall191;function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall192"]=___syscall192;function ___syscall193(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),zero=SYSCALLS.getZero(),length=SYSCALLS.get64();FS.truncate(path,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall193"]=___syscall193;function ___syscall194(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),zero=SYSCALLS.getZero(),length=SYSCALLS.get64();FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall194"]=___syscall194;function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall195"]=___syscall195;function ___syscall196(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall196"]=___syscall196;function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall197"]=___syscall197;function ___syscall198(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),owner=SYSCALLS.get(),group=SYSCALLS.get();FS.chown(path,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall198"]=___syscall198;function ___syscall202(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall202"]=___syscall202;function ___syscall199(a0,a1){return ___syscall202(a0,a1)}Module["___syscall199"]=___syscall199;function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall20"]=___syscall20;function ___syscall200(a0,a1){return ___syscall202(a0,a1)}Module["___syscall200"]=___syscall200;function ___syscall201(a0,a1){return ___syscall202(a0,a1)}Module["___syscall201"]=___syscall201;function ___syscall205(which,varargs){SYSCALLS.varargs=varargs;try{var size=SYSCALLS.get(),list=SYSCALLS.get();if(size<1)return-ERRNO_CODES.EINVAL;HEAP32[list>>2]=0;return 1}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall205"]=___syscall205;function ___syscall207(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),owner=SYSCALLS.get(),group=SYSCALLS.get();FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall207"]=___syscall207;function ___syscall211(which,varargs){SYSCALLS.varargs=varargs;try{var ruid=SYSCALLS.get(),euid=SYSCALLS.get(),suid=SYSCALLS.get();HEAP32[ruid>>2]=0;HEAP32[euid>>2]=0;HEAP32[suid>>2]=0;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall211"]=___syscall211;function ___syscall209(a0,a1){return ___syscall211(a0,a1)}Module["___syscall209"]=___syscall209;function ___syscall212(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),owner=SYSCALLS.get(),group=SYSCALLS.get();FS.chown(path,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall212"]=___syscall212;function ___syscall218(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall218"]=___syscall218;function ___syscall219(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall219"]=___syscall219;function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var pos=0;while(stream.getdents.length>0&&pos+268<=count){var id;var type;var name=stream.getdents.pop();if(name[0]==="."){id=1;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}HEAP32[dirp+pos>>2]=id;HEAP32[dirp+pos+4>>2]=stream.position;HEAP16[dirp+pos+8>>1]=268;HEAP8[dirp+pos+10>>0]=type;stringToUTF8(name,dirp+pos+11,256);pos+=268}return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall220"]=___syscall220;function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall221"]=___syscall221;function ___syscall268(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),size=SYSCALLS.get(),buf=SYSCALLS.get();HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall268"]=___syscall268;function ___syscall269(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),size=SYSCALLS.get(),buf=SYSCALLS.get();return ___syscall([268,0,size,buf],0)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall269"]=___syscall269;function ___syscall272(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall272"]=___syscall272;function ___syscall29(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.EINTR}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall29"]=___syscall29;function ___syscall295(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();path=SYSCALLS.calculateAt(dirfd,path);return FS.open(path,flags,mode).fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall295"]=___syscall295;function ___syscall296(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),mode=SYSCALLS.get();path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall296"]=___syscall296;function ___syscall297(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),mode=SYSCALLS.get(),dev=SYSCALLS.get();path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doMknod(path,mode,dev)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall297"]=___syscall297;function ___syscall298(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),owner=SYSCALLS.get(),group=SYSCALLS.get(),flags=SYSCALLS.get();path=SYSCALLS.calculateAt(dirfd,path);FS.chown(path,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall298"]=___syscall298;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall3"]=___syscall3;function ___syscall300(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),buf=SYSCALLS.get(),flags=SYSCALLS.get();var nofollow=flags&256;flags=flags&~256;path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall300"]=___syscall300;function ___syscall301(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),flags=SYSCALLS.get();path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall301"]=___syscall301;function ___syscall302(which,varargs){SYSCALLS.varargs=varargs;try{var olddirfd=SYSCALLS.get(),oldpath=SYSCALLS.getStr(),newdirfd=SYSCALLS.get(),newpath=SYSCALLS.getStr();oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall302"]=___syscall302;function ___syscall303(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.EMLINK}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall303"]=___syscall303;function ___syscall304(which,varargs){SYSCALLS.varargs=varargs;try{var target=SYSCALLS.get(),newdirfd=SYSCALLS.get(),linkpath=SYSCALLS.get();linkpath=SYSCALLS.calculateAt(newdirfd,linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall304"]=___syscall304;function ___syscall305(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),buf=SYSCALLS.get(),bufsize=SYSCALLS.get();path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall305"]=___syscall305;function ___syscall306(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),mode=SYSCALLS.get(),flags=SYSCALLS.get();path=SYSCALLS.calculateAt(dirfd,path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall306"]=___syscall306;function ___syscall308(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall308"]=___syscall308;function ___syscall320(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),times=SYSCALLS.get(),flags=SYSCALLS.get();path=SYSCALLS.calculateAt(dirfd,path);var seconds=HEAP32[times>>2];var nanoseconds=HEAP32[times+4>>2];var atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=8;seconds=HEAP32[times>>2];nanoseconds=HEAP32[times+4>>2];var mtime=seconds*1e3+nanoseconds/(1e3*1e3);FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall320"]=___syscall320;function ___syscall324(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),mode=SYSCALLS.get(),offset=SYSCALLS.get64(),len=SYSCALLS.get64();FS.allocate(stream,offset,len);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall324"]=___syscall324;function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall33"]=___syscall33;function ___syscall330(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get(),flags=SYSCALLS.get();if(old.fd===suggestFD)return-ERRNO_CODES.EINVAL;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall330"]=___syscall330;function ___syscall331(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall331"]=___syscall331;function ___syscall333(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get(),offset=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt,offset)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall333"]=___syscall333;function ___syscall334(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get(),offset=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt,offset)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall334"]=___syscall334;function ___syscall337(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall337"]=___syscall337;function ___syscall34(which,varargs){SYSCALLS.varargs=varargs;try{var inc=SYSCALLS.get();return-ERRNO_CODES.EPERM}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall34"]=___syscall34;function ___syscall340(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),resource=SYSCALLS.get(),new_limit=SYSCALLS.get(),old_limit=SYSCALLS.get();if(old_limit){HEAP32[old_limit>>2]=-1;HEAP32[old_limit+4>>2]=-1;HEAP32[old_limit+8>>2]=-1;HEAP32[old_limit+12>>2]=-1}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall340"]=___syscall340;function ___syscall345(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall345"]=___syscall345;function ___syscall36(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall36"]=___syscall36;function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall38"]=___syscall38;function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall39"]=___syscall39;function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall4"]=___syscall4;function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall40"]=___syscall40;function ___syscall41(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD();return FS.open(old.path,old.flags,0).fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall41"]=___syscall41;var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[]};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:FS.modeStringToFlags("r"),seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:FS.modeStringToFlags("w"),seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];if(bucket.offset-bucket.roffset>0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return ERRNO_CODES.EINVAL},read:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];currentLength+=bucket.offset-bucket.roffset}assert(buffer instanceof ArrayBuffer||ArrayBuffer.isView(buffer));var data=buffer.subarray(offset,offset+length);if(length<=0){return 0}if(currentLength==0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}var toRead=Math.min(currentLength,length);var totalRead=toRead;var toRemove=0;for(var i=0;i<pipe.buckets.length;i++){var currBucket=pipe.buckets[i];var bucketSize=currBucket.offset-currBucket.roffset;if(toRead<=bucketSize){var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);if(toRead<bucketSize){tmpSlice=tmpSlice.subarray(0,toRead);currBucket.roffset+=toRead}else{toRemove++}data.set(tmpSlice);break}else{var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);data.set(tmpSlice);data=data.subarray(tmpSlice.byteLength);toRead-=tmpSlice.byteLength;toRemove++}}if(toRemove&&toRemove==pipe.buckets.length){toRemove--;pipe.buckets[toRemove].offset=0;pipe.buckets[toRemove].roffset=0}pipe.buckets.splice(0,toRemove);return totalRead},write:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;assert(buffer instanceof ArrayBuffer||ArrayBuffer.isView(buffer));var data=buffer.subarray(offset,offset+length);var dataLen=data.byteLength;if(dataLen<=0){return 0}var currBucket=null;if(pipe.buckets.length==0){currBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0};pipe.buckets.push(currBucket)}else{currBucket=pipe.buckets[pipe.buckets.length-1]}assert(currBucket.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var freeBytesInCurrBuffer=PIPEFS.BUCKET_BUFFER_SIZE-currBucket.offset;if(freeBytesInCurrBuffer>=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i<numBuckets;i++){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE));data=data.subarray(PIPEFS.BUCKET_BUFFER_SIZE,data.byteLength)}if(remElements>0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close:function(stream){var pipe=stream.node.pipe;pipe.buckets=null}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};Module["PIPEFS"]=PIPEFS;function ___syscall42(which,varargs){SYSCALLS.varargs=varargs;try{var fdPtr=SYSCALLS.get();if(fdPtr==0){throw new FS.ErrnoError(ERRNO_CODES.EFAULT)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall42"]=___syscall42;function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall5"]=___syscall5;function ___syscall51(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall51"]=___syscall51;function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall54"]=___syscall54;function ___syscall57(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),pgid=SYSCALLS.get();if(pid&&pid!==PROCINFO.pid)return-ERRNO_CODES.ESRCH;if(pgid&&pgid!==PROCINFO.pgid)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall57"]=___syscall57;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall6"]=___syscall6;function ___syscall60(which,varargs){SYSCALLS.varargs=varargs;try{var mask=SYSCALLS.get();var old=SYSCALLS.umask;SYSCALLS.umask=mask;return old}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall60"]=___syscall60;function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall63"]=___syscall63;function ___syscall64(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.ppid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall64"]=___syscall64;function ___syscall66(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall66"]=___syscall66;function ___syscall75(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall75"]=___syscall75;function ___syscall77(which,varargs){SYSCALLS.varargs=varargs;try{var who=SYSCALLS.get(),usage=SYSCALLS.get();_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall77"]=___syscall77;function ___syscall83(which,varargs){SYSCALLS.varargs=varargs;try{var target=SYSCALLS.getStr(),linkpath=SYSCALLS.getStr();FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall83"]=___syscall83;function ___syscall85(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get(),bufsize=SYSCALLS.get();return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall85"]=___syscall85;function ___syscall9(which,varargs){SYSCALLS.varargs=varargs;try{var oldpath=SYSCALLS.get(),newpath=SYSCALLS.get();return-ERRNO_CODES.EMLINK}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall9"]=___syscall9;function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall91"]=___syscall91;function ___syscall94(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),mode=SYSCALLS.get();FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall94"]=___syscall94;function ___syscall96(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall96"]=___syscall96;function ___syscall97(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.EPERM}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall97"]=___syscall97;function ___unlock(){}Module["___unlock"]=___unlock;function ___wait(){}Module["___wait"]=___wait;function _exit(status){exit(status)}Module["_exit"]=_exit;function __exit(a0){return _exit(a0)}Module["__exit"]=__exit;function _abort(){Module["abort"]()}Module["_abort"]=_abort;var __sigalrm_handler=0;Module["__sigalrm_handler"]=__sigalrm_handler;function _alarm(seconds){setTimeout(function(){if(__sigalrm_handler)dynCall_vi(__sigalrm_handler,0)},seconds*1e3)}Module["_alarm"]=_alarm;function _chroot(path){___setErrNo(13);return-1}Module["_chroot"]=_chroot;function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}Module["_clock"]=_clock;function _emscripten_get_now_res(){if(ENVIRONMENT_IS_NODE){return 1}else if(typeof dateNow!=="undefined"){return 1e3}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){return 1e3}else{return 1e3*1e3}}Module["_emscripten_get_now_res"]=_emscripten_get_now_res;function _clock_getres(clk_id,res){var nsec;if(clk_id===0){nsec=1e3*1e3}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){nsec=_emscripten_get_now_res()}else{___setErrNo(22);return-1}HEAP32[res>>2]=nsec/1e9|0;HEAP32[res+4>>2]=nsec;return 0}Module["_clock_getres"]=_clock_getres;function _clock_settime(clk_id,tp){___setErrNo(clk_id===0?1:22);return-1}Module["_clock_settime"]=_clock_settime;function _confstr(name,buf,len){var value;switch(name){case 0:value=ENV["PATH"]||"/";break;case 1:value="POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG";break;case 2:value="glibc 2.14";break;case 3:value="";break;case 1118:case 1122:case 1124:case 1125:case 1126:case 1128:case 1129:case 1130:value="";break;case 1116:case 1117:case 1121:value="-m32";break;case 1120:value="-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64";break;default:___setErrNo(22);return 0}if(len==0||buf==0){return value.length+1}else{var length=Math.min(len,value.length);for(var i=0;i<length;i++){HEAP8[buf+i>>0]=value.charCodeAt(i)}if(len>length)HEAP8[buf+i++>>0]=0;return i}}Module["_confstr"]=_confstr;var DLFCN={error:null,errorMsg:null};Module["DLFCN"]=DLFCN;function _dlclose(handle){if(!LDSO.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}else{var lib_record=LDSO.loadedLibs[handle];if(--lib_record.refcount==0){if(lib_record.module.cleanups){lib_record.module.cleanups.forEach(function(cleanup){cleanup()})}delete LDSO.loadedLibNames[lib_record.name];delete LDSO.loadedLibs[handle]}return 0}}Module["_dlclose"]=_dlclose;function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}Module["stringToNewUTF8"]=stringToNewUTF8;function _dlerror(){if(DLFCN.errorMsg===null){return 0}else{if(DLFCN.error)_free(DLFCN.error);DLFCN.error=stringToNewUTF8(DLFCN.errorMsg);DLFCN.errorMsg=null;return DLFCN.error}}Module["_dlerror"]=_dlerror;function _dlopen(filenameAddr,flag){var searchpaths=[];var filename;if(filenameAddr===0){filename="__self__"}else{filename=UTF8ToString(filenameAddr);var isValidFile=function(filename){var target=FS.findObject(filename);return target&&!target.isFolder&&!target.isDevice};if(!isValidFile(filename)){if(ENV["LD_LIBRARY_PATH"]){searchpaths=ENV["LD_LIBRARY_PATH"].split(":")}for(var ident in searchpaths){var searchfile=PATH.join2(searchpaths[ident],filename);if(isValidFile(searchfile)){filename=searchfile;break}}}}var flags={global:Boolean(flag&256),nodelete:Boolean(flag&4096),fs:FS};try{handle=loadDynamicLibrary(filename,flags)}catch(e){DLFCN.errorMsg="Could not load dynamic lib: "+filename+"\n"+e;return 0}return handle}Module["_dlopen"]=_dlopen;function _dlsym(handle,symbol){symbol=UTF8ToString(symbol);if(!LDSO.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}var lib=LDSO.loadedLibs[handle];symbol="_"+symbol;if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}var result=lib.module[symbol];if(typeof result!=="function")return result;result=lib.module["fp$"+symbol];if(typeof result==="object"){result=result.value}return result}Module["_dlsym"]=_dlsym;var _emscripten_asm_const_int=true;Module["_emscripten_asm_const_int"]=_emscripten_asm_const_int;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}Module["_emscripten_set_main_loop_timing"]=_emscripten_set_main_loop_timing;function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}Module["_emscripten_set_main_loop"]=_emscripten_set_main_loop;var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}},runIter:function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()}},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}}catch(e){warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append(new Uint8Array(byteArray).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",function(){finish(audio)},false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var wasmPlugin={};wasmPlugin["asyncWasmLoadPromise"]=new Promise(function(resolve,reject){return resolve()});wasmPlugin["canHandle"]=function(name){return!Module.noWasmDecoding&&name.endsWith(".so")};wasmPlugin["handle"]=function(byteArray,name,onload,onerror){this["asyncWasmLoadPromise"]=this["asyncWasmLoadPromise"].then(function(){return loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true})}).then(function(module){Module["preloadedWasm"][name]=module;onload()},function(err){console.warn("Couldn't instantiate wasm: "+name+" '"+err+"'");onerror()})};Module["preloadPlugins"].push(wasmPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle}};Module["Browser"]=Browser;function _emscripten_exit_with_live_runtime(){Module["noExitRuntime"]=true;throw"SimulateInfiniteLoop"}Module["_emscripten_exit_with_live_runtime"]=_emscripten_exit_with_live_runtime;function _emscripten_get_heap_size(){return HEAP8.length}Module["_emscripten_get_heap_size"]=_emscripten_get_heap_size;function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}Module["_longjmp"]=_longjmp;function _emscripten_longjmp(env,value){_longjmp(env,value)}Module["_emscripten_longjmp"]=_emscripten_longjmp;function abortOnCannotGrowMemory(requestedSize){abort("OOM")}Module["abortOnCannotGrowMemory"]=abortOnCannotGrowMemory;function emscripten_realloc_buffer(size){var PAGE_MULTIPLE=65536;size=alignUp(size,PAGE_MULTIPLE);var oldSize=buffer.byteLength;try{var result=wasmMemory.grow((size-oldSize)/65536);if(result!==(-1|0)){return buffer=wasmMemory.buffer}else{return null}}catch(e){return null}}Module["emscripten_realloc_buffer"]=emscripten_realloc_buffer;function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize<requestedSize){if(newSize<=536870912){newSize=alignUp(2*newSize,PAGE_MULTIPLE)}else{newSize=Math.min(alignUp((3*newSize+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=emscripten_realloc_buffer(newSize);if(!replacement||replacement.byteLength!=newSize){return false}updateGlobalBufferViews();return true}Module["_emscripten_resize_heap"]=_emscripten_resize_heap;function _endpwent(){throw"endpwent: TODO"}Module["_endpwent"]=_endpwent;function _execl(){___setErrNo(8);return-1}Module["_execl"]=_execl;function _execv(){return _execl.apply(null,arguments)}Module["_execv"]=_execv;function _execve(){return _execl.apply(null,arguments)}Module["_execve"]=_execve;function _fexecve(){return _execl.apply(null,arguments)}Module["_fexecve"]=_fexecve;function _fork(){___setErrNo(11);return-1}Module["_fork"]=_fork;function _fpathconf(fildes,name){switch(name){case 0:return 32e3;case 1:case 2:case 3:return 255;case 4:case 5:case 16:case 17:case 18:return 4096;case 6:case 7:case 20:return 1;case 8:return 0;case 9:case 10:case 11:case 12:case 14:case 15:case 19:return-1;case 13:return 64}___setErrNo(22);return-1}Module["_fpathconf"]=_fpathconf;var GAI_ERRNO_MESSAGES={};Module["GAI_ERRNO_MESSAGES"]=GAI_ERRNO_MESSAGES;function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+-1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+-2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+-3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+-4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+-6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+-7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+-8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+-10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+-11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+-12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}Module["_gai_strerror"]=_gai_strerror;function _getaddrinfo(node,service,hint,out){var addrs=[];var canon=null;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai,last;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var res;salen=family===10?28:16;addr=family===10?__inet_ntop6_raw(addr):__inet_ntop4_raw(addr);sa=_malloc(salen);res=__write_sockaddr(sa,family,addr,port);assert(!res.errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=__inet_pton4_raw(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=__inet_pton6_raw(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=__inet_pton4_raw(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}Module["_getaddrinfo"]=_getaddrinfo;function _getenv(name){if(name===0)return 0;name=UTF8ToString(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}Module["_getenv"]=_getenv;function _gethostbyname(name){name=UTF8ToString(name);var ret=_malloc(20);var nameBuf=_malloc(name.length+1);stringToUTF8(name,nameBuf,name.length+1);HEAP32[ret>>2]=nameBuf;var aliasesBuf=_malloc(4);HEAP32[aliasesBuf>>2]=0;HEAP32[ret+4>>2]=aliasesBuf;var afinet=2;HEAP32[ret+8>>2]=afinet;HEAP32[ret+12>>2]=4;var addrListBuf=_malloc(12);HEAP32[addrListBuf>>2]=addrListBuf+8;HEAP32[addrListBuf+4>>2]=0;HEAP32[addrListBuf+8>>2]=__inet_pton4_raw(DNS.lookup_name(name));HEAP32[ret+16>>2]=addrListBuf;return ret}Module["_gethostbyname"]=_gethostbyname;function _gethostbyaddr(addr,addrlen,type){if(type!==2){___setErrNo(97);return null}addr=HEAP32[addr>>2];var host=__inet_ntop4_raw(addr);var lookup=DNS.lookup_addr(host);if(lookup){host=lookup}var hostp=allocate(intArrayFromString(host),"i8",ALLOC_STACK);return _gethostbyname(hostp)}Module["_gethostbyaddr"]=_gethostbyaddr;function _getitimer(){throw"getitimer() is not implemented yet"}Module["_getitimer"]=_getitimer;function _getloadavg(loadavg,nelem){var limit=Math.min(nelem,3);var doubleSize=8;for(var i=0;i<limit;i++){HEAPF64[loadavg+i*doubleSize>>3]=.1}return limit}Module["_getloadavg"]=_getloadavg;function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){var info=__read_sockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}Module["_getnameinfo"]=_getnameinfo;var Protocols={list:[],map:{}};Module["Protocols"]=Protocols;function _setprotoent(stayopen){function allocprotoent(name,proto,aliases){var nameBuf=_malloc(name.length+1);writeAsciiToMemory(name,nameBuf);var j=0;var length=aliases.length;var aliasListBuf=_malloc((length+1)*4);for(var i=0;i<length;i++,j+=4){var alias=aliases[i];var aliasBuf=_malloc(alias.length+1);writeAsciiToMemory(alias,aliasBuf);HEAP32[aliasListBuf+j>>2]=aliasBuf}HEAP32[aliasListBuf+j>>2]=0;var pe=_malloc(12);HEAP32[pe>>2]=nameBuf;HEAP32[pe+4>>2]=aliasListBuf;HEAP32[pe+8>>2]=proto;return pe}var list=Protocols.list;var map=Protocols.map;if(list.length===0){var entry=allocprotoent("tcp",6,["TCP"]);list.push(entry);map["tcp"]=map["6"]=entry;entry=allocprotoent("udp",17,["UDP"]);list.push(entry);map["udp"]=map["17"]=entry}_setprotoent.index=0}Module["_setprotoent"]=_setprotoent;function _getprotobyname(name){name=UTF8ToString(name);_setprotoent(true);var result=Protocols.map[name];return result}Module["_getprotobyname"]=_getprotobyname;function _getpwent(){throw"getpwent: TODO"}Module["_getpwent"]=_getpwent;function _getpwnam(){throw"getpwnam: TODO"}Module["_getpwnam"]=_getpwnam;function _getpwuid(uid){return 0}Module["_getpwuid"]=_getpwuid;function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_gettimeofday"]=_gettimeofday;var ___tm_current=3014816;Module["___tm_current"]=___tm_current;var ___tm_timezone=(stringToUTF8("GMT",3014864,4),3014864);Module["___tm_timezone"]=___tm_timezone;function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}Module["_gmtime_r"]=_gmtime_r;function _gmtime(time){return _gmtime_r(time,___tm_current)}Module["_gmtime"]=_gmtime;function _inet_addr(ptr){var addr=__inet_pton4_raw(UTF8ToString(ptr));if(addr===null){return-1}return addr}Module["_inet_addr"]=_inet_addr;function _kill(pid,sig){___setErrNo(ERRNO_CODES.EPERM);return-1}Module["_kill"]=_kill;function _killpg(){___setErrNo(ERRNO_CODES.EPERM);return-1}Module["_killpg"]=_killpg;function _llvm_copysign_f32(x,y){return y<0||y===0&&1/y<0?-Math_abs(x):Math_abs(x)}Module["_llvm_copysign_f32"]=_llvm_copysign_f32;function _llvm_copysign_f64(x,y){return y<0||y===0&&1/y<0?-Math_abs(x):Math_abs(x)}Module["_llvm_copysign_f64"]=_llvm_copysign_f64;function _llvm_log10_f32(x){return Math.log(x)/Math.LN10}Module["_llvm_log10_f32"]=_llvm_log10_f32;function _llvm_log10_f64(a0){return _llvm_log10_f32(a0)}Module["_llvm_log10_f64"]=_llvm_log10_f64;function _llvm_log2_f32(x){return Math.log(x)/Math.LN2}Module["_llvm_log2_f32"]=_llvm_log2_f32;function _llvm_log2_f64(a0){return _llvm_log2_f32(a0)}Module["_llvm_log2_f64"]=_llvm_log2_f64;function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}Module["_llvm_stackrestore"]=_llvm_stackrestore;function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}Module["_llvm_stacksave"]=_llvm_stacksave;function _llvm_trap(){abort("trap!")}Module["_llvm_trap"]=_llvm_trap;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}Module["_tzset"]=_tzset;function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}Module["_localtime_r"]=_localtime_r;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}Module["_emscripten_memcpy_big"]=_emscripten_memcpy_big;function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}Module["_mktime"]=_mktime;function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start<msec){}}else{var start=Date.now();while(Date.now()-start<msec){}}return 0}Module["_usleep"]=_usleep;function _nanosleep(rqtp,rmtp){var seconds=HEAP32[rqtp>>2];var nanoseconds=HEAP32[rqtp+4>>2];if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}Module["_nanosleep"]=_nanosleep;function _pathconf(){return _fpathconf.apply(null,arguments)}Module["_pathconf"]=_pathconf;function _pthread_attr_destroy(attr){return 0}Module["_pthread_attr_destroy"]=_pthread_attr_destroy;function _pthread_attr_init(attr){return 0}Module["_pthread_attr_init"]=_pthread_attr_init;function _pthread_attr_setstacksize(){}Module["_pthread_attr_setstacksize"]=_pthread_attr_setstacksize;function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}Module["_pthread_cleanup_pop"]=_pthread_cleanup_pop;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){dynCall_vi(routine,arg)});_pthread_cleanup_push.level=__ATEXIT__.length}Module["_pthread_cleanup_push"]=_pthread_cleanup_push;function _pthread_cond_destroy(){return 0}Module["_pthread_cond_destroy"]=_pthread_cond_destroy;function _pthread_cond_init(){return 0}Module["_pthread_cond_init"]=_pthread_cond_init;function _pthread_cond_signal(){return 0}Module["_pthread_cond_signal"]=_pthread_cond_signal;function _pthread_cond_timedwait(){return 0}Module["_pthread_cond_timedwait"]=_pthread_cond_timedwait;function _pthread_cond_wait(){return 0}Module["_pthread_cond_wait"]=_pthread_cond_wait;function _pthread_create(){return 11}Module["_pthread_create"]=_pthread_create;function _pthread_detach(){}Module["_pthread_detach"]=_pthread_detach;function _pthread_equal(x,y){return x==y}Module["_pthread_equal"]=_pthread_equal;function _pthread_exit(status){_exit(status)}Module["_pthread_exit"]=_pthread_exit;function _pthread_join(){}Module["_pthread_join"]=_pthread_join;function _pthread_mutexattr_destroy(){}Module["_pthread_mutexattr_destroy"]=_pthread_mutexattr_destroy;function _pthread_mutexattr_init(){}Module["_pthread_mutexattr_init"]=_pthread_mutexattr_init;function _pthread_mutexattr_settype(){}Module["_pthread_mutexattr_settype"]=_pthread_mutexattr_settype;function _pthread_setcancelstate(){return 0}Module["_pthread_setcancelstate"]=_pthread_setcancelstate;function _pthread_sigmask(){return 0}Module["_pthread_sigmask"]=_pthread_sigmask;function _putenv(string){if(string===0){___setErrNo(22);return-1}string=UTF8ToString(string);var splitPoint=string.indexOf("=");if(string===""||string.indexOf("=")===-1){___setErrNo(22);return-1}var name=string.slice(0,splitPoint);var value=string.slice(splitPoint+1);if(!(name in ENV)||ENV[name]!==value){ENV[name]=value;___buildEnvironment(__get_environ())}return 0}Module["_putenv"]=_putenv;function _raise(sig){___setErrNo(ERRNO_CODES.ENOSYS);return-1}Module["_raise"]=_raise;function _sched_yield(){return 0}Module["_sched_yield"]=_sched_yield;function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(22);return-1}var name=UTF8ToString(envname);var val=UTF8ToString(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(22);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(__get_environ());return 0}Module["_setenv"]=_setenv;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-65536;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(22);return-1}Module["_sysconf"]=_sysconf;function _setgroups(ngroups,gidset){if(ngroups<1||ngroups>_sysconf(3)){___setErrNo(22);return-1}else{___setErrNo(1);return-1}}Module["_setgroups"]=_setgroups;function _setitimer(){throw"setitimer() is not implemented yet"}Module["_setitimer"]=_setitimer;function _setpwent(){throw"setpwent: TODO"}Module["_setpwent"]=_setpwent;function _sigaddset(set,signum){HEAP32[set>>2]=HEAP32[set>>2]|1<<signum-1;return 0}Module["_sigaddset"]=_sigaddset;function _sigemptyset(set){HEAP32[set>>2]=0;return 0}Module["_sigemptyset"]=_sigemptyset;function _sigfillset(set){HEAP32[set>>2]=-1>>>0;return 0}Module["_sigfillset"]=_sigfillset;function _siginterrupt(){return 0}Module["_siginterrupt"]=_siginterrupt;function _sigismember(set,signum){return HEAP32[set>>2]&1<<signum-1}Module["_sigismember"]=_sigismember;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}Module["_signal"]=_signal;function _sigpending(set){HEAP32[set>>2]=0;return 0}Module["_sigpending"]=_sigpending;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}Module["__isLeapYear"]=__isLeapYear;function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}Module["__arraySum"]=__arraySum;var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];Module["__MONTH_DAYS_LEAP"]=__MONTH_DAYS_LEAP;var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];Module["__MONTH_DAYS_REGULAR"]=__MONTH_DAYS_REGULAR;function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}Module["__addDays"]=__addDays;function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},"%w":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()},"%W":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}Module["_strftime"]=_strftime;function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}Module["_strftime_l"]=_strftime_l;function _system(command){___setErrNo(11);return-1}Module["_system"]=_system;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}Module["_time"]=_time;function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}Module["_times"]=_times;function _unsetenv(name){if(name===0){___setErrNo(22);return-1}name=UTF8ToString(name);if(name===""||name.indexOf("=")!==-1){___setErrNo(22);return-1}if(ENV.hasOwnProperty(name)){delete ENV[name];___buildEnvironment(__get_environ())}return 0}Module["_unsetenv"]=_unsetenv;function _utime(path,times){var time;if(times){var offset=4;time=HEAP32[times+offset>>2];time*=1e3}else{time=Date.now()}path=UTF8ToString(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}Module["_utime"]=_utime;function _utimes(path,times){var time;if(times){var offset=8+0;time=HEAP32[times+offset>>2]*1e3;offset=8+4;time+=HEAP32[times+offset>>2]/1e3}else{time=Date.now()}path=UTF8ToString(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}Module["_utimes"]=_utimes;function _wait(stat_loc){___setErrNo(10);return-1}Module["_wait"]=_wait;function _wait3(){return _wait.apply(null,arguments)}Module["_wait3"]=_wait3;function _wait4(){return _wait.apply(null,arguments)}Module["_wait4"]=_wait4;function _waitid(){return _wait.apply(null,arguments)}Module["_waitid"]=_waitid;function _waitpid(){return _wait.apply(null,arguments)}Module["_waitpid"]=_waitpid;var __impure_ptr=3014784;Module["__impure_ptr"]=__impure_ptr;var ___dso_handle=3014800;Module["___dso_handle"]=___dso_handle;function _getTempRet0(){return getTempRet0()|0}Module["_getTempRet0"]=_getTempRet0;function _setTempRet0($i){setTempRet0($i|0)}Module["_setTempRet0"]=_setTempRet0;function _flock(fd,operation){return 0}Module["_flock"]=_flock;function _execle(){return _execl.apply(null,arguments)}Module["_execle"]=_execle;function _execlp(){return _execl.apply(null,arguments)}Module["_execlp"]=_execlp;function _execvp(){return _execl.apply(null,arguments)}Module["_execvp"]=_execvp;function ___execvpe(){return _execl.apply(null,arguments)}Module["___execvpe"]=___execvpe;function __Exit(a0){return _exit(a0)}Module["__Exit"]=__Exit;function _vfork(){return _fork.apply(null,arguments)}Module["_vfork"]=_vfork;function _posix_spawn(){return _fork.apply(null,arguments)}Module["_posix_spawn"]=_posix_spawn;function _posix_spawnp(){return _fork.apply(null,arguments)}Module["_posix_spawnp"]=_posix_spawnp;function _getpagesize(){return PAGE_SIZE}Module["_getpagesize"]=_getpagesize;var _abs=Math_abs;Module["_abs"]=_abs;function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}Module["_atexit"]=_atexit;function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["___cxa_atexit"]=___cxa_atexit;function ___cxa_thread_atexit(){return _atexit.apply(null,arguments)}Module["___cxa_thread_atexit"]=___cxa_thread_atexit;function ___cxa_thread_atexit_impl(){return _atexit.apply(null,arguments)}Module["___cxa_thread_atexit_impl"]=___cxa_thread_atexit_impl;function _clearenv(){ENV={};___buildEnvironment(__get_environ());return 0}Module["_clearenv"]=_clearenv;function _arc4random(){return _rand.apply(null,arguments)}Module["_arc4random"]=_arc4random;var _llvm_memcpy_i32=_memcpy;Module["_llvm_memcpy_i32"]=_llvm_memcpy_i32;var _llvm_memcpy_i64=_memcpy;Module["_llvm_memcpy_i64"]=_llvm_memcpy_i64;var _llvm_memcpy_p0i8_p0i8_i32=_memcpy;Module["_llvm_memcpy_p0i8_p0i8_i32"]=_llvm_memcpy_p0i8_p0i8_i32;var _llvm_memcpy_p0i8_p0i8_i64=_memcpy;Module["_llvm_memcpy_p0i8_p0i8_i64"]=_llvm_memcpy_p0i8_p0i8_i64;var _llvm_memmove_i32=_memmove;Module["_llvm_memmove_i32"]=_llvm_memmove_i32;var _llvm_memmove_i64=_memmove;Module["_llvm_memmove_i64"]=_llvm_memmove_i64;var _llvm_memmove_p0i8_p0i8_i32=_memmove;Module["_llvm_memmove_p0i8_p0i8_i32"]=_llvm_memmove_p0i8_p0i8_i32;var _llvm_memmove_p0i8_p0i8_i64=_memmove;Module["_llvm_memmove_p0i8_p0i8_i64"]=_llvm_memmove_p0i8_p0i8_i64;var _llvm_memset_i32=_memset;Module["_llvm_memset_i32"]=_llvm_memset_i32;var _llvm_memset_p0i8_i32=_memset;Module["_llvm_memset_p0i8_i32"]=_llvm_memset_p0i8_i32;var _llvm_memset_p0i8_i64=_memset;Module["_llvm_memset_p0i8_i64"]=_llvm_memset_p0i8_i64;function ___builtin_prefetch(){}Module["___builtin_prefetch"]=___builtin_prefetch;function _llvm_va_end(){}Module["_llvm_va_end"]=_llvm_va_end;function _llvm_va_copy(ppdest,ppsrc){HEAP8[ppdest>>0]=HEAP8[ppsrc>>0];HEAP8[ppdest+1>>0]=HEAP8[ppsrc+1>>0];HEAP8[ppdest+2>>0]=HEAP8[ppsrc+2>>0];HEAP8[ppdest+3>>0]=HEAP8[ppsrc+3>>0];HEAP8[ppdest+4>>0]=HEAP8[ppsrc+4>>0];HEAP8[ppdest+4+1>>0]=HEAP8[ppsrc+4+1>>0];HEAP8[ppdest+4+2>>0]=HEAP8[ppsrc+4+2>>0];HEAP8[ppdest+4+3>>0]=HEAP8[ppsrc+4+3>>0]}Module["_llvm_va_copy"]=_llvm_va_copy;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(setTempRet0(reth),retl)|0}Module["_llvm_bswap_i64"]=_llvm_bswap_i64;function _llvm_cttz_i64(l,h){var ret=_llvm_cttz_i32(l);if(ret==32)ret+=_llvm_cttz_i32(h);return(setTempRet0(0),ret)|0}Module["_llvm_cttz_i64"]=_llvm_cttz_i64;function _llvm_prefetch(){}Module["_llvm_prefetch"]=_llvm_prefetch;function ___assert_func(filename,line,func,condition){abort("Assertion failed: "+(condition?UTF8ToString(condition):"unknown condition")+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}Module["___assert_func"]=___assert_func;function _llvm_eh_exception(){return EXCEPTIONS.last}Module["_llvm_eh_exception"]=_llvm_eh_exception;var _llvm_eh_selector__jsargs=true;Module["_llvm_eh_selector__jsargs"]=_llvm_eh_selector__jsargs;function _llvm_eh_selector(unused_exception_value,personality){var type=EXCEPTIONS.last;for(var i=2;i<arguments.length;i++){if(arguments[i]==type)return type}return 0}Module["_llvm_eh_selector"]=_llvm_eh_selector;function _llvm_eh_typeid_for(type){return type}Module["_llvm_eh_typeid_for"]=_llvm_eh_typeid_for;function ___cxa_get_exception_ptr(ptr){return ptr}Module["___cxa_get_exception_ptr"]=___cxa_get_exception_ptr;function ___cxa_call_unexpected(exception){err("Unexpected exception thrown, this is not properly supported - aborting");ABORT=true;throw exception}Module["___cxa_call_unexpected"]=___cxa_call_unexpected;function _terminate(){return ___cxa_call_unexpected.apply(null,arguments)}Module["_terminate"]=_terminate;function ___gcc_personality_v0(){}Module["___gcc_personality_v0"]=___gcc_personality_v0;function _llvm_flt_rounds(){return-1}Module["_llvm_flt_rounds"]=_llvm_flt_rounds;function _llvm_objectsize_i32(){return-1}Module["_llvm_objectsize_i32"]=_llvm_objectsize_i32;function _llvm_mono_load_i8_p0i8(ptr){return HEAP8[ptr>>0]}Module["_llvm_mono_load_i8_p0i8"]=_llvm_mono_load_i8_p0i8;function _llvm_mono_store_i8_p0i8(value,ptr){HEAP8[ptr>>0]=value}Module["_llvm_mono_store_i8_p0i8"]=_llvm_mono_store_i8_p0i8;function _llvm_mono_load_i16_p0i16(ptr){return HEAP16[ptr>>1]}Module["_llvm_mono_load_i16_p0i16"]=_llvm_mono_load_i16_p0i16;function _llvm_mono_store_i16_p0i16(value,ptr){HEAP16[ptr>>1]=value}Module["_llvm_mono_store_i16_p0i16"]=_llvm_mono_store_i16_p0i16;function _llvm_mono_load_i32_p0i32(ptr){return HEAP32[ptr>>2]}Module["_llvm_mono_load_i32_p0i32"]=_llvm_mono_load_i32_p0i32;function _llvm_mono_store_i32_p0i32(value,ptr){HEAP32[ptr>>2]=value}Module["_llvm_mono_store_i32_p0i32"]=_llvm_mono_store_i32_p0i32;var _sqrt=Math_sqrt;Module["_sqrt"]=_sqrt;var _sqrtf=Math_sqrt;Module["_sqrtf"]=_sqrtf;var _sqrtl=Math_sqrt;Module["_sqrtl"]=_sqrtl;var _fabs=Math_abs;Module["_fabs"]=_fabs;var _fabsf=Math_abs;Module["_fabsf"]=_fabsf;var _fabsl=Math_abs;Module["_fabsl"]=_fabsl;var _llvm_fabs_f32=Math_abs;Module["_llvm_fabs_f32"]=_llvm_fabs_f32;var _llvm_fabs_f64=Math_abs;Module["_llvm_fabs_f64"]=_llvm_fabs_f64;var _ceil=Math_ceil;Module["_ceil"]=_ceil;var _ceilf=Math_ceil;Module["_ceilf"]=_ceilf;var _ceill=Math_ceil;Module["_ceill"]=_ceill;var _floor=Math_floor;Module["_floor"]=_floor;var _floorf=Math_floor;Module["_floorf"]=_floorf;var _floorl=Math_floor;Module["_floorl"]=_floorl;var _llvm_sqrt_f32=Math_sqrt;Module["_llvm_sqrt_f32"]=_llvm_sqrt_f32;var _llvm_sqrt_f64=Math_sqrt;Module["_llvm_sqrt_f64"]=_llvm_sqrt_f64;var _llvm_pow_f32=Math_pow;Module["_llvm_pow_f32"]=_llvm_pow_f32;var _llvm_pow_f64=Math_pow;Module["_llvm_pow_f64"]=_llvm_pow_f64;var _llvm_powi_f32=Math_pow;Module["_llvm_powi_f32"]=_llvm_powi_f32;var _llvm_powi_f64=Math_pow;Module["_llvm_powi_f64"]=_llvm_powi_f64;var _llvm_log_f32=Math_log;Module["_llvm_log_f32"]=_llvm_log_f32;var _llvm_log_f64=Math_log;Module["_llvm_log_f64"]=_llvm_log_f64;var _llvm_exp_f32=Math_exp;Module["_llvm_exp_f32"]=_llvm_exp_f32;var _llvm_exp_f64=Math_exp;Module["_llvm_exp_f64"]=_llvm_exp_f64;var _llvm_cos_f32=Math_cos;Module["_llvm_cos_f32"]=_llvm_cos_f32;var _llvm_cos_f64=Math_cos;Module["_llvm_cos_f64"]=_llvm_cos_f64;var _llvm_sin_f32=Math_sin;Module["_llvm_sin_f32"]=_llvm_sin_f32;var _llvm_sin_f64=Math_sin;Module["_llvm_sin_f64"]=_llvm_sin_f64;var _llvm_trunc_f32=Math_trunc;Module["_llvm_trunc_f32"]=_llvm_trunc_f32;var _llvm_trunc_f64=Math_trunc;Module["_llvm_trunc_f64"]=_llvm_trunc_f64;var _llvm_ceil_f32=Math_ceil;Module["_llvm_ceil_f32"]=_llvm_ceil_f32;var _llvm_ceil_f64=Math_ceil;Module["_llvm_ceil_f64"]=_llvm_ceil_f64;var _llvm_floor_f32=Math_floor;Module["_llvm_floor_f32"]=_llvm_floor_f32;var _llvm_floor_f64=Math_floor;Module["_llvm_floor_f64"]=_llvm_floor_f64;function _llvm_exp2_f32(x){return Math.pow(2,x)}Module["_llvm_exp2_f32"]=_llvm_exp2_f32;function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}Module["_llvm_exp2_f64"]=_llvm_exp2_f64;function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}Module["__reallyNegative"]=__reallyNegative;function _dladdr(addr,info){var fname=stringToNewUTF8(Module["thisProgram"]||"./this.program");HEAP32[info>>2]=fname;HEAP32[info+4>>2]=0;HEAP32[info+8>>2]=0;HEAP32[info+12>>2]=0;return 1}Module["_dladdr"]=_dladdr;function _difftime(time1,time0){return time1-time0}Module["_difftime"]=_difftime;var ___tm_formatted=3014880;Module["___tm_formatted"]=___tm_formatted;function _timelocal(){return _mktime.apply(null,arguments)}Module["_timelocal"]=_timelocal;function _timegm(tmPtr){_tzset();var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}Module["_timegm"]=_timegm;function _localtime(time){return _localtime_r(time,___tm_current)}Module["_localtime"]=_localtime;function _asctime_r(tmPtr,buf){var date={tm_sec:HEAP32[tmPtr>>2],tm_min:HEAP32[tmPtr+4>>2],tm_hour:HEAP32[tmPtr+8>>2],tm_mday:HEAP32[tmPtr+12>>2],tm_mon:HEAP32[tmPtr+16>>2],tm_year:HEAP32[tmPtr+20>>2],tm_wday:HEAP32[tmPtr+24>>2]};var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var s=days[date.tm_wday]+" "+months[date.tm_mon]+(date.tm_mday<10?" ":" ")+date.tm_mday+(date.tm_hour<10?" 0":" ")+date.tm_hour+(date.tm_min<10?":0":":")+date.tm_min+(date.tm_sec<10?":0":":")+date.tm_sec+" "+(1900+date.tm_year)+"\n";stringToUTF8(s,buf,26);return buf}Module["_asctime_r"]=_asctime_r;function _asctime(tmPtr){return _asctime_r(tmPtr,___tm_formatted)}Module["_asctime"]=_asctime;function _ctime_r(time,buf){var stack=stackSave();var rv=_asctime_r(_localtime_r(time,stackAlloc(44)),buf);stackRestore(stack);return rv}Module["_ctime_r"]=_ctime_r;function _ctime(timer){return _ctime_r(timer,___tm_current)}Module["_ctime"]=_ctime;function _dysize(year){var leap=year%4==0&&(year%100!=0||year%400==0);return leap?366:365}Module["_dysize"]=_dysize;function _stime(when){___setErrNo(1);return-1}Module["_stime"]=_stime;function _strptime(buf,format,tm){var pattern=UTF8ToString(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%a %b %d %H:%M:%S %Y","%D":"%m\\/%d\\/%y","%e":"%d","%F":"%Y-%m-%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=new RegExp("^"+pattern,"i").exec(UTF8ToString(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;var getMatch=function(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return};if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}Module["_strptime"]=_strptime;function _strptime_l(buf,format,tm){return _strptime(buf,format,tm)}Module["_strptime_l"]=_strptime_l;function _getdate(string){return 0}Module["_getdate"]=_getdate;function _timespec_get(ts,base){if(base!==1){___setErrNo(22);return 0}var ret=_clock_gettime(0,ts);return ret<0?0:base}Module["_timespec_get"]=_timespec_get;function _clock_getcpuclockid(pid,clk_id){if(pid<0)return 3;if(pid!==0&&pid!==PROCINFO.pid)return 38;if(clk_id)HEAP32[clk_id>>2]=2;return 0}Module["_clock_getcpuclockid"]=_clock_getcpuclockid;function _ftime(p){var millis=Date.now();HEAP32[p>>2]=millis/1e3|0;HEAP16[p+4>>1]=millis%1e3;HEAP16[p+6>>1]=0;HEAP16[p+8>>1]=0;return 0}Module["_ftime"]=_ftime;function _makedev(maj,min){return maj<<8|min}Module["_makedev"]=_makedev;function _gnu_dev_makedev(){return _makedev.apply(null,arguments)}Module["_gnu_dev_makedev"]=_gnu_dev_makedev;function _major(dev){return dev>>8}Module["_major"]=_major;function _gnu_dev_major(){return _major.apply(null,arguments)}Module["_gnu_dev_major"]=_gnu_dev_major;function _minor(dev){return dev&255}Module["_minor"]=_minor;function _gnu_dev_minor(){return _minor.apply(null,arguments)}Module["_gnu_dev_minor"]=_gnu_dev_minor;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};Module["ERRNO_MESSAGES"]=ERRNO_MESSAGES;var _in6addr_any=3014928;Module["_in6addr_any"]=_in6addr_any;var _in6addr_loopback=3014944;Module["_in6addr_loopback"]=_in6addr_loopback;function __inet_pton6(src,dst){var ints=__inet_pton6_raw(UTF8ToString(src));if(ints===null){return 0}for(var i=0;i<4;i++){HEAP32[dst+i*4>>2]=ints[i]}return 1}Module["__inet_pton6"]=__inet_pton6;function _gethostbyname_r(name,ret,buf,buflen,out,err){var data=_gethostbyname(name);_memcpy(ret,data,20);_free(data);HEAP32[err>>2]=0;HEAP32[out>>2]=ret;return 0}Module["_gethostbyname_r"]=_gethostbyname_r;function _endprotoent(){}Module["_endprotoent"]=_endprotoent;function _getprotoent(number){if(_setprotoent.index===Protocols.list.length){return 0}else{var result=Protocols.list[_setprotoent.index++];return result}}Module["_getprotoent"]=_getprotoent;function _getprotobynumber(number){_setprotoent(true);var result=Protocols.map[number];return result}Module["_getprotobynumber"]=_getprotobynumber;function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}Module["_emscripten_run_script"]=_emscripten_run_script;function _emscripten_run_script_int(ptr){return eval(UTF8ToString(ptr))|0}Module["_emscripten_run_script_int"]=_emscripten_run_script_int;function _emscripten_run_script_string(ptr){var s=eval(UTF8ToString(ptr))+"";var me=_emscripten_run_script_string;var len=lengthBytesUTF8(s);if(!me.bufferSize||me.bufferSize<len+1){if(me.bufferSize)_free(me.buffer);me.bufferSize=len+1;me.buffer=_malloc(me.bufferSize)}stringToUTF8(s,me.buffer,me.bufferSize);return me.buffer}Module["_emscripten_run_script_string"]=_emscripten_run_script_string;function _emscripten_random(){return Math.random()}Module["_emscripten_random"]=_emscripten_random;function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}Module["__emscripten_traverse_stack"]=__emscripten_traverse_stack;function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}Module["_emscripten_get_callstack_js"]=_emscripten_get_callstack_js;function _emscripten_get_callstack(flags,str,maxbytes){var callstack=_emscripten_get_callstack_js(flags);if(!str||maxbytes<=0){return lengthBytesUTF8(callstack)+1}var bytesWrittenExcludingNull=stringToUTF8(callstack,str,maxbytes);return bytesWrittenExcludingNull+1}Module["_emscripten_get_callstack"]=_emscripten_get_callstack;function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}Module["_emscripten_log_js"]=_emscripten_log_js;function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}Module["__formatString"]=__formatString;function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}Module["_emscripten_log"]=_emscripten_log;function _emscripten_get_compiler_setting(name){name=UTF8ToString(name);var ret=getCompilerSetting(name);if(typeof ret==="number")return ret;if(!_emscripten_get_compiler_setting.cache)_emscripten_get_compiler_setting.cache={};var cache=_emscripten_get_compiler_setting.cache;var fullname=name+"__str";var fullret=cache[fullname];if(fullret)return fullret;return cache[fullname]=allocate(intArrayFromString(ret+""),"i8",ALLOC_NORMAL)}Module["_emscripten_get_compiler_setting"]=_emscripten_get_compiler_setting;function _emscripten_debugger(){debugger}Module["_emscripten_debugger"]=_emscripten_debugger;function _emscripten_print_double(x,to,max){var str=x+"";if(to)return stringToUTF8(str,to,max);else return lengthBytesUTF8(str)}Module["_emscripten_print_double"]=_emscripten_print_double;function ___ubsan_handle_float_cast_overflow(id,post){abort("Undefined behavior! ubsan_handle_float_cast_overflow: "+[id,post])}Module["___ubsan_handle_float_cast_overflow"]=___ubsan_handle_float_cast_overflow;function ___ubsan_handle_pointer_overflow(id,post){abort("Undefined behavior! ubsan_handle_pointer_overflow: "+[id,post])}Module["___ubsan_handle_pointer_overflow"]=___ubsan_handle_pointer_overflow;function ___ubsan_handle_type_mismatch_v1(id,post){abort("Undefined behavior! ubsan_handle_type_mismatch_v1: "+[id,post])}Module["___ubsan_handle_type_mismatch_v1"]=___ubsan_handle_type_mismatch_v1;function ___ubsan_handle_add_overflow(id,post){abort("Undefined behavior! ubsan_handle_add_overflow: "+[id,post])}Module["___ubsan_handle_add_overflow"]=___ubsan_handle_add_overflow;function __Unwind_Backtrace(func,arg){var trace=_emscripten_get_callstack_js();var parts=trace.split("\n");for(var i=0;i<parts.length;i++){var ret=dynCall_iii(func,0,arg);if(ret!==0)return}}Module["__Unwind_Backtrace"]=__Unwind_Backtrace;function __Unwind_GetIPInfo(){abort("Unwind_GetIPInfo")}Module["__Unwind_GetIPInfo"]=__Unwind_GetIPInfo;function __Unwind_FindEnclosingFunction(){return 0}Module["__Unwind_FindEnclosingFunction"]=__Unwind_FindEnclosingFunction;function __Unwind_RaiseException(ex){err("Warning: _Unwind_RaiseException is not correctly implemented");return ___cxa_throw(ex,0,0)}Module["__Unwind_RaiseException"]=__Unwind_RaiseException;function __Unwind_DeleteException(ex){err("TODO: Unwind_DeleteException")}Module["__Unwind_DeleteException"]=__Unwind_DeleteException;function _emscripten_autodebug_i64(line,valuel,valueh){out("AD:"+[line,valuel,valueh])}Module["_emscripten_autodebug_i64"]=_emscripten_autodebug_i64;function _emscripten_autodebug_i32(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_i32"]=_emscripten_autodebug_i32;function _emscripten_autodebug_i16(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_i16"]=_emscripten_autodebug_i16;function _emscripten_autodebug_i8(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_i8"]=_emscripten_autodebug_i8;function _emscripten_autodebug_float(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_float"]=_emscripten_autodebug_float;function _emscripten_autodebug_double(line,value){out("AD:"+[line,value])}Module["_emscripten_autodebug_double"]=_emscripten_autodebug_double;var _emscripten_prep_setjmp=true;Module["_emscripten_prep_setjmp"]=_emscripten_prep_setjmp;var _emscripten_cleanup_setjmp=true;Module["_emscripten_cleanup_setjmp"]=_emscripten_cleanup_setjmp;var _emscripten_check_longjmp=true;Module["_emscripten_check_longjmp"]=_emscripten_check_longjmp;var _emscripten_get_longjmp_result=true;Module["_emscripten_get_longjmp_result"]=_emscripten_get_longjmp_result;var _emscripten_setjmp=true;Module["_emscripten_setjmp"]=_emscripten_setjmp;var _emscripten_preinvoke=true;Module["_emscripten_preinvoke"]=_emscripten_preinvoke;var _emscripten_postinvoke=true;Module["_emscripten_postinvoke"]=_emscripten_postinvoke;var _emscripten_resume=true;Module["_emscripten_resume"]=_emscripten_resume;var _emscripten_landingpad=true;Module["_emscripten_landingpad"]=_emscripten_landingpad;var _getHigh32=true;Module["_getHigh32"]=_getHigh32;var _setHigh32=true;Module["_setHigh32"]=_setHigh32;var _FtoILow=true;Module["_FtoILow"]=_FtoILow;var _FtoIHigh=true;Module["_FtoIHigh"]=_FtoIHigh;var _DtoILow=true;Module["_DtoILow"]=_DtoILow;var _DtoIHigh=true;Module["_DtoIHigh"]=_DtoIHigh;var _BDtoILow=true;Module["_BDtoILow"]=_BDtoILow;var _BDtoIHigh=true;Module["_BDtoIHigh"]=_BDtoIHigh;var _SItoF=true;Module["_SItoF"]=_SItoF;var _UItoF=true;Module["_UItoF"]=_UItoF;var _SItoD=true;Module["_SItoD"]=_SItoD;var _UItoD=true;Module["_UItoD"]=_UItoD;var _BItoD=true;Module["_BItoD"]=_BItoD;var _llvm_dbg_value=true;Module["_llvm_dbg_value"]=_llvm_dbg_value;var _llvm_debugtrap=true;Module["_llvm_debugtrap"]=_llvm_debugtrap;var _llvm_ctlz_i32=true;Module["_llvm_ctlz_i32"]=_llvm_ctlz_i32;var _emscripten_asm_const=true;Module["_emscripten_asm_const"]=_emscripten_asm_const;var _emscripten_asm_const_double=true;Module["_emscripten_asm_const_double"]=_emscripten_asm_const_double;var _emscripten_asm_const_int_sync_on_main_thread=true;Module["_emscripten_asm_const_int_sync_on_main_thread"]=_emscripten_asm_const_int_sync_on_main_thread;var _emscripten_asm_const_double_sync_on_main_thread=true;Module["_emscripten_asm_const_double_sync_on_main_thread"]=_emscripten_asm_const_double_sync_on_main_thread;var _emscripten_asm_const_async_on_main_thread=true;Module["_emscripten_asm_const_async_on_main_thread"]=_emscripten_asm_const_async_on_main_thread;function _sigdelset(set,signum){HEAP32[set>>2]=HEAP32[set>>2]&~(1<<signum-1);return 0}Module["_sigdelset"]=_sigdelset;function _sigaction(signum,act,oldact){return 0}Module["_sigaction"]=_sigaction;function _sigprocmask(){return 0}Module["_sigprocmask"]=_sigprocmask;function _siglongjmp(a0,a1){return _longjmp(a0,a1)}Module["_siglongjmp"]=_siglongjmp;function ___syscall1(which,varargs){SYSCALLS.varargs=varargs;try{var status=SYSCALLS.get();exit(status);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall1"]=___syscall1;function ___syscall65(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pgid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall65"]=___syscall65;function ___syscall104(which,varargs){SYSCALLS.varargs=varargs;try{return-ERRNO_CODES.ENOSYS}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall104"]=___syscall104;function ___syscall178(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall178"]=___syscall178;function ___syscall214(which,varargs){SYSCALLS.varargs=varargs;try{var uid=SYSCALLS.get();if(uid!==0)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall214"]=___syscall214;function ___syscall203(a0,a1){return ___syscall214(a0,a1)}Module["___syscall203"]=___syscall203;function ___syscall204(a0,a1){return ___syscall214(a0,a1)}Module["___syscall204"]=___syscall204;function ___syscall213(a0,a1){return ___syscall214(a0,a1)}Module["___syscall213"]=___syscall213;function ___syscall210(which,varargs){SYSCALLS.varargs=varargs;try{var ruid=SYSCALLS.get(),euid=SYSCALLS.get(),suid=SYSCALLS.get();if(euid!==0)return-ERRNO_CODES.EPERM;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall210"]=___syscall210;function ___syscall208(a0,a1){return ___syscall210(a0,a1)}Module["___syscall208"]=___syscall208;function ___syscall265(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall265"]=___syscall265;function ___syscall299(which,varargs){SYSCALLS.varargs=varargs;try{abort("futimesat is obsolete")}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall299"]=___syscall299;function ___syscall307(which,varargs){SYSCALLS.varargs=varargs;try{var dirfd=SYSCALLS.get(),path=SYSCALLS.getStr(),amode=SYSCALLS.get(),flags=SYSCALLS.get();path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___syscall307"]=___syscall307;var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence<y.precedence})},removeDeferredCalls:function(targetFunction){for(var i=0;i<JSEvents.deferredCalls.length;++i){if(JSEvents.deferredCalls[i].targetFunction==targetFunction){JSEvents.deferredCalls.splice(i,1);--i}}},canPerformEventHandlerRequests:function(){return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(!JSEvents.canPerformEventHandlerRequests()){return}for(var i=0;i<JSEvents.deferredCalls.length;++i){var call=JSEvents.deferredCalls[i];JSEvents.deferredCalls.splice(i,1);--i;call.targetFunction.apply(this,call.argsList)}},inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==target&&(!eventTypeString||eventTypeString==JSEvents.eventHandlers[i].eventTypeString)){JSEvents._removeHandler(i--)}}},_removeHandler:function(i){var h=JSEvents.eventHandlers[i];h.target.removeEventListener(h.eventTypeString,h.eventListenerFunc,h.useCapture);JSEvents.eventHandlers.splice(i,1)},registerOrRemoveHandler:function(eventHandler){var jsEventHandler=function jsEventHandler(event){++JSEvents.inEventHandler;JSEvents.currentEventHandler=eventHandler;JSEvents.runDeferredCalls();eventHandler.handlerFunc(event);JSEvents.runDeferredCalls();--JSEvents.inEventHandler};if(eventHandler.callbackfunc){eventHandler.eventListenerFunc=jsEventHandler;eventHandler.target.addEventListener(eventHandler.eventTypeString,jsEventHandler,eventHandler.useCapture);JSEvents.eventHandlers.push(eventHandler);JSEvents.registerRemoveEventListeners()}else{for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==eventHandler.target&&JSEvents.eventHandlers[i].eventTypeString==eventHandler.eventTypeString){JSEvents._removeHandler(i--)}}}},getBoundingClientRectOrZeros:function(target){return target.getBoundingClientRect?target.getBoundingClientRect():{left:0,top:0}},pageScrollPos:function(){if(window.pageXOffset>0||window.pageYOffset>0){return[window.pageXOffset,window.pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};Module["JSEvents"]=JSEvents;var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];Module["__specialEventTargets"]=__specialEventTargets;function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}Module["__findEventTarget"]=__findEventTarget;function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(event){var e=event||window.event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerKeyEventCallback"]=__registerKeyEventCallback;function __findCanvasEventTarget(target){if(typeof target==="number")target=UTF8ToString(target);if(!target||target==="#canvas"){if(typeof GL!=="undefined"&&GL.offscreenCanvases["canvas"])return GL.offscreenCanvases["canvas"];return Module["canvas"]}if(typeof GL!=="undefined"&&GL.offscreenCanvases[target])return GL.offscreenCanvases[target];return __findEventTarget(target)}Module["__findCanvasEventTarget"]=__findCanvasEventTarget;function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}Module["_emscripten_set_keypress_callback_on_thread"]=_emscripten_set_keypress_callback_on_thread;function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}Module["_emscripten_set_keydown_callback_on_thread"]=_emscripten_set_keydown_callback_on_thread;function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);return 0}Module["_emscripten_set_keyup_callback_on_thread"]=_emscripten_set_keyup_callback_on_thread;function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}Module["__fillMouseEventData"]=__fillMouseEventData;function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(event){var e=event||window.event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerMouseEventCallback"]=__registerMouseEventCallback;function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}Module["_emscripten_set_click_callback_on_thread"]=_emscripten_set_click_callback_on_thread;function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);return 0}Module["_emscripten_set_mousedown_callback_on_thread"]=_emscripten_set_mousedown_callback_on_thread;function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);return 0}Module["_emscripten_set_mouseup_callback_on_thread"]=_emscripten_set_mouseup_callback_on_thread;function _emscripten_set_dblclick_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,7,"dblclick",targetThread);return 0}Module["_emscripten_set_dblclick_callback_on_thread"]=_emscripten_set_dblclick_callback_on_thread;function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);return 0}Module["_emscripten_set_mousemove_callback_on_thread"]=_emscripten_set_mousemove_callback_on_thread;function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);return 0}Module["_emscripten_set_mouseenter_callback_on_thread"]=_emscripten_set_mouseenter_callback_on_thread;function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);return 0}Module["_emscripten_set_mouseleave_callback_on_thread"]=_emscripten_set_mouseleave_callback_on_thread;function _emscripten_set_mouseover_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,35,"mouseover",targetThread);return 0}Module["_emscripten_set_mouseover_callback_on_thread"]=_emscripten_set_mouseover_callback_on_thread;function _emscripten_set_mouseout_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,36,"mouseout",targetThread);return 0}Module["_emscripten_set_mouseout_callback_on_thread"]=_emscripten_set_mouseout_callback_on_thread;function _emscripten_get_mouse_status(mouseState){if(!JSEvents.mouseEvent)return-7;HEAP8.set(HEAP8.subarray(JSEvents.mouseEvent,JSEvents.mouseEvent+72),mouseState);return 0}Module["_emscripten_get_mouse_status"]=_emscripten_get_mouse_status;function __registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(event){var e=event||window.event;var wheelEvent=JSEvents.wheelEvent;__fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(dynCall_iiii(callbackfunc,eventTypeId,wheelEvent,userData))e.preventDefault()};var mouseWheelHandlerFunc=function(event){var e=event||window.event;__fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["wheelDeltaX"]||0;HEAPF64[JSEvents.wheelEvent+80>>3]=-(e["wheelDeltaY"]?e["wheelDeltaY"]:e["wheelDelta"]);HEAPF64[JSEvents.wheelEvent+88>>3]=0;HEAP32[JSEvents.wheelEvent+96>>2]=0;var shouldCancel=dynCall_iiii(callbackfunc,eventTypeId,JSEvents.wheelEvent,userData);if(shouldCancel){e.preventDefault()}};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:eventTypeString=="wheel"?wheelHandlerFunc:mouseWheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerWheelEventCallback"]=__registerWheelEventCallback;function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=__findEventTarget(target);if(typeof target.onwheel!=="undefined"){__registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread);return 0}else if(typeof target.onmousewheel!=="undefined"){__registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"mousewheel",targetThread);return 0}else{return-1}}Module["_emscripten_set_wheel_callback_on_thread"]=_emscripten_set_wheel_callback_on_thread;function __registerUiEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);if(eventTypeString=="scroll"&&!target){target=document}else{target=__findEventTarget(target)}var uiEventHandlerFunc=function(event){var e=event||window.event;if(e.target!=target){return}var scrollPos=JSEvents.pageScrollPos();var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=e.detail;HEAP32[uiEvent+4>>2]=document.body.clientWidth;HEAP32[uiEvent+8>>2]=document.body.clientHeight;HEAP32[uiEvent+12>>2]=window.innerWidth;HEAP32[uiEvent+16>>2]=window.innerHeight;HEAP32[uiEvent+20>>2]=window.outerWidth;HEAP32[uiEvent+24>>2]=window.outerHeight;HEAP32[uiEvent+28>>2]=scrollPos[0];HEAP32[uiEvent+32>>2]=scrollPos[1];if(dynCall_iiii(callbackfunc,eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerUiEventCallback"]=__registerUiEventCallback;function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);return 0}Module["_emscripten_set_resize_callback_on_thread"]=_emscripten_set_resize_callback_on_thread;function _emscripten_set_scroll_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerUiEventCallback(target,userData,useCapture,callbackfunc,11,"scroll",targetThread);return 0}Module["_emscripten_set_scroll_callback_on_thread"]=_emscripten_set_scroll_callback_on_thread;function __registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(event){var e=event||window.event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(dynCall_iiii(callbackfunc,eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerFocusEventCallback"]=__registerFocusEventCallback;function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);return 0}Module["_emscripten_set_blur_callback_on_thread"]=_emscripten_set_blur_callback_on_thread;function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);return 0}Module["_emscripten_set_focus_callback_on_thread"]=_emscripten_set_focus_callback_on_thread;function _emscripten_set_focusin_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerFocusEventCallback(target,userData,useCapture,callbackfunc,14,"focusin",targetThread);return 0}Module["_emscripten_set_focusin_callback_on_thread"]=_emscripten_set_focusin_callback_on_thread;function _emscripten_set_focusout_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerFocusEventCallback(target,userData,useCapture,callbackfunc,15,"focusout",targetThread);return 0}Module["_emscripten_set_focusout_callback_on_thread"]=_emscripten_set_focusout_callback_on_thread;function __fillDeviceOrientationEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAPF64[eventStruct+8>>3]=e.alpha;HEAPF64[eventStruct+16>>3]=e.beta;HEAPF64[eventStruct+24>>3]=e.gamma;HEAP32[eventStruct+32>>2]=e.absolute}Module["__fillDeviceOrientationEventData"]=__fillDeviceOrientationEventData;function __registerDeviceOrientationEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.deviceOrientationEvent)JSEvents.deviceOrientationEvent=_malloc(40);var deviceOrientationEventHandlerFunc=function(event){var e=event||window.event;__fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.deviceOrientationEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:deviceOrientationEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerDeviceOrientationEventCallback"]=__registerDeviceOrientationEventCallback;function _emscripten_set_deviceorientation_callback_on_thread(userData,useCapture,callbackfunc,targetThread){__registerDeviceOrientationEventCallback(2,userData,useCapture,callbackfunc,16,"deviceorientation",targetThread);return 0}Module["_emscripten_set_deviceorientation_callback_on_thread"]=_emscripten_set_deviceorientation_callback_on_thread;function _emscripten_get_deviceorientation_status(orientationState){if(!JSEvents.deviceOrientationEvent)return-7;HEAP32.set(HEAP32.subarray(JSEvents.deviceOrientationEvent,40),orientationState);return 0}Module["_emscripten_get_deviceorientation_status"]=_emscripten_get_deviceorientation_status;function __fillDeviceMotionEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAPF64[eventStruct+8>>3]=e.acceleration.x;HEAPF64[eventStruct+16>>3]=e.acceleration.y;HEAPF64[eventStruct+24>>3]=e.acceleration.z;HEAPF64[eventStruct+32>>3]=e.accelerationIncludingGravity.x;HEAPF64[eventStruct+40>>3]=e.accelerationIncludingGravity.y;HEAPF64[eventStruct+48>>3]=e.accelerationIncludingGravity.z;HEAPF64[eventStruct+56>>3]=e.rotationRate.alpha;HEAPF64[eventStruct+64>>3]=e.rotationRate.beta;HEAPF64[eventStruct+72>>3]=e.rotationRate.gamma}Module["__fillDeviceMotionEventData"]=__fillDeviceMotionEventData;function __registerDeviceMotionEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.deviceMotionEvent)JSEvents.deviceMotionEvent=_malloc(80);var deviceMotionEventHandlerFunc=function(event){var e=event||window.event;__fillDeviceMotionEventData(JSEvents.deviceMotionEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.deviceMotionEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:deviceMotionEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerDeviceMotionEventCallback"]=__registerDeviceMotionEventCallback;function _emscripten_set_devicemotion_callback_on_thread(userData,useCapture,callbackfunc,targetThread){__registerDeviceMotionEventCallback(2,userData,useCapture,callbackfunc,17,"devicemotion",targetThread);return 0}Module["_emscripten_set_devicemotion_callback_on_thread"]=_emscripten_set_devicemotion_callback_on_thread;function _emscripten_get_devicemotion_status(motionState){if(!JSEvents.deviceMotionEvent)return-7;HEAP32.set(HEAP32.subarray(JSEvents.deviceMotionEvent,80),motionState);return 0}Module["_emscripten_get_devicemotion_status"]=_emscripten_get_devicemotion_status;function __screenOrientation(){if(!screen)return undefined;return screen.orientation||screen.mozOrientation||screen.webkitOrientation||screen.msOrientation}Module["__screenOrientation"]=__screenOrientation;function __fillOrientationChangeEventData(eventStruct,e){var orientations=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientations2=["portrait","portrait","landscape","landscape"];var orientationString=__screenOrientation();var orientation=orientations.indexOf(orientationString);if(orientation==-1){orientation=orientations2.indexOf(orientationString)}HEAP32[eventStruct>>2]=1<<orientation;HEAP32[eventStruct+4>>2]=window.orientation}Module["__fillOrientationChangeEventData"]=__fillOrientationChangeEventData;function __registerOrientationChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.orientationChangeEvent)JSEvents.orientationChangeEvent=_malloc(8);var orientationChangeEventHandlerFunc=function(event){var e=event||window.event;var orientationChangeEvent=JSEvents.orientationChangeEvent;__fillOrientationChangeEventData(orientationChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,orientationChangeEvent,userData))e.preventDefault()};if(eventTypeString=="orientationchange"&&screen.mozOrientation!==undefined){eventTypeString="mozorientationchange"}var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:orientationChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerOrientationChangeEventCallback"]=__registerOrientationChangeEventCallback;function _emscripten_set_orientationchange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!screen||!screen.addEventListener)return-1;__registerOrientationChangeEventCallback(screen,userData,useCapture,callbackfunc,18,"orientationchange",targetThread);return 0}Module["_emscripten_set_orientationchange_callback_on_thread"]=_emscripten_set_orientationchange_callback_on_thread;function _emscripten_get_orientation_status(orientationChangeEvent){if(!__screenOrientation()&&typeof window.orientation==="undefined")return-1;__fillOrientationChangeEventData(orientationChangeEvent);return 0}Module["_emscripten_get_orientation_status"]=_emscripten_get_orientation_status;function _emscripten_lock_orientation(allowedOrientations){var orientations=[];if(allowedOrientations&1)orientations.push("portrait-primary");if(allowedOrientations&2)orientations.push("portrait-secondary");if(allowedOrientations&4)orientations.push("landscape-primary");if(allowedOrientations&8)orientations.push("landscape-secondary");var succeeded;if(screen.lockOrientation){succeeded=screen.lockOrientation(orientations)}else if(screen.mozLockOrientation){succeeded=screen.mozLockOrientation(orientations)}else if(screen.webkitLockOrientation){succeeded=screen.webkitLockOrientation(orientations)}else if(screen.msLockOrientation){succeeded=screen.msLockOrientation(orientations)}else{return-1}if(succeeded){return 0}else{return-6}}Module["_emscripten_lock_orientation"]=_emscripten_lock_orientation;function _emscripten_unlock_orientation(){if(screen.unlockOrientation){screen.unlockOrientation()}else if(screen.mozUnlockOrientation){screen.mozUnlockOrientation()}else if(screen.webkitUnlockOrientation){screen.webkitUnlockOrientation()}else if(screen.msUnlockOrientation){screen.msUnlockOrientation()}else{return-1}return 0}Module["_emscripten_unlock_orientation"]=_emscripten_unlock_orientation;function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}Module["__fillFullscreenChangeEventData"]=__fillFullscreenChangeEventData;function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(event){var e=event||window.event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerFullscreenChangeEventCallback"]=__registerFullscreenChangeEventCallback;function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}Module["_emscripten_set_fullscreenchange_callback_on_thread"]=_emscripten_set_fullscreenchange_callback_on_thread;function _emscripten_get_fullscreen_status(fullscreenStatus){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;__fillFullscreenChangeEventData(fullscreenStatus);return 0}Module["_emscripten_get_fullscreen_status"]=_emscripten_get_fullscreen_status;function _emscripten_get_canvas_element_size(target,width,height){var canvas=__findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}Module["_emscripten_get_canvas_element_size"]=_emscripten_get_canvas_element_size;function __get_canvas_element_size(target){var stackTop=stackSave();var w=stackAlloc(8);var h=w+4;var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];stackRestore(stackTop);return size}Module["__get_canvas_element_size"]=__get_canvas_element_size;function _emscripten_set_canvas_element_size(target,width,height){var canvas=__findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}Module["_emscripten_set_canvas_element_size"]=_emscripten_set_canvas_element_size;function __set_canvas_element_size(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{var stackTop=stackSave();var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);_emscripten_set_canvas_element_size(targetInt,width,height);stackRestore(stackTop)}}Module["__set_canvas_element_size"]=__set_canvas_element_size;function __registerRestoreOldStyle(canvas){var canvasSize=__get_canvas_element_size(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("mozfullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);document.removeEventListener("MSFullscreenChange",restoreOldStyle);__set_canvas_element_size(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(__currentFullscreenStrategy.canvasResizedCallback){dynCall_iiii(__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("mozfullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);document.addEventListener("MSFullscreenChange",restoreOldStyle);return restoreOldStyle}Module["__registerRestoreOldStyle"]=__registerRestoreOldStyle;function __setLetterbox(element,topBottom,leftRight){if(JSEvents.isInternetExplorer()){element.style.marginLeft=element.style.marginRight=leftRight+"px";element.style.marginTop=element.style.marginBottom=topBottom+"px"}else{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}}Module["__setLetterbox"]=__setLetterbox;function _JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=__registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?window.innerWidth:screen.width;var cssHeight=strategy.softFullscreen?window.innerHeight:screen.height;var rect=target.getBoundingClientRect();var windowedCssWidth=rect.right-rect.left;var windowedCssHeight=rect.bottom-rect.top;var canvasSize=__get_canvas_element_size(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){__setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight<windowedRttWidth*cssHeight){var desiredCssHeight=windowedRttHeight*cssWidth/windowedRttWidth;__setLetterbox(target,(cssHeight-desiredCssHeight)/2,0);cssHeight=desiredCssHeight}else{var desiredCssWidth=windowedRttWidth*cssHeight/windowedRttHeight;__setLetterbox(target,0,(cssWidth-desiredCssWidth)/2);cssWidth=desiredCssWidth}}if(!target.style.backgroundColor)target.style.backgroundColor="black";if(!document.body.style.backgroundColor)document.body.style.backgroundColor="black";target.style.width=cssWidth+"px";target.style.height=cssHeight+"px";if(strategy.filteringMode==1){target.style.imageRendering="optimizeSpeed";target.style.imageRendering="-moz-crisp-edges";target.style.imageRendering="-o-crisp-edges";target.style.imageRendering="-webkit-optimize-contrast";target.style.imageRendering="optimize-contrast";target.style.imageRendering="crisp-edges";target.style.imageRendering="pixelated"}var dpiScale=strategy.canvasResolutionScaleMode==2?window.devicePixelRatio:1;if(strategy.canvasResolutionScaleMode!=0){var newWidth=cssWidth*dpiScale|0;var newHeight=cssHeight*dpiScale|0;__set_canvas_element_size(target,newWidth,newHeight);if(target.GLctxObject)target.GLctxObject.GLctx.viewport(0,0,newWidth,newHeight)}return restoreOldStyle}Module["_JSEvents_resizeCanvasForFullscreen"]=_JSEvents_resizeCanvasForFullscreen;function _JSEvents_requestFullscreen(target,strategy){if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){_JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.msRequestFullscreen){target.msRequestFullscreen()}else if(target.mozRequestFullScreen){target.mozRequestFullScreen()}else if(target.mozRequestFullscreen){target.mozRequestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{if(typeof JSEvents.fullscreenEnabled()==="undefined"){return-1}else{return-3}}if(strategy.canvasResizedCallback){dynCall_iiii(strategy.canvasResizedCallback,37,0,strategy.canvasResizedCallbackUserData)}return 0}Module["_JSEvents_requestFullscreen"]=_JSEvents_requestFullscreen;function __hideEverythingExceptGivenElement(onlyVisibleElement){var child=onlyVisibleElement;var parent=child.parentNode;var hiddenElements=[];while(child!=document.body){var children=parent.children;for(var i=0;i<children.length;++i){if(children[i]!=child){hiddenElements.push({node:children[i],displayState:children[i].style.display});children[i].style.display="none"}}child=parent;parent=parent.parentNode}return hiddenElements}Module["__hideEverythingExceptGivenElement"]=__hideEverythingExceptGivenElement;function __restoreHiddenElements(hiddenElements){for(var i=0;i<hiddenElements.length;++i){hiddenElements[i].node.style.display=hiddenElements[i].displayState}}Module["__restoreHiddenElements"]=__restoreHiddenElements;var __currentFullscreenStrategy={};Module["__currentFullscreenStrategy"]=__currentFullscreenStrategy;var __restoreOldWindowedStyle=null;Module["__restoreOldWindowedStyle"]=__restoreOldWindowedStyle;function __softFullscreenResizeWebGLRenderTarget(){var inHiDPIFullscreenMode=__currentFullscreenStrategy.canvasResolutionScaleMode==2;var inAspectRatioFixedFullscreenMode=__currentFullscreenStrategy.scaleMode==2;var inPixelPerfectFullscreenMode=__currentFullscreenStrategy.canvasResolutionScaleMode!=0;var inCenteredWithoutScalingFullscreenMode=__currentFullscreenStrategy.scaleMode==3;var screenWidth=inHiDPIFullscreenMode?Math.round(window.innerWidth*window.devicePixelRatio):window.innerWidth;var screenHeight=inHiDPIFullscreenMode?Math.round(window.innerHeight*window.devicePixelRatio):window.innerHeight;var w=screenWidth;var h=screenHeight;var canvas=__currentFullscreenStrategy.target;var canvasSize=__get_canvas_element_size(canvas);var x=canvasSize[0];var y=canvasSize[1];var topMargin;if(inAspectRatioFixedFullscreenMode){if(w*y<x*h)h=w*y/x|0;else if(w*y>x*h)w=h*x/y|0;topMargin=(screenHeight-h)/2|0}if(inPixelPerfectFullscreenMode){__set_canvas_element_size(canvas,w,h);if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,w,h)}if(inHiDPIFullscreenMode){topMargin/=window.devicePixelRatio;w/=window.devicePixelRatio;h/=window.devicePixelRatio;w=Math.round(w*1e4)/1e4;h=Math.round(h*1e4)/1e4;topMargin=Math.round(topMargin*1e4)/1e4}if(inCenteredWithoutScalingFullscreenMode){var t=(window.innerHeight-parseInt(canvas.style.height))/2;var b=(window.innerWidth-parseInt(canvas.style.width))/2;__setLetterbox(canvas,t,b)}else{canvas.style.width=w+"px";canvas.style.height=h+"px";var b=(window.innerWidth-w)/2;__setLetterbox(canvas,topMargin,b)}if(!inCenteredWithoutScalingFullscreenMode&&__currentFullscreenStrategy.canvasResizedCallback){dynCall_iiii(__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData)}}Module["__softFullscreenResizeWebGLRenderTarget"]=__softFullscreenResizeWebGLRenderTarget;function __emscripten_do_request_fullscreen(target,strategy){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!JSEvents.fullscreenEnabled())return-3;if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.msRequestFullscreen&&!target.mozRequestFullScreen&&!target.mozRequestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(_JSEvents_requestFullscreen,1,[target,strategy]);return 1}else{return-2}}return _JSEvents_requestFullscreen(target,strategy)}Module["__emscripten_do_request_fullscreen"]=__emscripten_do_request_fullscreen;function _emscripten_request_fullscreen(target,deferUntilInEventHandler){var strategy={};strategy.scaleMode=0;strategy.canvasResolutionScaleMode=0;strategy.filteringMode=0;strategy.deferUntilInEventHandler=deferUntilInEventHandler;strategy.canvasResizedCallbackTargetThread=2;return __emscripten_do_request_fullscreen(target,strategy)}Module["_emscripten_request_fullscreen"]=_emscripten_request_fullscreen;function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={};strategy.scaleMode=HEAP32[fullscreenStrategy>>2];strategy.canvasResolutionScaleMode=HEAP32[fullscreenStrategy+4>>2];strategy.filteringMode=HEAP32[fullscreenStrategy+8>>2];strategy.deferUntilInEventHandler=deferUntilInEventHandler;strategy.canvasResizedCallback=HEAP32[fullscreenStrategy+12>>2];strategy.canvasResizedCallbackUserData=HEAP32[fullscreenStrategy+16>>2];__currentFullscreenStrategy=strategy;return __emscripten_do_request_fullscreen(target,strategy)}Module["_emscripten_request_fullscreen_strategy"]=_emscripten_request_fullscreen_strategy;function _emscripten_enter_soft_fullscreen(target,fullscreenStrategy){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;var strategy={};strategy.scaleMode=HEAP32[fullscreenStrategy>>2];strategy.canvasResolutionScaleMode=HEAP32[fullscreenStrategy+4>>2];strategy.filteringMode=HEAP32[fullscreenStrategy+8>>2];strategy.canvasResizedCallback=HEAP32[fullscreenStrategy+12>>2];strategy.canvasResizedCallbackUserData=HEAP32[fullscreenStrategy+16>>2];strategy.target=target;strategy.softFullscreen=true;var restoreOldStyle=_JSEvents_resizeCanvasForFullscreen(target,strategy);document.documentElement.style.overflow="hidden";document.body.scroll="no";document.body.style.margin="0px";var hiddenElements=__hideEverythingExceptGivenElement(target);function restoreWindowedState(){restoreOldStyle();__restoreHiddenElements(hiddenElements);window.removeEventListener("resize",__softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){dynCall_iiii(strategy.canvasResizedCallback,37,0,strategy.canvasResizedCallbackUserData)}__currentFullscreenStrategy=0}__restoreOldWindowedStyle=restoreWindowedState;__currentFullscreenStrategy=strategy;window.addEventListener("resize",__softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){dynCall_iiii(strategy.canvasResizedCallback,37,0,strategy.canvasResizedCallbackUserData)}return 0}Module["_emscripten_enter_soft_fullscreen"]=_emscripten_enter_soft_fullscreen;function _emscripten_exit_soft_fullscreen(){if(__restoreOldWindowedStyle)__restoreOldWindowedStyle();__restoreOldWindowedStyle=null;return 0}Module["_emscripten_exit_soft_fullscreen"]=_emscripten_exit_soft_fullscreen;function _emscripten_exit_fullscreen(){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;JSEvents.removeDeferredCalls(_JSEvents_requestFullscreen);var d=__specialEventTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.msExitFullscreen){d.msFullscreenElement&&d.msExitFullscreen()}else if(d.mozCancelFullScreen){d.mozFullScreenElement&&d.mozCancelFullScreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}if(__currentFullscreenStrategy.canvasResizedCallback){dynCall_iiii(__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData);__currentFullscreenStrategy=0}return 0}Module["_emscripten_exit_fullscreen"]=_emscripten_exit_fullscreen;function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}Module["__fillPointerlockChangeEventData"]=__fillPointerlockChangeEventData;function __registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(event){var e=event||window.event;var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;__fillPointerlockChangeEventData(pointerlockChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerPointerlockChangeEventCallback"]=__registerPointerlockChangeEventCallback;function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread);__registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);__registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);__registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return 0}Module["_emscripten_set_pointerlockchange_callback_on_thread"]=_emscripten_set_pointerlockchange_callback_on_thread;function __registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var pointerlockErrorEventHandlerFunc=function(event){var e=event||window.event;if(dynCall_iiii(callbackfunc,eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockErrorEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerPointerlockErrorEventCallback"]=__registerPointerlockErrorEventCallback;function _emscripten_set_pointerlockerror_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"pointerlockerror",targetThread);__registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mozpointerlockerror",targetThread);__registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"webkitpointerlockerror",targetThread);__registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mspointerlockerror",targetThread);return 0}Module["_emscripten_set_pointerlockerror_callback_on_thread"]=_emscripten_set_pointerlockerror_callback_on_thread;function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}Module["_emscripten_get_pointerlock_status"]=_emscripten_get_pointerlock_status;function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}Module["__requestPointerLock"]=__requestPointerLock;function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}Module["_emscripten_request_pointerlock"]=_emscripten_request_pointerlock;function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}Module["_emscripten_exit_pointerlock"]=_emscripten_exit_pointerlock;function _emscripten_vibrate(msecs){if(!navigator.vibrate)return-1;navigator.vibrate(msecs);return 0}Module["_emscripten_vibrate"]=_emscripten_vibrate;function _emscripten_vibrate_pattern(msecsArray,numEntries){if(!navigator.vibrate)return-1;var vibrateList=[];for(var i=0;i<numEntries;++i){var msecs=HEAP32[msecsArray+i*4>>2];vibrateList.push(msecs)}navigator.vibrate(vibrateList);return 0}Module["_emscripten_vibrate_pattern"]=_emscripten_vibrate_pattern;function __fillVisibilityChangeEventData(eventStruct,e){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}Module["__fillVisibilityChangeEventData"]=__fillVisibilityChangeEventData;function __registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(event){var e=event||window.event;var visibilityChangeEvent=JSEvents.visibilityChangeEvent;__fillVisibilityChangeEventData(visibilityChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerVisibilityChangeEventCallback"]=__registerVisibilityChangeEventCallback;function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!__specialEventTargets[1]){return-4}__registerVisibilityChangeEventCallback(__specialEventTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread);return 0}Module["_emscripten_set_visibilitychange_callback_on_thread"]=_emscripten_set_visibilitychange_callback_on_thread;function _emscripten_get_visibility_status(visibilityStatus){if(typeof document.visibilityState==="undefined"&&typeof document.hidden==="undefined"){return-1}__fillVisibilityChangeEventData(visibilityStatus);return 0}Module["_emscripten_get_visibility_status"]=_emscripten_get_visibility_status;function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(event){var e=event||window.event;var touches={};for(var i=0;i<e.touches.length;++i){var touch=e.touches[i];touches[touch.identifier]=touch}for(var i=0;i<e.changedTouches.length;++i){var touch=e.changedTouches[i];touches[touch.identifier]=touch;touch.changed=true}for(var i=0;i<e.targetTouches.length;++i){var touch=e.targetTouches[i];touches[touch.identifier].onTarget=true}var touchEvent=JSEvents.touchEvent;var ptr=touchEvent;HEAP32[ptr+4>>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerTouchEventCallback"]=__registerTouchEventCallback;function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}Module["_emscripten_set_touchstart_callback_on_thread"]=_emscripten_set_touchstart_callback_on_thread;function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}Module["_emscripten_set_touchend_callback_on_thread"]=_emscripten_set_touchend_callback_on_thread;function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}Module["_emscripten_set_touchmove_callback_on_thread"]=_emscripten_set_touchmove_callback_on_thread;function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}Module["_emscripten_set_touchcancel_callback_on_thread"]=_emscripten_set_touchcancel_callback_on_thread;function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i<e.axes.length;++i){HEAPF64[eventStruct+i*8+16>>3]=e.axes[i]}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}Module["__fillGamepadEventData"]=__fillGamepadEventData;function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(event){var e=event||window.event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e.gamepad);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerGamepadEventCallback"]=__registerGamepadEventCallback;function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}Module["_emscripten_set_gamepadconnected_callback_on_thread"]=_emscripten_set_gamepadconnected_callback_on_thread;function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}Module["_emscripten_set_gamepaddisconnected_callback_on_thread"]=_emscripten_set_gamepaddisconnected_callback_on_thread;function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}Module["_emscripten_sample_gamepad_data"]=_emscripten_sample_gamepad_data;function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}Module["_emscripten_get_num_gamepads"]=_emscripten_get_num_gamepads;function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}Module["_emscripten_get_gamepad_status"]=_emscripten_get_gamepad_status;function __registerBeforeUnloadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var beforeUnloadEventHandlerFunc=function(event){var e=event||window.event;var confirmationMessage=dynCall_iiii(callbackfunc,eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerBeforeUnloadEventCallback"]=__registerBeforeUnloadEventCallback;function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){if(typeof window.onbeforeunload==="undefined")return-1;if(targetThread!==1)return-5;__registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload");return 0}Module["_emscripten_set_beforeunload_callback_on_thread"]=_emscripten_set_beforeunload_callback_on_thread;function __fillBatteryEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP32[eventStruct+24>>2]=e.charging}Module["__fillBatteryEventData"]=__fillBatteryEventData;function __battery(){return navigator.battery||navigator.mozBattery||navigator.webkitBattery}Module["__battery"]=__battery;function __registerBatteryEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.batteryEvent)JSEvents.batteryEvent=_malloc(32);var batteryEventHandlerFunc=function(event){var e=event||window.event;var batteryEvent=JSEvents.batteryEvent;__fillBatteryEventData(batteryEvent,__battery());if(dynCall_iiii(callbackfunc,eventTypeId,batteryEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:batteryEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerBatteryEventCallback"]=__registerBatteryEventCallback;function _emscripten_set_batterychargingchange_callback_on_thread(userData,callbackfunc,targetThread){if(!__battery())return-1;__registerBatteryEventCallback(__battery(),userData,true,callbackfunc,29,"chargingchange",targetThread);return 0}Module["_emscripten_set_batterychargingchange_callback_on_thread"]=_emscripten_set_batterychargingchange_callback_on_thread;function _emscripten_set_batterylevelchange_callback_on_thread(userData,callbackfunc,targetThread){if(!__battery())return-1;__registerBatteryEventCallback(__battery(),userData,true,callbackfunc,30,"levelchange",targetThread);return 0}Module["_emscripten_set_batterylevelchange_callback_on_thread"]=_emscripten_set_batterylevelchange_callback_on_thread;function _emscripten_get_battery_status(batteryState){if(!__battery())return-1;__fillBatteryEventData(batteryState,__battery());return 0}Module["_emscripten_get_battery_status"]=_emscripten_get_battery_status;function _emscripten_webgl_init_context_attributes(attributes){var a=attributes>>2;for(var i=0;i<56>>2;++i){HEAP32[a+i]=0}HEAP32[a+(0>>2)]=HEAP32[a+(4>>2)]=HEAP32[a+(12>>2)]=HEAP32[a+(16>>2)]=HEAP32[a+(32>>2)]=HEAP32[a+(40>>2)]=1}Module["_emscripten_webgl_init_context_attributes"]=_emscripten_webgl_init_context_attributes;var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];Module["__emscripten_webgl_power_preferences"]=__emscripten_webgl_power_preferences;var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i<GL.MINI_TEMP_BUFFER_SIZE;i++){GL.miniTempBufferViews[i]=GL.miniTempBuffer.subarray(0,i+1)}},recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret},MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var len=length?HEAP32[length+i*4>>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);return ctx&&GL.registerContext(ctx,webGLContextAttributes)},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){var instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");if(instancedArraysExt){GLctx["vertexAttribDivisor"]=function(index,divisor){instancedArraysExt["vertexAttribDivisorANGLE"](index,divisor)};GLctx["drawArraysInstanced"]=function(mode,first,count,primcount){instancedArraysExt["drawArraysInstancedANGLE"](mode,first,count,primcount)};GLctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){instancedArraysExt["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}var vaoExt=GLctx.getExtension("OES_vertex_array_object");if(vaoExt){GLctx["createVertexArray"]=function(){return vaoExt["createVertexArrayOES"]()};GLctx["deleteVertexArray"]=function(vao){vaoExt["deleteVertexArrayOES"](vao)};GLctx["bindVertexArray"]=function(vao){vaoExt["bindVertexArrayOES"](vao)};GLctx["isVertexArray"]=function(vao){return vaoExt["isVertexArrayOES"](vao)}}var drawBuffersExt=GLctx.getExtension("WEBGL_draw_buffers");if(drawBuffersExt){GLctx["drawBuffers"]=function(n,bufs){drawBuffersExt["drawBuffersWEBGL"](n,bufs)}}}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];function shouldEnableAutomatically(extension){var ret=false;automaticallyEnabledExtensions.forEach(function(include){if(extension.indexOf(include)!=-1){ret=true}});return ret}var exts=GLctx.getSupportedExtensions();if(exts&&exts.length>0){GLctx.getSupportedExtensions().forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})}},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i<numUniforms;++i){var u=GLctx.getActiveUniform(p,i);var name=u.name;ptable.maxUniformLength=Math.max(ptable.maxUniformLength,name.length+1);if(name.slice(-1)=="]"){name=name.slice(0,name.lastIndexOf("["))}var loc=GLctx.getUniformLocation(p,name);if(loc){var id=GL.getNewId(GL.uniforms);utable[name]=[u.size,id];GL.uniforms[id]=loc;for(var j=1;j<u.size;++j){var n=name+"["+j+"]";loc=GLctx.getUniformLocation(p,n);id=GL.getNewId(GL.uniforms);GL.uniforms[id]=loc}}}}};Module["GL"]=GL;function _emscripten_webgl_do_create_context(target,attributes){var contextAttributes={};var a=attributes>>2;contextAttributes["alpha"]=!!HEAP32[a+(0>>2)];contextAttributes["depth"]=!!HEAP32[a+(4>>2)];contextAttributes["stencil"]=!!HEAP32[a+(8>>2)];contextAttributes["antialias"]=!!HEAP32[a+(12>>2)];contextAttributes["premultipliedAlpha"]=!!HEAP32[a+(16>>2)];contextAttributes["preserveDrawingBuffer"]=!!HEAP32[a+(20>>2)];var powerPreference=HEAP32[a+(24>>2)];contextAttributes["powerPreference"]=__emscripten_webgl_power_preferences[powerPreference];contextAttributes["failIfMajorPerformanceCaveat"]=!!HEAP32[a+(28>>2)];contextAttributes.majorVersion=HEAP32[a+(32>>2)];contextAttributes.minorVersion=HEAP32[a+(36>>2)];contextAttributes.enableExtensionsByDefault=HEAP32[a+(40>>2)];contextAttributes.explicitSwapControl=HEAP32[a+(44>>2)];contextAttributes.proxyContextToMainThread=HEAP32[a+(48>>2)];contextAttributes.renderViaOffscreenBackBuffer=HEAP32[a+(52>>2)];var canvas=__findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}Module["_emscripten_webgl_do_create_context"]=_emscripten_webgl_do_create_context;function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}Module["_emscripten_webgl_create_context"]=_emscripten_webgl_create_context;function _emscripten_webgl_do_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}Module["_emscripten_webgl_do_get_current_context"]=_emscripten_webgl_do_get_current_context;function _emscripten_webgl_get_current_context(){return _emscripten_webgl_do_get_current_context()}Module["_emscripten_webgl_get_current_context"]=_emscripten_webgl_get_current_context;function _emscripten_webgl_do_commit_frame(){if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(!GL.currentContext.GLctx.commit){return-1}if(!GL.currentContext.attributes.explicitSwapControl){return-3}GL.currentContext.GLctx.commit();return 0}Module["_emscripten_webgl_do_commit_frame"]=_emscripten_webgl_do_commit_frame;function _emscripten_webgl_commit_frame(){return _emscripten_webgl_do_commit_frame()}Module["_emscripten_webgl_commit_frame"]=_emscripten_webgl_commit_frame;function _emscripten_webgl_make_context_current(contextHandle){var success=GL.makeContextCurrent(contextHandle);return success?0:-5}Module["_emscripten_webgl_make_context_current"]=_emscripten_webgl_make_context_current;function _emscripten_webgl_get_drawing_buffer_size_calling_thread(contextHandle,width,height){var GLContext=GL.getContext(contextHandle);if(!GLContext||!GLContext.GLctx||!width||!height){return-5}HEAP32[width>>2]=GLContext.GLctx.drawingBufferWidth;HEAP32[height>>2]=GLContext.GLctx.drawingBufferHeight;return 0}Module["_emscripten_webgl_get_drawing_buffer_size_calling_thread"]=_emscripten_webgl_get_drawing_buffer_size_calling_thread;function _emscripten_webgl_get_drawing_buffer_size(a0,a1,a2){return _emscripten_webgl_get_drawing_buffer_size_calling_thread(a0,a1,a2)}Module["_emscripten_webgl_get_drawing_buffer_size"]=_emscripten_webgl_get_drawing_buffer_size;function _emscripten_webgl_get_context_attributes(c,a){if(!a)return-5;c=GL.contexts[c];if(!c)return-3;var t=c.GLctx;if(!t)return-3;t=t.getContextAttributes();HEAP32[a>>2]=t.alpha;HEAP32[a+4>>2]=t.depth;HEAP32[a+8>>2]=t.stencil;HEAP32[a+12>>2]=t.antialias;HEAP32[a+16>>2]=t.premultipliedAlpha;HEAP32[a+20>>2]=t.preserveDrawingBuffer;var power=t["powerPreference"]&&__emscripten_webgl_power_preferences.indexOf(t["powerPreference"]);HEAP32[a+24>>2]=power;HEAP32[a+28>>2]=t.failIfMajorPerformanceCaveat;HEAP32[a+32>>2]=c.version;HEAP32[a+36>>2]=0;HEAP32[a+40>>2]=c.attributes.enableExtensionsByDefault;return 0}Module["_emscripten_webgl_get_context_attributes"]=_emscripten_webgl_get_context_attributes;function _emscripten_webgl_destroy_context_calling_thread(contextHandle){if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)}Module["_emscripten_webgl_destroy_context_calling_thread"]=_emscripten_webgl_destroy_context_calling_thread;function _emscripten_webgl_destroy_context(a0){return _emscripten_webgl_destroy_context_calling_thread(a0)}Module["_emscripten_webgl_destroy_context"]=_emscripten_webgl_destroy_context;function _emscripten_webgl_enable_extension_calling_thread(contextHandle,extension){var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.indexOf("GL_")==0)extString=extString.substr(3);var ext=context.GLctx.getExtension(extString);return!!ext}Module["_emscripten_webgl_enable_extension_calling_thread"]=_emscripten_webgl_enable_extension_calling_thread;function _emscripten_supports_offscreencanvas(){return 0}Module["_emscripten_supports_offscreencanvas"]=_emscripten_supports_offscreencanvas;function _emscripten_webgl_enable_extension(a0,a1){return _emscripten_webgl_enable_extension_calling_thread(a0,a1)}Module["_emscripten_webgl_enable_extension"]=_emscripten_webgl_enable_extension;function __registerWebGlEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!target)target=Module["canvas"];var webGlEventHandlerFunc=function(event){var e=event||window.event;if(dynCall_iiii(callbackfunc,eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:webGlEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}Module["__registerWebGlEventCallback"]=__registerWebGlEventCallback;function _emscripten_set_webglcontextlost_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerWebGlEventCallback(target,userData,useCapture,callbackfunc,31,"webglcontextlost",targetThread);return 0}Module["_emscripten_set_webglcontextlost_callback_on_thread"]=_emscripten_set_webglcontextlost_callback_on_thread;function _emscripten_set_webglcontextrestored_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerWebGlEventCallback(target,userData,useCapture,callbackfunc,32,"webglcontextrestored",targetThread);return 0}Module["_emscripten_set_webglcontextrestored_callback_on_thread"]=_emscripten_set_webglcontextrestored_callback_on_thread;function _emscripten_is_webgl_context_lost(target){return!GL.contexts[target]||GL.contexts[target].GLctx.isContextLost()}Module["_emscripten_is_webgl_context_lost"]=_emscripten_is_webgl_context_lost;function _emscripten_set_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}Module["_emscripten_set_element_css_size"]=_emscripten_set_element_css_size;function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}Module["_emscripten_get_element_css_size"]=_emscripten_get_element_css_size;function _emscripten_html5_remove_all_event_listeners(){JSEvents.removeAllEventListeners()}Module["_emscripten_html5_remove_all_event_listeners"]=_emscripten_html5_remove_all_event_listeners;function _emscripten_request_animation_frame(cb,userData){return requestAnimationFrame(function(timeStamp){dynCall_idi(cb,timeStamp,userData)})}Module["_emscripten_request_animation_frame"]=_emscripten_request_animation_frame;function _emscripten_cancel_animation_frame(id){cancelAnimationFrame(id)}Module["_emscripten_cancel_animation_frame"]=_emscripten_cancel_animation_frame;function _emscripten_request_animation_frame_loop(cb,userData){function tick(timeStamp){if(dynCall_idi(cb,timeStamp,userData)){requestAnimationFrame(tick)}}return requestAnimationFrame(tick)}Module["_emscripten_request_animation_frame_loop"]=_emscripten_request_animation_frame_loop;function __polyfill_set_immediate(){}Module["__polyfill_set_immediate"]=__polyfill_set_immediate;function _emscripten_set_immediate(cb,userData){__polyfill_set_immediate();return setImmediate(function(){dynCall_vi(cb,userData)})}Module["_emscripten_set_immediate"]=_emscripten_set_immediate;function _emscripten_clear_immediate(id){clearImmediate(id)}Module["_emscripten_clear_immediate"]=_emscripten_clear_immediate;function _emscripten_set_immediate_loop(cb,userData){__polyfill_set_immediate();function tick(){if(dynCall_ii(cb,userData)){setImmediate(tick)}}return setImmediate(tick)}Module["_emscripten_set_immediate_loop"]=_emscripten_set_immediate_loop;function _emscripten_set_timeout(cb,msecs,userData){return setTimeout(function(){dynCall_vi(cb,userData)},msecs)}Module["_emscripten_set_timeout"]=_emscripten_set_timeout;function _emscripten_clear_timeout(id){clearTimeout(id)}Module["_emscripten_clear_timeout"]=_emscripten_clear_timeout;function _emscripten_set_timeout_loop(cb,msecs,userData){function tick(){var t=performance.now();var n=t+msecs;if(dynCall_idi(cb,t,userData)){setTimeout(tick,t-performance.now())}}return setTimeout(tick,0)}Module["_emscripten_set_timeout_loop"]=_emscripten_set_timeout_loop;function _emscripten_set_interval(cb,msecs,userData){return setInterval(function(){dynCall_vi(cb,userData)},msecs)}Module["_emscripten_set_interval"]=_emscripten_set_interval;function _emscripten_clear_interval(id){clearInterval(id)}Module["_emscripten_clear_interval"]=_emscripten_clear_interval;function _emscripten_date_now(){return Date.now()}Module["_emscripten_date_now"]=_emscripten_date_now;function _emscripten_performance_now(){return performance.now()}Module["_emscripten_performance_now"]=_emscripten_performance_now;function _emscripten_console_log(str){console.log(UTF8ToString(str))}Module["_emscripten_console_log"]=_emscripten_console_log;function _emscripten_console_warn(str){console.warn(UTF8ToString(str))}Module["_emscripten_console_warn"]=_emscripten_console_warn;function _emscripten_console_error(str){console.error(UTF8ToString(str))}Module["_emscripten_console_error"]=_emscripten_console_error;function _emscripten_throw_number(number){throw number}Module["_emscripten_throw_number"]=_emscripten_throw_number;function _emscripten_throw_string(str){throw UTF8ToString(str)}Module["_emscripten_throw_string"]=_emscripten_throw_string;function _emscripten_get_device_pixel_ratio(){return window.devicePixelRatio||1}Module["_emscripten_get_device_pixel_ratio"]=_emscripten_get_device_pixel_ratio;function _emscripten_async_wget(url,file,onload,onerror){Module["noExitRuntime"]=true;var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH.resolve(FS.cwd(),_file);function doCallback(callback){if(callback){var stack=stackSave();dynCall_vi(callback,allocate(intArrayFromString(_file),"i8",ALLOC_STACK));stackRestore(stack)}}var destinationDirectory=PATH.dirname(_file);FS.createPreloadedFile(destinationDirectory,PATH.basename(_file),_url,true,true,function(){doCallback(onload)},function(){doCallback(onerror)},false,false,function(){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory)})}Module["_emscripten_async_wget"]=_emscripten_async_wget;function _emscripten_async_wget_data(url,arg,onload,onerror){Browser.asyncLoad(UTF8ToString(url),function(byteArray){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);dynCall_viii(onload,arg,buffer,byteArray.length);_free(buffer)},function(){if(onerror)dynCall_vi(onerror,arg)},true)}Module["_emscripten_async_wget_data"]=_emscripten_async_wget_data;function _emscripten_async_wget2(url,file,request,param,arg,onload,onerror,onprogress){Module["noExitRuntime"]=true;var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH.resolve(FS.cwd(),_file);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var index=_file.lastIndexOf("/");var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=Browser.getNextWgetRequestHandle();var destinationDirectory=PATH.dirname(_file);http.onload=function http_onload(e){if(http.status>=200&&http.status<300){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory);FS.createDataFile(_file.substr(0,index),_file.substr(index+1),new Uint8Array(http.response),true,true,false);if(onload){var stack=stackSave();dynCall_viii(onload,handle,arg,allocate(intArrayFromString(_file),"i8",ALLOC_STACK));stackRestore(stack)}}else{if(onerror)dynCall_viii(onerror,handle,arg,http.status)}delete Browser.wgetRequests[handle]};http.onerror=function http_onerror(e){if(onerror)dynCall_viii(onerror,handle,arg,http.status);delete Browser.wgetRequests[handle]};http.onprogress=function http_onprogress(e){if(e.lengthComputable||e.lengthComputable===undefined&&e.total!=0){var percentComplete=e.loaded/e.total*100;if(onprogress)dynCall_viii(onprogress,handle,arg,percentComplete)}};http.onabort=function http_onabort(e){delete Browser.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}Browser.wgetRequests[handle]=http;return handle}Module["_emscripten_async_wget2"]=_emscripten_async_wget2;function _emscripten_async_wget2_data(url,request,param,arg,free,onload,onerror,onprogress){var _url=UTF8ToString(url);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=Browser.getNextWgetRequestHandle();http.onload=function http_onload(e){if(http.status>=200&&http.status<300||_url.substr(0,4).toLowerCase()!="http"){var byteArray=new Uint8Array(http.response);var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);if(onload)dynCall_viiii(onload,handle,arg,buffer,byteArray.length);if(free)_free(buffer)}else{if(onerror)dynCall_viiii(onerror,handle,arg,http.status,http.statusText)}delete Browser.wgetRequests[handle]};http.onerror=function http_onerror(e){if(onerror){dynCall_viiii(onerror,handle,arg,http.status,http.statusText)}delete Browser.wgetRequests[handle]};http.onprogress=function http_onprogress(e){if(onprogress)dynCall_viiii(onprogress,handle,arg,e.loaded,e.lengthComputable||e.lengthComputable===undefined?e.total:0)};http.onabort=function http_onabort(e){delete Browser.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}Browser.wgetRequests[handle]=http;return handle}Module["_emscripten_async_wget2_data"]=_emscripten_async_wget2_data;function _emscripten_async_wget2_abort(handle){var http=Browser.wgetRequests[handle];if(http){http.abort()}}Module["_emscripten_async_wget2_abort"]=_emscripten_async_wget2_abort;function _emscripten_run_preload_plugins(file,onload,onerror){Module["noExitRuntime"]=true;var _file=UTF8ToString(file);var data=FS.analyzePath(_file);if(!data.exists)return-1;FS.createPreloadedFile(PATH.dirname(_file),PATH.basename(_file),new Uint8Array(data.object.contents),true,true,function(){if(onload)dynCall_vi(onload,file)},function(){if(onerror)dynCall_vi(onerror,file)},true);return 0}Module["_emscripten_run_preload_plugins"]=_emscripten_run_preload_plugins;function _emscripten_run_preload_plugins_data(data,size,suffix,arg,onload,onerror){Module["noExitRuntime"]=true;var _suffix=UTF8ToString(suffix);if(!Browser.asyncPrepareDataCounter)Browser.asyncPrepareDataCounter=0;var name="prepare_data_"+Browser.asyncPrepareDataCounter+++"."+_suffix;var lengthAsUTF8=lengthBytesUTF8(name);var cname=_malloc(lengthAsUTF8+1);stringToUTF8(name,cname,lengthAsUTF8+1);FS.createPreloadedFile("/",name,HEAPU8.subarray(data,data+size),true,true,function(){if(onload)dynCall_vii(onload,arg,cname)},function(){if(onerror)dynCall_vi(onerror,arg)},true)}Module["_emscripten_run_preload_plugins_data"]=_emscripten_run_preload_plugins_data;function _emscripten_async_run_script(script,millis){Module["noExitRuntime"]=true;Browser.safeSetTimeout(function(){_emscripten_run_script(script)},millis)}Module["_emscripten_async_run_script"]=_emscripten_async_run_script;function _emscripten_async_load_script(url,onload,onerror){onload=getFuncWrapper(onload,"v");onerror=getFuncWrapper(onerror,"v");Module["noExitRuntime"]=true;assert(runDependencies===0,"async_load_script must be run when no other dependencies are active");var script=document.createElement("script");if(onload){script.onload=function script_onload(){if(runDependencies>0){dependenciesFulfilled=onload}else{onload()}}}if(onerror)script.onerror=onerror;script.src=UTF8ToString(url);document.body.appendChild(script)}Module["_emscripten_async_load_script"]=_emscripten_async_load_script;function _emscripten_get_main_loop_timing(mode,value){if(mode)HEAP32[mode>>2]=Browser.mainLoop.timingMode;if(value)HEAP32[value>>2]=Browser.mainLoop.timingValue}Module["_emscripten_get_main_loop_timing"]=_emscripten_get_main_loop_timing;function _emscripten_set_main_loop_arg(func,arg,fps,simulateInfiniteLoop){_emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg)}Module["_emscripten_set_main_loop_arg"]=_emscripten_set_main_loop_arg;function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}Module["_emscripten_cancel_main_loop"]=_emscripten_cancel_main_loop;function _emscripten_pause_main_loop(){Browser.mainLoop.pause()}Module["_emscripten_pause_main_loop"]=_emscripten_pause_main_loop;function _emscripten_resume_main_loop(){Browser.mainLoop.resume()}Module["_emscripten_resume_main_loop"]=_emscripten_resume_main_loop;function __emscripten_push_main_loop_blocker(func,arg,name){Browser.mainLoop.queue.push({func:function(){dynCall_vi(func,arg)},name:UTF8ToString(name),counted:true});Browser.mainLoop.updateStatus()}Module["__emscripten_push_main_loop_blocker"]=__emscripten_push_main_loop_blocker;function __emscripten_push_uncounted_main_loop_blocker(func,arg,name){Browser.mainLoop.queue.push({func:function(){dynCall_vi(func,arg)},name:UTF8ToString(name),counted:false});Browser.mainLoop.updateStatus()}Module["__emscripten_push_uncounted_main_loop_blocker"]=__emscripten_push_uncounted_main_loop_blocker;function _emscripten_set_main_loop_expected_blockers(num){Browser.mainLoop.expectedBlockers=num;Browser.mainLoop.remainingBlockers=num;Browser.mainLoop.updateStatus()}Module["_emscripten_set_main_loop_expected_blockers"]=_emscripten_set_main_loop_expected_blockers;function _emscripten_async_call(func,arg,millis){Module["noExitRuntime"]=true;function wrapper(){getFuncWrapper(func,"vi")(arg)}if(millis>=0){Browser.safeSetTimeout(wrapper,millis)}else{Browser.safeRequestAnimationFrame(wrapper)}}Module["_emscripten_async_call"]=_emscripten_async_call;function _emscripten_force_exit(status){Module["noExitRuntime"]=false;exit(status)}Module["_emscripten_force_exit"]=_emscripten_force_exit;function _emscripten_hide_mouse(){var styleSheet=document.styleSheets[0];var rules=styleSheet.cssRules;for(var i=0;i<rules.length;i++){if(rules[i].cssText.substr(0,6)=="canvas"){styleSheet.deleteRule(i);i--}}styleSheet.insertRule("canvas.emscripten { border: 1px solid black; cursor: none; }",0)}Module["_emscripten_hide_mouse"]=_emscripten_hide_mouse;function _emscripten_set_canvas_size(width,height){Browser.setCanvasSize(width,height)}Module["_emscripten_set_canvas_size"]=_emscripten_set_canvas_size;function _emscripten_get_canvas_size(width,height,isFullscreen){var canvas=Module["canvas"];HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height;HEAP32[isFullscreen>>2]=Browser.isFullscreen?1:0}Module["_emscripten_get_canvas_size"]=_emscripten_get_canvas_size;function _emscripten_create_worker(url){url=UTF8ToString(url);var id=Browser.workers.length;var info={worker:new Worker(url),callbacks:[],awaited:0,buffer:0,bufferSize:0};info.worker.onmessage=function info_worker_onmessage(msg){if(ABORT)return;var info=Browser.workers[id];if(!info)return;var callbackId=msg.data["callbackId"];var callbackInfo=info.callbacks[callbackId];if(!callbackInfo)return;if(msg.data["finalResponse"]){info.awaited--;info.callbacks[callbackId]=null}var data=msg.data["data"];if(data){if(!data.byteLength)data=new Uint8Array(data);if(!info.buffer||info.bufferSize<data.length){if(info.buffer)_free(info.buffer);info.bufferSize=data.length;info.buffer=_malloc(data.length)}HEAPU8.set(data,info.buffer);callbackInfo.func(info.buffer,data.length,callbackInfo.arg)}else{callbackInfo.func(0,0,callbackInfo.arg)}};Browser.workers.push(info);return id}Module["_emscripten_create_worker"]=_emscripten_create_worker;function _emscripten_destroy_worker(id){var info=Browser.workers[id];info.worker.terminate();if(info.buffer)_free(info.buffer);Browser.workers[id]=null}Module["_emscripten_destroy_worker"]=_emscripten_destroy_worker;function _emscripten_call_worker(id,funcName,data,size,callback,arg){Module["noExitRuntime"]=true;funcName=UTF8ToString(funcName);var info=Browser.workers[id];var callbackId=-1;if(callback){callbackId=info.callbacks.length;info.callbacks.push({func:getFuncWrapper(callback,"viii"),arg:arg});info.awaited++}var transferObject={"funcName":funcName,"callbackId":callbackId,"data":data?new Uint8Array(HEAPU8.subarray(data,data+size)):0};if(data){info.worker.postMessage(transferObject,[transferObject.data.buffer])}else{info.worker.postMessage(transferObject)}}Module["_emscripten_call_worker"]=_emscripten_call_worker;function _emscripten_worker_respond_provisionally(data,size){if(workerResponded)throw"already responded with final response!";var transferObject={"callbackId":workerCallbackId,"finalResponse":false,"data":data?new Uint8Array(HEAPU8.subarray(data,data+size)):0};if(data){postMessage(transferObject,[transferObject.data.buffer])}else{postMessage(transferObject)}}Module["_emscripten_worker_respond_provisionally"]=_emscripten_worker_respond_provisionally;function _emscripten_worker_respond(data,size){if(workerResponded)throw"already responded with final response!";workerResponded=true;var transferObject={"callbackId":workerCallbackId,"finalResponse":true,"data":data?new Uint8Array(HEAPU8.subarray(data,data+size)):0};if(data){postMessage(transferObject,[transferObject.data.buffer])}else{postMessage(transferObject)}}Module["_emscripten_worker_respond"]=_emscripten_worker_respond;function _emscripten_get_worker_queue_size(id){var info=Browser.workers[id];if(!info)return-1;return info.awaited}Module["_emscripten_get_worker_queue_size"]=_emscripten_get_worker_queue_size;function _emscripten_get_preloaded_image_data(path,w,h){if((path|0)===path)path=UTF8ToString(path);path=PATH.resolve(path);var canvas=Module["preloadedImages"][path];if(canvas){var ctx=canvas.getContext("2d");var image=ctx.getImageData(0,0,canvas.width,canvas.height);var buf=_malloc(canvas.width*canvas.height*4);HEAPU8.set(image.data,buf);HEAP32[w>>2]=canvas.width;HEAP32[h>>2]=canvas.height;return buf}return 0}Module["_emscripten_get_preloaded_image_data"]=_emscripten_get_preloaded_image_data;function _emscripten_get_preloaded_image_data_from_FILE(file,w,h){var fd=Module["_fileno"](file);var stream=FS.getStream(fd);if(stream){return _emscripten_get_preloaded_image_data(stream.path,w,h)}return 0}Module["_emscripten_get_preloaded_image_data_from_FILE"]=_emscripten_get_preloaded_image_data_from_FILE;var PROXYFS={mount:function(mount){return PROXYFS.createNode(null,"/",mount.opts.fs.lstat(mount.opts.root).mode,0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=PROXYFS.node_ops;node.stream_ops=PROXYFS.stream_ops;return node},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},node_ops:{getattr:function(node){var path=PROXYFS.realPath(node);var stat;try{stat=node.mount.opts.fs.lstat(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=PROXYFS.realPath(node);try{if(attr.mode!==undefined){node.mount.opts.fs.chmod(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);node.mount.opts.fs.utime(path,date,date)}if(attr.size!==undefined){node.mount.opts.fs.truncate(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup:function(parent,name){try{var path=PATH.join2(PROXYFS.realPath(parent),name);var mode=parent.mount.opts.fs.lstat(path).mode;var node=PROXYFS.createNode(parent,name,mode);return node}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},mknod:function(parent,name,mode,dev){var node=PROXYFS.createNode(parent,name,mode,dev);var path=PROXYFS.realPath(node);try{if(FS.isDir(node.mode)){node.mount.opts.fs.mkdir(path,node.mode)}else{node.mount.opts.fs.writeFile(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node},rename:function(oldNode,newDir,newName){var oldPath=PROXYFS.realPath(oldNode);var newPath=PATH.join2(PROXYFS.realPath(newDir),newName);try{oldNode.mount.opts.fs.rename(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink:function(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.unlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir:function(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.rmdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir:function(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(PROXYFS.realPath(parent),newName);try{parent.mount.opts.fs.symlink(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink:function(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open:function(stream){var path=PROXYFS.realPath(stream.node);try{stream.nfd=stream.node.mount.opts.fs.open(path,stream.flags)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close:function(stream){try{stream.node.mount.opts.fs.close(stream.nfd)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read:function(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.read(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},write:function(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.write(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=stream.node.mount.opts.fs.fstat(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};Module["PROXYFS"]=PROXYFS;function ___set_network_callback(event,userData,callback){function _callback(data){try{if(event==="error"){var sp=stackSave();var msg=allocate(intArrayFromString(data[2]),"i8",ALLOC_STACK);dynCall_viiii(callback,data[0],data[1],msg,userData);stackRestore(sp)}else{dynCall_vii(callback,data,userData)}}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}}Module["noExitRuntime"]=true;Module["websocket"]["on"](event,callback?_callback:null)}Module["___set_network_callback"]=___set_network_callback;function _emscripten_set_socket_error_callback(userData,callback){___set_network_callback("error",userData,callback)}Module["_emscripten_set_socket_error_callback"]=_emscripten_set_socket_error_callback;function _emscripten_set_socket_open_callback(userData,callback){___set_network_callback("open",userData,callback)}Module["_emscripten_set_socket_open_callback"]=_emscripten_set_socket_open_callback;function _emscripten_set_socket_listen_callback(userData,callback){___set_network_callback("listen",userData,callback)}Module["_emscripten_set_socket_listen_callback"]=_emscripten_set_socket_listen_callback;function _emscripten_set_socket_connection_callback(userData,callback){___set_network_callback("connection",userData,callback)}Module["_emscripten_set_socket_connection_callback"]=_emscripten_set_socket_connection_callback;function _emscripten_set_socket_message_callback(userData,callback){___set_network_callback("message",userData,callback)}Module["_emscripten_set_socket_message_callback"]=_emscripten_set_socket_message_callback;function _emscripten_set_socket_close_callback(userData,callback){___set_network_callback("close",userData,callback)}Module["_emscripten_set_socket_close_callback"]=_emscripten_set_socket_close_callback;var __tempFixedLengthArray=[];Module["__tempFixedLengthArray"]=__tempFixedLengthArray;function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}Module["_glPixelStorei"]=_glPixelStorei;function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i=0;i<exts.length;++i){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=stringToNewUTF8(gl_exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}Module["_glGetString"]=_glGetString;function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=="Integer"&&type!=="Integer64"){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i<result.length;++i){switch(type){case"Integer":HEAP32[p+i*4>>2]=result[i];break;case"Float":HEAPF32[p+i*4>>2]=result[i];break;case"Boolean":HEAP8[p+i>>0]=result[i]?1:0;break;default:throw"internal glGet error, bad type: "+type}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);return}}switch(type){case"Integer64":tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case"Integer":HEAP32[p>>2]=ret;break;case"Float":HEAPF32[p>>2]=ret;break;case"Boolean":HEAP8[p>>0]=ret?1:0;break;default:throw"internal glGet error, bad type: "+type}}Module["emscriptenWebGLGet"]=emscriptenWebGLGet;function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,"Integer")}Module["_glGetIntegerv"]=_glGetIntegerv;function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,"Float")}Module["_glGetFloatv"]=_glGetFloatv;function _glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,"Boolean")}Module["_glGetBooleanv"]=_glGetBooleanv;function _glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}Module["_glDeleteTextures"]=_glDeleteTextures;function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}Module["_glCompressedTexImage2D"]=_glCompressedTexImage2D;function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}Module["_glCompressedTexSubImage2D"]=_glCompressedTexSubImage2D;function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}Module["__computeUnpackAlignedImageSize"]=__computeUnpackAlignedImageSize;var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};Module["__colorChannelsInGlTextureFormat"]=__colorChannelsInGlTextureFormat;var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};Module["__sizeOfGlTextureElementType"]=__sizeOfGlTextureElementType;function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}Module["emscriptenWebGLGetTexPixelData"]=emscriptenWebGLGetTexPixelData;function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}Module["_glTexImage2D"]=_glTexImage2D;function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}Module["_glTexSubImage2D"]=_glTexSubImage2D;function _glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}Module["_glReadPixels"]=_glReadPixels;function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}Module["_glBindTexture"]=_glBindTexture;function _glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}Module["_glGetTexParameterfv"]=_glGetTexParameterfv;function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}Module["_glGetTexParameteriv"]=_glGetTexParameteriv;function _glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}Module["_glTexParameterfv"]=_glTexParameterfv;function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}Module["_glTexParameteriv"]=_glTexParameteriv;function _glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}Module["_glIsTexture"]=_glIsTexture;function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i<n;i++){var buffer=GLctx[createFunction]();var id=buffer&&GL.getNewId(objectTable);if(buffer){buffer.name=id;objectTable[id]=buffer}else{GL.recordError(1282)}HEAP32[buffers+i*4>>2]=id}}Module["__glGenObject"]=__glGenObject;function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}Module["_glGenBuffers"]=_glGenBuffers;function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}Module["_glGenTextures"]=_glGenTextures;function _glDeleteBuffers(n,buffers){for(var i=0;i<n;i++){var id=HEAP32[buffers+i*4>>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}Module["_glDeleteBuffers"]=_glDeleteBuffers;function _glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}Module["_glGetBufferParameteriv"]=_glGetBufferParameteriv;function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}Module["_glBufferData"]=_glBufferData;function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}Module["_glBufferSubData"]=_glBufferSubData;function _glGenQueriesEXT(n,ids){for(var i=0;i<n;i++){var query=GLctx.disjointTimerQueryExt["createQueryEXT"]();if(!query){GL.recordError(1282);while(i<n)HEAP32[ids+i++*4>>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}Module["_glGenQueriesEXT"]=_glGenQueriesEXT;function _glDeleteQueriesEXT(n,ids){for(var i=0;i<n;i++){var id=HEAP32[ids+i*4>>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}Module["_glDeleteQueriesEXT"]=_glDeleteQueriesEXT;function _glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}Module["_glIsQueryEXT"]=_glIsQueryEXT;function _glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.timerQueriesEXT[id])}Module["_glBeginQueryEXT"]=_glBeginQueryEXT;function _glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}Module["_glEndQueryEXT"]=_glEndQueryEXT;function _glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}Module["_glQueryCounterEXT"]=_glQueryCounterEXT;function _glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}Module["_glGetQueryivEXT"]=_glGetQueryivEXT;function _glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}Module["_glGetQueryObjectivEXT"]=_glGetQueryObjectivEXT;function _glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}Module["_glGetQueryObjectuivEXT"]=_glGetQueryObjectuivEXT;function _glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}Module["_glGetQueryObjecti64vEXT"]=_glGetQueryObjecti64vEXT;function _glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}Module["_glGetQueryObjectui64vEXT"]=_glGetQueryObjectui64vEXT;function _glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}Module["_glIsBuffer"]=_glIsBuffer;function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}Module["_glGenRenderbuffers"]=_glGenRenderbuffers;function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var id=HEAP32[renderbuffers+i*4>>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}Module["_glDeleteRenderbuffers"]=_glDeleteRenderbuffers;function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}Module["_glBindRenderbuffer"]=_glBindRenderbuffer;function _glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}Module["_glGetRenderbufferParameteriv"]=_glGetRenderbufferParameteriv;function _glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}Module["_glIsRenderbuffer"]=_glIsRenderbuffer;function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getUniform(GL.programs[program],GL.uniforms[location]);if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i<data.length;i++){switch(type){case"Integer":HEAP32[params+i*4>>2]=data[i];break;case"Float":HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}Module["emscriptenWebGLGetUniform"]=emscriptenWebGLGetUniform;function _glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Float")}Module["_glGetUniformfv"]=_glGetUniformfv;function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Integer")}Module["_glGetUniformiv"]=_glGetUniformiv;function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex<uniformInfo[0]){return uniformInfo[1]+arrayIndex}else{return-1}}Module["_glGetUniformLocation"]=_glGetUniformLocation;function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;case"FloatToInteger":HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i<data.length;i++){switch(type){case"Integer":HEAP32[params+i*4>>2]=data[i];break;case"Float":HEAPF32[params+i*4>>2]=data[i];break;case"FloatToInteger":HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}Module["emscriptenWebGLGetVertexAttrib"]=emscriptenWebGLGetVertexAttrib;function _glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"Float")}Module["_glGetVertexAttribfv"]=_glGetVertexAttribfv;function _glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"FloatToInteger")}Module["_glGetVertexAttribiv"]=_glGetVertexAttribiv;function _glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}Module["_glGetVertexAttribPointerv"]=_glGetVertexAttribPointerv;function _glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;if(bufSize>0&&name){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}Module["_glGetActiveUniform"]=_glGetActiveUniform;function _glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}Module["_glUniform1f"]=_glUniform1f;function _glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}Module["_glUniform2f"]=_glUniform2f;function _glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}Module["_glUniform3f"]=_glUniform3f;function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}Module["_glUniform4f"]=_glUniform4f;function _glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}Module["_glUniform1i"]=_glUniform1i;function _glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}Module["_glUniform2i"]=_glUniform2i;function _glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}Module["_glUniform3i"]=_glUniform3i;function _glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}Module["_glUniform4i"]=_glUniform4i;function _glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}Module["_glUniform1iv"]=_glUniform1iv;function _glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}Module["_glUniform2iv"]=_glUniform2iv;function _glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}Module["_glUniform3iv"]=_glUniform3iv;function _glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}Module["_glUniform4iv"]=_glUniform4iv;function _glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i<count;++i){view[i]=HEAPF32[value+4*i>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}Module["_glUniform1fv"]=_glUniform1fv;function _glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}Module["_glUniform2fv"]=_glUniform2fv;function _glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}Module["_glUniform3fv"]=_glUniform3fv;function _glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}Module["_glUniform4fv"]=_glUniform4fv;function _glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}Module["_glUniformMatrix2fv"]=_glUniformMatrix2fv;function _glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}Module["_glUniformMatrix3fv"]=_glUniformMatrix3fv;function _glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}Module["_glUniformMatrix4fv"]=_glUniformMatrix4fv;function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}Module["_glBindBuffer"]=_glBindBuffer;function _glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}Module["_glVertexAttrib1fv"]=_glVertexAttrib1fv;function _glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}Module["_glVertexAttrib2fv"]=_glVertexAttrib2fv;function _glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}Module["_glVertexAttrib3fv"]=_glVertexAttrib3fv;function _glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}Module["_glVertexAttrib4fv"]=_glVertexAttrib4fv;function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}Module["_glGetAttribLocation"]=_glGetAttribLocation;function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;if(bufSize>0&&name){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}Module["_glGetActiveAttrib"]=_glGetActiveAttrib;function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}Module["_glCreateShader"]=_glCreateShader;function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}Module["_glDeleteShader"]=_glDeleteShader;function _glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i<len;++i){var id=GL.shaders.indexOf(result[i]);HEAP32[shaders+i*4>>2]=id}}Module["_glGetAttachedShaders"]=_glGetAttachedShaders;function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}Module["_glShaderSource"]=_glShaderSource;function _glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;if(bufSize>0&&source){var numBytesWrittenExclNull=stringToUTF8(result,source,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}Module["_glGetShaderSource"]=_glGetShaderSource;function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}Module["_glCompileShader"]=_glCompileShader;function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}Module["_glGetShaderInfoLog"]=_glGetShaderInfoLog;function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}Module["_glGetShaderiv"]=_glGetShaderiv;function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i<numAttribs;++i){var activeAttrib=GLctx.getActiveAttrib(program,i);ptable.maxAttributeLength=Math.max(ptable.maxAttributeLength,activeAttrib.name.length+1)}}HEAP32[p>>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i<numBlocks;++i){var activeBlockName=GLctx.getActiveUniformBlockName(program,i);ptable.maxUniformBlockNameLength=Math.max(ptable.maxUniformBlockNameLength,activeBlockName.length+1)}}HEAP32[p>>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}Module["_glGetProgramiv"]=_glGetProgramiv;function _glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}Module["_glIsShader"]=_glIsShader;function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}Module["_glCreateProgram"]=_glCreateProgram;function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}Module["_glDeleteProgram"]=_glDeleteProgram;function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}Module["_glAttachShader"]=_glAttachShader;function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}Module["_glDetachShader"]=_glDetachShader;function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}Module["_glGetShaderPrecisionFormat"]=_glGetShaderPrecisionFormat;function _glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}Module["_glLinkProgram"]=_glLinkProgram;function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}Module["_glGetProgramInfoLog"]=_glGetProgramInfoLog;function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}Module["_glUseProgram"]=_glUseProgram;function _glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}Module["_glValidateProgram"]=_glValidateProgram;function _glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}Module["_glIsProgram"]=_glIsProgram;function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}Module["_glBindAttribLocation"]=_glBindAttribLocation;function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}Module["_glBindFramebuffer"]=_glBindFramebuffer;function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}Module["_glGenFramebuffers"]=_glGenFramebuffers;function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i<n;++i){var id=HEAP32[framebuffers+i*4>>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}Module["_glDeleteFramebuffers"]=_glDeleteFramebuffers;function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}Module["_glFramebufferRenderbuffer"]=_glFramebufferRenderbuffer;function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}Module["_glFramebufferTexture2D"]=_glFramebufferTexture2D;function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}Module["_glGetFramebufferAttachmentParameteriv"]=_glGetFramebufferAttachmentParameteriv;function _glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}Module["_glIsFramebuffer"]=_glIsFramebuffer;function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}Module["_glGenVertexArrays"]=_glGenVertexArrays;function _glDeleteVertexArrays(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}Module["_glDeleteVertexArrays"]=_glDeleteVertexArrays;function _glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}Module["_glBindVertexArray"]=_glBindVertexArray;function _glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}Module["_glIsVertexArray"]=_glIsVertexArray;function _glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_glVertexPointer"]=_glVertexPointer;function _glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_glMatrixMode"]=_glMatrixMode;function _glBegin(){throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_glBegin"]=_glBegin;function _glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_glLoadIdentity"]=_glLoadIdentity;function _glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}Module["_glGenVertexArraysOES"]=_glGenVertexArraysOES;function _glDeleteVertexArraysOES(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}Module["_glDeleteVertexArraysOES"]=_glDeleteVertexArraysOES;function _glBindVertexArrayOES(vao){GLctx["bindVertexArray"](GL.vaos[vao])}Module["_glBindVertexArrayOES"]=_glBindVertexArrayOES;function _glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}Module["_glIsVertexArrayOES"]=_glIsVertexArrayOES;function _gluPerspective(fov,aspect,near,far){GLImmediate.matricesModified=true;GLImmediate.matrixVersion[GLImmediate.currentMatrix]=GLImmediate.matrixVersion[GLImmediate.currentMatrix]+1|0;GLImmediate.matrix[GLImmediate.currentMatrix]=GLImmediate.matrixLib.mat4.perspective(fov,aspect,near,far,GLImmediate.matrix[GLImmediate.currentMatrix])}Module["_gluPerspective"]=_gluPerspective;function _gluLookAt(ex,ey,ez,cx,cy,cz,ux,uy,uz){GLImmediate.matricesModified=true;GLImmediate.matrixVersion[GLImmediate.currentMatrix]=GLImmediate.matrixVersion[GLImmediate.currentMatrix]+1|0;GLImmediate.matrixLib.mat4.lookAt(GLImmediate.matrix[GLImmediate.currentMatrix],[ex,ey,ez],[cx,cy,cz],[ux,uy,uz])}Module["_gluLookAt"]=_gluLookAt;function _gluProject(objX,objY,objZ,model,proj,view,winX,winY,winZ){var inVec=new Float32Array(4);var outVec=new Float32Array(4);GLImmediate.matrixLib.mat4.multiplyVec4(HEAPF64.subarray(model>>3,model+128>>3),[objX,objY,objZ,1],outVec);GLImmediate.matrixLib.mat4.multiplyVec4(HEAPF64.subarray(proj>>3,proj+128>>3),outVec,inVec);if(inVec[3]==0){return 0}inVec[0]/=inVec[3];inVec[1]/=inVec[3];inVec[2]/=inVec[3];inVec[0]=inVec[0]*.5+.5;inVec[1]=inVec[1]*.5+.5;inVec[2]=inVec[2]*.5+.5;inVec[0]=inVec[0]*HEAP32[view+8>>2]+HEAP32[view>>2];inVec[1]=inVec[1]*HEAP32[view+12>>2]+HEAP32[view+4>>2];HEAPF64[winX>>3]=inVec[0];HEAPF64[winY>>3]=inVec[1];HEAPF64[winZ>>3]=inVec[2];return 1}Module["_gluProject"]=_gluProject;function _gluUnProject(winX,winY,winZ,model,proj,view,objX,objY,objZ){var result=GLImmediate.matrixLib.mat4.unproject([winX,winY,winZ],HEAPF64.subarray(model>>3,model+128>>3),HEAPF64.subarray(proj>>3,proj+128>>3),HEAP32.subarray(view>>2,view+16>>2));if(result===null){return 0}HEAPF64[objX>>3]=result[0];HEAPF64[objY>>3]=result[1];HEAPF64[objZ>>3]=result[2];return 1}Module["_gluUnProject"]=_gluUnProject;function _glOrtho(){return Module["_glOrtho"].apply(null,arguments)}function _gluOrtho2D(left,right,bottom,top){_glOrtho(left,right,bottom,top,-1,1)}Module["_gluOrtho2D"]=_gluOrtho2D;function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}Module["_glVertexAttribPointer"]=_glVertexAttribPointer;function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}Module["_glEnableVertexAttribArray"]=_glEnableVertexAttribArray;function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}Module["_glDisableVertexAttribArray"]=_glDisableVertexAttribArray;function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}Module["_glDrawArrays"]=_glDrawArrays;function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}Module["_glDrawElements"]=_glDrawElements;function _glShaderBinary(){GL.recordError(1280)}Module["_glShaderBinary"]=_glShaderBinary;function _glReleaseShaderCompiler(){}Module["_glReleaseShaderCompiler"]=_glReleaseShaderCompiler;function _glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}Module["_glGetError"]=_glGetError;function _glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisor"]=_glVertexAttribDivisor;function _glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstanced"]=_glDrawArraysInstanced;function _glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstanced"]=_glDrawElementsInstanced;function _glVertexAttribDivisorNV(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisorNV"]=_glVertexAttribDivisorNV;function _glDrawArraysInstancedNV(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstancedNV"]=_glDrawArraysInstancedNV;function _glDrawElementsInstancedNV(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstancedNV"]=_glDrawElementsInstancedNV;function _glVertexAttribDivisorEXT(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisorEXT"]=_glVertexAttribDivisorEXT;function _glDrawArraysInstancedEXT(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstancedEXT"]=_glDrawArraysInstancedEXT;function _glDrawElementsInstancedEXT(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstancedEXT"]=_glDrawElementsInstancedEXT;function _glVertexAttribDivisorARB(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisorARB"]=_glVertexAttribDivisorARB;function _glDrawArraysInstancedARB(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstancedARB"]=_glDrawArraysInstancedARB;function _glDrawElementsInstancedARB(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstancedARB"]=_glDrawElementsInstancedARB;function _glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_glVertexAttribDivisorANGLE"]=_glVertexAttribDivisorANGLE;function _glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_glDrawArraysInstancedANGLE"]=_glDrawArraysInstancedANGLE;function _glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_glDrawElementsInstancedANGLE"]=_glDrawElementsInstancedANGLE;function _glDrawBuffers(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_glDrawBuffers"]=_glDrawBuffers;function _glDrawBuffersEXT(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_glDrawBuffersEXT"]=_glDrawBuffersEXT;function _glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_glDrawBuffersWEBGL"]=_glDrawBuffersWEBGL;function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}Module["_glColorMask"]=_glColorMask;function _glDepthMask(flag){GLctx.depthMask(!!flag)}Module["_glDepthMask"]=_glDepthMask;function _glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}Module["_glSampleCoverage"]=_glSampleCoverage;function _glFinish(){GLctx["finish"]()}Module["_glFinish"]=_glFinish;function _glFlush(){GLctx["flush"]()}Module["_glFlush"]=_glFlush;function _glClearDepth(x0){GLctx["clearDepth"](x0)}Module["_glClearDepth"]=_glClearDepth;function _glClearDepthf(x0){GLctx["clearDepth"](x0)}Module["_glClearDepthf"]=_glClearDepthf;function _glDepthFunc(x0){GLctx["depthFunc"](x0)}Module["_glDepthFunc"]=_glDepthFunc;function _glEnable(x0){GLctx["enable"](x0)}Module["_glEnable"]=_glEnable;function _glDisable(x0){GLctx["disable"](x0)}Module["_glDisable"]=_glDisable;function _glFrontFace(x0){GLctx["frontFace"](x0)}Module["_glFrontFace"]=_glFrontFace;function _glCullFace(x0){GLctx["cullFace"](x0)}Module["_glCullFace"]=_glCullFace;function _glClear(x0){GLctx["clear"](x0)}Module["_glClear"]=_glClear;function _glLineWidth(x0){GLctx["lineWidth"](x0)}Module["_glLineWidth"]=_glLineWidth;function _glClearStencil(x0){GLctx["clearStencil"](x0)}Module["_glClearStencil"]=_glClearStencil;function _glStencilMask(x0){GLctx["stencilMask"](x0)}Module["_glStencilMask"]=_glStencilMask;function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}Module["_glCheckFramebufferStatus"]=_glCheckFramebufferStatus;function _glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}Module["_glGenerateMipmap"]=_glGenerateMipmap;function _glActiveTexture(x0){GLctx["activeTexture"](x0)}Module["_glActiveTexture"]=_glActiveTexture;function _glBlendEquation(x0){GLctx["blendEquation"](x0)}Module["_glBlendEquation"]=_glBlendEquation;function _glIsEnabled(x0){return GLctx["isEnabled"](x0)}Module["_glIsEnabled"]=_glIsEnabled;function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}Module["_glBlendFunc"]=_glBlendFunc;function _glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}Module["_glBlendEquationSeparate"]=_glBlendEquationSeparate;function _glDepthRange(x0,x1){GLctx["depthRange"](x0,x1)}Module["_glDepthRange"]=_glDepthRange;function _glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}Module["_glDepthRangef"]=_glDepthRangef;function _glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}Module["_glStencilMaskSeparate"]=_glStencilMaskSeparate;function _glHint(x0,x1){GLctx["hint"](x0,x1)}Module["_glHint"]=_glHint;function _glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}Module["_glPolygonOffset"]=_glPolygonOffset;function _glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}Module["_glVertexAttrib1f"]=_glVertexAttrib1f;function _glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}Module["_glTexParameteri"]=_glTexParameteri;function _glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}Module["_glTexParameterf"]=_glTexParameterf;function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}Module["_glVertexAttrib2f"]=_glVertexAttrib2f;function _glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}Module["_glStencilFunc"]=_glStencilFunc;function _glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}Module["_glStencilOp"]=_glStencilOp;function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}Module["_glViewport"]=_glViewport;function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}Module["_glClearColor"]=_glClearColor;function _glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}Module["_glScissor"]=_glScissor;function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}Module["_glVertexAttrib3f"]=_glVertexAttrib3f;function _glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}Module["_glRenderbufferStorage"]=_glRenderbufferStorage;function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}Module["_glBlendFuncSeparate"]=_glBlendFuncSeparate;function _glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}Module["_glBlendColor"]=_glBlendColor;function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}Module["_glStencilFuncSeparate"]=_glStencilFuncSeparate;function _glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}Module["_glStencilOpSeparate"]=_glStencilOpSeparate;function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}Module["_glVertexAttrib4f"]=_glVertexAttrib4f;function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}Module["_glCopyTexImage2D"]=_glCopyTexImage2D;function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}Module["_glCopyTexSubImage2D"]=_glCopyTexSubImage2D;function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}Module["_emscripten_glPixelStorei"]=_emscripten_glPixelStorei;function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i=0;i<exts.length;++i){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=stringToNewUTF8(gl_exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}Module["_emscripten_glGetString"]=_emscripten_glGetString;function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,"Integer")}Module["_emscripten_glGetIntegerv"]=_emscripten_glGetIntegerv;function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,"Float")}Module["_emscripten_glGetFloatv"]=_emscripten_glGetFloatv;function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,"Boolean")}Module["_emscripten_glGetBooleanv"]=_emscripten_glGetBooleanv;function _emscripten_glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}Module["_emscripten_glDeleteTextures"]=_emscripten_glDeleteTextures;function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}Module["_emscripten_glCompressedTexImage2D"]=_emscripten_glCompressedTexImage2D;function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}Module["_emscripten_glCompressedTexSubImage2D"]=_emscripten_glCompressedTexSubImage2D;function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}Module["_emscripten_glTexImage2D"]=_emscripten_glTexImage2D;function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}Module["_emscripten_glTexSubImage2D"]=_emscripten_glTexSubImage2D;function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}Module["_emscripten_glReadPixels"]=_emscripten_glReadPixels;function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}Module["_emscripten_glBindTexture"]=_emscripten_glBindTexture;function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}Module["_emscripten_glGetTexParameterfv"]=_emscripten_glGetTexParameterfv;function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}Module["_emscripten_glGetTexParameteriv"]=_emscripten_glGetTexParameteriv;function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}Module["_emscripten_glTexParameterfv"]=_emscripten_glTexParameterfv;function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}Module["_emscripten_glTexParameteriv"]=_emscripten_glTexParameteriv;function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}Module["_emscripten_glIsTexture"]=_emscripten_glIsTexture;function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}Module["_emscripten_glGenBuffers"]=_emscripten_glGenBuffers;function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}Module["_emscripten_glGenTextures"]=_emscripten_glGenTextures;function _emscripten_glDeleteBuffers(n,buffers){for(var i=0;i<n;i++){var id=HEAP32[buffers+i*4>>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}Module["_emscripten_glDeleteBuffers"]=_emscripten_glDeleteBuffers;function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}Module["_emscripten_glGetBufferParameteriv"]=_emscripten_glGetBufferParameteriv;function _emscripten_glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}Module["_emscripten_glBufferData"]=_emscripten_glBufferData;function _emscripten_glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}Module["_emscripten_glBufferSubData"]=_emscripten_glBufferSubData;function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i<n;i++){var query=GLctx.disjointTimerQueryExt["createQueryEXT"]();if(!query){GL.recordError(1282);while(i<n)HEAP32[ids+i++*4>>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}Module["_emscripten_glGenQueriesEXT"]=_emscripten_glGenQueriesEXT;function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i<n;i++){var id=HEAP32[ids+i*4>>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}Module["_emscripten_glDeleteQueriesEXT"]=_emscripten_glDeleteQueriesEXT;function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}Module["_emscripten_glIsQueryEXT"]=_emscripten_glIsQueryEXT;function _emscripten_glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.timerQueriesEXT[id])}Module["_emscripten_glBeginQueryEXT"]=_emscripten_glBeginQueryEXT;function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}Module["_emscripten_glEndQueryEXT"]=_emscripten_glEndQueryEXT;function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}Module["_emscripten_glQueryCounterEXT"]=_emscripten_glQueryCounterEXT;function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}Module["_emscripten_glGetQueryivEXT"]=_emscripten_glGetQueryivEXT;function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}Module["_emscripten_glGetQueryObjectivEXT"]=_emscripten_glGetQueryObjectivEXT;function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}Module["_emscripten_glGetQueryObjectuivEXT"]=_emscripten_glGetQueryObjectuivEXT;function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}Module["_emscripten_glGetQueryObjecti64vEXT"]=_emscripten_glGetQueryObjecti64vEXT;function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}Module["_emscripten_glGetQueryObjectui64vEXT"]=_emscripten_glGetQueryObjectui64vEXT;function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}Module["_emscripten_glIsBuffer"]=_emscripten_glIsBuffer;function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}Module["_emscripten_glGenRenderbuffers"]=_emscripten_glGenRenderbuffers;function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var id=HEAP32[renderbuffers+i*4>>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}Module["_emscripten_glDeleteRenderbuffers"]=_emscripten_glDeleteRenderbuffers;function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}Module["_emscripten_glBindRenderbuffer"]=_emscripten_glBindRenderbuffer;function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}Module["_emscripten_glGetRenderbufferParameteriv"]=_emscripten_glGetRenderbufferParameteriv;function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}Module["_emscripten_glIsRenderbuffer"]=_emscripten_glIsRenderbuffer;function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Float")}Module["_emscripten_glGetUniformfv"]=_emscripten_glGetUniformfv;function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Integer")}Module["_emscripten_glGetUniformiv"]=_emscripten_glGetUniformiv;function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex<uniformInfo[0]){return uniformInfo[1]+arrayIndex}else{return-1}}Module["_emscripten_glGetUniformLocation"]=_emscripten_glGetUniformLocation;function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"Float")}Module["_emscripten_glGetVertexAttribfv"]=_emscripten_glGetVertexAttribfv;function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"FloatToInteger")}Module["_emscripten_glGetVertexAttribiv"]=_emscripten_glGetVertexAttribiv;function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}Module["_emscripten_glGetVertexAttribPointerv"]=_emscripten_glGetVertexAttribPointerv;function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;if(bufSize>0&&name){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}Module["_emscripten_glGetActiveUniform"]=_emscripten_glGetActiveUniform;function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}Module["_emscripten_glUniform1f"]=_emscripten_glUniform1f;function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}Module["_emscripten_glUniform2f"]=_emscripten_glUniform2f;function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}Module["_emscripten_glUniform3f"]=_emscripten_glUniform3f;function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}Module["_emscripten_glUniform4f"]=_emscripten_glUniform4f;function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}Module["_emscripten_glUniform1i"]=_emscripten_glUniform1i;function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}Module["_emscripten_glUniform2i"]=_emscripten_glUniform2i;function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}Module["_emscripten_glUniform3i"]=_emscripten_glUniform3i;function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}Module["_emscripten_glUniform4i"]=_emscripten_glUniform4i;function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}Module["_emscripten_glUniform1iv"]=_emscripten_glUniform1iv;function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}Module["_emscripten_glUniform2iv"]=_emscripten_glUniform2iv;function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}Module["_emscripten_glUniform3iv"]=_emscripten_glUniform3iv;function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}Module["_emscripten_glUniform4iv"]=_emscripten_glUniform4iv;function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i<count;++i){view[i]=HEAPF32[value+4*i>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}Module["_emscripten_glUniform1fv"]=_emscripten_glUniform1fv;function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}Module["_emscripten_glUniform2fv"]=_emscripten_glUniform2fv;function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}Module["_emscripten_glUniform3fv"]=_emscripten_glUniform3fv;function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}Module["_emscripten_glUniform4fv"]=_emscripten_glUniform4fv;function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}Module["_emscripten_glUniformMatrix2fv"]=_emscripten_glUniformMatrix2fv;function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}Module["_emscripten_glUniformMatrix3fv"]=_emscripten_glUniformMatrix3fv;function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}Module["_emscripten_glUniformMatrix4fv"]=_emscripten_glUniformMatrix4fv;function _emscripten_glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}Module["_emscripten_glBindBuffer"]=_emscripten_glBindBuffer;function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}Module["_emscripten_glVertexAttrib1fv"]=_emscripten_glVertexAttrib1fv;function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}Module["_emscripten_glVertexAttrib2fv"]=_emscripten_glVertexAttrib2fv;function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}Module["_emscripten_glVertexAttrib3fv"]=_emscripten_glVertexAttrib3fv;function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}Module["_emscripten_glVertexAttrib4fv"]=_emscripten_glVertexAttrib4fv;function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}Module["_emscripten_glGetAttribLocation"]=_emscripten_glGetAttribLocation;function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;if(bufSize>0&&name){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}Module["_emscripten_glGetActiveAttrib"]=_emscripten_glGetActiveAttrib;function _emscripten_glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}Module["_emscripten_glCreateShader"]=_emscripten_glCreateShader;function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}Module["_emscripten_glDeleteShader"]=_emscripten_glDeleteShader;function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i<len;++i){var id=GL.shaders.indexOf(result[i]);HEAP32[shaders+i*4>>2]=id}}Module["_emscripten_glGetAttachedShaders"]=_emscripten_glGetAttachedShaders;function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}Module["_emscripten_glShaderSource"]=_emscripten_glShaderSource;function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;if(bufSize>0&&source){var numBytesWrittenExclNull=stringToUTF8(result,source,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}Module["_emscripten_glGetShaderSource"]=_emscripten_glGetShaderSource;function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}Module["_emscripten_glCompileShader"]=_emscripten_glCompileShader;function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}Module["_emscripten_glGetShaderInfoLog"]=_emscripten_glGetShaderInfoLog;function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}Module["_emscripten_glGetShaderiv"]=_emscripten_glGetShaderiv;function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i<numAttribs;++i){var activeAttrib=GLctx.getActiveAttrib(program,i);ptable.maxAttributeLength=Math.max(ptable.maxAttributeLength,activeAttrib.name.length+1)}}HEAP32[p>>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i<numBlocks;++i){var activeBlockName=GLctx.getActiveUniformBlockName(program,i);ptable.maxUniformBlockNameLength=Math.max(ptable.maxUniformBlockNameLength,activeBlockName.length+1)}}HEAP32[p>>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}Module["_emscripten_glGetProgramiv"]=_emscripten_glGetProgramiv;function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}Module["_emscripten_glIsShader"]=_emscripten_glIsShader;function _emscripten_glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}Module["_emscripten_glCreateProgram"]=_emscripten_glCreateProgram;function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}Module["_emscripten_glDeleteProgram"]=_emscripten_glDeleteProgram;function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}Module["_emscripten_glAttachShader"]=_emscripten_glAttachShader;function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}Module["_emscripten_glDetachShader"]=_emscripten_glDetachShader;function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}Module["_emscripten_glGetShaderPrecisionFormat"]=_emscripten_glGetShaderPrecisionFormat;function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}Module["_emscripten_glLinkProgram"]=_emscripten_glLinkProgram;function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}Module["_emscripten_glGetProgramInfoLog"]=_emscripten_glGetProgramInfoLog;function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}Module["_emscripten_glUseProgram"]=_emscripten_glUseProgram;function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}Module["_emscripten_glValidateProgram"]=_emscripten_glValidateProgram;function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}Module["_emscripten_glIsProgram"]=_emscripten_glIsProgram;function _emscripten_glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}Module["_emscripten_glBindAttribLocation"]=_emscripten_glBindAttribLocation;function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}Module["_emscripten_glBindFramebuffer"]=_emscripten_glBindFramebuffer;function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}Module["_emscripten_glGenFramebuffers"]=_emscripten_glGenFramebuffers;function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i<n;++i){var id=HEAP32[framebuffers+i*4>>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}Module["_emscripten_glDeleteFramebuffers"]=_emscripten_glDeleteFramebuffers;function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}Module["_emscripten_glFramebufferRenderbuffer"]=_emscripten_glFramebufferRenderbuffer;function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}Module["_emscripten_glFramebufferTexture2D"]=_emscripten_glFramebufferTexture2D;function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}Module["_emscripten_glGetFramebufferAttachmentParameteriv"]=_emscripten_glGetFramebufferAttachmentParameteriv;function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}Module["_emscripten_glIsFramebuffer"]=_emscripten_glIsFramebuffer;function _emscripten_glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}Module["_emscripten_glGenVertexArrays"]=_emscripten_glGenVertexArrays;function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}Module["_emscripten_glDeleteVertexArrays"]=_emscripten_glDeleteVertexArrays;function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}Module["_emscripten_glBindVertexArray"]=_emscripten_glBindVertexArray;function _emscripten_glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}Module["_emscripten_glIsVertexArray"]=_emscripten_glIsVertexArray;function _emscripten_glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_emscripten_glVertexPointer"]=_emscripten_glVertexPointer;function _emscripten_glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_emscripten_glMatrixMode"]=_emscripten_glMatrixMode;function _emscripten_glBegin(){throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_emscripten_glBegin"]=_emscripten_glBegin;function _emscripten_glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}Module["_emscripten_glLoadIdentity"]=_emscripten_glLoadIdentity;function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}Module["_emscripten_glGenVertexArraysOES"]=_emscripten_glGenVertexArraysOES;function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}Module["_emscripten_glDeleteVertexArraysOES"]=_emscripten_glDeleteVertexArraysOES;function _emscripten_glBindVertexArrayOES(vao){GLctx["bindVertexArray"](GL.vaos[vao])}Module["_emscripten_glBindVertexArrayOES"]=_emscripten_glBindVertexArrayOES;function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}Module["_emscripten_glIsVertexArrayOES"]=_emscripten_glIsVertexArrayOES;function _emscripten_gluPerspective(fov,aspect,near,far){GLImmediate.matricesModified=true;GLImmediate.matrixVersion[GLImmediate.currentMatrix]=GLImmediate.matrixVersion[GLImmediate.currentMatrix]+1|0;GLImmediate.matrix[GLImmediate.currentMatrix]=GLImmediate.matrixLib.mat4.perspective(fov,aspect,near,far,GLImmediate.matrix[GLImmediate.currentMatrix])}Module["_emscripten_gluPerspective"]=_emscripten_gluPerspective;function _emscripten_gluLookAt(ex,ey,ez,cx,cy,cz,ux,uy,uz){GLImmediate.matricesModified=true;GLImmediate.matrixVersion[GLImmediate.currentMatrix]=GLImmediate.matrixVersion[GLImmediate.currentMatrix]+1|0;GLImmediate.matrixLib.mat4.lookAt(GLImmediate.matrix[GLImmediate.currentMatrix],[ex,ey,ez],[cx,cy,cz],[ux,uy,uz])}Module["_emscripten_gluLookAt"]=_emscripten_gluLookAt;function _emscripten_gluProject(objX,objY,objZ,model,proj,view,winX,winY,winZ){var inVec=new Float32Array(4);var outVec=new Float32Array(4);GLImmediate.matrixLib.mat4.multiplyVec4(HEAPF64.subarray(model>>3,model+128>>3),[objX,objY,objZ,1],outVec);GLImmediate.matrixLib.mat4.multiplyVec4(HEAPF64.subarray(proj>>3,proj+128>>3),outVec,inVec);if(inVec[3]==0){return 0}inVec[0]/=inVec[3];inVec[1]/=inVec[3];inVec[2]/=inVec[3];inVec[0]=inVec[0]*.5+.5;inVec[1]=inVec[1]*.5+.5;inVec[2]=inVec[2]*.5+.5;inVec[0]=inVec[0]*HEAP32[view+8>>2]+HEAP32[view>>2];inVec[1]=inVec[1]*HEAP32[view+12>>2]+HEAP32[view+4>>2];HEAPF64[winX>>3]=inVec[0];HEAPF64[winY>>3]=inVec[1];HEAPF64[winZ>>3]=inVec[2];return 1}Module["_emscripten_gluProject"]=_emscripten_gluProject;function _emscripten_gluUnProject(winX,winY,winZ,model,proj,view,objX,objY,objZ){var result=GLImmediate.matrixLib.mat4.unproject([winX,winY,winZ],HEAPF64.subarray(model>>3,model+128>>3),HEAPF64.subarray(proj>>3,proj+128>>3),HEAP32.subarray(view>>2,view+16>>2));if(result===null){return 0}HEAPF64[objX>>3]=result[0];HEAPF64[objY>>3]=result[1];HEAPF64[objZ>>3]=result[2];return 1}Module["_emscripten_gluUnProject"]=_emscripten_gluUnProject;function _emscripten_gluOrtho2D(left,right,bottom,top){_glOrtho(left,right,bottom,top,-1,1)}Module["_emscripten_gluOrtho2D"]=_emscripten_gluOrtho2D;function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}Module["_emscripten_glVertexAttribPointer"]=_emscripten_glVertexAttribPointer;function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}Module["_emscripten_glEnableVertexAttribArray"]=_emscripten_glEnableVertexAttribArray;function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}Module["_emscripten_glDisableVertexAttribArray"]=_emscripten_glDisableVertexAttribArray;function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}Module["_emscripten_glDrawArrays"]=_emscripten_glDrawArrays;function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}Module["_emscripten_glDrawElements"]=_emscripten_glDrawElements;function _emscripten_glShaderBinary(){GL.recordError(1280)}Module["_emscripten_glShaderBinary"]=_emscripten_glShaderBinary;function _emscripten_glReleaseShaderCompiler(){}Module["_emscripten_glReleaseShaderCompiler"]=_emscripten_glReleaseShaderCompiler;function _emscripten_glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}Module["_emscripten_glGetError"]=_emscripten_glGetError;function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisor"]=_emscripten_glVertexAttribDivisor;function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstanced"]=_emscripten_glDrawArraysInstanced;function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstanced"]=_emscripten_glDrawElementsInstanced;function _emscripten_glVertexAttribDivisorNV(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisorNV"]=_emscripten_glVertexAttribDivisorNV;function _emscripten_glDrawArraysInstancedNV(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstancedNV"]=_emscripten_glDrawArraysInstancedNV;function _emscripten_glDrawElementsInstancedNV(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstancedNV"]=_emscripten_glDrawElementsInstancedNV;function _emscripten_glVertexAttribDivisorEXT(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisorEXT"]=_emscripten_glVertexAttribDivisorEXT;function _emscripten_glDrawArraysInstancedEXT(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstancedEXT"]=_emscripten_glDrawArraysInstancedEXT;function _emscripten_glDrawElementsInstancedEXT(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstancedEXT"]=_emscripten_glDrawElementsInstancedEXT;function _emscripten_glVertexAttribDivisorARB(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisorARB"]=_emscripten_glVertexAttribDivisorARB;function _emscripten_glDrawArraysInstancedARB(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstancedARB"]=_emscripten_glDrawArraysInstancedARB;function _emscripten_glDrawElementsInstancedARB(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstancedARB"]=_emscripten_glDrawElementsInstancedARB;function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}Module["_emscripten_glVertexAttribDivisorANGLE"]=_emscripten_glVertexAttribDivisorANGLE;function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}Module["_emscripten_glDrawArraysInstancedANGLE"]=_emscripten_glDrawArraysInstancedANGLE;function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}Module["_emscripten_glDrawElementsInstancedANGLE"]=_emscripten_glDrawElementsInstancedANGLE;function _emscripten_glDrawBuffers(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_emscripten_glDrawBuffers"]=_emscripten_glDrawBuffers;function _emscripten_glDrawBuffersEXT(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_emscripten_glDrawBuffersEXT"]=_emscripten_glDrawBuffersEXT;function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}Module["_emscripten_glDrawBuffersWEBGL"]=_emscripten_glDrawBuffersWEBGL;function _emscripten_glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}Module["_emscripten_glColorMask"]=_emscripten_glColorMask;function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}Module["_emscripten_glDepthMask"]=_emscripten_glDepthMask;function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}Module["_emscripten_glSampleCoverage"]=_emscripten_glSampleCoverage;function _emscripten_glFinish(){GLctx["finish"]()}Module["_emscripten_glFinish"]=_emscripten_glFinish;function _emscripten_glFlush(){GLctx["flush"]()}Module["_emscripten_glFlush"]=_emscripten_glFlush;function _emscripten_glClearDepth(x0){GLctx["clearDepth"](x0)}Module["_emscripten_glClearDepth"]=_emscripten_glClearDepth;function _emscripten_glClearDepthf(x0){GLctx["clearDepth"](x0)}Module["_emscripten_glClearDepthf"]=_emscripten_glClearDepthf;function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}Module["_emscripten_glDepthFunc"]=_emscripten_glDepthFunc;function _emscripten_glEnable(x0){GLctx["enable"](x0)}Module["_emscripten_glEnable"]=_emscripten_glEnable;function _emscripten_glDisable(x0){GLctx["disable"](x0)}Module["_emscripten_glDisable"]=_emscripten_glDisable;function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}Module["_emscripten_glFrontFace"]=_emscripten_glFrontFace;function _emscripten_glCullFace(x0){GLctx["cullFace"](x0)}Module["_emscripten_glCullFace"]=_emscripten_glCullFace;function _emscripten_glClear(x0){GLctx["clear"](x0)}Module["_emscripten_glClear"]=_emscripten_glClear;function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}Module["_emscripten_glLineWidth"]=_emscripten_glLineWidth;function _emscripten_glClearStencil(x0){GLctx["clearStencil"](x0)}Module["_emscripten_glClearStencil"]=_emscripten_glClearStencil;function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}Module["_emscripten_glStencilMask"]=_emscripten_glStencilMask;function _emscripten_glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}Module["_emscripten_glCheckFramebufferStatus"]=_emscripten_glCheckFramebufferStatus;function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}Module["_emscripten_glGenerateMipmap"]=_emscripten_glGenerateMipmap;function _emscripten_glActiveTexture(x0){GLctx["activeTexture"](x0)}Module["_emscripten_glActiveTexture"]=_emscripten_glActiveTexture;function _emscripten_glBlendEquation(x0){GLctx["blendEquation"](x0)}Module["_emscripten_glBlendEquation"]=_emscripten_glBlendEquation;function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}Module["_emscripten_glIsEnabled"]=_emscripten_glIsEnabled;function _emscripten_glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}Module["_emscripten_glBlendFunc"]=_emscripten_glBlendFunc;function _emscripten_glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}Module["_emscripten_glBlendEquationSeparate"]=_emscripten_glBlendEquationSeparate;function _emscripten_glDepthRange(x0,x1){GLctx["depthRange"](x0,x1)}Module["_emscripten_glDepthRange"]=_emscripten_glDepthRange;function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}Module["_emscripten_glDepthRangef"]=_emscripten_glDepthRangef;function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}Module["_emscripten_glStencilMaskSeparate"]=_emscripten_glStencilMaskSeparate;function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}Module["_emscripten_glHint"]=_emscripten_glHint;function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}Module["_emscripten_glPolygonOffset"]=_emscripten_glPolygonOffset;function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}Module["_emscripten_glVertexAttrib1f"]=_emscripten_glVertexAttrib1f;function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}Module["_emscripten_glTexParameteri"]=_emscripten_glTexParameteri;function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}Module["_emscripten_glTexParameterf"]=_emscripten_glTexParameterf;function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}Module["_emscripten_glVertexAttrib2f"]=_emscripten_glVertexAttrib2f;function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}Module["_emscripten_glStencilFunc"]=_emscripten_glStencilFunc;function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}Module["_emscripten_glStencilOp"]=_emscripten_glStencilOp;function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}Module["_emscripten_glViewport"]=_emscripten_glViewport;function _emscripten_glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}Module["_emscripten_glClearColor"]=_emscripten_glClearColor;function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}Module["_emscripten_glScissor"]=_emscripten_glScissor;function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}Module["_emscripten_glVertexAttrib3f"]=_emscripten_glVertexAttrib3f;function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}Module["_emscripten_glRenderbufferStorage"]=_emscripten_glRenderbufferStorage;function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}Module["_emscripten_glBlendFuncSeparate"]=_emscripten_glBlendFuncSeparate;function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}Module["_emscripten_glBlendColor"]=_emscripten_glBlendColor;function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}Module["_emscripten_glStencilFuncSeparate"]=_emscripten_glStencilFuncSeparate;function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}Module["_emscripten_glStencilOpSeparate"]=_emscripten_glStencilOpSeparate;function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}Module["_emscripten_glVertexAttrib4f"]=_emscripten_glVertexAttrib4f;function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}Module["_emscripten_glCopyTexImage2D"]=_emscripten_glCopyTexImage2D;function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}Module["_emscripten_glCopyTexSubImage2D"]=_emscripten_glCopyTexSubImage2D;var AL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:true,ALC_SOFT_HRTF:true},AL_EXTENSIONS:{AL_EXT_float32:true,AL_SOFT_loop_points:true,AL_SOFT_source_length:true,AL_EXT_source_distance_model:true,AL_SOFT_source_spatialize:true},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:false,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:function(){return AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++},freeIds:[],scheduleContextAudio:function(ctx){if(Browser.mainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}for(var i in ctx.sources){AL.scheduleSourceAudio(ctx.sources[i])}},scheduleSourceAudio:function(src,lookahead){if(Browser.mainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}if(src.state!==4114){return}var currentTime=AL.updateSourceTime(src);var startTime=src.bufStartTime;var startOffset=src.bufOffset;var bufCursor=src.bufsProcessed;for(var i=0;i<src.audioQueue.length;i++){var audioSrc=src.audioQueue[i];startTime=audioSrc._startTime+audioSrc._duration;startOffset=0;bufCursor+=audioSrc._skipCount+1}if(!lookahead){lookahead=AL.QUEUE_LOOKAHEAD}var lookaheadTime=currentTime+lookahead;var skipCount=0;while(startTime<lookaheadTime){if(bufCursor>=src.bufQueue.length){if(src.looping){bufCursor%=src.bufQueue.length}else{break}}var buf=src.bufQueue[bufCursor%src.bufQueue.length];if(buf.length===0){skipCount++;if(skipCount===src.bufQueue.length){break}}else{var audioSrc=src.context.audioCtx.createBufferSource();audioSrc.buffer=buf.audioBuf;audioSrc.playbackRate.value=src.playbackRate;if(buf.audioBuf._loopStart||buf.audioBuf._loopEnd){audioSrc.loopStart=buf.audioBuf._loopStart;audioSrc.loopEnd=buf.audioBuf._loopEnd}var duration=0;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY;audioSrc.loop=true;if(buf.audioBuf._loopStart){audioSrc.loopStart=buf.audioBuf._loopStart}if(buf.audioBuf._loopEnd){audioSrc.loopEnd=buf.audioBuf._loopEnd}}else{duration=(buf.audioBuf.duration-startOffset)/src.playbackRate}audioSrc._startOffset=startOffset;audioSrc._duration=duration;audioSrc._skipCount=skipCount;skipCount=0;audioSrc.connect(src.gain);if(typeof audioSrc.start!=="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.start(startTime,startOffset)}else if(typeof audioSrc.noteOn!=="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.noteOn(startTime)}audioSrc._startTime=startTime;src.audioQueue.push(audioSrc);startTime+=duration}startOffset=0;bufCursor++}},updateSourceTime:function(src){var currentTime=src.context.audioCtx.currentTime;if(src.state!==4114){return currentTime}if(!isFinite(src.bufStartTime)){src.bufStartTime=currentTime-src.bufOffset/src.playbackRate;src.bufOffset=0}var nextStartTime=0;while(src.audioQueue.length){var audioSrc=src.audioQueue[0];src.bufsProcessed+=audioSrc._skipCount;nextStartTime=audioSrc._startTime+audioSrc._duration;if(currentTime<nextStartTime){break}src.audioQueue.shift();src.bufStartTime=nextStartTime;src.bufOffset=0;src.bufsProcessed++}if(src.bufsProcessed>=src.bufQueue.length&&!src.looping){AL.setSourceState(src,4116)}else if(src.type===4136&&src.looping){var buf=src.bufQueue[0];if(buf.length===0){src.bufOffset=0}else{var delta=(currentTime-src.bufStartTime)*src.playbackRate;var loopStart=buf.audioBuf._loopStart||0;var loopEnd=buf.audioBuf._loopEnd||buf.audioBuf.duration;if(loopEnd<=loopStart){loopEnd=buf.audioBuf.duration}if(delta<loopEnd){src.bufOffset=delta}else{src.bufOffset=loopStart+(delta-loopStart)%(loopEnd-loopStart)}}}else if(src.audioQueue[0]){src.bufOffset=(currentTime-src.audioQueue[0]._startTime)*src.playbackRate}else{if(src.type!==4136&&src.looping){var srcDuration=AL.sourceDuration(src)/src.playbackRate;if(srcDuration>0){src.bufStartTime+=Math.floor((currentTime-src.bufStartTime)/srcDuration)*srcDuration}}for(var i=0;i<src.bufQueue.length;i++){if(src.bufsProcessed>=src.bufQueue.length){if(src.looping){src.bufsProcessed%=src.bufQueue.length}else{AL.setSourceState(src,4116);break}}var buf=src.bufQueue[src.bufsProcessed];if(buf.length>0){nextStartTime=src.bufStartTime+buf.audioBuf.duration/src.playbackRate;if(currentTime<nextStartTime){src.bufOffset=(currentTime-src.bufStartTime)*src.playbackRate;break}src.bufStartTime=nextStartTime}src.bufOffset=0;src.bufsProcessed++}}return currentTime},cancelPendingSourceAudio:function(src){AL.updateSourceTime(src);for(var i=1;i<src.audioQueue.length;i++){var audioSrc=src.audioQueue[i];audioSrc.stop()}if(src.audioQueue.length>1){src.audioQueue.length=1}},stopSourceAudio:function(src){for(var i=0;i<src.audioQueue.length;i++){src.audioQueue[i].stop()}src.audioQueue.length=0},setSourceState:function(src,state){if(state===4114){if(src.state===4114||src.state==4116){src.bufsProcessed=0;src.bufOffset=0}else{}AL.stopSourceAudio(src);src.state=4114;src.bufStartTime=Number.NEGATIVE_INFINITY;AL.scheduleSourceAudio(src)}else if(state===4115){if(src.state===4114){AL.updateSourceTime(src);AL.stopSourceAudio(src);src.state=4115}}else if(state===4116){if(src.state!==4113){src.state=4116;src.bufsProcessed=src.bufQueue.length;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}else if(state===4113){if(src.state!==4113){src.state=4113;src.bufsProcessed=0;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}},initSourcePanner:function(src){if(src.type===4144){return}var templateBuf=AL.buffers[0];for(var i=0;i<src.bufQueue.length;i++){if(src.bufQueue[i].id!==0){templateBuf=src.bufQueue[i];break}}if(src.spatialize===1||src.spatialize===2&&templateBuf.channels===1){if(src.panner){return}src.panner=src.context.audioCtx.createPanner();AL.updateSourceGlobal(src);AL.updateSourceSpace(src);src.panner.connect(src.context.gain);src.gain.disconnect();src.gain.connect(src.panner)}else{if(!src.panner){return}src.panner.disconnect();src.gain.disconnect();src.gain.connect(src.context.gain);src.panner=null}},updateContextGlobal:function(ctx){for(var i in ctx.sources){AL.updateSourceGlobal(ctx.sources[i])}},updateSourceGlobal:function(src){var panner=src.panner;if(!panner){return}panner.refDistance=src.refDistance;panner.maxDistance=src.maxDistance;panner.rolloffFactor=src.rolloffFactor;panner.panningModel=src.context.hrtf?"HRTF":"equalpower";var distanceModel=src.context.sourceDistanceModel?src.distanceModel:src.context.distanceModel;switch(distanceModel){case 0:panner.distanceModel="inverse";panner.refDistance=3.40282e38;break;case 53249:case 53250:panner.distanceModel="inverse";break;case 53251:case 53252:panner.distanceModel="linear";break;case 53253:case 53254:panner.distanceModel="exponential";break}},updateListenerSpace:function(ctx){var listener=ctx.audioCtx.listener;if(listener.positionX){listener.positionX.value=ctx.listener.position[0];listener.positionY.value=ctx.listener.position[1];listener.positionZ.value=ctx.listener.position[2]}else{listener.setPosition(ctx.listener.position[0],ctx.listener.position[1],ctx.listener.position[2])}if(listener.forwardX){listener.forwardX.value=ctx.listener.direction[0];listener.forwardY.value=ctx.listener.direction[1];listener.forwardZ.value=ctx.listener.direction[2];listener.upX.value=ctx.listener.up[0];listener.upY.value=ctx.listener.up[1];listener.upZ.value=ctx.listener.up[2]}else{listener.setOrientation(ctx.listener.direction[0],ctx.listener.direction[1],ctx.listener.direction[2],ctx.listener.up[0],ctx.listener.up[1],ctx.listener.up[2])}for(var i in ctx.sources){AL.updateSourceSpace(ctx.sources[i])}},updateSourceSpace:function(src){if(!src.panner){return}var panner=src.panner;var posX=src.position[0];var posY=src.position[1];var posZ=src.position[2];var dirX=src.direction[0];var dirY=src.direction[1];var dirZ=src.direction[2];var listener=src.context.listener;var lPosX=listener.position[0];var lPosY=listener.position[1];var lPosZ=listener.position[2];if(src.relative){var lBackX=-listener.direction[0];var lBackY=-listener.direction[1];var lBackZ=-listener.direction[2];var lUpX=listener.up[0];var lUpY=listener.up[1];var lUpZ=listener.up[2];var inverseMagnitude=function(x,y,z){var length=Math.sqrt(x*x+y*y+z*z);if(length<Number.EPSILON){return 0}return 1/length};var invMag=inverseMagnitude(lBackX,lBackY,lBackZ);lBackX*=invMag;lBackY*=invMag;lBackZ*=invMag;invMag=inverseMagnitude(lUpX,lUpY,lUpZ);lUpX*=invMag;lUpY*=invMag;lUpZ*=invMag;var lRightX=lUpY*lBackZ-lUpZ*lBackY;var lRightY=lUpZ*lBackX-lUpX*lBackZ;var lRightZ=lUpX*lBackY-lUpY*lBackX;invMag=inverseMagnitude(lRightX,lRightY,lRightZ);lRightX*=invMag;lRightY*=invMag;lRightZ*=invMag;lUpX=lBackY*lRightZ-lBackZ*lRightY;lUpY=lBackZ*lRightX-lBackX*lRightZ;lUpZ=lBackX*lRightY-lBackY*lRightX;var oldX=dirX;var oldY=dirY;var oldZ=dirZ;dirX=oldX*lRightX+oldY*lUpX+oldZ*lBackX;dirY=oldX*lRightY+oldY*lUpY+oldZ*lBackY;dirZ=oldX*lRightZ+oldY*lUpZ+oldZ*lBackZ;oldX=posX;oldY=posY;oldZ=posZ;posX=oldX*lRightX+oldY*lUpX+oldZ*lBackX;posY=oldX*lRightY+oldY*lUpY+oldZ*lBackY;posZ=oldX*lRightZ+oldY*lUpZ+oldZ*lBackZ;posX+=lPosX;posY+=lPosY;posZ+=lPosZ}if(panner.positionX){panner.positionX.value=posX;panner.positionY.value=posY;panner.positionZ.value=posZ}else{panner.setPosition(posX,posY,posZ)}if(panner.orientationX){panner.orientationX.value=dirX;panner.orientationY.value=dirY;panner.orientationZ.value=dirZ}else{panner.setOrientation(dirX,dirY,dirZ)}var oldShift=src.dopplerShift;var velX=src.velocity[0];var velY=src.velocity[1];var velZ=src.velocity[2];var lVelX=listener.velocity[0];var lVelY=listener.velocity[1];var lVelZ=listener.velocity[2];if(posX===lPosX&&posY===lPosY&&posZ===lPosZ||velX===lVelX&&velY===lVelY&&velZ===lVelZ){src.dopplerShift=1}else{var speedOfSound=src.context.speedOfSound;var dopplerFactor=src.context.dopplerFactor;var slX=lPosX-posX;var slY=lPosY-posY;var slZ=lPosZ-posZ;var magSl=Math.sqrt(slX*slX+slY*slY+slZ*slZ);var vls=(slX*lVelX+slY*lVelY+slZ*lVelZ)/magSl;var vss=(slX*velX+slY*velY+slZ*velZ)/magSl;vls=Math.min(vls,speedOfSound/dopplerFactor);vss=Math.min(vss,speedOfSound/dopplerFactor);src.dopplerShift=(speedOfSound-dopplerFactor*vls)/(speedOfSound-dopplerFactor*vss)}if(src.dopplerShift!==oldShift){AL.updateSourceRate(src)}},updateSourceRate:function(src){if(src.state===4114){AL.cancelPendingSourceAudio(src);var audioSrc=src.audioQueue[0];if(!audioSrc){return}var duration;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY}else{duration=(audioSrc.buffer.duration-audioSrc._startOffset)/src.playbackRate}audioSrc._duration=duration;audioSrc.playbackRate.value=src.playbackRate;AL.scheduleSourceAudio(src)}},sourceDuration:function(src){var length=0;for(var i=0;i<src.bufQueue.length;i++){var audioBuf=src.bufQueue[i].audioBuf;length+=audioBuf?audioBuf.duration:0}return length},sourceTell:function(src){AL.updateSourceTime(src);var offset=0;for(var i=0;i<src.bufsProcessed;i++){offset+=src.bufQueue[i].audioBuf.duration}offset+=src.bufOffset;return offset},sourceSeek:function(src,offset){var playing=src.state==4114;if(playing){AL.setSourceState(src,4113)}if(src.bufQueue[src.bufsProcessed].audioBuf!==null){src.bufsProcessed=0;while(offset>src.bufQueue[src.bufsProcessed].audioBuf.duration){offset-=src.bufQueue[src.bufsProcessed].audiobuf.duration;src.bufsProcessed++}src.bufOffset=offset}if(playing){AL.setSourceState(src,4114)}},getGlobalParam:function(funcname,param){if(!AL.currentCtx){return null}switch(param){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:AL.currentCtx.err=40962;return null}},setGlobalParam:function(funcname,param,value){if(!AL.currentCtx){return}switch(param){case 49152:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=value;AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=value;AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=value;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:function(funcname,param){if(!AL.currentCtx){return null}switch(param){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:AL.currentCtx.err=40962;return null}},setListenerParam:function(funcname,param,value){if(!AL.currentCtx){return}if(value===null){AL.currentCtx.err=40962;return}var listener=AL.currentCtx.listener;switch(param){case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.position[0]=value[0];listener.position[1]=value[1];listener.position[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.velocity[0]=value[0];listener.velocity[1]=value[1];listener.velocity[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=value;break;case 4111:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])||!Number.isFinite(value[3])||!Number.isFinite(value[4])||!Number.isFinite(value[5])){AL.currentCtx.err=40963;return}listener.direction[0]=value[0];listener.direction[1]=value[1];listener.direction[2]=value[2];listener.up[0]=value[3];listener.up[1]=value[4];listener.up[2]=value[5];AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}},getBufferParam:function(funcname,bufferId,param){if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}switch(param){case 8193:return buf.frequency;case 8194:return buf.bytesPerSample*8;case 8195:return buf.channels;case 8196:return buf.length*buf.bytesPerSample*buf.channels;case 8213:if(buf.length===0){return[0,0]}else{return[(buf.audioBuf._loopStart||0)*buf.frequency,(buf.audioBuf._loopEnd||buf.length)*buf.frequency]}default:AL.currentCtx.err=40962;return null}},setBufferParam:function(funcname,bufferId,param,value){if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 8196:if(value!==0){AL.currentCtx.err=40963;return}break;case 8213:if(value[0]<0||value[0]>buf.length||value[1]<0||value[1]>buf.Length||value[0]>=value[1]){AL.currentCtx.err=40963;return}if(buf.refCount>0){AL.currentCtx.err=40964;return}if(buf.audioBuf){buf.audioBuf._loopStart=value[0]/buf.frequency;buf.audioBuf._loopEnd=value[1]/buf.frequency}break;default:AL.currentCtx.err=40962;return}},getSourceParam:function(funcname,sourceId,param){if(!AL.currentCtx){return null}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return null}switch(param){case 514:return src.relative;case 4097:return src.coneInnerAngle;case 4098:return src.coneOuterAngle;case 4099:return src.pitch;case 4100:return src.position;case 4101:return src.direction;case 4102:return src.velocity;case 4103:return src.looping;case 4105:if(src.type===4136){return src.bufQueue[0].id}else{return 0}case 4106:return src.gain.gain.value;case 4109:return src.minGain;case 4110:return src.maxGain;case 4112:return src.state;case 4117:if(src.bufQueue.length===1&&src.bufQueue[0].id===0){return 0}else{return src.bufQueue.length}case 4118:if(src.bufQueue.length===1&&src.bufQueue[0].id===0||src.looping){return 0}else{return src.bufsProcessed}case 4128:return src.refDistance;case 4129:return src.rolloffFactor;case 4130:return src.coneOuterGain;case 4131:return src.maxDistance;case 4132:return AL.sourceTell(src);case 4133:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency}return offset;case 4134:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency*src.bufQueue[0].bytesPerSample}return offset;case 4135:return src.type;case 4628:return src.spatialize;case 8201:var length=0;var bytesPerFrame=0;for(var i=0;i<src.bufQueue.length;i++){length+=src.bufQueue[i].length;if(src.bufQueue[i].id!==0){bytesPerFrame=src.bufQueue[i].bytesPerSample*src.bufQueue[i].channels}}return length*bytesPerFrame;case 8202:var length=0;for(var i=0;i<src.bufQueue.length;i++){length+=src.bufQueue[i].length}return length;case 8203:return AL.sourceDuration(src);case 53248:return src.distanceModel;default:AL.currentCtx.err=40962;return null}},setSourceParam:function(funcname,sourceId,param,value){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 514:if(value===1){src.relative=true;AL.updateSourceSpace(src)}else if(value===0){src.relative=false;AL.updateSourceSpace(src)}else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneInnerAngle=value;if(src.panner){src.panner.coneInnerAngle=value%360}break;case 4098:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneOuterAngle=value;if(src.panner){src.panner.coneOuterAngle=value%360}break;case 4099:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}if(src.pitch===value){break}src.pitch=value;AL.updateSourceRate(src);break;case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.position[0]=value[0];src.position[1]=value[1];src.position[2]=value[2];AL.updateSourceSpace(src);break;case 4101:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.direction[0]=value[0];src.direction[1]=value[1];src.direction[2]=value[2];AL.updateSourceSpace(src);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.velocity[0]=value[0];src.velocity[1]=value[1];src.velocity[2]=value[2];AL.updateSourceSpace(src);break;case 4103:if(value===1){src.looping=true;AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=true;audioSrc._duration=Number.POSITIVE_INFINITY}}else if(value===0){src.looping=false;var currentTime=AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=false;audioSrc._duration=src.bufQueue[0].audioBuf.duration/src.playbackRate;audioSrc._startTime=currentTime-src.bufOffset/src.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(src.state===4114||src.state===4115){AL.currentCtx.err=40964;return}if(value===0){for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=1;src.bufQueue[0]=AL.buffers[0];src.bufsProcessed=0;src.type=4144}else{var buf=AL.buffers[value];if(!buf){AL.currentCtx.err=40963;return}for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=0;buf.refCount++;src.bufQueue=[buf];src.bufsProcessed=0;src.type=4136}AL.initSourcePanner(src);AL.scheduleSourceAudio(src);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.gain.gain.value=value;break;case 4109:if(!Number.isFinite(value)||value<0||value>Math.min(src.maxGain,1)){AL.currentCtx.err=40963;return}src.minGain=value;break;case 4110:if(!Number.isFinite(value)||value<Math.max(0,src.minGain)||value>1){AL.currentCtx.err=40963;return}src.maxGain=value;break;case 4128:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.refDistance=value;if(src.panner){src.panner.refDistance=value}break;case 4129:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.rolloffFactor=value;if(src.panner){src.panner.rolloffFactor=value}break;case 4130:if(!Number.isFinite(value)||value<0||value>1){AL.currentCtx.err=40963;return}src.coneOuterGain=value;if(src.panner){src.panner.coneOuterGain=value}break;case 4131:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.maxDistance=value;if(src.panner){src.panner.maxDistance=value}break;case 4132:if(value<0||value>AL.sourceDuration(src)){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4133:var srcLen=AL.sourceDuration(src);if(srcLen>0){var frequency;for(var bufId in src.bufQueue){if(bufId!==0){frequency=src.bufQueue[bufId].frequency;break}}value/=frequency}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4134:var srcLen=AL.sourceDuration(src);if(srcLen>0){var bytesPerSec;for(var bufId in src.bufQueue){if(bufId!==0){var buf=src.bufQueue[bufId];bytesPerSec=buf.frequency*buf.bytesPerSample*buf.channels;break}}value/=bytesPerSec}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4628:if(value!==0&&value!==1&&value!==2){AL.currentCtx.err=40963;return}src.spatialize=value;AL.initSourcePanner(src);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:src.distanceModel=value;if(AL.currentCtx.sourceDistanceModel){AL.updateContextGlobal(AL.currentCtx)}break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:function(deviceId,funcname){if(deviceId===0){AL.alcErr=40961;return null}var c=AL.captures[deviceId];if(!c){AL.alcErr=40961;return null}var err=c.mediaStreamError;if(err){AL.alcErr=40961;return null}return c}};Module["AL"]=AL;function _alcCaptureOpenDevice(pDeviceName,requestedSampleRate,format,bufferFrameCapacity){var resolvedDeviceName=AL.CAPTURE_DEVICE_NAME;if(pDeviceName!==0){resolvedDeviceName=UTF8ToString(pDeviceName);if(resolvedDeviceName!==AL.CAPTURE_DEVICE_NAME){AL.alcErr=40965;return 0}}if(bufferFrameCapacity<0){AL.alcErr=40964;return 0}navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var has_getUserMedia=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!has_getUserMedia){AL.alcErr=40965;return 0}var AudioContext=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx){try{AL.sharedCaptureAudioCtx=new AudioContext}catch(e){AL.alcErr=40965;return 0}}var outputChannelCount;switch(format){case 65552:case 4353:case 4352:outputChannelCount=1;break;case 65553:case 4355:case 4354:outputChannelCount=2;break;default:AL.alcErr=40964;return 0}function newF32Array(cap){return new Float32Array(cap)}function newI16Array(cap){return new Int16Array(cap)}function newU8Array(cap){return new Uint8Array(cap)}var requestedSampleType;var newSampleArray;switch(format){case 65552:case 65553:requestedSampleType="f32";newSampleArray=newF32Array;break;case 4353:case 4355:requestedSampleType="i16";newSampleArray=newI16Array;break;case 4352:case 4354:requestedSampleType="u8";newSampleArray=newU8Array;break}var buffers=[];try{for(var chan=0;chan<outputChannelCount;++chan){buffers[chan]=newSampleArray(bufferFrameCapacity)}}catch(e){AL.alcErr=40965;return 0}var newCapture={audioCtx:AL.sharedCaptureAudioCtx,deviceName:resolvedDeviceName,requestedSampleRate:requestedSampleRate,requestedSampleType:requestedSampleType,outputChannelCount:outputChannelCount,inputChannelCount:null,mediaStreamError:null,mediaStreamSourceNode:null,mergerNode:null,splitterNode:null,scriptProcessorNode:null,isCapturing:false,buffers:buffers,get bufferFrameCapacity(){return buffers[0].length},capturePlayhead:0,capturedFrameCount:0};var onError=function(mediaStreamError){newCapture.mediaStreamError=mediaStreamError};var onSuccess=function(mediaStream){newCapture.mediaStreamSourceNode=newCapture.audioCtx.createMediaStreamSource(mediaStream);var inputChannelCount=1;switch(newCapture.mediaStreamSourceNode.channelCountMode){case"max":inputChannelCount=outputChannelCount;break;case"clamped-max":inputChannelCount=Math.min(outputChannelCount,newCapture.mediaStreamSourceNode.channelCount);break;case"explicit":inputChannelCount=newCapture.mediaStreamSourceNode.channelCount;break}newCapture.inputChannelCount=inputChannelCount;var processorFrameCount=512;newCapture.scriptProcessorNode=newCapture.audioCtx.createScriptProcessor(processorFrameCount,inputChannelCount,outputChannelCount);if(inputChannelCount>outputChannelCount){newCapture.mergerNode=newCapture.audioCtx.createChannelMerger(inputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.mergerNode);newCapture.mergerNode.connect(newCapture.scriptProcessorNode)}else if(inputChannelCount<outputChannelCount){newCapture.splitterNode=newCapture.audioCtx.createChannelSplitter(outputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.splitterNode);newCapture.splitterNode.connect(newCapture.scriptProcessorNode)}else{newCapture.mediaStreamSourceNode.connect(newCapture.scriptProcessorNode)}newCapture.scriptProcessorNode.connect(newCapture.audioCtx.destination);newCapture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(!newCapture.isCapturing){return}var c=newCapture;var srcBuf=audioProcessingEvent.inputBuffer;switch(format){case 65552:var channel0=srcBuf.getChannelData(0);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i]}break;case 65553:var channel0=srcBuf.getChannelData(0);var channel1=srcBuf.getChannelData(1);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i];c.buffers[1][wi]=channel1[i]}break;case 4353:var channel0=srcBuf.getChannelData(0);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i]*32767}break;case 4355:var channel0=srcBuf.getChannelData(0);var channel1=srcBuf.getChannelData(1);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=channel0[i]*32767;c.buffers[1][wi]=channel1[i]*32767}break;case 4352:var channel0=srcBuf.getChannelData(0);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=(channel0[i]+1)*127}break;case 4354:var channel0=srcBuf.getChannelData(0);var channel1=srcBuf.getChannelData(1);for(var i=0;i<srcBuf.length;++i){var wi=(c.capturePlayhead+i)%c.bufferFrameCapacity;c.buffers[0][wi]=(channel0[i]+1)*127;c.buffers[1][wi]=(channel1[i]+1)*127}break}c.capturePlayhead+=srcBuf.length;c.capturePlayhead%=c.bufferFrameCapacity;c.capturedFrameCount+=srcBuf.length;c.capturedFrameCount=Math.min(c.capturedFrameCount,c.bufferFrameCapacity)}};if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia){navigator.mediaDevices.getUserMedia({audio:true}).then(onSuccess).catch(onError)}else{navigator.getUserMedia({audio:true},onSuccess,onError)}var id=AL.newId();AL.captures[id]=newCapture;return id}Module["_alcCaptureOpenDevice"]=_alcCaptureOpenDevice;function _alcCaptureCloseDevice(deviceId){var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureCloseDevice");if(!c)return false;delete AL.captures[deviceId];AL.freeIds.push(deviceId);if(c.mediaStreamSourceNode)c.mediaStreamSourceNode.disconnect();if(c.mergerNode)c.mergerNode.disconnect();if(c.splitterNode)c.splitterNode.disconnect();if(c.scriptProcessorNode)c.scriptProcessorNode.disconnect();delete c.buffers;c.capturedFrameCount=0;c.isCapturing=false;return true}Module["_alcCaptureCloseDevice"]=_alcCaptureCloseDevice;function _alcCaptureStart(deviceId){var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStart");if(!c)return;if(c.isCapturing){return}c.isCapturing=true;c.capturedFrameCount=0;c.capturePlayhead=0}Module["_alcCaptureStart"]=_alcCaptureStart;function _alcCaptureStop(deviceId){var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStop");if(!c)return;c.isCapturing=false}Module["_alcCaptureStop"]=_alcCaptureStop;function _alcCaptureSamples(deviceId,pFrames,requestedFrameCount){var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureSamples");if(!c)return;if(requestedFrameCount<0||requestedFrameCount>c.capturedFrameCount){console.error("alcCaptureSamples() with invalid bufferSize");AL.alcErr=40964;return}function setF32Sample(i,sample){HEAPF32[pFrames+4*i>>2]=sample}function setI16Sample(i,sample){HEAP16[pFrames+2*i>>1]=sample}function setU8Sample(i,sample){HEAP8[pFrames+i>>0]=sample}var setSample;switch(c.requestedSampleType){case"f32":setSample=setF32Sample;break;case"i16":setSample=setI16Sample;break;case"u8":setSample=setU8Sample;break;default:return}var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;if(srcfreq==dstfreq){for(var i=0,frame_i=0;frame_i<requestedFrameCount;++frame_i){for(var chan=0;chan<c.buffers.length;++chan,++i){var src_i=(frame_i+c.capturePlayhead)%c.capturedFrameCount;setSample(i,c.buffers[chan][src_i])}}}else{var lerp=function(from,to,progress){return(1-progress)*from+progress*to};for(var i=0,frame_i=0;frame_i<requestedFrameCount;++frame_i){var t=frame_i/dstfreq;var src_i=(Math.floor(t*srcfreq)+c.capturePlayhead)%c.capturedFrameCount;var src_next_i=(src_i+1)%c.capturedFrameCount;var between=t*srcfreq-src_i;for(var chan=0;chan<c.buffers.length;++chan,++i){var cb=c.buffers[chan];var sample=lerp(cb[src_i],cb[src_next_i],between);setSample(i,sample)}}}c.capturedFrameCount=0}Module["_alcCaptureSamples"]=_alcCaptureSamples;function _alcOpenDevice(pDeviceName){if(pDeviceName){var name=UTF8ToString(pDeviceName);if(name!==AL.DEVICE_NAME){return 0}}if(typeof AudioContext!=="undefined"||typeof webkitAudioContext!=="undefined"){var deviceId=AL.newId();AL.deviceRefCounts[deviceId]=0;return deviceId}else{return 0}}Module["_alcOpenDevice"]=_alcOpenDevice;function _alcCloseDevice(deviceId){if(!(deviceId in AL.deviceRefCounts)||AL.deviceRefCounts[deviceId]>0){return 0}delete AL.deviceRefCounts[deviceId];AL.freeIds.push(deviceId);return 1}Module["_alcCloseDevice"]=_alcCloseDevice;function _alcCreateContext(deviceId,pAttrList){if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var options=null;var attrs=[];var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];attrs.push(attr);if(attr===0){break}val=HEAP32[pAttrList++];attrs.push(val);switch(attr){case 4103:if(!options){options={}}options.sampleRate=val;break;case 4112:case 4113:break;case 6546:switch(val){case 0:hrtf=false;break;case 1:hrtf=true;break;case 2:break;default:AL.alcErr=40964;return 0}break;case 6550:if(val!==0){AL.alcErr=40964;return 0}break;default:AL.alcErr=40964;return 0}}}var AudioContext=window.AudioContext||window.webkitAudioContext;var ac=null;try{if(options){ac=new AudioContext(options)}else{ac=new AudioContext}}catch(e){if(e.name==="NotSupportedError"){AL.alcErr=40964}else{AL.alcErr=40961}return 0}if(typeof ac.createGain==="undefined"){ac.createGain=ac.createGainNode}var gain=ac.createGain();gain.connect(ac.destination);var ctx={deviceId:deviceId,id:AL.newId(),attrs:attrs,audioCtx:ac,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(function(){AL.scheduleContextAudio(ctx)},AL.QUEUE_INTERVAL),gain:gain,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:false,hrtf:hrtf||false,_err:0,get err(){return this._err},set err(val){if(this._err===0||val===0){this._err=val}}};AL.deviceRefCounts[deviceId]++;AL.contexts[ctx.id]=ctx;if(hrtf!==null){for(var ctxId in AL.contexts){var c=AL.contexts[ctxId];if(c.deviceId===deviceId){c.hrtf=hrtf;AL.updateContextGlobal(c)}}}return ctx.id}Module["_alcCreateContext"]=_alcCreateContext;function _alcDestroyContext(contextId){var ctx=AL.contexts[contextId];if(AL.currentCtx===ctx){AL.alcErr=40962;return}if(AL.contexts[contextId].interval){clearInterval(AL.contexts[contextId].interval)}AL.deviceRefCounts[ctx.deviceId]--;delete AL.contexts[contextId];AL.freeIds.push(contextId)}Module["_alcDestroyContext"]=_alcDestroyContext;function _alcGetError(deviceId){var err=AL.alcErr;AL.alcErr=0;return err}Module["_alcGetError"]=_alcGetError;function _alcGetCurrentContext(){if(AL.currentCtx!==null){return AL.currentCtx.id}else{return 0}}Module["_alcGetCurrentContext"]=_alcGetCurrentContext;function _alcMakeContextCurrent(contextId){if(contextId===0){AL.currentCtx=null;return 0}else{AL.currentCtx=AL.contexts[contextId];return 1}}Module["_alcMakeContextCurrent"]=_alcMakeContextCurrent;function _alcGetContextsDevice(contextId){if(contextId in AL.contexts){return AL.contexts[contextId].deviceId}else{return 0}}Module["_alcGetContextsDevice"]=_alcGetContextsDevice;function _alcProcessContext(contextId){}Module["_alcProcessContext"]=_alcProcessContext;function _alcSuspendContext(contextId){}Module["_alcSuspendContext"]=_alcSuspendContext;function _alcIsExtensionPresent(deviceId,pExtName){var name=UTF8ToString(pExtName);return AL.ALC_EXTENSIONS[name]?1:0}Module["_alcIsExtensionPresent"]=_alcIsExtensionPresent;function _emscripten_GetAlcProcAddress(){return Module["_emscripten_GetAlcProcAddress"].apply(null,arguments)}function _alcGetProcAddress(deviceId,pProcName){if(!pProcName){AL.alcErr=40964;return 0}return _emscripten_GetAlcProcAddress(pProcName)}Module["_alcGetProcAddress"]=_alcGetProcAddress;function _alcGetEnumValue(deviceId,pEnumName){if(deviceId!==0&&!deviceId in AL.deviceRefCounts){return 0}else if(!pEnumName){AL.alcErr=40964;return 0}name=UTF8ToString(pEnumName);switch(name){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:AL.alcErr=40964;return 0}}Module["_alcGetEnumValue"]=_alcGetEnumValue;function _alcGetString(deviceId,param){if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Device";break;case 40962:ret="Invalid Context";break;case 40963:ret="Invalid Enum";break;case 40964:ret="Invalid Value";break;case 40965:ret="Out of Memory";break;case 4100:if(typeof AudioContext!=="undefined"||typeof webkitAudioContext!=="undefined"){ret=AL.DEVICE_NAME}else{return 0}break;case 4101:if(typeof AudioContext!=="undefined"||typeof webkitAudioContext!=="undefined"){ret=AL.DEVICE_NAME.concat("\0")}else{ret="\0"}break;case 785:ret=AL.CAPTURE_DEVICE_NAME;break;case 784:if(deviceId===0)ret=AL.CAPTURE_DEVICE_NAME.concat("\0");else{var c=AL.requireValidCaptureDevice(deviceId,"alcGetString");if(!c){return 0}ret=c.deviceName}break;case 4102:if(!deviceId){AL.alcErr=40961;return 0}ret="";for(var ext in AL.ALC_EXTENSIONS){ret=ret.concat(ext);ret=ret.concat(" ")}ret=ret.trim();break;default:AL.alcErr=40963;return 0}ret=allocate(intArrayFromString(ret),"i8",ALLOC_NORMAL);AL.alcStringCache[param]=ret;return ret}Module["_alcGetString"]=_alcGetString;function _alcGetIntegerv(deviceId,param,size,pValues){if(size===0||!pValues){return}switch(param){case 4096:HEAP32[pValues>>2]=1;break;case 4097:HEAP32[pValues>>2]=1;break;case 4098:if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.attrs.length;break;case 4099:if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var i=0;i<AL.currentCtx.attrs.length;i++){HEAP32[pValues+i*4>>2]=AL.currentCtx.attrs[i]}break;case 4103:if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=2147483647;break;case 6546:case 6547:if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return}var hrtfStatus=0;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){hrtfStatus=ctx.hrtf?1:0}}HEAP32[pValues>>2]=hrtfStatus;break;case 6548:if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return}HEAP32[pValues>>2]=1;break;case 131075:if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=1;case 786:var c=AL.requireValidCaptureDevice(deviceId,"alcGetIntegerv");if(!c){return}var n=c.capturedFrameCount;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var nsamples=Math.floor(n*(dstfreq/srcfreq));HEAP32[pValues>>2]=nsamples;break;default:AL.alcErr=40963;return}}Module["_alcGetIntegerv"]=_alcGetIntegerv;function _emscripten_alcDevicePauseSOFT(deviceId){if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return}if(AL.paused){return}AL.paused=true;for(ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.audioCtx.suspend();clearInterval(ctx.interval);ctx.interval=null}}Module["_emscripten_alcDevicePauseSOFT"]=_emscripten_alcDevicePauseSOFT;function _emscripten_alcDeviceResumeSOFT(deviceId){if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return}if(!AL.paused){return}AL.paused=false;for(ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.interval=setInterval(function(){AL.scheduleContextAudio(ctx)},AL.QUEUE_INTERVAL);ctx.audioCtx.resume()}}Module["_emscripten_alcDeviceResumeSOFT"]=_emscripten_alcDeviceResumeSOFT;function _emscripten_alcGetStringiSOFT(deviceId,param,index){if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return 0}if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 6549:if(index===0){ret="Web Audio HRTF"}else{AL.alcErr=40964;return 0}default:if(index===0){return _alcGetString(deviceId,param)}else{AL.alcErr=40963;return 0}}ret=allocate(intArrayFromString(ret),"i8",ALLOC_NORMAL);AL.alcStringCache[param]=ret;return ret}Module["_emscripten_alcGetStringiSOFT"]=_emscripten_alcGetStringiSOFT;function _emscripten_alcResetDeviceSOFT(deviceId,pAttrList){if(!deviceId in AL.deviceRefCounts){AL.alcErr=40961;return 0}var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];if(attr===0){break}val=HEAP32[pAttrList++];switch(attr){case 6546:if(val===1){hrtf=true}else if(val===0){hrtf=false}break}}}if(hrtf!==null){for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){ctx.hrtf=hrtf;AL.updateContextGlobal(ctx)}}}return 1}Module["_emscripten_alcResetDeviceSOFT"]=_emscripten_alcResetDeviceSOFT;function _alGenBuffers(count,pBufferIds){if(!AL.currentCtx){return}for(var i=0;i<count;++i){var buf={deviceId:AL.currentCtx.deviceId,id:AL.newId(),refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0};AL.deviceRefCounts[buf.deviceId]++;AL.buffers[buf.id]=buf;HEAP32[pBufferIds+i*4>>2]=buf.id}}Module["_alGenBuffers"]=_alGenBuffers;function _alDeleteBuffers(count,pBufferIds){if(!AL.currentCtx){return}for(var i=0;i<count;++i){var bufId=HEAP32[pBufferIds+i*4>>2];if(bufId===0){continue}if(!AL.buffers[bufId]){AL.currentCtx.err=40961;return}if(AL.buffers[bufId].refCount){AL.currentCtx.err=40964;return}}for(var i=0;i<count;++i){var bufId=HEAP32[pBufferIds+i*4>>2];if(bufId===0){continue}AL.deviceRefCounts[AL.buffers[bufId].deviceId]--;delete AL.buffers[bufId];AL.freeIds.push(bufId)}}Module["_alDeleteBuffers"]=_alDeleteBuffers;function _alGenSources(count,pSourceIds){if(!AL.currentCtx){return}for(var i=0;i<count;++i){var gain=AL.currentCtx.audioCtx.createGain();gain.connect(AL.currentCtx.gain);var src={context:AL.currentCtx,id:AL.newId(),type:4144,state:4113,bufQueue:[AL.buffers[0]],audioQueue:[],looping:false,pitch:1,dopplerShift:1,gain:gain,minGain:0,maxGain:1,panner:null,bufsProcessed:0,bufStartTime:Number.NEGATIVE_INFINITY,bufOffset:0,relative:false,refDistance:1,maxDistance:3.40282e38,rolloffFactor:1,position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],coneOuterGain:0,coneInnerAngle:360,coneOuterAngle:360,distanceModel:53250,spatialize:2,get playbackRate(){return this.pitch*this.dopplerShift}};AL.currentCtx.sources[src.id]=src;HEAP32[pSourceIds+i*4>>2]=src.id}}Module["_alGenSources"]=_alGenSources;function _alSourcei(sourceId,param,value){switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",sourceId,param,value);break;default:AL.setSourceParam("alSourcei",sourceId,param,null);break}}Module["_alSourcei"]=_alSourcei;function _alDeleteSources(count,pSourceIds){if(!AL.currentCtx){return}for(var i=0;i<count;++i){var srcId=HEAP32[pSourceIds+i*4>>2];if(!AL.currentCtx.sources[srcId]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){var srcId=HEAP32[pSourceIds+i*4>>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116);_alSourcei(srcId,4105,0);delete AL.currentCtx.sources[srcId];AL.freeIds.push(srcId)}}Module["_alDeleteSources"]=_alDeleteSources;function _alGetError(){if(!AL.currentCtx){return 40964}else{var err=AL.currentCtx.err;AL.currentCtx.err=0;return err}}Module["_alGetError"]=_alGetError;function _alIsExtensionPresent(pExtName){name=UTF8ToString(pExtName);return AL.AL_EXTENSIONS[name]?1:0}Module["_alIsExtensionPresent"]=_alIsExtensionPresent;function _emscripten_GetAlProcAddress(){return Module["_emscripten_GetAlProcAddress"].apply(null,arguments)}function _alGetProcAddress(pProcName){if(!AL.currentCtx){return}if(!pProcName){AL.currentCtx.err=40963;return 0}return _emscripten_GetAlProcAddress(pProcName)}Module["_alGetProcAddress"]=_alGetProcAddress;function _alGetEnumValue(pEnumName){if(!AL.currentCtx){return 0}if(!pEnumName){AL.currentCtx.err=40963;return 0}name=UTF8ToString(pEnumName);switch(name){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:AL.currentCtx.err=40963;return 0}}Module["_alGetEnumValue"]=_alGetEnumValue;function _alGetString(param){if(!AL.currentCtx){return 0}if(AL.stringCache[param]){return AL.stringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Name";break;case 40962:ret="Invalid Enum";break;case 40963:ret="Invalid Value";break;case 40964:ret="Invalid Operation";break;case 40965:ret="Out of Memory";break;case 45057:ret="Emscripten";break;case 45058:ret="1.1";break;case 45059:ret="WebAudio";break;case 45060:ret="";for(var ext in AL.AL_EXTENSIONS){ret=ret.concat(ext);ret=ret.concat(" ")}ret=ret.trim();break;default:AL.currentCtx.err=40962;return 0}ret=allocate(intArrayFromString(ret),"i8",ALLOC_NORMAL);AL.stringCache[param]=ret;return ret}Module["_alGetString"]=_alGetString;function _alEnable(param){if(!AL.currentCtx){return}switch(param){case"AL_SOURCE_DISTANCE_MODEL":AL.currentCtx.sourceDistanceModel=true;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}Module["_alEnable"]=_alEnable;function _alDisable(param){if(!AL.currentCtx){return}switch(pname){case"AL_SOURCE_DISTANCE_MODEL":AL.currentCtx.sourceDistanceModel=false;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}Module["_alDisable"]=_alDisable;function _alIsEnabled(param){if(!AL.currentCtx){return 0}switch(pname){case"AL_SOURCE_DISTANCE_MODEL":return AL.currentCtx.sourceDistanceModel?0:1;default:AL.currentCtx.err=40962;return 0}}Module["_alIsEnabled"]=_alIsEnabled;function _alGetDouble(param){var val=AL.getGlobalParam("alGetDouble",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}}Module["_alGetDouble"]=_alGetDouble;function _alGetDoublev(param,pValues){var val=AL.getGlobalParam("alGetDoublev",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF64[pValues>>3]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetDoublev"]=_alGetDoublev;function _alGetFloat(param){var val=AL.getGlobalParam("alGetFloat",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:return 0}}Module["_alGetFloat"]=_alGetFloat;function _alGetFloatv(param,pValues){var val=AL.getGlobalParam("alGetFloatv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetFloatv"]=_alGetFloatv;function _alGetInteger(param){var val=AL.getGlobalParam("alGetInteger",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}}Module["_alGetInteger"]=_alGetInteger;function _alGetIntegerv(param,pValues){var val=AL.getGlobalParam("alGetIntegerv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetIntegerv"]=_alGetIntegerv;function _alGetBoolean(param){var val=AL.getGlobalParam("alGetBoolean",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val!==0?1:0;default:AL.currentCtx.err=40962;return 0}}Module["_alGetBoolean"]=_alGetBoolean;function _alGetBooleanv(param,pValues){var val=AL.getGlobalParam("alGetBooleanv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP8[pValues>>0]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetBooleanv"]=_alGetBooleanv;function _alDistanceModel(model){AL.setGlobalParam("alDistanceModel",53248,model)}Module["_alDistanceModel"]=_alDistanceModel;function _alSpeedOfSound(value){AL.setGlobalParam("alSpeedOfSound",49155,value)}Module["_alSpeedOfSound"]=_alSpeedOfSound;function _alDopplerFactor(value){AL.setGlobalParam("alDopplerFactor",49152,value)}Module["_alDopplerFactor"]=_alDopplerFactor;function _alDopplerVelocity(value){warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead.");if(!AL.currentCtx){return}if(value<=0){AL.currentCtx.err=40963;return}}Module["_alDopplerVelocity"]=_alDopplerVelocity;function _alGetListenerf(param,pValue){var val=AL.getListenerParam("alGetListenerf",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4106:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetListenerf"]=_alGetListenerf;function _alGetListener3f(param,pValue0,pValue1,pValue2){var val=AL.getListenerParam("alGetListener3f",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetListener3f"]=_alGetListener3f;function _alGetListenerfv(param,pValues){var val=AL.getListenerParam("alGetListenerfv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;case 4111:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];HEAPF32[pValues+12>>2]=val[3];HEAPF32[pValues+16>>2]=val[4];HEAPF32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}}Module["_alGetListenerfv"]=_alGetListenerfv;function _alGetListeneri(param,pValue){var val=AL.getListenerParam("alGetListeneri",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetListeneri"]=_alGetListeneri;function _alGetListener3i(param,pValue0,pValue1,pValue2){var val=AL.getListenerParam("alGetListener3i",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetListener3i"]=_alGetListener3i;function _alGetListeneriv(param,pValues){var val=AL.getListenerParam("alGetListeneriv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;case 4111:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];HEAP32[pValues+12>>2]=val[3];HEAP32[pValues+16>>2]=val[4];HEAP32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}}Module["_alGetListeneriv"]=_alGetListeneriv;function _alListenerf(param,value){switch(param){case 4106:AL.setListenerParam("alListenerf",param,value);break;default:AL.setListenerParam("alListenerf",param,null);break}}Module["_alListenerf"]=_alListenerf;function _alListener3f(param,value0,value1,value2){switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3f",param,AL.paramArray);break;default:AL.setListenerParam("alListener3f",param,null);break}}Module["_alListener3f"]=_alListener3f;function _alListenerfv(param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.paramArray[3]=HEAPF32[pValues+12>>2];AL.paramArray[4]=HEAPF32[pValues+16>>2];AL.paramArray[5]=HEAPF32[pValues+20>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",param,null);break}}Module["_alListenerfv"]=_alListenerfv;function _alListeneri(param,value){AL.setListenerParam("alListeneri",param,null)}Module["_alListeneri"]=_alListeneri;function _alListener3i(param,value0,value1,value2){switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3i",param,AL.paramArray);break;default:AL.setListenerParam("alListener3i",param,null);break}}Module["_alListener3i"]=_alListener3i;function _alListeneriv(param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.paramArray[3]=HEAP32[pValues+12>>2];AL.paramArray[4]=HEAP32[pValues+16>>2];AL.paramArray[5]=HEAP32[pValues+20>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",param,null);break}}Module["_alListeneriv"]=_alListeneriv;function _alIsBuffer(bufferId){if(!AL.currentCtx){return false}if(bufferId>AL.buffers.length){return false}if(!AL.buffers[bufferId]){return false}else{return true}}Module["_alIsBuffer"]=_alIsBuffer;function _alBufferData(bufferId,format,pData,size,freq){if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf){AL.currentCtx.err=40963;return}if(freq<=0){AL.currentCtx.err=40963;return}var audioBuf=null;try{switch(format){case 4352:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size,freq);var channel0=audioBuf.getChannelData(0);for(var i=0;i<size;++i){channel0[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=1;buf.length=size;break;case 4353:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>1,freq);var channel0=audioBuf.getChannelData(0);pData>>=1;for(var i=0;i<size>>1;++i){channel0[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=1;buf.length=size>>1;break;case 4354:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>1,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);for(var i=0;i<size>>1;++i){channel0[i]=HEAPU8[pData++]*.0078125-1;channel1[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=2;buf.length=size>>1;break;case 4355:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>2,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=1;for(var i=0;i<size>>2;++i){channel0[i]=HEAP16[pData++]*30517578125e-15;channel1[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=2;buf.length=size>>2;break;case 65552:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>2,freq);var channel0=audioBuf.getChannelData(0);pData>>=2;for(var i=0;i<size>>2;++i){channel0[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=1;buf.length=size>>2;break;case 65553:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>3,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=2;for(var i=0;i<size>>3;++i){channel0[i]=HEAPF32[pData++];channel1[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=2;buf.length=size>>3;break;default:AL.currentCtx.err=40963;return}buf.frequency=freq;buf.audioBuf=audioBuf}catch(e){AL.currentCtx.err=40963;return}}Module["_alBufferData"]=_alBufferData;function _alGetBufferf(bufferId,param,pValue){var val=AL.getBufferParam("alGetBufferf",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetBufferf"]=_alGetBufferf;function _alGetBuffer3f(bufferId,param,pValue0,pValue1,pValue2){var val=AL.getBufferParam("alGetBuffer3f",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetBuffer3f"]=_alGetBuffer3f;function _alGetBufferfv(bufferId,param,pValues){var val=AL.getBufferParam("alGetBufferfv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetBufferfv"]=_alGetBufferfv;function _alGetBufferi(bufferId,param,pValue){var val=AL.getBufferParam("alGetBufferi",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetBufferi"]=_alGetBufferi;function _alGetBuffer3i(bufferId,param,pValue0,pValue1,pValue2){var val=AL.getBufferParam("alGetBuffer3i",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}Module["_alGetBuffer3i"]=_alGetBuffer3i;function _alGetBufferiv(bufferId,param,pValues){var val=AL.getBufferParam("alGetBufferiv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValues>>2]=val;break;case 8213:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];break;default:AL.currentCtx.err=40962;return}}Module["_alGetBufferiv"]=_alGetBufferiv;function _alBufferf(bufferId,param,value){AL.setBufferParam("alBufferf",bufferId,param,null)}Module["_alBufferf"]=_alBufferf;function _alBuffer3f(bufferId,param,value0,value1,value2){AL.setBufferParam("alBuffer3f",bufferId,param,null)}Module["_alBuffer3f"]=_alBuffer3f;function _alBufferfv(bufferId,param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",bufferId,param,null)}Module["_alBufferfv"]=_alBufferfv;function _alBufferi(bufferId,param,value){AL.setBufferParam("alBufferi",bufferId,param,null)}Module["_alBufferi"]=_alBufferi;function _alBuffer3i(bufferId,param,value0,value1,value2){AL.setBufferParam("alBuffer3i",bufferId,param,null)}Module["_alBuffer3i"]=_alBuffer3i;function _alBufferiv(bufferId,param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8213:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.setBufferParam("alBufferiv",bufferId,param,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",bufferId,param,null);break}}Module["_alBufferiv"]=_alBufferiv;function _alIsSource(sourceId){if(!AL.currentCtx){return false}if(!AL.currentCtx.sources[sourceId]){return false}else{return true}}Module["_alIsSource"]=_alIsSource;function _alSourceQueueBuffers(sourceId,count,pBufferIds){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(src.type===4136){AL.currentCtx.err=40964;return}if(count===0){return}var templateBuf=AL.buffers[0];for(var i=0;i<src.bufQueue.length;i++){if(src.bufQueue[i].id!==0){templateBuf=src.bufQueue[i];break}}for(var i=0;i<count;++i){var bufId=HEAP32[pBufferIds+i*4>>2];var buf=AL.buffers[bufId];if(!buf){AL.currentCtx.err=40961;return}if(templateBuf.id!==0&&(buf.frequency!==templateBuf.frequency||buf.bytesPerSample!==templateBuf.bytesPerSample||buf.channels!==templateBuf.channels)){AL.currentCtx.err=40964}}if(src.bufQueue.length===1&&src.bufQueue[0].id===0){src.bufQueue.length=0}src.type=4137;for(var i=0;i<count;++i){var bufId=HEAP32[pBufferIds+i*4>>2];var buf=AL.buffers[bufId];buf.refCount++;src.bufQueue.push(buf)}if(src.looping){AL.cancelPendingSourceAudio(src)}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)}Module["_alSourceQueueBuffers"]=_alSourceQueueBuffers;function _alSourceUnqueueBuffers(sourceId,count,pBufferIds){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(count>(src.bufQueue.length===1&&src.bufQueue[0].id===0?0:src.bufsProcessed)){AL.currentCtx.err=40963;return}if(count===0){return}for(var i=0;i<count;i++){var buf=src.bufQueue.shift();buf.refCount--;HEAP32[pBufferIds+i*4>>2]=buf.id;src.bufsProcessed--}if(src.bufQueue.length===0){src.bufQueue.push(AL.buffers[0])}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)}Module["_alSourceUnqueueBuffers"]=_alSourceUnqueueBuffers;function _alSourcePlay(sourceId){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4114)}Module["_alSourcePlay"]=_alSourcePlay;function _alSourcePlayv(count,pSourceIds){if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i<count;++i){if(!AL.currentCtx.sources[HEAP32[pSourceIds+i*4>>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){AL.setSourceState(HEAP32[pSourceIds+i*4>>2],4114)}}Module["_alSourcePlayv"]=_alSourcePlayv;function _alSourceStop(sourceId){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116)}Module["_alSourceStop"]=_alSourceStop;function _alSourceStopv(count,pSourceIds){if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i<count;++i){if(!AL.currentCtx.sources[HEAP32[pSourceIds+i*4>>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){AL.setSourceState(HEAP32[pSourceIds+i*4>>2],4116)}}Module["_alSourceStopv"]=_alSourceStopv;function _alSourceRewind(sourceId){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116);AL.setSourceState(src,4113)}Module["_alSourceRewind"]=_alSourceRewind;function _alSourceRewindv(count,pSourceIds){if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i<count;++i){if(!AL.currentCtx.sources[HEAP32[pSourceIds+i*4>>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){AL.setSourceState(HEAP32[pSourceIds+i*4>>2],4113)}}Module["_alSourceRewindv"]=_alSourceRewindv;function _alSourcePause(sourceId){if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4115)}Module["_alSourcePause"]=_alSourcePause;function _alSourcePausev(count,pSourceIds){if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i<count;++i){if(!AL.currentCtx.sources[HEAP32[pSourceIds+i*4>>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i<count;++i){AL.setSourceState(HEAP32[pSourceIds+i*4>>2],4115)}}Module["_alSourcePausev"]=_alSourcePausev;function _alGetSourcef(sourceId,param,pValue){var val=AL.getSourceParam("alGetSourcef",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetSourcef"]=_alGetSourcef;function _alGetSource3f(source,param,pValue0,pValue1,pValue2){var val=AL.getSourceParam("alGetSource3f",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetSource3f"]=_alGetSource3f;function _alGetSourcefv(sourceId,param,pValues){var val=AL.getSourceParam("alGetSourcefv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValues>>2]=val[0];break;case 4100:case 4101:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetSourcefv"]=_alGetSourcefv;function _alGetSourcei(sourceId,param,pValue){var val=AL.getSourceParam("alGetSourcei",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}}Module["_alGetSourcei"]=_alGetSourcei;function _alGetSource3i(source,param,pValue0,pValue1,pValue2){var val=AL.getSourceParam("alGetSource3i",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetSource3i"]=_alGetSource3i;function _alGetSourceiv(sourceId,param,pValues){var val=AL.getSourceParam("alGetSourceiv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValues>>2]=val;break;case 4100:case 4101:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}}Module["_alGetSourceiv"]=_alGetSourceiv;function _alSourcef(sourceId,param,value){switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",sourceId,param,value);break;default:AL.setSourceParam("alSourcef",sourceId,param,null);break}}Module["_alSourcef"]=_alSourcef;function _alSource3f(sourceId,param,value0,value1,value2){switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3f",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3f",sourceId,param,null);break}}Module["_alSource3f"]=_alSource3f;function _alSourcefv(sourceId,param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var val=HEAPF32[pValues>>2];AL.setSourceParam("alSourcefv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setSourceParam("alSourcefv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",sourceId,param,null);break}}Module["_alSourcefv"]=_alSourcefv;function _alSource3i(sourceId,param,value0,value1,value2){switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3i",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3i",sourceId,param,null);break}}Module["_alSource3i"]=_alSource3i;function _alSourceiv(source,param,pValues){if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var val=HEAP32[pValues>>2];AL.setSourceParam("alSourceiv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setSourceParam("alSourceiv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",sourceId,param,null);break}}Module["_alSourceiv"]=_alSourceiv;var WebVR={EYE_LEFT:0,EYE_RIGHT:1,POSE_POSITION:1,POSE_LINEAR_VELOCITY:2,POSE_LINEAR_ACCELERATION:4,POSE_ORIENTATION:8,POSE_ANGULAR_VELOCITY:16,POSE_ANGULAR_ACCELERATION:32,initialized:false,ready:false,version:[-1,-1],displays:[],displayNames:[],init:function(callback){if(WebVR.initialized)return;WebVR.initialized=true;if(!navigator.getVRDisplays){WebVR.ready=true;WebVR.displays=[];return 0}WebVR.version=[1,1];navigator.getVRDisplays().then(function(displays){WebVR.ready=true;WebVR.displays=displays;WebVR.displayNames=new Array(displays.length);callback()});return 1},deinit:function(){WebVR.displayNames.forEach(function(name){_free(name)});return 1},dereferenceDisplayHandle:function(displayHandle){if(displayHandle<1||displayHandle>WebVR.displays.length){console.log("library_vr dereferenceDisplayHandle invalid display handle at: "+stackTrace());return null}return WebVR.displays[displayHandle-1]}};Module["WebVR"]=WebVR;function _emscripten_vr_init(func,userData){return WebVR.init(function(){Runtime.dynCall("vi",func,[userData])})}Module["_emscripten_vr_init"]=_emscripten_vr_init;function _emscripten_vr_deinit(){return WebVR.deinit()}Module["_emscripten_vr_deinit"]=_emscripten_vr_deinit;function _emscripten_vr_version_major(){return WebVR.version[0]}Module["_emscripten_vr_version_major"]=_emscripten_vr_version_major;function _emscripten_vr_version_minor(){return WebVR.version[1]}Module["_emscripten_vr_version_minor"]=_emscripten_vr_version_minor;function _emscripten_vr_ready(){return WebVR.ready?1:0}Module["_emscripten_vr_ready"]=_emscripten_vr_ready;function _emscripten_vr_count_displays(){return WebVR.displays.length}Module["_emscripten_vr_count_displays"]=_emscripten_vr_count_displays;function _emscripten_vr_get_display_handle(displayIndex){if(displayIndex<0||displayIndex>=WebVR.displays.length){return-1}return displayIndex+1}Module["_emscripten_vr_get_display_handle"]=_emscripten_vr_get_display_handle;function _emscripten_vr_get_display_name(displayHandle){var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display)return 0;var name=WebVR.displayNames[displayHandle-1];if(name){return name}var buffer,displayName;displayName=display?display.displayName:"";var len=lengthBytesUTF8(displayName);buffer=_malloc(len+1);stringToUTF8(displayName,buffer,len+1);WebVR.displayNames[displayHandle-1]=buffer;return buffer}Module["_emscripten_vr_get_display_name"]=_emscripten_vr_get_display_name;function _emscripten_vr_get_display_capabilities(displayHandle,capsPtr){if(!capsPtr)return 0;var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display)return 0;var caps=display.capabilities;HEAP32[capsPtr>>2]=caps.hasPosition?1:0;HEAP32[capsPtr+4>>2]=caps.hasExternalDisplay?1:0;HEAP32[capsPtr+8>>2]=caps.canPresent?1:0;HEAP32[capsPtr+12>>2]=caps.maxLayers;return 1}Module["_emscripten_vr_get_display_capabilities"]=_emscripten_vr_get_display_capabilities;function _emscripten_vr_get_eye_parameters(displayHandle,whichEye,eyeParamsPtr){if(!eyeParamsPtr)return 0;var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display)return 0;var params=display.getEyeParameters(whichEye==WebVR.EYE_LEFT?"left":"right");HEAPF32[eyeParamsPtr>>2]=params.offset[0];HEAPF32[eyeParamsPtr+4>>2]=params.offset[1];HEAPF32[eyeParamsPtr+8>>2]=params.offset[2];HEAP32[eyeParamsPtr+12>>2]=params.renderWidth;HEAP32[eyeParamsPtr+16>>2]=params.renderHeight;return 1}Module["_emscripten_vr_get_eye_parameters"]=_emscripten_vr_get_eye_parameters;function _emscripten_vr_display_connected(displayHandle){var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display||!display.isConnected)return 0;return 1}Module["_emscripten_vr_display_connected"]=_emscripten_vr_display_connected;function _emscripten_vr_display_presenting(displayHandle){var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display||!display.isPresenting)return 0;return 1}Module["_emscripten_vr_display_presenting"]=_emscripten_vr_display_presenting;function _emscripten_vr_set_display_render_loop(displayHandle,func,arg){var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display)return 0;assert(!display.mainLoop||!display.mainLoop.scheduler,"emscripten_vr_set_device_main_loop: there can only be one render loop function per VRDisplay: call emscripten_vr_cancel_render_loop to cancel the previous one before setting a new one with different parameters.");var displayIterationFunc;if(typeof arg!=="undefined"){displayIterationFunc=function(){dynCall("vi",func,[arg])}}else{displayIterationFunc=function(){dynCall("v",func)}}display.mainLoop={running:!display.mainLoop?false:display.mainLoop.running,scheduler:function(){display.requestAnimationFrame(display.mainLoop.runner)},runner:function(){if(ABORT)return;display.mainLoop.running=true;try{displayIterationFunc()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)err("exception thrown in render loop of VR display "+displayHandle.toString()+": "+[e,e.stack]);throw e}}if(!display.mainLoop.scheduler){display.mainLoop.running=false}else{display.mainLoop.scheduler()}},pause:function(){display.mainLoop.scheduler=null}};if(!display.mainLoop.running){display.mainLoop.scheduler()}return 1}Module["_emscripten_vr_set_display_render_loop"]=_emscripten_vr_set_display_render_loop;function _emscripten_vr_set_display_render_loop_arg(displayHandle,func,arg){return _emscripten_vr_set_display_render_loop(displayHandle,func,arg)}Module["_emscripten_vr_set_display_render_loop_arg"]=_emscripten_vr_set_display_render_loop_arg;function _emscripten_vr_cancel_display_render_loop(displayHandle){var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display||!display.mainLoop)return 0;display.mainLoop.pause();return 1}Module["_emscripten_vr_cancel_display_render_loop"]=_emscripten_vr_cancel_display_render_loop;function _emscripten_vr_request_present(displayHandle,layerInitPtr,layerCount,func,userData){var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display)return 0;layerInit=new Array(layerCount);for(var i=0;i<layerCount;++i){sourceStrPtr=HEAP32[layerInitPtr>>2];var source=null;if(sourceStrPtr==0){source=Module["canvas"]}else{sourceStr=UTF8ToString(sourceStrPtr);if(sourceStr&&sourceStr.length>0){source=document.getElementById(sourceStr)}if(!source){return 0}}leftBounds=new Float32Array(4);rightBounds=new Float32Array(4);var ptr=layerInitPtr;for(var j=0;j<4;++j){leftBounds[j]=HEAPF32[layerInitPtr+(4+4*j)>>2];rightBounds[j]=HEAPF32[layerInitPtr+(20+4*j)>>2];ptr+=4}layerInit[i]={source:source,leftBounds:leftBounds,rightBounds:rightBounds};layerInitPtr+=36}display.requestPresent(layerInit).then(function(){if(!func)return;dynCall("vi",func,[userData])});return 1}Module["_emscripten_vr_request_present"]=_emscripten_vr_request_present;function _emscripten_vr_exit_present(displayHandle){var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display)return 0;display.exitPresent();return 1}Module["_emscripten_vr_exit_present"]=_emscripten_vr_exit_present;function _emscripten_vr_get_frame_data(displayHandle,frameDataPtr){var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display||!display.mainLoop||!frameDataPtr)return 0;if(!display.frameData){display.frameData=new VRFrameData}display.getFrameData(display.frameData);var poseFlags=0;HEAPF64[frameDataPtr>>3]=display.frameData.timestamp;if(display.frameData.pose.position!==null){HEAPF32[frameDataPtr+264>>2]=display.frameData.pose.position[0];HEAPF32[frameDataPtr+268>>2]=display.frameData.pose.position[1];HEAPF32[frameDataPtr+272>>2]=display.frameData.pose.position[2];poseFlags|=WebVR.POSE_POSITION}if(display.frameData.pose.linearVelocity!==null){HEAPF32[frameDataPtr+276>>2]=display.frameData.pose.linearVelocity[0];HEAPF32[frameDataPtr+280>>2]=display.frameData.pose.linearVelocity[1];HEAPF32[frameDataPtr+284>>2]=display.frameData.pose.linearVelocity[2];poseFlags|=WebVR.POSE_LINEAR_VELOCITY}if(display.frameData.pose.linearAcceleration!==null){HEAPF32[frameDataPtr+288>>2]=display.frameData.pose.linearAcceleration[0];HEAPF32[frameDataPtr+292>>2]=display.frameData.pose.linearAcceleration[1];HEAPF32[frameDataPtr+296>>2]=display.frameData.pose.linearAcceleration[2];poseFlags|=WebVR.POSE_LINEAR_ACCELERATION}if(display.frameData.pose.orientation!==null){HEAPF32[frameDataPtr+300>>2]=display.frameData.pose.orientation[0];HEAPF32[frameDataPtr+304>>2]=display.frameData.pose.orientation[1];HEAPF32[frameDataPtr+308>>2]=display.frameData.pose.orientation[2];HEAPF32[frameDataPtr+312>>2]=display.frameData.pose.orientation[3];poseFlags|=WebVR.POSE_ORIENTATION}if(display.frameData.pose.angularVelocity!==null){HEAPF32[frameDataPtr+316>>2]=display.frameData.pose.angularVelocity[0];HEAPF32[frameDataPtr+320>>2]=display.frameData.pose.angularVelocity[1];HEAPF32[frameDataPtr+324>>2]=display.frameData.pose.angularVelocity[2];poseFlags|=WebVR.POSE_ANGULAR_VELOCITY}if(display.frameData.pose.angularAcceleration!==null){HEAPF32[frameDataPtr+328>>2]=display.frameData.pose.angularAcceleration[0];HEAPF32[frameDataPtr+332>>2]=display.frameData.pose.angularAcceleration[1];HEAPF32[frameDataPtr+336>>2]=display.frameData.pose.angularAcceleration[0];poseFlags|=WebVR.POSE_ANGULAR_ACCELERATION}HEAP32[frameDataPtr+340>>2]=poseFlags;for(var i=0;i<16;++i){HEAPF32[frameDataPtr+(8+i*4)>>2]=display.frameData.leftProjectionMatrix[i]}for(var i=0;i<16;++i){HEAPF32[frameDataPtr+(72+i*4)>>2]=display.frameData.leftViewMatrix[i]}for(var i=0;i<16;++i){HEAPF32[frameDataPtr+(136+i*4)>>2]=display.frameData.rightProjectionMatrix[i]}for(var i=0;i<16;++i){HEAPF32[frameDataPtr+(200+i*4)>>2]=display.frameData.rightViewMatrix[i]}return 1}Module["_emscripten_vr_get_frame_data"]=_emscripten_vr_get_frame_data;function _emscripten_vr_submit_frame(displayHandle){var display=WebVR.dereferenceDisplayHandle(displayHandle);if(!display||!display.mainLoop)return 0;display.submitFrame();return 1}Module["_emscripten_vr_submit_frame"]=_emscripten_vr_submit_frame;function _SDL_GetTicks(){return Date.now()-SDL.startTime|0}Module["_SDL_GetTicks"]=_SDL_GetTicks;function _SDL_LockSurface(surf){var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAP32[surf+20>>2]=surfData.buffer}HEAP32[surf+20>>2]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i<num/4;i++){data[i*4+3]=255}}if(SDL.defaults.copyOnLock&&!SDL.defaults.discardOnLock){if(surfData.isFlagSet(2097152)){throw"CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set"+(new Error).stack}else{HEAPU8.set(surfData.image.data,surfData.buffer)}}return 0}Module["_SDL_LockSurface"]=_SDL_LockSurface;var SDL={defaults:{width:320,height:200,copyOnLock:true,discardOnLock:false,opaqueFrontBuffer:true},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:false,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:false,isRequestingFullscreen:false,textInput:false,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect:function(rect){return{x:HEAP32[rect+0>>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}},updateRect:function(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h},intersectionOfRects:function(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat:function(fmt){},loadColorToCSSRGB:function(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA:function(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:function(rgba){return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")"},translateRGBAToCSSRGBA:function(r,g,b,a){return"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")"},translateRGBAToColor:function(r,g,b,a){return r|g<<8|b<<16|a<<24},makeSurface:function(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){flags=flags||0;var is_SDL_HWSURFACE=flags&1;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAP32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAP32[surf+20>>2]=buffer;HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=Module["canvas"].width;HEAP32[surf+48>>2]=Module["canvas"].height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8>>0]=bpp*8;HEAP8[pixelFormat+9>>0]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;var canvas;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}else{canvas=Module["canvas"]}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width:width,height:height,canvas:canvas,ctx:ctx,surf:surf,buffer:buffer,pixelFormat:pixelFormat,alpha:255,flags:flags,locked:0,usePageCanvas:usePageCanvas,source:source,isFlagSet:function(flag){return flags&flag}};return surf},copyIndexedColorData:function(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var fullWidth=Module["canvas"].width;var fullHeight=Module["canvas"].height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y<endY;++y){var base=y*fullWidth;for(var x=startX;x<endX;++x){data32[base+x]=colors32[HEAPU8[buffer+base+x>>0]]}}},freeSurface:function(surf){var refcountPointer=surf+56;var refcount=HEAP32[refcountPointer>>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);if(info.buffer)_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface:function(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent:function(event){function unpressAllPressedKeys(){for(var code in SDL.keyboardMap){SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[code]})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var i=0;i<event.touches.length;i++){var touch=event.touches[i];if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var i=0;i<touches.length;i++){var touch=touches[i];SDL.events.push({type:event.type,touch:touch})}break}case"touchend":{event.preventDefault();for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];SDL.events.push({type:"touchend",touch:touch})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=delta>0?3:4;SDL.events.push({type:"mousedown",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(event.keyCode===8||event.keyCode===9)){event.preventDefault()}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](true,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(Browser.mainLoop.runner){SDL.events.push(event);Browser.mainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent:function(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[event.keyCode]||event.keyCode;if(event.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent:function(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);HEAP8[SDL.keyboardState+code>>0]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>0]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<<event.button}else if(event.type=="mouseup"){SDL.buttonState&=~(1<<event.button)}case"mousemove":{Browser.calculateMouseEvent(event);break}}},flushEventsToHandler:function(){if(!SDL.eventHandler)return;while(SDL.pollEvent(SDL.eventHandlerTemp)){Module["dynCall_iii"](SDL.eventHandler,SDL.eventHandlerContext,SDL.eventHandlerTemp)}},pollEvent:function(ptr){if(SDL.initFlags&512&&SDL.joystickEventState){SDL.queryJoysticks()}if(ptr){while(SDL.events.length>0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}else{return SDL.events.length>0}},makeCEvent:function(event,ptr){if(typeof event==="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8>>0]=down?1:0;HEAP8[ptr+9>>0]=0;HEAP32[ptr+12>>2]=scan;HEAP32[ptr+16>>2]=key;HEAP16[ptr+20>>1]=SDL.modState;HEAP32[ptr+24>>2]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];var cStr=intArrayFromString(String.fromCharCode(event.charCode));for(var i=0;i<cStr.length;++i){HEAP8[ptr+(8+i)>>0]=cStr[i]}break}case"mousedown":case"mouseup":case"mousemove":{if(event.type!="mousemove"){var down=event.type==="mousedown";HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16>>0]=event.button+1;HEAP8[ptr+17>>0]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var w=Module["canvas"].width;var h=Module["canvas"].height;var x=Browser.touches[touch.identifier].x/w;var y=Browser.touches[touch.identifier].y/h;var lx=Browser.lastTouches[touch.identifier].x/w;var ly=Browser.lastTouches[touch.identifier].y/h;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.button;HEAP8[ptr+6>>0]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{var SDL_WINDOWEVENT_FOCUS_GAINED=12;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_GAINED;break}case"blur":{var SDL_WINDOWEVENT_FOCUS_LOST=13;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_LOST;break}case"visibilitychange":{var SDL_WINDOWEVENT_SHOWN=1;var SDL_WINDOWEVENT_HIDDEN=2;var visibilityEventID=event.visible?SDL_WINDOWEVENT_SHOWN:SDL_WINDOWEVENT_HIDDEN;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString:function(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth:function(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.save();tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;tempCtx.restore();return ret},allocateChannels:function(num){if(SDL.numChannels&&SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i<num;i++){SDL.channels[i]={audio:null,volume:1}}},setGetVolume:function(info,volume){if(!info)return 0;var ret=info.volume*128;if(volume!=-1){info.volume=Math.min(Math.max(volume,0),128)/128;if(info.audio){try{info.audio.volume=info.volume;if(info.audio.webAudioGainNode)info.audio.webAudioGainNode["gain"]["value"]=info.volume}catch(e){err("setGetVolume failed to set audio volume: "+e)}}}return ret},setPannerPosition:function(info,x,y,z){if(!info)return;if(info.audio){if(info.audio.webAudioPannerNode){info.audio.webAudioPannerNode["setPosition"](x,y,z)}}},playWebAudio:function(audio){if(!audio)return;if(audio.webAudioNode)return;if(!SDL.webAudioAvailable())return;try{var webAudio=audio.resource.webAudio;audio.paused=false;if(!webAudio.decodedBuffer){if(webAudio.onDecodeComplete===undefined)abort("Cannot play back audio object that was not loaded");webAudio.onDecodeComplete.push(function(){if(!audio.paused)SDL.playWebAudio(audio)});return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=function(){audio["onended"]()};audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){err("playWebAudio failed: "+e)}},pauseWebAudio:function(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){err("pauseWebAudio failed: "+e)}}audio.paused=true},openAudioContext:function(){if(!SDL.audioContext){if(typeof AudioContext!=="undefined")SDL.audioContext=new AudioContext;else if(typeof webkitAudioContext!=="undefined")SDL.audioContext=new webkitAudioContext}},webAudioAvailable:function(){return!!SDL.audioContext},fillWebAudioBufferFromHeap:function(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var numChannels=SDL.audio.channels;for(var c=0;c<numChannels;++c){var channelData=dstAudioBuffer["getChannelData"](c);if(channelData.length!=sizeSamplesPerChannel){throw"Web Audio output buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+sizeSamplesPerChannel+" samples!"}if(SDL.audio.format==32784){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAP16[heapPtr+(j*numChannels+c)*2>>1]/32768}}else if(SDL.audio.format==8){for(var j=0;j<sizeSamplesPerChannel;++j){var v=HEAP8[heapPtr+(j*numChannels+c)>>0];channelData[j]=(v>=0?v-128:v+128)/128}}else if(SDL.audio.format==33056){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAPF32[heapPtr+(j*numChannels+c)*4>>2]}}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}}},debugSurface:function(surfData){console.log("dumping surface "+[surfData.surf,surfData.source,surfData.width,surfData.height]);var image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);var data=image.data;var num=Math.min(surfData.width,surfData.height);for(var i=0;i<num;i++){console.log(" diagonal "+i+":"+[data[i*surfData.width*4+i*4+0],data[i*surfData.width*4+i*4+1],data[i*surfData.width*4+i*4+2],data[i*surfData.width*4+i*4+3]])}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState:function(joystick,state){var buttons=new Array(state.buttons.length);for(var i=0;i<state.buttons.length;i++){buttons[i]=SDL.getJoystickButtonState(state.buttons[i])}SDL.lastJoystickState[joystick]={buttons:buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}},getJoystickButtonState:function(button){if(typeof button==="object"){return button["pressed"]}else{return button>0}},queryJoysticks:function(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state==="undefined")return;if(state===null)return;if(typeof state.timestamp!=="number"||state.timestamp!==prevState.timestamp||!state.timestamp){var i;for(i=0;i<state.buttons.length;i++){var buttonState=SDL.getJoystickButtonState(state.buttons[i]);if(buttonState!==prevState.buttons[i]){SDL.events.push({type:buttonState?"joystick_button_down":"joystick_button_up",joystick:joystick,index:joystick-1,button:i})}}for(i=0;i<state.axes.length;i++){if(state.axes[i]!==prevState.axes[i]){SDL.events.push({type:"joystick_axis_motion",joystick:joystick,index:joystick-1,axis:i,value:state.axes[i]})}}SDL.recordJoystickState(joystick,state)}}},joystickAxisValueConversion:function(value){value=Math.min(1,Math.max(value,-1));return Math.ceil((value+1)*32767.5-32768)},getGamepads:function(){var fcn=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;if(fcn!==undefined){return fcn.apply(navigator)}else{return[]}},getGamepad:function(deviceIndex){var gamepads=SDL.getGamepads();if(gamepads.length>deviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};Module["SDL"]=SDL;function _SDL_Linked_Version(){if(SDL.version===null){SDL.version=_malloc(3);HEAP8[SDL.version+0>>0]=1;HEAP8[SDL.version+1>>0]=3;HEAP8[SDL.version+2>>0]=0}return SDL.version}Module["_SDL_Linked_Version"]=_SDL_Linked_Version;function _SDL_Init(initFlags){SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_malloc(65536);_memset(SDL.keyboardState,0,65536);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0}Module["_SDL_Init"]=_SDL_Init;function _SDL_WasInit(){if(SDL.startTime===null){_SDL_Init()}return 1}Module["_SDL_WasInit"]=_SDL_WasInit;function _SDL_GetVideoInfo(){var ret=_malloc(5*4);HEAP32[ret+0>>2]=0;HEAP32[ret+4>>2]=0;HEAP32[ret+8>>2]=0;HEAP32[ret+12>>2]=Module["canvas"].width;HEAP32[ret+16>>2]=Module["canvas"].height;return ret}Module["_SDL_GetVideoInfo"]=_SDL_GetVideoInfo;function _SDL_ListModes(format,flags){return-1}Module["_SDL_ListModes"]=_SDL_ListModes;function _SDL_VideoModeOK(width,height,depth,flags){return depth}Module["_SDL_VideoModeOK"]=_SDL_VideoModeOK;function _SDL_VideoDriverName(buf,max_size){if(SDL.startTime===null){return 0}var driverName=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114];var index=0;var size=driverName.length;if(max_size<=size){size=max_size-1}while(index<size){var value=driverName[index];HEAP8[buf+index>>0]=value;index++}HEAP8[buf+index>>0]=0;return buf}Module["_SDL_VideoDriverName"]=_SDL_VideoDriverName;function _SDL_AudioDriverName(buf,max_size){return _SDL_VideoDriverName(buf,max_size)}Module["_SDL_AudioDriverName"]=_SDL_AudioDriverName;function _SDL_SetVideoMode(width,height,depth,flags){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","DOMMouseScroll","mousewheel","wheel","mouseout"].forEach(function(event){Module["canvas"].addEventListener(event,SDL.receiveEvent,true)});var canvas=Module["canvas"];if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push(function(w,h){if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w:w,h:h})}})}SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false;if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen}Module["_SDL_SetVideoMode"]=_SDL_SetVideoMode;function _SDL_GetVideoSurface(){return SDL.screen}Module["_SDL_GetVideoSurface"]=_SDL_GetVideoSurface;function _SDL_AudioQuit(){for(var i=0;i<SDL.numChannels;++i){if(SDL.channels[i].audio){SDL.channels[i].audio.pause();SDL.channels[i].audio=undefined}}if(SDL.music.audio)SDL.music.audio.pause();SDL.music.audio=undefined}Module["_SDL_AudioQuit"]=_SDL_AudioQuit;function _SDL_VideoQuit(){out("SDL_VideoQuit called (and ignored)")}Module["_SDL_VideoQuit"]=_SDL_VideoQuit;function _SDL_QuitSubSystem(flags){out("SDL_QuitSubSystem called (and ignored)")}Module["_SDL_QuitSubSystem"]=_SDL_QuitSubSystem;function _SDL_Quit(){_SDL_AudioQuit();out("SDL_Quit called (and ignored)")}Module["_SDL_Quit"]=_SDL_Quit;function _SDL_UnlockSurface(surf){assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i<j){data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0}}else{while(i<j){data8[i]=255;i=i+4|0}}}else{data32.set(HEAP32.subarray(src,src+data32.length))}}}else{var width=Module["canvas"].width;var height=Module["canvas"].height;var s=surfData.buffer;var data=surfData.image.data;var colors=surfData.colors;for(var y=0;y<height;y++){var base=y*width*4;for(var x=0;x<width;x++){var val=HEAPU8[s++>>0]*4;var start=base+x*4;data[start]=colors[val];data[start+1]=colors[val+1];data[start+2]=colors[val+2]}s+=width*3}}surfData.ctx.putImageData(surfData.image,0,0)}Module["_SDL_UnlockSurface"]=_SDL_UnlockSurface;function _SDL_Flip(surf){}Module["_SDL_Flip"]=_SDL_Flip;function _SDL_UpdateRect(surf,x,y,w,h){}Module["_SDL_UpdateRect"]=_SDL_UpdateRect;function _SDL_UpdateRects(surf,numrects,rects){}Module["_SDL_UpdateRects"]=_SDL_UpdateRects;function _SDL_Delay(delay){if(!ENVIRONMENT_IS_WORKER)abort("SDL_Delay called on the main thread! Potential infinite loop, quitting.");var now=Date.now();while(Date.now()-now<delay){}}Module["_SDL_Delay"]=_SDL_Delay;function _SDL_WM_SetCaption(title,icon){if(title&&typeof Module["setWindowTitle"]!=="undefined"){Module["setWindowTitle"](UTF8ToString(title))}icon=icon&&UTF8ToString(icon)}Module["_SDL_WM_SetCaption"]=_SDL_WM_SetCaption;function _SDL_EnableKeyRepeat(delay,interval){}Module["_SDL_EnableKeyRepeat"]=_SDL_EnableKeyRepeat;function _SDL_GetKeyboardState(numKeys){if(numKeys){HEAP32[numKeys>>2]=65536}return SDL.keyboardState}Module["_SDL_GetKeyboardState"]=_SDL_GetKeyboardState;function _SDL_GetKeyState(){return _SDL_GetKeyboardState()}Module["_SDL_GetKeyState"]=_SDL_GetKeyState;function _SDL_GetKeyName(key){if(!SDL.keyName){SDL.keyName=allocate(intArrayFromString("unknown key"),"i8",ALLOC_NORMAL)}return SDL.keyName}Module["_SDL_GetKeyName"]=_SDL_GetKeyName;function _SDL_GetModState(){return SDL.modState}Module["_SDL_GetModState"]=_SDL_GetModState;function _SDL_GetMouseState(x,y){if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState}Module["_SDL_GetMouseState"]=_SDL_GetMouseState;function _SDL_WarpMouse(x,y){return}Module["_SDL_WarpMouse"]=_SDL_WarpMouse;function _SDL_ShowCursor(toggle){switch(toggle){case 0:if(Browser.isFullscreen){Module["canvas"].requestPointerLock();return 0}else{return 1}break;case 1:Module["canvas"].exitPointerLock();return 1;break;case-1:return!Browser.pointerLock;break;default:console.log("SDL_ShowCursor called with unknown toggle parameter value: "+toggle+".");break}}Module["_SDL_ShowCursor"]=_SDL_ShowCursor;function _SDL_GetError(){if(!SDL.errorMessage){SDL.errorMessage=allocate(intArrayFromString("unknown SDL-emscripten error"),"i8",ALLOC_NORMAL)}return SDL.errorMessage}Module["_SDL_GetError"]=_SDL_GetError;function _SDL_SetError(){}Module["_SDL_SetError"]=_SDL_SetError;function _SDL_malloc(){return _malloc.apply(null,arguments)}Module["_SDL_malloc"]=_SDL_malloc;function _SDL_free(){return _free.apply(null,arguments)}Module["_SDL_free"]=_SDL_free;function _SDL_CreateRGBSurface(flags,width,height,depth,rmask,gmask,bmask,amask){return SDL.makeSurface(width,height,flags,false,"CreateRGBSurface",rmask,gmask,bmask,amask)}Module["_SDL_CreateRGBSurface"]=_SDL_CreateRGBSurface;function _SDL_CreateRGBSurfaceFrom(pixels,width,height,depth,pitch,rmask,gmask,bmask,amask){var surf=SDL.makeSurface(width,height,0,false,"CreateRGBSurfaceFrom",rmask,gmask,bmask,amask);if(depth!==32){console.log("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!");return surf}var data=SDL.surfaces[surf];var image=data.ctx.createImageData(width,height);var pitchOfDst=width*4;for(var row=0;row<height;++row){var baseOfSrc=row*pitch;var baseOfDst=row*pitchOfDst;for(var col=0;col<width*4;++col){image.data[baseOfDst+col]=HEAPU8[pixels+(baseOfDst+col)>>0]}}data.ctx.putImageData(image,0,0);return surf}Module["_SDL_CreateRGBSurfaceFrom"]=_SDL_CreateRGBSurfaceFrom;function _SDL_ConvertSurface(surf,format,flags){if(format){SDL.checkPixelFormat(format)}var oldData=SDL.surfaces[surf];var ret=SDL.makeSurface(oldData.width,oldData.height,oldData.flags,false,"copy:"+oldData.source);var newData=SDL.surfaces[ret];newData.ctx.globalCompositeOperation="copy";newData.ctx.drawImage(oldData.canvas,0,0);newData.ctx.globalCompositeOperation=oldData.ctx.globalCompositeOperation;return ret}Module["_SDL_ConvertSurface"]=_SDL_ConvertSurface;function _SDL_DisplayFormatAlpha(surf){return _SDL_ConvertSurface(surf)}Module["_SDL_DisplayFormatAlpha"]=_SDL_DisplayFormatAlpha;function _SDL_FreeSurface(surf){if(surf)SDL.freeSurface(surf)}Module["_SDL_FreeSurface"]=_SDL_FreeSurface;function _SDL_UpperBlit(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,false)}Module["_SDL_UpperBlit"]=_SDL_UpperBlit;function _SDL_UpperBlitScaled(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,true)}Module["_SDL_UpperBlitScaled"]=_SDL_UpperBlitScaled;function _SDL_LowerBlit(){return _SDL_UpperBlit.apply(null,arguments)}Module["_SDL_LowerBlit"]=_SDL_LowerBlit;function _SDL_LowerBlitScaled(){return _SDL_UpperBlitScaled.apply(null,arguments)}Module["_SDL_LowerBlitScaled"]=_SDL_LowerBlitScaled;function _SDL_GetClipRect(surf,rect){assert(rect);var surfData=SDL.surfaces[surf];var r=surfData.clipRect||{x:0,y:0,w:surfData.width,h:surfData.height};SDL.updateRect(rect,r)}Module["_SDL_GetClipRect"]=_SDL_GetClipRect;function _SDL_SetClipRect(surf,rect){var surfData=SDL.surfaces[surf];if(rect){surfData.clipRect=SDL.intersectionOfRects({x:0,y:0,w:surfData.width,h:surfData.height},SDL.loadRect(rect))}else{delete surfData.clipRect}}Module["_SDL_SetClipRect"]=_SDL_SetClipRect;function _SDL_FillRect(surf,rect,color){var surfData=SDL.surfaces[surf];assert(!surfData.locked);if(surfData.isFlagSet(2097152)){color=surfData.colors32[color]}var r=rect?SDL.loadRect(rect):{x:0,y:0,w:surfData.width,h:surfData.height};if(surfData.clipRect){r=SDL.intersectionOfRects(surfData.clipRect,r);if(rect){SDL.updateRect(rect,r)}}surfData.ctx.save();surfData.ctx.fillStyle=SDL.translateColorToCSSRGBA(color);surfData.ctx.fillRect(r.x,r.y,r.w,r.h);surfData.ctx.restore();return 0}Module["_SDL_FillRect"]=_SDL_FillRect;function _SDL_BlitSurface(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,false)}Module["_SDL_BlitSurface"]=_SDL_BlitSurface;function _SDL_BlitScaled(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,true)}Module["_SDL_BlitScaled"]=_SDL_BlitScaled;function _zoomSurface(src,x,y,smooth){var srcData=SDL.surfaces[src];var w=srcData.width*x;var h=srcData.height*y;var ret=SDL.makeSurface(Math.abs(w),Math.abs(h),srcData.flags,false,"zoomSurface");var dstData=SDL.surfaces[ret];if(x>=0&&y>=0)dstData.ctx.drawImage(srcData.canvas,0,0,w,h);else{dstData.ctx.save();dstData.ctx.scale(x<0?-1:1,y<0?-1:1);dstData.ctx.drawImage(srcData.canvas,w<0?w:0,h<0?h:0,Math.abs(w),Math.abs(h));dstData.ctx.restore()}return ret}Module["_zoomSurface"]=_zoomSurface;function _rotozoomSurface(src,angle,zoom,smooth){if(angle%360===0){return _zoomSurface(src,zoom,zoom,smooth)}var srcData=SDL.surfaces[src];var w=srcData.width*zoom;var h=srcData.height*zoom;var diagonal=Math.ceil(Math.sqrt(Math.pow(w,2)+Math.pow(h,2)));var ret=SDL.makeSurface(diagonal,diagonal,srcData.flags,false,"rotozoomSurface");var dstData=SDL.surfaces[ret];dstData.ctx.translate(diagonal/2,diagonal/2);dstData.ctx.rotate(-angle*Math.PI/180);dstData.ctx.drawImage(srcData.canvas,-w/2,-h/2,w,h);return ret}Module["_rotozoomSurface"]=_rotozoomSurface;function _SDL_SetAlpha(surf,flag,alpha){var surfData=SDL.surfaces[surf];surfData.alpha=alpha;if(!(flag&65536)){surfData.alpha=255}}Module["_SDL_SetAlpha"]=_SDL_SetAlpha;function _SDL_SetColorKey(surf,flag,key){warnOnce("SDL_SetColorKey is a no-op for performance reasons");return 0}Module["_SDL_SetColorKey"]=_SDL_SetColorKey;function _SDL_PollEvent(ptr){return SDL.pollEvent(ptr)}Module["_SDL_PollEvent"]=_SDL_PollEvent;function _SDL_PushEvent(ptr){var copy=_malloc(28);_memcpy(copy,ptr,28);SDL.events.push(copy);return 0}Module["_SDL_PushEvent"]=_SDL_PushEvent;function _SDL_PeepEvents(events,requestedEventCount,action,from,to){switch(action){case 2:{assert(requestedEventCount==1);var index=0;var retrievedEventCount=0;while(index<SDL.events.length&&retrievedEventCount<requestedEventCount){var event=SDL.events[index];var type=SDL.DOMEventToSDLEvent[event.type];if(from<=type&&type<=to){if(SDL.makeCEvent(event,events)===false){index++}else{SDL.events.splice(index,1);retrievedEventCount++}}else{index++}}return retrievedEventCount}default:throw"SDL_PeepEvents does not yet support that action: "+action}}Module["_SDL_PeepEvents"]=_SDL_PeepEvents;function _SDL_PumpEvents(){SDL.events.forEach(function(event){SDL.handleEvent(event)})}Module["_SDL_PumpEvents"]=_SDL_PumpEvents;function _emscripten_SDL_SetEventHandler(handler,userdata){SDL.eventHandler=handler;SDL.eventHandlerContext=userdata;if(!SDL.eventHandlerTemp)SDL.eventHandlerTemp=_malloc(28)}Module["_emscripten_SDL_SetEventHandler"]=_emscripten_SDL_SetEventHandler;function _SDL_SetColors(surf,colors,firstColor,nColors){var surfData=SDL.surfaces[surf];if(!surfData.colors){var buffer=new ArrayBuffer(256*4);surfData.colors=new Uint8Array(buffer);surfData.colors32=new Uint32Array(buffer)}for(var i=0;i<nColors;++i){var index=(firstColor+i)*4;surfData.colors[index]=HEAPU8[colors+i*4>>0];surfData.colors[index+1]=HEAPU8[colors+(i*4+1)>>0];surfData.colors[index+2]=HEAPU8[colors+(i*4+2)>>0];surfData.colors[index+3]=255}return 1}Module["_SDL_SetColors"]=_SDL_SetColors;function _SDL_SetPalette(surf,flags,colors,firstColor,nColors){return _SDL_SetColors(surf,colors,firstColor,nColors)}Module["_SDL_SetPalette"]=_SDL_SetPalette;function _SDL_MapRGB(fmt,r,g,b){SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|4278190080}Module["_SDL_MapRGB"]=_SDL_MapRGB;function _SDL_MapRGBA(fmt,r,g,b,a){SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|(a&255)<<24}Module["_SDL_MapRGBA"]=_SDL_MapRGBA;function _SDL_GetRGB(pixel,fmt,r,g,b){SDL.checkPixelFormat(fmt);if(r){HEAP8[r>>0]=pixel&255}if(g){HEAP8[g>>0]=pixel>>8&255}if(b){HEAP8[b>>0]=pixel>>16&255}}Module["_SDL_GetRGB"]=_SDL_GetRGB;function _SDL_GetRGBA(pixel,fmt,r,g,b,a){SDL.checkPixelFormat(fmt);if(r){HEAP8[r>>0]=pixel&255}if(g){HEAP8[g>>0]=pixel>>8&255}if(b){HEAP8[b>>0]=pixel>>16&255}if(a){HEAP8[a>>0]=pixel>>24&255}}Module["_SDL_GetRGBA"]=_SDL_GetRGBA;function _SDL_GetAppState(){var state=0;if(Browser.pointerLock){state|=1}if(document.hasFocus()){state|=2}state|=4;return state}Module["_SDL_GetAppState"]=_SDL_GetAppState;function _SDL_WM_GrabInput(){}Module["_SDL_WM_GrabInput"]=_SDL_WM_GrabInput;function _SDL_WM_ToggleFullScreen(surf){if(Browser.exitFullscreen()){return 1}else{if(!SDL.canRequestFullscreen){return 0}SDL.isRequestingFullscreen=true;return 1}}Module["_SDL_WM_ToggleFullScreen"]=_SDL_WM_ToggleFullScreen;function _IMG_Init(flags){return flags}Module["_IMG_Init"]=_IMG_Init;function _SDL_FreeRW(rwopsID){SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}}Module["_SDL_FreeRW"]=_SDL_FreeRW;function _IMG_Load_RW(rwopsID,freeSrc){try{var cleanup=function(){if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)};var addCleanup=function(func){var old=cleanup;cleanup=function added_cleanup(){old();func()}};var callStbImage=function(func,params){var x=Module["_malloc"](4);var y=Module["_malloc"](4);var comp=Module["_malloc"](4);addCleanup(function(){Module["_free"](x);Module["_free"](y);Module["_free"](comp);if(data)Module["_stbi_image_free"](data)});var data=Module["_"+func].apply(null,params.concat([x,y,comp,0]));if(!data)return null;return{rawData:true,data:data,width:HEAP32[x>>2],height:HEAP32[y>>2],size:HEAP32[x>>2]*HEAP32[y>>2]*HEAP32[comp>>2],bpp:HEAP32[comp>>2]}};var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var filename=rwops.filename;if(filename===undefined){warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}if(!raw){filename=PATH.resolve(filename);var raw=Module["preloadedImages"][filename];if(!raw){if(raw===null)err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");warnOnce("Cannot find preloaded image "+filename);warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Module["preloadedImages"][filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data,raw.data+raw.size))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=255}}else if(raw.bpp==2){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var gray=HEAPU8[sourcePtr++>>0];var alpha=HEAPU8[sourcePtr++>>0];data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=alpha}}else if(raw.bpp==1){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var value=HEAPU8[sourcePtr++>>0];data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=255}}else{err("cannot handle bpp "+raw.bpp);return 0}surfData.ctx.putImageData(imageData,0,0)}surfData.ctx.globalCompositeOperation="source-over";_SDL_LockSurface(surf);surfData.locked--;if(SDL.GL){surfData.canvas=surfData.ctx=null}return surf}finally{cleanup()}}Module["_IMG_Load_RW"]=_IMG_Load_RW;function _SDL_RWFromFile(_name,mode){var id=SDL.rwops.length;var name=UTF8ToString(_name);SDL.rwops.push({filename:name,mimetype:Browser.getMimetype(name)});return id}Module["_SDL_RWFromFile"]=_SDL_RWFromFile;function _IMG_Load(filename){var rwops=_SDL_RWFromFile(filename);var result=_IMG_Load_RW(rwops,1);return result}Module["_IMG_Load"]=_IMG_Load;function _SDL_LoadBMP(){return _IMG_Load.apply(null,arguments)}Module["_SDL_LoadBMP"]=_SDL_LoadBMP;function _SDL_LoadBMP_RW(){return _IMG_Load_RW.apply(null,arguments)}Module["_SDL_LoadBMP_RW"]=_SDL_LoadBMP_RW;function _IMG_Quit(){out("IMG_Quit called (and ignored)")}Module["_IMG_Quit"]=_IMG_Quit;function _SDL_OpenAudio(desired,obtained){try{SDL.audio={freq:HEAPU32[desired>>2],format:HEAPU16[desired+4>>1],channels:HEAPU8[desired+6>>0],samples:HEAPU16[desired+8>>1],callback:HEAPU32[desired+16>>2],userdata:HEAPU32[desired+20>>2],paused:true,timer:null};if(SDL.audio.format==8){SDL.audio.silence=128}else if(SDL.audio.format==32784){SDL.audio.silence=0}else if(SDL.audio.format==33056){SDL.audio.silence=0}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}if(SDL.audio.freq<=0){throw"Unsupported sound frequency "+SDL.audio.freq+"!"}else if(SDL.audio.freq<=22050){SDL.audio.freq=22050}else if(SDL.audio.freq<=32e3){SDL.audio.freq=32e3}else if(SDL.audio.freq<=44100){SDL.audio.freq=44100}else if(SDL.audio.freq<=48e3){SDL.audio.freq=48e3}else if(SDL.audio.freq<=96e3){SDL.audio.freq=96e3}else{throw"Unsupported sound frequency "+SDL.audio.freq+"!"}if(SDL.audio.channels==0){SDL.audio.channels=1}else if(SDL.audio.channels<0||SDL.audio.channels>32){throw"Unsupported number of audio channels for SDL audio: "+SDL.audio.channels+"!"}else if(SDL.audio.channels!=1&&SDL.audio.channels!=2){console.log("Warning: Using untested number of audio channels "+SDL.audio.channels)}if(SDL.audio.samples<128||SDL.audio.samples>524288){throw"Unsupported audio callback buffer size "+SDL.audio.samples+"!"}else if((SDL.audio.samples&SDL.audio.samples-1)!=0){throw"Audio callback buffer size "+SDL.audio.samples+" must be a power-of-two!"}var totalSamples=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8){SDL.audio.bytesPerSample=1}else if(SDL.audio.format==32784){SDL.audio.bytesPerSample=2}else if(SDL.audio.format==33056){SDL.audio.bytesPerSample=4}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}SDL.audio.bufferSize=totalSamples*SDL.audio.bytesPerSample;SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq;SDL.audio.bufferingDelay=50/1e3;SDL.audio.buffer=_malloc(SDL.audio.bufferSize);SDL.audio.numSimultaneouslyQueuedBuffers=Module["SDL_numSimultaneouslyQueuedBuffers"]||5;SDL.audio.queueNewAudioData=function SDL_queueNewAudioData(){if(!SDL.audio)return;for(var i=0;i<SDL.audio.numSimultaneouslyQueuedBuffers;++i){var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];if(secsUntilNextPlayStart>=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;dynCall_viii(SDL.audio.callback,SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize);SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}};SDL.audio.caller=function SDL_audioCaller(){if(!SDL.audio)return;--SDL.audio.numAudioTimersPending;SDL.audio.queueNewAudioData();var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];var preemptBufferFeedSecs=SDL.audio.bufferDurationSecs/2;if(SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers){++SDL.audio.numAudioTimersPending;SDL.audio.timer=Browser.safeSetTimeout(SDL.audio.caller,Math.max(0,1e3*(secsUntilNextPlayStart-preemptBufferFeedSecs)));if(SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers){++SDL.audio.numAudioTimersPending;Browser.safeSetTimeout(SDL.audio.caller,1)}}};SDL.audio.audioOutput=new Audio;SDL.openAudioContext();if(!SDL.audioContext)throw"Web Audio API is not available!";SDL.audio.nextPlayTime=0;SDL.audio.pushAudio=function(ptr,sizeBytes){try{if(SDL.audio.paused)return;var sizeSamples=sizeBytes/SDL.audio.bytesPerSample;var sizeSamplesPerChannel=sizeSamples/SDL.audio.channels;if(sizeSamplesPerChannel!=SDL.audio.samples){throw"Received mismatching audio buffer size!"}var source=SDL.audioContext["createBufferSource"]();var soundBuffer=SDL.audioContext["createBuffer"](SDL.audio.channels,sizeSamplesPerChannel,SDL.audio.freq);source["connect"](SDL.audioContext["destination"]);SDL.fillWebAudioBufferFromHeap(ptr,sizeSamplesPerChannel,soundBuffer);source["buffer"]=soundBuffer;var curtime=SDL.audioContext["currentTime"];var playtime=Math.max(curtime+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);if(typeof source["start"]!=="undefined"){source["start"](playtime)}else if(typeof source["noteOn"]!=="undefined"){source["noteOn"](playtime)}SDL.audio.nextPlayTime=playtime+SDL.audio.bufferDurationSecs}catch(e){console.log("Web Audio API error playing back audio: "+e.toString())}};if(obtained){HEAP32[obtained>>2]=SDL.audio.freq;HEAP16[obtained+4>>1]=SDL.audio.format;HEAP8[obtained+6>>0]=SDL.audio.channels;HEAP8[obtained+7>>0]=SDL.audio.silence;HEAP16[obtained+8>>1]=SDL.audio.samples;HEAP32[obtained+16>>2]=SDL.audio.callback;HEAP32[obtained+20>>2]=SDL.audio.userdata}SDL.allocateChannels(32)}catch(e){console.log('Initializing SDL audio threw an exception: "'+e.toString()+'"! Continuing without audio.');SDL.audio=null;SDL.allocateChannels(0);if(obtained){HEAP32[obtained>>2]=0;HEAP16[obtained+4>>1]=0;HEAP8[obtained+6>>0]=0;HEAP8[obtained+7>>0]=0;HEAP16[obtained+8>>1]=0;HEAP32[obtained+16>>2]=0;HEAP32[obtained+20>>2]=0}}if(!SDL.audio){return-1}return 0}Module["_SDL_OpenAudio"]=_SDL_OpenAudio;function _SDL_PauseAudio(pauseOn){if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=Browser.safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn}Module["_SDL_PauseAudio"]=_SDL_PauseAudio;function _SDL_CloseAudio(){if(SDL.audio){_SDL_PauseAudio(1);_free(SDL.audio.buffer);SDL.audio=null;SDL.allocateChannels(0)}}Module["_SDL_CloseAudio"]=_SDL_CloseAudio;function _SDL_LockAudio(){}Module["_SDL_LockAudio"]=_SDL_LockAudio;function _SDL_UnlockAudio(){}Module["_SDL_UnlockAudio"]=_SDL_UnlockAudio;function _SDL_CreateMutex(){return 0}Module["_SDL_CreateMutex"]=_SDL_CreateMutex;function _SDL_LockMutex(){}Module["_SDL_LockMutex"]=_SDL_LockMutex;function _SDL_UnlockMutex(){}Module["_SDL_UnlockMutex"]=_SDL_UnlockMutex;function _SDL_mutexP(){return 0}Module["_SDL_mutexP"]=_SDL_mutexP;function _SDL_mutexV(){return 0}Module["_SDL_mutexV"]=_SDL_mutexV;function _SDL_DestroyMutex(){}Module["_SDL_DestroyMutex"]=_SDL_DestroyMutex;function _SDL_CreateCond(){return 0}Module["_SDL_CreateCond"]=_SDL_CreateCond;function _SDL_CondSignal(){}Module["_SDL_CondSignal"]=_SDL_CondSignal;function _SDL_CondWait(){}Module["_SDL_CondWait"]=_SDL_CondWait;function _SDL_DestroyCond(){}Module["_SDL_DestroyCond"]=_SDL_DestroyCond;function _SDL_StartTextInput(){SDL.textInput=true}Module["_SDL_StartTextInput"]=_SDL_StartTextInput;function _SDL_StopTextInput(){SDL.textInput=false}Module["_SDL_StopTextInput"]=_SDL_StopTextInput;function _Mix_Init(flags){if(!flags)return 0;return 8}Module["_Mix_Init"]=_Mix_Init;function _Mix_Quit(){}Module["_Mix_Quit"]=_Mix_Quit;function _Mix_OpenAudio(frequency,format,channels,chunksize){SDL.openAudioContext();SDL.allocateChannels(32);SDL.mixerFrequency=frequency;SDL.mixerFormat=format;SDL.mixerNumChannels=channels;SDL.mixerChunkSize=chunksize;return 0}Module["_Mix_OpenAudio"]=_Mix_OpenAudio;function _Mix_CloseAudio(){return _SDL_CloseAudio.apply(null,arguments)}Module["_Mix_CloseAudio"]=_Mix_CloseAudio;function _Mix_AllocateChannels(num){SDL.allocateChannels(num);return num}Module["_Mix_AllocateChannels"]=_Mix_AllocateChannels;function _Mix_ChannelFinished(func){SDL.channelFinished=func}Module["_Mix_ChannelFinished"]=_Mix_ChannelFinished;function _Mix_Volume(channel,volume){if(channel==-1){for(var i=0;i<SDL.numChannels-1;i++){_Mix_Volume(i,volume)}return _Mix_Volume(SDL.numChannels-1,volume)}return SDL.setGetVolume(SDL.channels[channel],volume)}Module["_Mix_Volume"]=_Mix_Volume;function _Mix_SetPanning(channel,left,right){left/=255;right/=255;SDL.setPannerPosition(SDL.channels[channel],right-left,0,.1);return 1}Module["_Mix_SetPanning"]=_Mix_SetPanning;function _Mix_LoadWAV_RW(rwopsID,freesrc){var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH.resolve(rwops.filename);var raw=Module["preloadedAudios"][filename];if(!raw){if(raw===null)err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module.noAudioDecoding)warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){err("Couldn't find file for: "+filename);return 0}}if(Module["freePreloadedMediaOnUse"]){Module["preloadedAudios"][filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable())bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count);else bytes=HEAPU8.subarray(rwops.bytes,rwops.bytes+rwops.count)}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={};webAudio.onDecodeComplete=[];var onDecodeComplete=function(data){webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach(function(e){e()});webAudio.onDecodeComplete=undefined};SDL.audioContext["decodeAudioData"](arrayBuffer,onDecodeComplete)}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio:audio,webAudio:webAudio});return id}Module["_Mix_LoadWAV_RW"]=_Mix_LoadWAV_RW;function _Mix_LoadWAV(filename){var rwops=_SDL_RWFromFile(filename);var result=_Mix_LoadWAV_RW(rwops);_SDL_FreeRW(rwops);return result}Module["_Mix_LoadWAV"]=_Mix_LoadWAV;function _Mix_QuickLoad_RAW(mem,len){var audio;var webAudio;var numSamples=len>>1;var buffer=new Float32Array(numSamples);for(var i=0;i<numSamples;++i){buffer[i]=HEAP16[mem+i*2>>1]/32768}if(SDL.webAudioAvailable()){webAudio={};webAudio.decodedBuffer=buffer}else{var audio=new Audio;audio.mozAudioChannelType="content";audio.numChannels=SDL.mixerNumChannels;audio.frequency=SDL.mixerFrequency}var id=SDL.audios.length;SDL.audios.push({source:"",audio:audio,webAudio:webAudio,buffer:buffer});return id}Module["_Mix_QuickLoad_RAW"]=_Mix_QuickLoad_RAW;function _Mix_FreeChunk(id){SDL.audios[id]=null}Module["_Mix_FreeChunk"]=_Mix_FreeChunk;function _Mix_ReserveChannels(num){SDL.channelMinimumNumber=num}Module["_Mix_ReserveChannels"]=_Mix_ReserveChannels;function _Mix_PlayChannel(channel,id,loops){var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i<SDL.numChannels;i++){if(!SDL.channels[i].audio){channel=i;break}}if(channel==-1){err("All "+SDL.numChannels+" channels in use!");return-1}}var channelInfo=SDL.channels[channel];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=function(){SDL.playWebAudio(this)};audio.pause=function(){SDL.pauseWebAudio(this)}}else{audio=info.audio.cloneNode(true);audio.numChannels=info.audio.numChannels;audio.frequency=info.audio.frequency}audio["onended"]=function SDL_audio_onended(){if(channelInfo.audio==this){channelInfo.audio.paused=true;channelInfo.audio=null}if(SDL.channelFinished)getFuncWrapper(SDL.channelFinished,"vi")(channel)};channelInfo.audio=audio;audio.loop=loops!=0;audio.volume=channelInfo.volume;audio.play();return channel}Module["_Mix_PlayChannel"]=_Mix_PlayChannel;function _Mix_PlayChannelTimed(){return _Mix_PlayChannel.apply(null,arguments)}Module["_Mix_PlayChannelTimed"]=_Mix_PlayChannelTimed;function _Mix_FadingChannel(channel){return 0}Module["_Mix_FadingChannel"]=_Mix_FadingChannel;function _Mix_HaltChannel(channel){function halt(channel){var info=SDL.channels[channel];if(info.audio){info.audio.pause();info.audio=null}if(SDL.channelFinished){getFuncWrapper(SDL.channelFinished,"vi")(channel)}}if(channel!=-1){halt(channel)}else{for(var i=0;i<SDL.channels.length;++i)halt(i)}return 0}Module["_Mix_HaltChannel"]=_Mix_HaltChannel;function _Mix_HaltMusic(){var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){dynCall_v(SDL.hookMusicFinished)}return 0}Module["_Mix_HaltMusic"]=_Mix_HaltMusic;function _Mix_HookMusicFinished(func){SDL.hookMusicFinished=func;if(SDL.music.audio){SDL.music.audio["onended"]=_Mix_HaltMusic}}Module["_Mix_HookMusicFinished"]=_Mix_HookMusicFinished;function _Mix_VolumeMusic(volume){return SDL.setGetVolume(SDL.music,volume)}Module["_Mix_VolumeMusic"]=_Mix_VolumeMusic;function _Mix_LoadMUS_RW(){return _Mix_LoadWAV_RW.apply(null,arguments)}Module["_Mix_LoadMUS_RW"]=_Mix_LoadMUS_RW;function _Mix_LoadMUS(filename){var rwops=_SDL_RWFromFile(filename);var result=_Mix_LoadMUS_RW(rwops);_SDL_FreeRW(rwops);return result}Module["_Mix_LoadMUS"]=_Mix_LoadMUS;function _Mix_FreeMusic(){return _Mix_FreeChunk.apply(null,arguments)}Module["_Mix_FreeMusic"]=_Mix_FreeMusic;function _Mix_PlayMusic(id,loops){if(SDL.music.audio){if(!SDL.music.audio.paused)err("Music is already playing. "+SDL.music.source);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=function(){SDL.playWebAudio(this)};audio.pause=function(){SDL.pauseWebAudio(this)}}else if(info.audio){audio=info.audio}audio["onended"]=function(){if(SDL.music.audio==this)_Mix_HaltMusic()};audio.loop=loops!=0;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0}Module["_Mix_PlayMusic"]=_Mix_PlayMusic;function _Mix_PauseMusic(){var audio=SDL.music.audio;if(audio)audio.pause()}Module["_Mix_PauseMusic"]=_Mix_PauseMusic;function _Mix_ResumeMusic(){var audio=SDL.music.audio;if(audio)audio.play()}Module["_Mix_ResumeMusic"]=_Mix_ResumeMusic;function _Mix_FadeInMusicPos(){return _Mix_PlayMusic.apply(null,arguments)}Module["_Mix_FadeInMusicPos"]=_Mix_FadeInMusicPos;function _Mix_FadeOutMusic(){return _Mix_HaltMusic.apply(null,arguments)}Module["_Mix_FadeOutMusic"]=_Mix_FadeOutMusic;function _Mix_PlayingMusic(){return SDL.music.audio&&!SDL.music.audio.paused?1:0}Module["_Mix_PlayingMusic"]=_Mix_PlayingMusic;function _Mix_Playing(channel){if(channel===-1){var count=0;for(var i=0;i<SDL.channels.length;i++){count+=_Mix_Playing(i)}return count}var info=SDL.channels[channel];if(info&&info.audio&&!info.audio.paused){return 1}return 0}Module["_Mix_Playing"]=_Mix_Playing;function _Mix_Pause(channel){if(channel===-1){for(var i=0;i<SDL.channels.length;i++){_Mix_Pause(i)}return}var info=SDL.channels[channel];if(info&&info.audio){info.audio.pause()}else{}}Module["_Mix_Pause"]=_Mix_Pause;function _Mix_Paused(channel){if(channel===-1){var pausedCount=0;for(var i=0;i<SDL.channels.length;i++){pausedCount+=_Mix_Paused(i)}return pausedCount}var info=SDL.channels[channel];if(info&&info.audio&&info.audio.paused){return 1}return 0}Module["_Mix_Paused"]=_Mix_Paused;function _Mix_PausedMusic(){return SDL.music.audio&&SDL.music.audio.paused?1:0}Module["_Mix_PausedMusic"]=_Mix_PausedMusic;function _Mix_Resume(channel){if(channel===-1){for(var i=0;i<SDL.channels.length;i++){_Mix_Resume(i)}return}var info=SDL.channels[channel];if(info&&info.audio)info.audio.play()}Module["_Mix_Resume"]=_Mix_Resume;function _TTF_Init(){var canvas=document.createElement("canvas");SDL.ttfContext=canvas.getContext("2d");return 0}Module["_TTF_Init"]=_TTF_Init;function _TTF_OpenFont(filename,size){filename=PATH.normalize(UTF8ToString(filename));var id=SDL.fonts.length;SDL.fonts.push({name:filename,size:size});return id}Module["_TTF_OpenFont"]=_TTF_OpenFont;function _TTF_CloseFont(font){SDL.fonts[font]=null}Module["_TTF_CloseFont"]=_TTF_CloseFont;function _TTF_RenderText_Solid(font,text,color){text=UTF8ToString(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;color=SDL.loadColorToCSSRGB(color);var fontString=SDL.makeFontString(h,fontData.name);var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="bottom";surfData.ctx.fillText(text,0,h|0);surfData.ctx.restore();return surf}Module["_TTF_RenderText_Solid"]=_TTF_RenderText_Solid;function _TTF_RenderText_Blended(){return _TTF_RenderText_Solid.apply(null,arguments)}Module["_TTF_RenderText_Blended"]=_TTF_RenderText_Blended;function _TTF_RenderText_Shaded(){return _TTF_RenderText_Solid.apply(null,arguments)}Module["_TTF_RenderText_Shaded"]=_TTF_RenderText_Shaded;function _TTF_RenderUTF8_Solid(){return _TTF_RenderText_Solid.apply(null,arguments)}Module["_TTF_RenderUTF8_Solid"]=_TTF_RenderUTF8_Solid;function _TTF_SizeText(font,text,w,h){var fontData=SDL.fonts[font];if(w){HEAP32[w>>2]=SDL.estimateTextWidth(fontData,UTF8ToString(text))}if(h){HEAP32[h>>2]=fontData.size}return 0}Module["_TTF_SizeText"]=_TTF_SizeText;function _TTF_SizeUTF8(){return _TTF_SizeText.apply(null,arguments)}Module["_TTF_SizeUTF8"]=_TTF_SizeUTF8;function _TTF_GlyphMetrics(font,ch,minx,maxx,miny,maxy,advance){var fontData=SDL.fonts[font];var width=SDL.estimateTextWidth(fontData,String.fromCharCode(ch));if(advance){HEAP32[advance>>2]=width}if(minx){HEAP32[minx>>2]=0}if(maxx){HEAP32[maxx>>2]=width}if(miny){HEAP32[miny>>2]=0}if(maxy){HEAP32[maxy>>2]=fontData.size}}Module["_TTF_GlyphMetrics"]=_TTF_GlyphMetrics;function _TTF_FontAscent(font){var fontData=SDL.fonts[font];return fontData.size*.98|0}Module["_TTF_FontAscent"]=_TTF_FontAscent;function _TTF_FontDescent(font){var fontData=SDL.fonts[font];return fontData.size*.02|0}Module["_TTF_FontDescent"]=_TTF_FontDescent;function _TTF_FontHeight(font){var fontData=SDL.fonts[font];return fontData.size}Module["_TTF_FontHeight"]=_TTF_FontHeight;function _TTF_FontLineSkip(){return _TTF_FontHeight.apply(null,arguments)}Module["_TTF_FontLineSkip"]=_TTF_FontLineSkip;function _TTF_Quit(){out("TTF_Quit called (and ignored)")}Module["_TTF_Quit"]=_TTF_Quit;var SDL_gfx={drawRectangle:function(surf,x1,y1,x2,y2,action,cssColor){x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);var x=x1<x2?x1:x2;var y=y1<y2?y1:y2;var w=Math.abs(x2-x1);var h=Math.abs(y2-y1);surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action+"Rect"](x,y,w,h);surfData.ctx.restore()},drawLine:function(surf,x1,y1,x2,y2,cssColor){x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.strokeStyle=cssColor;surfData.ctx.beginPath();surfData.ctx.moveTo(x1,y1);surfData.ctx.lineTo(x2,y2);surfData.ctx.stroke();surfData.ctx.restore()},drawEllipse:function(surf,x,y,rx,ry,action,cssColor){x=x<<16>>16;y=y<<16>>16;rx=rx<<16>>16;ry=ry<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.beginPath();surfData.ctx.translate(x,y);surfData.ctx.scale(rx,ry);surfData.ctx.arc(0,0,1,0,2*Math.PI);surfData.ctx.restore();surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action]();surfData.ctx.restore()},translateColorToCSSRGBA:function(rgba){return"rgba("+(rgba>>>24)+","+(rgba>>16&255)+","+(rgba>>8&255)+","+(rgba&255)+")"}};Module["SDL_gfx"]=SDL_gfx;function _boxColor(surf,x1,y1,x2,y2,color){return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL_gfx.translateColorToCSSRGBA(color))}Module["_boxColor"]=_boxColor;function _boxRGBA(surf,x1,y1,x2,y2,r,g,b,a){return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_boxRGBA"]=_boxRGBA;function _rectangleColor(surf,x1,y1,x2,y2,color){return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL_gfx.translateColorToCSSRGBA(color))}Module["_rectangleColor"]=_rectangleColor;function _rectangleRGBA(surf,x1,y1,x2,y2,r,g,b,a){return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_rectangleRGBA"]=_rectangleRGBA;function _ellipseColor(surf,x,y,rx,ry,color){return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL_gfx.translateColorToCSSRGBA(color))}Module["_ellipseColor"]=_ellipseColor;function _ellipseRGBA(surf,x,y,rx,ry,r,g,b,a){return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_ellipseRGBA"]=_ellipseRGBA;function _filledEllipseColor(surf,x,y,rx,ry,color){return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL_gfx.translateColorToCSSRGBA(color))}Module["_filledEllipseColor"]=_filledEllipseColor;function _filledEllipseRGBA(surf,x,y,rx,ry,r,g,b,a){return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_filledEllipseRGBA"]=_filledEllipseRGBA;function _lineColor(surf,x1,y1,x2,y2,color){return SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL_gfx.translateColorToCSSRGBA(color))}Module["_lineColor"]=_lineColor;function _lineRGBA(surf,x1,y1,x2,y2,r,g,b,a){return SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL.translateRGBAToCSSRGBA(r,g,b,a))}Module["_lineRGBA"]=_lineRGBA;function _pixelRGBA(surf,x1,y1,r,g,b,a){_boxRGBA(surf,x1,y1,x1,y1,r,g,b,a)}Module["_pixelRGBA"]=_pixelRGBA;function _SDL_GL_SetAttribute(attr,value){if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}SDL.glAttributes[attr]=value}Module["_SDL_GL_SetAttribute"]=_SDL_GL_SetAttribute;function _SDL_GL_GetAttribute(attr,value){if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}if(value)HEAP32[value>>2]=SDL.glAttributes[attr];return 0}Module["_SDL_GL_GetAttribute"]=_SDL_GL_GetAttribute;function _emscripten_GetProcAddress(){return Module["_emscripten_GetProcAddress"].apply(null,arguments)}function _SDL_GL_GetProcAddress(name_){return _emscripten_GetProcAddress(name_)}Module["_SDL_GL_GetProcAddress"]=_SDL_GL_GetProcAddress;function _SDL_GL_SwapBuffers(){if(Browser.doSwapBuffers)Browser.doSwapBuffers()}Module["_SDL_GL_SwapBuffers"]=_SDL_GL_SwapBuffers;function _SDL_GL_ExtensionSupported(extension){return Module.ctx.getExtension(extension)|0}Module["_SDL_GL_ExtensionSupported"]=_SDL_GL_ExtensionSupported;function _SDL_DestroyWindow(window){}Module["_SDL_DestroyWindow"]=_SDL_DestroyWindow;function _SDL_DestroyRenderer(renderer){}Module["_SDL_DestroyRenderer"]=_SDL_DestroyRenderer;function _SDL_GetWindowFlags(){}Module["_SDL_GetWindowFlags"]=_SDL_GetWindowFlags;function _SDL_GL_SwapWindow(window){}Module["_SDL_GL_SwapWindow"]=_SDL_GL_SwapWindow;function _SDL_GL_MakeCurrent(window,context){}Module["_SDL_GL_MakeCurrent"]=_SDL_GL_MakeCurrent;function _SDL_GL_DeleteContext(context){}Module["_SDL_GL_DeleteContext"]=_SDL_GL_DeleteContext;function _SDL_GL_GetSwapInterval(state){if(Browser.mainLoop.timingMode==1)return Browser.mainLoop.timingValue;else return 0}Module["_SDL_GL_GetSwapInterval"]=_SDL_GL_GetSwapInterval;function _SDL_GL_SetSwapInterval(state){_emscripten_set_main_loop_timing(1,state)}Module["_SDL_GL_SetSwapInterval"]=_SDL_GL_SetSwapInterval;function _SDL_SetWindowTitle(window,title){if(title)document.title=UTF8ToString(title)}Module["_SDL_SetWindowTitle"]=_SDL_SetWindowTitle;function _SDL_GetWindowSize(window,width,height){var w=Module["canvas"].width;var h=Module["canvas"].height;if(width)HEAP32[width>>2]=w;if(height)HEAP32[height>>2]=h}Module["_SDL_GetWindowSize"]=_SDL_GetWindowSize;function _SDL_LogSetOutputFunction(callback,userdata){}Module["_SDL_LogSetOutputFunction"]=_SDL_LogSetOutputFunction;function _SDL_SetWindowFullscreen(window,fullscreen){if(Browser.isFullscreen){Module["canvas"].exitFullscreen();return 1}else{return 0}}Module["_SDL_SetWindowFullscreen"]=_SDL_SetWindowFullscreen;function _SDL_ClearError(){}Module["_SDL_ClearError"]=_SDL_ClearError;function _SDL_getenv(){return _getenv.apply(null,arguments)}Module["_SDL_getenv"]=_SDL_getenv;function _SDL_putenv(){return _putenv.apply(null,arguments)}Module["_SDL_putenv"]=_SDL_putenv;function _SDL_SetGamma(r,g,b){return-1}Module["_SDL_SetGamma"]=_SDL_SetGamma;function _SDL_SetGammaRamp(redTable,greenTable,blueTable){return-1}Module["_SDL_SetGammaRamp"]=_SDL_SetGammaRamp;function _SDL_NumJoysticks(){var count=0;var gamepads=SDL.getGamepads();for(var i=0;i<gamepads.length;i++){if(gamepads[i]!==undefined)count++}return count}Module["_SDL_NumJoysticks"]=_SDL_NumJoysticks;function _SDL_JoystickName(deviceIndex){var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var name=gamepad.id;if(SDL.joystickNamePool.hasOwnProperty(name)){return SDL.joystickNamePool[name]}return SDL.joystickNamePool[name]=allocate(intArrayFromString(name),"i8",ALLOC_NORMAL)}return 0}Module["_SDL_JoystickName"]=_SDL_JoystickName;function _SDL_JoystickOpen(deviceIndex){var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var joystick=deviceIndex+1;SDL.recordJoystickState(joystick,gamepad);return joystick}return 0}Module["_SDL_JoystickOpen"]=_SDL_JoystickOpen;function _SDL_JoystickOpened(deviceIndex){return SDL.lastJoystickState.hasOwnProperty(deviceIndex+1)?1:0}Module["_SDL_JoystickOpened"]=_SDL_JoystickOpened;function _SDL_JoystickIndex(joystick){return joystick-1}Module["_SDL_JoystickIndex"]=_SDL_JoystickIndex;function _SDL_JoystickNumAxes(joystick){var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.axes.length}return 0}Module["_SDL_JoystickNumAxes"]=_SDL_JoystickNumAxes;function _SDL_JoystickNumBalls(joystick){return 0}Module["_SDL_JoystickNumBalls"]=_SDL_JoystickNumBalls;function _SDL_JoystickNumHats(joystick){return 0}Module["_SDL_JoystickNumHats"]=_SDL_JoystickNumHats;function _SDL_JoystickNumButtons(joystick){var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.buttons.length}return 0}Module["_SDL_JoystickNumButtons"]=_SDL_JoystickNumButtons;function _SDL_JoystickUpdate(){SDL.queryJoysticks()}Module["_SDL_JoystickUpdate"]=_SDL_JoystickUpdate;function _SDL_JoystickEventState(state){if(state<0){return SDL.joystickEventState}return SDL.joystickEventState=state}Module["_SDL_JoystickEventState"]=_SDL_JoystickEventState;function _SDL_JoystickGetAxis(joystick,axis){var gamepad=SDL.getGamepad(joystick-1);if(gamepad&&gamepad.axes.length>axis){return SDL.joystickAxisValueConversion(gamepad.axes[axis])}return 0}Module["_SDL_JoystickGetAxis"]=_SDL_JoystickGetAxis;function _SDL_JoystickGetHat(joystick,hat){return 0}Module["_SDL_JoystickGetHat"]=_SDL_JoystickGetHat;function _SDL_JoystickGetBall(joystick,ball,dxptr,dyptr){return-1}Module["_SDL_JoystickGetBall"]=_SDL_JoystickGetBall;function _SDL_JoystickGetButton(joystick,button){var gamepad=SDL.getGamepad(joystick-1);if(gamepad&&gamepad.buttons.length>button){return SDL.getJoystickButtonState(gamepad.buttons[button])?1:0}return 0}Module["_SDL_JoystickGetButton"]=_SDL_JoystickGetButton;function _SDL_JoystickClose(joystick){delete SDL.lastJoystickState[joystick]}Module["_SDL_JoystickClose"]=_SDL_JoystickClose;function _SDL_InitSubSystem(flags){return 0}Module["_SDL_InitSubSystem"]=_SDL_InitSubSystem;function _SDL_RWFromConstMem(mem,size){var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id}Module["_SDL_RWFromConstMem"]=_SDL_RWFromConstMem;function _SDL_RWFromMem(){return _SDL_RWFromConstMem.apply(null,arguments)}Module["_SDL_RWFromMem"]=_SDL_RWFromMem;function _SDL_GetNumAudioDrivers(){return 1}Module["_SDL_GetNumAudioDrivers"]=_SDL_GetNumAudioDrivers;function _SDL_GetCurrentAudioDriver(){return allocate(intArrayFromString("Emscripten Audio"),"i8",ALLOC_NORMAL)}Module["_SDL_GetCurrentAudioDriver"]=_SDL_GetCurrentAudioDriver;function _SDL_GetAudioDriver(index){return _SDL_GetCurrentAudioDriver()}Module["_SDL_GetAudioDriver"]=_SDL_GetAudioDriver;function _SDL_EnableUNICODE(on){var ret=SDL.unicode||0;SDL.unicode=on;return ret}Module["_SDL_EnableUNICODE"]=_SDL_EnableUNICODE;function _SDL_AddTimer(interval,callback,param){return window.setTimeout(function(){dynCall_iii(callback,interval,param)},interval)}Module["_SDL_AddTimer"]=_SDL_AddTimer;function _SDL_RemoveTimer(id){window.clearTimeout(id);return true}Module["_SDL_RemoveTimer"]=_SDL_RemoveTimer;function _SDL_CreateThread(){throw"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."}Module["_SDL_CreateThread"]=_SDL_CreateThread;function _SDL_WaitThread(){throw"SDL_WaitThread"}Module["_SDL_WaitThread"]=_SDL_WaitThread;function _SDL_GetThreadID(){throw"SDL_GetThreadID"}Module["_SDL_GetThreadID"]=_SDL_GetThreadID;function _SDL_ThreadID(){return 0}Module["_SDL_ThreadID"]=_SDL_ThreadID;function _SDL_AllocRW(){throw"SDL_AllocRW: TODO"}Module["_SDL_AllocRW"]=_SDL_AllocRW;function _SDL_CondBroadcast(){throw"SDL_CondBroadcast: TODO"}Module["_SDL_CondBroadcast"]=_SDL_CondBroadcast;function _SDL_CondWaitTimeout(){throw"SDL_CondWaitTimeout: TODO"}Module["_SDL_CondWaitTimeout"]=_SDL_CondWaitTimeout;function _SDL_WM_IconifyWindow(){throw"SDL_WM_IconifyWindow TODO"}Module["_SDL_WM_IconifyWindow"]=_SDL_WM_IconifyWindow;function _Mix_SetPostMix(){warnOnce("Mix_SetPostMix: TODO")}Module["_Mix_SetPostMix"]=_Mix_SetPostMix;function _Mix_VolumeChunk(chunk,volume){throw"Mix_VolumeChunk: TODO"}Module["_Mix_VolumeChunk"]=_Mix_VolumeChunk;function _Mix_SetPosition(channel,angle,distance){throw"Mix_SetPosition: TODO"}Module["_Mix_SetPosition"]=_Mix_SetPosition;function _Mix_QuerySpec(){throw"Mix_QuerySpec: TODO"}Module["_Mix_QuerySpec"]=_Mix_QuerySpec;function _Mix_FadeInChannelTimed(){throw"Mix_FadeInChannelTimed"}Module["_Mix_FadeInChannelTimed"]=_Mix_FadeInChannelTimed;function _Mix_FadeOutChannel(){throw"Mix_FadeOutChannel"}Module["_Mix_FadeOutChannel"]=_Mix_FadeOutChannel;function _Mix_Linked_Version(){throw"Mix_Linked_Version: TODO"}Module["_Mix_Linked_Version"]=_Mix_Linked_Version;function _SDL_SaveBMP_RW(){throw"SDL_SaveBMP_RW: TODO"}Module["_SDL_SaveBMP_RW"]=_SDL_SaveBMP_RW;function _SDL_WM_SetIcon(){}Module["_SDL_WM_SetIcon"]=_SDL_WM_SetIcon;function _SDL_HasRDTSC(){return 0}Module["_SDL_HasRDTSC"]=_SDL_HasRDTSC;function _SDL_HasMMX(){return 0}Module["_SDL_HasMMX"]=_SDL_HasMMX;function _SDL_HasMMXExt(){return 0}Module["_SDL_HasMMXExt"]=_SDL_HasMMXExt;function _SDL_Has3DNow(){return 0}Module["_SDL_Has3DNow"]=_SDL_Has3DNow;function _SDL_Has3DNowExt(){return 0}Module["_SDL_Has3DNowExt"]=_SDL_Has3DNowExt;function _SDL_HasSSE(){return 0}Module["_SDL_HasSSE"]=_SDL_HasSSE;function _SDL_HasSSE2(){return 0}Module["_SDL_HasSSE2"]=_SDL_HasSSE2;function _SDL_HasAltiVec(){return 0}Module["_SDL_HasAltiVec"]=_SDL_HasAltiVec;function _glutPostRedisplay(){if(GLUT.displayFunc&&!GLUT.requestedAnimationFrame){GLUT.requestedAnimationFrame=true;Browser.requestAnimationFrame(function(){GLUT.requestedAnimationFrame=false;Browser.mainLoop.runIter(function(){dynCall_v(GLUT.displayFunc)})})}}Module["_glutPostRedisplay"]=_glutPostRedisplay;var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:function(event){GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4},onMousemove:function(event){var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Module["canvas"]&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);dynCall_vii(GLUT.passiveMotionFunc,lastX,lastY)}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);dynCall_vii(GLUT.motionFunc,lastX,lastY)}},getSpecialKey:function(keycode){var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key},getASCIIKey:function(event){if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null},onKeydown:function(event){if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);dynCall_viii(GLUT.specialFunc,key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);dynCall_viii(GLUT.keyboardFunc,key,Browser.mouseX,Browser.mouseY)}}}},onKeyup:function(event){if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);dynCall_viii(GLUT.specialUpFunc,key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);dynCall_viii(GLUT.keyboardUpFunc,key,Browser.mouseX,Browser.mouseY)}}}},touchHandler:function(event){if(event.target!=Module["canvas"]){return}var touches=event.changedTouches,main=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,main.screenX,main.screenY,main.clientX,main.clientY,false,false,false,false,0,null);main.target.dispatchEvent(simulatedEvent);event.preventDefault()},onMouseButtonDown:function(event){Browser.calculateMouseEvent(event);GLUT.buttons|=1<<event["button"];if(event.target==Module["canvas"]&&GLUT.mouseFunc){try{event.target.setCapture()}catch(e){}event.preventDefault();GLUT.saveModifiers(event);dynCall_viiii(GLUT.mouseFunc,event["button"],0,Browser.mouseX,Browser.mouseY)}},onMouseButtonUp:function(event){Browser.calculateMouseEvent(event);GLUT.buttons&=~(1<<event["button"]);if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);dynCall_viiii(GLUT.mouseFunc,event["button"],1,Browser.mouseX,Browser.mouseY)}},onMouseWheel:function(event){Browser.calculateMouseEvent(event);var e=window.event||event;var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);dynCall_viiii(GLUT.mouseFunc,button,0,Browser.mouseX,Browser.mouseY)}},onFullscreenEventChange:function(event){var width;var height;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true)}Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){dynCall_vii(GLUT.reshapeFunc,width,height)}_glutPostRedisplay()},requestFullscreen:function(){Browser.requestFullscreen(false,false)},requestFullScreen:function(){err("GLUT.requestFullScreen() is deprecated. Please call GLUT.requestFullscreen instead.");GLUT.requestFullScreen=function(){return GLUT.requestFullscreen()};return GLUT.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLUT.cancelFullScreen() is deprecated. Please call GLUT.exitFullscreen instead.");GLUT.cancelFullScreen=function(){return GLUT.exitFullscreen()};return GLUT.exitFullscreen()}};Module["GLUT"]=GLUT;function _glutGetModifiers(){return GLUT.modifiers}Module["_glutGetModifiers"]=_glutGetModifiers;function _glutInit(argcp,argv){GLUT.initTime=Date.now();var isTouchDevice="ontouchstart"in document.documentElement;if(isTouchDevice){window.addEventListener("touchmove",GLUT.touchHandler,true);window.addEventListener("touchstart",GLUT.touchHandler,true);window.addEventListener("touchend",GLUT.touchHandler,true)}window.addEventListener("keydown",GLUT.onKeydown,true);window.addEventListener("keyup",GLUT.onKeyup,true);window.addEventListener("mousemove",GLUT.onMousemove,true);window.addEventListener("mousedown",GLUT.onMouseButtonDown,true);window.addEventListener("mouseup",GLUT.onMouseButtonUp,true);window.addEventListener("mousewheel",GLUT.onMouseWheel,true);window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);Browser.resizeListeners.push(function(width,height){if(GLUT.reshapeFunc){dynCall_vii(GLUT.reshapeFunc,width,height)}});__ATEXIT__.push(function(){if(isTouchDevice){window.removeEventListener("touchmove",GLUT.touchHandler,true);window.removeEventListener("touchstart",GLUT.touchHandler,true);window.removeEventListener("touchend",GLUT.touchHandler,true)}window.removeEventListener("keydown",GLUT.onKeydown,true);window.removeEventListener("keyup",GLUT.onKeyup,true);window.removeEventListener("mousemove",GLUT.onMousemove,true);window.removeEventListener("mousedown",GLUT.onMouseButtonDown,true);window.removeEventListener("mouseup",GLUT.onMouseButtonUp,true);window.removeEventListener("mousewheel",GLUT.onMouseWheel,true);window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);Module["canvas"].width=Module["canvas"].height=1})}Module["_glutInit"]=_glutInit;function _glutInitWindowSize(width,height){Browser.setCanvasSize(GLUT.initWindowWidth=width,GLUT.initWindowHeight=height)}Module["_glutInitWindowSize"]=_glutInitWindowSize;function _glutInitWindowPosition(x,y){}Module["_glutInitWindowPosition"]=_glutInitWindowPosition;function _glutGet(type){switch(type){case 100:return 0;case 101:return 0;case 102:return Module["canvas"].width;case 103:return Module["canvas"].height;case 200:return Module["canvas"].width;case 201:return Module["canvas"].height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var now=Date.now();return now-GLUT.initTime;case 105:return Module.ctx.getContextAttributes().stencil?8:0;case 106:return Module.ctx.getContextAttributes().depth?8:0;case 110:return Module.ctx.getContextAttributes().alpha?8:0;case 120:return Module.ctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+type+") not implemented yet"}}Module["_glutGet"]=_glutGet;function _glutIdleFunc(func){function callback(){if(GLUT.idleFunc){dynCall_v(GLUT.idleFunc);Browser.safeSetTimeout(callback,4)}}if(!GLUT.idleFunc){Browser.safeSetTimeout(callback,0)}GLUT.idleFunc=func}Module["_glutIdleFunc"]=_glutIdleFunc;function _glutTimerFunc(msec,func,value){Browser.safeSetTimeout(function(){dynCall_vi(func,value)},msec)}Module["_glutTimerFunc"]=_glutTimerFunc;function _glutDisplayFunc(func){GLUT.displayFunc=func}Module["_glutDisplayFunc"]=_glutDisplayFunc;function _glutKeyboardFunc(func){GLUT.keyboardFunc=func}Module["_glutKeyboardFunc"]=_glutKeyboardFunc;function _glutKeyboardUpFunc(func){GLUT.keyboardUpFunc=func}Module["_glutKeyboardUpFunc"]=_glutKeyboardUpFunc;function _glutSpecialFunc(func){GLUT.specialFunc=func}Module["_glutSpecialFunc"]=_glutSpecialFunc;function _glutSpecialUpFunc(func){GLUT.specialUpFunc=func}Module["_glutSpecialUpFunc"]=_glutSpecialUpFunc;function _glutReshapeFunc(func){GLUT.reshapeFunc=func}Module["_glutReshapeFunc"]=_glutReshapeFunc;function _glutMotionFunc(func){GLUT.motionFunc=func}Module["_glutMotionFunc"]=_glutMotionFunc;function _glutPassiveMotionFunc(func){GLUT.passiveMotionFunc=func}Module["_glutPassiveMotionFunc"]=_glutPassiveMotionFunc;function _glutMouseFunc(func){GLUT.mouseFunc=func}Module["_glutMouseFunc"]=_glutMouseFunc;function _glutSetCursor(cursor){var cursorStyle="auto";switch(cursor){case 0:break;case 1:break;case 2:cursorStyle="pointer";break;case 3:break;case 4:cursorStyle="help";break;case 5:break;case 6:break;case 7:cursorStyle="wait";break;case 8:cursorStyle="text";break;case 9:case 102:cursorStyle="crosshair";break;case 10:cursorStyle="ns-resize";break;case 11:cursorStyle="ew-resize";break;case 12:cursorStyle="n-resize";break;case 13:cursorStyle="s-resize";break;case 14:cursorStyle="w-resize";break;case 15:cursorStyle="e-resize";break;case 16:cursorStyle="nw-resize";break;case 17:cursorStyle="ne-resize";break;case 18:cursorStyle="se-resize";break;case 19:cursorStyle="sw-resize";break;case 100:break;case 101:cursorStyle="none";break;default:throw"glutSetCursor: Unknown cursor type: "+cursor}Module["canvas"].style.cursor=cursorStyle}Module["_glutSetCursor"]=_glutSetCursor;function _glutCreateWindow(name){var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes);return Module.ctx?1:0}Module["_glutCreateWindow"]=_glutCreateWindow;function _glutDestroyWindow(name){Module.ctx=Browser.destroyContext(Module["canvas"],true,true);return 1}Module["_glutDestroyWindow"]=_glutDestroyWindow;function _glutReshapeWindow(width,height){GLUT.exitFullscreen();Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){dynCall_vii(GLUT.reshapeFunc,width,height)}_glutPostRedisplay()}Module["_glutReshapeWindow"]=_glutReshapeWindow;function _glutPositionWindow(x,y){GLUT.exitFullscreen();_glutPostRedisplay()}Module["_glutPositionWindow"]=_glutPositionWindow;function _glutFullScreen(){GLUT.windowX=0;GLUT.windowY=0;GLUT.windowWidth=Module["canvas"].width;GLUT.windowHeight=Module["canvas"].height;document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true);GLUT.requestFullscreen()}Module["_glutFullScreen"]=_glutFullScreen;function _glutInitDisplayMode(mode){GLUT.initDisplayMode=mode}Module["_glutInitDisplayMode"]=_glutInitDisplayMode;function _glutSwapBuffers(){}Module["_glutSwapBuffers"]=_glutSwapBuffers;function _glutMainLoop(){_glutReshapeWindow(Module["canvas"].width,Module["canvas"].height);_glutPostRedisplay();throw"SimulateInfiniteLoop"}Module["_glutMainLoop"]=_glutMainLoop;function _XOpenDisplay(){return 1}Module["_XOpenDisplay"]=_XOpenDisplay;function _XCreateWindow(display,parent,x,y,width,height,border_width,depth,class_,visual,valuemask,attributes){Browser.setCanvasSize(width,height);return 2}Module["_XCreateWindow"]=_XCreateWindow;function _XChangeWindowAttributes(){}Module["_XChangeWindowAttributes"]=_XChangeWindowAttributes;function _XSetWMHints(){}Module["_XSetWMHints"]=_XSetWMHints;function _XMapWindow(){}Module["_XMapWindow"]=_XMapWindow;function _XStoreName(){}Module["_XStoreName"]=_XStoreName;function _XInternAtom(display,name_,hmm){return 0}Module["_XInternAtom"]=_XInternAtom;function _XSendEvent(){}Module["_XSendEvent"]=_XSendEvent;function _XPending(display){return 0}Module["_XPending"]=_XPending;var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode:function(code){EGL.errorCode=code},chooseConfig:function(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(attribList){for(;;){var param=HEAP32[attribList>>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};Module["EGL"]=EGL;function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}Module["_eglGetDisplay"]=_eglGetDisplay;function _eglInitialize(display,majorVersion,minorVersion){if(display==62e3){if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12296);return 0}}Module["_eglInitialize"]=_eglInitialize;function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}Module["_eglTerminate"]=_eglTerminate;function _eglGetConfigs(display,configs,config_size,numConfigs){return EGL.chooseConfig(display,0,configs,config_size,numConfigs)}Module["_eglGetConfigs"]=_eglGetConfigs;function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}Module["_eglChooseConfig"]=_eglChooseConfig;function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}Module["_eglGetConfigAttrib"]=_eglGetConfigAttrib;function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}Module["_eglCreateWindowSurface"]=_eglCreateWindowSurface;function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}Module["_eglDestroySurface"]=_eglDestroySurface;function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}Module["_eglCreateContext"]=_eglCreateContext;function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}EGL.setErrorCode(12288);return 1}Module["_eglDestroyContext"]=_eglDestroyContext;function _eglQuerySurface(display,surface,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12376:return 1;case 12375:HEAP32[value>>2]=Module.canvas.width;return 1;case 12374:HEAP32[value>>2]=Module.canvas.height;return 1;case 12432:HEAP32[value>>2]=-1;return 1;case 12433:HEAP32[value>>2]=-1;return 1;case 12434:HEAP32[value>>2]=-1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;case 12441:HEAP32[value>>2]=12442;return 1;case 12435:HEAP32[value>>2]=12437;return 1;case 12416:case 12417:case 12418:case 12419:return 1;default:EGL.setErrorCode(12292);return 0}}Module["_eglQuerySurface"]=_eglQuerySurface;function _eglQueryContext(display,context,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12439:HEAP32[value>>2]=12448;return 1;case 12440:HEAP32[value>>2]=EGL.contextAttributes.majorVersion+1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;default:EGL.setErrorCode(12292);return 0}}Module["_eglQueryContext"]=_eglQueryContext;function _eglGetError(){return EGL.errorCode}Module["_eglGetError"]=_eglGetError;function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=allocate(intArrayFromString("Emscripten"),"i8",ALLOC_NORMAL);break;case 12372:ret=allocate(intArrayFromString("1.4 Emscripten EGL"),"i8",ALLOC_NORMAL);break;case 12373:ret=allocate(intArrayFromString(""),"i8",ALLOC_NORMAL);break;case 12429:ret=allocate(intArrayFromString("OpenGL_ES"),"i8",ALLOC_NORMAL);break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}Module["_eglQueryString"]=_eglQueryString;function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12300);return 0}}Module["_eglBindAPI"]=_eglBindAPI;function _eglQueryAPI(){EGL.setErrorCode(12288);return 12448}Module["_eglQueryAPI"]=_eglQueryAPI;function _eglWaitClient(){EGL.setErrorCode(12288);return 1}Module["_eglWaitClient"]=_eglWaitClient;function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}Module["_eglWaitNative"]=_eglWaitNative;function _eglWaitGL(){return _eglWaitClient.apply(null,arguments)}Module["_eglWaitGL"]=_eglWaitGL;function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}Module["_eglSwapInterval"]=_eglSwapInterval;function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}Module["_eglMakeCurrent"]=_eglMakeCurrent;function _eglGetCurrentContext(){return EGL.currentContext}Module["_eglGetCurrentContext"]=_eglGetCurrentContext;function _eglGetCurrentSurface(readdraw){if(readdraw==12378){return EGL.currentReadSurface}else if(readdraw==12377){return EGL.currentDrawSurface}else{EGL.setErrorCode(12300);return 0}}Module["_eglGetCurrentSurface"]=_eglGetCurrentSurface;function _eglGetCurrentDisplay(){return EGL.currentContext?62e3:0}Module["_eglGetCurrentDisplay"]=_eglGetCurrentDisplay;function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}Module["_eglSwapBuffers"]=_eglSwapBuffers;function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}Module["_eglGetProcAddress"]=_eglGetProcAddress;function _eglReleaseThread(){EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.setErrorCode(12288);return 1}Module["_eglReleaseThread"]=_eglReleaseThread;var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256+1;case 112:return 256+2;case 113:return 256+3;case 114:return 256+4;case 115:return 256+5;case 116:return 256+6;case 117:return 256+7;case 118:return 256+8;case 119:return 256+9;case 120:return 256+10;case 121:return 256+11;case 122:return 256+12;case 123:return 256+13;case 124:return 256+14;case 125:return 256+15;case 126:return 256+16;case 127:return 256+17;case 128:return 256+18;case 129:return 256+19;case 130:return 256+20;case 131:return 256+21;case 132:return 256+22;case 133:return 256+23;case 134:return 256+24;case 135:return 256+25;case 136:return 256+26;case 39:return 256+30;case 37:return 256+29;case 40:return 256+28;case 38:return 256+27;case 16:return 256+31;case 17:return 256+33;case 18:return 256+35;case 9:return 256+37;case 13:return 256+38;case 8:return 256+39;case 45:return 256+40;case 46:return 256+41;case 33:return 256+42;case 34:return 256+43;case 36:return 256+44;case 35:return 256+45;case 96:return 256+46;case 97:return 256+47;case 98:return 256+48;case 99:return 256+49;case 100:return 256+50;case 101:return 256+51;case 102:return 256+52;case 103:return 256+53;case 104:return 256+54;case 105:return 256+55;case 111:return 256+56;case 106:return 256+57;case 109:return 256+58;case 107:return 256+59;case 110:return 256+60;case 144:return 256+63;case 20:return 256+64;case 145:return 256+65;case 19:return 256+66;case 91:return 256+67;case 93:return 256+69;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,charCode,1)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;dynCall_vii(GLFW.active.keyFunc,key,status)},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i<GLFW.active.domKeys.length;++i){if(GLFW.active.domKeys[i]){GLFW.onKeyChanged(i,0)}}},onMousemove:function(event){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"]||!GLFW.active.cursorPosFunc)return;dynCall_vii(GLFW.active.cursorPosFunc,Browser.mouseX,Browser.mouseY)},DOMToGLFWMouseButton:function(event){var eventButton=event["button"];if(eventButton>0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<<eventButton;try{event.target.setCapture()}catch(e){}}else{GLFW.active.buttons&=~(1<<eventButton)}if(!GLFW.active.mouseButtonFunc)return;dynCall_vii(GLFW.active.mouseButtonFunc,eventButton,status)},onMouseButtonDown:function(event){if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,1)},onMouseButtonUp:function(event){if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,0)},onMouseWheel:function(event){var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;dynCall_vi(GLFW.active.scrollFunc,GLFW.wheelPos);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_vii(GLFW.active.windowSizeFunc,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy<GLFW.lastGamepadState.length;++joy){var gamepad=GLFW.lastGamepadState[joy];if(gamepad){if(!GLFW.joys[joy]){console.log("glfw joystick connected:",joy);GLFW.joys[joy]={id:allocate(intArrayFromString(gamepad.id),"i8",ALLOC_NORMAL),buttonsCount:gamepad.buttons.length,axesCount:gamepad.axes.length,buttons:allocate(new Array(gamepad.buttons.length),"i8",ALLOC_NORMAL),axes:allocate(new Array(gamepad.axes.length*4),"float",ALLOC_NORMAL)};if(GLFW.joystickFunc){dynCall_vii(GLFW.joystickFunc,joy,262145)}}var data=GLFW.joys[joy];for(var i=0;i<gamepad.buttons.length;++i){setValue(data.buttons+i,gamepad.buttons[i].pressed,"i8")}for(var i=0;i<gamepad.axes.length;++i){setValue(data.axes+i*4,gamepad.axes[i],"float")}}else{if(GLFW.joys[joy]){console.log("glfw joystick disconnected",joy);if(GLFW.joystickFunc){dynCall_vii(GLFW.joystickFunc,joy,262146)}_free(GLFW.joys[joy].id);_free(GLFW.joys[joy].buttons);_free(GLFW.joys[joy].axes);delete GLFW.joys[joy]}}}}},setKeyCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.keyFunc=cbfun},setCharCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.charFunc=cbfun},setMouseButtonCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.mouseButtonFunc=cbfun},setCursorPosCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.cursorPosFunc=cbfun},setScrollCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.scrollFunc=cbfun},setDropCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.dropFunc=cbfun},onDrop:function(event){if(!GLFW.active||!GLFW.active.dropFunc)return;if(!event.dataTransfer||!event.dataTransfer.files||event.dataTransfer.files.length==0)return;event.preventDefault();var filenames=allocate(new Array(event.dataTransfer.files.length*4),"i8*",ALLOC_NORMAL);var filenamesArray=[];var count=event.dataTransfer.files.length;var written=0;var drop_dir=".glfw_dropped_files";FS.createPath("/",drop_dir);function save(file){var path="/"+drop_dir+"/"+file.name.replace(/\//g,"_");var reader=new FileReader;reader.onloadend=function(e){if(reader.readyState!=2){++written;console.log("failed to read dropped file: "+file.name+": "+reader.error);return}var data=e.target.result;FS.writeFile(path,new Uint8Array(data));if(++written===count){dynCall_viii(GLFW.active.dropFunc,GLFW.active.id,count,filenames);for(var i=0;i<filenamesArray.length;++i){_free(filenamesArray[i])}_free(filenames)}};reader.readAsArrayBuffer(file);var filename=allocate(intArrayFromString(path),"i8",ALLOC_NORMAL);filenamesArray.push(filename);setValue(filenames+i*4,filename,"i8*")}for(var i=0;i<count;++i){save(event.dataTransfer.files[i])}return false},onDragover:function(event){if(!GLFW.active||!GLFW.active.dropFunc)return;event.preventDefault();return false},setWindowSizeCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.windowSizeFunc=cbfun;if(!win.windowSizeFunc)return;dynCall_vii(win.windowSizeFunc,win.width,win.height)},setWindowCloseCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.windowCloseFunc=cbfun},setWindowRefreshCallback:function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.windowRefreshFunc=cbfun},onClickRequestPointerLock:function(e){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();e.preventDefault()}},setInputMode:function(winid,mode,value){var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{switch(value){case 212993:{win.inputModes[mode]=value;Module["canvas"].removeEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].exitPointerLock();break}case 212994:{console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented.");break}case 212995:{win.inputModes[mode]=value;Module["canvas"].addEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].requestPointerLock();break}default:{console.log("glfwSetInputMode called with unknown value parameter value: "+value+".");break}}break}case 208898:{console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented.");break}case 208899:{console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented.");break}default:{console.log("glfwSetInputMode called with unknown mode parameter value: "+mode+".");break}}},getKey:function(winid,key){var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.keys[key]},getMouseButton:function(winid,button){var win=GLFW.WindowFromId(winid);if(!win)return 0;return(win.buttons&1<<button)>0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_vii(win.windowSizeFunc,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i<GLFW.windows.length&&GLFW.windows[i]!==null;i++);if(i>0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i<GLFW.windows.length&&GLFW.windows[i]==null;i++);if(i==GLFW.windows.length){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i<GLFW.windows.length;i++)if(GLFW.windows[i]!==null)return;Module.ctx=Browser.destroyContext(Module["canvas"],true,true)},swapBuffers:function(winid){},GLFW2ParamToGLFW3Param:function(param){var table={196609:0,196610:0,196611:0,196612:0,196613:0,196614:0,131073:0,131074:0,131075:0,131076:0,131077:135169,131078:135170,131079:135171,131080:135172,131081:135173,131082:135174,131083:135183,131084:135175,131085:135176,131086:135177,131087:135178,131088:135179,131089:135180,131090:0,131091:135181,131092:139266,131093:139267,131094:139270,131095:139271,131096:139272};return table[param]}};Module["GLFW"]=GLFW;function _glfwInit(){if(GLFW.windows)return 1;GLFW.initialTime=GLFW.getTime();GLFW.hints=GLFW.defaultHints;GLFW.windows=new Array;GLFW.active=null;window.addEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.addEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.addEventListener("keydown",GLFW.onKeydown,true);window.addEventListener("keypress",GLFW.onKeyPress,true);window.addEventListener("keyup",GLFW.onKeyup,true);window.addEventListener("blur",GLFW.onBlur,true);Module["canvas"].addEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].addEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].addEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].addEventListener("drop",GLFW.onDrop,true);Module["canvas"].addEventListener("dragover",GLFW.onDragover,true);Browser.resizeListeners.push(function(width,height){GLFW.onCanvasResize(width,height)});return 1}Module["_glfwInit"]=_glfwInit;function _glfwTerminate(){window.removeEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.removeEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.removeEventListener("keydown",GLFW.onKeydown,true);window.removeEventListener("keypress",GLFW.onKeyPress,true);window.removeEventListener("keyup",GLFW.onKeyup,true);window.removeEventListener("blur",GLFW.onBlur,true);Module["canvas"].removeEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].removeEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].removeEventListener("drop",GLFW.onDrop,true);Module["canvas"].removeEventListener("dragover",GLFW.onDragover,true);Module["canvas"].width=Module["canvas"].height=1;GLFW.windows=null;GLFW.active=null}Module["_glfwTerminate"]=_glfwTerminate;function _glfwGetVersion(major,minor,rev){setValue(major,2,"i32");setValue(minor,7,"i32");setValue(rev,7,"i32")}Module["_glfwGetVersion"]=_glfwGetVersion;function _glfwPollEvents(){}Module["_glfwPollEvents"]=_glfwPollEvents;function _glfwWaitEvents(){}Module["_glfwWaitEvents"]=_glfwWaitEvents;function _glfwGetTime(){return GLFW.getTime()-GLFW.initialTime}Module["_glfwGetTime"]=_glfwGetTime;function _glfwSetTime(time){GLFW.initialTime=GLFW.getTime()-time}Module["_glfwSetTime"]=_glfwSetTime;function _glfwExtensionSupported(extension){if(!GLFW.extensions){GLFW.extensions=UTF8ToString(_glGetString(7939)).split(" ")}if(GLFW.extensions.indexOf(extension)!=-1)return 1;return GLFW.extensions.indexOf("GL_"+extension)!=-1}Module["_glfwExtensionSupported"]=_glfwExtensionSupported;function _glfwGetProcAddress(procname){return _emscripten_GetProcAddress(procname)}Module["_glfwGetProcAddress"]=_glfwGetProcAddress;function _glfwSwapInterval(interval){interval=Math.abs(interval);if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval)}Module["_glfwSwapInterval"]=_glfwSwapInterval;function _glfwOpenWindow(width,height,redbits,greenbits,bluebits,alphabits,depthbits,stencilbits,mode){GLFW.hints[135169]=redbits;GLFW.hints[135170]=greenbits;GLFW.hints[135171]=bluebits;GLFW.hints[135172]=alphabits;GLFW.hints[135173]=depthbits;GLFW.hints[135174]=stencilbits;GLFW.createWindow(width,height,"GLFW2 Window",0,0);return 1}Module["_glfwOpenWindow"]=_glfwOpenWindow;function _glfwCloseWindow(){GLFW.destroyWindow(GLFW.active.id)}Module["_glfwCloseWindow"]=_glfwCloseWindow;function _glfwOpenWindowHint(target,hint){target=GLFW.GLFW2ParamToGLFW3Param(target);GLFW.hints[target]=hint}Module["_glfwOpenWindowHint"]=_glfwOpenWindowHint;function _glfwGetWindowSize(width,height){GLFW.getWindowSize(GLFW.active.id,width,height)}Module["_glfwGetWindowSize"]=_glfwGetWindowSize;function _glfwSetWindowSize(width,height){GLFW.setWindowSize(GLFW.active.id,width,height)}Module["_glfwSetWindowSize"]=_glfwSetWindowSize;function _glfwGetWindowPos(x,y){GLFW.getWindowPos(GLFW.active.id,x,y)}Module["_glfwGetWindowPos"]=_glfwGetWindowPos;function _glfwSetWindowPos(x,y){GLFW.setWindowPos(GLFW.active.id,x,y)}Module["_glfwSetWindowPos"]=_glfwSetWindowPos;function _glfwSetWindowTitle(title){GLFW.setWindowTitle(GLFW.active.id,title)}Module["_glfwSetWindowTitle"]=_glfwSetWindowTitle;function _glfwIconifyWindow(){GLFW.iconifyWindow(GLFW.active.id)}Module["_glfwIconifyWindow"]=_glfwIconifyWindow;function _glfwRestoreWindow(){GLFW.restoreWindow(GLFW.active.id)}Module["_glfwRestoreWindow"]=_glfwRestoreWindow;function _glfwSwapBuffers(){GLFW.swapBuffers(GLFW.active.id)}Module["_glfwSwapBuffers"]=_glfwSwapBuffers;function _glfwGetWindowParam(param){param=GLFW.GLFW2ParamToGLFW3Param(param);return GLFW.hints[param]}Module["_glfwGetWindowParam"]=_glfwGetWindowParam;function _glfwSetWindowSizeCallback(cbfun){GLFW.setWindowSizeCallback(GLFW.active.id,cbfun)}Module["_glfwSetWindowSizeCallback"]=_glfwSetWindowSizeCallback;function _glfwSetWindowCloseCallback(cbfun){GLFW.setWindowCloseCallback(GLFW.active.id,cbfun)}Module["_glfwSetWindowCloseCallback"]=_glfwSetWindowCloseCallback;function _glfwSetWindowRefreshCallback(cbfun){GLFW.setWindowRefreshCallback(GLFW.active.id,cbfun)}Module["_glfwSetWindowRefreshCallback"]=_glfwSetWindowRefreshCallback;function _glfwGetKey(key){return GLFW.getKey(GLFW.active.id,key)}Module["_glfwGetKey"]=_glfwGetKey;function _glfwGetMouseButton(button){return GLFW.getMouseButton(GLFW.active.id,button)}Module["_glfwGetMouseButton"]=_glfwGetMouseButton;function _glfwGetMousePos(x,y){GLFW.getMousePos(GLFW.active.id,x,y)}Module["_glfwGetMousePos"]=_glfwGetMousePos;function _glfwSetMousePos(x,y){GLFW.setCursorPos(GLFW.active.id,x,y)}Module["_glfwSetMousePos"]=_glfwSetMousePos;function _glfwGetMouseWheel(){return 0}Module["_glfwGetMouseWheel"]=_glfwGetMouseWheel;function _glfwSetMouseWheel(pos){}Module["_glfwSetMouseWheel"]=_glfwSetMouseWheel;function _glfwSetKeyCallback(cbfun){GLFW.setKeyCallback(GLFW.active.id,cbfun)}Module["_glfwSetKeyCallback"]=_glfwSetKeyCallback;function _glfwSetCharCallback(cbfun){GLFW.setCharCallback(GLFW.active.id,cbfun)}Module["_glfwSetCharCallback"]=_glfwSetCharCallback;function _glfwSetMouseButtonCallback(cbfun){GLFW.setMouseButtonCallback(GLFW.active.id,cbfun)}Module["_glfwSetMouseButtonCallback"]=_glfwSetMouseButtonCallback;function _glfwSetMousePosCallback(cbfun){GLFW.setCursorPosCallback(GLFW.active.id,cbfun)}Module["_glfwSetMousePosCallback"]=_glfwSetMousePosCallback;function _glfwSetMouseWheelCallback(cbfun){GLFW.setScrollCallback(GLFW.active.id,cbfun)}Module["_glfwSetMouseWheelCallback"]=_glfwSetMouseWheelCallback;function _glfwGetDesktopMode(mode){throw"glfwGetDesktopMode is not implemented."}Module["_glfwGetDesktopMode"]=_glfwGetDesktopMode;function _glfwSleep(time){_sleep(time)}Module["_glfwSleep"]=_glfwSleep;function _glfwEnable(target){target=GLFW.GLFW2ParamToGLFW3Param(target);GLFW.hints[target]=false}Module["_glfwEnable"]=_glfwEnable;function _glfwDisable(target){target=GLFW.GLFW2ParamToGLFW3Param(target);GLFW.hints[target]=true}Module["_glfwDisable"]=_glfwDisable;function _glfwGetGLVersion(major,minor,rev){setValue(major,0,"i32");setValue(minor,0,"i32");setValue(rev,1,"i32")}Module["_glfwGetGLVersion"]=_glfwGetGLVersion;function _glfwCreateThread(fun,arg){var str="v";for(var i in arg){str+="i"}dynCall(str,fun,arg);return 0}Module["_glfwCreateThread"]=_glfwCreateThread;function _glfwDestroyThread(ID){}Module["_glfwDestroyThread"]=_glfwDestroyThread;function _glfwWaitThread(ID,waitmode){}Module["_glfwWaitThread"]=_glfwWaitThread;function _glfwGetThreadID(){return 0}Module["_glfwGetThreadID"]=_glfwGetThreadID;function _glfwCreateMutex(){throw"glfwCreateMutex is not implemented."}Module["_glfwCreateMutex"]=_glfwCreateMutex;function _glfwDestroyMutex(mutex){throw"glfwDestroyMutex is not implemented."}Module["_glfwDestroyMutex"]=_glfwDestroyMutex;function _glfwLockMutex(mutex){throw"glfwLockMutex is not implemented."}Module["_glfwLockMutex"]=_glfwLockMutex;function _glfwUnlockMutex(mutex){throw"glfwUnlockMutex is not implemented."}Module["_glfwUnlockMutex"]=_glfwUnlockMutex;function _glfwCreateCond(){throw"glfwCreateCond is not implemented."}Module["_glfwCreateCond"]=_glfwCreateCond;function _glfwDestroyCond(cond){throw"glfwDestroyCond is not implemented."}Module["_glfwDestroyCond"]=_glfwDestroyCond;function _glfwWaitCond(cond,mutex,timeout){throw"glfwWaitCond is not implemented."}Module["_glfwWaitCond"]=_glfwWaitCond;function _glfwSignalCond(cond){throw"glfwSignalCond is not implemented."}Module["_glfwSignalCond"]=_glfwSignalCond;function _glfwBroadcastCond(cond){throw"glfwBroadcastCond is not implemented."}Module["_glfwBroadcastCond"]=_glfwBroadcastCond;function _glfwGetNumberOfProcessors(){return 1}Module["_glfwGetNumberOfProcessors"]=_glfwGetNumberOfProcessors;function _glfwReadImage(name,img,flags){throw"glfwReadImage is not implemented."}Module["_glfwReadImage"]=_glfwReadImage;function _glfwReadMemoryImage(data,size,img,flags){throw"glfwReadMemoryImage is not implemented."}Module["_glfwReadMemoryImage"]=_glfwReadMemoryImage;function _glfwFreeImage(img){throw"glfwFreeImage is not implemented."}Module["_glfwFreeImage"]=_glfwFreeImage;function _glfwLoadTexture2D(name,flags){throw"glfwLoadTexture2D is not implemented."}Module["_glfwLoadTexture2D"]=_glfwLoadTexture2D;function _glfwLoadMemoryTexture2D(data,size,flags){throw"glfwLoadMemoryTexture2D is not implemented."}Module["_glfwLoadMemoryTexture2D"]=_glfwLoadMemoryTexture2D;function _glfwLoadTextureImage2D(img,flags){throw"glfwLoadTextureImage2D is not implemented."}Module["_glfwLoadTextureImage2D"]=_glfwLoadTextureImage2D;function _uuid_clear(uu){_memset(uu,0,16)}Module["_uuid_clear"]=_uuid_clear;function _uuid_compare(uu1,uu2){return _memcmp(uu1,uu2,16)}Module["_uuid_compare"]=_uuid_compare;function _uuid_copy(dst,src){_memcpy(dst,src,16)}Module["_uuid_copy"]=_uuid_copy;function _uuid_generate(out){var uuid=null;if(ENVIRONMENT_IS_NODE){try{var rb=require("crypto")["randomBytes"];uuid=rb(16)}catch(e){}}else if(ENVIRONMENT_IS_WEB&&typeof window.crypto!=="undefined"&&typeof window.crypto.getRandomValues!=="undefined"){uuid=new Uint8Array(16);window.crypto.getRandomValues(uuid)}if(!uuid){uuid=new Array(16);var d=(new Date).getTime();for(var i=0;i<16;i++){var r=(d+Math.random()*256)%256|0;d=d/256|0;uuid[i]=r}}uuid[6]=uuid[6]&15|64;uuid[8]=uuid[8]&127|128;writeArrayToMemory(uuid,out)}Module["_uuid_generate"]=_uuid_generate;function _uuid_is_null(uu){for(var i=0;i<4;i++,uu=uu+4|0){var val=HEAP32[uu>>2];if(val){return 0}}return 1}Module["_uuid_is_null"]=_uuid_is_null;function _uuid_parse(inp,uu){var inp=UTF8ToString(inp);if(inp.length===36){var i=0;var uuid=new Array(16);inp.toLowerCase().replace(/[0-9a-f]{2}/g,function(byte){if(i<16){uuid[i++]=parseInt(byte,16)}});if(i<16){return-1}else{writeArrayToMemory(uuid,uu);return 0}}else{return-1}}Module["_uuid_parse"]=_uuid_parse;function _uuid_unparse(uu,out,upper){var i=0;var uuid="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(c){var r=upper?HEAPU8[uu+i>>0].toString(16).toUpperCase():HEAPU8[uu+i>>0].toString(16);r=r.length===1?"0"+r:r;i++;return r});stringToUTF8(uuid,out,37)}Module["_uuid_unparse"]=_uuid_unparse;function _uuid_unparse_lower(uu,out){_uuid_unparse(uu,out)}Module["_uuid_unparse_lower"]=_uuid_unparse_lower;function _uuid_unparse_upper(uu,out){_uuid_unparse(uu,out,true)}Module["_uuid_unparse_upper"]=_uuid_unparse_upper;function _uuid_type(uu){return 4}Module["_uuid_type"]=_uuid_type;function _uuid_variant(uu){return 1}Module["_uuid_variant"]=_uuid_variant;var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode:function(error){if(GLEW.isLinaroFork){switch(error){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}}switch(error){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString:function(error){if(!GLEW.error[error]){var string=GLEW.errorStringConstantFromCode(error);if(!string){string="Unknown error";error=8}GLEW.error[error]=allocate(intArrayFromString(string),"i8",ALLOC_NORMAL)}return GLEW.error[error]},versionStringConstantFromCode:function(name){switch(name){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString:function(name){if(!GLEW.version[name]){var string=GLEW.versionStringConstantFromCode(name);if(!string)return 0;GLEW.version[name]=allocate(intArrayFromString(string),"i8",ALLOC_NORMAL)}return GLEW.version[name]},extensionIsSupported:function(name){if(!GLEW.extensions){GLEW.extensions=UTF8ToString(_glGetString(7939)).split(" ")}if(GLEW.extensions.indexOf(name)!=-1)return 1;return GLEW.extensions.indexOf("GL_"+name)!=-1}};Module["GLEW"]=GLEW;function _glewInit(){return 0}Module["_glewInit"]=_glewInit;function _glewIsSupported(name){var exts=UTF8ToString(name).split(" ");for(var i in exts){if(!GLEW.extensionIsSupported(exts[i]))return 0}return 1}Module["_glewIsSupported"]=_glewIsSupported;function _glewGetExtension(name){return GLEW.extensionIsSupported(UTF8ToString(name))}Module["_glewGetExtension"]=_glewGetExtension;function _glewGetErrorString(error){return GLEW.errorString(error)}Module["_glewGetErrorString"]=_glewGetErrorString;function _glewGetString(name){return GLEW.versionString(name)}Module["_glewGetString"]=_glewGetString;var IDBStore={indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBStore used, but indexedDB not supported");return ret},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB:function(name,callback){var db=IDBStore.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBStore.indexedDB().open(name,IDBStore.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBStore.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBStore.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBStore.DB_STORE_NAME)}};req.onsuccess=function(){db=req.result;IDBStore.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getStore:function(dbName,type,callback){IDBStore.getDB(dbName,function(error,db){if(error)return callback(error);var transaction=db.transaction([IDBStore.DB_STORE_NAME],type);transaction.onerror=function(e){callback(this.error||"unknown error");e.preventDefault()};var store=transaction.objectStore(IDBStore.DB_STORE_NAME);callback(null,store)})},getFile:function(dbName,id,callback){IDBStore.getStore(dbName,"readonly",function(err,store){if(err)return callback(err);var req=store.get(id);req.onsuccess=function(event){var result=event.target.result;if(!result){return callback("file "+id+" not found")}else{return callback(null,result)}};req.onerror=function(error){callback(error)}})},setFile:function(dbName,id,data,callback){IDBStore.getStore(dbName,"readwrite",function(err,store){if(err)return callback(err);var req=store.put(data,id);req.onsuccess=function(event){callback()};req.onerror=function(error){callback(error)}})},deleteFile:function(dbName,id,callback){IDBStore.getStore(dbName,"readwrite",function(err,store){if(err)return callback(err);var req=store.delete(id);req.onsuccess=function(event){callback()};req.onerror=function(error){callback(error)}})},existsFile:function(dbName,id,callback){IDBStore.getStore(dbName,"readonly",function(err,store){if(err)return callback(err);var req=store.count(id);req.onsuccess=function(event){callback(null,event.target.result>0)};req.onerror=function(error){callback(error)}})}};Module["IDBStore"]=IDBStore;function _emscripten_idb_async_load(db,id,arg,onload,onerror){IDBStore.getFile(UTF8ToString(db),UTF8ToString(id),function(error,byteArray){if(error){if(onerror)dynCall_vi(onerror,arg);return}var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);dynCall_viii(onload,arg,buffer,byteArray.length);_free(buffer)})}Module["_emscripten_idb_async_load"]=_emscripten_idb_async_load;function _emscripten_idb_async_store(db,id,ptr,num,arg,onstore,onerror){IDBStore.setFile(UTF8ToString(db),UTF8ToString(id),new Uint8Array(HEAPU8.subarray(ptr,ptr+num)),function(error){if(error){if(onerror)dynCall_vi(onerror,arg);return}if(onstore)dynCall_vi(onstore,arg)})}Module["_emscripten_idb_async_store"]=_emscripten_idb_async_store;function _emscripten_idb_async_delete(db,id,arg,ondelete,onerror){IDBStore.deleteFile(UTF8ToString(db),UTF8ToString(id),function(error){if(error){if(onerror)dynCall_vi(onerror,arg);return}if(ondelete)dynCall_vi(ondelete,arg)})}Module["_emscripten_idb_async_delete"]=_emscripten_idb_async_delete;function _emscripten_idb_async_exists(db,id,arg,oncheck,onerror){IDBStore.existsFile(UTF8ToString(db),UTF8ToString(id),function(error,exists){if(error){if(onerror)dynCall_vi(onerror,arg);return}if(oncheck)dynCall_vii(oncheck,arg,exists)})}Module["_emscripten_idb_async_exists"]=_emscripten_idb_async_exists;function _emscripten_idb_load(){throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_load, etc."}Module["_emscripten_idb_load"]=_emscripten_idb_load;function _emscripten_idb_store(){throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_store, etc."}Module["_emscripten_idb_store"]=_emscripten_idb_store;function _emscripten_idb_delete(){throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_delete, etc."}Module["_emscripten_idb_delete"]=_emscripten_idb_delete;function _emscripten_idb_exists(){throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_exists, etc."}Module["_emscripten_idb_exists"]=_emscripten_idb_exists;function _emscripten_sleep(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"}Module["_emscripten_sleep"]=_emscripten_sleep;function _emscripten_coroutine_create(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_coroutine_create"}Module["_emscripten_coroutine_create"]=_emscripten_coroutine_create;function _emscripten_coroutine_next(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_coroutine_next"}Module["_emscripten_coroutine_next"]=_emscripten_coroutine_next;function _emscripten_yield(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_yield"}Module["_emscripten_yield"]=_emscripten_yield;function _emscripten_wget(url,file){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget"}Module["_emscripten_wget"]=_emscripten_wget;function _emscripten_wget_data(url,file){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget_data"}Module["_emscripten_wget_data"]=_emscripten_wget_data;function _emscripten_is_main_browser_thread(){return!ENVIRONMENT_IS_WORKER}Module["_emscripten_is_main_browser_thread"]=_emscripten_is_main_browser_thread;function _pthread_mutexattr_setschedparam(){}Module["_pthread_mutexattr_setschedparam"]=_pthread_mutexattr_setschedparam;function _pthread_mutexattr_setprotocol(){}Module["_pthread_mutexattr_setprotocol"]=_pthread_mutexattr_setprotocol;function _pthread_mutexattr_setpshared(attr,pshared){return 0}Module["_pthread_mutexattr_setpshared"]=_pthread_mutexattr_setpshared;function _pthread_condattr_init(){return 0}Module["_pthread_condattr_init"]=_pthread_condattr_init;function _pthread_condattr_destroy(){return 0}Module["_pthread_condattr_destroy"]=_pthread_condattr_destroy;function _pthread_condattr_setclock(){return 0}Module["_pthread_condattr_setclock"]=_pthread_condattr_setclock;function _pthread_condattr_setpshared(){return 0}Module["_pthread_condattr_setpshared"]=_pthread_condattr_setpshared;function _pthread_condattr_getclock(){return 0}Module["_pthread_condattr_getclock"]=_pthread_condattr_getclock;function _pthread_condattr_getpshared(){return 0}Module["_pthread_condattr_getpshared"]=_pthread_condattr_getpshared;function _pthread_getattr_np(thread,attr){return 0}Module["_pthread_getattr_np"]=_pthread_getattr_np;function _pthread_attr_getstack(attr,stackaddr,stacksize){HEAP32[stackaddr>>2]=STACK_BASE;HEAP32[stacksize>>2]=TOTAL_STACK;return 0}Module["_pthread_attr_getstack"]=_pthread_attr_getstack;function __pthread_cleanup_push(a0,a1){return _pthread_cleanup_push(a0,a1)}Module["__pthread_cleanup_push"]=__pthread_cleanup_push;function __pthread_cleanup_pop(){_pthread_cleanup_pop()}Module["__pthread_cleanup_pop"]=__pthread_cleanup_pop;function _pthread_rwlock_init(){return 0}Module["_pthread_rwlock_init"]=_pthread_rwlock_init;function _pthread_rwlock_destroy(){return 0}Module["_pthread_rwlock_destroy"]=_pthread_rwlock_destroy;function _pthread_rwlock_rdlock(){return 0}Module["_pthread_rwlock_rdlock"]=_pthread_rwlock_rdlock;function _pthread_rwlock_tryrdlock(){return 0}Module["_pthread_rwlock_tryrdlock"]=_pthread_rwlock_tryrdlock;function _pthread_rwlock_timedrdlock(){return 0}Module["_pthread_rwlock_timedrdlock"]=_pthread_rwlock_timedrdlock;function _pthread_rwlock_wrlock(){return 0}Module["_pthread_rwlock_wrlock"]=_pthread_rwlock_wrlock;function _pthread_rwlock_trywrlock(){return 0}Module["_pthread_rwlock_trywrlock"]=_pthread_rwlock_trywrlock;function _pthread_rwlock_timedwrlock(){return 0}Module["_pthread_rwlock_timedwrlock"]=_pthread_rwlock_timedwrlock;function _pthread_rwlock_unlock(){return 0}Module["_pthread_rwlock_unlock"]=_pthread_rwlock_unlock;function _pthread_rwlockattr_init(){return 0}Module["_pthread_rwlockattr_init"]=_pthread_rwlockattr_init;function _pthread_rwlockattr_destroy(){return 0}Module["_pthread_rwlockattr_destroy"]=_pthread_rwlockattr_destroy;function _pthread_rwlockattr_setpshared(){return 0}Module["_pthread_rwlockattr_setpshared"]=_pthread_rwlockattr_setpshared;function _pthread_rwlockattr_getpshared(){return 0}Module["_pthread_rwlockattr_getpshared"]=_pthread_rwlockattr_getpshared;function _pthread_spin_init(){return 0}Module["_pthread_spin_init"]=_pthread_spin_init;function _pthread_spin_destroy(){return 0}Module["_pthread_spin_destroy"]=_pthread_spin_destroy;function _pthread_spin_lock(){return 0}Module["_pthread_spin_lock"]=_pthread_spin_lock;function _pthread_spin_trylock(){return 0}Module["_pthread_spin_trylock"]=_pthread_spin_trylock;function _pthread_spin_unlock(){return 0}Module["_pthread_spin_unlock"]=_pthread_spin_unlock;function _pthread_attr_setdetachstate(){}Module["_pthread_attr_setdetachstate"]=_pthread_attr_setdetachstate;function _pthread_attr_setschedparam(){}Module["_pthread_attr_setschedparam"]=_pthread_attr_setschedparam;function _pthread_cancel(){}Module["_pthread_cancel"]=_pthread_cancel;function _sem_init(){}Module["_sem_init"]=_sem_init;function _sem_post(){}Module["_sem_post"]=_sem_post;function _sem_wait(){}Module["_sem_wait"]=_sem_wait;function _sem_trywait(){}Module["_sem_trywait"]=_sem_trywait;function _sem_destroy(){}Module["_sem_destroy"]=_sem_destroy;function _emscripten_main_browser_thread_id(){return _pthread_self()}Module["_emscripten_main_browser_thread_id"]=_emscripten_main_browser_thread_id;function _llvm_memory_barrier(){}Module["_llvm_memory_barrier"]=_llvm_memory_barrier;function _llvm_atomic_load_add_i32_p0i32(ptr,delta){var ret=HEAP32[ptr>>2];HEAP32[ptr>>2]=ret+delta;return ret}Module["_llvm_atomic_load_add_i32_p0i32"]=_llvm_atomic_load_add_i32_p0i32;function ___atomic_is_lock_free(size,ptr){return size<=4&&(size&size-1)==0&&(ptr&size-1)==0}Module["___atomic_is_lock_free"]=___atomic_is_lock_free;function ___atomic_load_8(ptr,memmodel){return(setTempRet0(HEAP32[ptr+4>>2]),HEAP32[ptr>>2])|0}Module["___atomic_load_8"]=___atomic_load_8;function ___atomic_store_8(ptr,vall,valh,memmodel){HEAP32[ptr>>2]=vall;HEAP32[ptr+4>>2]=valh}Module["___atomic_store_8"]=___atomic_store_8;function ___atomic_exchange_8(ptr,vall,valh,memmodel){var l=HEAP32[ptr>>2];var h=HEAP32[ptr+4>>2];HEAP32[ptr>>2]=vall;HEAP32[ptr+4>>2]=valh;return(setTempRet0(h),l)|0}Module["___atomic_exchange_8"]=___atomic_exchange_8;function ___atomic_compare_exchange_8(ptr,expected,desiredl,desiredh,weak,success_memmodel,failure_memmodel){var pl=HEAP32[ptr>>2];var ph=HEAP32[ptr+4>>2];var el=HEAP32[expected>>2];var eh=HEAP32[expected+4>>2];if(pl===el&&ph===eh){HEAP32[ptr>>2]=desiredl;HEAP32[ptr+4>>2]=desiredh;return 1}else{HEAP32[expected>>2]=pl;HEAP32[expected+4>>2]=ph;return 0}}Module["___atomic_compare_exchange_8"]=___atomic_compare_exchange_8;function ___atomic_fetch_add_8(ptr,vall,valh,memmodel){var l=HEAP32[ptr>>2];var h=HEAP32[ptr+4>>2];HEAP32[ptr>>2]=_i64Add(l,h,vall,valh);HEAP32[ptr+4>>2]=getTempRet0();return(setTempRet0(h),l)|0}Module["___atomic_fetch_add_8"]=___atomic_fetch_add_8;function ___atomic_fetch_sub_8(ptr,vall,valh,memmodel){var l=HEAP32[ptr>>2];var h=HEAP32[ptr+4>>2];HEAP32[ptr>>2]=_i64Subtract(l,h,vall,valh);HEAP32[ptr+4>>2]=getTempRet0();return(setTempRet0(h),l)|0}Module["___atomic_fetch_sub_8"]=___atomic_fetch_sub_8;function ___atomic_fetch_and_8(ptr,vall,valh,memmodel){var l=HEAP32[ptr>>2];var h=HEAP32[ptr+4>>2];HEAP32[ptr>>2]=l&vall;HEAP32[ptr+4>>2]=h&valh;return(setTempRet0(h),l)|0}Module["___atomic_fetch_and_8"]=___atomic_fetch_and_8;function ___atomic_fetch_or_8(ptr,vall,valh,memmodel){var l=HEAP32[ptr>>2];var h=HEAP32[ptr+4>>2];HEAP32[ptr>>2]=l|vall;HEAP32[ptr+4>>2]=h|valh;return(setTempRet0(h),l)|0}Module["___atomic_fetch_or_8"]=___atomic_fetch_or_8;function ___atomic_fetch_xor_8(ptr,vall,valh,memmodel){var l=HEAP32[ptr>>2];var h=HEAP32[ptr+4>>2];HEAP32[ptr>>2]=l^vall;HEAP32[ptr+4>>2]=h^valh;return(setTempRet0(h),l)|0}Module["___atomic_fetch_xor_8"]=___atomic_fetch_xor_8;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;GL.init();var __setImmediate_id_counter=0;var __setImmediate_queue=[];var __setImmediate_message_id="_si";function __setImmediate_cb(e){if(e.data===__setImmediate_message_id){e.stopPropagation();__setImmediate_queue.shift()();++__setImmediate_id_counter}}if(typeof setImmediate==="undefined"){addEventListener("message",__setImmediate_cb,true);setImmediate=function(func){postMessage(__setImmediate_message_id,"*");return __setImmediate_id_counter+__setImmediate_queue.push(func)-1};clearImmediate=function(id){var index=id-__setImmediate_id_counter;if(index>=0&&index<__setImmediate_queue.length)__setImmediate_queue[index]=function(){}}}for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var gb=GLOBAL_BASE,fb=0;function invoke_X(){var sp=stackSave();try{var args=Array.prototype.slice.call(arguments);return wasmTable.get(args[0]).apply(null,args.slice(1))}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_d(index){var sp=stackSave();try{return Module["dynCall_d"](index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_dd(index,a1){var sp=stackSave();try{return Module["dynCall_dd"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ddd(index,a1,a2){var sp=stackSave();try{return Module["dynCall_ddd"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_dddd(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_dddd"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_dddi(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_dddi"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ddi(index,a1,a2){var sp=stackSave();try{return Module["dynCall_ddi"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return Module["dynCall_di"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_did(index,a1,a2){var sp=stackSave();try{return Module["dynCall_did"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return Module["dynCall_dii"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fd(index,a1){var sp=stackSave();try{return Module["dynCall_fd"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fdi(index,a1,a2){var sp=stackSave();try{return Module["dynCall_fdi"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ff(index,a1){var sp=stackSave();try{return Module["dynCall_ff"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ffd(index,a1,a2){var sp=stackSave();try{return Module["dynCall_ffd"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fff(index,a1,a2){var sp=stackSave();try{return Module["dynCall_fff"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ffff(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_ffff"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fffi(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_fffi"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ffi(index,a1,a2){var sp=stackSave();try{return Module["dynCall_ffi"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fi(index,a1){var sp=stackSave();try{return Module["dynCall_fi"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fif(index,a1,a2){var sp=stackSave();try{return Module["dynCall_fif"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fii(index,a1,a2){var sp=stackSave();try{return Module["dynCall_fii"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_fiii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return Module["dynCall_i"](index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_id(index,a1){var sp=stackSave();try{return Module["dynCall_id"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_idd(index,a1,a2){var sp=stackSave();try{return Module["dynCall_idd"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_idi(index,a1,a2){var sp=stackSave();try{return Module["dynCall_idi"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_idii(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_idii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_idiii(index,a1,a2,a3,a4){var sp=stackSave();try{return Module["dynCall_idiii"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_idiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return Module["dynCall_idiiii"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_idiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return Module["dynCall_idiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_if(index,a1){var sp=stackSave();try{return Module["dynCall_if"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ifi(index,a1,a2){var sp=stackSave();try{return Module["dynCall_ifi"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return Module["dynCall_ii"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return Module["dynCall_iid"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iidi(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_iidi"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iif(index,a1,a2){var sp=stackSave();try{return Module["dynCall_iif"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return Module["dynCall_iii"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_iiid"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return Module["dynCall_iiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return Module["dynCall_iiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return Module["dynCall_iiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{return Module["dynCall_iiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{return Module["dynCall_iiiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{Module["dynCall_v"](index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vdii(index,a1,a2,a3){var sp=stackSave();try{Module["dynCall_vdii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vfii(index,a1,a2,a3){var sp=stackSave();try{Module["dynCall_vfii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{Module["dynCall_vi"](index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{Module["dynCall_vid"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vidd(index,a1,a2,a3){var sp=stackSave();try{Module["dynCall_vidd"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vidddd(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vif(index,a1,a2){var sp=stackSave();try{Module["dynCall_vif"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viffff(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module["dynCall_viffff"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{Module["dynCall_vii"](index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viid(index,a1,a2,a3){var sp=stackSave();try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viidd(index,a1,a2,a3,a4){var sp=stackSave();try{Module["dynCall_viidd"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viidddddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{Module["dynCall_viidddddddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiddddddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{Module["dynCall_viiddddddddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiidd(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module["dynCall_viiidd"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiidi(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module["dynCall_viiidi"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module["dynCall_viiiid"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{Module["dynCall_viiiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function dynCall_X(index){index=index|0;return mftCall_X(index)}function dynCall_d(index){index=index|0;return+mftCall_d(index)}function dynCall_dd(index,a1){index=index|0;a1=+a1;return+mftCall_dd(index,+a1)}function dynCall_ddd(index,a1,a2){index=index|0;a1=+a1;a2=+a2;return+mftCall_ddd(index,+a1,+a2)}function dynCall_dddd(index,a1,a2,a3){index=index|0;a1=+a1;a2=+a2;a3=+a3;return+mftCall_dddd(index,+a1,+a2,+a3)}function dynCall_dddi(index,a1,a2,a3){index=index|0;a1=+a1;a2=+a2;a3=a3|0;return+mftCall_dddi(index,+a1,+a2,a3|0)}function dynCall_ddi(index,a1,a2){index=index|0;a1=+a1;a2=a2|0;return+mftCall_ddi(index,+a1,a2|0)}function dynCall_di(index,a1){index=index|0;a1=a1|0;return+mftCall_di(index,a1|0)}function dynCall_did(index,a1,a2){index=index|0;a1=a1|0;a2=+a2;return+mftCall_did(index,a1|0,+a2)}function dynCall_dii(index,a1,a2){index=index|0;a1=a1|0;a2=a2|0;return+mftCall_dii(index,a1|0,a2|0)}function dynCall_diii(index,a1,a2,a3){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;return+mftCall_diii(index,a1|0,a2|0,a3|0)}function dynCall_fd(index,a1){index=index|0;a1=+a1;return Math_fround(mftCall_fd(index,+a1))}function dynCall_fdi(index,a1,a2){index=index|0;a1=+a1;a2=a2|0;return Math_fround(mftCall_fdi(index,+a1,a2|0))}function dynCall_ff(index,a1){index=index|0;a1=Math_fround(a1);return Math_fround(mftCall_ff(index,Math_fround(a1)))}function dynCall_ffd(index,a1,a2){index=index|0;a1=Math_fround(a1);a2=+a2;return Math_fround(mftCall_ffd(index,Math_fround(a1),+a2))}function dynCall_fff(index,a1,a2){index=index|0;a1=Math_fround(a1);a2=Math_fround(a2);return Math_fround(mftCall_fff(index,Math_fround(a1),Math_fround(a2)))}function dynCall_ffff(index,a1,a2,a3){index=index|0;a1=Math_fround(a1);a2=Math_fround(a2);a3=Math_fround(a3);return Math_fround(mftCall_ffff(index,Math_fround(a1),Math_fround(a2),Math_fround(a3)))}function dynCall_fffi(index,a1,a2,a3){index=index|0;a1=Math_fround(a1);a2=Math_fround(a2);a3=a3|0;return Math_fround(mftCall_fffi(index,Math_fround(a1),Math_fround(a2),a3|0))}function dynCall_ffi(index,a1,a2){index=index|0;a1=Math_fround(a1);a2=a2|0;return Math_fround(mftCall_ffi(index,Math_fround(a1),a2|0))}function dynCall_fi(index,a1){index=index|0;a1=a1|0;return Math_fround(mftCall_fi(index,a1|0))}function dynCall_fif(index,a1,a2){index=index|0;a1=a1|0;a2=Math_fround(a2);return Math_fround(mftCall_fif(index,a1|0,Math_fround(a2)))}function dynCall_fii(index,a1,a2){index=index|0;a1=a1|0;a2=a2|0;return Math_fround(mftCall_fii(index,a1|0,a2|0))}function dynCall_fiii(index,a1,a2,a3){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;return Math_fround(mftCall_fiii(index,a1|0,a2|0,a3|0))}function dynCall_i(index){index=index|0;return mftCall_i(index)|0}function dynCall_id(index,a1){index=index|0;a1=+a1;return mftCall_id(index,+a1)|0}function dynCall_idd(index,a1,a2){index=index|0;a1=+a1;a2=+a2;return mftCall_idd(index,+a1,+a2)|0}function dynCall_idi(index,a1,a2){index=index|0;a1=+a1;a2=a2|0;return mftCall_idi(index,+a1,a2|0)|0}function dynCall_idii(index,a1,a2,a3){index=index|0;a1=+a1;a2=a2|0;a3=a3|0;return mftCall_idii(index,+a1,a2|0,a3|0)|0}function dynCall_idiii(index,a1,a2,a3,a4){index=index|0;a1=+a1;a2=a2|0;a3=a3|0;a4=a4|0;return mftCall_idiii(index,+a1,a2|0,a3|0,a4|0)|0}function dynCall_idiiii(index,a1,a2,a3,a4,a5){index=index|0;a1=+a1;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;return mftCall_idiiii(index,+a1,a2|0,a3|0,a4|0,a5|0)|0}function dynCall_idiiiii(index,a1,a2,a3,a4,a5,a6){index=index|0;a1=+a1;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;return mftCall_idiiiii(index,+a1,a2|0,a3|0,a4|0,a5|0,a6|0)|0}function dynCall_if(index,a1){index=index|0;a1=Math_fround(a1);return mftCall_if(index,Math_fround(a1))|0}function dynCall_ifi(index,a1,a2){index=index|0;a1=Math_fround(a1);a2=a2|0;return mftCall_ifi(index,Math_fround(a1),a2|0)|0}function dynCall_ii(index,a1){index=index|0;a1=a1|0;return mftCall_ii(index,a1|0)|0}function dynCall_iid(index,a1,a2){index=index|0;a1=a1|0;a2=+a2;return mftCall_iid(index,a1|0,+a2)|0}function dynCall_iidi(index,a1,a2,a3){index=index|0;a1=a1|0;a2=+a2;a3=a3|0;return mftCall_iidi(index,a1|0,+a2,a3|0)|0}function dynCall_iif(index,a1,a2){index=index|0;a1=a1|0;a2=Math_fround(a2);return mftCall_iif(index,a1|0,Math_fround(a2))|0}function dynCall_iii(index,a1,a2){index=index|0;a1=a1|0;a2=a2|0;return mftCall_iii(index,a1|0,a2|0)|0}function dynCall_iiid(index,a1,a2,a3){index=index|0;a1=a1|0;a2=a2|0;a3=+a3;return mftCall_iiid(index,a1|0,a2|0,+a3)|0}function dynCall_iiii(index,a1,a2,a3){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;return mftCall_iiii(index,a1|0,a2|0,a3|0)|0}function dynCall_iiiii(index,a1,a2,a3,a4){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;return mftCall_iiiii(index,a1|0,a2|0,a3|0,a4|0)|0}function dynCall_iiiiid(index,a1,a2,a3,a4,a5){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=+a5;return mftCall_iiiiid(index,a1|0,a2|0,a3|0,a4|0,+a5)|0}function dynCall_iiiiii(index,a1,a2,a3,a4,a5){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;return mftCall_iiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0)|0}function dynCall_iiiiiid(index,a1,a2,a3,a4,a5,a6){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=+a6;return mftCall_iiiiiid(index,a1|0,a2|0,a3|0,a4|0,a5|0,+a6)|0}function dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;return mftCall_iiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0)|0}function dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;return mftCall_iiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0)|0}function dynCall_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;return mftCall_iiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0)|0}function dynCall_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;a9=a9|0;return mftCall_iiiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0)|0}function dynCall_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;a9=a9|0;a10=a10|0;return mftCall_iiiiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0,a10|0)|0}function dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;a9=a9|0;a10=a10|0;a11=a11|0;return mftCall_iiiiiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0,a10|0,a11|0)|0}function dynCall_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;a9=a9|0;a10=a10|0;a11=a11|0;a12=a12|0;return mftCall_iiiiiiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0,a10|0,a11|0,a12|0)|0}function dynCall_iiiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;a9=a9|0;a10=a10|0;a11=a11|0;a12=a12|0;a13=a13|0;a14=a14|0;a15=a15|0;return mftCall_iiiiiiiiiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0,a10|0,a11|0,a12|0,a13|0,a14|0,a15|0)|0}function dynCall_v(index){index=index|0;mftCall_v(index)}function dynCall_vdii(index,a1,a2,a3){index=index|0;a1=+a1;a2=a2|0;a3=a3|0;mftCall_vdii(index,+a1,a2|0,a3|0)}function dynCall_vfii(index,a1,a2,a3){index=index|0;a1=Math_fround(a1);a2=a2|0;a3=a3|0;mftCall_vfii(index,Math_fround(a1),a2|0,a3|0)}function dynCall_vi(index,a1){index=index|0;a1=a1|0;mftCall_vi(index,a1|0)}function dynCall_vid(index,a1,a2){index=index|0;a1=a1|0;a2=+a2;mftCall_vid(index,a1|0,+a2)}function dynCall_vidd(index,a1,a2,a3){index=index|0;a1=a1|0;a2=+a2;a3=+a3;mftCall_vidd(index,a1|0,+a2,+a3)}function dynCall_vidddd(index,a1,a2,a3,a4,a5){index=index|0;a1=a1|0;a2=+a2;a3=+a3;a4=+a4;a5=+a5;mftCall_vidddd(index,a1|0,+a2,+a3,+a4,+a5)}function dynCall_vif(index,a1,a2){index=index|0;a1=a1|0;a2=Math_fround(a2);mftCall_vif(index,a1|0,Math_fround(a2))}function dynCall_viffff(index,a1,a2,a3,a4,a5){index=index|0;a1=a1|0;a2=Math_fround(a2);a3=Math_fround(a3);a4=Math_fround(a4);a5=Math_fround(a5);mftCall_viffff(index,a1|0,Math_fround(a2),Math_fround(a3),Math_fround(a4),Math_fround(a5))}function dynCall_vii(index,a1,a2){index=index|0;a1=a1|0;a2=a2|0;mftCall_vii(index,a1|0,a2|0)}function dynCall_viid(index,a1,a2,a3){index=index|0;a1=a1|0;a2=a2|0;a3=+a3;mftCall_viid(index,a1|0,a2|0,+a3)}function dynCall_viidd(index,a1,a2,a3,a4){index=index|0;a1=a1|0;a2=a2|0;a3=+a3;a4=+a4;mftCall_viidd(index,a1|0,a2|0,+a3,+a4)}function dynCall_viidddddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){index=index|0;a1=a1|0;a2=a2|0;a3=+a3;a4=+a4;a5=+a5;a6=+a6;a7=+a7;a8=+a8;a9=+a9;a10=+a10;mftCall_viidddddddd(index,a1|0,a2|0,+a3,+a4,+a5,+a6,+a7,+a8,+a9,+a10)}function dynCall_viiddddddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){index=index|0;a1=a1|0;a2=a2|0;a3=+a3;a4=+a4;a5=+a5;a6=+a6;a7=+a7;a8=+a8;a9=+a9;a10=+a10;a11=+a11;mftCall_viiddddddddd(index,a1|0,a2|0,+a3,+a4,+a5,+a6,+a7,+a8,+a9,+a10,+a11)}function dynCall_viii(index,a1,a2,a3){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;mftCall_viii(index,a1|0,a2|0,a3|0)}function dynCall_viiidd(index,a1,a2,a3,a4,a5){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=+a4;a5=+a5;mftCall_viiidd(index,a1|0,a2|0,a3|0,+a4,+a5)}function dynCall_viiidi(index,a1,a2,a3,a4,a5){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=+a4;a5=a5|0;mftCall_viiidi(index,a1|0,a2|0,a3|0,+a4,a5|0)}function dynCall_viiii(index,a1,a2,a3,a4){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;mftCall_viiii(index,a1|0,a2|0,a3|0,a4|0)}function dynCall_viiiid(index,a1,a2,a3,a4,a5){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=+a5;mftCall_viiiid(index,a1|0,a2|0,a3|0,a4|0,+a5)}function dynCall_viiiii(index,a1,a2,a3,a4,a5){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;mftCall_viiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0)}function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;mftCall_viiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0)}function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;mftCall_viiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0)}function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;mftCall_viiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0)}function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;a9=a9|0;mftCall_viiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0)}function dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;a9=a9|0;a10=a10|0;mftCall_viiiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0,a10|0)}function dynCall_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;a9=a9|0;a10=a10|0;a11=a11|0;mftCall_viiiiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0,a10|0,a11|0)}function dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){index=index|0;a1=a1|0;a2=a2|0;a3=a3|0;a4=a4|0;a5=a5|0;a6=a6|0;a7=a7|0;a8=a8|0;a9=a9|0;a10=a10|0;a11=a11|0;a12=a12|0;a13=a13|0;a14=a14|0;a15=a15|0;mftCall_viiiiiiiiiiiiiii(index,a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0,a10|0,a11|0,a12|0,a13|0,a14|0,a15|0)}var asmGlobalArg={};var asmLibraryArg={"abort":abort,"setTempRet0":setTempRet0,"getTempRet0":getTempRet0,"invoke_X":invoke_X,"invoke_d":invoke_d,"invoke_dd":invoke_dd,"invoke_ddd":invoke_ddd,"invoke_dddd":invoke_dddd,"invoke_dddi":invoke_dddi,"invoke_ddi":invoke_ddi,"invoke_di":invoke_di,"invoke_did":invoke_did,"invoke_dii":invoke_dii,"invoke_diii":invoke_diii,"invoke_fd":invoke_fd,"invoke_fdi":invoke_fdi,"invoke_ff":invoke_ff,"invoke_ffd":invoke_ffd,"invoke_fff":invoke_fff,"invoke_ffff":invoke_ffff,"invoke_fffi":invoke_fffi,"invoke_ffi":invoke_ffi,"invoke_fi":invoke_fi,"invoke_fif":invoke_fif,"invoke_fii":invoke_fii,"invoke_fiii":invoke_fiii,"invoke_i":invoke_i,"invoke_id":invoke_id,"invoke_idd":invoke_idd,"invoke_idi":invoke_idi,"invoke_idii":invoke_idii,"invoke_idiii":invoke_idiii,"invoke_idiiii":invoke_idiiii,"invoke_idiiiii":invoke_idiiiii,"invoke_if":invoke_if,"invoke_ifi":invoke_ifi,"invoke_ii":invoke_ii,"invoke_iid":invoke_iid,"invoke_iidi":invoke_iidi,"invoke_iif":invoke_iif,"invoke_iii":invoke_iii,"invoke_iiid":invoke_iiid,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiid":invoke_iiiiid,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiid":invoke_iiiiiid,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiiiiiiii":invoke_iiiiiiiiii,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_iiiiiiiiiiii":invoke_iiiiiiiiiiii,"invoke_iiiiiiiiiiiii":invoke_iiiiiiiiiiiii,"invoke_iiiiiiiiiiiiiiii":invoke_iiiiiiiiiiiiiiii,"invoke_v":invoke_v,"invoke_vdii":invoke_vdii,"invoke_vfii":invoke_vfii,"invoke_vi":invoke_vi,"invoke_vid":invoke_vid,"invoke_vidd":invoke_vidd,"invoke_vidddd":invoke_vidddd,"invoke_vif":invoke_vif,"invoke_viffff":invoke_viffff,"invoke_vii":invoke_vii,"invoke_viid":invoke_viid,"invoke_viidd":invoke_viidd,"invoke_viidddddddd":invoke_viidddddddd,"invoke_viiddddddddd":invoke_viiddddddddd,"invoke_viii":invoke_viii,"invoke_viiidd":invoke_viiidd,"invoke_viiidi":invoke_viiidi,"invoke_viiii":invoke_viiii,"invoke_viiiid":invoke_viiiid,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_viiiiiiiiiii":invoke_viiiiiiiiiii,"invoke_viiiiiiiiiiiiiii":invoke_viiiiiiiiiiiiiii,"_IMG_Init":_IMG_Init,"_IMG_Load":_IMG_Load,"_IMG_Load_RW":_IMG_Load_RW,"_IMG_Quit":_IMG_Quit,"_JSEvents_requestFullscreen":_JSEvents_requestFullscreen,"_JSEvents_resizeCanvasForFullscreen":_JSEvents_resizeCanvasForFullscreen,"_Mix_AllocateChannels":_Mix_AllocateChannels,"_Mix_ChannelFinished":_Mix_ChannelFinished,"_Mix_CloseAudio":_Mix_CloseAudio,"_Mix_FadeInChannelTimed":_Mix_FadeInChannelTimed,"_Mix_FadeInMusicPos":_Mix_FadeInMusicPos,"_Mix_FadeOutChannel":_Mix_FadeOutChannel,"_Mix_FadeOutMusic":_Mix_FadeOutMusic,"_Mix_FadingChannel":_Mix_FadingChannel,"_Mix_FreeChunk":_Mix_FreeChunk,"_Mix_FreeMusic":_Mix_FreeMusic,"_Mix_HaltChannel":_Mix_HaltChannel,"_Mix_HaltMusic":_Mix_HaltMusic,"_Mix_HookMusicFinished":_Mix_HookMusicFinished,"_Mix_Init":_Mix_Init,"_Mix_Linked_Version":_Mix_Linked_Version,"_Mix_LoadMUS":_Mix_LoadMUS,"_Mix_LoadMUS_RW":_Mix_LoadMUS_RW,"_Mix_LoadWAV":_Mix_LoadWAV,"_Mix_LoadWAV_RW":_Mix_LoadWAV_RW,"_Mix_OpenAudio":_Mix_OpenAudio,"_Mix_Pause":_Mix_Pause,"_Mix_PauseMusic":_Mix_PauseMusic,"_Mix_Paused":_Mix_Paused,"_Mix_PausedMusic":_Mix_PausedMusic,"_Mix_PlayChannel":_Mix_PlayChannel,"_Mix_PlayChannelTimed":_Mix_PlayChannelTimed,"_Mix_PlayMusic":_Mix_PlayMusic,"_Mix_Playing":_Mix_Playing,"_Mix_PlayingMusic":_Mix_PlayingMusic,"_Mix_QuerySpec":_Mix_QuerySpec,"_Mix_QuickLoad_RAW":_Mix_QuickLoad_RAW,"_Mix_Quit":_Mix_Quit,"_Mix_ReserveChannels":_Mix_ReserveChannels,"_Mix_Resume":_Mix_Resume,"_Mix_ResumeMusic":_Mix_ResumeMusic,"_Mix_SetPanning":_Mix_SetPanning,"_Mix_SetPosition":_Mix_SetPosition,"_Mix_SetPostMix":_Mix_SetPostMix,"_Mix_Volume":_Mix_Volume,"_Mix_VolumeChunk":_Mix_VolumeChunk,"_Mix_VolumeMusic":_Mix_VolumeMusic,"_SDL_AddTimer":_SDL_AddTimer,"_SDL_AllocRW":_SDL_AllocRW,"_SDL_AudioDriverName":_SDL_AudioDriverName,"_SDL_AudioQuit":_SDL_AudioQuit,"_SDL_BlitScaled":_SDL_BlitScaled,"_SDL_BlitSurface":_SDL_BlitSurface,"_SDL_ClearError":_SDL_ClearError,"_SDL_CloseAudio":_SDL_CloseAudio,"_SDL_CondBroadcast":_SDL_CondBroadcast,"_SDL_CondSignal":_SDL_CondSignal,"_SDL_CondWait":_SDL_CondWait,"_SDL_CondWaitTimeout":_SDL_CondWaitTimeout,"_SDL_ConvertSurface":_SDL_ConvertSurface,"_SDL_CreateCond":_SDL_CreateCond,"_SDL_CreateMutex":_SDL_CreateMutex,"_SDL_CreateRGBSurface":_SDL_CreateRGBSurface,"_SDL_CreateRGBSurfaceFrom":_SDL_CreateRGBSurfaceFrom,"_SDL_CreateThread":_SDL_CreateThread,"_SDL_Delay":_SDL_Delay,"_SDL_DestroyCond":_SDL_DestroyCond,"_SDL_DestroyMutex":_SDL_DestroyMutex,"_SDL_DestroyRenderer":_SDL_DestroyRenderer,"_SDL_DestroyWindow":_SDL_DestroyWindow,"_SDL_DisplayFormatAlpha":_SDL_DisplayFormatAlpha,"_SDL_EnableKeyRepeat":_SDL_EnableKeyRepeat,"_SDL_EnableUNICODE":_SDL_EnableUNICODE,"_SDL_FillRect":_SDL_FillRect,"_SDL_Flip":_SDL_Flip,"_SDL_FreeRW":_SDL_FreeRW,"_SDL_FreeSurface":_SDL_FreeSurface,"_SDL_GL_DeleteContext":_SDL_GL_DeleteContext,"_SDL_GL_ExtensionSupported":_SDL_GL_ExtensionSupported,"_SDL_GL_GetAttribute":_SDL_GL_GetAttribute,"_SDL_GL_GetProcAddress":_SDL_GL_GetProcAddress,"_SDL_GL_GetSwapInterval":_SDL_GL_GetSwapInterval,"_SDL_GL_MakeCurrent":_SDL_GL_MakeCurrent,"_SDL_GL_SetAttribute":_SDL_GL_SetAttribute,"_SDL_GL_SetSwapInterval":_SDL_GL_SetSwapInterval,"_SDL_GL_SwapBuffers":_SDL_GL_SwapBuffers,"_SDL_GL_SwapWindow":_SDL_GL_SwapWindow,"_SDL_GetAppState":_SDL_GetAppState,"_SDL_GetAudioDriver":_SDL_GetAudioDriver,"_SDL_GetClipRect":_SDL_GetClipRect,"_SDL_GetCurrentAudioDriver":_SDL_GetCurrentAudioDriver,"_SDL_GetError":_SDL_GetError,"_SDL_GetKeyName":_SDL_GetKeyName,"_SDL_GetKeyState":_SDL_GetKeyState,"_SDL_GetKeyboardState":_SDL_GetKeyboardState,"_SDL_GetModState":_SDL_GetModState,"_SDL_GetMouseState":_SDL_GetMouseState,"_SDL_GetNumAudioDrivers":_SDL_GetNumAudioDrivers,"_SDL_GetRGB":_SDL_GetRGB,"_SDL_GetRGBA":_SDL_GetRGBA,"_SDL_GetThreadID":_SDL_GetThreadID,"_SDL_GetTicks":_SDL_GetTicks,"_SDL_GetVideoInfo":_SDL_GetVideoInfo,"_SDL_GetVideoSurface":_SDL_GetVideoSurface,"_SDL_GetWindowFlags":_SDL_GetWindowFlags,"_SDL_GetWindowSize":_SDL_GetWindowSize,"_SDL_Has3DNow":_SDL_Has3DNow,"_SDL_Has3DNowExt":_SDL_Has3DNowExt,"_SDL_HasAltiVec":_SDL_HasAltiVec,"_SDL_HasMMX":_SDL_HasMMX,"_SDL_HasMMXExt":_SDL_HasMMXExt,"_SDL_HasRDTSC":_SDL_HasRDTSC,"_SDL_HasSSE":_SDL_HasSSE,"_SDL_HasSSE2":_SDL_HasSSE2,"_SDL_Init":_SDL_Init,"_SDL_InitSubSystem":_SDL_InitSubSystem,"_SDL_JoystickClose":_SDL_JoystickClose,"_SDL_JoystickEventState":_SDL_JoystickEventState,"_SDL_JoystickGetAxis":_SDL_JoystickGetAxis,"_SDL_JoystickGetBall":_SDL_JoystickGetBall,"_SDL_JoystickGetButton":_SDL_JoystickGetButton,"_SDL_JoystickGetHat":_SDL_JoystickGetHat,"_SDL_JoystickIndex":_SDL_JoystickIndex,"_SDL_JoystickName":_SDL_JoystickName,"_SDL_JoystickNumAxes":_SDL_JoystickNumAxes,"_SDL_JoystickNumBalls":_SDL_JoystickNumBalls,"_SDL_JoystickNumButtons":_SDL_JoystickNumButtons,"_SDL_JoystickNumHats":_SDL_JoystickNumHats,"_SDL_JoystickOpen":_SDL_JoystickOpen,"_SDL_JoystickOpened":_SDL_JoystickOpened,"_SDL_JoystickUpdate":_SDL_JoystickUpdate,"_SDL_Linked_Version":_SDL_Linked_Version,"_SDL_ListModes":_SDL_ListModes,"_SDL_LoadBMP":_SDL_LoadBMP,"_SDL_LoadBMP_RW":_SDL_LoadBMP_RW,"_SDL_LockAudio":_SDL_LockAudio,"_SDL_LockMutex":_SDL_LockMutex,"_SDL_LockSurface":_SDL_LockSurface,"_SDL_LogSetOutputFunction":_SDL_LogSetOutputFunction,"_SDL_LowerBlit":_SDL_LowerBlit,"_SDL_LowerBlitScaled":_SDL_LowerBlitScaled,"_SDL_MapRGB":_SDL_MapRGB,"_SDL_MapRGBA":_SDL_MapRGBA,"_SDL_NumJoysticks":_SDL_NumJoysticks,"_SDL_OpenAudio":_SDL_OpenAudio,"_SDL_PauseAudio":_SDL_PauseAudio,"_SDL_PeepEvents":_SDL_PeepEvents,"_SDL_PollEvent":_SDL_PollEvent,"_SDL_PumpEvents":_SDL_PumpEvents,"_SDL_PushEvent":_SDL_PushEvent,"_SDL_Quit":_SDL_Quit,"_SDL_QuitSubSystem":_SDL_QuitSubSystem,"_SDL_RWFromConstMem":_SDL_RWFromConstMem,"_SDL_RWFromFile":_SDL_RWFromFile,"_SDL_RWFromMem":_SDL_RWFromMem,"_SDL_RemoveTimer":_SDL_RemoveTimer,"_SDL_SaveBMP_RW":_SDL_SaveBMP_RW,"_SDL_SetAlpha":_SDL_SetAlpha,"_SDL_SetClipRect":_SDL_SetClipRect,"_SDL_SetColorKey":_SDL_SetColorKey,"_SDL_SetColors":_SDL_SetColors,"_SDL_SetError":_SDL_SetError,"_SDL_SetGamma":_SDL_SetGamma,"_SDL_SetGammaRamp":_SDL_SetGammaRamp,"_SDL_SetPalette":_SDL_SetPalette,"_SDL_SetVideoMode":_SDL_SetVideoMode,"_SDL_SetWindowFullscreen":_SDL_SetWindowFullscreen,"_SDL_SetWindowTitle":_SDL_SetWindowTitle,"_SDL_ShowCursor":_SDL_ShowCursor,"_SDL_StartTextInput":_SDL_StartTextInput,"_SDL_StopTextInput":_SDL_StopTextInput,"_SDL_ThreadID":_SDL_ThreadID,"_SDL_UnlockAudio":_SDL_UnlockAudio,"_SDL_UnlockMutex":_SDL_UnlockMutex,"_SDL_UnlockSurface":_SDL_UnlockSurface,"_SDL_UpdateRect":_SDL_UpdateRect,"_SDL_UpdateRects":_SDL_UpdateRects,"_SDL_UpperBlit":_SDL_UpperBlit,"_SDL_UpperBlitScaled":_SDL_UpperBlitScaled,"_SDL_VideoDriverName":_SDL_VideoDriverName,"_SDL_VideoModeOK":_SDL_VideoModeOK,"_SDL_VideoQuit":_SDL_VideoQuit,"_SDL_WM_GrabInput":_SDL_WM_GrabInput,"_SDL_WM_IconifyWindow":_SDL_WM_IconifyWindow,"_SDL_WM_SetCaption":_SDL_WM_SetCaption,"_SDL_WM_SetIcon":_SDL_WM_SetIcon,"_SDL_WM_ToggleFullScreen":_SDL_WM_ToggleFullScreen,"_SDL_WaitThread":_SDL_WaitThread,"_SDL_WarpMouse":_SDL_WarpMouse,"_SDL_WasInit":_SDL_WasInit,"_SDL_free":_SDL_free,"_SDL_getenv":_SDL_getenv,"_SDL_malloc":_SDL_malloc,"_SDL_mutexP":_SDL_mutexP,"_SDL_mutexV":_SDL_mutexV,"_SDL_putenv":_SDL_putenv,"_TTF_CloseFont":_TTF_CloseFont,"_TTF_FontAscent":_TTF_FontAscent,"_TTF_FontDescent":_TTF_FontDescent,"_TTF_FontHeight":_TTF_FontHeight,"_TTF_FontLineSkip":_TTF_FontLineSkip,"_TTF_GlyphMetrics":_TTF_GlyphMetrics,"_TTF_Init":_TTF_Init,"_TTF_OpenFont":_TTF_OpenFont,"_TTF_Quit":_TTF_Quit,"_TTF_RenderText_Blended":_TTF_RenderText_Blended,"_TTF_RenderText_Shaded":_TTF_RenderText_Shaded,"_TTF_RenderText_Solid":_TTF_RenderText_Solid,"_TTF_RenderUTF8_Solid":_TTF_RenderUTF8_Solid,"_TTF_SizeText":_TTF_SizeText,"_TTF_SizeUTF8":_TTF_SizeUTF8,"_XChangeWindowAttributes":_XChangeWindowAttributes,"_XCreateWindow":_XCreateWindow,"_XInternAtom":_XInternAtom,"_XMapWindow":_XMapWindow,"_XOpenDisplay":_XOpenDisplay,"_XPending":_XPending,"_XSendEvent":_XSendEvent,"_XSetWMHints":_XSetWMHints,"_XStoreName":_XStoreName,"__Atomics_load_f32_emulated":__Atomics_load_f32_emulated,"__Exit":__Exit,"__Unwind_Backtrace":__Unwind_Backtrace,"__Unwind_DeleteException":__Unwind_DeleteException,"__Unwind_FindEnclosingFunction":__Unwind_FindEnclosingFunction,"__Unwind_GetIPInfo":__Unwind_GetIPInfo,"__Unwind_RaiseException":__Unwind_RaiseException,"___assert_fail":___assert_fail,"___assert_func":___assert_func,"___atomic_compare_exchange_8":___atomic_compare_exchange_8,"___atomic_exchange_8":___atomic_exchange_8,"___atomic_fetch_add_8":___atomic_fetch_add_8,"___atomic_fetch_and_8":___atomic_fetch_and_8,"___atomic_fetch_or_8":___atomic_fetch_or_8,"___atomic_fetch_sub_8":___atomic_fetch_sub_8,"___atomic_fetch_xor_8":___atomic_fetch_xor_8,"___atomic_is_lock_free":___atomic_is_lock_free,"___atomic_load_8":___atomic_load_8,"___atomic_store_8":___atomic_store_8,"___buildEnvironment":___buildEnvironment,"___builtin_prefetch":___builtin_prefetch,"___clock_gettime":___clock_gettime,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_atexit":___cxa_atexit,"___cxa_begin_catch":___cxa_begin_catch,"___cxa_call_unexpected":___cxa_call_unexpected,"___cxa_current_primary_exception":___cxa_current_primary_exception,"___cxa_decrement_exception_refcount":___cxa_decrement_exception_refcount,"___cxa_end_catch":___cxa_end_catch,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___cxa_free_exception":___cxa_free_exception,"___cxa_get_exception_ptr":___cxa_get_exception_ptr,"___cxa_increment_exception_refcount":___cxa_increment_exception_refcount,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_rethrow":___cxa_rethrow,"___cxa_rethrow_primary_exception":___cxa_rethrow_primary_exception,"___cxa_thread_atexit":___cxa_thread_atexit,"___cxa_thread_atexit_impl":___cxa_thread_atexit_impl,"___cxa_throw":___cxa_throw,"___cxa_uncaught_exception":___cxa_uncaught_exception,"___execvpe":___execvpe,"___gcc_personality_v0":___gcc_personality_v0,"___gxx_personality_v0":___gxx_personality_v0,"___js2python":___js2python,"___libc_current_sigrtmax":___libc_current_sigrtmax,"___libc_current_sigrtmin":___libc_current_sigrtmin,"___lock":___lock,"___map_file":___map_file,"___resumeException":___resumeException,"___setErrNo":___setErrNo,"___set_network_callback":___set_network_callback,"___syscall1":___syscall1,"___syscall10":___syscall10,"___syscall102":___syscall102,"___syscall104":___syscall104,"___syscall114":___syscall114,"___syscall118":___syscall118,"___syscall12":___syscall12,"___syscall121":___syscall121,"___syscall122":___syscall122,"___syscall125":___syscall125,"___syscall132":___syscall132,"___syscall133":___syscall133,"___syscall14":___syscall14,"___syscall140":___syscall140,"___syscall142":___syscall142,"___syscall144":___syscall144,"___syscall145":___syscall145,"___syscall146":___syscall146,"___syscall147":___syscall147,"___syscall148":___syscall148,"___syscall15":___syscall15,"___syscall150":___syscall150,"___syscall151":___syscall151,"___syscall152":___syscall152,"___syscall153":___syscall153,"___syscall163":___syscall163,"___syscall168":___syscall168,"___syscall178":___syscall178,"___syscall180":___syscall180,"___syscall181":___syscall181,"___syscall183":___syscall183,"___syscall191":___syscall191,"___syscall192":___syscall192,"___syscall193":___syscall193,"___syscall194":___syscall194,"___syscall195":___syscall195,"___syscall196":___syscall196,"___syscall197":___syscall197,"___syscall198":___syscall198,"___syscall199":___syscall199,"___syscall20":___syscall20,"___syscall200":___syscall200,"___syscall201":___syscall201,"___syscall202":___syscall202,"___syscall203":___syscall203,"___syscall204":___syscall204,"___syscall205":___syscall205,"___syscall207":___syscall207,"___syscall208":___syscall208,"___syscall209":___syscall209,"___syscall210":___syscall210,"___syscall211":___syscall211,"___syscall212":___syscall212,"___syscall213":___syscall213,"___syscall214":___syscall214,"___syscall218":___syscall218,"___syscall219":___syscall219,"___syscall220":___syscall220,"___syscall221":___syscall221,"___syscall265":___syscall265,"___syscall268":___syscall268,"___syscall269":___syscall269,"___syscall272":___syscall272,"___syscall29":___syscall29,"___syscall295":___syscall295,"___syscall296":___syscall296,"___syscall297":___syscall297,"___syscall298":___syscall298,"___syscall299":___syscall299,"___syscall3":___syscall3,"___syscall300":___syscall300,"___syscall301":___syscall301,"___syscall302":___syscall302,"___syscall303":___syscall303,"___syscall304":___syscall304,"___syscall305":___syscall305,"___syscall306":___syscall306,"___syscall307":___syscall307,"___syscall308":___syscall308,"___syscall320":___syscall320,"___syscall324":___syscall324,"___syscall33":___syscall33,"___syscall330":___syscall330,"___syscall331":___syscall331,"___syscall333":___syscall333,"___syscall334":___syscall334,"___syscall337":___syscall337,"___syscall34":___syscall34,"___syscall340":___syscall340,"___syscall345":___syscall345,"___syscall36":___syscall36,"___syscall38":___syscall38,"___syscall39":___syscall39,"___syscall4":___syscall4,"___syscall40":___syscall40,"___syscall41":___syscall41,"___syscall42":___syscall42,"___syscall5":___syscall5,"___syscall51":___syscall51,"___syscall54":___syscall54,"___syscall57":___syscall57,"___syscall6":___syscall6,"___syscall60":___syscall60,"___syscall63":___syscall63,"___syscall64":___syscall64,"___syscall65":___syscall65,"___syscall66":___syscall66,"___syscall75":___syscall75,"___syscall77":___syscall77,"___syscall83":___syscall83,"___syscall85":___syscall85,"___syscall9":___syscall9,"___syscall91":___syscall91,"___syscall94":___syscall94,"___syscall96":___syscall96,"___syscall97":___syscall97,"___ubsan_handle_add_overflow":___ubsan_handle_add_overflow,"___ubsan_handle_float_cast_overflow":___ubsan_handle_float_cast_overflow,"___ubsan_handle_pointer_overflow":___ubsan_handle_pointer_overflow,"___ubsan_handle_type_mismatch_v1":___ubsan_handle_type_mismatch_v1,"___unlock":___unlock,"___wait":___wait,"__addDays":__addDays,"__arraySum":__arraySum,"__battery":__battery,"__computeUnpackAlignedImageSize":__computeUnpackAlignedImageSize,"__emscripten_do_request_fullscreen":__emscripten_do_request_fullscreen,"__emscripten_push_main_loop_blocker":__emscripten_push_main_loop_blocker,"__emscripten_push_uncounted_main_loop_blocker":__emscripten_push_uncounted_main_loop_blocker,"__emscripten_traverse_stack":__emscripten_traverse_stack,"__exit":__exit,"__fillBatteryEventData":__fillBatteryEventData,"__fillDeviceMotionEventData":__fillDeviceMotionEventData,"__fillDeviceOrientationEventData":__fillDeviceOrientationEventData,"__fillFullscreenChangeEventData":__fillFullscreenChangeEventData,"__fillGamepadEventData":__fillGamepadEventData,"__fillMouseEventData":__fillMouseEventData,"__fillOrientationChangeEventData":__fillOrientationChangeEventData,"__fillPointerlockChangeEventData":__fillPointerlockChangeEventData,"__fillVisibilityChangeEventData":__fillVisibilityChangeEventData,"__findCanvasEventTarget":__findCanvasEventTarget,"__findEventTarget":__findEventTarget,"__formatString":__formatString,"__get_canvas_element_size":__get_canvas_element_size,"__glGenObject":__glGenObject,"__hideEverythingExceptGivenElement":__hideEverythingExceptGivenElement,"__inet_ntop4_raw":__inet_ntop4_raw,"__inet_ntop6_raw":__inet_ntop6_raw,"__inet_pton4_raw":__inet_pton4_raw,"__inet_pton6":__inet_pton6,"__inet_pton6_raw":__inet_pton6_raw,"__isLeapYear":__isLeapYear,"__polyfill_set_immediate":__polyfill_set_immediate,"__pthread_cleanup_pop":__pthread_cleanup_pop,"__pthread_cleanup_push":__pthread_cleanup_push,"__read_sockaddr":__read_sockaddr,"__reallyNegative":__reallyNegative,"__registerBatteryEventCallback":__registerBatteryEventCallback,"__registerBeforeUnloadEventCallback":__registerBeforeUnloadEventCallback,"__registerDeviceMotionEventCallback":__registerDeviceMotionEventCallback,"__registerDeviceOrientationEventCallback":__registerDeviceOrientationEventCallback,"__registerFocusEventCallback":__registerFocusEventCallback,"__registerFullscreenChangeEventCallback":__registerFullscreenChangeEventCallback,"__registerGamepadEventCallback":__registerGamepadEventCallback,"__registerKeyEventCallback":__registerKeyEventCallback,"__registerMouseEventCallback":__registerMouseEventCallback,"__registerOrientationChangeEventCallback":__registerOrientationChangeEventCallback,"__registerPointerlockChangeEventCallback":__registerPointerlockChangeEventCallback,"__registerPointerlockErrorEventCallback":__registerPointerlockErrorEventCallback,"__registerRestoreOldStyle":__registerRestoreOldStyle,"__registerTouchEventCallback":__registerTouchEventCallback,"__registerUiEventCallback":__registerUiEventCallback,"__registerVisibilityChangeEventCallback":__registerVisibilityChangeEventCallback,"__registerWebGlEventCallback":__registerWebGlEventCallback,"__registerWheelEventCallback":__registerWheelEventCallback,"__requestPointerLock":__requestPointerLock,"__restoreHiddenElements":__restoreHiddenElements,"__screenOrientation":__screenOrientation,"__setLetterbox":__setLetterbox,"__set_canvas_element_size":__set_canvas_element_size,"__softFullscreenResizeWebGLRenderTarget":__softFullscreenResizeWebGLRenderTarget,"__write_sockaddr":__write_sockaddr,"_abort":_abort,"_abs":_abs,"_alBuffer3f":_alBuffer3f,"_alBuffer3i":_alBuffer3i,"_alBufferData":_alBufferData,"_alBufferf":_alBufferf,"_alBufferfv":_alBufferfv,"_alBufferi":_alBufferi,"_alBufferiv":_alBufferiv,"_alDeleteBuffers":_alDeleteBuffers,"_alDeleteSources":_alDeleteSources,"_alDisable":_alDisable,"_alDistanceModel":_alDistanceModel,"_alDopplerFactor":_alDopplerFactor,"_alDopplerVelocity":_alDopplerVelocity,"_alEnable":_alEnable,"_alGenBuffers":_alGenBuffers,"_alGenSources":_alGenSources,"_alGetBoolean":_alGetBoolean,"_alGetBooleanv":_alGetBooleanv,"_alGetBuffer3f":_alGetBuffer3f,"_alGetBuffer3i":_alGetBuffer3i,"_alGetBufferf":_alGetBufferf,"_alGetBufferfv":_alGetBufferfv,"_alGetBufferi":_alGetBufferi,"_alGetBufferiv":_alGetBufferiv,"_alGetDouble":_alGetDouble,"_alGetDoublev":_alGetDoublev,"_alGetEnumValue":_alGetEnumValue,"_alGetError":_alGetError,"_alGetFloat":_alGetFloat,"_alGetFloatv":_alGetFloatv,"_alGetInteger":_alGetInteger,"_alGetIntegerv":_alGetIntegerv,"_alGetListener3f":_alGetListener3f,"_alGetListener3i":_alGetListener3i,"_alGetListenerf":_alGetListenerf,"_alGetListenerfv":_alGetListenerfv,"_alGetListeneri":_alGetListeneri,"_alGetListeneriv":_alGetListeneriv,"_alGetProcAddress":_alGetProcAddress,"_alGetSource3f":_alGetSource3f,"_alGetSource3i":_alGetSource3i,"_alGetSourcef":_alGetSourcef,"_alGetSourcefv":_alGetSourcefv,"_alGetSourcei":_alGetSourcei,"_alGetSourceiv":_alGetSourceiv,"_alGetString":_alGetString,"_alIsBuffer":_alIsBuffer,"_alIsEnabled":_alIsEnabled,"_alIsExtensionPresent":_alIsExtensionPresent,"_alIsSource":_alIsSource,"_alListener3f":_alListener3f,"_alListener3i":_alListener3i,"_alListenerf":_alListenerf,"_alListenerfv":_alListenerfv,"_alListeneri":_alListeneri,"_alListeneriv":_alListeneriv,"_alSource3f":_alSource3f,"_alSource3i":_alSource3i,"_alSourcePause":_alSourcePause,"_alSourcePausev":_alSourcePausev,"_alSourcePlay":_alSourcePlay,"_alSourcePlayv":_alSourcePlayv,"_alSourceQueueBuffers":_alSourceQueueBuffers,"_alSourceRewind":_alSourceRewind,"_alSourceRewindv":_alSourceRewindv,"_alSourceStop":_alSourceStop,"_alSourceStopv":_alSourceStopv,"_alSourceUnqueueBuffers":_alSourceUnqueueBuffers,"_alSourcef":_alSourcef,"_alSourcefv":_alSourcefv,"_alSourcei":_alSourcei,"_alSourceiv":_alSourceiv,"_alSpeedOfSound":_alSpeedOfSound,"_alarm":_alarm,"_alcCaptureCloseDevice":_alcCaptureCloseDevice,"_alcCaptureOpenDevice":_alcCaptureOpenDevice,"_alcCaptureSamples":_alcCaptureSamples,"_alcCaptureStart":_alcCaptureStart,"_alcCaptureStop":_alcCaptureStop,"_alcCloseDevice":_alcCloseDevice,"_alcCreateContext":_alcCreateContext,"_alcDestroyContext":_alcDestroyContext,"_alcGetContextsDevice":_alcGetContextsDevice,"_alcGetCurrentContext":_alcGetCurrentContext,"_alcGetEnumValue":_alcGetEnumValue,"_alcGetError":_alcGetError,"_alcGetIntegerv":_alcGetIntegerv,"_alcGetProcAddress":_alcGetProcAddress,"_alcGetString":_alcGetString,"_alcIsExtensionPresent":_alcIsExtensionPresent,"_alcMakeContextCurrent":_alcMakeContextCurrent,"_alcOpenDevice":_alcOpenDevice,"_alcProcessContext":_alcProcessContext,"_alcSuspendContext":_alcSuspendContext,"_arc4random":_arc4random,"_asctime":_asctime,"_asctime_r":_asctime_r,"_atexit":_atexit,"_boxColor":_boxColor,"_boxRGBA":_boxRGBA,"_ceil":_ceil,"_ceilf":_ceilf,"_ceill":_ceill,"_chroot":_chroot,"_clearenv":_clearenv,"_clock":_clock,"_clock_getcpuclockid":_clock_getcpuclockid,"_clock_getres":_clock_getres,"_clock_gettime":_clock_gettime,"_clock_settime":_clock_settime,"_confstr":_confstr,"_ctime":_ctime,"_ctime_r":_ctime_r,"_difftime":_difftime,"_dladdr":_dladdr,"_dlclose":_dlclose,"_dlerror":_dlerror,"_dlopen":_dlopen,"_dlsym":_dlsym,"_dysize":_dysize,"_eglBindAPI":_eglBindAPI,"_eglChooseConfig":_eglChooseConfig,"_eglCreateContext":_eglCreateContext,"_eglCreateWindowSurface":_eglCreateWindowSurface,"_eglDestroyContext":_eglDestroyContext,"_eglDestroySurface":_eglDestroySurface,"_eglGetConfigAttrib":_eglGetConfigAttrib,"_eglGetConfigs":_eglGetConfigs,"_eglGetCurrentContext":_eglGetCurrentContext,"_eglGetCurrentDisplay":_eglGetCurrentDisplay,"_eglGetCurrentSurface":_eglGetCurrentSurface,"_eglGetDisplay":_eglGetDisplay,"_eglGetError":_eglGetError,"_eglGetProcAddress":_eglGetProcAddress,"_eglInitialize":_eglInitialize,"_eglMakeCurrent":_eglMakeCurrent,"_eglQueryAPI":_eglQueryAPI,"_eglQueryContext":_eglQueryContext,"_eglQueryString":_eglQueryString,"_eglQuerySurface":_eglQuerySurface,"_eglReleaseThread":_eglReleaseThread,"_eglSwapBuffers":_eglSwapBuffers,"_eglSwapInterval":_eglSwapInterval,"_eglTerminate":_eglTerminate,"_eglWaitClient":_eglWaitClient,"_eglWaitGL":_eglWaitGL,"_eglWaitNative":_eglWaitNative,"_ellipseColor":_ellipseColor,"_ellipseRGBA":_ellipseRGBA,"_emscripten_GetAlProcAddress":_emscripten_GetAlProcAddress,"_emscripten_GetAlcProcAddress":_emscripten_GetAlcProcAddress,"_emscripten_GetProcAddress":_emscripten_GetProcAddress,"_emscripten_SDL_SetEventHandler":_emscripten_SDL_SetEventHandler,"_emscripten_alcDevicePauseSOFT":_emscripten_alcDevicePauseSOFT,"_emscripten_alcDeviceResumeSOFT":_emscripten_alcDeviceResumeSOFT,"_emscripten_alcGetStringiSOFT":_emscripten_alcGetStringiSOFT,"_emscripten_alcResetDeviceSOFT":_emscripten_alcResetDeviceSOFT,"_emscripten_asm_const_i":_emscripten_asm_const_i,"_emscripten_async_call":_emscripten_async_call,"_emscripten_async_load_script":_emscripten_async_load_script,"_emscripten_async_run_script":_emscripten_async_run_script,"_emscripten_async_wget":_emscripten_async_wget,"_emscripten_async_wget2":_emscripten_async_wget2,"_emscripten_async_wget2_abort":_emscripten_async_wget2_abort,"_emscripten_async_wget2_data":_emscripten_async_wget2_data,"_emscripten_async_wget_data":_emscripten_async_wget_data,"_emscripten_autodebug_double":_emscripten_autodebug_double,"_emscripten_autodebug_float":_emscripten_autodebug_float,"_emscripten_autodebug_i16":_emscripten_autodebug_i16,"_emscripten_autodebug_i32":_emscripten_autodebug_i32,"_emscripten_autodebug_i64":_emscripten_autodebug_i64,"_emscripten_autodebug_i8":_emscripten_autodebug_i8,"_emscripten_call_worker":_emscripten_call_worker,"_emscripten_cancel_animation_frame":_emscripten_cancel_animation_frame,"_emscripten_cancel_main_loop":_emscripten_cancel_main_loop,"_emscripten_clear_immediate":_emscripten_clear_immediate,"_emscripten_clear_interval":_emscripten_clear_interval,"_emscripten_clear_timeout":_emscripten_clear_timeout,"_emscripten_console_error":_emscripten_console_error,"_emscripten_console_log":_emscripten_console_log,"_emscripten_console_warn":_emscripten_console_warn,"_emscripten_coroutine_create":_emscripten_coroutine_create,"_emscripten_coroutine_next":_emscripten_coroutine_next,"_emscripten_create_worker":_emscripten_create_worker,"_emscripten_date_now":_emscripten_date_now,"_emscripten_debugger":_emscripten_debugger,"_emscripten_destroy_worker":_emscripten_destroy_worker,"_emscripten_enter_soft_fullscreen":_emscripten_enter_soft_fullscreen,"_emscripten_exit_fullscreen":_emscripten_exit_fullscreen,"_emscripten_exit_pointerlock":_emscripten_exit_pointerlock,"_emscripten_exit_soft_fullscreen":_emscripten_exit_soft_fullscreen,"_emscripten_exit_with_live_runtime":_emscripten_exit_with_live_runtime,"_emscripten_force_exit":_emscripten_force_exit,"_emscripten_get_battery_status":_emscripten_get_battery_status,"_emscripten_get_callstack":_emscripten_get_callstack,"_emscripten_get_callstack_js":_emscripten_get_callstack_js,"_emscripten_get_canvas_element_size":_emscripten_get_canvas_element_size,"_emscripten_get_canvas_size":_emscripten_get_canvas_size,"_emscripten_get_compiler_setting":_emscripten_get_compiler_setting,"_emscripten_get_device_pixel_ratio":_emscripten_get_device_pixel_ratio,"_emscripten_get_devicemotion_status":_emscripten_get_devicemotion_status,"_emscripten_get_deviceorientation_status":_emscripten_get_deviceorientation_status,"_emscripten_get_element_css_size":_emscripten_get_element_css_size,"_emscripten_get_fullscreen_status":_emscripten_get_fullscreen_status,"_emscripten_get_gamepad_status":_emscripten_get_gamepad_status,"_emscripten_get_heap_size":_emscripten_get_heap_size,"_emscripten_get_main_loop_timing":_emscripten_get_main_loop_timing,"_emscripten_get_mouse_status":_emscripten_get_mouse_status,"_emscripten_get_now":_emscripten_get_now,"_emscripten_get_now_is_monotonic":_emscripten_get_now_is_monotonic,"_emscripten_get_now_res":_emscripten_get_now_res,"_emscripten_get_num_gamepads":_emscripten_get_num_gamepads,"_emscripten_get_orientation_status":_emscripten_get_orientation_status,"_emscripten_get_pointerlock_status":_emscripten_get_pointerlock_status,"_emscripten_get_preloaded_image_data":_emscripten_get_preloaded_image_data,"_emscripten_get_preloaded_image_data_from_FILE":_emscripten_get_preloaded_image_data_from_FILE,"_emscripten_get_visibility_status":_emscripten_get_visibility_status,"_emscripten_get_worker_queue_size":_emscripten_get_worker_queue_size,"_emscripten_glActiveTexture":_emscripten_glActiveTexture,"_emscripten_glAttachShader":_emscripten_glAttachShader,"_emscripten_glBegin":_emscripten_glBegin,"_emscripten_glBeginQueryEXT":_emscripten_glBeginQueryEXT,"_emscripten_glBindAttribLocation":_emscripten_glBindAttribLocation,"_emscripten_glBindBuffer":_emscripten_glBindBuffer,"_emscripten_glBindFramebuffer":_emscripten_glBindFramebuffer,"_emscripten_glBindRenderbuffer":_emscripten_glBindRenderbuffer,"_emscripten_glBindTexture":_emscripten_glBindTexture,"_emscripten_glBindVertexArray":_emscripten_glBindVertexArray,"_emscripten_glBindVertexArrayOES":_emscripten_glBindVertexArrayOES,"_emscripten_glBlendColor":_emscripten_glBlendColor,"_emscripten_glBlendEquation":_emscripten_glBlendEquation,"_emscripten_glBlendEquationSeparate":_emscripten_glBlendEquationSeparate,"_emscripten_glBlendFunc":_emscripten_glBlendFunc,"_emscripten_glBlendFuncSeparate":_emscripten_glBlendFuncSeparate,"_emscripten_glBufferData":_emscripten_glBufferData,"_emscripten_glBufferSubData":_emscripten_glBufferSubData,"_emscripten_glCheckFramebufferStatus":_emscripten_glCheckFramebufferStatus,"_emscripten_glClear":_emscripten_glClear,"_emscripten_glClearColor":_emscripten_glClearColor,"_emscripten_glClearDepth":_emscripten_glClearDepth,"_emscripten_glClearDepthf":_emscripten_glClearDepthf,"_emscripten_glClearStencil":_emscripten_glClearStencil,"_emscripten_glColorMask":_emscripten_glColorMask,"_emscripten_glCompileShader":_emscripten_glCompileShader,"_emscripten_glCompressedTexImage2D":_emscripten_glCompressedTexImage2D,"_emscripten_glCompressedTexSubImage2D":_emscripten_glCompressedTexSubImage2D,"_emscripten_glCopyTexImage2D":_emscripten_glCopyTexImage2D,"_emscripten_glCopyTexSubImage2D":_emscripten_glCopyTexSubImage2D,"_emscripten_glCreateProgram":_emscripten_glCreateProgram,"_emscripten_glCreateShader":_emscripten_glCreateShader,"_emscripten_glCullFace":_emscripten_glCullFace,"_emscripten_glDeleteBuffers":_emscripten_glDeleteBuffers,"_emscripten_glDeleteFramebuffers":_emscripten_glDeleteFramebuffers,"_emscripten_glDeleteProgram":_emscripten_glDeleteProgram,"_emscripten_glDeleteQueriesEXT":_emscripten_glDeleteQueriesEXT,"_emscripten_glDeleteRenderbuffers":_emscripten_glDeleteRenderbuffers,"_emscripten_glDeleteShader":_emscripten_glDeleteShader,"_emscripten_glDeleteTextures":_emscripten_glDeleteTextures,"_emscripten_glDeleteVertexArrays":_emscripten_glDeleteVertexArrays,"_emscripten_glDeleteVertexArraysOES":_emscripten_glDeleteVertexArraysOES,"_emscripten_glDepthFunc":_emscripten_glDepthFunc,"_emscripten_glDepthMask":_emscripten_glDepthMask,"_emscripten_glDepthRange":_emscripten_glDepthRange,"_emscripten_glDepthRangef":_emscripten_glDepthRangef,"_emscripten_glDetachShader":_emscripten_glDetachShader,"_emscripten_glDisable":_emscripten_glDisable,"_emscripten_glDisableVertexAttribArray":_emscripten_glDisableVertexAttribArray,"_emscripten_glDrawArrays":_emscripten_glDrawArrays,"_emscripten_glDrawArraysInstanced":_emscripten_glDrawArraysInstanced,"_emscripten_glDrawArraysInstancedANGLE":_emscripten_glDrawArraysInstancedANGLE,"_emscripten_glDrawArraysInstancedARB":_emscripten_glDrawArraysInstancedARB,"_emscripten_glDrawArraysInstancedEXT":_emscripten_glDrawArraysInstancedEXT,"_emscripten_glDrawArraysInstancedNV":_emscripten_glDrawArraysInstancedNV,"_emscripten_glDrawBuffers":_emscripten_glDrawBuffers,"_emscripten_glDrawBuffersEXT":_emscripten_glDrawBuffersEXT,"_emscripten_glDrawBuffersWEBGL":_emscripten_glDrawBuffersWEBGL,"_emscripten_glDrawElements":_emscripten_glDrawElements,"_emscripten_glDrawElementsInstanced":_emscripten_glDrawElementsInstanced,"_emscripten_glDrawElementsInstancedANGLE":_emscripten_glDrawElementsInstancedANGLE,"_emscripten_glDrawElementsInstancedARB":_emscripten_glDrawElementsInstancedARB,"_emscripten_glDrawElementsInstancedEXT":_emscripten_glDrawElementsInstancedEXT,"_emscripten_glDrawElementsInstancedNV":_emscripten_glDrawElementsInstancedNV,"_emscripten_glEnable":_emscripten_glEnable,"_emscripten_glEnableVertexAttribArray":_emscripten_glEnableVertexAttribArray,"_emscripten_glEndQueryEXT":_emscripten_glEndQueryEXT,"_emscripten_glFinish":_emscripten_glFinish,"_emscripten_glFlush":_emscripten_glFlush,"_emscripten_glFramebufferRenderbuffer":_emscripten_glFramebufferRenderbuffer,"_emscripten_glFramebufferTexture2D":_emscripten_glFramebufferTexture2D,"_emscripten_glFrontFace":_emscripten_glFrontFace,"_emscripten_glGenBuffers":_emscripten_glGenBuffers,"_emscripten_glGenFramebuffers":_emscripten_glGenFramebuffers,"_emscripten_glGenQueriesEXT":_emscripten_glGenQueriesEXT,"_emscripten_glGenRenderbuffers":_emscripten_glGenRenderbuffers,"_emscripten_glGenTextures":_emscripten_glGenTextures,"_emscripten_glGenVertexArrays":_emscripten_glGenVertexArrays,"_emscripten_glGenVertexArraysOES":_emscripten_glGenVertexArraysOES,"_emscripten_glGenerateMipmap":_emscripten_glGenerateMipmap,"_emscripten_glGetActiveAttrib":_emscripten_glGetActiveAttrib,"_emscripten_glGetActiveUniform":_emscripten_glGetActiveUniform,"_emscripten_glGetAttachedShaders":_emscripten_glGetAttachedShaders,"_emscripten_glGetAttribLocation":_emscripten_glGetAttribLocation,"_emscripten_glGetBooleanv":_emscripten_glGetBooleanv,"_emscripten_glGetBufferParameteriv":_emscripten_glGetBufferParameteriv,"_emscripten_glGetError":_emscripten_glGetError,"_emscripten_glGetFloatv":_emscripten_glGetFloatv,"_emscripten_glGetFramebufferAttachmentParameteriv":_emscripten_glGetFramebufferAttachmentParameteriv,"_emscripten_glGetIntegerv":_emscripten_glGetIntegerv,"_emscripten_glGetProgramInfoLog":_emscripten_glGetProgramInfoLog,"_emscripten_glGetProgramiv":_emscripten_glGetProgramiv,"_emscripten_glGetQueryObjecti64vEXT":_emscripten_glGetQueryObjecti64vEXT,"_emscripten_glGetQueryObjectivEXT":_emscripten_glGetQueryObjectivEXT,"_emscripten_glGetQueryObjectui64vEXT":_emscripten_glGetQueryObjectui64vEXT,"_emscripten_glGetQueryObjectuivEXT":_emscripten_glGetQueryObjectuivEXT,"_emscripten_glGetQueryivEXT":_emscripten_glGetQueryivEXT,"_emscripten_glGetRenderbufferParameteriv":_emscripten_glGetRenderbufferParameteriv,"_emscripten_glGetShaderInfoLog":_emscripten_glGetShaderInfoLog,"_emscripten_glGetShaderPrecisionFormat":_emscripten_glGetShaderPrecisionFormat,"_emscripten_glGetShaderSource":_emscripten_glGetShaderSource,"_emscripten_glGetShaderiv":_emscripten_glGetShaderiv,"_emscripten_glGetString":_emscripten_glGetString,"_emscripten_glGetTexParameterfv":_emscripten_glGetTexParameterfv,"_emscripten_glGetTexParameteriv":_emscripten_glGetTexParameteriv,"_emscripten_glGetUniformLocation":_emscripten_glGetUniformLocation,"_emscripten_glGetUniformfv":_emscripten_glGetUniformfv,"_emscripten_glGetUniformiv":_emscripten_glGetUniformiv,"_emscripten_glGetVertexAttribPointerv":_emscripten_glGetVertexAttribPointerv,"_emscripten_glGetVertexAttribfv":_emscripten_glGetVertexAttribfv,"_emscripten_glGetVertexAttribiv":_emscripten_glGetVertexAttribiv,"_emscripten_glHint":_emscripten_glHint,"_emscripten_glIsBuffer":_emscripten_glIsBuffer,"_emscripten_glIsEnabled":_emscripten_glIsEnabled,"_emscripten_glIsFramebuffer":_emscripten_glIsFramebuffer,"_emscripten_glIsProgram":_emscripten_glIsProgram,"_emscripten_glIsQueryEXT":_emscripten_glIsQueryEXT,"_emscripten_glIsRenderbuffer":_emscripten_glIsRenderbuffer,"_emscripten_glIsShader":_emscripten_glIsShader,"_emscripten_glIsTexture":_emscripten_glIsTexture,"_emscripten_glIsVertexArray":_emscripten_glIsVertexArray,"_emscripten_glIsVertexArrayOES":_emscripten_glIsVertexArrayOES,"_emscripten_glLineWidth":_emscripten_glLineWidth,"_emscripten_glLinkProgram":_emscripten_glLinkProgram,"_emscripten_glLoadIdentity":_emscripten_glLoadIdentity,"_emscripten_glMatrixMode":_emscripten_glMatrixMode,"_emscripten_glPixelStorei":_emscripten_glPixelStorei,"_emscripten_glPolygonOffset":_emscripten_glPolygonOffset,"_emscripten_glQueryCounterEXT":_emscripten_glQueryCounterEXT,"_emscripten_glReadPixels":_emscripten_glReadPixels,"_emscripten_glReleaseShaderCompiler":_emscripten_glReleaseShaderCompiler,"_emscripten_glRenderbufferStorage":_emscripten_glRenderbufferStorage,"_emscripten_glSampleCoverage":_emscripten_glSampleCoverage,"_emscripten_glScissor":_emscripten_glScissor,"_emscripten_glShaderBinary":_emscripten_glShaderBinary,"_emscripten_glShaderSource":_emscripten_glShaderSource,"_emscripten_glStencilFunc":_emscripten_glStencilFunc,"_emscripten_glStencilFuncSeparate":_emscripten_glStencilFuncSeparate,"_emscripten_glStencilMask":_emscripten_glStencilMask,"_emscripten_glStencilMaskSeparate":_emscripten_glStencilMaskSeparate,"_emscripten_glStencilOp":_emscripten_glStencilOp,"_emscripten_glStencilOpSeparate":_emscripten_glStencilOpSeparate,"_emscripten_glTexImage2D":_emscripten_glTexImage2D,"_emscripten_glTexParameterf":_emscripten_glTexParameterf,"_emscripten_glTexParameterfv":_emscripten_glTexParameterfv,"_emscripten_glTexParameteri":_emscripten_glTexParameteri,"_emscripten_glTexParameteriv":_emscripten_glTexParameteriv,"_emscripten_glTexSubImage2D":_emscripten_glTexSubImage2D,"_emscripten_glUniform1f":_emscripten_glUniform1f,"_emscripten_glUniform1fv":_emscripten_glUniform1fv,"_emscripten_glUniform1i":_emscripten_glUniform1i,"_emscripten_glUniform1iv":_emscripten_glUniform1iv,"_emscripten_glUniform2f":_emscripten_glUniform2f,"_emscripten_glUniform2fv":_emscripten_glUniform2fv,"_emscripten_glUniform2i":_emscripten_glUniform2i,"_emscripten_glUniform2iv":_emscripten_glUniform2iv,"_emscripten_glUniform3f":_emscripten_glUniform3f,"_emscripten_glUniform3fv":_emscripten_glUniform3fv,"_emscripten_glUniform3i":_emscripten_glUniform3i,"_emscripten_glUniform3iv":_emscripten_glUniform3iv,"_emscripten_glUniform4f":_emscripten_glUniform4f,"_emscripten_glUniform4fv":_emscripten_glUniform4fv,"_emscripten_glUniform4i":_emscripten_glUniform4i,"_emscripten_glUniform4iv":_emscripten_glUniform4iv,"_emscripten_glUniformMatrix2fv":_emscripten_glUniformMatrix2fv,"_emscripten_glUniformMatrix3fv":_emscripten_glUniformMatrix3fv,"_emscripten_glUniformMatrix4fv":_emscripten_glUniformMatrix4fv,"_emscripten_glUseProgram":_emscripten_glUseProgram,"_emscripten_glValidateProgram":_emscripten_glValidateProgram,"_emscripten_glVertexAttrib1f":_emscripten_glVertexAttrib1f,"_emscripten_glVertexAttrib1fv":_emscripten_glVertexAttrib1fv,"_emscripten_glVertexAttrib2f":_emscripten_glVertexAttrib2f,"_emscripten_glVertexAttrib2fv":_emscripten_glVertexAttrib2fv,"_emscripten_glVertexAttrib3f":_emscripten_glVertexAttrib3f,"_emscripten_glVertexAttrib3fv":_emscripten_glVertexAttrib3fv,"_emscripten_glVertexAttrib4f":_emscripten_glVertexAttrib4f,"_emscripten_glVertexAttrib4fv":_emscripten_glVertexAttrib4fv,"_emscripten_glVertexAttribDivisor":_emscripten_glVertexAttribDivisor,"_emscripten_glVertexAttribDivisorANGLE":_emscripten_glVertexAttribDivisorANGLE,"_emscripten_glVertexAttribDivisorARB":_emscripten_glVertexAttribDivisorARB,"_emscripten_glVertexAttribDivisorEXT":_emscripten_glVertexAttribDivisorEXT,"_emscripten_glVertexAttribDivisorNV":_emscripten_glVertexAttribDivisorNV,"_emscripten_glVertexAttribPointer":_emscripten_glVertexAttribPointer,"_emscripten_glVertexPointer":_emscripten_glVertexPointer,"_emscripten_glViewport":_emscripten_glViewport,"_emscripten_gluLookAt":_emscripten_gluLookAt,"_emscripten_gluOrtho2D":_emscripten_gluOrtho2D,"_emscripten_gluPerspective":_emscripten_gluPerspective,"_emscripten_gluProject":_emscripten_gluProject,"_emscripten_gluUnProject":_emscripten_gluUnProject,"_emscripten_hide_mouse":_emscripten_hide_mouse,"_emscripten_html5_remove_all_event_listeners":_emscripten_html5_remove_all_event_listeners,"_emscripten_idb_async_delete":_emscripten_idb_async_delete,"_emscripten_idb_async_exists":_emscripten_idb_async_exists,"_emscripten_idb_async_load":_emscripten_idb_async_load,"_emscripten_idb_async_store":_emscripten_idb_async_store,"_emscripten_idb_delete":_emscripten_idb_delete,"_emscripten_idb_exists":_emscripten_idb_exists,"_emscripten_idb_load":_emscripten_idb_load,"_emscripten_idb_store":_emscripten_idb_store,"_emscripten_is_main_browser_thread":_emscripten_is_main_browser_thread,"_emscripten_is_webgl_context_lost":_emscripten_is_webgl_context_lost,"_emscripten_lock_orientation":_emscripten_lock_orientation,"_emscripten_log":_emscripten_log,"_emscripten_log_js":_emscripten_log_js,"_emscripten_longjmp":_emscripten_longjmp,"_emscripten_main_browser_thread_id":_emscripten_main_browser_thread_id,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_emscripten_pause_main_loop":_emscripten_pause_main_loop,"_emscripten_performance_now":_emscripten_performance_now,"_emscripten_print_double":_emscripten_print_double,"_emscripten_random":_emscripten_random,"_emscripten_request_animation_frame":_emscripten_request_animation_frame,"_emscripten_request_animation_frame_loop":_emscripten_request_animation_frame_loop,"_emscripten_request_fullscreen":_emscripten_request_fullscreen,"_emscripten_request_fullscreen_strategy":_emscripten_request_fullscreen_strategy,"_emscripten_request_pointerlock":_emscripten_request_pointerlock,"_emscripten_resize_heap":_emscripten_resize_heap,"_emscripten_resume_main_loop":_emscripten_resume_main_loop,"_emscripten_run_preload_plugins":_emscripten_run_preload_plugins,"_emscripten_run_preload_plugins_data":_emscripten_run_preload_plugins_data,"_emscripten_run_script":_emscripten_run_script,"_emscripten_run_script_int":_emscripten_run_script_int,"_emscripten_run_script_string":_emscripten_run_script_string,"_emscripten_sample_gamepad_data":_emscripten_sample_gamepad_data,"_emscripten_set_batterychargingchange_callback_on_thread":_emscripten_set_batterychargingchange_callback_on_thread,"_emscripten_set_batterylevelchange_callback_on_thread":_emscripten_set_batterylevelchange_callback_on_thread,"_emscripten_set_beforeunload_callback_on_thread":_emscripten_set_beforeunload_callback_on_thread,"_emscripten_set_blur_callback_on_thread":_emscripten_set_blur_callback_on_thread,"_emscripten_set_canvas_element_size":_emscripten_set_canvas_element_size,"_emscripten_set_canvas_size":_emscripten_set_canvas_size,"_emscripten_set_click_callback_on_thread":_emscripten_set_click_callback_on_thread,"_emscripten_set_dblclick_callback_on_thread":_emscripten_set_dblclick_callback_on_thread,"_emscripten_set_devicemotion_callback_on_thread":_emscripten_set_devicemotion_callback_on_thread,"_emscripten_set_deviceorientation_callback_on_thread":_emscripten_set_deviceorientation_callback_on_thread,"_emscripten_set_element_css_size":_emscripten_set_element_css_size,"_emscripten_set_focus_callback_on_thread":_emscripten_set_focus_callback_on_thread,"_emscripten_set_focusin_callback_on_thread":_emscripten_set_focusin_callback_on_thread,"_emscripten_set_focusout_callback_on_thread":_emscripten_set_focusout_callback_on_thread,"_emscripten_set_fullscreenchange_callback_on_thread":_emscripten_set_fullscreenchange_callback_on_thread,"_emscripten_set_gamepadconnected_callback_on_thread":_emscripten_set_gamepadconnected_callback_on_thread,"_emscripten_set_gamepaddisconnected_callback_on_thread":_emscripten_set_gamepaddisconnected_callback_on_thread,"_emscripten_set_immediate":_emscripten_set_immediate,"_emscripten_set_immediate_loop":_emscripten_set_immediate_loop,"_emscripten_set_interval":_emscripten_set_interval,"_emscripten_set_keydown_callback_on_thread":_emscripten_set_keydown_callback_on_thread,"_emscripten_set_keypress_callback_on_thread":_emscripten_set_keypress_callback_on_thread,"_emscripten_set_keyup_callback_on_thread":_emscripten_set_keyup_callback_on_thread,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_set_main_loop_arg":_emscripten_set_main_loop_arg,"_emscripten_set_main_loop_expected_blockers":_emscripten_set_main_loop_expected_blockers,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_emscripten_set_mousedown_callback_on_thread":_emscripten_set_mousedown_callback_on_thread,"_emscripten_set_mouseenter_callback_on_thread":_emscripten_set_mouseenter_callback_on_thread,"_emscripten_set_mouseleave_callback_on_thread":_emscripten_set_mouseleave_callback_on_thread,"_emscripten_set_mousemove_callback_on_thread":_emscripten_set_mousemove_callback_on_thread,"_emscripten_set_mouseout_callback_on_thread":_emscripten_set_mouseout_callback_on_thread,"_emscripten_set_mouseover_callback_on_thread":_emscripten_set_mouseover_callback_on_thread,"_emscripten_set_mouseup_callback_on_thread":_emscripten_set_mouseup_callback_on_thread,"_emscripten_set_orientationchange_callback_on_thread":_emscripten_set_orientationchange_callback_on_thread,"_emscripten_set_pointerlockchange_callback_on_thread":_emscripten_set_pointerlockchange_callback_on_thread,"_emscripten_set_pointerlockerror_callback_on_thread":_emscripten_set_pointerlockerror_callback_on_thread,"_emscripten_set_resize_callback_on_thread":_emscripten_set_resize_callback_on_thread,"_emscripten_set_scroll_callback_on_thread":_emscripten_set_scroll_callback_on_thread,"_emscripten_set_socket_close_callback":_emscripten_set_socket_close_callback,"_emscripten_set_socket_connection_callback":_emscripten_set_socket_connection_callback,"_emscripten_set_socket_error_callback":_emscripten_set_socket_error_callback,"_emscripten_set_socket_listen_callback":_emscripten_set_socket_listen_callback,"_emscripten_set_socket_message_callback":_emscripten_set_socket_message_callback,"_emscripten_set_socket_open_callback":_emscripten_set_socket_open_callback,"_emscripten_set_timeout":_emscripten_set_timeout,"_emscripten_set_timeout_loop":_emscripten_set_timeout_loop,"_emscripten_set_touchcancel_callback_on_thread":_emscripten_set_touchcancel_callback_on_thread,"_emscripten_set_touchend_callback_on_thread":_emscripten_set_touchend_callback_on_thread,"_emscripten_set_touchmove_callback_on_thread":_emscripten_set_touchmove_callback_on_thread,"_emscripten_set_touchstart_callback_on_thread":_emscripten_set_touchstart_callback_on_thread,"_emscripten_set_visibilitychange_callback_on_thread":_emscripten_set_visibilitychange_callback_on_thread,"_emscripten_set_webglcontextlost_callback_on_thread":_emscripten_set_webglcontextlost_callback_on_thread,"_emscripten_set_webglcontextrestored_callback_on_thread":_emscripten_set_webglcontextrestored_callback_on_thread,"_emscripten_set_wheel_callback_on_thread":_emscripten_set_wheel_callback_on_thread,"_emscripten_sleep":_emscripten_sleep,"_emscripten_supports_offscreencanvas":_emscripten_supports_offscreencanvas,"_emscripten_throw_number":_emscripten_throw_number,"_emscripten_throw_string":_emscripten_throw_string,"_emscripten_unlock_orientation":_emscripten_unlock_orientation,"_emscripten_vibrate":_emscripten_vibrate,"_emscripten_vibrate_pattern":_emscripten_vibrate_pattern,"_emscripten_vr_cancel_display_render_loop":_emscripten_vr_cancel_display_render_loop,"_emscripten_vr_count_displays":_emscripten_vr_count_displays,"_emscripten_vr_deinit":_emscripten_vr_deinit,"_emscripten_vr_display_connected":_emscripten_vr_display_connected,"_emscripten_vr_display_presenting":_emscripten_vr_display_presenting,"_emscripten_vr_exit_present":_emscripten_vr_exit_present,"_emscripten_vr_get_display_capabilities":_emscripten_vr_get_display_capabilities,"_emscripten_vr_get_display_handle":_emscripten_vr_get_display_handle,"_emscripten_vr_get_display_name":_emscripten_vr_get_display_name,"_emscripten_vr_get_eye_parameters":_emscripten_vr_get_eye_parameters,"_emscripten_vr_get_frame_data":_emscripten_vr_get_frame_data,"_emscripten_vr_init":_emscripten_vr_init,"_emscripten_vr_ready":_emscripten_vr_ready,"_emscripten_vr_request_present":_emscripten_vr_request_present,"_emscripten_vr_set_display_render_loop":_emscripten_vr_set_display_render_loop,"_emscripten_vr_set_display_render_loop_arg":_emscripten_vr_set_display_render_loop_arg,"_emscripten_vr_submit_frame":_emscripten_vr_submit_frame,"_emscripten_vr_version_major":_emscripten_vr_version_major,"_emscripten_vr_version_minor":_emscripten_vr_version_minor,"_emscripten_webgl_commit_frame":_emscripten_webgl_commit_frame,"_emscripten_webgl_create_context":_emscripten_webgl_create_context,"_emscripten_webgl_destroy_context":_emscripten_webgl_destroy_context,"_emscripten_webgl_destroy_context_calling_thread":_emscripten_webgl_destroy_context_calling_thread,"_emscripten_webgl_do_commit_frame":_emscripten_webgl_do_commit_frame,"_emscripten_webgl_do_create_context":_emscripten_webgl_do_create_context,"_emscripten_webgl_do_get_current_context":_emscripten_webgl_do_get_current_context,"_emscripten_webgl_enable_extension":_emscripten_webgl_enable_extension,"_emscripten_webgl_enable_extension_calling_thread":_emscripten_webgl_enable_extension_calling_thread,"_emscripten_webgl_get_context_attributes":_emscripten_webgl_get_context_attributes,"_emscripten_webgl_get_current_context":_emscripten_webgl_get_current_context,"_emscripten_webgl_get_drawing_buffer_size":_emscripten_webgl_get_drawing_buffer_size,"_emscripten_webgl_get_drawing_buffer_size_calling_thread":_emscripten_webgl_get_drawing_buffer_size_calling_thread,"_emscripten_webgl_init_context_attributes":_emscripten_webgl_init_context_attributes,"_emscripten_webgl_make_context_current":_emscripten_webgl_make_context_current,"_emscripten_wget":_emscripten_wget,"_emscripten_wget_data":_emscripten_wget_data,"_emscripten_worker_respond":_emscripten_worker_respond,"_emscripten_worker_respond_provisionally":_emscripten_worker_respond_provisionally,"_emscripten_yield":_emscripten_yield,"_endprotoent":_endprotoent,"_endpwent":_endpwent,"_execl":_execl,"_execle":_execle,"_execlp":_execlp,"_execv":_execv,"_execve":_execve,"_execvp":_execvp,"_exit":_exit,"_fabs":_fabs,"_fabsf":_fabsf,"_fabsl":_fabsl,"_fexecve":_fexecve,"_filledEllipseColor":_filledEllipseColor,"_filledEllipseRGBA":_filledEllipseRGBA,"_flock":_flock,"_floor":_floor,"_floorf":_floorf,"_floorl":_floorl,"_fork":_fork,"_fpathconf":_fpathconf,"_ftime":_ftime,"_gai_strerror":_gai_strerror,"_getTempRet0":_getTempRet0,"_getaddrinfo":_getaddrinfo,"_getdate":_getdate,"_getenv":_getenv,"_gethostbyaddr":_gethostbyaddr,"_gethostbyname":_gethostbyname,"_gethostbyname_r":_gethostbyname_r,"_getitimer":_getitimer,"_getloadavg":_getloadavg,"_getnameinfo":_getnameinfo,"_getpagesize":_getpagesize,"_getprotobyname":_getprotobyname,"_getprotobynumber":_getprotobynumber,"_getprotoent":_getprotoent,"_getpwent":_getpwent,"_getpwnam":_getpwnam,"_getpwuid":_getpwuid,"_gettimeofday":_gettimeofday,"_glActiveTexture":_glActiveTexture,"_glAttachShader":_glAttachShader,"_glBegin":_glBegin,"_glBeginQueryEXT":_glBeginQueryEXT,"_glBindAttribLocation":_glBindAttribLocation,"_glBindBuffer":_glBindBuffer,"_glBindFramebuffer":_glBindFramebuffer,"_glBindRenderbuffer":_glBindRenderbuffer,"_glBindTexture":_glBindTexture,"_glBindVertexArray":_glBindVertexArray,"_glBindVertexArrayOES":_glBindVertexArrayOES,"_glBlendColor":_glBlendColor,"_glBlendEquation":_glBlendEquation,"_glBlendEquationSeparate":_glBlendEquationSeparate,"_glBlendFunc":_glBlendFunc,"_glBlendFuncSeparate":_glBlendFuncSeparate,"_glBufferData":_glBufferData,"_glBufferSubData":_glBufferSubData,"_glCheckFramebufferStatus":_glCheckFramebufferStatus,"_glClear":_glClear,"_glClearColor":_glClearColor,"_glClearDepth":_glClearDepth,"_glClearDepthf":_glClearDepthf,"_glClearStencil":_glClearStencil,"_glColorMask":_glColorMask,"_glCompileShader":_glCompileShader,"_glCompressedTexImage2D":_glCompressedTexImage2D,"_glCompressedTexSubImage2D":_glCompressedTexSubImage2D,"_glCopyTexImage2D":_glCopyTexImage2D,"_glCopyTexSubImage2D":_glCopyTexSubImage2D,"_glCreateProgram":_glCreateProgram,"_glCreateShader":_glCreateShader,"_glCullFace":_glCullFace,"_glDeleteBuffers":_glDeleteBuffers,"_glDeleteFramebuffers":_glDeleteFramebuffers,"_glDeleteProgram":_glDeleteProgram,"_glDeleteQueriesEXT":_glDeleteQueriesEXT,"_glDeleteRenderbuffers":_glDeleteRenderbuffers,"_glDeleteShader":_glDeleteShader,"_glDeleteTextures":_glDeleteTextures,"_glDeleteVertexArrays":_glDeleteVertexArrays,"_glDeleteVertexArraysOES":_glDeleteVertexArraysOES,"_glDepthFunc":_glDepthFunc,"_glDepthMask":_glDepthMask,"_glDepthRange":_glDepthRange,"_glDepthRangef":_glDepthRangef,"_glDetachShader":_glDetachShader,"_glDisable":_glDisable,"_glDisableVertexAttribArray":_glDisableVertexAttribArray,"_glDrawArrays":_glDrawArrays,"_glDrawArraysInstanced":_glDrawArraysInstanced,"_glDrawArraysInstancedANGLE":_glDrawArraysInstancedANGLE,"_glDrawArraysInstancedARB":_glDrawArraysInstancedARB,"_glDrawArraysInstancedEXT":_glDrawArraysInstancedEXT,"_glDrawArraysInstancedNV":_glDrawArraysInstancedNV,"_glDrawBuffers":_glDrawBuffers,"_glDrawBuffersEXT":_glDrawBuffersEXT,"_glDrawBuffersWEBGL":_glDrawBuffersWEBGL,"_glDrawElements":_glDrawElements,"_glDrawElementsInstanced":_glDrawElementsInstanced,"_glDrawElementsInstancedANGLE":_glDrawElementsInstancedANGLE,"_glDrawElementsInstancedARB":_glDrawElementsInstancedARB,"_glDrawElementsInstancedEXT":_glDrawElementsInstancedEXT,"_glDrawElementsInstancedNV":_glDrawElementsInstancedNV,"_glEnable":_glEnable,"_glEnableVertexAttribArray":_glEnableVertexAttribArray,"_glEndQueryEXT":_glEndQueryEXT,"_glFinish":_glFinish,"_glFlush":_glFlush,"_glFramebufferRenderbuffer":_glFramebufferRenderbuffer,"_glFramebufferTexture2D":_glFramebufferTexture2D,"_glFrontFace":_glFrontFace,"_glGenBuffers":_glGenBuffers,"_glGenFramebuffers":_glGenFramebuffers,"_glGenQueriesEXT":_glGenQueriesEXT,"_glGenRenderbuffers":_glGenRenderbuffers,"_glGenTextures":_glGenTextures,"_glGenVertexArrays":_glGenVertexArrays,"_glGenVertexArraysOES":_glGenVertexArraysOES,"_glGenerateMipmap":_glGenerateMipmap,"_glGetActiveAttrib":_glGetActiveAttrib,"_glGetActiveUniform":_glGetActiveUniform,"_glGetAttachedShaders":_glGetAttachedShaders,"_glGetAttribLocation":_glGetAttribLocation,"_glGetBooleanv":_glGetBooleanv,"_glGetBufferParameteriv":_glGetBufferParameteriv,"_glGetError":_glGetError,"_glGetFloatv":_glGetFloatv,"_glGetFramebufferAttachmentParameteriv":_glGetFramebufferAttachmentParameteriv,"_glGetIntegerv":_glGetIntegerv,"_glGetProgramInfoLog":_glGetProgramInfoLog,"_glGetProgramiv":_glGetProgramiv,"_glGetQueryObjecti64vEXT":_glGetQueryObjecti64vEXT,"_glGetQueryObjectivEXT":_glGetQueryObjectivEXT,"_glGetQueryObjectui64vEXT":_glGetQueryObjectui64vEXT,"_glGetQueryObjectuivEXT":_glGetQueryObjectuivEXT,"_glGetQueryivEXT":_glGetQueryivEXT,"_glGetRenderbufferParameteriv":_glGetRenderbufferParameteriv,"_glGetShaderInfoLog":_glGetShaderInfoLog,"_glGetShaderPrecisionFormat":_glGetShaderPrecisionFormat,"_glGetShaderSource":_glGetShaderSource,"_glGetShaderiv":_glGetShaderiv,"_glGetString":_glGetString,"_glGetTexParameterfv":_glGetTexParameterfv,"_glGetTexParameteriv":_glGetTexParameteriv,"_glGetUniformLocation":_glGetUniformLocation,"_glGetUniformfv":_glGetUniformfv,"_glGetUniformiv":_glGetUniformiv,"_glGetVertexAttribPointerv":_glGetVertexAttribPointerv,"_glGetVertexAttribfv":_glGetVertexAttribfv,"_glGetVertexAttribiv":_glGetVertexAttribiv,"_glHint":_glHint,"_glIsBuffer":_glIsBuffer,"_glIsEnabled":_glIsEnabled,"_glIsFramebuffer":_glIsFramebuffer,"_glIsProgram":_glIsProgram,"_glIsQueryEXT":_glIsQueryEXT,"_glIsRenderbuffer":_glIsRenderbuffer,"_glIsShader":_glIsShader,"_glIsTexture":_glIsTexture,"_glIsVertexArray":_glIsVertexArray,"_glIsVertexArrayOES":_glIsVertexArrayOES,"_glLineWidth":_glLineWidth,"_glLinkProgram":_glLinkProgram,"_glLoadIdentity":_glLoadIdentity,"_glMatrixMode":_glMatrixMode,"_glOrtho":_glOrtho,"_glPixelStorei":_glPixelStorei,"_glPolygonOffset":_glPolygonOffset,"_glQueryCounterEXT":_glQueryCounterEXT,"_glReadPixels":_glReadPixels,"_glReleaseShaderCompiler":_glReleaseShaderCompiler,"_glRenderbufferStorage":_glRenderbufferStorage,"_glSampleCoverage":_glSampleCoverage,"_glScissor":_glScissor,"_glShaderBinary":_glShaderBinary,"_glShaderSource":_glShaderSource,"_glStencilFunc":_glStencilFunc,"_glStencilFuncSeparate":_glStencilFuncSeparate,"_glStencilMask":_glStencilMask,"_glStencilMaskSeparate":_glStencilMaskSeparate,"_glStencilOp":_glStencilOp,"_glStencilOpSeparate":_glStencilOpSeparate,"_glTexImage2D":_glTexImage2D,"_glTexParameterf":_glTexParameterf,"_glTexParameterfv":_glTexParameterfv,"_glTexParameteri":_glTexParameteri,"_glTexParameteriv":_glTexParameteriv,"_glTexSubImage2D":_glTexSubImage2D,"_glUniform1f":_glUniform1f,"_glUniform1fv":_glUniform1fv,"_glUniform1i":_glUniform1i,"_glUniform1iv":_glUniform1iv,"_glUniform2f":_glUniform2f,"_glUniform2fv":_glUniform2fv,"_glUniform2i":_glUniform2i,"_glUniform2iv":_glUniform2iv,"_glUniform3f":_glUniform3f,"_glUniform3fv":_glUniform3fv,"_glUniform3i":_glUniform3i,"_glUniform3iv":_glUniform3iv,"_glUniform4f":_glUniform4f,"_glUniform4fv":_glUniform4fv,"_glUniform4i":_glUniform4i,"_glUniform4iv":_glUniform4iv,"_glUniformMatrix2fv":_glUniformMatrix2fv,"_glUniformMatrix3fv":_glUniformMatrix3fv,"_glUniformMatrix4fv":_glUniformMatrix4fv,"_glUseProgram":_glUseProgram,"_glValidateProgram":_glValidateProgram,"_glVertexAttrib1f":_glVertexAttrib1f,"_glVertexAttrib1fv":_glVertexAttrib1fv,"_glVertexAttrib2f":_glVertexAttrib2f,"_glVertexAttrib2fv":_glVertexAttrib2fv,"_glVertexAttrib3f":_glVertexAttrib3f,"_glVertexAttrib3fv":_glVertexAttrib3fv,"_glVertexAttrib4f":_glVertexAttrib4f,"_glVertexAttrib4fv":_glVertexAttrib4fv,"_glVertexAttribDivisor":_glVertexAttribDivisor,"_glVertexAttribDivisorANGLE":_glVertexAttribDivisorANGLE,"_glVertexAttribDivisorARB":_glVertexAttribDivisorARB,"_glVertexAttribDivisorEXT":_glVertexAttribDivisorEXT,"_glVertexAttribDivisorNV":_glVertexAttribDivisorNV,"_glVertexAttribPointer":_glVertexAttribPointer,"_glVertexPointer":_glVertexPointer,"_glViewport":_glViewport,"_glewGetErrorString":_glewGetErrorString,"_glewGetExtension":_glewGetExtension,"_glewGetString":_glewGetString,"_glewInit":_glewInit,"_glewIsSupported":_glewIsSupported,"_glfwBroadcastCond":_glfwBroadcastCond,"_glfwCloseWindow":_glfwCloseWindow,"_glfwCreateCond":_glfwCreateCond,"_glfwCreateMutex":_glfwCreateMutex,"_glfwCreateThread":_glfwCreateThread,"_glfwDestroyCond":_glfwDestroyCond,"_glfwDestroyMutex":_glfwDestroyMutex,"_glfwDestroyThread":_glfwDestroyThread,"_glfwDisable":_glfwDisable,"_glfwEnable":_glfwEnable,"_glfwExtensionSupported":_glfwExtensionSupported,"_glfwFreeImage":_glfwFreeImage,"_glfwGetDesktopMode":_glfwGetDesktopMode,"_glfwGetGLVersion":_glfwGetGLVersion,"_glfwGetKey":_glfwGetKey,"_glfwGetMouseButton":_glfwGetMouseButton,"_glfwGetMousePos":_glfwGetMousePos,"_glfwGetMouseWheel":_glfwGetMouseWheel,"_glfwGetNumberOfProcessors":_glfwGetNumberOfProcessors,"_glfwGetProcAddress":_glfwGetProcAddress,"_glfwGetThreadID":_glfwGetThreadID,"_glfwGetTime":_glfwGetTime,"_glfwGetVersion":_glfwGetVersion,"_glfwGetWindowParam":_glfwGetWindowParam,"_glfwGetWindowPos":_glfwGetWindowPos,"_glfwGetWindowSize":_glfwGetWindowSize,"_glfwIconifyWindow":_glfwIconifyWindow,"_glfwInit":_glfwInit,"_glfwLoadMemoryTexture2D":_glfwLoadMemoryTexture2D,"_glfwLoadTexture2D":_glfwLoadTexture2D,"_glfwLoadTextureImage2D":_glfwLoadTextureImage2D,"_glfwLockMutex":_glfwLockMutex,"_glfwOpenWindow":_glfwOpenWindow,"_glfwOpenWindowHint":_glfwOpenWindowHint,"_glfwPollEvents":_glfwPollEvents,"_glfwReadImage":_glfwReadImage,"_glfwReadMemoryImage":_glfwReadMemoryImage,"_glfwRestoreWindow":_glfwRestoreWindow,"_glfwSetCharCallback":_glfwSetCharCallback,"_glfwSetKeyCallback":_glfwSetKeyCallback,"_glfwSetMouseButtonCallback":_glfwSetMouseButtonCallback,"_glfwSetMousePos":_glfwSetMousePos,"_glfwSetMousePosCallback":_glfwSetMousePosCallback,"_glfwSetMouseWheel":_glfwSetMouseWheel,"_glfwSetMouseWheelCallback":_glfwSetMouseWheelCallback,"_glfwSetTime":_glfwSetTime,"_glfwSetWindowCloseCallback":_glfwSetWindowCloseCallback,"_glfwSetWindowPos":_glfwSetWindowPos,"_glfwSetWindowRefreshCallback":_glfwSetWindowRefreshCallback,"_glfwSetWindowSize":_glfwSetWindowSize,"_glfwSetWindowSizeCallback":_glfwSetWindowSizeCallback,"_glfwSetWindowTitle":_glfwSetWindowTitle,"_glfwSignalCond":_glfwSignalCond,"_glfwSleep":_glfwSleep,"_glfwSwapBuffers":_glfwSwapBuffers,"_glfwSwapInterval":_glfwSwapInterval,"_glfwTerminate":_glfwTerminate,"_glfwUnlockMutex":_glfwUnlockMutex,"_glfwWaitCond":_glfwWaitCond,"_glfwWaitEvents":_glfwWaitEvents,"_glfwWaitThread":_glfwWaitThread,"_gluLookAt":_gluLookAt,"_gluOrtho2D":_gluOrtho2D,"_gluPerspective":_gluPerspective,"_gluProject":_gluProject,"_gluUnProject":_gluUnProject,"_glutCreateWindow":_glutCreateWindow,"_glutDestroyWindow":_glutDestroyWindow,"_glutDisplayFunc":_glutDisplayFunc,"_glutFullScreen":_glutFullScreen,"_glutGet":_glutGet,"_glutGetModifiers":_glutGetModifiers,"_glutIdleFunc":_glutIdleFunc,"_glutInit":_glutInit,"_glutInitDisplayMode":_glutInitDisplayMode,"_glutInitWindowPosition":_glutInitWindowPosition,"_glutInitWindowSize":_glutInitWindowSize,"_glutKeyboardFunc":_glutKeyboardFunc,"_glutKeyboardUpFunc":_glutKeyboardUpFunc,"_glutMainLoop":_glutMainLoop,"_glutMotionFunc":_glutMotionFunc,"_glutMouseFunc":_glutMouseFunc,"_glutPassiveMotionFunc":_glutPassiveMotionFunc,"_glutPositionWindow":_glutPositionWindow,"_glutPostRedisplay":_glutPostRedisplay,"_glutReshapeFunc":_glutReshapeFunc,"_glutReshapeWindow":_glutReshapeWindow,"_glutSetCursor":_glutSetCursor,"_glutSpecialFunc":_glutSpecialFunc,"_glutSpecialUpFunc":_glutSpecialUpFunc,"_glutSwapBuffers":_glutSwapBuffers,"_glutTimerFunc":_glutTimerFunc,"_gmtime":_gmtime,"_gmtime_r":_gmtime_r,"_gnu_dev_major":_gnu_dev_major,"_gnu_dev_makedev":_gnu_dev_makedev,"_gnu_dev_minor":_gnu_dev_minor,"_hiwire_array":_hiwire_array,"_hiwire_bytes":_hiwire_bytes,"_hiwire_call":_hiwire_call,"_hiwire_call_member":_hiwire_call_member,"_hiwire_copy_to_ptr":_hiwire_copy_to_ptr,"_hiwire_decref":_hiwire_decref,"_hiwire_delete_member_obj":_hiwire_delete_member_obj,"_hiwire_delete_member_string":_hiwire_delete_member_string,"_hiwire_dir":_hiwire_dir,"_hiwire_double":_hiwire_double,"_hiwire_equal":_hiwire_equal,"_hiwire_float32array":_hiwire_float32array,"_hiwire_float64array":_hiwire_float64array,"_hiwire_get_bool":_hiwire_get_bool,"_hiwire_get_byteLength":_hiwire_get_byteLength,"_hiwire_get_byteOffset":_hiwire_get_byteOffset,"_hiwire_get_dtype":_hiwire_get_dtype,"_hiwire_get_global":_hiwire_get_global,"_hiwire_get_iterator":_hiwire_get_iterator,"_hiwire_get_length":_hiwire_get_length,"_hiwire_get_member_int":_hiwire_get_member_int,"_hiwire_get_member_obj":_hiwire_get_member_obj,"_hiwire_get_member_string":_hiwire_get_member_string,"_hiwire_greater_than":_hiwire_greater_than,"_hiwire_greater_than_equal":_hiwire_greater_than_equal,"_hiwire_incref":_hiwire_incref,"_hiwire_int":_hiwire_int,"_hiwire_int16array":_hiwire_int16array,"_hiwire_int32array":_hiwire_int32array,"_hiwire_int8array":_hiwire_int8array,"_hiwire_is_function":_hiwire_is_function,"_hiwire_is_on_wasm_heap":_hiwire_is_on_wasm_heap,"_hiwire_is_typedarray":_hiwire_is_typedarray,"_hiwire_less_than":_hiwire_less_than,"_hiwire_less_than_equal":_hiwire_less_than_equal,"_hiwire_new":_hiwire_new,"_hiwire_next":_hiwire_next,"_hiwire_nonzero":_hiwire_nonzero,"_hiwire_not_equal":_hiwire_not_equal,"_hiwire_object":_hiwire_object,"_hiwire_push_array":_hiwire_push_array,"_hiwire_push_object_pair":_hiwire_push_object_pair,"_hiwire_set_member_int":_hiwire_set_member_int,"_hiwire_set_member_obj":_hiwire_set_member_obj,"_hiwire_set_member_string":_hiwire_set_member_string,"_hiwire_setup":_hiwire_setup,"_hiwire_string_ascii":_hiwire_string_ascii,"_hiwire_string_ucs1":_hiwire_string_ucs1,"_hiwire_string_ucs2":_hiwire_string_ucs2,"_hiwire_string_ucs4":_hiwire_string_ucs4,"_hiwire_string_utf8":_hiwire_string_utf8,"_hiwire_subarray":_hiwire_subarray,"_hiwire_throw_error":_hiwire_throw_error,"_hiwire_to_string":_hiwire_to_string,"_hiwire_typeof":_hiwire_typeof,"_hiwire_uint16array":_hiwire_uint16array,"_hiwire_uint32array":_hiwire_uint32array,"_hiwire_uint8array":_hiwire_uint8array,"_inet_addr":_inet_addr,"_kill":_kill,"_killpg":_killpg,"_lineColor":_lineColor,"_lineRGBA":_lineRGBA,"_llvm_atomic_load_add_i32_p0i32":_llvm_atomic_load_add_i32_p0i32,"_llvm_bswap_i64":_llvm_bswap_i64,"_llvm_ceil_f32":_llvm_ceil_f32,"_llvm_ceil_f64":_llvm_ceil_f64,"_llvm_copysign_f32":_llvm_copysign_f32,"_llvm_copysign_f64":_llvm_copysign_f64,"_llvm_cos_f32":_llvm_cos_f32,"_llvm_cos_f64":_llvm_cos_f64,"_llvm_cttz_i32":_llvm_cttz_i32,"_llvm_cttz_i64":_llvm_cttz_i64,"_llvm_eh_exception":_llvm_eh_exception,"_llvm_eh_selector":_llvm_eh_selector,"_llvm_eh_typeid_for":_llvm_eh_typeid_for,"_llvm_exp2_f32":_llvm_exp2_f32,"_llvm_exp2_f64":_llvm_exp2_f64,"_llvm_exp_f32":_llvm_exp_f32,"_llvm_exp_f64":_llvm_exp_f64,"_llvm_fabs_f32":_llvm_fabs_f32,"_llvm_fabs_f64":_llvm_fabs_f64,"_llvm_floor_f32":_llvm_floor_f32,"_llvm_floor_f64":_llvm_floor_f64,"_llvm_flt_rounds":_llvm_flt_rounds,"_llvm_log10_f32":_llvm_log10_f32,"_llvm_log10_f64":_llvm_log10_f64,"_llvm_log2_f32":_llvm_log2_f32,"_llvm_log2_f64":_llvm_log2_f64,"_llvm_log_f32":_llvm_log_f32,"_llvm_log_f64":_llvm_log_f64,"_llvm_memory_barrier":_llvm_memory_barrier,"_llvm_mono_load_i16_p0i16":_llvm_mono_load_i16_p0i16,"_llvm_mono_load_i32_p0i32":_llvm_mono_load_i32_p0i32,"_llvm_mono_load_i8_p0i8":_llvm_mono_load_i8_p0i8,"_llvm_mono_store_i16_p0i16":_llvm_mono_store_i16_p0i16,"_llvm_mono_store_i32_p0i32":_llvm_mono_store_i32_p0i32,"_llvm_mono_store_i8_p0i8":_llvm_mono_store_i8_p0i8,"_llvm_objectsize_i32":_llvm_objectsize_i32,"_llvm_pow_f32":_llvm_pow_f32,"_llvm_pow_f64":_llvm_pow_f64,"_llvm_powi_f32":_llvm_powi_f32,"_llvm_powi_f64":_llvm_powi_f64,"_llvm_prefetch":_llvm_prefetch,"_llvm_sin_f32":_llvm_sin_f32,"_llvm_sin_f64":_llvm_sin_f64,"_llvm_sqrt_f32":_llvm_sqrt_f32,"_llvm_sqrt_f64":_llvm_sqrt_f64,"_llvm_stackrestore":_llvm_stackrestore,"_llvm_stacksave":_llvm_stacksave,"_llvm_trap":_llvm_trap,"_llvm_trunc_f32":_llvm_trunc_f32,"_llvm_trunc_f64":_llvm_trunc_f64,"_llvm_va_copy":_llvm_va_copy,"_llvm_va_end":_llvm_va_end,"_localtime":_localtime,"_localtime_r":_localtime_r,"_longjmp":_longjmp,"_major":_major,"_makedev":_makedev,"_minor":_minor,"_mktime":_mktime,"_nanosleep":_nanosleep,"_pathconf":_pathconf,"_pixelRGBA":_pixelRGBA,"_posix_spawn":_posix_spawn,"_posix_spawnp":_posix_spawnp,"_pthread_attr_destroy":_pthread_attr_destroy,"_pthread_attr_getstack":_pthread_attr_getstack,"_pthread_attr_init":_pthread_attr_init,"_pthread_attr_setdetachstate":_pthread_attr_setdetachstate,"_pthread_attr_setschedparam":_pthread_attr_setschedparam,"_pthread_attr_setstacksize":_pthread_attr_setstacksize,"_pthread_cancel":_pthread_cancel,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_pthread_cleanup_push":_pthread_cleanup_push,"_pthread_cond_destroy":_pthread_cond_destroy,"_pthread_cond_init":_pthread_cond_init,"_pthread_cond_signal":_pthread_cond_signal,"_pthread_cond_timedwait":_pthread_cond_timedwait,"_pthread_cond_wait":_pthread_cond_wait,"_pthread_condattr_destroy":_pthread_condattr_destroy,"_pthread_condattr_getclock":_pthread_condattr_getclock,"_pthread_condattr_getpshared":_pthread_condattr_getpshared,"_pthread_condattr_init":_pthread_condattr_init,"_pthread_condattr_setclock":_pthread_condattr_setclock,"_pthread_condattr_setpshared":_pthread_condattr_setpshared,"_pthread_create":_pthread_create,"_pthread_detach":_pthread_detach,"_pthread_equal":_pthread_equal,"_pthread_exit":_pthread_exit,"_pthread_getattr_np":_pthread_getattr_np,"_pthread_join":_pthread_join,"_pthread_mutexattr_destroy":_pthread_mutexattr_destroy,"_pthread_mutexattr_init":_pthread_mutexattr_init,"_pthread_mutexattr_setprotocol":_pthread_mutexattr_setprotocol,"_pthread_mutexattr_setpshared":_pthread_mutexattr_setpshared,"_pthread_mutexattr_setschedparam":_pthread_mutexattr_setschedparam,"_pthread_mutexattr_settype":_pthread_mutexattr_settype,"_pthread_rwlock_destroy":_pthread_rwlock_destroy,"_pthread_rwlock_init":_pthread_rwlock_init,"_pthread_rwlock_rdlock":_pthread_rwlock_rdlock,"_pthread_rwlock_timedrdlock":_pthread_rwlock_timedrdlock,"_pthread_rwlock_timedwrlock":_pthread_rwlock_timedwrlock,"_pthread_rwlock_tryrdlock":_pthread_rwlock_tryrdlock,"_pthread_rwlock_trywrlock":_pthread_rwlock_trywrlock,"_pthread_rwlock_unlock":_pthread_rwlock_unlock,"_pthread_rwlock_wrlock":_pthread_rwlock_wrlock,"_pthread_rwlockattr_destroy":_pthread_rwlockattr_destroy,"_pthread_rwlockattr_getpshared":_pthread_rwlockattr_getpshared,"_pthread_rwlockattr_init":_pthread_rwlockattr_init,"_pthread_rwlockattr_setpshared":_pthread_rwlockattr_setpshared,"_pthread_setcancelstate":_pthread_setcancelstate,"_pthread_sigmask":_pthread_sigmask,"_pthread_spin_destroy":_pthread_spin_destroy,"_pthread_spin_init":_pthread_spin_init,"_pthread_spin_lock":_pthread_spin_lock,"_pthread_spin_trylock":_pthread_spin_trylock,"_pthread_spin_unlock":_pthread_spin_unlock,"_putenv":_putenv,"_pyimport_init":_pyimport_init,"_pyproxy_init":_pyproxy_init,"_pyproxy_new":_pyproxy_new,"_raise":_raise,"_rectangleColor":_rectangleColor,"_rectangleRGBA":_rectangleRGBA,"_rotozoomSurface":_rotozoomSurface,"_runpython_finalize_js":_runpython_finalize_js,"_runpython_init_js":_runpython_init_js,"_sched_yield":_sched_yield,"_sem_destroy":_sem_destroy,"_sem_init":_sem_init,"_sem_post":_sem_post,"_sem_trywait":_sem_trywait,"_sem_wait":_sem_wait,"_setTempRet0":_setTempRet0,"_setenv":_setenv,"_setgroups":_setgroups,"_setitimer":_setitimer,"_setprotoent":_setprotoent,"_setpwent":_setpwent,"_sigaction":_sigaction,"_sigaddset":_sigaddset,"_sigdelset":_sigdelset,"_sigemptyset":_sigemptyset,"_sigfillset":_sigfillset,"_siginterrupt":_siginterrupt,"_sigismember":_sigismember,"_siglongjmp":_siglongjmp,"_signal":_signal,"_sigpending":_sigpending,"_sigprocmask":_sigprocmask,"_sqrt":_sqrt,"_sqrtf":_sqrtf,"_sqrtl":_sqrtl,"_stime":_stime,"_strftime":_strftime,"_strftime_l":_strftime_l,"_strptime":_strptime,"_strptime_l":_strptime_l,"_sysconf":_sysconf,"_system":_system,"_terminate":_terminate,"_time":_time,"_timegm":_timegm,"_timelocal":_timelocal,"_times":_times,"_timespec_get":_timespec_get,"_tzset":_tzset,"_unsetenv":_unsetenv,"_usleep":_usleep,"_utime":_utime,"_utimes":_utimes,"_uuid_clear":_uuid_clear,"_uuid_compare":_uuid_compare,"_uuid_copy":_uuid_copy,"_uuid_generate":_uuid_generate,"_uuid_is_null":_uuid_is_null,"_uuid_parse":_uuid_parse,"_uuid_type":_uuid_type,"_uuid_unparse":_uuid_unparse,"_uuid_unparse_lower":_uuid_unparse_lower,"_uuid_unparse_upper":_uuid_unparse_upper,"_uuid_variant":_uuid_variant,"_vfork":_vfork,"_wait":_wait,"_wait3":_wait3,"_wait4":_wait4,"_waitid":_waitid,"_waitpid":_waitpid,"_zoomSurface":_zoomSurface,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"emscriptenWebGLGet":emscriptenWebGLGet,"emscriptenWebGLGetTexPixelData":emscriptenWebGLGetTexPixelData,"emscriptenWebGLGetUniform":emscriptenWebGLGetUniform,"emscriptenWebGLGetVertexAttrib":emscriptenWebGLGetVertexAttrib,"emscripten_realloc_buffer":emscripten_realloc_buffer,"stringToNewUTF8":stringToNewUTF8,"tempDoublePtr":tempDoublePtr,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"gb":gb,"fb":fb};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var _AdjustTree=Module["_AdjustTree"]=function(){return Module["asm"]["_AdjustTree"].apply(null,arguments)};var _BB_compareitems=Module["_BB_compareitems"]=function(){return Module["asm"]["_BB_compareitems"].apply(null,arguments)};var _BB_getitem=Module["_BB_getitem"]=function(){return Module["asm"]["_BB_getitem"].apply(null,arguments)};var _BB_setitem=Module["_BB_setitem"]=function(){return Module["asm"]["_BB_setitem"].apply(null,arguments)};var _BBox_Conic_To=Module["_BBox_Conic_To"]=function(){return Module["asm"]["_BBox_Conic_To"].apply(null,arguments)};var _BBox_Cubic_To=Module["_BBox_Cubic_To"]=function(){return Module["asm"]["_BBox_Cubic_To"].apply(null,arguments)};var _BBox_Line_To=Module["_BBox_Line_To"]=function(){return Module["asm"]["_BBox_Line_To"].apply(null,arguments)};var _BBox_Move_To=Module["_BBox_Move_To"]=function(){return Module["asm"]["_BBox_Move_To"].apply(null,arguments)};var _BDF_Face_Done=Module["_BDF_Face_Done"]=function(){return Module["asm"]["_BDF_Face_Done"].apply(null,arguments)};var _BDF_Face_Init=Module["_BDF_Face_Init"]=function(){return Module["asm"]["_BDF_Face_Init"].apply(null,arguments)};var _BDF_Glyph_Load=Module["_BDF_Glyph_Load"]=function(){return Module["asm"]["_BDF_Glyph_Load"].apply(null,arguments)};var _BDF_Size_Request=Module["_BDF_Size_Request"]=function(){return Module["asm"]["_BDF_Size_Request"].apply(null,arguments)};var _BDF_Size_Select=Module["_BDF_Size_Select"]=function(){return Module["asm"]["_BDF_Size_Select"].apply(null,arguments)};var _BF_crypt=Module["_BF_crypt"]=function(){return Module["asm"]["_BF_crypt"].apply(null,arguments)};var _BF_decode=Module["_BF_decode"]=function(){return Module["asm"]["_BF_decode"].apply(null,arguments)};var _BF_encode=Module["_BF_encode"]=function(){return Module["asm"]["_BF_encode"].apply(null,arguments)};var _BF_encrypt=Module["_BF_encrypt"]=function(){return Module["asm"]["_BF_encrypt"].apply(null,arguments)};var _BF_set_key=Module["_BF_set_key"]=function(){return Module["asm"]["_BF_set_key"].apply(null,arguments)};var _BF_swap=Module["_BF_swap"]=function(){return Module["asm"]["_BF_swap"].apply(null,arguments)};var _BZ2Compressor_dealloc=Module["_BZ2Compressor_dealloc"]=function(){return Module["asm"]["_BZ2Compressor_dealloc"].apply(null,arguments)};var _BZ2Compressor_getstate=Module["_BZ2Compressor_getstate"]=function(){return Module["asm"]["_BZ2Compressor_getstate"].apply(null,arguments)};var _BZ2Decompressor_dealloc=Module["_BZ2Decompressor_dealloc"]=function(){return Module["asm"]["_BZ2Decompressor_dealloc"].apply(null,arguments)};var _BZ2Decompressor_getstate=Module["_BZ2Decompressor_getstate"]=function(){return Module["asm"]["_BZ2Decompressor_getstate"].apply(null,arguments)};var _BZ2_Free=Module["_BZ2_Free"]=function(){return Module["asm"]["_BZ2_Free"].apply(null,arguments)};var _BZ2_Malloc=Module["_BZ2_Malloc"]=function(){return Module["asm"]["_BZ2_Malloc"].apply(null,arguments)};var _BZ2_blockSort=Module["_BZ2_blockSort"]=function(){return Module["asm"]["_BZ2_blockSort"].apply(null,arguments)};var _BZ2_bsInitWrite=Module["_BZ2_bsInitWrite"]=function(){return Module["asm"]["_BZ2_bsInitWrite"].apply(null,arguments)};var _BZ2_bzBuffToBuffCompress=Module["_BZ2_bzBuffToBuffCompress"]=function(){return Module["asm"]["_BZ2_bzBuffToBuffCompress"].apply(null,arguments)};var _BZ2_bzBuffToBuffDecompress=Module["_BZ2_bzBuffToBuffDecompress"]=function(){return Module["asm"]["_BZ2_bzBuffToBuffDecompress"].apply(null,arguments)};var _BZ2_bzCompress=Module["_BZ2_bzCompress"]=function(){return Module["asm"]["_BZ2_bzCompress"].apply(null,arguments)};var _BZ2_bzCompressEnd=Module["_BZ2_bzCompressEnd"]=function(){return Module["asm"]["_BZ2_bzCompressEnd"].apply(null,arguments)};var _BZ2_bzCompressInit=Module["_BZ2_bzCompressInit"]=function(){return Module["asm"]["_BZ2_bzCompressInit"].apply(null,arguments)};var _BZ2_bzDecompress=Module["_BZ2_bzDecompress"]=function(){return Module["asm"]["_BZ2_bzDecompress"].apply(null,arguments)};var _BZ2_bzDecompressEnd=Module["_BZ2_bzDecompressEnd"]=function(){return Module["asm"]["_BZ2_bzDecompressEnd"].apply(null,arguments)};var _BZ2_bzDecompressInit=Module["_BZ2_bzDecompressInit"]=function(){return Module["asm"]["_BZ2_bzDecompressInit"].apply(null,arguments)};var _BZ2_bzRead=Module["_BZ2_bzRead"]=function(){return Module["asm"]["_BZ2_bzRead"].apply(null,arguments)};var _BZ2_bzReadClose=Module["_BZ2_bzReadClose"]=function(){return Module["asm"]["_BZ2_bzReadClose"].apply(null,arguments)};var _BZ2_bzReadGetUnused=Module["_BZ2_bzReadGetUnused"]=function(){return Module["asm"]["_BZ2_bzReadGetUnused"].apply(null,arguments)};var _BZ2_bzReadOpen=Module["_BZ2_bzReadOpen"]=function(){return Module["asm"]["_BZ2_bzReadOpen"].apply(null,arguments)};var _BZ2_bzWrite=Module["_BZ2_bzWrite"]=function(){return Module["asm"]["_BZ2_bzWrite"].apply(null,arguments)};var _BZ2_bzWriteClose=Module["_BZ2_bzWriteClose"]=function(){return Module["asm"]["_BZ2_bzWriteClose"].apply(null,arguments)};var _BZ2_bzWriteClose64=Module["_BZ2_bzWriteClose64"]=function(){return Module["asm"]["_BZ2_bzWriteClose64"].apply(null,arguments)};var _BZ2_bzWriteOpen=Module["_BZ2_bzWriteOpen"]=function(){return Module["asm"]["_BZ2_bzWriteOpen"].apply(null,arguments)};var _BZ2_bz__AssertH__fail=Module["_BZ2_bz__AssertH__fail"]=function(){return Module["asm"]["_BZ2_bz__AssertH__fail"].apply(null,arguments)};var _BZ2_bzclose=Module["_BZ2_bzclose"]=function(){return Module["asm"]["_BZ2_bzclose"].apply(null,arguments)};var _BZ2_bzdopen=Module["_BZ2_bzdopen"]=function(){return Module["asm"]["_BZ2_bzdopen"].apply(null,arguments)};var _BZ2_bzerror=Module["_BZ2_bzerror"]=function(){return Module["asm"]["_BZ2_bzerror"].apply(null,arguments)};var _BZ2_bzflush=Module["_BZ2_bzflush"]=function(){return Module["asm"]["_BZ2_bzflush"].apply(null,arguments)};var _BZ2_bzlibVersion=Module["_BZ2_bzlibVersion"]=function(){return Module["asm"]["_BZ2_bzlibVersion"].apply(null,arguments)};var _BZ2_bzopen=Module["_BZ2_bzopen"]=function(){return Module["asm"]["_BZ2_bzopen"].apply(null,arguments)};var _BZ2_bzread=Module["_BZ2_bzread"]=function(){return Module["asm"]["_BZ2_bzread"].apply(null,arguments)};var _BZ2_bzwrite=Module["_BZ2_bzwrite"]=function(){return Module["asm"]["_BZ2_bzwrite"].apply(null,arguments)};var _BZ2_compressBlock=Module["_BZ2_compressBlock"]=function(){return Module["asm"]["_BZ2_compressBlock"].apply(null,arguments)};var _BZ2_decompress=Module["_BZ2_decompress"]=function(){return Module["asm"]["_BZ2_decompress"].apply(null,arguments)};var _BZ2_hbAssignCodes=Module["_BZ2_hbAssignCodes"]=function(){return Module["asm"]["_BZ2_hbAssignCodes"].apply(null,arguments)};var _BZ2_hbCreateDecodeTables=Module["_BZ2_hbCreateDecodeTables"]=function(){return Module["asm"]["_BZ2_hbCreateDecodeTables"].apply(null,arguments)};var _BZ2_hbMakeCodeLengths=Module["_BZ2_hbMakeCodeLengths"]=function(){return Module["asm"]["_BZ2_hbMakeCodeLengths"].apply(null,arguments)};var _BZ2_indexIntoF=Module["_BZ2_indexIntoF"]=function(){return Module["asm"]["_BZ2_indexIntoF"].apply(null,arguments)};var _BaseException_clear=Module["_BaseException_clear"]=function(){return Module["asm"]["_BaseException_clear"].apply(null,arguments)};var _BaseException_dealloc=Module["_BaseException_dealloc"]=function(){return Module["asm"]["_BaseException_dealloc"].apply(null,arguments)};var _BaseException_get_args=Module["_BaseException_get_args"]=function(){return Module["asm"]["_BaseException_get_args"].apply(null,arguments)};var _BaseException_get_cause=Module["_BaseException_get_cause"]=function(){return Module["asm"]["_BaseException_get_cause"].apply(null,arguments)};var _BaseException_get_context=Module["_BaseException_get_context"]=function(){return Module["asm"]["_BaseException_get_context"].apply(null,arguments)};var _BaseException_get_tb=Module["_BaseException_get_tb"]=function(){return Module["asm"]["_BaseException_get_tb"].apply(null,arguments)};var _BaseException_init=Module["_BaseException_init"]=function(){return Module["asm"]["_BaseException_init"].apply(null,arguments)};var _BaseException_new=Module["_BaseException_new"]=function(){return Module["asm"]["_BaseException_new"].apply(null,arguments)};var _BaseException_reduce=Module["_BaseException_reduce"]=function(){return Module["asm"]["_BaseException_reduce"].apply(null,arguments)};var _BaseException_repr=Module["_BaseException_repr"]=function(){return Module["asm"]["_BaseException_repr"].apply(null,arguments)};var _BaseException_set_args=Module["_BaseException_set_args"]=function(){return Module["asm"]["_BaseException_set_args"].apply(null,arguments)};var _BaseException_set_cause=Module["_BaseException_set_cause"]=function(){return Module["asm"]["_BaseException_set_cause"].apply(null,arguments)};var _BaseException_set_context=Module["_BaseException_set_context"]=function(){return Module["asm"]["_BaseException_set_context"].apply(null,arguments)};var _BaseException_set_tb=Module["_BaseException_set_tb"]=function(){return Module["asm"]["_BaseException_set_tb"].apply(null,arguments)};var _BaseException_setstate=Module["_BaseException_setstate"]=function(){return Module["asm"]["_BaseException_setstate"].apply(null,arguments)};var _BaseException_str=Module["_BaseException_str"]=function(){return Module["asm"]["_BaseException_str"].apply(null,arguments)};var _BaseException_traverse=Module["_BaseException_traverse"]=function(){return Module["asm"]["_BaseException_traverse"].apply(null,arguments)};var _BaseException_with_traceback=Module["_BaseException_with_traceback"]=function(){return Module["asm"]["_BaseException_with_traceback"].apply(null,arguments)};var _Bezier_Up=Module["_Bezier_Up"]=function(){return Module["asm"]["_Bezier_Up"].apply(null,arguments)};var _CallExternalTimer=Module["_CallExternalTimer"]=function(){return Module["asm"]["_CallExternalTimer"].apply(null,arguments)};var _ChooseLeaf=Module["_ChooseLeaf"]=function(){return Module["asm"]["_ChooseLeaf"].apply(null,arguments)};var _Comp_dealloc=Module["_Comp_dealloc"]=function(){return Module["asm"]["_Comp_dealloc"].apply(null,arguments)};var _Compute_Funcs=Module["_Compute_Funcs"]=function(){return Module["asm"]["_Compute_Funcs"].apply(null,arguments)};var _Compute_Point_Displacement=Module["_Compute_Point_Displacement"]=function(){return Module["asm"]["_Compute_Point_Displacement"].apply(null,arguments)};var _Conic_To=Module["_Conic_To"]=function(){return Module["asm"]["_Conic_To"].apply(null,arguments)};var _Cubic_To=Module["_Cubic_To"]=function(){return Module["asm"]["_Cubic_To"].apply(null,arguments)};var _Current_Ppem=Module["_Current_Ppem"]=function(){return Module["asm"]["_Current_Ppem"].apply(null,arguments)};var _Current_Ppem_Stretched=Module["_Current_Ppem_Stretched"]=function(){return Module["asm"]["_Current_Ppem_Stretched"].apply(null,arguments)};var _Decomp_dealloc=Module["_Decomp_dealloc"]=function(){return Module["asm"]["_Decomp_dealloc"].apply(null,arguments)};var _Dialect_dealloc=Module["_Dialect_dealloc"]=function(){return Module["asm"]["_Dialect_dealloc"].apply(null,arguments)};var _Dialect_get_delimiter=Module["_Dialect_get_delimiter"]=function(){return Module["asm"]["_Dialect_get_delimiter"].apply(null,arguments)};var _Dialect_get_escapechar=Module["_Dialect_get_escapechar"]=function(){return Module["asm"]["_Dialect_get_escapechar"].apply(null,arguments)};var _Dialect_get_lineterminator=Module["_Dialect_get_lineterminator"]=function(){return Module["asm"]["_Dialect_get_lineterminator"].apply(null,arguments)};var _Dialect_get_quotechar=Module["_Dialect_get_quotechar"]=function(){return Module["asm"]["_Dialect_get_quotechar"].apply(null,arguments)};var _Dialect_get_quoting=Module["_Dialect_get_quoting"]=function(){return Module["asm"]["_Dialect_get_quoting"].apply(null,arguments)};var _DirEntry_dealloc=Module["_DirEntry_dealloc"]=function(){return Module["asm"]["_DirEntry_dealloc"].apply(null,arguments)};var _DirEntry_fetch_stat=Module["_DirEntry_fetch_stat"]=function(){return Module["asm"]["_DirEntry_fetch_stat"].apply(null,arguments)};var _DirEntry_repr=Module["_DirEntry_repr"]=function(){return Module["asm"]["_DirEntry_repr"].apply(null,arguments)};var _DirEntry_test_mode=Module["_DirEntry_test_mode"]=function(){return Module["asm"]["_DirEntry_test_mode"].apply(null,arguments)};var _Direct_Move=Module["_Direct_Move"]=function(){return Module["asm"]["_Direct_Move"].apply(null,arguments)};var _Direct_Move_Orig=Module["_Direct_Move_Orig"]=function(){return Module["asm"]["_Direct_Move_Orig"].apply(null,arguments)};var _Direct_Move_Orig_X=Module["_Direct_Move_Orig_X"]=function(){return Module["asm"]["_Direct_Move_Orig_X"].apply(null,arguments)};var _Direct_Move_Orig_Y=Module["_Direct_Move_Orig_Y"]=function(){return Module["asm"]["_Direct_Move_Orig_Y"].apply(null,arguments)};var _Direct_Move_X=Module["_Direct_Move_X"]=function(){return Module["asm"]["_Direct_Move_X"].apply(null,arguments)};var _Direct_Move_Y=Module["_Direct_Move_Y"]=function(){return Module["asm"]["_Direct_Move_Y"].apply(null,arguments)};var _Dual_Project=Module["_Dual_Project"]=function(){return Module["asm"]["_Dual_Project"].apply(null,arguments)};var _ExprList_Append=Module["_ExprList_Append"]=function(){return Module["asm"]["_ExprList_Append"].apply(null,arguments)};var _FNT_Face_Done=Module["_FNT_Face_Done"]=function(){return Module["asm"]["_FNT_Face_Done"].apply(null,arguments)};var _FNT_Face_Init=Module["_FNT_Face_Init"]=function(){return Module["asm"]["_FNT_Face_Init"].apply(null,arguments)};var _FNT_Load_Glyph=Module["_FNT_Load_Glyph"]=function(){return Module["asm"]["_FNT_Load_Glyph"].apply(null,arguments)};var _FNT_Size_Request=Module["_FNT_Size_Request"]=function(){return Module["asm"]["_FNT_Size_Request"].apply(null,arguments)};var _FNT_Size_Select=Module["_FNT_Size_Select"]=function(){return Module["asm"]["_FNT_Size_Select"].apply(null,arguments)};var _FTC_CMapCache_Lookup=Module["_FTC_CMapCache_Lookup"]=function(){return Module["asm"]["_FTC_CMapCache_Lookup"].apply(null,arguments)};var _FTC_CMapCache_New=Module["_FTC_CMapCache_New"]=function(){return Module["asm"]["_FTC_CMapCache_New"].apply(null,arguments)};var _FTC_Cache_NewNode=Module["_FTC_Cache_NewNode"]=function(){return Module["asm"]["_FTC_Cache_NewNode"].apply(null,arguments)};var _FTC_GNode_Done=Module["_FTC_GNode_Done"]=function(){return Module["asm"]["_FTC_GNode_Done"].apply(null,arguments)};var _FTC_ImageCache_Lookup=Module["_FTC_ImageCache_Lookup"]=function(){return Module["asm"]["_FTC_ImageCache_Lookup"].apply(null,arguments)};var _FTC_ImageCache_LookupScaler=Module["_FTC_ImageCache_LookupScaler"]=function(){return Module["asm"]["_FTC_ImageCache_LookupScaler"].apply(null,arguments)};var _FTC_ImageCache_New=Module["_FTC_ImageCache_New"]=function(){return Module["asm"]["_FTC_ImageCache_New"].apply(null,arguments)};var _FTC_Manager_Done=Module["_FTC_Manager_Done"]=function(){return Module["asm"]["_FTC_Manager_Done"].apply(null,arguments)};var _FTC_Manager_LookupFace=Module["_FTC_Manager_LookupFace"]=function(){return Module["asm"]["_FTC_Manager_LookupFace"].apply(null,arguments)};var _FTC_Manager_LookupSize=Module["_FTC_Manager_LookupSize"]=function(){return Module["asm"]["_FTC_Manager_LookupSize"].apply(null,arguments)};var _FTC_Manager_New=Module["_FTC_Manager_New"]=function(){return Module["asm"]["_FTC_Manager_New"].apply(null,arguments)};var _FTC_Manager_RemoveFaceID=Module["_FTC_Manager_RemoveFaceID"]=function(){return Module["asm"]["_FTC_Manager_RemoveFaceID"].apply(null,arguments)};var _FTC_Manager_Reset=Module["_FTC_Manager_Reset"]=function(){return Module["asm"]["_FTC_Manager_Reset"].apply(null,arguments)};var _FTC_MruList_New=Module["_FTC_MruList_New"]=function(){return Module["asm"]["_FTC_MruList_New"].apply(null,arguments)};var _FTC_Node_Unref=Module["_FTC_Node_Unref"]=function(){return Module["asm"]["_FTC_Node_Unref"].apply(null,arguments)};var _FTC_SBitCache_Lookup=Module["_FTC_SBitCache_Lookup"]=function(){return Module["asm"]["_FTC_SBitCache_Lookup"].apply(null,arguments)};var _FTC_SBitCache_LookupScaler=Module["_FTC_SBitCache_LookupScaler"]=function(){return Module["asm"]["_FTC_SBitCache_LookupScaler"].apply(null,arguments)};var _FTC_SBitCache_New=Module["_FTC_SBitCache_New"]=function(){return Module["asm"]["_FTC_SBitCache_New"].apply(null,arguments)};var _FT_Activate_Size=Module["_FT_Activate_Size"]=function(){return Module["asm"]["_FT_Activate_Size"].apply(null,arguments)};var _FT_Add_Default_Modules=Module["_FT_Add_Default_Modules"]=function(){return Module["asm"]["_FT_Add_Default_Modules"].apply(null,arguments)};var _FT_Add_Module=Module["_FT_Add_Module"]=function(){return Module["asm"]["_FT_Add_Module"].apply(null,arguments)};var _FT_Angle_Diff=Module["_FT_Angle_Diff"]=function(){return Module["asm"]["_FT_Angle_Diff"].apply(null,arguments)};var _FT_Atan2=Module["_FT_Atan2"]=function(){return Module["asm"]["_FT_Atan2"].apply(null,arguments)};var _FT_Attach_File=Module["_FT_Attach_File"]=function(){return Module["asm"]["_FT_Attach_File"].apply(null,arguments)};var _FT_Attach_Stream=Module["_FT_Attach_Stream"]=function(){return Module["asm"]["_FT_Attach_Stream"].apply(null,arguments)};var _FT_Bitmap_Convert=Module["_FT_Bitmap_Convert"]=function(){return Module["asm"]["_FT_Bitmap_Convert"].apply(null,arguments)};var _FT_Bitmap_Copy=Module["_FT_Bitmap_Copy"]=function(){return Module["asm"]["_FT_Bitmap_Copy"].apply(null,arguments)};var _FT_Bitmap_Done=Module["_FT_Bitmap_Done"]=function(){return Module["asm"]["_FT_Bitmap_Done"].apply(null,arguments)};var _FT_Bitmap_Embolden=Module["_FT_Bitmap_Embolden"]=function(){return Module["asm"]["_FT_Bitmap_Embolden"].apply(null,arguments)};var _FT_Bitmap_Init=Module["_FT_Bitmap_Init"]=function(){return Module["asm"]["_FT_Bitmap_Init"].apply(null,arguments)};var _FT_Bitmap_New=Module["_FT_Bitmap_New"]=function(){return Module["asm"]["_FT_Bitmap_New"].apply(null,arguments)};var _FT_CMap_Done=Module["_FT_CMap_Done"]=function(){return Module["asm"]["_FT_CMap_Done"].apply(null,arguments)};var _FT_CMap_New=Module["_FT_CMap_New"]=function(){return Module["asm"]["_FT_CMap_New"].apply(null,arguments)};var _FT_CeilFix=Module["_FT_CeilFix"]=function(){return Module["asm"]["_FT_CeilFix"].apply(null,arguments)};var _FT_ClassicKern_Free=Module["_FT_ClassicKern_Free"]=function(){return Module["asm"]["_FT_ClassicKern_Free"].apply(null,arguments)};var _FT_ClassicKern_Validate=Module["_FT_ClassicKern_Validate"]=function(){return Module["asm"]["_FT_ClassicKern_Validate"].apply(null,arguments)};var _FT_Cos=Module["_FT_Cos"]=function(){return Module["asm"]["_FT_Cos"].apply(null,arguments)};var _FT_DivFix=Module["_FT_DivFix"]=function(){return Module["asm"]["_FT_DivFix"].apply(null,arguments)};var _FT_Done_Face=Module["_FT_Done_Face"]=function(){return Module["asm"]["_FT_Done_Face"].apply(null,arguments)};var _FT_Done_FreeType=Module["_FT_Done_FreeType"]=function(){return Module["asm"]["_FT_Done_FreeType"].apply(null,arguments)};var _FT_Done_Glyph=Module["_FT_Done_Glyph"]=function(){return Module["asm"]["_FT_Done_Glyph"].apply(null,arguments)};var _FT_Done_GlyphSlot=Module["_FT_Done_GlyphSlot"]=function(){return Module["asm"]["_FT_Done_GlyphSlot"].apply(null,arguments)};var _FT_Done_Library=Module["_FT_Done_Library"]=function(){return Module["asm"]["_FT_Done_Library"].apply(null,arguments)};var _FT_Done_Memory=Module["_FT_Done_Memory"]=function(){return Module["asm"]["_FT_Done_Memory"].apply(null,arguments)};var _FT_Done_Size=Module["_FT_Done_Size"]=function(){return Module["asm"]["_FT_Done_Size"].apply(null,arguments)};var _FT_Face_CheckTrueTypePatents=Module["_FT_Face_CheckTrueTypePatents"]=function(){return Module["asm"]["_FT_Face_CheckTrueTypePatents"].apply(null,arguments)};var _FT_Face_GetCharVariantIndex=Module["_FT_Face_GetCharVariantIndex"]=function(){return Module["asm"]["_FT_Face_GetCharVariantIndex"].apply(null,arguments)};var _FT_Face_GetCharVariantIsDefault=Module["_FT_Face_GetCharVariantIsDefault"]=function(){return Module["asm"]["_FT_Face_GetCharVariantIsDefault"].apply(null,arguments)};var _FT_Face_GetCharsOfVariant=Module["_FT_Face_GetCharsOfVariant"]=function(){return Module["asm"]["_FT_Face_GetCharsOfVariant"].apply(null,arguments)};var _FT_Face_GetVariantSelectors=Module["_FT_Face_GetVariantSelectors"]=function(){return Module["asm"]["_FT_Face_GetVariantSelectors"].apply(null,arguments)};var _FT_Face_GetVariantsOfChar=Module["_FT_Face_GetVariantsOfChar"]=function(){return Module["asm"]["_FT_Face_GetVariantsOfChar"].apply(null,arguments)};var _FT_Face_SetUnpatentedHinting=Module["_FT_Face_SetUnpatentedHinting"]=function(){return Module["asm"]["_FT_Face_SetUnpatentedHinting"].apply(null,arguments)};var _FT_FloorFix=Module["_FT_FloorFix"]=function(){return Module["asm"]["_FT_FloorFix"].apply(null,arguments)};var _FT_Get_Advance=Module["_FT_Get_Advance"]=function(){return Module["asm"]["_FT_Get_Advance"].apply(null,arguments)};var _FT_Get_Advances=Module["_FT_Get_Advances"]=function(){return Module["asm"]["_FT_Get_Advances"].apply(null,arguments)};var _FT_Get_BDF_Charset_ID=Module["_FT_Get_BDF_Charset_ID"]=function(){return Module["asm"]["_FT_Get_BDF_Charset_ID"].apply(null,arguments)};var _FT_Get_BDF_Property=Module["_FT_Get_BDF_Property"]=function(){return Module["asm"]["_FT_Get_BDF_Property"].apply(null,arguments)};var _FT_Get_CID_From_Glyph_Index=Module["_FT_Get_CID_From_Glyph_Index"]=function(){return Module["asm"]["_FT_Get_CID_From_Glyph_Index"].apply(null,arguments)};var _FT_Get_CID_Is_Internally_CID_Keyed=Module["_FT_Get_CID_Is_Internally_CID_Keyed"]=function(){return Module["asm"]["_FT_Get_CID_Is_Internally_CID_Keyed"].apply(null,arguments)};var _FT_Get_CID_Registry_Ordering_Supplement=Module["_FT_Get_CID_Registry_Ordering_Supplement"]=function(){return Module["asm"]["_FT_Get_CID_Registry_Ordering_Supplement"].apply(null,arguments)};var _FT_Get_CMap_Format=Module["_FT_Get_CMap_Format"]=function(){return Module["asm"]["_FT_Get_CMap_Format"].apply(null,arguments)};var _FT_Get_CMap_Language_ID=Module["_FT_Get_CMap_Language_ID"]=function(){return Module["asm"]["_FT_Get_CMap_Language_ID"].apply(null,arguments)};var _FT_Get_Char_Index=Module["_FT_Get_Char_Index"]=function(){return Module["asm"]["_FT_Get_Char_Index"].apply(null,arguments)};var _FT_Get_Charmap_Index=Module["_FT_Get_Charmap_Index"]=function(){return Module["asm"]["_FT_Get_Charmap_Index"].apply(null,arguments)};var _FT_Get_FSType_Flags=Module["_FT_Get_FSType_Flags"]=function(){return Module["asm"]["_FT_Get_FSType_Flags"].apply(null,arguments)};var _FT_Get_First_Char=Module["_FT_Get_First_Char"]=function(){return Module["asm"]["_FT_Get_First_Char"].apply(null,arguments)};var _FT_Get_Font_Format=Module["_FT_Get_Font_Format"]=function(){return Module["asm"]["_FT_Get_Font_Format"].apply(null,arguments)};var _FT_Get_Gasp=Module["_FT_Get_Gasp"]=function(){return Module["asm"]["_FT_Get_Gasp"].apply(null,arguments)};var _FT_Get_Glyph=Module["_FT_Get_Glyph"]=function(){return Module["asm"]["_FT_Get_Glyph"].apply(null,arguments)};var _FT_Get_Glyph_Name=Module["_FT_Get_Glyph_Name"]=function(){return Module["asm"]["_FT_Get_Glyph_Name"].apply(null,arguments)};var _FT_Get_Kerning=Module["_FT_Get_Kerning"]=function(){return Module["asm"]["_FT_Get_Kerning"].apply(null,arguments)};var _FT_Get_MM_Var=Module["_FT_Get_MM_Var"]=function(){return Module["asm"]["_FT_Get_MM_Var"].apply(null,arguments)};var _FT_Get_Module=Module["_FT_Get_Module"]=function(){return Module["asm"]["_FT_Get_Module"].apply(null,arguments)};var _FT_Get_Module_Interface=Module["_FT_Get_Module_Interface"]=function(){return Module["asm"]["_FT_Get_Module_Interface"].apply(null,arguments)};var _FT_Get_Multi_Master=Module["_FT_Get_Multi_Master"]=function(){return Module["asm"]["_FT_Get_Multi_Master"].apply(null,arguments)};var _FT_Get_Name_Index=Module["_FT_Get_Name_Index"]=function(){return Module["asm"]["_FT_Get_Name_Index"].apply(null,arguments)};var _FT_Get_Next_Char=Module["_FT_Get_Next_Char"]=function(){return Module["asm"]["_FT_Get_Next_Char"].apply(null,arguments)};var _FT_Get_PFR_Advance=Module["_FT_Get_PFR_Advance"]=function(){return Module["asm"]["_FT_Get_PFR_Advance"].apply(null,arguments)};var _FT_Get_PFR_Kerning=Module["_FT_Get_PFR_Kerning"]=function(){return Module["asm"]["_FT_Get_PFR_Kerning"].apply(null,arguments)};var _FT_Get_PFR_Metrics=Module["_FT_Get_PFR_Metrics"]=function(){return Module["asm"]["_FT_Get_PFR_Metrics"].apply(null,arguments)};var _FT_Get_PS_Font_Info=Module["_FT_Get_PS_Font_Info"]=function(){return Module["asm"]["_FT_Get_PS_Font_Info"].apply(null,arguments)};var _FT_Get_PS_Font_Private=Module["_FT_Get_PS_Font_Private"]=function(){return Module["asm"]["_FT_Get_PS_Font_Private"].apply(null,arguments)};var _FT_Get_PS_Font_Value=Module["_FT_Get_PS_Font_Value"]=function(){return Module["asm"]["_FT_Get_PS_Font_Value"].apply(null,arguments)};var _FT_Get_Postscript_Name=Module["_FT_Get_Postscript_Name"]=function(){return Module["asm"]["_FT_Get_Postscript_Name"].apply(null,arguments)};var _FT_Get_Renderer=Module["_FT_Get_Renderer"]=function(){return Module["asm"]["_FT_Get_Renderer"].apply(null,arguments)};var _FT_Get_Sfnt_Name=Module["_FT_Get_Sfnt_Name"]=function(){return Module["asm"]["_FT_Get_Sfnt_Name"].apply(null,arguments)};var _FT_Get_Sfnt_Name_Count=Module["_FT_Get_Sfnt_Name_Count"]=function(){return Module["asm"]["_FT_Get_Sfnt_Name_Count"].apply(null,arguments)};var _FT_Get_Sfnt_Table=Module["_FT_Get_Sfnt_Table"]=function(){return Module["asm"]["_FT_Get_Sfnt_Table"].apply(null,arguments)};var _FT_Get_SubGlyph_Info=Module["_FT_Get_SubGlyph_Info"]=function(){return Module["asm"]["_FT_Get_SubGlyph_Info"].apply(null,arguments)};var _FT_Get_Track_Kerning=Module["_FT_Get_Track_Kerning"]=function(){return Module["asm"]["_FT_Get_Track_Kerning"].apply(null,arguments)};var _FT_Get_TrueType_Engine_Type=Module["_FT_Get_TrueType_Engine_Type"]=function(){return Module["asm"]["_FT_Get_TrueType_Engine_Type"].apply(null,arguments)};var _FT_Get_WinFNT_Header=Module["_FT_Get_WinFNT_Header"]=function(){return Module["asm"]["_FT_Get_WinFNT_Header"].apply(null,arguments)};var _FT_Get_X11_Font_Format=Module["_FT_Get_X11_Font_Format"]=function(){return Module["asm"]["_FT_Get_X11_Font_Format"].apply(null,arguments)};var _FT_GlyphLoader_Add=Module["_FT_GlyphLoader_Add"]=function(){return Module["asm"]["_FT_GlyphLoader_Add"].apply(null,arguments)};var _FT_GlyphLoader_CheckPoints=Module["_FT_GlyphLoader_CheckPoints"]=function(){return Module["asm"]["_FT_GlyphLoader_CheckPoints"].apply(null,arguments)};var _FT_GlyphLoader_CheckSubGlyphs=Module["_FT_GlyphLoader_CheckSubGlyphs"]=function(){return Module["asm"]["_FT_GlyphLoader_CheckSubGlyphs"].apply(null,arguments)};var _FT_GlyphLoader_CopyPoints=Module["_FT_GlyphLoader_CopyPoints"]=function(){return Module["asm"]["_FT_GlyphLoader_CopyPoints"].apply(null,arguments)};var _FT_GlyphLoader_CreateExtra=Module["_FT_GlyphLoader_CreateExtra"]=function(){return Module["asm"]["_FT_GlyphLoader_CreateExtra"].apply(null,arguments)};var _FT_GlyphLoader_Done=Module["_FT_GlyphLoader_Done"]=function(){return Module["asm"]["_FT_GlyphLoader_Done"].apply(null,arguments)};var _FT_GlyphLoader_New=Module["_FT_GlyphLoader_New"]=function(){return Module["asm"]["_FT_GlyphLoader_New"].apply(null,arguments)};var _FT_GlyphLoader_Prepare=Module["_FT_GlyphLoader_Prepare"]=function(){return Module["asm"]["_FT_GlyphLoader_Prepare"].apply(null,arguments)};var _FT_GlyphLoader_Reset=Module["_FT_GlyphLoader_Reset"]=function(){return Module["asm"]["_FT_GlyphLoader_Reset"].apply(null,arguments)};var _FT_GlyphLoader_Rewind=Module["_FT_GlyphLoader_Rewind"]=function(){return Module["asm"]["_FT_GlyphLoader_Rewind"].apply(null,arguments)};var _FT_GlyphSlot_Embolden=Module["_FT_GlyphSlot_Embolden"]=function(){return Module["asm"]["_FT_GlyphSlot_Embolden"].apply(null,arguments)};var _FT_GlyphSlot_Oblique=Module["_FT_GlyphSlot_Oblique"]=function(){return Module["asm"]["_FT_GlyphSlot_Oblique"].apply(null,arguments)};var _FT_GlyphSlot_Own_Bitmap=Module["_FT_GlyphSlot_Own_Bitmap"]=function(){return Module["asm"]["_FT_GlyphSlot_Own_Bitmap"].apply(null,arguments)};var _FT_Glyph_Copy=Module["_FT_Glyph_Copy"]=function(){return Module["asm"]["_FT_Glyph_Copy"].apply(null,arguments)};var _FT_Glyph_Get_CBox=Module["_FT_Glyph_Get_CBox"]=function(){return Module["asm"]["_FT_Glyph_Get_CBox"].apply(null,arguments)};var _FT_Glyph_Stroke=Module["_FT_Glyph_Stroke"]=function(){return Module["asm"]["_FT_Glyph_Stroke"].apply(null,arguments)};var _FT_Glyph_StrokeBorder=Module["_FT_Glyph_StrokeBorder"]=function(){return Module["asm"]["_FT_Glyph_StrokeBorder"].apply(null,arguments)};var _FT_Glyph_To_Bitmap=Module["_FT_Glyph_To_Bitmap"]=function(){return Module["asm"]["_FT_Glyph_To_Bitmap"].apply(null,arguments)};var _FT_Glyph_Transform=Module["_FT_Glyph_Transform"]=function(){return Module["asm"]["_FT_Glyph_Transform"].apply(null,arguments)};var _FT_Gzip_Uncompress=Module["_FT_Gzip_Uncompress"]=function(){return Module["asm"]["_FT_Gzip_Uncompress"].apply(null,arguments)};var _FT_Has_PS_Glyph_Names=Module["_FT_Has_PS_Glyph_Names"]=function(){return Module["asm"]["_FT_Has_PS_Glyph_Names"].apply(null,arguments)};var _FT_Hypot=Module["_FT_Hypot"]=function(){return Module["asm"]["_FT_Hypot"].apply(null,arguments)};var _FT_Init_FreeType=Module["_FT_Init_FreeType"]=function(){return Module["asm"]["_FT_Init_FreeType"].apply(null,arguments)};var _FT_Library_SetLcdFilter=Module["_FT_Library_SetLcdFilter"]=function(){return Module["asm"]["_FT_Library_SetLcdFilter"].apply(null,arguments)};var _FT_Library_SetLcdFilterWeights=Module["_FT_Library_SetLcdFilterWeights"]=function(){return Module["asm"]["_FT_Library_SetLcdFilterWeights"].apply(null,arguments)};var _FT_Library_Version=Module["_FT_Library_Version"]=function(){return Module["asm"]["_FT_Library_Version"].apply(null,arguments)};var _FT_List_Add=Module["_FT_List_Add"]=function(){return Module["asm"]["_FT_List_Add"].apply(null,arguments)};var _FT_List_Finalize=Module["_FT_List_Finalize"]=function(){return Module["asm"]["_FT_List_Finalize"].apply(null,arguments)};var _FT_List_Find=Module["_FT_List_Find"]=function(){return Module["asm"]["_FT_List_Find"].apply(null,arguments)};var _FT_List_Insert=Module["_FT_List_Insert"]=function(){return Module["asm"]["_FT_List_Insert"].apply(null,arguments)};var _FT_List_Iterate=Module["_FT_List_Iterate"]=function(){return Module["asm"]["_FT_List_Iterate"].apply(null,arguments)};var _FT_List_Remove=Module["_FT_List_Remove"]=function(){return Module["asm"]["_FT_List_Remove"].apply(null,arguments)};var _FT_List_Up=Module["_FT_List_Up"]=function(){return Module["asm"]["_FT_List_Up"].apply(null,arguments)};var _FT_Load_Char=Module["_FT_Load_Char"]=function(){return Module["asm"]["_FT_Load_Char"].apply(null,arguments)};var _FT_Load_Glyph=Module["_FT_Load_Glyph"]=function(){return Module["asm"]["_FT_Load_Glyph"].apply(null,arguments)};var _FT_Load_Sfnt_Table=Module["_FT_Load_Sfnt_Table"]=function(){return Module["asm"]["_FT_Load_Sfnt_Table"].apply(null,arguments)};var _FT_Lookup_Renderer=Module["_FT_Lookup_Renderer"]=function(){return Module["asm"]["_FT_Lookup_Renderer"].apply(null,arguments)};var _FT_Match_Size=Module["_FT_Match_Size"]=function(){return Module["asm"]["_FT_Match_Size"].apply(null,arguments)};var _FT_Matrix_Invert=Module["_FT_Matrix_Invert"]=function(){return Module["asm"]["_FT_Matrix_Invert"].apply(null,arguments)};var _FT_Matrix_Multiply=Module["_FT_Matrix_Multiply"]=function(){return Module["asm"]["_FT_Matrix_Multiply"].apply(null,arguments)};var _FT_Matrix_Multiply_Scaled=Module["_FT_Matrix_Multiply_Scaled"]=function(){return Module["asm"]["_FT_Matrix_Multiply_Scaled"].apply(null,arguments)};var _FT_MulDiv=Module["_FT_MulDiv"]=function(){return Module["asm"]["_FT_MulDiv"].apply(null,arguments)};var _FT_MulDiv_No_Round=Module["_FT_MulDiv_No_Round"]=function(){return Module["asm"]["_FT_MulDiv_No_Round"].apply(null,arguments)};var _FT_MulFix=Module["_FT_MulFix"]=function(){return Module["asm"]["_FT_MulFix"].apply(null,arguments)};var _FT_New_Face=Module["_FT_New_Face"]=function(){return Module["asm"]["_FT_New_Face"].apply(null,arguments)};var _FT_New_GlyphSlot=Module["_FT_New_GlyphSlot"]=function(){return Module["asm"]["_FT_New_GlyphSlot"].apply(null,arguments)};var _FT_New_Library=Module["_FT_New_Library"]=function(){return Module["asm"]["_FT_New_Library"].apply(null,arguments)};var _FT_New_Memory=Module["_FT_New_Memory"]=function(){return Module["asm"]["_FT_New_Memory"].apply(null,arguments)};var _FT_New_Memory_Face=Module["_FT_New_Memory_Face"]=function(){return Module["asm"]["_FT_New_Memory_Face"].apply(null,arguments)};var _FT_New_Size=Module["_FT_New_Size"]=function(){return Module["asm"]["_FT_New_Size"].apply(null,arguments)};var _FT_OpenType_Free=Module["_FT_OpenType_Free"]=function(){return Module["asm"]["_FT_OpenType_Free"].apply(null,arguments)};var _FT_OpenType_Validate=Module["_FT_OpenType_Validate"]=function(){return Module["asm"]["_FT_OpenType_Validate"].apply(null,arguments)};var _FT_Open_Face=Module["_FT_Open_Face"]=function(){return Module["asm"]["_FT_Open_Face"].apply(null,arguments)};var _FT_Outline_Check=Module["_FT_Outline_Check"]=function(){return Module["asm"]["_FT_Outline_Check"].apply(null,arguments)};var _FT_Outline_Copy=Module["_FT_Outline_Copy"]=function(){return Module["asm"]["_FT_Outline_Copy"].apply(null,arguments)};var _FT_Outline_Decompose=Module["_FT_Outline_Decompose"]=function(){return Module["asm"]["_FT_Outline_Decompose"].apply(null,arguments)};var _FT_Outline_Done=Module["_FT_Outline_Done"]=function(){return Module["asm"]["_FT_Outline_Done"].apply(null,arguments)};var _FT_Outline_Done_Internal=Module["_FT_Outline_Done_Internal"]=function(){return Module["asm"]["_FT_Outline_Done_Internal"].apply(null,arguments)};var _FT_Outline_Embolden=Module["_FT_Outline_Embolden"]=function(){return Module["asm"]["_FT_Outline_Embolden"].apply(null,arguments)};var _FT_Outline_EmboldenXY=Module["_FT_Outline_EmboldenXY"]=function(){return Module["asm"]["_FT_Outline_EmboldenXY"].apply(null,arguments)};var _FT_Outline_GetInsideBorder=Module["_FT_Outline_GetInsideBorder"]=function(){return Module["asm"]["_FT_Outline_GetInsideBorder"].apply(null,arguments)};var _FT_Outline_GetOutsideBorder=Module["_FT_Outline_GetOutsideBorder"]=function(){return Module["asm"]["_FT_Outline_GetOutsideBorder"].apply(null,arguments)};var _FT_Outline_Get_BBox=Module["_FT_Outline_Get_BBox"]=function(){return Module["asm"]["_FT_Outline_Get_BBox"].apply(null,arguments)};var _FT_Outline_Get_Bitmap=Module["_FT_Outline_Get_Bitmap"]=function(){return Module["asm"]["_FT_Outline_Get_Bitmap"].apply(null,arguments)};var _FT_Outline_Get_CBox=Module["_FT_Outline_Get_CBox"]=function(){return Module["asm"]["_FT_Outline_Get_CBox"].apply(null,arguments)};var _FT_Outline_Get_Orientation=Module["_FT_Outline_Get_Orientation"]=function(){return Module["asm"]["_FT_Outline_Get_Orientation"].apply(null,arguments)};var _FT_Outline_New=Module["_FT_Outline_New"]=function(){return Module["asm"]["_FT_Outline_New"].apply(null,arguments)};var _FT_Outline_New_Internal=Module["_FT_Outline_New_Internal"]=function(){return Module["asm"]["_FT_Outline_New_Internal"].apply(null,arguments)};var _FT_Outline_Render=Module["_FT_Outline_Render"]=function(){return Module["asm"]["_FT_Outline_Render"].apply(null,arguments)};var _FT_Outline_Reverse=Module["_FT_Outline_Reverse"]=function(){return Module["asm"]["_FT_Outline_Reverse"].apply(null,arguments)};var _FT_Outline_Transform=Module["_FT_Outline_Transform"]=function(){return Module["asm"]["_FT_Outline_Transform"].apply(null,arguments)};var _FT_Outline_Translate=Module["_FT_Outline_Translate"]=function(){return Module["asm"]["_FT_Outline_Translate"].apply(null,arguments)};var _FT_Property_Get=Module["_FT_Property_Get"]=function(){return Module["asm"]["_FT_Property_Get"].apply(null,arguments)};var _FT_Property_Set=Module["_FT_Property_Set"]=function(){return Module["asm"]["_FT_Property_Set"].apply(null,arguments)};var _FT_Raccess_Get_DataOffsets=Module["_FT_Raccess_Get_DataOffsets"]=function(){return Module["asm"]["_FT_Raccess_Get_DataOffsets"].apply(null,arguments)};var _FT_Raccess_Get_HeaderInfo=Module["_FT_Raccess_Get_HeaderInfo"]=function(){return Module["asm"]["_FT_Raccess_Get_HeaderInfo"].apply(null,arguments)};var _FT_Raccess_Guess=Module["_FT_Raccess_Guess"]=function(){return Module["asm"]["_FT_Raccess_Guess"].apply(null,arguments)};var _FT_Reference_Face=Module["_FT_Reference_Face"]=function(){return Module["asm"]["_FT_Reference_Face"].apply(null,arguments)};var _FT_Reference_Library=Module["_FT_Reference_Library"]=function(){return Module["asm"]["_FT_Reference_Library"].apply(null,arguments)};var _FT_Remove_Module=Module["_FT_Remove_Module"]=function(){return Module["asm"]["_FT_Remove_Module"].apply(null,arguments)};var _FT_Render_Glyph=Module["_FT_Render_Glyph"]=function(){return Module["asm"]["_FT_Render_Glyph"].apply(null,arguments)};var _FT_Render_Glyph_Internal=Module["_FT_Render_Glyph_Internal"]=function(){return Module["asm"]["_FT_Render_Glyph_Internal"].apply(null,arguments)};var _FT_Request_Metrics=Module["_FT_Request_Metrics"]=function(){return Module["asm"]["_FT_Request_Metrics"].apply(null,arguments)};var _FT_Request_Size=Module["_FT_Request_Size"]=function(){return Module["asm"]["_FT_Request_Size"].apply(null,arguments)};var _FT_RoundFix=Module["_FT_RoundFix"]=function(){return Module["asm"]["_FT_RoundFix"].apply(null,arguments)};var _FT_Select_Charmap=Module["_FT_Select_Charmap"]=function(){return Module["asm"]["_FT_Select_Charmap"].apply(null,arguments)};var _FT_Select_Metrics=Module["_FT_Select_Metrics"]=function(){return Module["asm"]["_FT_Select_Metrics"].apply(null,arguments)};var _FT_Select_Size=Module["_FT_Select_Size"]=function(){return Module["asm"]["_FT_Select_Size"].apply(null,arguments)};var _FT_Set_Char_Size=Module["_FT_Set_Char_Size"]=function(){return Module["asm"]["_FT_Set_Char_Size"].apply(null,arguments)};var _FT_Set_Charmap=Module["_FT_Set_Charmap"]=function(){return Module["asm"]["_FT_Set_Charmap"].apply(null,arguments)};var _FT_Set_Debug_Hook=Module["_FT_Set_Debug_Hook"]=function(){return Module["asm"]["_FT_Set_Debug_Hook"].apply(null,arguments)};var _FT_Set_MM_Blend_Coordinates=Module["_FT_Set_MM_Blend_Coordinates"]=function(){return Module["asm"]["_FT_Set_MM_Blend_Coordinates"].apply(null,arguments)};var _FT_Set_MM_Design_Coordinates=Module["_FT_Set_MM_Design_Coordinates"]=function(){return Module["asm"]["_FT_Set_MM_Design_Coordinates"].apply(null,arguments)};var _FT_Set_Pixel_Sizes=Module["_FT_Set_Pixel_Sizes"]=function(){return Module["asm"]["_FT_Set_Pixel_Sizes"].apply(null,arguments)};var _FT_Set_Renderer=Module["_FT_Set_Renderer"]=function(){return Module["asm"]["_FT_Set_Renderer"].apply(null,arguments)};var _FT_Set_Transform=Module["_FT_Set_Transform"]=function(){return Module["asm"]["_FT_Set_Transform"].apply(null,arguments)};var _FT_Set_Var_Blend_Coordinates=Module["_FT_Set_Var_Blend_Coordinates"]=function(){return Module["asm"]["_FT_Set_Var_Blend_Coordinates"].apply(null,arguments)};var _FT_Set_Var_Design_Coordinates=Module["_FT_Set_Var_Design_Coordinates"]=function(){return Module["asm"]["_FT_Set_Var_Design_Coordinates"].apply(null,arguments)};var _FT_Sfnt_Table_Info=Module["_FT_Sfnt_Table_Info"]=function(){return Module["asm"]["_FT_Sfnt_Table_Info"].apply(null,arguments)};var _FT_Sin=Module["_FT_Sin"]=function(){return Module["asm"]["_FT_Sin"].apply(null,arguments)};var _FT_Stream_Close=Module["_FT_Stream_Close"]=function(){return Module["asm"]["_FT_Stream_Close"].apply(null,arguments)};var _FT_Stream_EnterFrame=Module["_FT_Stream_EnterFrame"]=function(){return Module["asm"]["_FT_Stream_EnterFrame"].apply(null,arguments)};var _FT_Stream_ExitFrame=Module["_FT_Stream_ExitFrame"]=function(){return Module["asm"]["_FT_Stream_ExitFrame"].apply(null,arguments)};var _FT_Stream_ExtractFrame=Module["_FT_Stream_ExtractFrame"]=function(){return Module["asm"]["_FT_Stream_ExtractFrame"].apply(null,arguments)};var _FT_Stream_Free=Module["_FT_Stream_Free"]=function(){return Module["asm"]["_FT_Stream_Free"].apply(null,arguments)};var _FT_Stream_GetChar=Module["_FT_Stream_GetChar"]=function(){return Module["asm"]["_FT_Stream_GetChar"].apply(null,arguments)};var _FT_Stream_GetULong=Module["_FT_Stream_GetULong"]=function(){return Module["asm"]["_FT_Stream_GetULong"].apply(null,arguments)};var _FT_Stream_GetULongLE=Module["_FT_Stream_GetULongLE"]=function(){return Module["asm"]["_FT_Stream_GetULongLE"].apply(null,arguments)};var _FT_Stream_GetUOffset=Module["_FT_Stream_GetUOffset"]=function(){return Module["asm"]["_FT_Stream_GetUOffset"].apply(null,arguments)};var _FT_Stream_GetUShort=Module["_FT_Stream_GetUShort"]=function(){return Module["asm"]["_FT_Stream_GetUShort"].apply(null,arguments)};var _FT_Stream_GetUShortLE=Module["_FT_Stream_GetUShortLE"]=function(){return Module["asm"]["_FT_Stream_GetUShortLE"].apply(null,arguments)};var _FT_Stream_New=Module["_FT_Stream_New"]=function(){return Module["asm"]["_FT_Stream_New"].apply(null,arguments)};var _FT_Stream_Open=Module["_FT_Stream_Open"]=function(){return Module["asm"]["_FT_Stream_Open"].apply(null,arguments)};var _FT_Stream_OpenBzip2=Module["_FT_Stream_OpenBzip2"]=function(){return Module["asm"]["_FT_Stream_OpenBzip2"].apply(null,arguments)};var _FT_Stream_OpenGzip=Module["_FT_Stream_OpenGzip"]=function(){return Module["asm"]["_FT_Stream_OpenGzip"].apply(null,arguments)};var _FT_Stream_OpenLZW=Module["_FT_Stream_OpenLZW"]=function(){return Module["asm"]["_FT_Stream_OpenLZW"].apply(null,arguments)};var _FT_Stream_OpenMemory=Module["_FT_Stream_OpenMemory"]=function(){return Module["asm"]["_FT_Stream_OpenMemory"].apply(null,arguments)};var _FT_Stream_Pos=Module["_FT_Stream_Pos"]=function(){return Module["asm"]["_FT_Stream_Pos"].apply(null,arguments)};var _FT_Stream_Read=Module["_FT_Stream_Read"]=function(){return Module["asm"]["_FT_Stream_Read"].apply(null,arguments)};var _FT_Stream_ReadAt=Module["_FT_Stream_ReadAt"]=function(){return Module["asm"]["_FT_Stream_ReadAt"].apply(null,arguments)};var _FT_Stream_ReadChar=Module["_FT_Stream_ReadChar"]=function(){return Module["asm"]["_FT_Stream_ReadChar"].apply(null,arguments)};var _FT_Stream_ReadFields=Module["_FT_Stream_ReadFields"]=function(){return Module["asm"]["_FT_Stream_ReadFields"].apply(null,arguments)};var _FT_Stream_ReadULong=Module["_FT_Stream_ReadULong"]=function(){return Module["asm"]["_FT_Stream_ReadULong"].apply(null,arguments)};var _FT_Stream_ReadULongLE=Module["_FT_Stream_ReadULongLE"]=function(){return Module["asm"]["_FT_Stream_ReadULongLE"].apply(null,arguments)};var _FT_Stream_ReadUOffset=Module["_FT_Stream_ReadUOffset"]=function(){return Module["asm"]["_FT_Stream_ReadUOffset"].apply(null,arguments)};var _FT_Stream_ReadUShort=Module["_FT_Stream_ReadUShort"]=function(){return Module["asm"]["_FT_Stream_ReadUShort"].apply(null,arguments)};var _FT_Stream_ReadUShortLE=Module["_FT_Stream_ReadUShortLE"]=function(){return Module["asm"]["_FT_Stream_ReadUShortLE"].apply(null,arguments)};var _FT_Stream_ReleaseFrame=Module["_FT_Stream_ReleaseFrame"]=function(){return Module["asm"]["_FT_Stream_ReleaseFrame"].apply(null,arguments)};var _FT_Stream_Seek=Module["_FT_Stream_Seek"]=function(){return Module["asm"]["_FT_Stream_Seek"].apply(null,arguments)};var _FT_Stream_Skip=Module["_FT_Stream_Skip"]=function(){return Module["asm"]["_FT_Stream_Skip"].apply(null,arguments)};var _FT_Stream_TryRead=Module["_FT_Stream_TryRead"]=function(){return Module["asm"]["_FT_Stream_TryRead"].apply(null,arguments)};var _FT_Stroker_BeginSubPath=Module["_FT_Stroker_BeginSubPath"]=function(){return Module["asm"]["_FT_Stroker_BeginSubPath"].apply(null,arguments)};var _FT_Stroker_ConicTo=Module["_FT_Stroker_ConicTo"]=function(){return Module["asm"]["_FT_Stroker_ConicTo"].apply(null,arguments)};var _FT_Stroker_CubicTo=Module["_FT_Stroker_CubicTo"]=function(){return Module["asm"]["_FT_Stroker_CubicTo"].apply(null,arguments)};var _FT_Stroker_Done=Module["_FT_Stroker_Done"]=function(){return Module["asm"]["_FT_Stroker_Done"].apply(null,arguments)};var _FT_Stroker_EndSubPath=Module["_FT_Stroker_EndSubPath"]=function(){return Module["asm"]["_FT_Stroker_EndSubPath"].apply(null,arguments)};var _FT_Stroker_Export=Module["_FT_Stroker_Export"]=function(){return Module["asm"]["_FT_Stroker_Export"].apply(null,arguments)};var _FT_Stroker_ExportBorder=Module["_FT_Stroker_ExportBorder"]=function(){return Module["asm"]["_FT_Stroker_ExportBorder"].apply(null,arguments)};var _FT_Stroker_GetBorderCounts=Module["_FT_Stroker_GetBorderCounts"]=function(){return Module["asm"]["_FT_Stroker_GetBorderCounts"].apply(null,arguments)};var _FT_Stroker_GetCounts=Module["_FT_Stroker_GetCounts"]=function(){return Module["asm"]["_FT_Stroker_GetCounts"].apply(null,arguments)};var _FT_Stroker_LineTo=Module["_FT_Stroker_LineTo"]=function(){return Module["asm"]["_FT_Stroker_LineTo"].apply(null,arguments)};var _FT_Stroker_New=Module["_FT_Stroker_New"]=function(){return Module["asm"]["_FT_Stroker_New"].apply(null,arguments)};var _FT_Stroker_ParseOutline=Module["_FT_Stroker_ParseOutline"]=function(){return Module["asm"]["_FT_Stroker_ParseOutline"].apply(null,arguments)};var _FT_Stroker_Rewind=Module["_FT_Stroker_Rewind"]=function(){return Module["asm"]["_FT_Stroker_Rewind"].apply(null,arguments)};var _FT_Stroker_Set=Module["_FT_Stroker_Set"]=function(){return Module["asm"]["_FT_Stroker_Set"].apply(null,arguments)};var _FT_Tan=Module["_FT_Tan"]=function(){return Module["asm"]["_FT_Tan"].apply(null,arguments)};var _FT_Trace_Get_Count=Module["_FT_Trace_Get_Count"]=function(){return Module["asm"]["_FT_Trace_Get_Count"].apply(null,arguments)};var _FT_Trace_Get_Name=Module["_FT_Trace_Get_Name"]=function(){return Module["asm"]["_FT_Trace_Get_Name"].apply(null,arguments)};var _FT_TrueTypeGX_Free=Module["_FT_TrueTypeGX_Free"]=function(){return Module["asm"]["_FT_TrueTypeGX_Free"].apply(null,arguments)};var _FT_TrueTypeGX_Validate=Module["_FT_TrueTypeGX_Validate"]=function(){return Module["asm"]["_FT_TrueTypeGX_Validate"].apply(null,arguments)};var _FT_Vector_From_Polar=Module["_FT_Vector_From_Polar"]=function(){return Module["asm"]["_FT_Vector_From_Polar"].apply(null,arguments)};var _FT_Vector_Length=Module["_FT_Vector_Length"]=function(){return Module["asm"]["_FT_Vector_Length"].apply(null,arguments)};var _FT_Vector_Polarize=Module["_FT_Vector_Polarize"]=function(){return Module["asm"]["_FT_Vector_Polarize"].apply(null,arguments)};var _FT_Vector_Rotate=Module["_FT_Vector_Rotate"]=function(){return Module["asm"]["_FT_Vector_Rotate"].apply(null,arguments)};var _FT_Vector_Transform=Module["_FT_Vector_Transform"]=function(){return Module["asm"]["_FT_Vector_Transform"].apply(null,arguments)};var _FT_Vector_Transform_Scaled=Module["_FT_Vector_Transform_Scaled"]=function(){return Module["asm"]["_FT_Vector_Transform_Scaled"].apply(null,arguments)};var _FT_Vector_Unit=Module["_FT_Vector_Unit"]=function(){return Module["asm"]["_FT_Vector_Unit"].apply(null,arguments)};var _FieldNameIterator_next=Module["_FieldNameIterator_next"]=function(){return Module["asm"]["_FieldNameIterator_next"].apply(null,arguments)};var _FstringParser_ConcatFstring=Module["_FstringParser_ConcatFstring"]=function(){return Module["asm"]["_FstringParser_ConcatFstring"].apply(null,arguments)};var _FstringParser_Finish=Module["_FstringParser_Finish"]=function(){return Module["asm"]["_FstringParser_Finish"].apply(null,arguments)};var _Get_Interface=Module["_Get_Interface"]=function(){return Module["asm"]["_Get_Interface"].apply(null,arguments)};var _Get_Kerning=Module["_Get_Kerning"]=function(){return Module["asm"]["_Get_Kerning"].apply(null,arguments)};var _HH_compareitems=Module["_HH_compareitems"]=function(){return Module["asm"]["_HH_compareitems"].apply(null,arguments)};var _HH_getitem=Module["_HH_getitem"]=function(){return Module["asm"]["_HH_getitem"].apply(null,arguments)};var _HH_setitem=Module["_HH_setitem"]=function(){return Module["asm"]["_HH_setitem"].apply(null,arguments)};var _Horizontal_Sweep_Drop=Module["_Horizontal_Sweep_Drop"]=function(){return Module["asm"]["_Horizontal_Sweep_Drop"].apply(null,arguments)};var _Horizontal_Sweep_Init=Module["_Horizontal_Sweep_Init"]=function(){return Module["asm"]["_Horizontal_Sweep_Init"].apply(null,arguments)};var _Horizontal_Sweep_Span=Module["_Horizontal_Sweep_Span"]=function(){return Module["asm"]["_Horizontal_Sweep_Span"].apply(null,arguments)};var _Horizontal_Sweep_Step=Module["_Horizontal_Sweep_Step"]=function(){return Module["asm"]["_Horizontal_Sweep_Step"].apply(null,arguments)};var _II_compareitems=Module["_II_compareitems"]=function(){return Module["asm"]["_II_compareitems"].apply(null,arguments)};var _II_getitem=Module["_II_getitem"]=function(){return Module["asm"]["_II_getitem"].apply(null,arguments)};var _II_setitem=Module["_II_setitem"]=function(){return Module["asm"]["_II_setitem"].apply(null,arguments)};var _ImportError_clear=Module["_ImportError_clear"]=function(){return Module["asm"]["_ImportError_clear"].apply(null,arguments)};var _ImportError_dealloc=Module["_ImportError_dealloc"]=function(){return Module["asm"]["_ImportError_dealloc"].apply(null,arguments)};var _ImportError_init=Module["_ImportError_init"]=function(){return Module["asm"]["_ImportError_init"].apply(null,arguments)};var _ImportError_reduce=Module["_ImportError_reduce"]=function(){return Module["asm"]["_ImportError_reduce"].apply(null,arguments)};var _ImportError_str=Module["_ImportError_str"]=function(){return Module["asm"]["_ImportError_str"].apply(null,arguments)};var _ImportError_traverse=Module["_ImportError_traverse"]=function(){return Module["asm"]["_ImportError_traverse"].apply(null,arguments)};var _Ins_DELTAP=Module["_Ins_DELTAP"]=function(){return Module["asm"]["_Ins_DELTAP"].apply(null,arguments)};var _IsMacBinary=Module["_IsMacBinary"]=function(){return Module["asm"]["_IsMacBinary"].apply(null,arguments)};var _IsMacResource=Module["_IsMacResource"]=function(){return Module["asm"]["_IsMacResource"].apply(null,arguments)};var _JsBoundMethod_Call=Module["_JsBoundMethod_Call"]=function(){return Module["asm"]["_JsBoundMethod_Call"].apply(null,arguments)};var _JsBoundMethod_dealloc=Module["_JsBoundMethod_dealloc"]=function(){return Module["asm"]["_JsBoundMethod_dealloc"].apply(null,arguments)};var _JsImport_Dir=Module["_JsImport_Dir"]=function(){return Module["asm"]["_JsImport_Dir"].apply(null,arguments)};var _JsImport_GetAttr=Module["_JsImport_GetAttr"]=function(){return Module["asm"]["_JsImport_GetAttr"].apply(null,arguments)};var _JsImport_init=Module["_JsImport_init"]=function(){return Module["asm"]["_JsImport_init"].apply(null,arguments)};var _JsProxy_AsJs=Module["_JsProxy_AsJs"]=function(){return Module["asm"]["_JsProxy_AsJs"].apply(null,arguments)};var _JsProxy_Bool=Module["_JsProxy_Bool"]=function(){return Module["asm"]["_JsProxy_Bool"].apply(null,arguments)};var _JsProxy_Call=Module["_JsProxy_Call"]=function(){return Module["asm"]["_JsProxy_Call"].apply(null,arguments)};var _JsProxy_Check=Module["_JsProxy_Check"]=function(){return Module["asm"]["_JsProxy_Check"].apply(null,arguments)};var _JsProxy_Dir=Module["_JsProxy_Dir"]=function(){return Module["asm"]["_JsProxy_Dir"].apply(null,arguments)};var _JsProxy_GetAttr=Module["_JsProxy_GetAttr"]=function(){return Module["asm"]["_JsProxy_GetAttr"].apply(null,arguments)};var _JsProxy_GetBuffer=Module["_JsProxy_GetBuffer"]=function(){return Module["asm"]["_JsProxy_GetBuffer"].apply(null,arguments)};var _JsProxy_GetIter=Module["_JsProxy_GetIter"]=function(){return Module["asm"]["_JsProxy_GetIter"].apply(null,arguments)};var _JsProxy_HasBytes=Module["_JsProxy_HasBytes"]=function(){return Module["asm"]["_JsProxy_HasBytes"].apply(null,arguments)};var _JsProxy_IterNext=Module["_JsProxy_IterNext"]=function(){return Module["asm"]["_JsProxy_IterNext"].apply(null,arguments)};var _JsProxy_New=Module["_JsProxy_New"]=function(){return Module["asm"]["_JsProxy_New"].apply(null,arguments)};var _JsProxy_Repr=Module["_JsProxy_Repr"]=function(){return Module["asm"]["_JsProxy_Repr"].apply(null,arguments)};var _JsProxy_RichCompare=Module["_JsProxy_RichCompare"]=function(){return Module["asm"]["_JsProxy_RichCompare"].apply(null,arguments)};var _JsProxy_SetAttr=Module["_JsProxy_SetAttr"]=function(){return Module["asm"]["_JsProxy_SetAttr"].apply(null,arguments)};var _JsProxy_ass_subscript=Module["_JsProxy_ass_subscript"]=function(){return Module["asm"]["_JsProxy_ass_subscript"].apply(null,arguments)};var _JsProxy_cnew=Module["_JsProxy_cnew"]=function(){return Module["asm"]["_JsProxy_cnew"].apply(null,arguments)};var _JsProxy_dealloc=Module["_JsProxy_dealloc"]=function(){return Module["asm"]["_JsProxy_dealloc"].apply(null,arguments)};var _JsProxy_init=Module["_JsProxy_init"]=function(){return Module["asm"]["_JsProxy_init"].apply(null,arguments)};var _JsProxy_length=Module["_JsProxy_length"]=function(){return Module["asm"]["_JsProxy_length"].apply(null,arguments)};var _JsProxy_subscript=Module["_JsProxy_subscript"]=function(){return Module["asm"]["_JsProxy_subscript"].apply(null,arguments)};var _KeyError_str=Module["_KeyError_str"]=function(){return Module["asm"]["_KeyError_str"].apply(null,arguments)};var _LL_compareitems=Module["_LL_compareitems"]=function(){return Module["asm"]["_LL_compareitems"].apply(null,arguments)};var _LL_getitem=Module["_LL_getitem"]=function(){return Module["asm"]["_LL_getitem"].apply(null,arguments)};var _LL_setitem=Module["_LL_setitem"]=function(){return Module["asm"]["_LL_setitem"].apply(null,arguments)};var _LZ4F_compressBegin=Module["_LZ4F_compressBegin"]=function(){return Module["asm"]["_LZ4F_compressBegin"].apply(null,arguments)};var _LZ4F_compressBegin_usingCDict=Module["_LZ4F_compressBegin_usingCDict"]=function(){return Module["asm"]["_LZ4F_compressBegin_usingCDict"].apply(null,arguments)};var _LZ4F_compressBlock=Module["_LZ4F_compressBlock"]=function(){return Module["asm"]["_LZ4F_compressBlock"].apply(null,arguments)};var _LZ4F_compressBlockHC=Module["_LZ4F_compressBlockHC"]=function(){return Module["asm"]["_LZ4F_compressBlockHC"].apply(null,arguments)};var _LZ4F_compressBlockHC_continue=Module["_LZ4F_compressBlockHC_continue"]=function(){return Module["asm"]["_LZ4F_compressBlockHC_continue"].apply(null,arguments)};var _LZ4F_compressBlock_continue=Module["_LZ4F_compressBlock_continue"]=function(){return Module["asm"]["_LZ4F_compressBlock_continue"].apply(null,arguments)};var _LZ4F_compressBound=Module["_LZ4F_compressBound"]=function(){return Module["asm"]["_LZ4F_compressBound"].apply(null,arguments)};var _LZ4F_compressBound_internal=Module["_LZ4F_compressBound_internal"]=function(){return Module["asm"]["_LZ4F_compressBound_internal"].apply(null,arguments)};var _LZ4F_compressEnd=Module["_LZ4F_compressEnd"]=function(){return Module["asm"]["_LZ4F_compressEnd"].apply(null,arguments)};var _LZ4F_compressFrame=Module["_LZ4F_compressFrame"]=function(){return Module["asm"]["_LZ4F_compressFrame"].apply(null,arguments)};var _LZ4F_compressFrameBound=Module["_LZ4F_compressFrameBound"]=function(){return Module["asm"]["_LZ4F_compressFrameBound"].apply(null,arguments)};var _LZ4F_compressFrame_usingCDict=Module["_LZ4F_compressFrame_usingCDict"]=function(){return Module["asm"]["_LZ4F_compressFrame_usingCDict"].apply(null,arguments)};var _LZ4F_compressUpdate=Module["_LZ4F_compressUpdate"]=function(){return Module["asm"]["_LZ4F_compressUpdate"].apply(null,arguments)};var _LZ4F_compressionLevel_max=Module["_LZ4F_compressionLevel_max"]=function(){return Module["asm"]["_LZ4F_compressionLevel_max"].apply(null,arguments)};var _LZ4F_createCDict=Module["_LZ4F_createCDict"]=function(){return Module["asm"]["_LZ4F_createCDict"].apply(null,arguments)};var _LZ4F_createCompressionContext=Module["_LZ4F_createCompressionContext"]=function(){return Module["asm"]["_LZ4F_createCompressionContext"].apply(null,arguments)};var _LZ4F_createDecompressionContext=Module["_LZ4F_createDecompressionContext"]=function(){return Module["asm"]["_LZ4F_createDecompressionContext"].apply(null,arguments)};var _LZ4F_decodeHeader=Module["_LZ4F_decodeHeader"]=function(){return Module["asm"]["_LZ4F_decodeHeader"].apply(null,arguments)};var _LZ4F_decompress=Module["_LZ4F_decompress"]=function(){return Module["asm"]["_LZ4F_decompress"].apply(null,arguments)};var _LZ4F_decompress_usingDict=Module["_LZ4F_decompress_usingDict"]=function(){return Module["asm"]["_LZ4F_decompress_usingDict"].apply(null,arguments)};var _LZ4F_flush=Module["_LZ4F_flush"]=function(){return Module["asm"]["_LZ4F_flush"].apply(null,arguments)};var _LZ4F_freeCDict=Module["_LZ4F_freeCDict"]=function(){return Module["asm"]["_LZ4F_freeCDict"].apply(null,arguments)};var _LZ4F_freeCompressionContext=Module["_LZ4F_freeCompressionContext"]=function(){return Module["asm"]["_LZ4F_freeCompressionContext"].apply(null,arguments)};var _LZ4F_freeDecompressionContext=Module["_LZ4F_freeDecompressionContext"]=function(){return Module["asm"]["_LZ4F_freeDecompressionContext"].apply(null,arguments)};var _LZ4F_getBlockSize=Module["_LZ4F_getBlockSize"]=function(){return Module["asm"]["_LZ4F_getBlockSize"].apply(null,arguments)};var _LZ4F_getErrorCode=Module["_LZ4F_getErrorCode"]=function(){return Module["asm"]["_LZ4F_getErrorCode"].apply(null,arguments)};var _LZ4F_getErrorName=Module["_LZ4F_getErrorName"]=function(){return Module["asm"]["_LZ4F_getErrorName"].apply(null,arguments)};var _LZ4F_getFrameInfo=Module["_LZ4F_getFrameInfo"]=function(){return Module["asm"]["_LZ4F_getFrameInfo"].apply(null,arguments)};var _LZ4F_getVersion=Module["_LZ4F_getVersion"]=function(){return Module["asm"]["_LZ4F_getVersion"].apply(null,arguments)};var _LZ4F_headerChecksum=Module["_LZ4F_headerChecksum"]=function(){return Module["asm"]["_LZ4F_headerChecksum"].apply(null,arguments)};var _LZ4F_headerSize=Module["_LZ4F_headerSize"]=function(){return Module["asm"]["_LZ4F_headerSize"].apply(null,arguments)};var _LZ4F_initStream=Module["_LZ4F_initStream"]=function(){return Module["asm"]["_LZ4F_initStream"].apply(null,arguments)};var _LZ4F_isError=Module["_LZ4F_isError"]=function(){return Module["asm"]["_LZ4F_isError"].apply(null,arguments)};var _LZ4F_localSaveDict=Module["_LZ4F_localSaveDict"]=function(){return Module["asm"]["_LZ4F_localSaveDict"].apply(null,arguments)};var _LZ4F_makeBlock=Module["_LZ4F_makeBlock"]=function(){return Module["asm"]["_LZ4F_makeBlock"].apply(null,arguments)};var _LZ4F_optimalBSID=Module["_LZ4F_optimalBSID"]=function(){return Module["asm"]["_LZ4F_optimalBSID"].apply(null,arguments)};var _LZ4F_readLE32=Module["_LZ4F_readLE32"]=function(){return Module["asm"]["_LZ4F_readLE32"].apply(null,arguments)};var _LZ4F_readLE64=Module["_LZ4F_readLE64"]=function(){return Module["asm"]["_LZ4F_readLE64"].apply(null,arguments)};var _LZ4F_resetDecompressionContext=Module["_LZ4F_resetDecompressionContext"]=function(){return Module["asm"]["_LZ4F_resetDecompressionContext"].apply(null,arguments)};var _LZ4F_selectCompression=Module["_LZ4F_selectCompression"]=function(){return Module["asm"]["_LZ4F_selectCompression"].apply(null,arguments)};var _LZ4F_updateDict=Module["_LZ4F_updateDict"]=function(){return Module["asm"]["_LZ4F_updateDict"].apply(null,arguments)};var _LZ4F_writeLE32=Module["_LZ4F_writeLE32"]=function(){return Module["asm"]["_LZ4F_writeLE32"].apply(null,arguments)};var _LZ4F_writeLE64=Module["_LZ4F_writeLE64"]=function(){return Module["asm"]["_LZ4F_writeLE64"].apply(null,arguments)};var _LZ4HC_clearTables=Module["_LZ4HC_clearTables"]=function(){return Module["asm"]["_LZ4HC_clearTables"].apply(null,arguments)};var _LZ4HC_compress_generic=Module["_LZ4HC_compress_generic"]=function(){return Module["asm"]["_LZ4HC_compress_generic"].apply(null,arguments)};var _LZ4HC_compress_generic_dictCtx=Module["_LZ4HC_compress_generic_dictCtx"]=function(){return Module["asm"]["_LZ4HC_compress_generic_dictCtx"].apply(null,arguments)};var _LZ4HC_compress_generic_noDictCtx=Module["_LZ4HC_compress_generic_noDictCtx"]=function(){return Module["asm"]["_LZ4HC_compress_generic_noDictCtx"].apply(null,arguments)};var _LZ4HC_compress_optimal=Module["_LZ4HC_compress_optimal"]=function(){return Module["asm"]["_LZ4HC_compress_optimal"].apply(null,arguments)};var _LZ4HC_countPattern=Module["_LZ4HC_countPattern"]=function(){return Module["asm"]["_LZ4HC_countPattern"].apply(null,arguments)};var _LZ4HC_hashPtr=Module["_LZ4HC_hashPtr"]=function(){return Module["asm"]["_LZ4HC_hashPtr"].apply(null,arguments)};var _LZ4HC_init=Module["_LZ4HC_init"]=function(){return Module["asm"]["_LZ4HC_init"].apply(null,arguments)};var _LZ4HC_reverseCountPattern=Module["_LZ4HC_reverseCountPattern"]=function(){return Module["asm"]["_LZ4HC_reverseCountPattern"].apply(null,arguments)};var _LZ4HC_setExternalDict=Module["_LZ4HC_setExternalDict"]=function(){return Module["asm"]["_LZ4HC_setExternalDict"].apply(null,arguments)};var _LZ4_NbCommonBytes=Module["_LZ4_NbCommonBytes"]=function(){return Module["asm"]["_LZ4_NbCommonBytes"].apply(null,arguments)};var _LZ4_NbCommonBytes_12364=Module["_LZ4_NbCommonBytes_12364"]=function(){return Module["asm"]["_LZ4_NbCommonBytes_12364"].apply(null,arguments)};var _LZ4_XXH32=Module["_LZ4_XXH32"]=function(){return Module["asm"]["_LZ4_XXH32"].apply(null,arguments)};var _LZ4_XXH32_canonicalFromHash=Module["_LZ4_XXH32_canonicalFromHash"]=function(){return Module["asm"]["_LZ4_XXH32_canonicalFromHash"].apply(null,arguments)};var _LZ4_XXH32_copyState=Module["_LZ4_XXH32_copyState"]=function(){return Module["asm"]["_LZ4_XXH32_copyState"].apply(null,arguments)};var _LZ4_XXH32_createState=Module["_LZ4_XXH32_createState"]=function(){return Module["asm"]["_LZ4_XXH32_createState"].apply(null,arguments)};var _LZ4_XXH32_digest=Module["_LZ4_XXH32_digest"]=function(){return Module["asm"]["_LZ4_XXH32_digest"].apply(null,arguments)};var _LZ4_XXH32_freeState=Module["_LZ4_XXH32_freeState"]=function(){return Module["asm"]["_LZ4_XXH32_freeState"].apply(null,arguments)};var _LZ4_XXH32_hashFromCanonical=Module["_LZ4_XXH32_hashFromCanonical"]=function(){return Module["asm"]["_LZ4_XXH32_hashFromCanonical"].apply(null,arguments)};var _LZ4_XXH32_reset=Module["_LZ4_XXH32_reset"]=function(){return Module["asm"]["_LZ4_XXH32_reset"].apply(null,arguments)};var _LZ4_XXH32_update=Module["_LZ4_XXH32_update"]=function(){return Module["asm"]["_LZ4_XXH32_update"].apply(null,arguments)};var _LZ4_XXH64=Module["_LZ4_XXH64"]=function(){return Module["asm"]["_LZ4_XXH64"].apply(null,arguments)};var _LZ4_XXH64_canonicalFromHash=Module["_LZ4_XXH64_canonicalFromHash"]=function(){return Module["asm"]["_LZ4_XXH64_canonicalFromHash"].apply(null,arguments)};var _LZ4_XXH64_copyState=Module["_LZ4_XXH64_copyState"]=function(){return Module["asm"]["_LZ4_XXH64_copyState"].apply(null,arguments)};var _LZ4_XXH64_createState=Module["_LZ4_XXH64_createState"]=function(){return Module["asm"]["_LZ4_XXH64_createState"].apply(null,arguments)};var _LZ4_XXH64_digest=Module["_LZ4_XXH64_digest"]=function(){return Module["asm"]["_LZ4_XXH64_digest"].apply(null,arguments)};var _LZ4_XXH64_freeState=Module["_LZ4_XXH64_freeState"]=function(){return Module["asm"]["_LZ4_XXH64_freeState"].apply(null,arguments)};var _LZ4_XXH64_hashFromCanonical=Module["_LZ4_XXH64_hashFromCanonical"]=function(){return Module["asm"]["_LZ4_XXH64_hashFromCanonical"].apply(null,arguments)};var _LZ4_XXH64_reset=Module["_LZ4_XXH64_reset"]=function(){return Module["asm"]["_LZ4_XXH64_reset"].apply(null,arguments)};var _LZ4_XXH64_update=Module["_LZ4_XXH64_update"]=function(){return Module["asm"]["_LZ4_XXH64_update"].apply(null,arguments)};var _LZ4_XXH_versionNumber=Module["_LZ4_XXH_versionNumber"]=function(){return Module["asm"]["_LZ4_XXH_versionNumber"].apply(null,arguments)};var _LZ4_attach_HC_dictionary=Module["_LZ4_attach_HC_dictionary"]=function(){return Module["asm"]["_LZ4_attach_HC_dictionary"].apply(null,arguments)};var _LZ4_attach_dictionary=Module["_LZ4_attach_dictionary"]=function(){return Module["asm"]["_LZ4_attach_dictionary"].apply(null,arguments)};var _LZ4_compress=Module["_LZ4_compress"]=function(){return Module["asm"]["_LZ4_compress"].apply(null,arguments)};var _LZ4_compressBound=Module["_LZ4_compressBound"]=function(){return Module["asm"]["_LZ4_compressBound"].apply(null,arguments)};var _LZ4_compressHC=Module["_LZ4_compressHC"]=function(){return Module["asm"]["_LZ4_compressHC"].apply(null,arguments)};var _LZ4_compressHC2=Module["_LZ4_compressHC2"]=function(){return Module["asm"]["_LZ4_compressHC2"].apply(null,arguments)};var _LZ4_compressHC2_continue=Module["_LZ4_compressHC2_continue"]=function(){return Module["asm"]["_LZ4_compressHC2_continue"].apply(null,arguments)};var _LZ4_compressHC2_limitedOutput=Module["_LZ4_compressHC2_limitedOutput"]=function(){return Module["asm"]["_LZ4_compressHC2_limitedOutput"].apply(null,arguments)};var _LZ4_compressHC2_limitedOutput_continue=Module["_LZ4_compressHC2_limitedOutput_continue"]=function(){return Module["asm"]["_LZ4_compressHC2_limitedOutput_continue"].apply(null,arguments)};var _LZ4_compressHC2_limitedOutput_withStateHC=Module["_LZ4_compressHC2_limitedOutput_withStateHC"]=function(){return Module["asm"]["_LZ4_compressHC2_limitedOutput_withStateHC"].apply(null,arguments)};var _LZ4_compressHC2_withStateHC=Module["_LZ4_compressHC2_withStateHC"]=function(){return Module["asm"]["_LZ4_compressHC2_withStateHC"].apply(null,arguments)};var _LZ4_compressHC_continue=Module["_LZ4_compressHC_continue"]=function(){return Module["asm"]["_LZ4_compressHC_continue"].apply(null,arguments)};var _LZ4_compressHC_continue_generic=Module["_LZ4_compressHC_continue_generic"]=function(){return Module["asm"]["_LZ4_compressHC_continue_generic"].apply(null,arguments)};var _LZ4_compressHC_limitedOutput=Module["_LZ4_compressHC_limitedOutput"]=function(){return Module["asm"]["_LZ4_compressHC_limitedOutput"].apply(null,arguments)};var _LZ4_compressHC_limitedOutput_continue=Module["_LZ4_compressHC_limitedOutput_continue"]=function(){return Module["asm"]["_LZ4_compressHC_limitedOutput_continue"].apply(null,arguments)};var _LZ4_compressHC_limitedOutput_withStateHC=Module["_LZ4_compressHC_limitedOutput_withStateHC"]=function(){return Module["asm"]["_LZ4_compressHC_limitedOutput_withStateHC"].apply(null,arguments)};var _LZ4_compressHC_withStateHC=Module["_LZ4_compressHC_withStateHC"]=function(){return Module["asm"]["_LZ4_compressHC_withStateHC"].apply(null,arguments)};var _LZ4_compress_HC=Module["_LZ4_compress_HC"]=function(){return Module["asm"]["_LZ4_compress_HC"].apply(null,arguments)};var _LZ4_compress_HC_continue=Module["_LZ4_compress_HC_continue"]=function(){return Module["asm"]["_LZ4_compress_HC_continue"].apply(null,arguments)};var _LZ4_compress_HC_continue_destSize=Module["_LZ4_compress_HC_continue_destSize"]=function(){return Module["asm"]["_LZ4_compress_HC_continue_destSize"].apply(null,arguments)};var _LZ4_compress_HC_destSize=Module["_LZ4_compress_HC_destSize"]=function(){return Module["asm"]["_LZ4_compress_HC_destSize"].apply(null,arguments)};var _LZ4_compress_HC_extStateHC=Module["_LZ4_compress_HC_extStateHC"]=function(){return Module["asm"]["_LZ4_compress_HC_extStateHC"].apply(null,arguments)};var _LZ4_compress_HC_extStateHC_fastReset=Module["_LZ4_compress_HC_extStateHC_fastReset"]=function(){return Module["asm"]["_LZ4_compress_HC_extStateHC_fastReset"].apply(null,arguments)};var _LZ4_compress_continue=Module["_LZ4_compress_continue"]=function(){return Module["asm"]["_LZ4_compress_continue"].apply(null,arguments)};var _LZ4_compress_default=Module["_LZ4_compress_default"]=function(){return Module["asm"]["_LZ4_compress_default"].apply(null,arguments)};var _LZ4_compress_destSize=Module["_LZ4_compress_destSize"]=function(){return Module["asm"]["_LZ4_compress_destSize"].apply(null,arguments)};var _LZ4_compress_destSize_extState=Module["_LZ4_compress_destSize_extState"]=function(){return Module["asm"]["_LZ4_compress_destSize_extState"].apply(null,arguments)};var _LZ4_compress_fast=Module["_LZ4_compress_fast"]=function(){return Module["asm"]["_LZ4_compress_fast"].apply(null,arguments)};var _LZ4_compress_fast_continue=Module["_LZ4_compress_fast_continue"]=function(){return Module["asm"]["_LZ4_compress_fast_continue"].apply(null,arguments)};var _LZ4_compress_fast_extState=Module["_LZ4_compress_fast_extState"]=function(){return Module["asm"]["_LZ4_compress_fast_extState"].apply(null,arguments)};var _LZ4_compress_fast_extState_fastReset=Module["_LZ4_compress_fast_extState_fastReset"]=function(){return Module["asm"]["_LZ4_compress_fast_extState_fastReset"].apply(null,arguments)};var _LZ4_compress_fast_force=Module["_LZ4_compress_fast_force"]=function(){return Module["asm"]["_LZ4_compress_fast_force"].apply(null,arguments)};var _LZ4_compress_forceExtDict=Module["_LZ4_compress_forceExtDict"]=function(){return Module["asm"]["_LZ4_compress_forceExtDict"].apply(null,arguments)};var _LZ4_compress_limitedOutput=Module["_LZ4_compress_limitedOutput"]=function(){return Module["asm"]["_LZ4_compress_limitedOutput"].apply(null,arguments)};var _LZ4_compress_limitedOutput_continue=Module["_LZ4_compress_limitedOutput_continue"]=function(){return Module["asm"]["_LZ4_compress_limitedOutput_continue"].apply(null,arguments)};var _LZ4_compress_limitedOutput_withState=Module["_LZ4_compress_limitedOutput_withState"]=function(){return Module["asm"]["_LZ4_compress_limitedOutput_withState"].apply(null,arguments)};var _LZ4_compress_withState=Module["_LZ4_compress_withState"]=function(){return Module["asm"]["_LZ4_compress_withState"].apply(null,arguments)};var _LZ4_create=Module["_LZ4_create"]=function(){return Module["asm"]["_LZ4_create"].apply(null,arguments)};var _LZ4_createHC=Module["_LZ4_createHC"]=function(){return Module["asm"]["_LZ4_createHC"].apply(null,arguments)};var _LZ4_createStream=Module["_LZ4_createStream"]=function(){return Module["asm"]["_LZ4_createStream"].apply(null,arguments)};var _LZ4_createStreamDecode=Module["_LZ4_createStreamDecode"]=function(){return Module["asm"]["_LZ4_createStreamDecode"].apply(null,arguments)};var _LZ4_createStreamHC=Module["_LZ4_createStreamHC"]=function(){return Module["asm"]["_LZ4_createStreamHC"].apply(null,arguments)};var _LZ4_decoderRingBufferSize=Module["_LZ4_decoderRingBufferSize"]=function(){return Module["asm"]["_LZ4_decoderRingBufferSize"].apply(null,arguments)};var _LZ4_decompress_fast=Module["_LZ4_decompress_fast"]=function(){return Module["asm"]["_LZ4_decompress_fast"].apply(null,arguments)};var _LZ4_decompress_fast_continue=Module["_LZ4_decompress_fast_continue"]=function(){return Module["asm"]["_LZ4_decompress_fast_continue"].apply(null,arguments)};var _LZ4_decompress_fast_extDict=Module["_LZ4_decompress_fast_extDict"]=function(){return Module["asm"]["_LZ4_decompress_fast_extDict"].apply(null,arguments)};var _LZ4_decompress_fast_usingDict=Module["_LZ4_decompress_fast_usingDict"]=function(){return Module["asm"]["_LZ4_decompress_fast_usingDict"].apply(null,arguments)};var _LZ4_decompress_fast_withPrefix64k=Module["_LZ4_decompress_fast_withPrefix64k"]=function(){return Module["asm"]["_LZ4_decompress_fast_withPrefix64k"].apply(null,arguments)};var _LZ4_decompress_safe=Module["_LZ4_decompress_safe"]=function(){return Module["asm"]["_LZ4_decompress_safe"].apply(null,arguments)};var _LZ4_decompress_safe_continue=Module["_LZ4_decompress_safe_continue"]=function(){return Module["asm"]["_LZ4_decompress_safe_continue"].apply(null,arguments)};var _LZ4_decompress_safe_forceExtDict=Module["_LZ4_decompress_safe_forceExtDict"]=function(){return Module["asm"]["_LZ4_decompress_safe_forceExtDict"].apply(null,arguments)};var _LZ4_decompress_safe_partial=Module["_LZ4_decompress_safe_partial"]=function(){return Module["asm"]["_LZ4_decompress_safe_partial"].apply(null,arguments)};var _LZ4_decompress_safe_usingDict=Module["_LZ4_decompress_safe_usingDict"]=function(){return Module["asm"]["_LZ4_decompress_safe_usingDict"].apply(null,arguments)};var _LZ4_decompress_safe_withPrefix64k=Module["_LZ4_decompress_safe_withPrefix64k"]=function(){return Module["asm"]["_LZ4_decompress_safe_withPrefix64k"].apply(null,arguments)};var _LZ4_decompress_safe_withSmallPrefix=Module["_LZ4_decompress_safe_withSmallPrefix"]=function(){return Module["asm"]["_LZ4_decompress_safe_withSmallPrefix"].apply(null,arguments)};var _LZ4_favorDecompressionSpeed=Module["_LZ4_favorDecompressionSpeed"]=function(){return Module["asm"]["_LZ4_favorDecompressionSpeed"].apply(null,arguments)};var _LZ4_freeHC=Module["_LZ4_freeHC"]=function(){return Module["asm"]["_LZ4_freeHC"].apply(null,arguments)};var _LZ4_freeStream=Module["_LZ4_freeStream"]=function(){return Module["asm"]["_LZ4_freeStream"].apply(null,arguments)};var _LZ4_freeStreamDecode=Module["_LZ4_freeStreamDecode"]=function(){return Module["asm"]["_LZ4_freeStreamDecode"].apply(null,arguments)};var _LZ4_freeStreamHC=Module["_LZ4_freeStreamHC"]=function(){return Module["asm"]["_LZ4_freeStreamHC"].apply(null,arguments)};var _LZ4_getIndexOnHash=Module["_LZ4_getIndexOnHash"]=function(){return Module["asm"]["_LZ4_getIndexOnHash"].apply(null,arguments)};var _LZ4_getPositionOnHash=Module["_LZ4_getPositionOnHash"]=function(){return Module["asm"]["_LZ4_getPositionOnHash"].apply(null,arguments)};var _LZ4_hash4=Module["_LZ4_hash4"]=function(){return Module["asm"]["_LZ4_hash4"].apply(null,arguments)};var _LZ4_isLittleEndian=Module["_LZ4_isLittleEndian"]=function(){return Module["asm"]["_LZ4_isLittleEndian"].apply(null,arguments)};var _LZ4_isLittleEndian_12367=Module["_LZ4_isLittleEndian_12367"]=function(){return Module["asm"]["_LZ4_isLittleEndian_12367"].apply(null,arguments)};var _LZ4_loadDict=Module["_LZ4_loadDict"]=function(){return Module["asm"]["_LZ4_loadDict"].apply(null,arguments)};var _LZ4_loadDictHC=Module["_LZ4_loadDictHC"]=function(){return Module["asm"]["_LZ4_loadDictHC"].apply(null,arguments)};var _LZ4_putIndexOnHash=Module["_LZ4_putIndexOnHash"]=function(){return Module["asm"]["_LZ4_putIndexOnHash"].apply(null,arguments)};var _LZ4_putPositionOnHash=Module["_LZ4_putPositionOnHash"]=function(){return Module["asm"]["_LZ4_putPositionOnHash"].apply(null,arguments)};var _LZ4_read16=Module["_LZ4_read16"]=function(){return Module["asm"]["_LZ4_read16"].apply(null,arguments)};var _LZ4_read16_12362=Module["_LZ4_read16_12362"]=function(){return Module["asm"]["_LZ4_read16_12362"].apply(null,arguments)};var _LZ4_read32=Module["_LZ4_read32"]=function(){return Module["asm"]["_LZ4_read32"].apply(null,arguments)};var _LZ4_read32_12361=Module["_LZ4_read32_12361"]=function(){return Module["asm"]["_LZ4_read32_12361"].apply(null,arguments)};var _LZ4_readLE16=Module["_LZ4_readLE16"]=function(){return Module["asm"]["_LZ4_readLE16"].apply(null,arguments)};var _LZ4_read_ARCH=Module["_LZ4_read_ARCH"]=function(){return Module["asm"]["_LZ4_read_ARCH"].apply(null,arguments)};var _LZ4_read_ARCH_12363=Module["_LZ4_read_ARCH_12363"]=function(){return Module["asm"]["_LZ4_read_ARCH_12363"].apply(null,arguments)};var _LZ4_renormDictT=Module["_LZ4_renormDictT"]=function(){return Module["asm"]["_LZ4_renormDictT"].apply(null,arguments)};var _LZ4_resetStream=Module["_LZ4_resetStream"]=function(){return Module["asm"]["_LZ4_resetStream"].apply(null,arguments)};var _LZ4_resetStreamHC=Module["_LZ4_resetStreamHC"]=function(){return Module["asm"]["_LZ4_resetStreamHC"].apply(null,arguments)};var _LZ4_resetStreamHC_fast=Module["_LZ4_resetStreamHC_fast"]=function(){return Module["asm"]["_LZ4_resetStreamHC_fast"].apply(null,arguments)};var _LZ4_resetStreamState=Module["_LZ4_resetStreamState"]=function(){return Module["asm"]["_LZ4_resetStreamState"].apply(null,arguments)};var _LZ4_resetStreamStateHC=Module["_LZ4_resetStreamStateHC"]=function(){return Module["asm"]["_LZ4_resetStreamStateHC"].apply(null,arguments)};var _LZ4_resetStream_fast=Module["_LZ4_resetStream_fast"]=function(){return Module["asm"]["_LZ4_resetStream_fast"].apply(null,arguments)};var _LZ4_saveDict=Module["_LZ4_saveDict"]=function(){return Module["asm"]["_LZ4_saveDict"].apply(null,arguments)};var _LZ4_saveDictHC=Module["_LZ4_saveDictHC"]=function(){return Module["asm"]["_LZ4_saveDictHC"].apply(null,arguments)};var _LZ4_setCompressionLevel=Module["_LZ4_setCompressionLevel"]=function(){return Module["asm"]["_LZ4_setCompressionLevel"].apply(null,arguments)};var _LZ4_setStreamDecode=Module["_LZ4_setStreamDecode"]=function(){return Module["asm"]["_LZ4_setStreamDecode"].apply(null,arguments)};var _LZ4_sizeofState=Module["_LZ4_sizeofState"]=function(){return Module["asm"]["_LZ4_sizeofState"].apply(null,arguments)};var _LZ4_sizeofStateHC=Module["_LZ4_sizeofStateHC"]=function(){return Module["asm"]["_LZ4_sizeofStateHC"].apply(null,arguments)};var _LZ4_sizeofStreamState=Module["_LZ4_sizeofStreamState"]=function(){return Module["asm"]["_LZ4_sizeofStreamState"].apply(null,arguments)};var _LZ4_sizeofStreamStateHC=Module["_LZ4_sizeofStreamStateHC"]=function(){return Module["asm"]["_LZ4_sizeofStreamStateHC"].apply(null,arguments)};var _LZ4_slideInputBuffer=Module["_LZ4_slideInputBuffer"]=function(){return Module["asm"]["_LZ4_slideInputBuffer"].apply(null,arguments)};var _LZ4_slideInputBufferHC=Module["_LZ4_slideInputBufferHC"]=function(){return Module["asm"]["_LZ4_slideInputBufferHC"].apply(null,arguments)};var _LZ4_uncompress=Module["_LZ4_uncompress"]=function(){return Module["asm"]["_LZ4_uncompress"].apply(null,arguments)};var _LZ4_uncompress_unknownOutputSize=Module["_LZ4_uncompress_unknownOutputSize"]=function(){return Module["asm"]["_LZ4_uncompress_unknownOutputSize"].apply(null,arguments)};var _LZ4_versionNumber=Module["_LZ4_versionNumber"]=function(){return Module["asm"]["_LZ4_versionNumber"].apply(null,arguments)};var _LZ4_versionString=Module["_LZ4_versionString"]=function(){return Module["asm"]["_LZ4_versionString"].apply(null,arguments)};var _LZ4_wildCopy=Module["_LZ4_wildCopy"]=function(){return Module["asm"]["_LZ4_wildCopy"].apply(null,arguments)};var _LZ4_wildCopy_12365=Module["_LZ4_wildCopy_12365"]=function(){return Module["asm"]["_LZ4_wildCopy_12365"].apply(null,arguments)};var _LZ4_write16=Module["_LZ4_write16"]=function(){return Module["asm"]["_LZ4_write16"].apply(null,arguments)};var _LZ4_write16_12368=Module["_LZ4_write16_12368"]=function(){return Module["asm"]["_LZ4_write16_12368"].apply(null,arguments)};var _LZ4_write32=Module["_LZ4_write32"]=function(){return Module["asm"]["_LZ4_write32"].apply(null,arguments)};var _LZ4_writeLE16=Module["_LZ4_writeLE16"]=function(){return Module["asm"]["_LZ4_writeLE16"].apply(null,arguments)};var _LZ4_writeLE16_12366=Module["_LZ4_writeLE16_12366"]=function(){return Module["asm"]["_LZ4_writeLE16_12366"].apply(null,arguments)};var _Line_To=Module["_Line_To"]=function(){return Module["asm"]["_Line_To"].apply(null,arguments)};var _Line_Up=Module["_Line_Up"]=function(){return Module["asm"]["_Line_Up"].apply(null,arguments)};var _MD5Type_copy=Module["_MD5Type_copy"]=function(){return Module["asm"]["_MD5Type_copy"].apply(null,arguments)};var _MD5Type_digest=Module["_MD5Type_digest"]=function(){return Module["asm"]["_MD5Type_digest"].apply(null,arguments)};var _MD5Type_hexdigest=Module["_MD5Type_hexdigest"]=function(){return Module["asm"]["_MD5Type_hexdigest"].apply(null,arguments)};var _MD5Type_update=Module["_MD5Type_update"]=function(){return Module["asm"]["_MD5Type_update"].apply(null,arguments)};var _MD5_dealloc=Module["_MD5_dealloc"]=function(){return Module["asm"]["_MD5_dealloc"].apply(null,arguments)};var _MD5_get_block_size=Module["_MD5_get_block_size"]=function(){return Module["asm"]["_MD5_get_block_size"].apply(null,arguments)};var _MD5_get_name=Module["_MD5_get_name"]=function(){return Module["asm"]["_MD5_get_name"].apply(null,arguments)};var _MarkupIterator_next=Module["_MarkupIterator_next"]=function(){return Module["asm"]["_MarkupIterator_next"].apply(null,arguments)};var _MemoryError_dealloc=Module["_MemoryError_dealloc"]=function(){return Module["asm"]["_MemoryError_dealloc"].apply(null,arguments)};var _MemoryError_new=Module["_MemoryError_new"]=function(){return Module["asm"]["_MemoryError_new"].apply(null,arguments)};var _Move_CVT=Module["_Move_CVT"]=function(){return Module["asm"]["_Move_CVT"].apply(null,arguments)};var _Move_CVT_Stretched=Module["_Move_CVT_Stretched"]=function(){return Module["asm"]["_Move_CVT_Stretched"].apply(null,arguments)};var _NotImplemented_reduce=Module["_NotImplemented_reduce"]=function(){return Module["asm"]["_NotImplemented_reduce"].apply(null,arguments)};var _NotImplemented_repr=Module["_NotImplemented_repr"]=function(){return Module["asm"]["_NotImplemented_repr"].apply(null,arguments)};var _OSError_clear=Module["_OSError_clear"]=function(){return Module["asm"]["_OSError_clear"].apply(null,arguments)};var _OSError_dealloc=Module["_OSError_dealloc"]=function(){return Module["asm"]["_OSError_dealloc"].apply(null,arguments)};var _OSError_init=Module["_OSError_init"]=function(){return Module["asm"]["_OSError_init"].apply(null,arguments)};var _OSError_new=Module["_OSError_new"]=function(){return Module["asm"]["_OSError_new"].apply(null,arguments)};var _OSError_reduce=Module["_OSError_reduce"]=function(){return Module["asm"]["_OSError_reduce"].apply(null,arguments)};var _OSError_str=Module["_OSError_str"]=function(){return Module["asm"]["_OSError_str"].apply(null,arguments)};var _OSError_traverse=Module["_OSError_traverse"]=function(){return Module["asm"]["_OSError_traverse"].apply(null,arguments)};var _OSError_written_get=Module["_OSError_written_get"]=function(){return Module["asm"]["_OSError_written_get"].apply(null,arguments)};var _OSError_written_set=Module["_OSError_written_set"]=function(){return Module["asm"]["_OSError_written_set"].apply(null,arguments)};var _OrderedDict_fromkeys=Module["_OrderedDict_fromkeys"]=function(){return Module["asm"]["_OrderedDict_fromkeys"].apply(null,arguments)};var _OrderedDict_move_to_end=Module["_OrderedDict_move_to_end"]=function(){return Module["asm"]["_OrderedDict_move_to_end"].apply(null,arguments)};var _OrderedDict_popitem=Module["_OrderedDict_popitem"]=function(){return Module["asm"]["_OrderedDict_popitem"].apply(null,arguments)};var _OrderedDict_setdefault=Module["_OrderedDict_setdefault"]=function(){return Module["asm"]["_OrderedDict_setdefault"].apply(null,arguments)};var _PCF_Face_Done=Module["_PCF_Face_Done"]=function(){return Module["asm"]["_PCF_Face_Done"].apply(null,arguments)};var _PCF_Face_Init=Module["_PCF_Face_Init"]=function(){return Module["asm"]["_PCF_Face_Init"].apply(null,arguments)};var _PCF_Glyph_Load=Module["_PCF_Glyph_Load"]=function(){return Module["asm"]["_PCF_Glyph_Load"].apply(null,arguments)};var _PCF_Size_Request=Module["_PCF_Size_Request"]=function(){return Module["asm"]["_PCF_Size_Request"].apply(null,arguments)};var _PCF_Size_Select=Module["_PCF_Size_Select"]=function(){return Module["asm"]["_PCF_Size_Select"].apply(null,arguments)};var _PS_Conv_ASCIIHexDecode=Module["_PS_Conv_ASCIIHexDecode"]=function(){return Module["asm"]["_PS_Conv_ASCIIHexDecode"].apply(null,arguments)};var _PS_Conv_Strtol=Module["_PS_Conv_Strtol"]=function(){return Module["asm"]["_PS_Conv_Strtol"].apply(null,arguments)};var _PS_Conv_ToFixed=Module["_PS_Conv_ToFixed"]=function(){return Module["asm"]["_PS_Conv_ToFixed"].apply(null,arguments)};var _Pdata_dealloc=Module["_Pdata_dealloc"]=function(){return Module["asm"]["_Pdata_dealloc"].apply(null,arguments)};var _PicklerMemoProxy_clear=Module["_PicklerMemoProxy_clear"]=function(){return Module["asm"]["_PicklerMemoProxy_clear"].apply(null,arguments)};var _PicklerMemoProxy_dealloc=Module["_PicklerMemoProxy_dealloc"]=function(){return Module["asm"]["_PicklerMemoProxy_dealloc"].apply(null,arguments)};var _PicklerMemoProxy_traverse=Module["_PicklerMemoProxy_traverse"]=function(){return Module["asm"]["_PicklerMemoProxy_traverse"].apply(null,arguments)};var _Pickler_clear=Module["_Pickler_clear"]=function(){return Module["asm"]["_Pickler_clear"].apply(null,arguments)};var _Pickler_dealloc=Module["_Pickler_dealloc"]=function(){return Module["asm"]["_Pickler_dealloc"].apply(null,arguments)};var _Pickler_get_memo=Module["_Pickler_get_memo"]=function(){return Module["asm"]["_Pickler_get_memo"].apply(null,arguments)};var _Pickler_get_persid=Module["_Pickler_get_persid"]=function(){return Module["asm"]["_Pickler_get_persid"].apply(null,arguments)};var _Pickler_set_memo=Module["_Pickler_set_memo"]=function(){return Module["asm"]["_Pickler_set_memo"].apply(null,arguments)};var _Pickler_set_persid=Module["_Pickler_set_persid"]=function(){return Module["asm"]["_Pickler_set_persid"].apply(null,arguments)};var _Pickler_traverse=Module["_Pickler_traverse"]=function(){return Module["asm"]["_Pickler_traverse"].apply(null,arguments)};var _Project=Module["_Project"]=function(){return Module["asm"]["_Project"].apply(null,arguments)};var _Project_x=Module["_Project_x"]=function(){return Module["asm"]["_Project_x"].apply(null,arguments)};var _Project_y=Module["_Project_y"]=function(){return Module["asm"]["_Project_y"].apply(null,arguments)};var _PyAST_Check=Module["_PyAST_Check"]=function(){return Module["asm"]["_PyAST_Check"].apply(null,arguments)};var _PyAST_Compile=Module["_PyAST_Compile"]=function(){return Module["asm"]["_PyAST_Compile"].apply(null,arguments)};var _PyAST_CompileEx=Module["_PyAST_CompileEx"]=function(){return Module["asm"]["_PyAST_CompileEx"].apply(null,arguments)};var _PyAST_CompileObject=Module["_PyAST_CompileObject"]=function(){return Module["asm"]["_PyAST_CompileObject"].apply(null,arguments)};var _PyAST_FromNode=Module["_PyAST_FromNode"]=function(){return Module["asm"]["_PyAST_FromNode"].apply(null,arguments)};var _PyAST_FromNodeObject=Module["_PyAST_FromNodeObject"]=function(){return Module["asm"]["_PyAST_FromNodeObject"].apply(null,arguments)};var _PyAST_Validate=Module["_PyAST_Validate"]=function(){return Module["asm"]["_PyAST_Validate"].apply(null,arguments)};var _PyAST_mod2obj=Module["_PyAST_mod2obj"]=function(){return Module["asm"]["_PyAST_mod2obj"].apply(null,arguments)};var _PyAST_obj2mod=Module["_PyAST_obj2mod"]=function(){return Module["asm"]["_PyAST_obj2mod"].apply(null,arguments)};var _PyArena_AddPyObject=Module["_PyArena_AddPyObject"]=function(){return Module["asm"]["_PyArena_AddPyObject"].apply(null,arguments)};var _PyArena_Free=Module["_PyArena_Free"]=function(){return Module["asm"]["_PyArena_Free"].apply(null,arguments)};var _PyArena_Malloc=Module["_PyArena_Malloc"]=function(){return Module["asm"]["_PyArena_Malloc"].apply(null,arguments)};var _PyArena_New=Module["_PyArena_New"]=function(){return Module["asm"]["_PyArena_New"].apply(null,arguments)};var _PyArg_Parse=Module["_PyArg_Parse"]=function(){return Module["asm"]["_PyArg_Parse"].apply(null,arguments)};var _PyArg_ParseTuple=Module["_PyArg_ParseTuple"]=function(){return Module["asm"]["_PyArg_ParseTuple"].apply(null,arguments)};var _PyArg_ParseTupleAndKeywords=Module["_PyArg_ParseTupleAndKeywords"]=function(){return Module["asm"]["_PyArg_ParseTupleAndKeywords"].apply(null,arguments)};var _PyArg_UnpackTuple=Module["_PyArg_UnpackTuple"]=function(){return Module["asm"]["_PyArg_UnpackTuple"].apply(null,arguments)};var _PyArg_VaParse=Module["_PyArg_VaParse"]=function(){return Module["asm"]["_PyArg_VaParse"].apply(null,arguments)};var _PyArg_VaParseTupleAndKeywords=Module["_PyArg_VaParseTupleAndKeywords"]=function(){return Module["asm"]["_PyArg_VaParseTupleAndKeywords"].apply(null,arguments)};var _PyArg_ValidateKeywordArguments=Module["_PyArg_ValidateKeywordArguments"]=function(){return Module["asm"]["_PyArg_ValidateKeywordArguments"].apply(null,arguments)};var _PyAsyncGen_ClearFreeLists=Module["_PyAsyncGen_ClearFreeLists"]=function(){return Module["asm"]["_PyAsyncGen_ClearFreeLists"].apply(null,arguments)};var _PyAsyncGen_Fini=Module["_PyAsyncGen_Fini"]=function(){return Module["asm"]["_PyAsyncGen_Fini"].apply(null,arguments)};var _PyAsyncGen_New=Module["_PyAsyncGen_New"]=function(){return Module["asm"]["_PyAsyncGen_New"].apply(null,arguments)};var _PyBlake2_blake2b=Module["_PyBlake2_blake2b"]=function(){return Module["asm"]["_PyBlake2_blake2b"].apply(null,arguments)};var _PyBlake2_blake2b_compress=Module["_PyBlake2_blake2b_compress"]=function(){return Module["asm"]["_PyBlake2_blake2b_compress"].apply(null,arguments)};var _PyBlake2_blake2b_final=Module["_PyBlake2_blake2b_final"]=function(){return Module["asm"]["_PyBlake2_blake2b_final"].apply(null,arguments)};var _PyBlake2_blake2b_init=Module["_PyBlake2_blake2b_init"]=function(){return Module["asm"]["_PyBlake2_blake2b_init"].apply(null,arguments)};var _PyBlake2_blake2b_init_key=Module["_PyBlake2_blake2b_init_key"]=function(){return Module["asm"]["_PyBlake2_blake2b_init_key"].apply(null,arguments)};var _PyBlake2_blake2b_init_param=Module["_PyBlake2_blake2b_init_param"]=function(){return Module["asm"]["_PyBlake2_blake2b_init_param"].apply(null,arguments)};var _PyBlake2_blake2b_update=Module["_PyBlake2_blake2b_update"]=function(){return Module["asm"]["_PyBlake2_blake2b_update"].apply(null,arguments)};var _PyBlake2_blake2s=Module["_PyBlake2_blake2s"]=function(){return Module["asm"]["_PyBlake2_blake2s"].apply(null,arguments)};var _PyBlake2_blake2s_compress=Module["_PyBlake2_blake2s_compress"]=function(){return Module["asm"]["_PyBlake2_blake2s_compress"].apply(null,arguments)};var _PyBlake2_blake2s_final=Module["_PyBlake2_blake2s_final"]=function(){return Module["asm"]["_PyBlake2_blake2s_final"].apply(null,arguments)};var _PyBlake2_blake2s_init=Module["_PyBlake2_blake2s_init"]=function(){return Module["asm"]["_PyBlake2_blake2s_init"].apply(null,arguments)};var _PyBlake2_blake2s_init_key=Module["_PyBlake2_blake2s_init_key"]=function(){return Module["asm"]["_PyBlake2_blake2s_init_key"].apply(null,arguments)};var _PyBlake2_blake2s_init_param=Module["_PyBlake2_blake2s_init_param"]=function(){return Module["asm"]["_PyBlake2_blake2s_init_param"].apply(null,arguments)};var _PyBlake2_blake2s_update=Module["_PyBlake2_blake2s_update"]=function(){return Module["asm"]["_PyBlake2_blake2s_update"].apply(null,arguments)};var _PyBool_FromLong=Module["_PyBool_FromLong"]=function(){return Module["asm"]["_PyBool_FromLong"].apply(null,arguments)};var _PyBuffer_FillContiguousStrides=Module["_PyBuffer_FillContiguousStrides"]=function(){return Module["asm"]["_PyBuffer_FillContiguousStrides"].apply(null,arguments)};var _PyBuffer_FillInfo=Module["_PyBuffer_FillInfo"]=function(){return Module["asm"]["_PyBuffer_FillInfo"].apply(null,arguments)};var _PyBuffer_FromContiguous=Module["_PyBuffer_FromContiguous"]=function(){return Module["asm"]["_PyBuffer_FromContiguous"].apply(null,arguments)};var _PyBuffer_GetPointer=Module["_PyBuffer_GetPointer"]=function(){return Module["asm"]["_PyBuffer_GetPointer"].apply(null,arguments)};var _PyBuffer_IsContiguous=Module["_PyBuffer_IsContiguous"]=function(){return Module["asm"]["_PyBuffer_IsContiguous"].apply(null,arguments)};var _PyBuffer_Release=Module["_PyBuffer_Release"]=function(){return Module["asm"]["_PyBuffer_Release"].apply(null,arguments)};var _PyBuffer_ToContiguous=Module["_PyBuffer_ToContiguous"]=function(){return Module["asm"]["_PyBuffer_ToContiguous"].apply(null,arguments)};var _PyByteArray_AsString=Module["_PyByteArray_AsString"]=function(){return Module["asm"]["_PyByteArray_AsString"].apply(null,arguments)};var _PyByteArray_Concat=Module["_PyByteArray_Concat"]=function(){return Module["asm"]["_PyByteArray_Concat"].apply(null,arguments)};var _PyByteArray_Fini=Module["_PyByteArray_Fini"]=function(){return Module["asm"]["_PyByteArray_Fini"].apply(null,arguments)};var _PyByteArray_FromObject=Module["_PyByteArray_FromObject"]=function(){return Module["asm"]["_PyByteArray_FromObject"].apply(null,arguments)};var _PyByteArray_FromStringAndSize=Module["_PyByteArray_FromStringAndSize"]=function(){return Module["asm"]["_PyByteArray_FromStringAndSize"].apply(null,arguments)};var _PyByteArray_Init=Module["_PyByteArray_Init"]=function(){return Module["asm"]["_PyByteArray_Init"].apply(null,arguments)};var _PyByteArray_Resize=Module["_PyByteArray_Resize"]=function(){return Module["asm"]["_PyByteArray_Resize"].apply(null,arguments)};var _PyByteArray_Size=Module["_PyByteArray_Size"]=function(){return Module["asm"]["_PyByteArray_Size"].apply(null,arguments)};var _PyBytes_AsString=Module["_PyBytes_AsString"]=function(){return Module["asm"]["_PyBytes_AsString"].apply(null,arguments)};var _PyBytes_AsStringAndSize=Module["_PyBytes_AsStringAndSize"]=function(){return Module["asm"]["_PyBytes_AsStringAndSize"].apply(null,arguments)};var _PyBytes_Concat=Module["_PyBytes_Concat"]=function(){return Module["asm"]["_PyBytes_Concat"].apply(null,arguments)};var _PyBytes_ConcatAndDel=Module["_PyBytes_ConcatAndDel"]=function(){return Module["asm"]["_PyBytes_ConcatAndDel"].apply(null,arguments)};var _PyBytes_DecodeEscape=Module["_PyBytes_DecodeEscape"]=function(){return Module["asm"]["_PyBytes_DecodeEscape"].apply(null,arguments)};var _PyBytes_Fini=Module["_PyBytes_Fini"]=function(){return Module["asm"]["_PyBytes_Fini"].apply(null,arguments)};var _PyBytes_FromFormat=Module["_PyBytes_FromFormat"]=function(){return Module["asm"]["_PyBytes_FromFormat"].apply(null,arguments)};var _PyBytes_FromFormatV=Module["_PyBytes_FromFormatV"]=function(){return Module["asm"]["_PyBytes_FromFormatV"].apply(null,arguments)};var _PyBytes_FromObject=Module["_PyBytes_FromObject"]=function(){return Module["asm"]["_PyBytes_FromObject"].apply(null,arguments)};var _PyBytes_FromString=Module["_PyBytes_FromString"]=function(){return Module["asm"]["_PyBytes_FromString"].apply(null,arguments)};var _PyBytes_FromStringAndSize=Module["_PyBytes_FromStringAndSize"]=function(){return Module["asm"]["_PyBytes_FromStringAndSize"].apply(null,arguments)};var _PyBytes_Repr=Module["_PyBytes_Repr"]=function(){return Module["asm"]["_PyBytes_Repr"].apply(null,arguments)};var _PyBytes_Size=Module["_PyBytes_Size"]=function(){return Module["asm"]["_PyBytes_Size"].apply(null,arguments)};var _PyCFunction_Call=Module["_PyCFunction_Call"]=function(){return Module["asm"]["_PyCFunction_Call"].apply(null,arguments)};var _PyCFunction_ClearFreeList=Module["_PyCFunction_ClearFreeList"]=function(){return Module["asm"]["_PyCFunction_ClearFreeList"].apply(null,arguments)};var _PyCFunction_Fini=Module["_PyCFunction_Fini"]=function(){return Module["asm"]["_PyCFunction_Fini"].apply(null,arguments)};var _PyCFunction_GetFlags=Module["_PyCFunction_GetFlags"]=function(){return Module["asm"]["_PyCFunction_GetFlags"].apply(null,arguments)};var _PyCFunction_GetFunction=Module["_PyCFunction_GetFunction"]=function(){return Module["asm"]["_PyCFunction_GetFunction"].apply(null,arguments)};var _PyCFunction_GetSelf=Module["_PyCFunction_GetSelf"]=function(){return Module["asm"]["_PyCFunction_GetSelf"].apply(null,arguments)};var _PyCFunction_New=Module["_PyCFunction_New"]=function(){return Module["asm"]["_PyCFunction_New"].apply(null,arguments)};var _PyCFunction_NewEx=Module["_PyCFunction_NewEx"]=function(){return Module["asm"]["_PyCFunction_NewEx"].apply(null,arguments)};var _PyCallIter_New=Module["_PyCallIter_New"]=function(){return Module["asm"]["_PyCallIter_New"].apply(null,arguments)};var _PyCallable_Check=Module["_PyCallable_Check"]=function(){return Module["asm"]["_PyCallable_Check"].apply(null,arguments)};var _PyCapsule_GetContext=Module["_PyCapsule_GetContext"]=function(){return Module["asm"]["_PyCapsule_GetContext"].apply(null,arguments)};var _PyCapsule_GetDestructor=Module["_PyCapsule_GetDestructor"]=function(){return Module["asm"]["_PyCapsule_GetDestructor"].apply(null,arguments)};var _PyCapsule_GetName=Module["_PyCapsule_GetName"]=function(){return Module["asm"]["_PyCapsule_GetName"].apply(null,arguments)};var _PyCapsule_GetPointer=Module["_PyCapsule_GetPointer"]=function(){return Module["asm"]["_PyCapsule_GetPointer"].apply(null,arguments)};var _PyCapsule_Import=Module["_PyCapsule_Import"]=function(){return Module["asm"]["_PyCapsule_Import"].apply(null,arguments)};var _PyCapsule_IsValid=Module["_PyCapsule_IsValid"]=function(){return Module["asm"]["_PyCapsule_IsValid"].apply(null,arguments)};var _PyCapsule_New=Module["_PyCapsule_New"]=function(){return Module["asm"]["_PyCapsule_New"].apply(null,arguments)};var _PyCapsule_SetContext=Module["_PyCapsule_SetContext"]=function(){return Module["asm"]["_PyCapsule_SetContext"].apply(null,arguments)};var _PyCapsule_SetDestructor=Module["_PyCapsule_SetDestructor"]=function(){return Module["asm"]["_PyCapsule_SetDestructor"].apply(null,arguments)};var _PyCapsule_SetName=Module["_PyCapsule_SetName"]=function(){return Module["asm"]["_PyCapsule_SetName"].apply(null,arguments)};var _PyCapsule_SetPointer=Module["_PyCapsule_SetPointer"]=function(){return Module["asm"]["_PyCapsule_SetPointer"].apply(null,arguments)};var _PyCell_Get=Module["_PyCell_Get"]=function(){return Module["asm"]["_PyCell_Get"].apply(null,arguments)};var _PyCell_New=Module["_PyCell_New"]=function(){return Module["asm"]["_PyCell_New"].apply(null,arguments)};var _PyCell_Set=Module["_PyCell_Set"]=function(){return Module["asm"]["_PyCell_Set"].apply(null,arguments)};var _PyClassMethod_New=Module["_PyClassMethod_New"]=function(){return Module["asm"]["_PyClassMethod_New"].apply(null,arguments)};var _PyCode_Addr2Line=Module["_PyCode_Addr2Line"]=function(){return Module["asm"]["_PyCode_Addr2Line"].apply(null,arguments)};var _PyCode_New=Module["_PyCode_New"]=function(){return Module["asm"]["_PyCode_New"].apply(null,arguments)};var _PyCode_NewEmpty=Module["_PyCode_NewEmpty"]=function(){return Module["asm"]["_PyCode_NewEmpty"].apply(null,arguments)};var _PyCode_Optimize=Module["_PyCode_Optimize"]=function(){return Module["asm"]["_PyCode_Optimize"].apply(null,arguments)};var _PyCodec_BackslashReplaceErrors=Module["_PyCodec_BackslashReplaceErrors"]=function(){return Module["asm"]["_PyCodec_BackslashReplaceErrors"].apply(null,arguments)};var _PyCodec_Decode=Module["_PyCodec_Decode"]=function(){return Module["asm"]["_PyCodec_Decode"].apply(null,arguments)};var _PyCodec_Decoder=Module["_PyCodec_Decoder"]=function(){return Module["asm"]["_PyCodec_Decoder"].apply(null,arguments)};var _PyCodec_Encode=Module["_PyCodec_Encode"]=function(){return Module["asm"]["_PyCodec_Encode"].apply(null,arguments)};var _PyCodec_Encoder=Module["_PyCodec_Encoder"]=function(){return Module["asm"]["_PyCodec_Encoder"].apply(null,arguments)};var _PyCodec_IgnoreErrors=Module["_PyCodec_IgnoreErrors"]=function(){return Module["asm"]["_PyCodec_IgnoreErrors"].apply(null,arguments)};var _PyCodec_IncrementalDecoder=Module["_PyCodec_IncrementalDecoder"]=function(){return Module["asm"]["_PyCodec_IncrementalDecoder"].apply(null,arguments)};var _PyCodec_IncrementalEncoder=Module["_PyCodec_IncrementalEncoder"]=function(){return Module["asm"]["_PyCodec_IncrementalEncoder"].apply(null,arguments)};var _PyCodec_KnownEncoding=Module["_PyCodec_KnownEncoding"]=function(){return Module["asm"]["_PyCodec_KnownEncoding"].apply(null,arguments)};var _PyCodec_LookupError=Module["_PyCodec_LookupError"]=function(){return Module["asm"]["_PyCodec_LookupError"].apply(null,arguments)};var _PyCodec_NameReplaceErrors=Module["_PyCodec_NameReplaceErrors"]=function(){return Module["asm"]["_PyCodec_NameReplaceErrors"].apply(null,arguments)};var _PyCodec_Register=Module["_PyCodec_Register"]=function(){return Module["asm"]["_PyCodec_Register"].apply(null,arguments)};var _PyCodec_RegisterError=Module["_PyCodec_RegisterError"]=function(){return Module["asm"]["_PyCodec_RegisterError"].apply(null,arguments)};var _PyCodec_ReplaceErrors=Module["_PyCodec_ReplaceErrors"]=function(){return Module["asm"]["_PyCodec_ReplaceErrors"].apply(null,arguments)};var _PyCodec_StreamReader=Module["_PyCodec_StreamReader"]=function(){return Module["asm"]["_PyCodec_StreamReader"].apply(null,arguments)};var _PyCodec_StreamWriter=Module["_PyCodec_StreamWriter"]=function(){return Module["asm"]["_PyCodec_StreamWriter"].apply(null,arguments)};var _PyCodec_StrictErrors=Module["_PyCodec_StrictErrors"]=function(){return Module["asm"]["_PyCodec_StrictErrors"].apply(null,arguments)};var _PyCodec_XMLCharRefReplaceErrors=Module["_PyCodec_XMLCharRefReplaceErrors"]=function(){return Module["asm"]["_PyCodec_XMLCharRefReplaceErrors"].apply(null,arguments)};var _PyCompileString=Module["_PyCompileString"]=function(){return Module["asm"]["_PyCompileString"].apply(null,arguments)};var _PyCompile_OpcodeStackEffect=Module["_PyCompile_OpcodeStackEffect"]=function(){return Module["asm"]["_PyCompile_OpcodeStackEffect"].apply(null,arguments)};var _PyComplex_AsCComplex=Module["_PyComplex_AsCComplex"]=function(){return Module["asm"]["_PyComplex_AsCComplex"].apply(null,arguments)};var _PyComplex_FromCComplex=Module["_PyComplex_FromCComplex"]=function(){return Module["asm"]["_PyComplex_FromCComplex"].apply(null,arguments)};var _PyComplex_FromDoubles=Module["_PyComplex_FromDoubles"]=function(){return Module["asm"]["_PyComplex_FromDoubles"].apply(null,arguments)};var _PyComplex_ImagAsDouble=Module["_PyComplex_ImagAsDouble"]=function(){return Module["asm"]["_PyComplex_ImagAsDouble"].apply(null,arguments)};var _PyComplex_RealAsDouble=Module["_PyComplex_RealAsDouble"]=function(){return Module["asm"]["_PyComplex_RealAsDouble"].apply(null,arguments)};var _PyContextVar_Get=Module["_PyContextVar_Get"]=function(){return Module["asm"]["_PyContextVar_Get"].apply(null,arguments)};var _PyContextVar_New=Module["_PyContextVar_New"]=function(){return Module["asm"]["_PyContextVar_New"].apply(null,arguments)};var _PyContextVar_Reset=Module["_PyContextVar_Reset"]=function(){return Module["asm"]["_PyContextVar_Reset"].apply(null,arguments)};var _PyContextVar_Set=Module["_PyContextVar_Set"]=function(){return Module["asm"]["_PyContextVar_Set"].apply(null,arguments)};var _PyContext_ClearFreeList=Module["_PyContext_ClearFreeList"]=function(){return Module["asm"]["_PyContext_ClearFreeList"].apply(null,arguments)};var _PyContext_Copy=Module["_PyContext_Copy"]=function(){return Module["asm"]["_PyContext_Copy"].apply(null,arguments)};var _PyContext_CopyCurrent=Module["_PyContext_CopyCurrent"]=function(){return Module["asm"]["_PyContext_CopyCurrent"].apply(null,arguments)};var _PyContext_Enter=Module["_PyContext_Enter"]=function(){return Module["asm"]["_PyContext_Enter"].apply(null,arguments)};var _PyContext_Exit=Module["_PyContext_Exit"]=function(){return Module["asm"]["_PyContext_Exit"].apply(null,arguments)};var _PyContext_New=Module["_PyContext_New"]=function(){return Module["asm"]["_PyContext_New"].apply(null,arguments)};var _PyCoro_New=Module["_PyCoro_New"]=function(){return Module["asm"]["_PyCoro_New"].apply(null,arguments)};var _PyDecContext_Apply=Module["_PyDecContext_Apply"]=function(){return Module["asm"]["_PyDecContext_Apply"].apply(null,arguments)};var _PyDecType_FromCStringExact=Module["_PyDecType_FromCStringExact"]=function(){return Module["asm"]["_PyDecType_FromCStringExact"].apply(null,arguments)};var _PyDecType_FromFloatExact=Module["_PyDecType_FromFloatExact"]=function(){return Module["asm"]["_PyDecType_FromFloatExact"].apply(null,arguments)};var _PyDecType_FromLongExact=Module["_PyDecType_FromLongExact"]=function(){return Module["asm"]["_PyDecType_FromLongExact"].apply(null,arguments)};var _PyDecType_FromSequence=Module["_PyDecType_FromSequence"]=function(){return Module["asm"]["_PyDecType_FromSequence"].apply(null,arguments)};var _PyDecType_New=Module["_PyDecType_New"]=function(){return Module["asm"]["_PyDecType_New"].apply(null,arguments)};var _PyDec_AsFloat=Module["_PyDec_AsFloat"]=function(){return Module["asm"]["_PyDec_AsFloat"].apply(null,arguments)};var _PyDec_AsTuple=Module["_PyDec_AsTuple"]=function(){return Module["asm"]["_PyDec_AsTuple"].apply(null,arguments)};var _PyDec_GetCurrentContext=Module["_PyDec_GetCurrentContext"]=function(){return Module["asm"]["_PyDec_GetCurrentContext"].apply(null,arguments)};var _PyDec_Round=Module["_PyDec_Round"]=function(){return Module["asm"]["_PyDec_Round"].apply(null,arguments)};var _PyDec_SetCurrentContext=Module["_PyDec_SetCurrentContext"]=function(){return Module["asm"]["_PyDec_SetCurrentContext"].apply(null,arguments)};var _PyDec_ToIntegralExact=Module["_PyDec_ToIntegralExact"]=function(){return Module["asm"]["_PyDec_ToIntegralExact"].apply(null,arguments)};var _PyDec_ToIntegralValue=Module["_PyDec_ToIntegralValue"]=function(){return Module["asm"]["_PyDec_ToIntegralValue"].apply(null,arguments)};var _PyDescr_NewClassMethod=Module["_PyDescr_NewClassMethod"]=function(){return Module["asm"]["_PyDescr_NewClassMethod"].apply(null,arguments)};var _PyDescr_NewGetSet=Module["_PyDescr_NewGetSet"]=function(){return Module["asm"]["_PyDescr_NewGetSet"].apply(null,arguments)};var _PyDescr_NewMember=Module["_PyDescr_NewMember"]=function(){return Module["asm"]["_PyDescr_NewMember"].apply(null,arguments)};var _PyDescr_NewMethod=Module["_PyDescr_NewMethod"]=function(){return Module["asm"]["_PyDescr_NewMethod"].apply(null,arguments)};var _PyDescr_NewWrapper=Module["_PyDescr_NewWrapper"]=function(){return Module["asm"]["_PyDescr_NewWrapper"].apply(null,arguments)};var _PyDictProxy_New=Module["_PyDictProxy_New"]=function(){return Module["asm"]["_PyDictProxy_New"].apply(null,arguments)};var _PyDict_Clear=Module["_PyDict_Clear"]=function(){return Module["asm"]["_PyDict_Clear"].apply(null,arguments)};var _PyDict_ClearFreeList=Module["_PyDict_ClearFreeList"]=function(){return Module["asm"]["_PyDict_ClearFreeList"].apply(null,arguments)};var _PyDict_Contains=Module["_PyDict_Contains"]=function(){return Module["asm"]["_PyDict_Contains"].apply(null,arguments)};var _PyDict_Copy=Module["_PyDict_Copy"]=function(){return Module["asm"]["_PyDict_Copy"].apply(null,arguments)};var _PyDict_DelItem=Module["_PyDict_DelItem"]=function(){return Module["asm"]["_PyDict_DelItem"].apply(null,arguments)};var _PyDict_DelItemString=Module["_PyDict_DelItemString"]=function(){return Module["asm"]["_PyDict_DelItemString"].apply(null,arguments)};var _PyDict_Fini=Module["_PyDict_Fini"]=function(){return Module["asm"]["_PyDict_Fini"].apply(null,arguments)};var _PyDict_GetItem=Module["_PyDict_GetItem"]=function(){return Module["asm"]["_PyDict_GetItem"].apply(null,arguments)};var _PyDict_GetItemString=Module["_PyDict_GetItemString"]=function(){return Module["asm"]["_PyDict_GetItemString"].apply(null,arguments)};var _PyDict_GetItemWithError=Module["_PyDict_GetItemWithError"]=function(){return Module["asm"]["_PyDict_GetItemWithError"].apply(null,arguments)};var _PyDict_Items=Module["_PyDict_Items"]=function(){return Module["asm"]["_PyDict_Items"].apply(null,arguments)};var _PyDict_Keys=Module["_PyDict_Keys"]=function(){return Module["asm"]["_PyDict_Keys"].apply(null,arguments)};var _PyDict_Merge=Module["_PyDict_Merge"]=function(){return Module["asm"]["_PyDict_Merge"].apply(null,arguments)};var _PyDict_MergeFromSeq2=Module["_PyDict_MergeFromSeq2"]=function(){return Module["asm"]["_PyDict_MergeFromSeq2"].apply(null,arguments)};var _PyDict_New=Module["_PyDict_New"]=function(){return Module["asm"]["_PyDict_New"].apply(null,arguments)};var _PyDict_Next=Module["_PyDict_Next"]=function(){return Module["asm"]["_PyDict_Next"].apply(null,arguments)};var _PyDict_SetDefault=Module["_PyDict_SetDefault"]=function(){return Module["asm"]["_PyDict_SetDefault"].apply(null,arguments)};var _PyDict_SetItem=Module["_PyDict_SetItem"]=function(){return Module["asm"]["_PyDict_SetItem"].apply(null,arguments)};var _PyDict_SetItemString=Module["_PyDict_SetItemString"]=function(){return Module["asm"]["_PyDict_SetItemString"].apply(null,arguments)};var _PyDict_Size=Module["_PyDict_Size"]=function(){return Module["asm"]["_PyDict_Size"].apply(null,arguments)};var _PyDict_Update=Module["_PyDict_Update"]=function(){return Module["asm"]["_PyDict_Update"].apply(null,arguments)};var _PyDict_Values=Module["_PyDict_Values"]=function(){return Module["asm"]["_PyDict_Values"].apply(null,arguments)};var _PyErr_BadArgument=Module["_PyErr_BadArgument"]=function(){return Module["asm"]["_PyErr_BadArgument"].apply(null,arguments)};var _PyErr_BadInternalCall=Module["_PyErr_BadInternalCall"]=function(){return Module["asm"]["_PyErr_BadInternalCall"].apply(null,arguments)};var _PyErr_CheckSignals=Module["_PyErr_CheckSignals"]=function(){return Module["asm"]["_PyErr_CheckSignals"].apply(null,arguments)};var _PyErr_Clear=Module["_PyErr_Clear"]=function(){return Module["asm"]["_PyErr_Clear"].apply(null,arguments)};var _PyErr_Display=Module["_PyErr_Display"]=function(){return Module["asm"]["_PyErr_Display"].apply(null,arguments)};var _PyErr_ExceptionMatches=Module["_PyErr_ExceptionMatches"]=function(){return Module["asm"]["_PyErr_ExceptionMatches"].apply(null,arguments)};var _PyErr_Fetch=Module["_PyErr_Fetch"]=function(){return Module["asm"]["_PyErr_Fetch"].apply(null,arguments)};var _PyErr_Format=Module["_PyErr_Format"]=function(){return Module["asm"]["_PyErr_Format"].apply(null,arguments)};var _PyErr_FormatV=Module["_PyErr_FormatV"]=function(){return Module["asm"]["_PyErr_FormatV"].apply(null,arguments)};var _PyErr_GetExcInfo=Module["_PyErr_GetExcInfo"]=function(){return Module["asm"]["_PyErr_GetExcInfo"].apply(null,arguments)};var _PyErr_GivenExceptionMatches=Module["_PyErr_GivenExceptionMatches"]=function(){return Module["asm"]["_PyErr_GivenExceptionMatches"].apply(null,arguments)};var _PyErr_NewException=Module["_PyErr_NewException"]=function(){return Module["asm"]["_PyErr_NewException"].apply(null,arguments)};var _PyErr_NewExceptionWithDoc=Module["_PyErr_NewExceptionWithDoc"]=function(){return Module["asm"]["_PyErr_NewExceptionWithDoc"].apply(null,arguments)};var _PyErr_NoMemory=Module["_PyErr_NoMemory"]=function(){return Module["asm"]["_PyErr_NoMemory"].apply(null,arguments)};var _PyErr_NormalizeException=Module["_PyErr_NormalizeException"]=function(){return Module["asm"]["_PyErr_NormalizeException"].apply(null,arguments)};var _PyErr_Occurred=Module["_PyErr_Occurred"]=function(){return Module["asm"]["_PyErr_Occurred"].apply(null,arguments)};var _PyErr_Print=Module["_PyErr_Print"]=function(){return Module["asm"]["_PyErr_Print"].apply(null,arguments)};var _PyErr_PrintEx=Module["_PyErr_PrintEx"]=function(){return Module["asm"]["_PyErr_PrintEx"].apply(null,arguments)};var _PyErr_ProgramText=Module["_PyErr_ProgramText"]=function(){return Module["asm"]["_PyErr_ProgramText"].apply(null,arguments)};var _PyErr_ProgramTextObject=Module["_PyErr_ProgramTextObject"]=function(){return Module["asm"]["_PyErr_ProgramTextObject"].apply(null,arguments)};var _PyErr_ResourceWarning=Module["_PyErr_ResourceWarning"]=function(){return Module["asm"]["_PyErr_ResourceWarning"].apply(null,arguments)};var _PyErr_Restore=Module["_PyErr_Restore"]=function(){return Module["asm"]["_PyErr_Restore"].apply(null,arguments)};var _PyErr_SetExcInfo=Module["_PyErr_SetExcInfo"]=function(){return Module["asm"]["_PyErr_SetExcInfo"].apply(null,arguments)};var _PyErr_SetFromErrno=Module["_PyErr_SetFromErrno"]=function(){return Module["asm"]["_PyErr_SetFromErrno"].apply(null,arguments)};var _PyErr_SetFromErrnoWithFilename=Module["_PyErr_SetFromErrnoWithFilename"]=function(){return Module["asm"]["_PyErr_SetFromErrnoWithFilename"].apply(null,arguments)};var _PyErr_SetFromErrnoWithFilenameObject=Module["_PyErr_SetFromErrnoWithFilenameObject"]=function(){return Module["asm"]["_PyErr_SetFromErrnoWithFilenameObject"].apply(null,arguments)};var _PyErr_SetFromErrnoWithFilenameObjects=Module["_PyErr_SetFromErrnoWithFilenameObjects"]=function(){return Module["asm"]["_PyErr_SetFromErrnoWithFilenameObjects"].apply(null,arguments)};var _PyErr_SetImportError=Module["_PyErr_SetImportError"]=function(){return Module["asm"]["_PyErr_SetImportError"].apply(null,arguments)};var _PyErr_SetImportErrorSubclass=Module["_PyErr_SetImportErrorSubclass"]=function(){return Module["asm"]["_PyErr_SetImportErrorSubclass"].apply(null,arguments)};var _PyErr_SetInterrupt=Module["_PyErr_SetInterrupt"]=function(){return Module["asm"]["_PyErr_SetInterrupt"].apply(null,arguments)};var _PyErr_SetNone=Module["_PyErr_SetNone"]=function(){return Module["asm"]["_PyErr_SetNone"].apply(null,arguments)};var _PyErr_SetObject=Module["_PyErr_SetObject"]=function(){return Module["asm"]["_PyErr_SetObject"].apply(null,arguments)};var _PyErr_SetString=Module["_PyErr_SetString"]=function(){return Module["asm"]["_PyErr_SetString"].apply(null,arguments)};var _PyErr_SyntaxLocation=Module["_PyErr_SyntaxLocation"]=function(){return Module["asm"]["_PyErr_SyntaxLocation"].apply(null,arguments)};var _PyErr_SyntaxLocationEx=Module["_PyErr_SyntaxLocationEx"]=function(){return Module["asm"]["_PyErr_SyntaxLocationEx"].apply(null,arguments)};var _PyErr_SyntaxLocationObject=Module["_PyErr_SyntaxLocationObject"]=function(){return Module["asm"]["_PyErr_SyntaxLocationObject"].apply(null,arguments)};var _PyErr_Warn=Module["_PyErr_Warn"]=function(){return Module["asm"]["_PyErr_Warn"].apply(null,arguments)};var _PyErr_WarnEx=Module["_PyErr_WarnEx"]=function(){return Module["asm"]["_PyErr_WarnEx"].apply(null,arguments)};var _PyErr_WarnExplicit=Module["_PyErr_WarnExplicit"]=function(){return Module["asm"]["_PyErr_WarnExplicit"].apply(null,arguments)};var _PyErr_WarnExplicitFormat=Module["_PyErr_WarnExplicitFormat"]=function(){return Module["asm"]["_PyErr_WarnExplicitFormat"].apply(null,arguments)};var _PyErr_WarnExplicitObject=Module["_PyErr_WarnExplicitObject"]=function(){return Module["asm"]["_PyErr_WarnExplicitObject"].apply(null,arguments)};var _PyErr_WarnFormat=Module["_PyErr_WarnFormat"]=function(){return Module["asm"]["_PyErr_WarnFormat"].apply(null,arguments)};var _PyErr_WriteUnraisable=Module["_PyErr_WriteUnraisable"]=function(){return Module["asm"]["_PyErr_WriteUnraisable"].apply(null,arguments)};var _PyEval_AcquireLock=Module["_PyEval_AcquireLock"]=function(){return Module["asm"]["_PyEval_AcquireLock"].apply(null,arguments)};var _PyEval_AcquireThread=Module["_PyEval_AcquireThread"]=function(){return Module["asm"]["_PyEval_AcquireThread"].apply(null,arguments)};var _PyEval_CallFunction=Module["_PyEval_CallFunction"]=function(){return Module["asm"]["_PyEval_CallFunction"].apply(null,arguments)};var _PyEval_CallMethod=Module["_PyEval_CallMethod"]=function(){return Module["asm"]["_PyEval_CallMethod"].apply(null,arguments)};var _PyEval_CallObjectWithKeywords=Module["_PyEval_CallObjectWithKeywords"]=function(){return Module["asm"]["_PyEval_CallObjectWithKeywords"].apply(null,arguments)};var _PyEval_EvalCode=Module["_PyEval_EvalCode"]=function(){return Module["asm"]["_PyEval_EvalCode"].apply(null,arguments)};var _PyEval_EvalCodeEx=Module["_PyEval_EvalCodeEx"]=function(){return Module["asm"]["_PyEval_EvalCodeEx"].apply(null,arguments)};var _PyEval_EvalFrame=Module["_PyEval_EvalFrame"]=function(){return Module["asm"]["_PyEval_EvalFrame"].apply(null,arguments)};var _PyEval_EvalFrameEx=Module["_PyEval_EvalFrameEx"]=function(){return Module["asm"]["_PyEval_EvalFrameEx"].apply(null,arguments)};var _PyEval_GetBuiltins=Module["_PyEval_GetBuiltins"]=function(){return Module["asm"]["_PyEval_GetBuiltins"].apply(null,arguments)};var _PyEval_GetFrame=Module["_PyEval_GetFrame"]=function(){return Module["asm"]["_PyEval_GetFrame"].apply(null,arguments)};var _PyEval_GetFuncDesc=Module["_PyEval_GetFuncDesc"]=function(){return Module["asm"]["_PyEval_GetFuncDesc"].apply(null,arguments)};var _PyEval_GetFuncName=Module["_PyEval_GetFuncName"]=function(){return Module["asm"]["_PyEval_GetFuncName"].apply(null,arguments)};var _PyEval_GetGlobals=Module["_PyEval_GetGlobals"]=function(){return Module["asm"]["_PyEval_GetGlobals"].apply(null,arguments)};var _PyEval_GetLocals=Module["_PyEval_GetLocals"]=function(){return Module["asm"]["_PyEval_GetLocals"].apply(null,arguments)};var _PyEval_InitThreads=Module["_PyEval_InitThreads"]=function(){return Module["asm"]["_PyEval_InitThreads"].apply(null,arguments)};var _PyEval_MergeCompilerFlags=Module["_PyEval_MergeCompilerFlags"]=function(){return Module["asm"]["_PyEval_MergeCompilerFlags"].apply(null,arguments)};var _PyEval_ReInitThreads=Module["_PyEval_ReInitThreads"]=function(){return Module["asm"]["_PyEval_ReInitThreads"].apply(null,arguments)};var _PyEval_ReleaseLock=Module["_PyEval_ReleaseLock"]=function(){return Module["asm"]["_PyEval_ReleaseLock"].apply(null,arguments)};var _PyEval_ReleaseThread=Module["_PyEval_ReleaseThread"]=function(){return Module["asm"]["_PyEval_ReleaseThread"].apply(null,arguments)};var _PyEval_RestoreThread=Module["_PyEval_RestoreThread"]=function(){return Module["asm"]["_PyEval_RestoreThread"].apply(null,arguments)};var _PyEval_SaveThread=Module["_PyEval_SaveThread"]=function(){return Module["asm"]["_PyEval_SaveThread"].apply(null,arguments)};var _PyEval_SetProfile=Module["_PyEval_SetProfile"]=function(){return Module["asm"]["_PyEval_SetProfile"].apply(null,arguments)};var _PyEval_SetTrace=Module["_PyEval_SetTrace"]=function(){return Module["asm"]["_PyEval_SetTrace"].apply(null,arguments)};var _PyEval_ThreadsInitialized=Module["_PyEval_ThreadsInitialized"]=function(){return Module["asm"]["_PyEval_ThreadsInitialized"].apply(null,arguments)};var _PyException_GetCause=Module["_PyException_GetCause"]=function(){return Module["asm"]["_PyException_GetCause"].apply(null,arguments)};var _PyException_GetContext=Module["_PyException_GetContext"]=function(){return Module["asm"]["_PyException_GetContext"].apply(null,arguments)};var _PyException_GetTraceback=Module["_PyException_GetTraceback"]=function(){return Module["asm"]["_PyException_GetTraceback"].apply(null,arguments)};var _PyException_SetCause=Module["_PyException_SetCause"]=function(){return Module["asm"]["_PyException_SetCause"].apply(null,arguments)};var _PyException_SetContext=Module["_PyException_SetContext"]=function(){return Module["asm"]["_PyException_SetContext"].apply(null,arguments)};var _PyException_SetTraceback=Module["_PyException_SetTraceback"]=function(){return Module["asm"]["_PyException_SetTraceback"].apply(null,arguments)};var _PyExpat_XML_DefaultCurrent=Module["_PyExpat_XML_DefaultCurrent"]=function(){return Module["asm"]["_PyExpat_XML_DefaultCurrent"].apply(null,arguments)};var _PyExpat_XML_ErrorString=Module["_PyExpat_XML_ErrorString"]=function(){return Module["asm"]["_PyExpat_XML_ErrorString"].apply(null,arguments)};var _PyExpat_XML_ExpatVersion=Module["_PyExpat_XML_ExpatVersion"]=function(){return Module["asm"]["_PyExpat_XML_ExpatVersion"].apply(null,arguments)};var _PyExpat_XML_ExpatVersionInfo=Module["_PyExpat_XML_ExpatVersionInfo"]=function(){return Module["asm"]["_PyExpat_XML_ExpatVersionInfo"].apply(null,arguments)};var _PyExpat_XML_ExternalEntityParserCreate=Module["_PyExpat_XML_ExternalEntityParserCreate"]=function(){return Module["asm"]["_PyExpat_XML_ExternalEntityParserCreate"].apply(null,arguments)};var _PyExpat_XML_FreeContentModel=Module["_PyExpat_XML_FreeContentModel"]=function(){return Module["asm"]["_PyExpat_XML_FreeContentModel"].apply(null,arguments)};var _PyExpat_XML_GetBase=Module["_PyExpat_XML_GetBase"]=function(){return Module["asm"]["_PyExpat_XML_GetBase"].apply(null,arguments)};var _PyExpat_XML_GetBuffer=Module["_PyExpat_XML_GetBuffer"]=function(){return Module["asm"]["_PyExpat_XML_GetBuffer"].apply(null,arguments)};var _PyExpat_XML_GetCurrentByteCount=Module["_PyExpat_XML_GetCurrentByteCount"]=function(){return Module["asm"]["_PyExpat_XML_GetCurrentByteCount"].apply(null,arguments)};var _PyExpat_XML_GetCurrentByteIndex=Module["_PyExpat_XML_GetCurrentByteIndex"]=function(){return Module["asm"]["_PyExpat_XML_GetCurrentByteIndex"].apply(null,arguments)};var _PyExpat_XML_GetCurrentColumnNumber=Module["_PyExpat_XML_GetCurrentColumnNumber"]=function(){return Module["asm"]["_PyExpat_XML_GetCurrentColumnNumber"].apply(null,arguments)};var _PyExpat_XML_GetCurrentLineNumber=Module["_PyExpat_XML_GetCurrentLineNumber"]=function(){return Module["asm"]["_PyExpat_XML_GetCurrentLineNumber"].apply(null,arguments)};var _PyExpat_XML_GetErrorCode=Module["_PyExpat_XML_GetErrorCode"]=function(){return Module["asm"]["_PyExpat_XML_GetErrorCode"].apply(null,arguments)};var _PyExpat_XML_GetFeatureList=Module["_PyExpat_XML_GetFeatureList"]=function(){return Module["asm"]["_PyExpat_XML_GetFeatureList"].apply(null,arguments)};var _PyExpat_XML_GetIdAttributeIndex=Module["_PyExpat_XML_GetIdAttributeIndex"]=function(){return Module["asm"]["_PyExpat_XML_GetIdAttributeIndex"].apply(null,arguments)};var _PyExpat_XML_GetInputContext=Module["_PyExpat_XML_GetInputContext"]=function(){return Module["asm"]["_PyExpat_XML_GetInputContext"].apply(null,arguments)};var _PyExpat_XML_GetParsingStatus=Module["_PyExpat_XML_GetParsingStatus"]=function(){return Module["asm"]["_PyExpat_XML_GetParsingStatus"].apply(null,arguments)};var _PyExpat_XML_GetSpecifiedAttributeCount=Module["_PyExpat_XML_GetSpecifiedAttributeCount"]=function(){return Module["asm"]["_PyExpat_XML_GetSpecifiedAttributeCount"].apply(null,arguments)};var _PyExpat_XML_MemFree=Module["_PyExpat_XML_MemFree"]=function(){return Module["asm"]["_PyExpat_XML_MemFree"].apply(null,arguments)};var _PyExpat_XML_MemMalloc=Module["_PyExpat_XML_MemMalloc"]=function(){return Module["asm"]["_PyExpat_XML_MemMalloc"].apply(null,arguments)};var _PyExpat_XML_MemRealloc=Module["_PyExpat_XML_MemRealloc"]=function(){return Module["asm"]["_PyExpat_XML_MemRealloc"].apply(null,arguments)};var _PyExpat_XML_Parse=Module["_PyExpat_XML_Parse"]=function(){return Module["asm"]["_PyExpat_XML_Parse"].apply(null,arguments)};var _PyExpat_XML_ParseBuffer=Module["_PyExpat_XML_ParseBuffer"]=function(){return Module["asm"]["_PyExpat_XML_ParseBuffer"].apply(null,arguments)};var _PyExpat_XML_ParserCreate=Module["_PyExpat_XML_ParserCreate"]=function(){return Module["asm"]["_PyExpat_XML_ParserCreate"].apply(null,arguments)};var _PyExpat_XML_ParserCreateNS=Module["_PyExpat_XML_ParserCreateNS"]=function(){return Module["asm"]["_PyExpat_XML_ParserCreateNS"].apply(null,arguments)};var _PyExpat_XML_ParserCreate_MM=Module["_PyExpat_XML_ParserCreate_MM"]=function(){return Module["asm"]["_PyExpat_XML_ParserCreate_MM"].apply(null,arguments)};var _PyExpat_XML_ParserFree=Module["_PyExpat_XML_ParserFree"]=function(){return Module["asm"]["_PyExpat_XML_ParserFree"].apply(null,arguments)};var _PyExpat_XML_ParserReset=Module["_PyExpat_XML_ParserReset"]=function(){return Module["asm"]["_PyExpat_XML_ParserReset"].apply(null,arguments)};var _PyExpat_XML_ResumeParser=Module["_PyExpat_XML_ResumeParser"]=function(){return Module["asm"]["_PyExpat_XML_ResumeParser"].apply(null,arguments)};var _PyExpat_XML_SetAttlistDeclHandler=Module["_PyExpat_XML_SetAttlistDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetAttlistDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetBase=Module["_PyExpat_XML_SetBase"]=function(){return Module["asm"]["_PyExpat_XML_SetBase"].apply(null,arguments)};var _PyExpat_XML_SetCdataSectionHandler=Module["_PyExpat_XML_SetCdataSectionHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetCdataSectionHandler"].apply(null,arguments)};var _PyExpat_XML_SetCharacterDataHandler=Module["_PyExpat_XML_SetCharacterDataHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetCharacterDataHandler"].apply(null,arguments)};var _PyExpat_XML_SetCommentHandler=Module["_PyExpat_XML_SetCommentHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetCommentHandler"].apply(null,arguments)};var _PyExpat_XML_SetDefaultHandler=Module["_PyExpat_XML_SetDefaultHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetDefaultHandler"].apply(null,arguments)};var _PyExpat_XML_SetDefaultHandlerExpand=Module["_PyExpat_XML_SetDefaultHandlerExpand"]=function(){return Module["asm"]["_PyExpat_XML_SetDefaultHandlerExpand"].apply(null,arguments)};var _PyExpat_XML_SetDoctypeDeclHandler=Module["_PyExpat_XML_SetDoctypeDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetDoctypeDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetElementDeclHandler=Module["_PyExpat_XML_SetElementDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetElementDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetElementHandler=Module["_PyExpat_XML_SetElementHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetElementHandler"].apply(null,arguments)};var _PyExpat_XML_SetEncoding=Module["_PyExpat_XML_SetEncoding"]=function(){return Module["asm"]["_PyExpat_XML_SetEncoding"].apply(null,arguments)};var _PyExpat_XML_SetEndCdataSectionHandler=Module["_PyExpat_XML_SetEndCdataSectionHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetEndCdataSectionHandler"].apply(null,arguments)};var _PyExpat_XML_SetEndDoctypeDeclHandler=Module["_PyExpat_XML_SetEndDoctypeDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetEndDoctypeDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetEndElementHandler=Module["_PyExpat_XML_SetEndElementHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetEndElementHandler"].apply(null,arguments)};var _PyExpat_XML_SetEndNamespaceDeclHandler=Module["_PyExpat_XML_SetEndNamespaceDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetEndNamespaceDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetEntityDeclHandler=Module["_PyExpat_XML_SetEntityDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetEntityDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetExternalEntityRefHandler=Module["_PyExpat_XML_SetExternalEntityRefHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetExternalEntityRefHandler"].apply(null,arguments)};var _PyExpat_XML_SetExternalEntityRefHandlerArg=Module["_PyExpat_XML_SetExternalEntityRefHandlerArg"]=function(){return Module["asm"]["_PyExpat_XML_SetExternalEntityRefHandlerArg"].apply(null,arguments)};var _PyExpat_XML_SetHashSalt=Module["_PyExpat_XML_SetHashSalt"]=function(){return Module["asm"]["_PyExpat_XML_SetHashSalt"].apply(null,arguments)};var _PyExpat_XML_SetNamespaceDeclHandler=Module["_PyExpat_XML_SetNamespaceDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetNamespaceDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetNotStandaloneHandler=Module["_PyExpat_XML_SetNotStandaloneHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetNotStandaloneHandler"].apply(null,arguments)};var _PyExpat_XML_SetNotationDeclHandler=Module["_PyExpat_XML_SetNotationDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetNotationDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetParamEntityParsing=Module["_PyExpat_XML_SetParamEntityParsing"]=function(){return Module["asm"]["_PyExpat_XML_SetParamEntityParsing"].apply(null,arguments)};var _PyExpat_XML_SetProcessingInstructionHandler=Module["_PyExpat_XML_SetProcessingInstructionHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetProcessingInstructionHandler"].apply(null,arguments)};var _PyExpat_XML_SetReturnNSTriplet=Module["_PyExpat_XML_SetReturnNSTriplet"]=function(){return Module["asm"]["_PyExpat_XML_SetReturnNSTriplet"].apply(null,arguments)};var _PyExpat_XML_SetSkippedEntityHandler=Module["_PyExpat_XML_SetSkippedEntityHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetSkippedEntityHandler"].apply(null,arguments)};var _PyExpat_XML_SetStartCdataSectionHandler=Module["_PyExpat_XML_SetStartCdataSectionHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetStartCdataSectionHandler"].apply(null,arguments)};var _PyExpat_XML_SetStartDoctypeDeclHandler=Module["_PyExpat_XML_SetStartDoctypeDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetStartDoctypeDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetStartElementHandler=Module["_PyExpat_XML_SetStartElementHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetStartElementHandler"].apply(null,arguments)};var _PyExpat_XML_SetStartNamespaceDeclHandler=Module["_PyExpat_XML_SetStartNamespaceDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetStartNamespaceDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetUnknownEncodingHandler=Module["_PyExpat_XML_SetUnknownEncodingHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetUnknownEncodingHandler"].apply(null,arguments)};var _PyExpat_XML_SetUnparsedEntityDeclHandler=Module["_PyExpat_XML_SetUnparsedEntityDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetUnparsedEntityDeclHandler"].apply(null,arguments)};var _PyExpat_XML_SetUserData=Module["_PyExpat_XML_SetUserData"]=function(){return Module["asm"]["_PyExpat_XML_SetUserData"].apply(null,arguments)};var _PyExpat_XML_SetXmlDeclHandler=Module["_PyExpat_XML_SetXmlDeclHandler"]=function(){return Module["asm"]["_PyExpat_XML_SetXmlDeclHandler"].apply(null,arguments)};var _PyExpat_XML_StopParser=Module["_PyExpat_XML_StopParser"]=function(){return Module["asm"]["_PyExpat_XML_StopParser"].apply(null,arguments)};var _PyExpat_XML_UseForeignDTD=Module["_PyExpat_XML_UseForeignDTD"]=function(){return Module["asm"]["_PyExpat_XML_UseForeignDTD"].apply(null,arguments)};var _PyExpat_XML_UseParserAsHandlerArg=Module["_PyExpat_XML_UseParserAsHandlerArg"]=function(){return Module["asm"]["_PyExpat_XML_UseParserAsHandlerArg"].apply(null,arguments)};var _PyExpat_XmlGetUtf16InternalEncoding=Module["_PyExpat_XmlGetUtf16InternalEncoding"]=function(){return Module["asm"]["_PyExpat_XmlGetUtf16InternalEncoding"].apply(null,arguments)};var _PyExpat_XmlGetUtf16InternalEncodingNS=Module["_PyExpat_XmlGetUtf16InternalEncodingNS"]=function(){return Module["asm"]["_PyExpat_XmlGetUtf16InternalEncodingNS"].apply(null,arguments)};var _PyExpat_XmlGetUtf8InternalEncoding=Module["_PyExpat_XmlGetUtf8InternalEncoding"]=function(){return Module["asm"]["_PyExpat_XmlGetUtf8InternalEncoding"].apply(null,arguments)};var _PyExpat_XmlGetUtf8InternalEncodingNS=Module["_PyExpat_XmlGetUtf8InternalEncodingNS"]=function(){return Module["asm"]["_PyExpat_XmlGetUtf8InternalEncodingNS"].apply(null,arguments)};var _PyExpat_XmlInitEncoding=Module["_PyExpat_XmlInitEncoding"]=function(){return Module["asm"]["_PyExpat_XmlInitEncoding"].apply(null,arguments)};var _PyExpat_XmlInitEncodingNS=Module["_PyExpat_XmlInitEncodingNS"]=function(){return Module["asm"]["_PyExpat_XmlInitEncodingNS"].apply(null,arguments)};var _PyExpat_XmlInitUnknownEncoding=Module["_PyExpat_XmlInitUnknownEncoding"]=function(){return Module["asm"]["_PyExpat_XmlInitUnknownEncoding"].apply(null,arguments)};var _PyExpat_XmlInitUnknownEncodingNS=Module["_PyExpat_XmlInitUnknownEncodingNS"]=function(){return Module["asm"]["_PyExpat_XmlInitUnknownEncodingNS"].apply(null,arguments)};var _PyExpat_XmlParseXmlDecl=Module["_PyExpat_XmlParseXmlDecl"]=function(){return Module["asm"]["_PyExpat_XmlParseXmlDecl"].apply(null,arguments)};var _PyExpat_XmlParseXmlDeclNS=Module["_PyExpat_XmlParseXmlDeclNS"]=function(){return Module["asm"]["_PyExpat_XmlParseXmlDeclNS"].apply(null,arguments)};var _PyExpat_XmlPrologStateInit=Module["_PyExpat_XmlPrologStateInit"]=function(){return Module["asm"]["_PyExpat_XmlPrologStateInit"].apply(null,arguments)};var _PyExpat_XmlPrologStateInitExternalEntity=Module["_PyExpat_XmlPrologStateInitExternalEntity"]=function(){return Module["asm"]["_PyExpat_XmlPrologStateInitExternalEntity"].apply(null,arguments)};var _PyExpat_XmlSizeOfUnknownEncoding=Module["_PyExpat_XmlSizeOfUnknownEncoding"]=function(){return Module["asm"]["_PyExpat_XmlSizeOfUnknownEncoding"].apply(null,arguments)};var _PyExpat_XmlUtf16Encode=Module["_PyExpat_XmlUtf16Encode"]=function(){return Module["asm"]["_PyExpat_XmlUtf16Encode"].apply(null,arguments)};var _PyExpat_XmlUtf8Encode=Module["_PyExpat_XmlUtf8Encode"]=function(){return Module["asm"]["_PyExpat_XmlUtf8Encode"].apply(null,arguments)};var _PyFPE_dummy=Module["_PyFPE_dummy"]=function(){return Module["asm"]["_PyFPE_dummy"].apply(null,arguments)};var _PyFile_FromFd=Module["_PyFile_FromFd"]=function(){return Module["asm"]["_PyFile_FromFd"].apply(null,arguments)};var _PyFile_GetLine=Module["_PyFile_GetLine"]=function(){return Module["asm"]["_PyFile_GetLine"].apply(null,arguments)};var _PyFile_NewStdPrinter=Module["_PyFile_NewStdPrinter"]=function(){return Module["asm"]["_PyFile_NewStdPrinter"].apply(null,arguments)};var _PyFile_WriteObject=Module["_PyFile_WriteObject"]=function(){return Module["asm"]["_PyFile_WriteObject"].apply(null,arguments)};var _PyFile_WriteString=Module["_PyFile_WriteString"]=function(){return Module["asm"]["_PyFile_WriteString"].apply(null,arguments)};var _PyFloat_AsDouble=Module["_PyFloat_AsDouble"]=function(){return Module["asm"]["_PyFloat_AsDouble"].apply(null,arguments)};var _PyFloat_ClearFreeList=Module["_PyFloat_ClearFreeList"]=function(){return Module["asm"]["_PyFloat_ClearFreeList"].apply(null,arguments)};var _PyFloat_Fini=Module["_PyFloat_Fini"]=function(){return Module["asm"]["_PyFloat_Fini"].apply(null,arguments)};var _PyFloat_FromDouble=Module["_PyFloat_FromDouble"]=function(){return Module["asm"]["_PyFloat_FromDouble"].apply(null,arguments)};var _PyFloat_FromString=Module["_PyFloat_FromString"]=function(){return Module["asm"]["_PyFloat_FromString"].apply(null,arguments)};var _PyFloat_GetInfo=Module["_PyFloat_GetInfo"]=function(){return Module["asm"]["_PyFloat_GetInfo"].apply(null,arguments)};var _PyFloat_GetMax=Module["_PyFloat_GetMax"]=function(){return Module["asm"]["_PyFloat_GetMax"].apply(null,arguments)};var _PyFloat_GetMin=Module["_PyFloat_GetMin"]=function(){return Module["asm"]["_PyFloat_GetMin"].apply(null,arguments)};var _PyFrame_BlockPop=Module["_PyFrame_BlockPop"]=function(){return Module["asm"]["_PyFrame_BlockPop"].apply(null,arguments)};var _PyFrame_BlockSetup=Module["_PyFrame_BlockSetup"]=function(){return Module["asm"]["_PyFrame_BlockSetup"].apply(null,arguments)};var _PyFrame_ClearFreeList=Module["_PyFrame_ClearFreeList"]=function(){return Module["asm"]["_PyFrame_ClearFreeList"].apply(null,arguments)};var _PyFrame_FastToLocals=Module["_PyFrame_FastToLocals"]=function(){return Module["asm"]["_PyFrame_FastToLocals"].apply(null,arguments)};var _PyFrame_FastToLocalsWithError=Module["_PyFrame_FastToLocalsWithError"]=function(){return Module["asm"]["_PyFrame_FastToLocalsWithError"].apply(null,arguments)};var _PyFrame_Fini=Module["_PyFrame_Fini"]=function(){return Module["asm"]["_PyFrame_Fini"].apply(null,arguments)};var _PyFrame_GetLineNumber=Module["_PyFrame_GetLineNumber"]=function(){return Module["asm"]["_PyFrame_GetLineNumber"].apply(null,arguments)};var _PyFrame_LocalsToFast=Module["_PyFrame_LocalsToFast"]=function(){return Module["asm"]["_PyFrame_LocalsToFast"].apply(null,arguments)};var _PyFrame_New=Module["_PyFrame_New"]=function(){return Module["asm"]["_PyFrame_New"].apply(null,arguments)};var _PyFrozenSet_New=Module["_PyFrozenSet_New"]=function(){return Module["asm"]["_PyFrozenSet_New"].apply(null,arguments)};var _PyFunction_GetAnnotations=Module["_PyFunction_GetAnnotations"]=function(){return Module["asm"]["_PyFunction_GetAnnotations"].apply(null,arguments)};var _PyFunction_GetClosure=Module["_PyFunction_GetClosure"]=function(){return Module["asm"]["_PyFunction_GetClosure"].apply(null,arguments)};var _PyFunction_GetCode=Module["_PyFunction_GetCode"]=function(){return Module["asm"]["_PyFunction_GetCode"].apply(null,arguments)};var _PyFunction_GetDefaults=Module["_PyFunction_GetDefaults"]=function(){return Module["asm"]["_PyFunction_GetDefaults"].apply(null,arguments)};var _PyFunction_GetGlobals=Module["_PyFunction_GetGlobals"]=function(){return Module["asm"]["_PyFunction_GetGlobals"].apply(null,arguments)};var _PyFunction_GetKwDefaults=Module["_PyFunction_GetKwDefaults"]=function(){return Module["asm"]["_PyFunction_GetKwDefaults"].apply(null,arguments)};var _PyFunction_GetModule=Module["_PyFunction_GetModule"]=function(){return Module["asm"]["_PyFunction_GetModule"].apply(null,arguments)};var _PyFunction_New=Module["_PyFunction_New"]=function(){return Module["asm"]["_PyFunction_New"].apply(null,arguments)};var _PyFunction_NewWithQualName=Module["_PyFunction_NewWithQualName"]=function(){return Module["asm"]["_PyFunction_NewWithQualName"].apply(null,arguments)};var _PyFunction_SetAnnotations=Module["_PyFunction_SetAnnotations"]=function(){return Module["asm"]["_PyFunction_SetAnnotations"].apply(null,arguments)};var _PyFunction_SetClosure=Module["_PyFunction_SetClosure"]=function(){return Module["asm"]["_PyFunction_SetClosure"].apply(null,arguments)};var _PyFunction_SetDefaults=Module["_PyFunction_SetDefaults"]=function(){return Module["asm"]["_PyFunction_SetDefaults"].apply(null,arguments)};var _PyFunction_SetKwDefaults=Module["_PyFunction_SetKwDefaults"]=function(){return Module["asm"]["_PyFunction_SetKwDefaults"].apply(null,arguments)};var _PyFuture_FromAST=Module["_PyFuture_FromAST"]=function(){return Module["asm"]["_PyFuture_FromAST"].apply(null,arguments)};var _PyFuture_FromASTObject=Module["_PyFuture_FromASTObject"]=function(){return Module["asm"]["_PyFuture_FromASTObject"].apply(null,arguments)};var _PyGC_Collect=Module["_PyGC_Collect"]=function(){return Module["asm"]["_PyGC_Collect"].apply(null,arguments)};var _PyGILState_Check=Module["_PyGILState_Check"]=function(){return Module["asm"]["_PyGILState_Check"].apply(null,arguments)};var _PyGILState_Ensure=Module["_PyGILState_Ensure"]=function(){return Module["asm"]["_PyGILState_Ensure"].apply(null,arguments)};var _PyGILState_GetThisThreadState=Module["_PyGILState_GetThisThreadState"]=function(){return Module["asm"]["_PyGILState_GetThisThreadState"].apply(null,arguments)};var _PyGILState_Release=Module["_PyGILState_Release"]=function(){return Module["asm"]["_PyGILState_Release"].apply(null,arguments)};var _PyGen_NeedsFinalizing=Module["_PyGen_NeedsFinalizing"]=function(){return Module["asm"]["_PyGen_NeedsFinalizing"].apply(null,arguments)};var _PyGen_New=Module["_PyGen_New"]=function(){return Module["asm"]["_PyGen_New"].apply(null,arguments)};var _PyGen_NewWithQualName=Module["_PyGen_NewWithQualName"]=function(){return Module["asm"]["_PyGen_NewWithQualName"].apply(null,arguments)};var _PyGrammar_AddAccelerators=Module["_PyGrammar_AddAccelerators"]=function(){return Module["asm"]["_PyGrammar_AddAccelerators"].apply(null,arguments)};var _PyGrammar_FindDFA=Module["_PyGrammar_FindDFA"]=function(){return Module["asm"]["_PyGrammar_FindDFA"].apply(null,arguments)};var _PyGrammar_LabelRepr=Module["_PyGrammar_LabelRepr"]=function(){return Module["asm"]["_PyGrammar_LabelRepr"].apply(null,arguments)};var _PyGrammar_RemoveAccelerators=Module["_PyGrammar_RemoveAccelerators"]=function(){return Module["asm"]["_PyGrammar_RemoveAccelerators"].apply(null,arguments)};var _PyHash_GetFuncDef=Module["_PyHash_GetFuncDef"]=function(){return Module["asm"]["_PyHash_GetFuncDef"].apply(null,arguments)};var _PyImport_AddModule=Module["_PyImport_AddModule"]=function(){return Module["asm"]["_PyImport_AddModule"].apply(null,arguments)};var _PyImport_AddModuleObject=Module["_PyImport_AddModuleObject"]=function(){return Module["asm"]["_PyImport_AddModuleObject"].apply(null,arguments)};var _PyImport_AppendInittab=Module["_PyImport_AppendInittab"]=function(){return Module["asm"]["_PyImport_AppendInittab"].apply(null,arguments)};var _PyImport_Cleanup=Module["_PyImport_Cleanup"]=function(){return Module["asm"]["_PyImport_Cleanup"].apply(null,arguments)};var _PyImport_ExecCodeModule=Module["_PyImport_ExecCodeModule"]=function(){return Module["asm"]["_PyImport_ExecCodeModule"].apply(null,arguments)};var _PyImport_ExecCodeModuleEx=Module["_PyImport_ExecCodeModuleEx"]=function(){return Module["asm"]["_PyImport_ExecCodeModuleEx"].apply(null,arguments)};var _PyImport_ExecCodeModuleObject=Module["_PyImport_ExecCodeModuleObject"]=function(){return Module["asm"]["_PyImport_ExecCodeModuleObject"].apply(null,arguments)};var _PyImport_ExecCodeModuleWithPathnames=Module["_PyImport_ExecCodeModuleWithPathnames"]=function(){return Module["asm"]["_PyImport_ExecCodeModuleWithPathnames"].apply(null,arguments)};var _PyImport_ExtendInittab=Module["_PyImport_ExtendInittab"]=function(){return Module["asm"]["_PyImport_ExtendInittab"].apply(null,arguments)};var _PyImport_GetImporter=Module["_PyImport_GetImporter"]=function(){return Module["asm"]["_PyImport_GetImporter"].apply(null,arguments)};var _PyImport_GetMagicNumber=Module["_PyImport_GetMagicNumber"]=function(){return Module["asm"]["_PyImport_GetMagicNumber"].apply(null,arguments)};var _PyImport_GetMagicTag=Module["_PyImport_GetMagicTag"]=function(){return Module["asm"]["_PyImport_GetMagicTag"].apply(null,arguments)};var _PyImport_GetModule=Module["_PyImport_GetModule"]=function(){return Module["asm"]["_PyImport_GetModule"].apply(null,arguments)};var _PyImport_GetModuleDict=Module["_PyImport_GetModuleDict"]=function(){return Module["asm"]["_PyImport_GetModuleDict"].apply(null,arguments)};var _PyImport_Import=Module["_PyImport_Import"]=function(){return Module["asm"]["_PyImport_Import"].apply(null,arguments)};var _PyImport_ImportFrozenModule=Module["_PyImport_ImportFrozenModule"]=function(){return Module["asm"]["_PyImport_ImportFrozenModule"].apply(null,arguments)};var _PyImport_ImportFrozenModuleObject=Module["_PyImport_ImportFrozenModuleObject"]=function(){return Module["asm"]["_PyImport_ImportFrozenModuleObject"].apply(null,arguments)};var _PyImport_ImportModule=Module["_PyImport_ImportModule"]=function(){return Module["asm"]["_PyImport_ImportModule"].apply(null,arguments)};var _PyImport_ImportModuleLevel=Module["_PyImport_ImportModuleLevel"]=function(){return Module["asm"]["_PyImport_ImportModuleLevel"].apply(null,arguments)};var _PyImport_ImportModuleLevelObject=Module["_PyImport_ImportModuleLevelObject"]=function(){return Module["asm"]["_PyImport_ImportModuleLevelObject"].apply(null,arguments)};var _PyImport_ImportModuleNoBlock=Module["_PyImport_ImportModuleNoBlock"]=function(){return Module["asm"]["_PyImport_ImportModuleNoBlock"].apply(null,arguments)};var _PyImport_ReloadModule=Module["_PyImport_ReloadModule"]=function(){return Module["asm"]["_PyImport_ReloadModule"].apply(null,arguments)};var _PyInit__abc=Module["_PyInit__abc"]=function(){return Module["asm"]["_PyInit__abc"].apply(null,arguments)};var _PyInit__ast=Module["_PyInit__ast"]=function(){return Module["asm"]["_PyInit__ast"].apply(null,arguments)};var _PyInit__bisect=Module["_PyInit__bisect"]=function(){return Module["asm"]["_PyInit__bisect"].apply(null,arguments)};var _PyInit__blake2=Module["_PyInit__blake2"]=function(){return Module["asm"]["_PyInit__blake2"].apply(null,arguments)};var _PyInit__bz2=Module["_PyInit__bz2"]=function(){return Module["asm"]["_PyInit__bz2"].apply(null,arguments)};var _PyInit__codecs=Module["_PyInit__codecs"]=function(){return Module["asm"]["_PyInit__codecs"].apply(null,arguments)};var _PyInit__codecs_cn=Module["_PyInit__codecs_cn"]=function(){return Module["asm"]["_PyInit__codecs_cn"].apply(null,arguments)};var _PyInit__codecs_hk=Module["_PyInit__codecs_hk"]=function(){return Module["asm"]["_PyInit__codecs_hk"].apply(null,arguments)};var _PyInit__codecs_iso2022=Module["_PyInit__codecs_iso2022"]=function(){return Module["asm"]["_PyInit__codecs_iso2022"].apply(null,arguments)};var _PyInit__codecs_jp=Module["_PyInit__codecs_jp"]=function(){return Module["asm"]["_PyInit__codecs_jp"].apply(null,arguments)};var _PyInit__codecs_kr=Module["_PyInit__codecs_kr"]=function(){return Module["asm"]["_PyInit__codecs_kr"].apply(null,arguments)};var _PyInit__codecs_tw=Module["_PyInit__codecs_tw"]=function(){return Module["asm"]["_PyInit__codecs_tw"].apply(null,arguments)};var _PyInit__collections=Module["_PyInit__collections"]=function(){return Module["asm"]["_PyInit__collections"].apply(null,arguments)};var _PyInit__contextvars=Module["_PyInit__contextvars"]=function(){return Module["asm"]["_PyInit__contextvars"].apply(null,arguments)};var _PyInit__crypt=Module["_PyInit__crypt"]=function(){return Module["asm"]["_PyInit__crypt"].apply(null,arguments)};var _PyInit__csv=Module["_PyInit__csv"]=function(){return Module["asm"]["_PyInit__csv"].apply(null,arguments)};var _PyInit__datetime=Module["_PyInit__datetime"]=function(){return Module["asm"]["_PyInit__datetime"].apply(null,arguments)};var _PyInit__decimal=Module["_PyInit__decimal"]=function(){return Module["asm"]["_PyInit__decimal"].apply(null,arguments)};var _PyInit__functools=Module["_PyInit__functools"]=function(){return Module["asm"]["_PyInit__functools"].apply(null,arguments)};var _PyInit__heapq=Module["_PyInit__heapq"]=function(){return Module["asm"]["_PyInit__heapq"].apply(null,arguments)};var _PyInit__imp=Module["_PyInit__imp"]=function(){return Module["asm"]["_PyInit__imp"].apply(null,arguments)};var _PyInit__io=Module["_PyInit__io"]=function(){return Module["asm"]["_PyInit__io"].apply(null,arguments)};var _PyInit__json=Module["_PyInit__json"]=function(){return Module["asm"]["_PyInit__json"].apply(null,arguments)};var _PyInit__locale=Module["_PyInit__locale"]=function(){return Module["asm"]["_PyInit__locale"].apply(null,arguments)};var _PyInit__lsprof=Module["_PyInit__lsprof"]=function(){return Module["asm"]["_PyInit__lsprof"].apply(null,arguments)};var _PyInit__md5=Module["_PyInit__md5"]=function(){return Module["asm"]["_PyInit__md5"].apply(null,arguments)};var _PyInit__multibytecodec=Module["_PyInit__multibytecodec"]=function(){return Module["asm"]["_PyInit__multibytecodec"].apply(null,arguments)};var _PyInit__operator=Module["_PyInit__operator"]=function(){return Module["asm"]["_PyInit__operator"].apply(null,arguments)};var _PyInit__pickle=Module["_PyInit__pickle"]=function(){return Module["asm"]["_PyInit__pickle"].apply(null,arguments)};var _PyInit__posixsubprocess=Module["_PyInit__posixsubprocess"]=function(){return Module["asm"]["_PyInit__posixsubprocess"].apply(null,arguments)};var _PyInit__queue=Module["_PyInit__queue"]=function(){return Module["asm"]["_PyInit__queue"].apply(null,arguments)};var _PyInit__random=Module["_PyInit__random"]=function(){return Module["asm"]["_PyInit__random"].apply(null,arguments)};var _PyInit__sha1=Module["_PyInit__sha1"]=function(){return Module["asm"]["_PyInit__sha1"].apply(null,arguments)};var _PyInit__sha256=Module["_PyInit__sha256"]=function(){return Module["asm"]["_PyInit__sha256"].apply(null,arguments)};var _PyInit__sha3=Module["_PyInit__sha3"]=function(){return Module["asm"]["_PyInit__sha3"].apply(null,arguments)};var _PyInit__sha512=Module["_PyInit__sha512"]=function(){return Module["asm"]["_PyInit__sha512"].apply(null,arguments)};var _PyInit__signal=Module["_PyInit__signal"]=function(){return Module["asm"]["_PyInit__signal"].apply(null,arguments)};var _PyInit__socket=Module["_PyInit__socket"]=function(){return Module["asm"]["_PyInit__socket"].apply(null,arguments)};var _PyInit__sqlite3=Module["_PyInit__sqlite3"]=function(){return Module["asm"]["_PyInit__sqlite3"].apply(null,arguments)};var _PyInit__sre=Module["_PyInit__sre"]=function(){return Module["asm"]["_PyInit__sre"].apply(null,arguments)};var _PyInit__stat=Module["_PyInit__stat"]=function(){return Module["asm"]["_PyInit__stat"].apply(null,arguments)};var _PyInit__string=Module["_PyInit__string"]=function(){return Module["asm"]["_PyInit__string"].apply(null,arguments)};var _PyInit__struct=Module["_PyInit__struct"]=function(){return Module["asm"]["_PyInit__struct"].apply(null,arguments)};var _PyInit__symtable=Module["_PyInit__symtable"]=function(){return Module["asm"]["_PyInit__symtable"].apply(null,arguments)};var _PyInit__thread=Module["_PyInit__thread"]=function(){return Module["asm"]["_PyInit__thread"].apply(null,arguments)};var _PyInit__tracemalloc=Module["_PyInit__tracemalloc"]=function(){return Module["asm"]["_PyInit__tracemalloc"].apply(null,arguments)};var _PyInit__weakref=Module["_PyInit__weakref"]=function(){return Module["asm"]["_PyInit__weakref"].apply(null,arguments)};var _PyInit_array=Module["_PyInit_array"]=function(){return Module["asm"]["_PyInit_array"].apply(null,arguments)};var _PyInit_atexit=Module["_PyInit_atexit"]=function(){return Module["asm"]["_PyInit_atexit"].apply(null,arguments)};var _PyInit_binascii=Module["_PyInit_binascii"]=function(){return Module["asm"]["_PyInit_binascii"].apply(null,arguments)};var _PyInit_cmath=Module["_PyInit_cmath"]=function(){return Module["asm"]["_PyInit_cmath"].apply(null,arguments)};var _PyInit_errno=Module["_PyInit_errno"]=function(){return Module["asm"]["_PyInit_errno"].apply(null,arguments)};var _PyInit_faulthandler=Module["_PyInit_faulthandler"]=function(){return Module["asm"]["_PyInit_faulthandler"].apply(null,arguments)};var _PyInit_gc=Module["_PyInit_gc"]=function(){return Module["asm"]["_PyInit_gc"].apply(null,arguments)};var _PyInit_itertools=Module["_PyInit_itertools"]=function(){return Module["asm"]["_PyInit_itertools"].apply(null,arguments)};var _PyInit_math=Module["_PyInit_math"]=function(){return Module["asm"]["_PyInit_math"].apply(null,arguments)};var _PyInit_mmap=Module["_PyInit_mmap"]=function(){return Module["asm"]["_PyInit_mmap"].apply(null,arguments)};var _PyInit_parser=Module["_PyInit_parser"]=function(){return Module["asm"]["_PyInit_parser"].apply(null,arguments)};var _PyInit_posix=Module["_PyInit_posix"]=function(){return Module["asm"]["_PyInit_posix"].apply(null,arguments)};var _PyInit_pwd=Module["_PyInit_pwd"]=function(){return Module["asm"]["_PyInit_pwd"].apply(null,arguments)};var _PyInit_pyexpat=Module["_PyInit_pyexpat"]=function(){return Module["asm"]["_PyInit_pyexpat"].apply(null,arguments)};var _PyInit_select=Module["_PyInit_select"]=function(){return Module["asm"]["_PyInit_select"].apply(null,arguments)};var _PyInit_time=Module["_PyInit_time"]=function(){return Module["asm"]["_PyInit_time"].apply(null,arguments)};var _PyInit_unicodedata=Module["_PyInit_unicodedata"]=function(){return Module["asm"]["_PyInit_unicodedata"].apply(null,arguments)};var _PyInit_xxsubtype=Module["_PyInit_xxsubtype"]=function(){return Module["asm"]["_PyInit_xxsubtype"].apply(null,arguments)};var _PyInit_zipimport=Module["_PyInit_zipimport"]=function(){return Module["asm"]["_PyInit_zipimport"].apply(null,arguments)};var _PyInit_zlib=Module["_PyInit_zlib"]=function(){return Module["asm"]["_PyInit_zlib"].apply(null,arguments)};var _PyInstanceMethod_Function=Module["_PyInstanceMethod_Function"]=function(){return Module["asm"]["_PyInstanceMethod_Function"].apply(null,arguments)};var _PyInstanceMethod_New=Module["_PyInstanceMethod_New"]=function(){return Module["asm"]["_PyInstanceMethod_New"].apply(null,arguments)};var _PyInterpreterState_Clear=Module["_PyInterpreterState_Clear"]=function(){return Module["asm"]["_PyInterpreterState_Clear"].apply(null,arguments)};var _PyInterpreterState_Delete=Module["_PyInterpreterState_Delete"]=function(){return Module["asm"]["_PyInterpreterState_Delete"].apply(null,arguments)};var _PyInterpreterState_GetID=Module["_PyInterpreterState_GetID"]=function(){return Module["asm"]["_PyInterpreterState_GetID"].apply(null,arguments)};var _PyInterpreterState_Head=Module["_PyInterpreterState_Head"]=function(){return Module["asm"]["_PyInterpreterState_Head"].apply(null,arguments)};var _PyInterpreterState_Main=Module["_PyInterpreterState_Main"]=function(){return Module["asm"]["_PyInterpreterState_Main"].apply(null,arguments)};var _PyInterpreterState_New=Module["_PyInterpreterState_New"]=function(){return Module["asm"]["_PyInterpreterState_New"].apply(null,arguments)};var _PyInterpreterState_Next=Module["_PyInterpreterState_Next"]=function(){return Module["asm"]["_PyInterpreterState_Next"].apply(null,arguments)};var _PyInterpreterState_ThreadHead=Module["_PyInterpreterState_ThreadHead"]=function(){return Module["asm"]["_PyInterpreterState_ThreadHead"].apply(null,arguments)};var _PyIntl_bind_textdomain_codeset=Module["_PyIntl_bind_textdomain_codeset"]=function(){return Module["asm"]["_PyIntl_bind_textdomain_codeset"].apply(null,arguments)};var _PyIntl_bindtextdomain=Module["_PyIntl_bindtextdomain"]=function(){return Module["asm"]["_PyIntl_bindtextdomain"].apply(null,arguments)};var _PyIntl_dcgettext=Module["_PyIntl_dcgettext"]=function(){return Module["asm"]["_PyIntl_dcgettext"].apply(null,arguments)};var _PyIntl_dgettext=Module["_PyIntl_dgettext"]=function(){return Module["asm"]["_PyIntl_dgettext"].apply(null,arguments)};var _PyIntl_gettext=Module["_PyIntl_gettext"]=function(){return Module["asm"]["_PyIntl_gettext"].apply(null,arguments)};var _PyIntl_textdomain=Module["_PyIntl_textdomain"]=function(){return Module["asm"]["_PyIntl_textdomain"].apply(null,arguments)};var _PyIter_Next=Module["_PyIter_Next"]=function(){return Module["asm"]["_PyIter_Next"].apply(null,arguments)};var _PyList_Append=Module["_PyList_Append"]=function(){return Module["asm"]["_PyList_Append"].apply(null,arguments)};var _PyList_AsTuple=Module["_PyList_AsTuple"]=function(){return Module["asm"]["_PyList_AsTuple"].apply(null,arguments)};var _PyList_ClearFreeList=Module["_PyList_ClearFreeList"]=function(){return Module["asm"]["_PyList_ClearFreeList"].apply(null,arguments)};var _PyList_Fini=Module["_PyList_Fini"]=function(){return Module["asm"]["_PyList_Fini"].apply(null,arguments)};var _PyList_GetItem=Module["_PyList_GetItem"]=function(){return Module["asm"]["_PyList_GetItem"].apply(null,arguments)};var _PyList_GetSlice=Module["_PyList_GetSlice"]=function(){return Module["asm"]["_PyList_GetSlice"].apply(null,arguments)};var _PyList_Insert=Module["_PyList_Insert"]=function(){return Module["asm"]["_PyList_Insert"].apply(null,arguments)};var _PyList_New=Module["_PyList_New"]=function(){return Module["asm"]["_PyList_New"].apply(null,arguments)};var _PyList_Reverse=Module["_PyList_Reverse"]=function(){return Module["asm"]["_PyList_Reverse"].apply(null,arguments)};var _PyList_SetItem=Module["_PyList_SetItem"]=function(){return Module["asm"]["_PyList_SetItem"].apply(null,arguments)};var _PyList_SetSlice=Module["_PyList_SetSlice"]=function(){return Module["asm"]["_PyList_SetSlice"].apply(null,arguments)};var _PyList_Size=Module["_PyList_Size"]=function(){return Module["asm"]["_PyList_Size"].apply(null,arguments)};var _PyList_Sort=Module["_PyList_Sort"]=function(){return Module["asm"]["_PyList_Sort"].apply(null,arguments)};var _PyLocale_localeconv=Module["_PyLocale_localeconv"]=function(){return Module["asm"]["_PyLocale_localeconv"].apply(null,arguments)};var _PyLocale_nl_langinfo=Module["_PyLocale_nl_langinfo"]=function(){return Module["asm"]["_PyLocale_nl_langinfo"].apply(null,arguments)};var _PyLocale_setlocale=Module["_PyLocale_setlocale"]=function(){return Module["asm"]["_PyLocale_setlocale"].apply(null,arguments)};var _PyLocale_strcoll=Module["_PyLocale_strcoll"]=function(){return Module["asm"]["_PyLocale_strcoll"].apply(null,arguments)};var _PyLocale_strxfrm=Module["_PyLocale_strxfrm"]=function(){return Module["asm"]["_PyLocale_strxfrm"].apply(null,arguments)};var _PyLong_AsDouble=Module["_PyLong_AsDouble"]=function(){return Module["asm"]["_PyLong_AsDouble"].apply(null,arguments)};var _PyLong_AsLong=Module["_PyLong_AsLong"]=function(){return Module["asm"]["_PyLong_AsLong"].apply(null,arguments)};var _PyLong_AsLongAndOverflow=Module["_PyLong_AsLongAndOverflow"]=function(){return Module["asm"]["_PyLong_AsLongAndOverflow"].apply(null,arguments)};var _PyLong_AsLongLong=Module["_PyLong_AsLongLong"]=function(){return Module["asm"]["_PyLong_AsLongLong"].apply(null,arguments)};var _PyLong_AsLongLongAndOverflow=Module["_PyLong_AsLongLongAndOverflow"]=function(){return Module["asm"]["_PyLong_AsLongLongAndOverflow"].apply(null,arguments)};var _PyLong_AsSize_t=Module["_PyLong_AsSize_t"]=function(){return Module["asm"]["_PyLong_AsSize_t"].apply(null,arguments)};var _PyLong_AsSsize_t=Module["_PyLong_AsSsize_t"]=function(){return Module["asm"]["_PyLong_AsSsize_t"].apply(null,arguments)};var _PyLong_AsUnsignedLong=Module["_PyLong_AsUnsignedLong"]=function(){return Module["asm"]["_PyLong_AsUnsignedLong"].apply(null,arguments)};var _PyLong_AsUnsignedLongLong=Module["_PyLong_AsUnsignedLongLong"]=function(){return Module["asm"]["_PyLong_AsUnsignedLongLong"].apply(null,arguments)};var _PyLong_AsUnsignedLongLongMask=Module["_PyLong_AsUnsignedLongLongMask"]=function(){return Module["asm"]["_PyLong_AsUnsignedLongLongMask"].apply(null,arguments)};var _PyLong_AsUnsignedLongMask=Module["_PyLong_AsUnsignedLongMask"]=function(){return Module["asm"]["_PyLong_AsUnsignedLongMask"].apply(null,arguments)};var _PyLong_AsVoidPtr=Module["_PyLong_AsVoidPtr"]=function(){return Module["asm"]["_PyLong_AsVoidPtr"].apply(null,arguments)};var _PyLong_Fini=Module["_PyLong_Fini"]=function(){return Module["asm"]["_PyLong_Fini"].apply(null,arguments)};var _PyLong_FromDouble=Module["_PyLong_FromDouble"]=function(){return Module["asm"]["_PyLong_FromDouble"].apply(null,arguments)};var _PyLong_FromLong=Module["_PyLong_FromLong"]=function(){return Module["asm"]["_PyLong_FromLong"].apply(null,arguments)};var _PyLong_FromLongLong=Module["_PyLong_FromLongLong"]=function(){return Module["asm"]["_PyLong_FromLongLong"].apply(null,arguments)};var _PyLong_FromSize_t=Module["_PyLong_FromSize_t"]=function(){return Module["asm"]["_PyLong_FromSize_t"].apply(null,arguments)};var _PyLong_FromSsize_t=Module["_PyLong_FromSsize_t"]=function(){return Module["asm"]["_PyLong_FromSsize_t"].apply(null,arguments)};var _PyLong_FromString=Module["_PyLong_FromString"]=function(){return Module["asm"]["_PyLong_FromString"].apply(null,arguments)};var _PyLong_FromUnicode=Module["_PyLong_FromUnicode"]=function(){return Module["asm"]["_PyLong_FromUnicode"].apply(null,arguments)};var _PyLong_FromUnicodeObject=Module["_PyLong_FromUnicodeObject"]=function(){return Module["asm"]["_PyLong_FromUnicodeObject"].apply(null,arguments)};var _PyLong_FromUnsignedLong=Module["_PyLong_FromUnsignedLong"]=function(){return Module["asm"]["_PyLong_FromUnsignedLong"].apply(null,arguments)};var _PyLong_FromUnsignedLongLong=Module["_PyLong_FromUnsignedLongLong"]=function(){return Module["asm"]["_PyLong_FromUnsignedLongLong"].apply(null,arguments)};var _PyLong_FromVoidPtr=Module["_PyLong_FromVoidPtr"]=function(){return Module["asm"]["_PyLong_FromVoidPtr"].apply(null,arguments)};var _PyLong_GetInfo=Module["_PyLong_GetInfo"]=function(){return Module["asm"]["_PyLong_GetInfo"].apply(null,arguments)};var _PyMapping_Check=Module["_PyMapping_Check"]=function(){return Module["asm"]["_PyMapping_Check"].apply(null,arguments)};var _PyMapping_GetItemString=Module["_PyMapping_GetItemString"]=function(){return Module["asm"]["_PyMapping_GetItemString"].apply(null,arguments)};var _PyMapping_HasKey=Module["_PyMapping_HasKey"]=function(){return Module["asm"]["_PyMapping_HasKey"].apply(null,arguments)};var _PyMapping_HasKeyString=Module["_PyMapping_HasKeyString"]=function(){return Module["asm"]["_PyMapping_HasKeyString"].apply(null,arguments)};var _PyMapping_Items=Module["_PyMapping_Items"]=function(){return Module["asm"]["_PyMapping_Items"].apply(null,arguments)};var _PyMapping_Keys=Module["_PyMapping_Keys"]=function(){return Module["asm"]["_PyMapping_Keys"].apply(null,arguments)};var _PyMapping_Length=Module["_PyMapping_Length"]=function(){return Module["asm"]["_PyMapping_Length"].apply(null,arguments)};var _PyMapping_SetItemString=Module["_PyMapping_SetItemString"]=function(){return Module["asm"]["_PyMapping_SetItemString"].apply(null,arguments)};var _PyMapping_Size=Module["_PyMapping_Size"]=function(){return Module["asm"]["_PyMapping_Size"].apply(null,arguments)};var _PyMapping_Values=Module["_PyMapping_Values"]=function(){return Module["asm"]["_PyMapping_Values"].apply(null,arguments)};var _PyMarshal_Init=Module["_PyMarshal_Init"]=function(){return Module["asm"]["_PyMarshal_Init"].apply(null,arguments)};var _PyMarshal_ReadLastObjectFromFile=Module["_PyMarshal_ReadLastObjectFromFile"]=function(){return Module["asm"]["_PyMarshal_ReadLastObjectFromFile"].apply(null,arguments)};var _PyMarshal_ReadLongFromFile=Module["_PyMarshal_ReadLongFromFile"]=function(){return Module["asm"]["_PyMarshal_ReadLongFromFile"].apply(null,arguments)};var _PyMarshal_ReadObjectFromFile=Module["_PyMarshal_ReadObjectFromFile"]=function(){return Module["asm"]["_PyMarshal_ReadObjectFromFile"].apply(null,arguments)};var _PyMarshal_ReadObjectFromString=Module["_PyMarshal_ReadObjectFromString"]=function(){return Module["asm"]["_PyMarshal_ReadObjectFromString"].apply(null,arguments)};var _PyMarshal_ReadShortFromFile=Module["_PyMarshal_ReadShortFromFile"]=function(){return Module["asm"]["_PyMarshal_ReadShortFromFile"].apply(null,arguments)};var _PyMarshal_WriteLongToFile=Module["_PyMarshal_WriteLongToFile"]=function(){return Module["asm"]["_PyMarshal_WriteLongToFile"].apply(null,arguments)};var _PyMarshal_WriteObjectToFile=Module["_PyMarshal_WriteObjectToFile"]=function(){return Module["asm"]["_PyMarshal_WriteObjectToFile"].apply(null,arguments)};var _PyMarshal_WriteObjectToString=Module["_PyMarshal_WriteObjectToString"]=function(){return Module["asm"]["_PyMarshal_WriteObjectToString"].apply(null,arguments)};var _PyMem_Calloc=Module["_PyMem_Calloc"]=function(){return Module["asm"]["_PyMem_Calloc"].apply(null,arguments)};var _PyMem_Free=Module["_PyMem_Free"]=function(){return Module["asm"]["_PyMem_Free"].apply(null,arguments)};var _PyMem_GetAllocator=Module["_PyMem_GetAllocator"]=function(){return Module["asm"]["_PyMem_GetAllocator"].apply(null,arguments)};var _PyMem_Malloc=Module["_PyMem_Malloc"]=function(){return Module["asm"]["_PyMem_Malloc"].apply(null,arguments)};var _PyMem_RawCalloc=Module["_PyMem_RawCalloc"]=function(){return Module["asm"]["_PyMem_RawCalloc"].apply(null,arguments)};var _PyMem_RawFree=Module["_PyMem_RawFree"]=function(){return Module["asm"]["_PyMem_RawFree"].apply(null,arguments)};var _PyMem_RawMalloc=Module["_PyMem_RawMalloc"]=function(){return Module["asm"]["_PyMem_RawMalloc"].apply(null,arguments)};var _PyMem_RawRealloc=Module["_PyMem_RawRealloc"]=function(){return Module["asm"]["_PyMem_RawRealloc"].apply(null,arguments)};var _PyMem_Realloc=Module["_PyMem_Realloc"]=function(){return Module["asm"]["_PyMem_Realloc"].apply(null,arguments)};var _PyMem_SetAllocator=Module["_PyMem_SetAllocator"]=function(){return Module["asm"]["_PyMem_SetAllocator"].apply(null,arguments)};var _PyMem_SetupDebugHooks=Module["_PyMem_SetupDebugHooks"]=function(){return Module["asm"]["_PyMem_SetupDebugHooks"].apply(null,arguments)};var _PyMember_GetOne=Module["_PyMember_GetOne"]=function(){return Module["asm"]["_PyMember_GetOne"].apply(null,arguments)};var _PyMember_SetOne=Module["_PyMember_SetOne"]=function(){return Module["asm"]["_PyMember_SetOne"].apply(null,arguments)};var _PyMemoTable_Set=Module["_PyMemoTable_Set"]=function(){return Module["asm"]["_PyMemoTable_Set"].apply(null,arguments)};var _PyMemoryView_FromBuffer=Module["_PyMemoryView_FromBuffer"]=function(){return Module["asm"]["_PyMemoryView_FromBuffer"].apply(null,arguments)};var _PyMemoryView_FromMemory=Module["_PyMemoryView_FromMemory"]=function(){return Module["asm"]["_PyMemoryView_FromMemory"].apply(null,arguments)};var _PyMemoryView_FromObject=Module["_PyMemoryView_FromObject"]=function(){return Module["asm"]["_PyMemoryView_FromObject"].apply(null,arguments)};var _PyMemoryView_GetContiguous=Module["_PyMemoryView_GetContiguous"]=function(){return Module["asm"]["_PyMemoryView_GetContiguous"].apply(null,arguments)};var _PyMethod_ClearFreeList=Module["_PyMethod_ClearFreeList"]=function(){return Module["asm"]["_PyMethod_ClearFreeList"].apply(null,arguments)};var _PyMethod_Fini=Module["_PyMethod_Fini"]=function(){return Module["asm"]["_PyMethod_Fini"].apply(null,arguments)};var _PyMethod_Function=Module["_PyMethod_Function"]=function(){return Module["asm"]["_PyMethod_Function"].apply(null,arguments)};var _PyMethod_New=Module["_PyMethod_New"]=function(){return Module["asm"]["_PyMethod_New"].apply(null,arguments)};var _PyMethod_Self=Module["_PyMethod_Self"]=function(){return Module["asm"]["_PyMethod_Self"].apply(null,arguments)};var _PyModuleDef_Init=Module["_PyModuleDef_Init"]=function(){return Module["asm"]["_PyModuleDef_Init"].apply(null,arguments)};var _PyModule_AddFunctions=Module["_PyModule_AddFunctions"]=function(){return Module["asm"]["_PyModule_AddFunctions"].apply(null,arguments)};var _PyModule_AddIntConstant=Module["_PyModule_AddIntConstant"]=function(){return Module["asm"]["_PyModule_AddIntConstant"].apply(null,arguments)};var _PyModule_AddObject=Module["_PyModule_AddObject"]=function(){return Module["asm"]["_PyModule_AddObject"].apply(null,arguments)};var _PyModule_AddStringConstant=Module["_PyModule_AddStringConstant"]=function(){return Module["asm"]["_PyModule_AddStringConstant"].apply(null,arguments)};var _PyModule_Create2=Module["_PyModule_Create2"]=function(){return Module["asm"]["_PyModule_Create2"].apply(null,arguments)};var _PyModule_ExecDef=Module["_PyModule_ExecDef"]=function(){return Module["asm"]["_PyModule_ExecDef"].apply(null,arguments)};var _PyModule_FromDefAndSpec2=Module["_PyModule_FromDefAndSpec2"]=function(){return Module["asm"]["_PyModule_FromDefAndSpec2"].apply(null,arguments)};var _PyModule_GetDef=Module["_PyModule_GetDef"]=function(){return Module["asm"]["_PyModule_GetDef"].apply(null,arguments)};var _PyModule_GetDict=Module["_PyModule_GetDict"]=function(){return Module["asm"]["_PyModule_GetDict"].apply(null,arguments)};var _PyModule_GetFilename=Module["_PyModule_GetFilename"]=function(){return Module["asm"]["_PyModule_GetFilename"].apply(null,arguments)};var _PyModule_GetFilenameObject=Module["_PyModule_GetFilenameObject"]=function(){return Module["asm"]["_PyModule_GetFilenameObject"].apply(null,arguments)};var _PyModule_GetName=Module["_PyModule_GetName"]=function(){return Module["asm"]["_PyModule_GetName"].apply(null,arguments)};var _PyModule_GetNameObject=Module["_PyModule_GetNameObject"]=function(){return Module["asm"]["_PyModule_GetNameObject"].apply(null,arguments)};var _PyModule_GetState=Module["_PyModule_GetState"]=function(){return Module["asm"]["_PyModule_GetState"].apply(null,arguments)};var _PyModule_GetWarningsModule=Module["_PyModule_GetWarningsModule"]=function(){return Module["asm"]["_PyModule_GetWarningsModule"].apply(null,arguments)};var _PyModule_New=Module["_PyModule_New"]=function(){return Module["asm"]["_PyModule_New"].apply(null,arguments)};var _PyModule_NewObject=Module["_PyModule_NewObject"]=function(){return Module["asm"]["_PyModule_NewObject"].apply(null,arguments)};var _PyModule_SetDocString=Module["_PyModule_SetDocString"]=function(){return Module["asm"]["_PyModule_SetDocString"].apply(null,arguments)};var _PyNode_AddChild=Module["_PyNode_AddChild"]=function(){return Module["asm"]["_PyNode_AddChild"].apply(null,arguments)};var _PyNode_Compile=Module["_PyNode_Compile"]=function(){return Module["asm"]["_PyNode_Compile"].apply(null,arguments)};var _PyNode_Free=Module["_PyNode_Free"]=function(){return Module["asm"]["_PyNode_Free"].apply(null,arguments)};var _PyNode_ListTree=Module["_PyNode_ListTree"]=function(){return Module["asm"]["_PyNode_ListTree"].apply(null,arguments)};var _PyNode_New=Module["_PyNode_New"]=function(){return Module["asm"]["_PyNode_New"].apply(null,arguments)};var _PyNumber_Absolute=Module["_PyNumber_Absolute"]=function(){return Module["asm"]["_PyNumber_Absolute"].apply(null,arguments)};var _PyNumber_Add=Module["_PyNumber_Add"]=function(){return Module["asm"]["_PyNumber_Add"].apply(null,arguments)};var _PyNumber_And=Module["_PyNumber_And"]=function(){return Module["asm"]["_PyNumber_And"].apply(null,arguments)};var _PyNumber_AsOff_t=Module["_PyNumber_AsOff_t"]=function(){return Module["asm"]["_PyNumber_AsOff_t"].apply(null,arguments)};var _PyNumber_AsSsize_t=Module["_PyNumber_AsSsize_t"]=function(){return Module["asm"]["_PyNumber_AsSsize_t"].apply(null,arguments)};var _PyNumber_Check=Module["_PyNumber_Check"]=function(){return Module["asm"]["_PyNumber_Check"].apply(null,arguments)};var _PyNumber_Divmod=Module["_PyNumber_Divmod"]=function(){return Module["asm"]["_PyNumber_Divmod"].apply(null,arguments)};var _PyNumber_Float=Module["_PyNumber_Float"]=function(){return Module["asm"]["_PyNumber_Float"].apply(null,arguments)};var _PyNumber_FloorDivide=Module["_PyNumber_FloorDivide"]=function(){return Module["asm"]["_PyNumber_FloorDivide"].apply(null,arguments)};var _PyNumber_InMatrixMultiply=Module["_PyNumber_InMatrixMultiply"]=function(){return Module["asm"]["_PyNumber_InMatrixMultiply"].apply(null,arguments)};var _PyNumber_InPlaceAdd=Module["_PyNumber_InPlaceAdd"]=function(){return Module["asm"]["_PyNumber_InPlaceAdd"].apply(null,arguments)};var _PyNumber_InPlaceAnd=Module["_PyNumber_InPlaceAnd"]=function(){return Module["asm"]["_PyNumber_InPlaceAnd"].apply(null,arguments)};var _PyNumber_InPlaceFloorDivide=Module["_PyNumber_InPlaceFloorDivide"]=function(){return Module["asm"]["_PyNumber_InPlaceFloorDivide"].apply(null,arguments)};var _PyNumber_InPlaceLshift=Module["_PyNumber_InPlaceLshift"]=function(){return Module["asm"]["_PyNumber_InPlaceLshift"].apply(null,arguments)};var _PyNumber_InPlaceMatrixMultiply=Module["_PyNumber_InPlaceMatrixMultiply"]=function(){return Module["asm"]["_PyNumber_InPlaceMatrixMultiply"].apply(null,arguments)};var _PyNumber_InPlaceMultiply=Module["_PyNumber_InPlaceMultiply"]=function(){return Module["asm"]["_PyNumber_InPlaceMultiply"].apply(null,arguments)};var _PyNumber_InPlaceOr=Module["_PyNumber_InPlaceOr"]=function(){return Module["asm"]["_PyNumber_InPlaceOr"].apply(null,arguments)};var _PyNumber_InPlacePower=Module["_PyNumber_InPlacePower"]=function(){return Module["asm"]["_PyNumber_InPlacePower"].apply(null,arguments)};var _PyNumber_InPlaceRemainder=Module["_PyNumber_InPlaceRemainder"]=function(){return Module["asm"]["_PyNumber_InPlaceRemainder"].apply(null,arguments)};var _PyNumber_InPlaceRshift=Module["_PyNumber_InPlaceRshift"]=function(){return Module["asm"]["_PyNumber_InPlaceRshift"].apply(null,arguments)};var _PyNumber_InPlaceSubtract=Module["_PyNumber_InPlaceSubtract"]=function(){return Module["asm"]["_PyNumber_InPlaceSubtract"].apply(null,arguments)};var _PyNumber_InPlaceTrueDivide=Module["_PyNumber_InPlaceTrueDivide"]=function(){return Module["asm"]["_PyNumber_InPlaceTrueDivide"].apply(null,arguments)};var _PyNumber_InPlaceXor=Module["_PyNumber_InPlaceXor"]=function(){return Module["asm"]["_PyNumber_InPlaceXor"].apply(null,arguments)};var _PyNumber_Index=Module["_PyNumber_Index"]=function(){return Module["asm"]["_PyNumber_Index"].apply(null,arguments)};var _PyNumber_Invert=Module["_PyNumber_Invert"]=function(){return Module["asm"]["_PyNumber_Invert"].apply(null,arguments)};var _PyNumber_Long=Module["_PyNumber_Long"]=function(){return Module["asm"]["_PyNumber_Long"].apply(null,arguments)};var _PyNumber_Lshift=Module["_PyNumber_Lshift"]=function(){return Module["asm"]["_PyNumber_Lshift"].apply(null,arguments)};var _PyNumber_MatrixMultiply=Module["_PyNumber_MatrixMultiply"]=function(){return Module["asm"]["_PyNumber_MatrixMultiply"].apply(null,arguments)};var _PyNumber_Multiply=Module["_PyNumber_Multiply"]=function(){return Module["asm"]["_PyNumber_Multiply"].apply(null,arguments)};var _PyNumber_Negative=Module["_PyNumber_Negative"]=function(){return Module["asm"]["_PyNumber_Negative"].apply(null,arguments)};var _PyNumber_Or=Module["_PyNumber_Or"]=function(){return Module["asm"]["_PyNumber_Or"].apply(null,arguments)};var _PyNumber_Positive=Module["_PyNumber_Positive"]=function(){return Module["asm"]["_PyNumber_Positive"].apply(null,arguments)};var _PyNumber_Power=Module["_PyNumber_Power"]=function(){return Module["asm"]["_PyNumber_Power"].apply(null,arguments)};var _PyNumber_Remainder=Module["_PyNumber_Remainder"]=function(){return Module["asm"]["_PyNumber_Remainder"].apply(null,arguments)};var _PyNumber_Rshift=Module["_PyNumber_Rshift"]=function(){return Module["asm"]["_PyNumber_Rshift"].apply(null,arguments)};var _PyNumber_Subtract=Module["_PyNumber_Subtract"]=function(){return Module["asm"]["_PyNumber_Subtract"].apply(null,arguments)};var _PyNumber_ToBase=Module["_PyNumber_ToBase"]=function(){return Module["asm"]["_PyNumber_ToBase"].apply(null,arguments)};var _PyNumber_TrueDivide=Module["_PyNumber_TrueDivide"]=function(){return Module["asm"]["_PyNumber_TrueDivide"].apply(null,arguments)};var _PyNumber_Xor=Module["_PyNumber_Xor"]=function(){return Module["asm"]["_PyNumber_Xor"].apply(null,arguments)};var _PyODict_DelItem=Module["_PyODict_DelItem"]=function(){return Module["asm"]["_PyODict_DelItem"].apply(null,arguments)};var _PyODict_New=Module["_PyODict_New"]=function(){return Module["asm"]["_PyODict_New"].apply(null,arguments)};var _PyODict_SetItem=Module["_PyODict_SetItem"]=function(){return Module["asm"]["_PyODict_SetItem"].apply(null,arguments)};var _PyOS_AfterFork=Module["_PyOS_AfterFork"]=function(){return Module["asm"]["_PyOS_AfterFork"].apply(null,arguments)};var _PyOS_AfterFork_Child=Module["_PyOS_AfterFork_Child"]=function(){return Module["asm"]["_PyOS_AfterFork_Child"].apply(null,arguments)};var _PyOS_AfterFork_Parent=Module["_PyOS_AfterFork_Parent"]=function(){return Module["asm"]["_PyOS_AfterFork_Parent"].apply(null,arguments)};var _PyOS_BeforeFork=Module["_PyOS_BeforeFork"]=function(){return Module["asm"]["_PyOS_BeforeFork"].apply(null,arguments)};var _PyOS_FSPath=Module["_PyOS_FSPath"]=function(){return Module["asm"]["_PyOS_FSPath"].apply(null,arguments)};var _PyOS_FiniInterrupts=Module["_PyOS_FiniInterrupts"]=function(){return Module["asm"]["_PyOS_FiniInterrupts"].apply(null,arguments)};var _PyOS_InitInterrupts=Module["_PyOS_InitInterrupts"]=function(){return Module["asm"]["_PyOS_InitInterrupts"].apply(null,arguments)};var _PyOS_InterruptOccurred=Module["_PyOS_InterruptOccurred"]=function(){return Module["asm"]["_PyOS_InterruptOccurred"].apply(null,arguments)};var _PyOS_Readline=Module["_PyOS_Readline"]=function(){return Module["asm"]["_PyOS_Readline"].apply(null,arguments)};var _PyOS_StdioReadline=Module["_PyOS_StdioReadline"]=function(){return Module["asm"]["_PyOS_StdioReadline"].apply(null,arguments)};var _PyOS_double_to_string=Module["_PyOS_double_to_string"]=function(){return Module["asm"]["_PyOS_double_to_string"].apply(null,arguments)};var _PyOS_getsig=Module["_PyOS_getsig"]=function(){return Module["asm"]["_PyOS_getsig"].apply(null,arguments)};var _PyOS_mystricmp=Module["_PyOS_mystricmp"]=function(){return Module["asm"]["_PyOS_mystricmp"].apply(null,arguments)};var _PyOS_mystrnicmp=Module["_PyOS_mystrnicmp"]=function(){return Module["asm"]["_PyOS_mystrnicmp"].apply(null,arguments)};var _PyOS_setsig=Module["_PyOS_setsig"]=function(){return Module["asm"]["_PyOS_setsig"].apply(null,arguments)};var _PyOS_snprintf=Module["_PyOS_snprintf"]=function(){return Module["asm"]["_PyOS_snprintf"].apply(null,arguments)};var _PyOS_string_to_double=Module["_PyOS_string_to_double"]=function(){return Module["asm"]["_PyOS_string_to_double"].apply(null,arguments)};var _PyOS_strtol=Module["_PyOS_strtol"]=function(){return Module["asm"]["_PyOS_strtol"].apply(null,arguments)};var _PyOS_strtoul=Module["_PyOS_strtoul"]=function(){return Module["asm"]["_PyOS_strtoul"].apply(null,arguments)};var _PyOS_vsnprintf=Module["_PyOS_vsnprintf"]=function(){return Module["asm"]["_PyOS_vsnprintf"].apply(null,arguments)};var _PyObject_ASCII=Module["_PyObject_ASCII"]=function(){return Module["asm"]["_PyObject_ASCII"].apply(null,arguments)};var _PyObject_AsCharBuffer=Module["_PyObject_AsCharBuffer"]=function(){return Module["asm"]["_PyObject_AsCharBuffer"].apply(null,arguments)};var _PyObject_AsFileDescriptor=Module["_PyObject_AsFileDescriptor"]=function(){return Module["asm"]["_PyObject_AsFileDescriptor"].apply(null,arguments)};var _PyObject_AsReadBuffer=Module["_PyObject_AsReadBuffer"]=function(){return Module["asm"]["_PyObject_AsReadBuffer"].apply(null,arguments)};var _PyObject_AsWriteBuffer=Module["_PyObject_AsWriteBuffer"]=function(){return Module["asm"]["_PyObject_AsWriteBuffer"].apply(null,arguments)};var _PyObject_Bytes=Module["_PyObject_Bytes"]=function(){return Module["asm"]["_PyObject_Bytes"].apply(null,arguments)};var _PyObject_Call=Module["_PyObject_Call"]=function(){return Module["asm"]["_PyObject_Call"].apply(null,arguments)};var _PyObject_CallFinalizer=Module["_PyObject_CallFinalizer"]=function(){return Module["asm"]["_PyObject_CallFinalizer"].apply(null,arguments)};var _PyObject_CallFinalizerFromDealloc=Module["_PyObject_CallFinalizerFromDealloc"]=function(){return Module["asm"]["_PyObject_CallFinalizerFromDealloc"].apply(null,arguments)};var _PyObject_CallFunction=Module["_PyObject_CallFunction"]=function(){return Module["asm"]["_PyObject_CallFunction"].apply(null,arguments)};var _PyObject_CallFunctionObjArgs=Module["_PyObject_CallFunctionObjArgs"]=function(){return Module["asm"]["_PyObject_CallFunctionObjArgs"].apply(null,arguments)};var _PyObject_CallMethod=Module["_PyObject_CallMethod"]=function(){return Module["asm"]["_PyObject_CallMethod"].apply(null,arguments)};var _PyObject_CallMethodObjArgs=Module["_PyObject_CallMethodObjArgs"]=function(){return Module["asm"]["_PyObject_CallMethodObjArgs"].apply(null,arguments)};var _PyObject_CallObject=Module["_PyObject_CallObject"]=function(){return Module["asm"]["_PyObject_CallObject"].apply(null,arguments)};var _PyObject_Calloc=Module["_PyObject_Calloc"]=function(){return Module["asm"]["_PyObject_Calloc"].apply(null,arguments)};var _PyObject_CheckReadBuffer=Module["_PyObject_CheckReadBuffer"]=function(){return Module["asm"]["_PyObject_CheckReadBuffer"].apply(null,arguments)};var _PyObject_ClearWeakRefs=Module["_PyObject_ClearWeakRefs"]=function(){return Module["asm"]["_PyObject_ClearWeakRefs"].apply(null,arguments)};var _PyObject_CopyData=Module["_PyObject_CopyData"]=function(){return Module["asm"]["_PyObject_CopyData"].apply(null,arguments)};var _PyObject_DelItem=Module["_PyObject_DelItem"]=function(){return Module["asm"]["_PyObject_DelItem"].apply(null,arguments)};var _PyObject_DelItemString=Module["_PyObject_DelItemString"]=function(){return Module["asm"]["_PyObject_DelItemString"].apply(null,arguments)};var _PyObject_Dir=Module["_PyObject_Dir"]=function(){return Module["asm"]["_PyObject_Dir"].apply(null,arguments)};var _PyObject_Format=Module["_PyObject_Format"]=function(){return Module["asm"]["_PyObject_Format"].apply(null,arguments)};var _PyObject_Free=Module["_PyObject_Free"]=function(){return Module["asm"]["_PyObject_Free"].apply(null,arguments)};var _PyObject_GC_Del=Module["_PyObject_GC_Del"]=function(){return Module["asm"]["_PyObject_GC_Del"].apply(null,arguments)};var _PyObject_GC_Track=Module["_PyObject_GC_Track"]=function(){return Module["asm"]["_PyObject_GC_Track"].apply(null,arguments)};var _PyObject_GC_UnTrack=Module["_PyObject_GC_UnTrack"]=function(){return Module["asm"]["_PyObject_GC_UnTrack"].apply(null,arguments)};var _PyObject_GenericGetAttr=Module["_PyObject_GenericGetAttr"]=function(){return Module["asm"]["_PyObject_GenericGetAttr"].apply(null,arguments)};var _PyObject_GenericGetDict=Module["_PyObject_GenericGetDict"]=function(){return Module["asm"]["_PyObject_GenericGetDict"].apply(null,arguments)};var _PyObject_GenericSetAttr=Module["_PyObject_GenericSetAttr"]=function(){return Module["asm"]["_PyObject_GenericSetAttr"].apply(null,arguments)};var _PyObject_GenericSetDict=Module["_PyObject_GenericSetDict"]=function(){return Module["asm"]["_PyObject_GenericSetDict"].apply(null,arguments)};var _PyObject_GetArenaAllocator=Module["_PyObject_GetArenaAllocator"]=function(){return Module["asm"]["_PyObject_GetArenaAllocator"].apply(null,arguments)};var _PyObject_GetAttr=Module["_PyObject_GetAttr"]=function(){return Module["asm"]["_PyObject_GetAttr"].apply(null,arguments)};var _PyObject_GetAttrString=Module["_PyObject_GetAttrString"]=function(){return Module["asm"]["_PyObject_GetAttrString"].apply(null,arguments)};var _PyObject_GetBuffer=Module["_PyObject_GetBuffer"]=function(){return Module["asm"]["_PyObject_GetBuffer"].apply(null,arguments)};var _PyObject_GetItem=Module["_PyObject_GetItem"]=function(){return Module["asm"]["_PyObject_GetItem"].apply(null,arguments)};var _PyObject_GetIter=Module["_PyObject_GetIter"]=function(){return Module["asm"]["_PyObject_GetIter"].apply(null,arguments)};var _PyObject_HasAttr=Module["_PyObject_HasAttr"]=function(){return Module["asm"]["_PyObject_HasAttr"].apply(null,arguments)};var _PyObject_HasAttrString=Module["_PyObject_HasAttrString"]=function(){return Module["asm"]["_PyObject_HasAttrString"].apply(null,arguments)};var _PyObject_Hash=Module["_PyObject_Hash"]=function(){return Module["asm"]["_PyObject_Hash"].apply(null,arguments)};var _PyObject_HashNotImplemented=Module["_PyObject_HashNotImplemented"]=function(){return Module["asm"]["_PyObject_HashNotImplemented"].apply(null,arguments)};var _PyObject_Init=Module["_PyObject_Init"]=function(){return Module["asm"]["_PyObject_Init"].apply(null,arguments)};var _PyObject_InitVar=Module["_PyObject_InitVar"]=function(){return Module["asm"]["_PyObject_InitVar"].apply(null,arguments)};var _PyObject_IsInstance=Module["_PyObject_IsInstance"]=function(){return Module["asm"]["_PyObject_IsInstance"].apply(null,arguments)};var _PyObject_IsSubclass=Module["_PyObject_IsSubclass"]=function(){return Module["asm"]["_PyObject_IsSubclass"].apply(null,arguments)};var _PyObject_IsTrue=Module["_PyObject_IsTrue"]=function(){return Module["asm"]["_PyObject_IsTrue"].apply(null,arguments)};var _PyObject_Length=Module["_PyObject_Length"]=function(){return Module["asm"]["_PyObject_Length"].apply(null,arguments)};var _PyObject_LengthHint=Module["_PyObject_LengthHint"]=function(){return Module["asm"]["_PyObject_LengthHint"].apply(null,arguments)};var _PyObject_Malloc=Module["_PyObject_Malloc"]=function(){return Module["asm"]["_PyObject_Malloc"].apply(null,arguments)};var _PyObject_Not=Module["_PyObject_Not"]=function(){return Module["asm"]["_PyObject_Not"].apply(null,arguments)};var _PyObject_Print=Module["_PyObject_Print"]=function(){return Module["asm"]["_PyObject_Print"].apply(null,arguments)};var _PyObject_Realloc=Module["_PyObject_Realloc"]=function(){return Module["asm"]["_PyObject_Realloc"].apply(null,arguments)};var _PyObject_Repr=Module["_PyObject_Repr"]=function(){return Module["asm"]["_PyObject_Repr"].apply(null,arguments)};var _PyObject_RichCompare=Module["_PyObject_RichCompare"]=function(){return Module["asm"]["_PyObject_RichCompare"].apply(null,arguments)};var _PyObject_RichCompareBool=Module["_PyObject_RichCompareBool"]=function(){return Module["asm"]["_PyObject_RichCompareBool"].apply(null,arguments)};var _PyObject_SelfIter=Module["_PyObject_SelfIter"]=function(){return Module["asm"]["_PyObject_SelfIter"].apply(null,arguments)};var _PyObject_SetArenaAllocator=Module["_PyObject_SetArenaAllocator"]=function(){return Module["asm"]["_PyObject_SetArenaAllocator"].apply(null,arguments)};var _PyObject_SetAttr=Module["_PyObject_SetAttr"]=function(){return Module["asm"]["_PyObject_SetAttr"].apply(null,arguments)};var _PyObject_SetAttrString=Module["_PyObject_SetAttrString"]=function(){return Module["asm"]["_PyObject_SetAttrString"].apply(null,arguments)};var _PyObject_SetItem=Module["_PyObject_SetItem"]=function(){return Module["asm"]["_PyObject_SetItem"].apply(null,arguments)};var _PyObject_Size=Module["_PyObject_Size"]=function(){return Module["asm"]["_PyObject_Size"].apply(null,arguments)};var _PyObject_Str=Module["_PyObject_Str"]=function(){return Module["asm"]["_PyObject_Str"].apply(null,arguments)};var _PyObject_Type=Module["_PyObject_Type"]=function(){return Module["asm"]["_PyObject_Type"].apply(null,arguments)};var _PyParser_ASTFromFile=Module["_PyParser_ASTFromFile"]=function(){return Module["asm"]["_PyParser_ASTFromFile"].apply(null,arguments)};var _PyParser_ASTFromFileObject=Module["_PyParser_ASTFromFileObject"]=function(){return Module["asm"]["_PyParser_ASTFromFileObject"].apply(null,arguments)};var _PyParser_ASTFromString=Module["_PyParser_ASTFromString"]=function(){return Module["asm"]["_PyParser_ASTFromString"].apply(null,arguments)};var _PyParser_ASTFromStringObject=Module["_PyParser_ASTFromStringObject"]=function(){return Module["asm"]["_PyParser_ASTFromStringObject"].apply(null,arguments)};var _PyParser_AddToken=Module["_PyParser_AddToken"]=function(){return Module["asm"]["_PyParser_AddToken"].apply(null,arguments)};var _PyParser_ClearError=Module["_PyParser_ClearError"]=function(){return Module["asm"]["_PyParser_ClearError"].apply(null,arguments)};var _PyParser_Delete=Module["_PyParser_Delete"]=function(){return Module["asm"]["_PyParser_Delete"].apply(null,arguments)};var _PyParser_New=Module["_PyParser_New"]=function(){return Module["asm"]["_PyParser_New"].apply(null,arguments)};var _PyParser_ParseFile=Module["_PyParser_ParseFile"]=function(){return Module["asm"]["_PyParser_ParseFile"].apply(null,arguments)};var _PyParser_ParseFileFlags=Module["_PyParser_ParseFileFlags"]=function(){return Module["asm"]["_PyParser_ParseFileFlags"].apply(null,arguments)};var _PyParser_ParseFileFlagsEx=Module["_PyParser_ParseFileFlagsEx"]=function(){return Module["asm"]["_PyParser_ParseFileFlagsEx"].apply(null,arguments)};var _PyParser_ParseFileObject=Module["_PyParser_ParseFileObject"]=function(){return Module["asm"]["_PyParser_ParseFileObject"].apply(null,arguments)};var _PyParser_ParseString=Module["_PyParser_ParseString"]=function(){return Module["asm"]["_PyParser_ParseString"].apply(null,arguments)};var _PyParser_ParseStringFlags=Module["_PyParser_ParseStringFlags"]=function(){return Module["asm"]["_PyParser_ParseStringFlags"].apply(null,arguments)};var _PyParser_ParseStringFlagsFilename=Module["_PyParser_ParseStringFlagsFilename"]=function(){return Module["asm"]["_PyParser_ParseStringFlagsFilename"].apply(null,arguments)};var _PyParser_ParseStringFlagsFilenameEx=Module["_PyParser_ParseStringFlagsFilenameEx"]=function(){return Module["asm"]["_PyParser_ParseStringFlagsFilenameEx"].apply(null,arguments)};var _PyParser_ParseStringObject=Module["_PyParser_ParseStringObject"]=function(){return Module["asm"]["_PyParser_ParseStringObject"].apply(null,arguments)};var _PyParser_SetError=Module["_PyParser_SetError"]=function(){return Module["asm"]["_PyParser_SetError"].apply(null,arguments)};var _PyParser_SimpleParseFile=Module["_PyParser_SimpleParseFile"]=function(){return Module["asm"]["_PyParser_SimpleParseFile"].apply(null,arguments)};var _PyParser_SimpleParseFileFlags=Module["_PyParser_SimpleParseFileFlags"]=function(){return Module["asm"]["_PyParser_SimpleParseFileFlags"].apply(null,arguments)};var _PyParser_SimpleParseString=Module["_PyParser_SimpleParseString"]=function(){return Module["asm"]["_PyParser_SimpleParseString"].apply(null,arguments)};var _PyParser_SimpleParseStringFilename=Module["_PyParser_SimpleParseStringFilename"]=function(){return Module["asm"]["_PyParser_SimpleParseStringFilename"].apply(null,arguments)};var _PyParser_SimpleParseStringFlags=Module["_PyParser_SimpleParseStringFlags"]=function(){return Module["asm"]["_PyParser_SimpleParseStringFlags"].apply(null,arguments)};var _PyParser_SimpleParseStringFlagsFilename=Module["_PyParser_SimpleParseStringFlagsFilename"]=function(){return Module["asm"]["_PyParser_SimpleParseStringFlagsFilename"].apply(null,arguments)};var _PyRun_AnyFile=Module["_PyRun_AnyFile"]=function(){return Module["asm"]["_PyRun_AnyFile"].apply(null,arguments)};var _PyRun_AnyFileEx=Module["_PyRun_AnyFileEx"]=function(){return Module["asm"]["_PyRun_AnyFileEx"].apply(null,arguments)};var _PyRun_AnyFileExFlags=Module["_PyRun_AnyFileExFlags"]=function(){return Module["asm"]["_PyRun_AnyFileExFlags"].apply(null,arguments)};var _PyRun_AnyFileFlags=Module["_PyRun_AnyFileFlags"]=function(){return Module["asm"]["_PyRun_AnyFileFlags"].apply(null,arguments)};var _PyRun_File=Module["_PyRun_File"]=function(){return Module["asm"]["_PyRun_File"].apply(null,arguments)};var _PyRun_FileEx=Module["_PyRun_FileEx"]=function(){return Module["asm"]["_PyRun_FileEx"].apply(null,arguments)};var _PyRun_FileExFlags=Module["_PyRun_FileExFlags"]=function(){return Module["asm"]["_PyRun_FileExFlags"].apply(null,arguments)};var _PyRun_FileFlags=Module["_PyRun_FileFlags"]=function(){return Module["asm"]["_PyRun_FileFlags"].apply(null,arguments)};var _PyRun_InteractiveLoop=Module["_PyRun_InteractiveLoop"]=function(){return Module["asm"]["_PyRun_InteractiveLoop"].apply(null,arguments)};var _PyRun_InteractiveLoopFlags=Module["_PyRun_InteractiveLoopFlags"]=function(){return Module["asm"]["_PyRun_InteractiveLoopFlags"].apply(null,arguments)};var _PyRun_InteractiveOne=Module["_PyRun_InteractiveOne"]=function(){return Module["asm"]["_PyRun_InteractiveOne"].apply(null,arguments)};var _PyRun_InteractiveOneFlags=Module["_PyRun_InteractiveOneFlags"]=function(){return Module["asm"]["_PyRun_InteractiveOneFlags"].apply(null,arguments)};var _PyRun_InteractiveOneObject=Module["_PyRun_InteractiveOneObject"]=function(){return Module["asm"]["_PyRun_InteractiveOneObject"].apply(null,arguments)};var _PyRun_InteractiveOneObjectEx=Module["_PyRun_InteractiveOneObjectEx"]=function(){return Module["asm"]["_PyRun_InteractiveOneObjectEx"].apply(null,arguments)};var _PyRun_SimpleFile=Module["_PyRun_SimpleFile"]=function(){return Module["asm"]["_PyRun_SimpleFile"].apply(null,arguments)};var _PyRun_SimpleFileEx=Module["_PyRun_SimpleFileEx"]=function(){return Module["asm"]["_PyRun_SimpleFileEx"].apply(null,arguments)};var _PyRun_SimpleFileExFlags=Module["_PyRun_SimpleFileExFlags"]=function(){return Module["asm"]["_PyRun_SimpleFileExFlags"].apply(null,arguments)};var _PyRun_SimpleString=Module["_PyRun_SimpleString"]=function(){return Module["asm"]["_PyRun_SimpleString"].apply(null,arguments)};var _PyRun_SimpleStringFlags=Module["_PyRun_SimpleStringFlags"]=function(){return Module["asm"]["_PyRun_SimpleStringFlags"].apply(null,arguments)};var _PyRun_String=Module["_PyRun_String"]=function(){return Module["asm"]["_PyRun_String"].apply(null,arguments)};var _PyRun_StringFlags=Module["_PyRun_StringFlags"]=function(){return Module["asm"]["_PyRun_StringFlags"].apply(null,arguments)};var _PyST_GetScope=Module["_PyST_GetScope"]=function(){return Module["asm"]["_PyST_GetScope"].apply(null,arguments)};var _PySeqIter_New=Module["_PySeqIter_New"]=function(){return Module["asm"]["_PySeqIter_New"].apply(null,arguments)};var _PySequence_Check=Module["_PySequence_Check"]=function(){return Module["asm"]["_PySequence_Check"].apply(null,arguments)};var _PySequence_Concat=Module["_PySequence_Concat"]=function(){return Module["asm"]["_PySequence_Concat"].apply(null,arguments)};var _PySequence_Contains=Module["_PySequence_Contains"]=function(){return Module["asm"]["_PySequence_Contains"].apply(null,arguments)};var _PySequence_Count=Module["_PySequence_Count"]=function(){return Module["asm"]["_PySequence_Count"].apply(null,arguments)};var _PySequence_DelItem=Module["_PySequence_DelItem"]=function(){return Module["asm"]["_PySequence_DelItem"].apply(null,arguments)};var _PySequence_DelSlice=Module["_PySequence_DelSlice"]=function(){return Module["asm"]["_PySequence_DelSlice"].apply(null,arguments)};var _PySequence_Fast=Module["_PySequence_Fast"]=function(){return Module["asm"]["_PySequence_Fast"].apply(null,arguments)};var _PySequence_GetItem=Module["_PySequence_GetItem"]=function(){return Module["asm"]["_PySequence_GetItem"].apply(null,arguments)};var _PySequence_GetSlice=Module["_PySequence_GetSlice"]=function(){return Module["asm"]["_PySequence_GetSlice"].apply(null,arguments)};var _PySequence_In=Module["_PySequence_In"]=function(){return Module["asm"]["_PySequence_In"].apply(null,arguments)};var _PySequence_InPlaceConcat=Module["_PySequence_InPlaceConcat"]=function(){return Module["asm"]["_PySequence_InPlaceConcat"].apply(null,arguments)};var _PySequence_InPlaceRepeat=Module["_PySequence_InPlaceRepeat"]=function(){return Module["asm"]["_PySequence_InPlaceRepeat"].apply(null,arguments)};var _PySequence_Index=Module["_PySequence_Index"]=function(){return Module["asm"]["_PySequence_Index"].apply(null,arguments)};var _PySequence_Length=Module["_PySequence_Length"]=function(){return Module["asm"]["_PySequence_Length"].apply(null,arguments)};var _PySequence_List=Module["_PySequence_List"]=function(){return Module["asm"]["_PySequence_List"].apply(null,arguments)};var _PySequence_Repeat=Module["_PySequence_Repeat"]=function(){return Module["asm"]["_PySequence_Repeat"].apply(null,arguments)};var _PySequence_SetItem=Module["_PySequence_SetItem"]=function(){return Module["asm"]["_PySequence_SetItem"].apply(null,arguments)};var _PySequence_SetSlice=Module["_PySequence_SetSlice"]=function(){return Module["asm"]["_PySequence_SetSlice"].apply(null,arguments)};var _PySequence_Size=Module["_PySequence_Size"]=function(){return Module["asm"]["_PySequence_Size"].apply(null,arguments)};var _PySequence_Tuple=Module["_PySequence_Tuple"]=function(){return Module["asm"]["_PySequence_Tuple"].apply(null,arguments)};var _PySet_Add=Module["_PySet_Add"]=function(){return Module["asm"]["_PySet_Add"].apply(null,arguments)};var _PySet_Clear=Module["_PySet_Clear"]=function(){return Module["asm"]["_PySet_Clear"].apply(null,arguments)};var _PySet_ClearFreeList=Module["_PySet_ClearFreeList"]=function(){return Module["asm"]["_PySet_ClearFreeList"].apply(null,arguments)};var _PySet_Contains=Module["_PySet_Contains"]=function(){return Module["asm"]["_PySet_Contains"].apply(null,arguments)};var _PySet_Discard=Module["_PySet_Discard"]=function(){return Module["asm"]["_PySet_Discard"].apply(null,arguments)};var _PySet_Fini=Module["_PySet_Fini"]=function(){return Module["asm"]["_PySet_Fini"].apply(null,arguments)};var _PySet_New=Module["_PySet_New"]=function(){return Module["asm"]["_PySet_New"].apply(null,arguments)};var _PySet_Pop=Module["_PySet_Pop"]=function(){return Module["asm"]["_PySet_Pop"].apply(null,arguments)};var _PySet_Size=Module["_PySet_Size"]=function(){return Module["asm"]["_PySet_Size"].apply(null,arguments)};var _PySignal_SetWakeupFd=Module["_PySignal_SetWakeupFd"]=function(){return Module["asm"]["_PySignal_SetWakeupFd"].apply(null,arguments)};var _PySlice_AdjustIndices=Module["_PySlice_AdjustIndices"]=function(){return Module["asm"]["_PySlice_AdjustIndices"].apply(null,arguments)};var _PySlice_Fini=Module["_PySlice_Fini"]=function(){return Module["asm"]["_PySlice_Fini"].apply(null,arguments)};var _PySlice_GetIndices=Module["_PySlice_GetIndices"]=function(){return Module["asm"]["_PySlice_GetIndices"].apply(null,arguments)};var _PySlice_GetIndicesEx=Module["_PySlice_GetIndicesEx"]=function(){return Module["asm"]["_PySlice_GetIndicesEx"].apply(null,arguments)};var _PySlice_New=Module["_PySlice_New"]=function(){return Module["asm"]["_PySlice_New"].apply(null,arguments)};var _PySlice_Unpack=Module["_PySlice_Unpack"]=function(){return Module["asm"]["_PySlice_Unpack"].apply(null,arguments)};var _PyState_AddModule=Module["_PyState_AddModule"]=function(){return Module["asm"]["_PyState_AddModule"].apply(null,arguments)};var _PyState_FindModule=Module["_PyState_FindModule"]=function(){return Module["asm"]["_PyState_FindModule"].apply(null,arguments)};var _PyState_RemoveModule=Module["_PyState_RemoveModule"]=function(){return Module["asm"]["_PyState_RemoveModule"].apply(null,arguments)};var _PyStaticMethod_New=Module["_PyStaticMethod_New"]=function(){return Module["asm"]["_PyStaticMethod_New"].apply(null,arguments)};var _PyStructSequence_GetItem=Module["_PyStructSequence_GetItem"]=function(){return Module["asm"]["_PyStructSequence_GetItem"].apply(null,arguments)};var _PyStructSequence_InitType=Module["_PyStructSequence_InitType"]=function(){return Module["asm"]["_PyStructSequence_InitType"].apply(null,arguments)};var _PyStructSequence_InitType2=Module["_PyStructSequence_InitType2"]=function(){return Module["asm"]["_PyStructSequence_InitType2"].apply(null,arguments)};var _PyStructSequence_New=Module["_PyStructSequence_New"]=function(){return Module["asm"]["_PyStructSequence_New"].apply(null,arguments)};var _PyStructSequence_NewType=Module["_PyStructSequence_NewType"]=function(){return Module["asm"]["_PyStructSequence_NewType"].apply(null,arguments)};var _PyStructSequence_SetItem=Module["_PyStructSequence_SetItem"]=function(){return Module["asm"]["_PyStructSequence_SetItem"].apply(null,arguments)};var _PySymtable_Build=Module["_PySymtable_Build"]=function(){return Module["asm"]["_PySymtable_Build"].apply(null,arguments)};var _PySymtable_BuildObject=Module["_PySymtable_BuildObject"]=function(){return Module["asm"]["_PySymtable_BuildObject"].apply(null,arguments)};var _PySymtable_Free=Module["_PySymtable_Free"]=function(){return Module["asm"]["_PySymtable_Free"].apply(null,arguments)};var _PySymtable_Lookup=Module["_PySymtable_Lookup"]=function(){return Module["asm"]["_PySymtable_Lookup"].apply(null,arguments)};var _PySys_AddWarnOption=Module["_PySys_AddWarnOption"]=function(){return Module["asm"]["_PySys_AddWarnOption"].apply(null,arguments)};var _PySys_AddWarnOptionUnicode=Module["_PySys_AddWarnOptionUnicode"]=function(){return Module["asm"]["_PySys_AddWarnOptionUnicode"].apply(null,arguments)};var _PySys_AddXOption=Module["_PySys_AddXOption"]=function(){return Module["asm"]["_PySys_AddXOption"].apply(null,arguments)};var _PySys_FormatStderr=Module["_PySys_FormatStderr"]=function(){return Module["asm"]["_PySys_FormatStderr"].apply(null,arguments)};var _PySys_FormatStdout=Module["_PySys_FormatStdout"]=function(){return Module["asm"]["_PySys_FormatStdout"].apply(null,arguments)};var _PySys_GetObject=Module["_PySys_GetObject"]=function(){return Module["asm"]["_PySys_GetObject"].apply(null,arguments)};var _PySys_GetXOptions=Module["_PySys_GetXOptions"]=function(){return Module["asm"]["_PySys_GetXOptions"].apply(null,arguments)};var _PySys_HasWarnOptions=Module["_PySys_HasWarnOptions"]=function(){return Module["asm"]["_PySys_HasWarnOptions"].apply(null,arguments)};var _PySys_ResetWarnOptions=Module["_PySys_ResetWarnOptions"]=function(){return Module["asm"]["_PySys_ResetWarnOptions"].apply(null,arguments)};var _PySys_SetArgv=Module["_PySys_SetArgv"]=function(){return Module["asm"]["_PySys_SetArgv"].apply(null,arguments)};var _PySys_SetArgvEx=Module["_PySys_SetArgvEx"]=function(){return Module["asm"]["_PySys_SetArgvEx"].apply(null,arguments)};var _PySys_SetObject=Module["_PySys_SetObject"]=function(){return Module["asm"]["_PySys_SetObject"].apply(null,arguments)};var _PySys_SetPath=Module["_PySys_SetPath"]=function(){return Module["asm"]["_PySys_SetPath"].apply(null,arguments)};var _PySys_WriteStderr=Module["_PySys_WriteStderr"]=function(){return Module["asm"]["_PySys_WriteStderr"].apply(null,arguments)};var _PySys_WriteStdout=Module["_PySys_WriteStdout"]=function(){return Module["asm"]["_PySys_WriteStdout"].apply(null,arguments)};var _PyThreadState_Clear=Module["_PyThreadState_Clear"]=function(){return Module["asm"]["_PyThreadState_Clear"].apply(null,arguments)};var _PyThreadState_Delete=Module["_PyThreadState_Delete"]=function(){return Module["asm"]["_PyThreadState_Delete"].apply(null,arguments)};var _PyThreadState_DeleteCurrent=Module["_PyThreadState_DeleteCurrent"]=function(){return Module["asm"]["_PyThreadState_DeleteCurrent"].apply(null,arguments)};var _PyThreadState_Get=Module["_PyThreadState_Get"]=function(){return Module["asm"]["_PyThreadState_Get"].apply(null,arguments)};var _PyThreadState_GetDict=Module["_PyThreadState_GetDict"]=function(){return Module["asm"]["_PyThreadState_GetDict"].apply(null,arguments)};var _PyThreadState_New=Module["_PyThreadState_New"]=function(){return Module["asm"]["_PyThreadState_New"].apply(null,arguments)};var _PyThreadState_Next=Module["_PyThreadState_Next"]=function(){return Module["asm"]["_PyThreadState_Next"].apply(null,arguments)};var _PyThreadState_SetAsyncExc=Module["_PyThreadState_SetAsyncExc"]=function(){return Module["asm"]["_PyThreadState_SetAsyncExc"].apply(null,arguments)};var _PyThreadState_Swap=Module["_PyThreadState_Swap"]=function(){return Module["asm"]["_PyThreadState_Swap"].apply(null,arguments)};var _PyThread_GetInfo=Module["_PyThread_GetInfo"]=function(){return Module["asm"]["_PyThread_GetInfo"].apply(null,arguments)};var _PyThread_ReInitTLS=Module["_PyThread_ReInitTLS"]=function(){return Module["asm"]["_PyThread_ReInitTLS"].apply(null,arguments)};var _PyThread_acquire_lock=Module["_PyThread_acquire_lock"]=function(){return Module["asm"]["_PyThread_acquire_lock"].apply(null,arguments)};var _PyThread_acquire_lock_timed=Module["_PyThread_acquire_lock_timed"]=function(){return Module["asm"]["_PyThread_acquire_lock_timed"].apply(null,arguments)};var _PyThread_allocate_lock=Module["_PyThread_allocate_lock"]=function(){return Module["asm"]["_PyThread_allocate_lock"].apply(null,arguments)};var _PyThread_create_key=Module["_PyThread_create_key"]=function(){return Module["asm"]["_PyThread_create_key"].apply(null,arguments)};var _PyThread_delete_key=Module["_PyThread_delete_key"]=function(){return Module["asm"]["_PyThread_delete_key"].apply(null,arguments)};var _PyThread_delete_key_value=Module["_PyThread_delete_key_value"]=function(){return Module["asm"]["_PyThread_delete_key_value"].apply(null,arguments)};var _PyThread_exit_thread=Module["_PyThread_exit_thread"]=function(){return Module["asm"]["_PyThread_exit_thread"].apply(null,arguments)};var _PyThread_free_lock=Module["_PyThread_free_lock"]=function(){return Module["asm"]["_PyThread_free_lock"].apply(null,arguments)};var _PyThread_get_key_value=Module["_PyThread_get_key_value"]=function(){return Module["asm"]["_PyThread_get_key_value"].apply(null,arguments)};var _PyThread_get_stacksize=Module["_PyThread_get_stacksize"]=function(){return Module["asm"]["_PyThread_get_stacksize"].apply(null,arguments)};var _PyThread_get_thread_ident=Module["_PyThread_get_thread_ident"]=function(){return Module["asm"]["_PyThread_get_thread_ident"].apply(null,arguments)};var _PyThread_init_thread=Module["_PyThread_init_thread"]=function(){return Module["asm"]["_PyThread_init_thread"].apply(null,arguments)};var _PyThread_release_lock=Module["_PyThread_release_lock"]=function(){return Module["asm"]["_PyThread_release_lock"].apply(null,arguments)};var _PyThread_set_key_value=Module["_PyThread_set_key_value"]=function(){return Module["asm"]["_PyThread_set_key_value"].apply(null,arguments)};var _PyThread_set_stacksize=Module["_PyThread_set_stacksize"]=function(){return Module["asm"]["_PyThread_set_stacksize"].apply(null,arguments)};var _PyThread_start_new_thread=Module["_PyThread_start_new_thread"]=function(){return Module["asm"]["_PyThread_start_new_thread"].apply(null,arguments)};var _PyThread_tss_alloc=Module["_PyThread_tss_alloc"]=function(){return Module["asm"]["_PyThread_tss_alloc"].apply(null,arguments)};var _PyThread_tss_create=Module["_PyThread_tss_create"]=function(){return Module["asm"]["_PyThread_tss_create"].apply(null,arguments)};var _PyThread_tss_delete=Module["_PyThread_tss_delete"]=function(){return Module["asm"]["_PyThread_tss_delete"].apply(null,arguments)};var _PyThread_tss_free=Module["_PyThread_tss_free"]=function(){return Module["asm"]["_PyThread_tss_free"].apply(null,arguments)};var _PyThread_tss_get=Module["_PyThread_tss_get"]=function(){return Module["asm"]["_PyThread_tss_get"].apply(null,arguments)};var _PyThread_tss_is_created=Module["_PyThread_tss_is_created"]=function(){return Module["asm"]["_PyThread_tss_is_created"].apply(null,arguments)};var _PyThread_tss_set=Module["_PyThread_tss_set"]=function(){return Module["asm"]["_PyThread_tss_set"].apply(null,arguments)};var _PyToken_OneChar=Module["_PyToken_OneChar"]=function(){return Module["asm"]["_PyToken_OneChar"].apply(null,arguments)};var _PyToken_ThreeChars=Module["_PyToken_ThreeChars"]=function(){return Module["asm"]["_PyToken_ThreeChars"].apply(null,arguments)};var _PyToken_TwoChars=Module["_PyToken_TwoChars"]=function(){return Module["asm"]["_PyToken_TwoChars"].apply(null,arguments)};var _PyTokenizer_FindEncoding=Module["_PyTokenizer_FindEncoding"]=function(){return Module["asm"]["_PyTokenizer_FindEncoding"].apply(null,arguments)};var _PyTokenizer_FindEncodingFilename=Module["_PyTokenizer_FindEncodingFilename"]=function(){return Module["asm"]["_PyTokenizer_FindEncodingFilename"].apply(null,arguments)};var _PyTokenizer_Free=Module["_PyTokenizer_Free"]=function(){return Module["asm"]["_PyTokenizer_Free"].apply(null,arguments)};var _PyTokenizer_FromFile=Module["_PyTokenizer_FromFile"]=function(){return Module["asm"]["_PyTokenizer_FromFile"].apply(null,arguments)};var _PyTokenizer_FromString=Module["_PyTokenizer_FromString"]=function(){return Module["asm"]["_PyTokenizer_FromString"].apply(null,arguments)};var _PyTokenizer_FromUTF8=Module["_PyTokenizer_FromUTF8"]=function(){return Module["asm"]["_PyTokenizer_FromUTF8"].apply(null,arguments)};var _PyTokenizer_Get=Module["_PyTokenizer_Get"]=function(){return Module["asm"]["_PyTokenizer_Get"].apply(null,arguments)};var _PyTraceBack_Here=Module["_PyTraceBack_Here"]=function(){return Module["asm"]["_PyTraceBack_Here"].apply(null,arguments)};var _PyTraceBack_Print=Module["_PyTraceBack_Print"]=function(){return Module["asm"]["_PyTraceBack_Print"].apply(null,arguments)};var _PyTraceMalloc_Track=Module["_PyTraceMalloc_Track"]=function(){return Module["asm"]["_PyTraceMalloc_Track"].apply(null,arguments)};var _PyTraceMalloc_Untrack=Module["_PyTraceMalloc_Untrack"]=function(){return Module["asm"]["_PyTraceMalloc_Untrack"].apply(null,arguments)};var _PyTuple_ClearFreeList=Module["_PyTuple_ClearFreeList"]=function(){return Module["asm"]["_PyTuple_ClearFreeList"].apply(null,arguments)};var _PyTuple_Fini=Module["_PyTuple_Fini"]=function(){return Module["asm"]["_PyTuple_Fini"].apply(null,arguments)};var _PyTuple_GetItem=Module["_PyTuple_GetItem"]=function(){return Module["asm"]["_PyTuple_GetItem"].apply(null,arguments)};var _PyTuple_GetSlice=Module["_PyTuple_GetSlice"]=function(){return Module["asm"]["_PyTuple_GetSlice"].apply(null,arguments)};var _PyTuple_New=Module["_PyTuple_New"]=function(){return Module["asm"]["_PyTuple_New"].apply(null,arguments)};var _PyTuple_Pack=Module["_PyTuple_Pack"]=function(){return Module["asm"]["_PyTuple_Pack"].apply(null,arguments)};var _PyTuple_SetItem=Module["_PyTuple_SetItem"]=function(){return Module["asm"]["_PyTuple_SetItem"].apply(null,arguments)};var _PyTuple_Size=Module["_PyTuple_Size"]=function(){return Module["asm"]["_PyTuple_Size"].apply(null,arguments)};var _PyType_ClearCache=Module["_PyType_ClearCache"]=function(){return Module["asm"]["_PyType_ClearCache"].apply(null,arguments)};var _PyType_FromSpec=Module["_PyType_FromSpec"]=function(){return Module["asm"]["_PyType_FromSpec"].apply(null,arguments)};var _PyType_FromSpecWithBases=Module["_PyType_FromSpecWithBases"]=function(){return Module["asm"]["_PyType_FromSpecWithBases"].apply(null,arguments)};var _PyType_GenericAlloc=Module["_PyType_GenericAlloc"]=function(){return Module["asm"]["_PyType_GenericAlloc"].apply(null,arguments)};var _PyType_GenericNew=Module["_PyType_GenericNew"]=function(){return Module["asm"]["_PyType_GenericNew"].apply(null,arguments)};var _PyType_GetFlags=Module["_PyType_GetFlags"]=function(){return Module["asm"]["_PyType_GetFlags"].apply(null,arguments)};var _PyType_GetSlot=Module["_PyType_GetSlot"]=function(){return Module["asm"]["_PyType_GetSlot"].apply(null,arguments)};var _PyType_IsSubtype=Module["_PyType_IsSubtype"]=function(){return Module["asm"]["_PyType_IsSubtype"].apply(null,arguments)};var _PyType_Modified=Module["_PyType_Modified"]=function(){return Module["asm"]["_PyType_Modified"].apply(null,arguments)};var _PyType_Ready=Module["_PyType_Ready"]=function(){return Module["asm"]["_PyType_Ready"].apply(null,arguments)};var _PyUnicodeDecodeError_Create=Module["_PyUnicodeDecodeError_Create"]=function(){return Module["asm"]["_PyUnicodeDecodeError_Create"].apply(null,arguments)};var _PyUnicodeDecodeError_GetEncoding=Module["_PyUnicodeDecodeError_GetEncoding"]=function(){return Module["asm"]["_PyUnicodeDecodeError_GetEncoding"].apply(null,arguments)};var _PyUnicodeDecodeError_GetEnd=Module["_PyUnicodeDecodeError_GetEnd"]=function(){return Module["asm"]["_PyUnicodeDecodeError_GetEnd"].apply(null,arguments)};var _PyUnicodeDecodeError_GetObject=Module["_PyUnicodeDecodeError_GetObject"]=function(){return Module["asm"]["_PyUnicodeDecodeError_GetObject"].apply(null,arguments)};var _PyUnicodeDecodeError_GetReason=Module["_PyUnicodeDecodeError_GetReason"]=function(){return Module["asm"]["_PyUnicodeDecodeError_GetReason"].apply(null,arguments)};var _PyUnicodeDecodeError_GetStart=Module["_PyUnicodeDecodeError_GetStart"]=function(){return Module["asm"]["_PyUnicodeDecodeError_GetStart"].apply(null,arguments)};var _PyUnicodeDecodeError_SetEnd=Module["_PyUnicodeDecodeError_SetEnd"]=function(){return Module["asm"]["_PyUnicodeDecodeError_SetEnd"].apply(null,arguments)};var _PyUnicodeDecodeError_SetReason=Module["_PyUnicodeDecodeError_SetReason"]=function(){return Module["asm"]["_PyUnicodeDecodeError_SetReason"].apply(null,arguments)};var _PyUnicodeDecodeError_SetStart=Module["_PyUnicodeDecodeError_SetStart"]=function(){return Module["asm"]["_PyUnicodeDecodeError_SetStart"].apply(null,arguments)};var _PyUnicodeEncodeError_Create=Module["_PyUnicodeEncodeError_Create"]=function(){return Module["asm"]["_PyUnicodeEncodeError_Create"].apply(null,arguments)};var _PyUnicodeEncodeError_GetEncoding=Module["_PyUnicodeEncodeError_GetEncoding"]=function(){return Module["asm"]["_PyUnicodeEncodeError_GetEncoding"].apply(null,arguments)};var _PyUnicodeEncodeError_GetEnd=Module["_PyUnicodeEncodeError_GetEnd"]=function(){return Module["asm"]["_PyUnicodeEncodeError_GetEnd"].apply(null,arguments)};var _PyUnicodeEncodeError_GetObject=Module["_PyUnicodeEncodeError_GetObject"]=function(){return Module["asm"]["_PyUnicodeEncodeError_GetObject"].apply(null,arguments)};var _PyUnicodeEncodeError_GetReason=Module["_PyUnicodeEncodeError_GetReason"]=function(){return Module["asm"]["_PyUnicodeEncodeError_GetReason"].apply(null,arguments)};var _PyUnicodeEncodeError_GetStart=Module["_PyUnicodeEncodeError_GetStart"]=function(){return Module["asm"]["_PyUnicodeEncodeError_GetStart"].apply(null,arguments)};var _PyUnicodeEncodeError_SetEnd=Module["_PyUnicodeEncodeError_SetEnd"]=function(){return Module["asm"]["_PyUnicodeEncodeError_SetEnd"].apply(null,arguments)};var _PyUnicodeEncodeError_SetReason=Module["_PyUnicodeEncodeError_SetReason"]=function(){return Module["asm"]["_PyUnicodeEncodeError_SetReason"].apply(null,arguments)};var _PyUnicodeEncodeError_SetStart=Module["_PyUnicodeEncodeError_SetStart"]=function(){return Module["asm"]["_PyUnicodeEncodeError_SetStart"].apply(null,arguments)};var _PyUnicodeTranslateError_Create=Module["_PyUnicodeTranslateError_Create"]=function(){return Module["asm"]["_PyUnicodeTranslateError_Create"].apply(null,arguments)};var _PyUnicodeTranslateError_GetEnd=Module["_PyUnicodeTranslateError_GetEnd"]=function(){return Module["asm"]["_PyUnicodeTranslateError_GetEnd"].apply(null,arguments)};var _PyUnicodeTranslateError_GetObject=Module["_PyUnicodeTranslateError_GetObject"]=function(){return Module["asm"]["_PyUnicodeTranslateError_GetObject"].apply(null,arguments)};var _PyUnicodeTranslateError_GetReason=Module["_PyUnicodeTranslateError_GetReason"]=function(){return Module["asm"]["_PyUnicodeTranslateError_GetReason"].apply(null,arguments)};var _PyUnicodeTranslateError_GetStart=Module["_PyUnicodeTranslateError_GetStart"]=function(){return Module["asm"]["_PyUnicodeTranslateError_GetStart"].apply(null,arguments)};var _PyUnicodeTranslateError_SetEnd=Module["_PyUnicodeTranslateError_SetEnd"]=function(){return Module["asm"]["_PyUnicodeTranslateError_SetEnd"].apply(null,arguments)};var _PyUnicodeTranslateError_SetReason=Module["_PyUnicodeTranslateError_SetReason"]=function(){return Module["asm"]["_PyUnicodeTranslateError_SetReason"].apply(null,arguments)};var _PyUnicodeTranslateError_SetStart=Module["_PyUnicodeTranslateError_SetStart"]=function(){return Module["asm"]["_PyUnicodeTranslateError_SetStart"].apply(null,arguments)};var _PyUnicode_Append=Module["_PyUnicode_Append"]=function(){return Module["asm"]["_PyUnicode_Append"].apply(null,arguments)};var _PyUnicode_AppendAndDel=Module["_PyUnicode_AppendAndDel"]=function(){return Module["asm"]["_PyUnicode_AppendAndDel"].apply(null,arguments)};var _PyUnicode_AsASCIIString=Module["_PyUnicode_AsASCIIString"]=function(){return Module["asm"]["_PyUnicode_AsASCIIString"].apply(null,arguments)};var _PyUnicode_AsCharmapString=Module["_PyUnicode_AsCharmapString"]=function(){return Module["asm"]["_PyUnicode_AsCharmapString"].apply(null,arguments)};var _PyUnicode_AsDecodedObject=Module["_PyUnicode_AsDecodedObject"]=function(){return Module["asm"]["_PyUnicode_AsDecodedObject"].apply(null,arguments)};var _PyUnicode_AsDecodedUnicode=Module["_PyUnicode_AsDecodedUnicode"]=function(){return Module["asm"]["_PyUnicode_AsDecodedUnicode"].apply(null,arguments)};var _PyUnicode_AsEncodedObject=Module["_PyUnicode_AsEncodedObject"]=function(){return Module["asm"]["_PyUnicode_AsEncodedObject"].apply(null,arguments)};var _PyUnicode_AsEncodedString=Module["_PyUnicode_AsEncodedString"]=function(){return Module["asm"]["_PyUnicode_AsEncodedString"].apply(null,arguments)};var _PyUnicode_AsEncodedUnicode=Module["_PyUnicode_AsEncodedUnicode"]=function(){return Module["asm"]["_PyUnicode_AsEncodedUnicode"].apply(null,arguments)};var _PyUnicode_AsLatin1String=Module["_PyUnicode_AsLatin1String"]=function(){return Module["asm"]["_PyUnicode_AsLatin1String"].apply(null,arguments)};var _PyUnicode_AsRawUnicodeEscapeString=Module["_PyUnicode_AsRawUnicodeEscapeString"]=function(){return Module["asm"]["_PyUnicode_AsRawUnicodeEscapeString"].apply(null,arguments)};var _PyUnicode_AsUCS4=Module["_PyUnicode_AsUCS4"]=function(){return Module["asm"]["_PyUnicode_AsUCS4"].apply(null,arguments)};var _PyUnicode_AsUCS4Copy=Module["_PyUnicode_AsUCS4Copy"]=function(){return Module["asm"]["_PyUnicode_AsUCS4Copy"].apply(null,arguments)};var _PyUnicode_AsUTF16String=Module["_PyUnicode_AsUTF16String"]=function(){return Module["asm"]["_PyUnicode_AsUTF16String"].apply(null,arguments)};var _PyUnicode_AsUTF32String=Module["_PyUnicode_AsUTF32String"]=function(){return Module["asm"]["_PyUnicode_AsUTF32String"].apply(null,arguments)};var _PyUnicode_AsUTF8=Module["_PyUnicode_AsUTF8"]=function(){return Module["asm"]["_PyUnicode_AsUTF8"].apply(null,arguments)};var _PyUnicode_AsUTF8AndSize=Module["_PyUnicode_AsUTF8AndSize"]=function(){return Module["asm"]["_PyUnicode_AsUTF8AndSize"].apply(null,arguments)};var _PyUnicode_AsUTF8String=Module["_PyUnicode_AsUTF8String"]=function(){return Module["asm"]["_PyUnicode_AsUTF8String"].apply(null,arguments)};var _PyUnicode_AsUnicode=Module["_PyUnicode_AsUnicode"]=function(){return Module["asm"]["_PyUnicode_AsUnicode"].apply(null,arguments)};var _PyUnicode_AsUnicodeAndSize=Module["_PyUnicode_AsUnicodeAndSize"]=function(){return Module["asm"]["_PyUnicode_AsUnicodeAndSize"].apply(null,arguments)};var _PyUnicode_AsUnicodeCopy=Module["_PyUnicode_AsUnicodeCopy"]=function(){return Module["asm"]["_PyUnicode_AsUnicodeCopy"].apply(null,arguments)};var _PyUnicode_AsUnicodeEscapeString=Module["_PyUnicode_AsUnicodeEscapeString"]=function(){return Module["asm"]["_PyUnicode_AsUnicodeEscapeString"].apply(null,arguments)};var _PyUnicode_AsWideChar=Module["_PyUnicode_AsWideChar"]=function(){return Module["asm"]["_PyUnicode_AsWideChar"].apply(null,arguments)};var _PyUnicode_AsWideCharString=Module["_PyUnicode_AsWideCharString"]=function(){return Module["asm"]["_PyUnicode_AsWideCharString"].apply(null,arguments)};var _PyUnicode_BuildEncodingMap=Module["_PyUnicode_BuildEncodingMap"]=function(){return Module["asm"]["_PyUnicode_BuildEncodingMap"].apply(null,arguments)};var _PyUnicode_ClearFreeList=Module["_PyUnicode_ClearFreeList"]=function(){return Module["asm"]["_PyUnicode_ClearFreeList"].apply(null,arguments)};var _PyUnicode_Compare=Module["_PyUnicode_Compare"]=function(){return Module["asm"]["_PyUnicode_Compare"].apply(null,arguments)};var _PyUnicode_CompareWithASCIIString=Module["_PyUnicode_CompareWithASCIIString"]=function(){return Module["asm"]["_PyUnicode_CompareWithASCIIString"].apply(null,arguments)};var _PyUnicode_Concat=Module["_PyUnicode_Concat"]=function(){return Module["asm"]["_PyUnicode_Concat"].apply(null,arguments)};var _PyUnicode_Contains=Module["_PyUnicode_Contains"]=function(){return Module["asm"]["_PyUnicode_Contains"].apply(null,arguments)};var _PyUnicode_CopyCharacters=Module["_PyUnicode_CopyCharacters"]=function(){return Module["asm"]["_PyUnicode_CopyCharacters"].apply(null,arguments)};var _PyUnicode_Count=Module["_PyUnicode_Count"]=function(){return Module["asm"]["_PyUnicode_Count"].apply(null,arguments)};var _PyUnicode_Decode=Module["_PyUnicode_Decode"]=function(){return Module["asm"]["_PyUnicode_Decode"].apply(null,arguments)};var _PyUnicode_DecodeASCII=Module["_PyUnicode_DecodeASCII"]=function(){return Module["asm"]["_PyUnicode_DecodeASCII"].apply(null,arguments)};var _PyUnicode_DecodeCharmap=Module["_PyUnicode_DecodeCharmap"]=function(){return Module["asm"]["_PyUnicode_DecodeCharmap"].apply(null,arguments)};var _PyUnicode_DecodeFSDefault=Module["_PyUnicode_DecodeFSDefault"]=function(){return Module["asm"]["_PyUnicode_DecodeFSDefault"].apply(null,arguments)};var _PyUnicode_DecodeFSDefaultAndSize=Module["_PyUnicode_DecodeFSDefaultAndSize"]=function(){return Module["asm"]["_PyUnicode_DecodeFSDefaultAndSize"].apply(null,arguments)};var _PyUnicode_DecodeLatin1=Module["_PyUnicode_DecodeLatin1"]=function(){return Module["asm"]["_PyUnicode_DecodeLatin1"].apply(null,arguments)};var _PyUnicode_DecodeLocale=Module["_PyUnicode_DecodeLocale"]=function(){return Module["asm"]["_PyUnicode_DecodeLocale"].apply(null,arguments)};var _PyUnicode_DecodeLocaleAndSize=Module["_PyUnicode_DecodeLocaleAndSize"]=function(){return Module["asm"]["_PyUnicode_DecodeLocaleAndSize"].apply(null,arguments)};var _PyUnicode_DecodeRawUnicodeEscape=Module["_PyUnicode_DecodeRawUnicodeEscape"]=function(){return Module["asm"]["_PyUnicode_DecodeRawUnicodeEscape"].apply(null,arguments)};var _PyUnicode_DecodeUTF16=Module["_PyUnicode_DecodeUTF16"]=function(){return Module["asm"]["_PyUnicode_DecodeUTF16"].apply(null,arguments)};var _PyUnicode_DecodeUTF16Stateful=Module["_PyUnicode_DecodeUTF16Stateful"]=function(){return Module["asm"]["_PyUnicode_DecodeUTF16Stateful"].apply(null,arguments)};var _PyUnicode_DecodeUTF32=Module["_PyUnicode_DecodeUTF32"]=function(){return Module["asm"]["_PyUnicode_DecodeUTF32"].apply(null,arguments)};var _PyUnicode_DecodeUTF32Stateful=Module["_PyUnicode_DecodeUTF32Stateful"]=function(){return Module["asm"]["_PyUnicode_DecodeUTF32Stateful"].apply(null,arguments)};var _PyUnicode_DecodeUTF7=Module["_PyUnicode_DecodeUTF7"]=function(){return Module["asm"]["_PyUnicode_DecodeUTF7"].apply(null,arguments)};var _PyUnicode_DecodeUTF7Stateful=Module["_PyUnicode_DecodeUTF7Stateful"]=function(){return Module["asm"]["_PyUnicode_DecodeUTF7Stateful"].apply(null,arguments)};var _PyUnicode_DecodeUTF8=Module["_PyUnicode_DecodeUTF8"]=function(){return Module["asm"]["_PyUnicode_DecodeUTF8"].apply(null,arguments)};var _PyUnicode_DecodeUTF8Stateful=Module["_PyUnicode_DecodeUTF8Stateful"]=function(){return Module["asm"]["_PyUnicode_DecodeUTF8Stateful"].apply(null,arguments)};var _PyUnicode_DecodeUnicodeEscape=Module["_PyUnicode_DecodeUnicodeEscape"]=function(){return Module["asm"]["_PyUnicode_DecodeUnicodeEscape"].apply(null,arguments)};var _PyUnicode_Encode=Module["_PyUnicode_Encode"]=function(){return Module["asm"]["_PyUnicode_Encode"].apply(null,arguments)};var _PyUnicode_EncodeASCII=Module["_PyUnicode_EncodeASCII"]=function(){return Module["asm"]["_PyUnicode_EncodeASCII"].apply(null,arguments)};var _PyUnicode_EncodeCharmap=Module["_PyUnicode_EncodeCharmap"]=function(){return Module["asm"]["_PyUnicode_EncodeCharmap"].apply(null,arguments)};var _PyUnicode_EncodeDecimal=Module["_PyUnicode_EncodeDecimal"]=function(){return Module["asm"]["_PyUnicode_EncodeDecimal"].apply(null,arguments)};var _PyUnicode_EncodeFSDefault=Module["_PyUnicode_EncodeFSDefault"]=function(){return Module["asm"]["_PyUnicode_EncodeFSDefault"].apply(null,arguments)};var _PyUnicode_EncodeLatin1=Module["_PyUnicode_EncodeLatin1"]=function(){return Module["asm"]["_PyUnicode_EncodeLatin1"].apply(null,arguments)};var _PyUnicode_EncodeLocale=Module["_PyUnicode_EncodeLocale"]=function(){return Module["asm"]["_PyUnicode_EncodeLocale"].apply(null,arguments)};var _PyUnicode_EncodeRawUnicodeEscape=Module["_PyUnicode_EncodeRawUnicodeEscape"]=function(){return Module["asm"]["_PyUnicode_EncodeRawUnicodeEscape"].apply(null,arguments)};var _PyUnicode_EncodeUTF16=Module["_PyUnicode_EncodeUTF16"]=function(){return Module["asm"]["_PyUnicode_EncodeUTF16"].apply(null,arguments)};var _PyUnicode_EncodeUTF32=Module["_PyUnicode_EncodeUTF32"]=function(){return Module["asm"]["_PyUnicode_EncodeUTF32"].apply(null,arguments)};var _PyUnicode_EncodeUTF7=Module["_PyUnicode_EncodeUTF7"]=function(){return Module["asm"]["_PyUnicode_EncodeUTF7"].apply(null,arguments)};var _PyUnicode_EncodeUTF8=Module["_PyUnicode_EncodeUTF8"]=function(){return Module["asm"]["_PyUnicode_EncodeUTF8"].apply(null,arguments)};var _PyUnicode_EncodeUnicodeEscape=Module["_PyUnicode_EncodeUnicodeEscape"]=function(){return Module["asm"]["_PyUnicode_EncodeUnicodeEscape"].apply(null,arguments)};var _PyUnicode_FSConverter=Module["_PyUnicode_FSConverter"]=function(){return Module["asm"]["_PyUnicode_FSConverter"].apply(null,arguments)};var _PyUnicode_FSDecoder=Module["_PyUnicode_FSDecoder"]=function(){return Module["asm"]["_PyUnicode_FSDecoder"].apply(null,arguments)};var _PyUnicode_Fill=Module["_PyUnicode_Fill"]=function(){return Module["asm"]["_PyUnicode_Fill"].apply(null,arguments)};var _PyUnicode_Find=Module["_PyUnicode_Find"]=function(){return Module["asm"]["_PyUnicode_Find"].apply(null,arguments)};var _PyUnicode_FindChar=Module["_PyUnicode_FindChar"]=function(){return Module["asm"]["_PyUnicode_FindChar"].apply(null,arguments)};var _PyUnicode_Format=Module["_PyUnicode_Format"]=function(){return Module["asm"]["_PyUnicode_Format"].apply(null,arguments)};var _PyUnicode_FromEncodedObject=Module["_PyUnicode_FromEncodedObject"]=function(){return Module["asm"]["_PyUnicode_FromEncodedObject"].apply(null,arguments)};var _PyUnicode_FromFormat=Module["_PyUnicode_FromFormat"]=function(){return Module["asm"]["_PyUnicode_FromFormat"].apply(null,arguments)};var _PyUnicode_FromFormatV=Module["_PyUnicode_FromFormatV"]=function(){return Module["asm"]["_PyUnicode_FromFormatV"].apply(null,arguments)};var _PyUnicode_FromKindAndData=Module["_PyUnicode_FromKindAndData"]=function(){return Module["asm"]["_PyUnicode_FromKindAndData"].apply(null,arguments)};var _PyUnicode_FromObject=Module["_PyUnicode_FromObject"]=function(){return Module["asm"]["_PyUnicode_FromObject"].apply(null,arguments)};var _PyUnicode_FromOrdinal=Module["_PyUnicode_FromOrdinal"]=function(){return Module["asm"]["_PyUnicode_FromOrdinal"].apply(null,arguments)};var _PyUnicode_FromString=Module["_PyUnicode_FromString"]=function(){return Module["asm"]["_PyUnicode_FromString"].apply(null,arguments)};var _PyUnicode_FromStringAndSize=Module["_PyUnicode_FromStringAndSize"]=function(){return Module["asm"]["_PyUnicode_FromStringAndSize"].apply(null,arguments)};var _PyUnicode_FromUnicode=Module["_PyUnicode_FromUnicode"]=function(){return Module["asm"]["_PyUnicode_FromUnicode"].apply(null,arguments)};var _PyUnicode_FromWideChar=Module["_PyUnicode_FromWideChar"]=function(){return Module["asm"]["_PyUnicode_FromWideChar"].apply(null,arguments)};var _PyUnicode_GetDefaultEncoding=Module["_PyUnicode_GetDefaultEncoding"]=function(){return Module["asm"]["_PyUnicode_GetDefaultEncoding"].apply(null,arguments)};var _PyUnicode_GetLength=Module["_PyUnicode_GetLength"]=function(){return Module["asm"]["_PyUnicode_GetLength"].apply(null,arguments)};var _PyUnicode_GetMax=Module["_PyUnicode_GetMax"]=function(){return Module["asm"]["_PyUnicode_GetMax"].apply(null,arguments)};var _PyUnicode_GetSize=Module["_PyUnicode_GetSize"]=function(){return Module["asm"]["_PyUnicode_GetSize"].apply(null,arguments)};var _PyUnicode_InternFromString=Module["_PyUnicode_InternFromString"]=function(){return Module["asm"]["_PyUnicode_InternFromString"].apply(null,arguments)};var _PyUnicode_InternImmortal=Module["_PyUnicode_InternImmortal"]=function(){return Module["asm"]["_PyUnicode_InternImmortal"].apply(null,arguments)};var _PyUnicode_InternInPlace=Module["_PyUnicode_InternInPlace"]=function(){return Module["asm"]["_PyUnicode_InternInPlace"].apply(null,arguments)};var _PyUnicode_IsIdentifier=Module["_PyUnicode_IsIdentifier"]=function(){return Module["asm"]["_PyUnicode_IsIdentifier"].apply(null,arguments)};var _PyUnicode_Join=Module["_PyUnicode_Join"]=function(){return Module["asm"]["_PyUnicode_Join"].apply(null,arguments)};var _PyUnicode_New=Module["_PyUnicode_New"]=function(){return Module["asm"]["_PyUnicode_New"].apply(null,arguments)};var _PyUnicode_Partition=Module["_PyUnicode_Partition"]=function(){return Module["asm"]["_PyUnicode_Partition"].apply(null,arguments)};var _PyUnicode_RPartition=Module["_PyUnicode_RPartition"]=function(){return Module["asm"]["_PyUnicode_RPartition"].apply(null,arguments)};var _PyUnicode_RSplit=Module["_PyUnicode_RSplit"]=function(){return Module["asm"]["_PyUnicode_RSplit"].apply(null,arguments)};var _PyUnicode_ReadChar=Module["_PyUnicode_ReadChar"]=function(){return Module["asm"]["_PyUnicode_ReadChar"].apply(null,arguments)};var _PyUnicode_Replace=Module["_PyUnicode_Replace"]=function(){return Module["asm"]["_PyUnicode_Replace"].apply(null,arguments)};var _PyUnicode_Resize=Module["_PyUnicode_Resize"]=function(){return Module["asm"]["_PyUnicode_Resize"].apply(null,arguments)};var _PyUnicode_RichCompare=Module["_PyUnicode_RichCompare"]=function(){return Module["asm"]["_PyUnicode_RichCompare"].apply(null,arguments)};var _PyUnicode_Split=Module["_PyUnicode_Split"]=function(){return Module["asm"]["_PyUnicode_Split"].apply(null,arguments)};var _PyUnicode_Splitlines=Module["_PyUnicode_Splitlines"]=function(){return Module["asm"]["_PyUnicode_Splitlines"].apply(null,arguments)};var _PyUnicode_Substring=Module["_PyUnicode_Substring"]=function(){return Module["asm"]["_PyUnicode_Substring"].apply(null,arguments)};var _PyUnicode_Tailmatch=Module["_PyUnicode_Tailmatch"]=function(){return Module["asm"]["_PyUnicode_Tailmatch"].apply(null,arguments)};var _PyUnicode_TransformDecimalToASCII=Module["_PyUnicode_TransformDecimalToASCII"]=function(){return Module["asm"]["_PyUnicode_TransformDecimalToASCII"].apply(null,arguments)};var _PyUnicode_Translate=Module["_PyUnicode_Translate"]=function(){return Module["asm"]["_PyUnicode_Translate"].apply(null,arguments)};var _PyUnicode_TranslateCharmap=Module["_PyUnicode_TranslateCharmap"]=function(){return Module["asm"]["_PyUnicode_TranslateCharmap"].apply(null,arguments)};var _PyUnicode_WriteChar=Module["_PyUnicode_WriteChar"]=function(){return Module["asm"]["_PyUnicode_WriteChar"].apply(null,arguments)};var _PyUnknownEncodingHandler=Module["_PyUnknownEncodingHandler"]=function(){return Module["asm"]["_PyUnknownEncodingHandler"].apply(null,arguments)};var _PyWeakref_GetObject=Module["_PyWeakref_GetObject"]=function(){return Module["asm"]["_PyWeakref_GetObject"].apply(null,arguments)};var _PyWeakref_NewProxy=Module["_PyWeakref_NewProxy"]=function(){return Module["asm"]["_PyWeakref_NewProxy"].apply(null,arguments)};var _PyWeakref_NewRef=Module["_PyWeakref_NewRef"]=function(){return Module["asm"]["_PyWeakref_NewRef"].apply(null,arguments)};var _PyWrapper_New=Module["_PyWrapper_New"]=function(){return Module["asm"]["_PyWrapper_New"].apply(null,arguments)};var _PyZlib_Free=Module["_PyZlib_Free"]=function(){return Module["asm"]["_PyZlib_Free"].apply(null,arguments)};var _PyZlib_Malloc=Module["_PyZlib_Malloc"]=function(){return Module["asm"]["_PyZlib_Malloc"].apply(null,arguments)};var _Py_AddPendingCall=Module["_Py_AddPendingCall"]=function(){return Module["asm"]["_Py_AddPendingCall"].apply(null,arguments)};var _Py_AtExit=Module["_Py_AtExit"]=function(){return Module["asm"]["_Py_AtExit"].apply(null,arguments)};var _Py_BuildValue=Module["_Py_BuildValue"]=function(){return Module["asm"]["_Py_BuildValue"].apply(null,arguments)};var _Py_CompileString=Module["_Py_CompileString"]=function(){return Module["asm"]["_Py_CompileString"].apply(null,arguments)};var _Py_CompileStringExFlags=Module["_Py_CompileStringExFlags"]=function(){return Module["asm"]["_Py_CompileStringExFlags"].apply(null,arguments)};var _Py_CompileStringFlags=Module["_Py_CompileStringFlags"]=function(){return Module["asm"]["_Py_CompileStringFlags"].apply(null,arguments)};var _Py_CompileStringObject=Module["_Py_CompileStringObject"]=function(){return Module["asm"]["_Py_CompileStringObject"].apply(null,arguments)};var _Py_DecRef=Module["_Py_DecRef"]=function(){return Module["asm"]["_Py_DecRef"].apply(null,arguments)};var _Py_DecodeLocale=Module["_Py_DecodeLocale"]=function(){return Module["asm"]["_Py_DecodeLocale"].apply(null,arguments)};var _Py_EncodeLocale=Module["_Py_EncodeLocale"]=function(){return Module["asm"]["_Py_EncodeLocale"].apply(null,arguments)};var _Py_EndInterpreter=Module["_Py_EndInterpreter"]=function(){return Module["asm"]["_Py_EndInterpreter"].apply(null,arguments)};var _Py_Exit=Module["_Py_Exit"]=function(){return Module["asm"]["_Py_Exit"].apply(null,arguments)};var _Py_FatalError=Module["_Py_FatalError"]=function(){return Module["asm"]["_Py_FatalError"].apply(null,arguments)};var _Py_FdIsInteractive=Module["_Py_FdIsInteractive"]=function(){return Module["asm"]["_Py_FdIsInteractive"].apply(null,arguments)};var _Py_Finalize=Module["_Py_Finalize"]=function(){return Module["asm"]["_Py_Finalize"].apply(null,arguments)};var _Py_FinalizeEx=Module["_Py_FinalizeEx"]=function(){return Module["asm"]["_Py_FinalizeEx"].apply(null,arguments)};var _Py_FrozenMain=Module["_Py_FrozenMain"]=function(){return Module["asm"]["_Py_FrozenMain"].apply(null,arguments)};var _Py_GetArgcArgv=Module["_Py_GetArgcArgv"]=function(){return Module["asm"]["_Py_GetArgcArgv"].apply(null,arguments)};var _Py_GetBuildInfo=Module["_Py_GetBuildInfo"]=function(){return Module["asm"]["_Py_GetBuildInfo"].apply(null,arguments)};var _Py_GetCompiler=Module["_Py_GetCompiler"]=function(){return Module["asm"]["_Py_GetCompiler"].apply(null,arguments)};var _Py_GetCopyright=Module["_Py_GetCopyright"]=function(){return Module["asm"]["_Py_GetCopyright"].apply(null,arguments)};var _Py_GetExecPrefix=Module["_Py_GetExecPrefix"]=function(){return Module["asm"]["_Py_GetExecPrefix"].apply(null,arguments)};var _Py_GetPath=Module["_Py_GetPath"]=function(){return Module["asm"]["_Py_GetPath"].apply(null,arguments)};var _Py_GetPlatform=Module["_Py_GetPlatform"]=function(){return Module["asm"]["_Py_GetPlatform"].apply(null,arguments)};var _Py_GetPrefix=Module["_Py_GetPrefix"]=function(){return Module["asm"]["_Py_GetPrefix"].apply(null,arguments)};var _Py_GetProgramFullPath=Module["_Py_GetProgramFullPath"]=function(){return Module["asm"]["_Py_GetProgramFullPath"].apply(null,arguments)};var _Py_GetProgramName=Module["_Py_GetProgramName"]=function(){return Module["asm"]["_Py_GetProgramName"].apply(null,arguments)};var _Py_GetPythonHome=Module["_Py_GetPythonHome"]=function(){return Module["asm"]["_Py_GetPythonHome"].apply(null,arguments)};var _Py_GetRecursionLimit=Module["_Py_GetRecursionLimit"]=function(){return Module["asm"]["_Py_GetRecursionLimit"].apply(null,arguments)};var _Py_GetVersion=Module["_Py_GetVersion"]=function(){return Module["asm"]["_Py_GetVersion"].apply(null,arguments)};var _Py_IncRef=Module["_Py_IncRef"]=function(){return Module["asm"]["_Py_IncRef"].apply(null,arguments)};var _Py_Initialize=Module["_Py_Initialize"]=function(){return Module["asm"]["_Py_Initialize"].apply(null,arguments)};var _Py_InitializeEx=Module["_Py_InitializeEx"]=function(){return Module["asm"]["_Py_InitializeEx"].apply(null,arguments)};var _Py_IsInitialized=Module["_Py_IsInitialized"]=function(){return Module["asm"]["_Py_IsInitialized"].apply(null,arguments)};var _Py_Main=Module["_Py_Main"]=function(){return Module["asm"]["_Py_Main"].apply(null,arguments)};var _Py_MakePendingCalls=Module["_Py_MakePendingCalls"]=function(){return Module["asm"]["_Py_MakePendingCalls"].apply(null,arguments)};var _Py_NewInterpreter=Module["_Py_NewInterpreter"]=function(){return Module["asm"]["_Py_NewInterpreter"].apply(null,arguments)};var _Py_ReprEnter=Module["_Py_ReprEnter"]=function(){return Module["asm"]["_Py_ReprEnter"].apply(null,arguments)};var _Py_ReprLeave=Module["_Py_ReprLeave"]=function(){return Module["asm"]["_Py_ReprLeave"].apply(null,arguments)};var _Py_SetPath=Module["_Py_SetPath"]=function(){return Module["asm"]["_Py_SetPath"].apply(null,arguments)};var _Py_SetProgramName=Module["_Py_SetProgramName"]=function(){return Module["asm"]["_Py_SetProgramName"].apply(null,arguments)};var _Py_SetPythonHome=Module["_Py_SetPythonHome"]=function(){return Module["asm"]["_Py_SetPythonHome"].apply(null,arguments)};var _Py_SetRecursionLimit=Module["_Py_SetRecursionLimit"]=function(){return Module["asm"]["_Py_SetRecursionLimit"].apply(null,arguments)};var _Py_SetStandardStreamEncoding=Module["_Py_SetStandardStreamEncoding"]=function(){return Module["asm"]["_Py_SetStandardStreamEncoding"].apply(null,arguments)};var _Py_SymtableString=Module["_Py_SymtableString"]=function(){return Module["asm"]["_Py_SymtableString"].apply(null,arguments)};var _Py_SymtableStringObject=Module["_Py_SymtableStringObject"]=function(){return Module["asm"]["_Py_SymtableStringObject"].apply(null,arguments)};var _Py_UNICODE_strcat=Module["_Py_UNICODE_strcat"]=function(){return Module["asm"]["_Py_UNICODE_strcat"].apply(null,arguments)};var _Py_UNICODE_strchr=Module["_Py_UNICODE_strchr"]=function(){return Module["asm"]["_Py_UNICODE_strchr"].apply(null,arguments)};var _Py_UNICODE_strcmp=Module["_Py_UNICODE_strcmp"]=function(){return Module["asm"]["_Py_UNICODE_strcmp"].apply(null,arguments)};var _Py_UNICODE_strcpy=Module["_Py_UNICODE_strcpy"]=function(){return Module["asm"]["_Py_UNICODE_strcpy"].apply(null,arguments)};var _Py_UNICODE_strlen=Module["_Py_UNICODE_strlen"]=function(){return Module["asm"]["_Py_UNICODE_strlen"].apply(null,arguments)};var _Py_UNICODE_strncmp=Module["_Py_UNICODE_strncmp"]=function(){return Module["asm"]["_Py_UNICODE_strncmp"].apply(null,arguments)};var _Py_UNICODE_strncpy=Module["_Py_UNICODE_strncpy"]=function(){return Module["asm"]["_Py_UNICODE_strncpy"].apply(null,arguments)};var _Py_UNICODE_strrchr=Module["_Py_UNICODE_strrchr"]=function(){return Module["asm"]["_Py_UNICODE_strrchr"].apply(null,arguments)};var _Py_UniversalNewlineFgets=Module["_Py_UniversalNewlineFgets"]=function(){return Module["asm"]["_Py_UniversalNewlineFgets"].apply(null,arguments)};var _Py_VaBuildValue=Module["_Py_VaBuildValue"]=function(){return Module["asm"]["_Py_VaBuildValue"].apply(null,arguments)};var _Py_meta_grammar=Module["_Py_meta_grammar"]=function(){return Module["asm"]["_Py_meta_grammar"].apply(null,arguments)};var _Py_off_t_converter=Module["_Py_off_t_converter"]=function(){return Module["asm"]["_Py_off_t_converter"].apply(null,arguments)};var _Py_pgen=Module["_Py_pgen"]=function(){return Module["asm"]["_Py_pgen"].apply(null,arguments)};var _QQ_compareitems=Module["_QQ_compareitems"]=function(){return Module["asm"]["_QQ_compareitems"].apply(null,arguments)};var _QQ_getitem=Module["_QQ_getitem"]=function(){return Module["asm"]["_QQ_getitem"].apply(null,arguments)};var _QQ_setitem=Module["_QQ_setitem"]=function(){return Module["asm"]["_QQ_setitem"].apply(null,arguments)};var _Read_CVT=Module["_Read_CVT"]=function(){return Module["asm"]["_Read_CVT"].apply(null,arguments)};var _Read_CVT_Stretched=Module["_Read_CVT_Stretched"]=function(){return Module["asm"]["_Read_CVT_Stretched"].apply(null,arguments)};var _Reader_clear=Module["_Reader_clear"]=function(){return Module["asm"]["_Reader_clear"].apply(null,arguments)};var _Reader_dealloc=Module["_Reader_dealloc"]=function(){return Module["asm"]["_Reader_dealloc"].apply(null,arguments)};var _Reader_iternext=Module["_Reader_iternext"]=function(){return Module["asm"]["_Reader_iternext"].apply(null,arguments)};var _Reader_traverse=Module["_Reader_traverse"]=function(){return Module["asm"]["_Reader_traverse"].apply(null,arguments)};var _Reinsert=Module["_Reinsert"]=function(){return Module["asm"]["_Reinsert"].apply(null,arguments)};var _Render_Single_Pass=Module["_Render_Single_Pass"]=function(){return Module["asm"]["_Render_Single_Pass"].apply(null,arguments)};var _RotatingTree_Add=Module["_RotatingTree_Add"]=function(){return Module["asm"]["_RotatingTree_Add"].apply(null,arguments)};var _RotatingTree_Enum=Module["_RotatingTree_Enum"]=function(){return Module["asm"]["_RotatingTree_Enum"].apply(null,arguments)};var _RotatingTree_Get=Module["_RotatingTree_Get"]=function(){return Module["asm"]["_RotatingTree_Get"].apply(null,arguments)};var _Round_Down_To_Grid=Module["_Round_Down_To_Grid"]=function(){return Module["asm"]["_Round_Down_To_Grid"].apply(null,arguments)};var _Round_None=Module["_Round_None"]=function(){return Module["asm"]["_Round_None"].apply(null,arguments)};var _Round_Super=Module["_Round_Super"]=function(){return Module["asm"]["_Round_Super"].apply(null,arguments)};var _Round_Super_45=Module["_Round_Super_45"]=function(){return Module["asm"]["_Round_Super_45"].apply(null,arguments)};var _Round_To_Double_Grid=Module["_Round_To_Double_Grid"]=function(){return Module["asm"]["_Round_To_Double_Grid"].apply(null,arguments)};var _Round_To_Grid=Module["_Round_To_Grid"]=function(){return Module["asm"]["_Round_To_Grid"].apply(null,arguments)};var _Round_To_Half_Grid=Module["_Round_To_Half_Grid"]=function(){return Module["asm"]["_Round_To_Half_Grid"].apply(null,arguments)};var _Round_Up_To_Grid=Module["_Round_Up_To_Grid"]=function(){return Module["asm"]["_Round_Up_To_Grid"].apply(null,arguments)};var _S=Module["_S"]=function(){return Module["asm"]["_S"].apply(null,arguments)};var _SHA1Type_copy=Module["_SHA1Type_copy"]=function(){return Module["asm"]["_SHA1Type_copy"].apply(null,arguments)};var _SHA1Type_digest=Module["_SHA1Type_digest"]=function(){return Module["asm"]["_SHA1Type_digest"].apply(null,arguments)};var _SHA1Type_hexdigest=Module["_SHA1Type_hexdigest"]=function(){return Module["asm"]["_SHA1Type_hexdigest"].apply(null,arguments)};var _SHA1Type_update=Module["_SHA1Type_update"]=function(){return Module["asm"]["_SHA1Type_update"].apply(null,arguments)};var _SHA1_dealloc=Module["_SHA1_dealloc"]=function(){return Module["asm"]["_SHA1_dealloc"].apply(null,arguments)};var _SHA1_get_block_size=Module["_SHA1_get_block_size"]=function(){return Module["asm"]["_SHA1_get_block_size"].apply(null,arguments)};var _SHA1_get_name=Module["_SHA1_get_name"]=function(){return Module["asm"]["_SHA1_get_name"].apply(null,arguments)};var _SHA256Type_copy=Module["_SHA256Type_copy"]=function(){return Module["asm"]["_SHA256Type_copy"].apply(null,arguments)};var _SHA256Type_digest=Module["_SHA256Type_digest"]=function(){return Module["asm"]["_SHA256Type_digest"].apply(null,arguments)};var _SHA256Type_hexdigest=Module["_SHA256Type_hexdigest"]=function(){return Module["asm"]["_SHA256Type_hexdigest"].apply(null,arguments)};var _SHA256Type_update=Module["_SHA256Type_update"]=function(){return Module["asm"]["_SHA256Type_update"].apply(null,arguments)};var _SHA256_get_block_size=Module["_SHA256_get_block_size"]=function(){return Module["asm"]["_SHA256_get_block_size"].apply(null,arguments)};var _SHA256_get_name=Module["_SHA256_get_name"]=function(){return Module["asm"]["_SHA256_get_name"].apply(null,arguments)};var _SHA3_dealloc=Module["_SHA3_dealloc"]=function(){return Module["asm"]["_SHA3_dealloc"].apply(null,arguments)};var _SHA3_get_block_size=Module["_SHA3_get_block_size"]=function(){return Module["asm"]["_SHA3_get_block_size"].apply(null,arguments)};var _SHA3_get_capacity_bits=Module["_SHA3_get_capacity_bits"]=function(){return Module["asm"]["_SHA3_get_capacity_bits"].apply(null,arguments)};var _SHA3_get_digest_size=Module["_SHA3_get_digest_size"]=function(){return Module["asm"]["_SHA3_get_digest_size"].apply(null,arguments)};var _SHA3_get_name=Module["_SHA3_get_name"]=function(){return Module["asm"]["_SHA3_get_name"].apply(null,arguments)};var _SHA3_get_rate_bits=Module["_SHA3_get_rate_bits"]=function(){return Module["asm"]["_SHA3_get_rate_bits"].apply(null,arguments)};var _SHA3_get_suffix=Module["_SHA3_get_suffix"]=function(){return Module["asm"]["_SHA3_get_suffix"].apply(null,arguments)};var _SHA512Type_copy=Module["_SHA512Type_copy"]=function(){return Module["asm"]["_SHA512Type_copy"].apply(null,arguments)};var _SHA512Type_digest=Module["_SHA512Type_digest"]=function(){return Module["asm"]["_SHA512Type_digest"].apply(null,arguments)};var _SHA512Type_hexdigest=Module["_SHA512Type_hexdigest"]=function(){return Module["asm"]["_SHA512Type_hexdigest"].apply(null,arguments)};var _SHA512Type_update=Module["_SHA512Type_update"]=function(){return Module["asm"]["_SHA512Type_update"].apply(null,arguments)};var _SHA512_dealloc=Module["_SHA512_dealloc"]=function(){return Module["asm"]["_SHA512_dealloc"].apply(null,arguments)};var _SHA512_get_block_size=Module["_SHA512_get_block_size"]=function(){return Module["asm"]["_SHA512_get_block_size"].apply(null,arguments)};var _SHA512_get_name=Module["_SHA512_get_name"]=function(){return Module["asm"]["_SHA512_get_name"].apply(null,arguments)};var _SHA_dealloc=Module["_SHA_dealloc"]=function(){return Module["asm"]["_SHA_dealloc"].apply(null,arguments)};var _ScandirIterator_close=Module["_ScandirIterator_close"]=function(){return Module["asm"]["_ScandirIterator_close"].apply(null,arguments)};var _ScandirIterator_dealloc=Module["_ScandirIterator_dealloc"]=function(){return Module["asm"]["_ScandirIterator_dealloc"].apply(null,arguments)};var _ScandirIterator_enter=Module["_ScandirIterator_enter"]=function(){return Module["asm"]["_ScandirIterator_enter"].apply(null,arguments)};var _ScandirIterator_exit=Module["_ScandirIterator_exit"]=function(){return Module["asm"]["_ScandirIterator_exit"].apply(null,arguments)};var _ScandirIterator_finalize=Module["_ScandirIterator_finalize"]=function(){return Module["asm"]["_ScandirIterator_finalize"].apply(null,arguments)};var _ScandirIterator_iternext=Module["_ScandirIterator_iternext"]=function(){return Module["asm"]["_ScandirIterator_iternext"].apply(null,arguments)};var _SortByDimension=Module["_SortByDimension"]=function(){return Module["asm"]["_SortByDimension"].apply(null,arguments)};var _SortByDistance=Module["_SortByDistance"]=function(){return Module["asm"]["_SortByDistance"].apply(null,arguments)};var _SplitNode=Module["_SplitNode"]=function(){return Module["asm"]["_SplitNode"].apply(null,arguments)};var _Split_Conic=Module["_Split_Conic"]=function(){return Module["asm"]["_Split_Conic"].apply(null,arguments)};var _Split_Cubic=Module["_Split_Cubic"]=function(){return Module["asm"]["_Split_Cubic"].apply(null,arguments)};var _Stop=Module["_Stop"]=function(){return Module["asm"]["_Stop"].apply(null,arguments)};var _StopIteration_clear=Module["_StopIteration_clear"]=function(){return Module["asm"]["_StopIteration_clear"].apply(null,arguments)};var _StopIteration_dealloc=Module["_StopIteration_dealloc"]=function(){return Module["asm"]["_StopIteration_dealloc"].apply(null,arguments)};var _StopIteration_init=Module["_StopIteration_init"]=function(){return Module["asm"]["_StopIteration_init"].apply(null,arguments)};var _StopIteration_traverse=Module["_StopIteration_traverse"]=function(){return Module["asm"]["_StopIteration_traverse"].apply(null,arguments)};var _Struct___init__=Module["_Struct___init__"]=function(){return Module["asm"]["_Struct___init__"].apply(null,arguments)};var _Struct_iter_unpack=Module["_Struct_iter_unpack"]=function(){return Module["asm"]["_Struct_iter_unpack"].apply(null,arguments)};var _Struct_unpack=Module["_Struct_unpack"]=function(){return Module["asm"]["_Struct_unpack"].apply(null,arguments)};var _Struct_unpack_from=Module["_Struct_unpack_from"]=function(){return Module["asm"]["_Struct_unpack_from"].apply(null,arguments)};var _SubString_new_object=Module["_SubString_new_object"]=function(){return Module["asm"]["_SubString_new_object"].apply(null,arguments)};var _SubString_new_object_or_empty=Module["_SubString_new_object_or_empty"]=function(){return Module["asm"]["_SubString_new_object_or_empty"].apply(null,arguments)};var _SyntaxError_clear=Module["_SyntaxError_clear"]=function(){return Module["asm"]["_SyntaxError_clear"].apply(null,arguments)};var _SyntaxError_dealloc=Module["_SyntaxError_dealloc"]=function(){return Module["asm"]["_SyntaxError_dealloc"].apply(null,arguments)};var _SyntaxError_init=Module["_SyntaxError_init"]=function(){return Module["asm"]["_SyntaxError_init"].apply(null,arguments)};var _SyntaxError_str=Module["_SyntaxError_str"]=function(){return Module["asm"]["_SyntaxError_str"].apply(null,arguments)};var _SyntaxError_traverse=Module["_SyntaxError_traverse"]=function(){return Module["asm"]["_SyntaxError_traverse"].apply(null,arguments)};var _SystemExit_clear=Module["_SystemExit_clear"]=function(){return Module["asm"]["_SystemExit_clear"].apply(null,arguments)};var _SystemExit_dealloc=Module["_SystemExit_dealloc"]=function(){return Module["asm"]["_SystemExit_dealloc"].apply(null,arguments)};var _SystemExit_init=Module["_SystemExit_init"]=function(){return Module["asm"]["_SystemExit_init"].apply(null,arguments)};var _SystemExit_traverse=Module["_SystemExit_traverse"]=function(){return Module["asm"]["_SystemExit_traverse"].apply(null,arguments)};var _T1_Done_Blend=Module["_T1_Done_Blend"]=function(){return Module["asm"]["_T1_Done_Blend"].apply(null,arguments)};var _T1_Driver_Done=Module["_T1_Driver_Done"]=function(){return Module["asm"]["_T1_Driver_Done"].apply(null,arguments)};var _T1_Driver_Init=Module["_T1_Driver_Init"]=function(){return Module["asm"]["_T1_Driver_Init"].apply(null,arguments)};var _T1_Face_Done=Module["_T1_Face_Done"]=function(){return Module["asm"]["_T1_Face_Done"].apply(null,arguments)};var _T1_Face_Init=Module["_T1_Face_Init"]=function(){return Module["asm"]["_T1_Face_Init"].apply(null,arguments)};var _T1_Get_Advances=Module["_T1_Get_Advances"]=function(){return Module["asm"]["_T1_Get_Advances"].apply(null,arguments)};var _T1_Get_MM_Var=Module["_T1_Get_MM_Var"]=function(){return Module["asm"]["_T1_Get_MM_Var"].apply(null,arguments)};var _T1_Get_Multi_Master=Module["_T1_Get_Multi_Master"]=function(){return Module["asm"]["_T1_Get_Multi_Master"].apply(null,arguments)};var _T1_Get_Track_Kerning=Module["_T1_Get_Track_Kerning"]=function(){return Module["asm"]["_T1_Get_Track_Kerning"].apply(null,arguments)};var _T1_GlyphSlot_Done=Module["_T1_GlyphSlot_Done"]=function(){return Module["asm"]["_T1_GlyphSlot_Done"].apply(null,arguments)};var _T1_GlyphSlot_Init=Module["_T1_GlyphSlot_Init"]=function(){return Module["asm"]["_T1_GlyphSlot_Init"].apply(null,arguments)};var _T1_Load_Glyph=Module["_T1_Load_Glyph"]=function(){return Module["asm"]["_T1_Load_Glyph"].apply(null,arguments)};var _T1_Parse_Glyph=Module["_T1_Parse_Glyph"]=function(){return Module["asm"]["_T1_Parse_Glyph"].apply(null,arguments)};var _T1_Parse_Glyph_And_Get_Char_String=Module["_T1_Parse_Glyph_And_Get_Char_String"]=function(){return Module["asm"]["_T1_Parse_Glyph_And_Get_Char_String"].apply(null,arguments)};var _T1_Read_Metrics=Module["_T1_Read_Metrics"]=function(){return Module["asm"]["_T1_Read_Metrics"].apply(null,arguments)};var _T1_Set_MM_Blend=Module["_T1_Set_MM_Blend"]=function(){return Module["asm"]["_T1_Set_MM_Blend"].apply(null,arguments)};var _T1_Set_MM_Design=Module["_T1_Set_MM_Design"]=function(){return Module["asm"]["_T1_Set_MM_Design"].apply(null,arguments)};var _T1_Set_Var_Design=Module["_T1_Set_Var_Design"]=function(){return Module["asm"]["_T1_Set_Var_Design"].apply(null,arguments)};var _T1_Size_Done=Module["_T1_Size_Done"]=function(){return Module["asm"]["_T1_Size_Done"].apply(null,arguments)};var _T1_Size_Init=Module["_T1_Size_Init"]=function(){return Module["asm"]["_T1_Size_Init"].apply(null,arguments)};var _T1_Size_Request=Module["_T1_Size_Request"]=function(){return Module["asm"]["_T1_Size_Request"].apply(null,arguments)};var _T42_Driver_Done=Module["_T42_Driver_Done"]=function(){return Module["asm"]["_T42_Driver_Done"].apply(null,arguments)};var _T42_Driver_Init=Module["_T42_Driver_Init"]=function(){return Module["asm"]["_T42_Driver_Init"].apply(null,arguments)};var _T42_Face_Done=Module["_T42_Face_Done"]=function(){return Module["asm"]["_T42_Face_Done"].apply(null,arguments)};var _T42_Face_Init=Module["_T42_Face_Init"]=function(){return Module["asm"]["_T42_Face_Init"].apply(null,arguments)};var _T42_Get_Interface=Module["_T42_Get_Interface"]=function(){return Module["asm"]["_T42_Get_Interface"].apply(null,arguments)};var _T42_GlyphSlot_Done=Module["_T42_GlyphSlot_Done"]=function(){return Module["asm"]["_T42_GlyphSlot_Done"].apply(null,arguments)};var _T42_GlyphSlot_Init=Module["_T42_GlyphSlot_Init"]=function(){return Module["asm"]["_T42_GlyphSlot_Init"].apply(null,arguments)};var _T42_GlyphSlot_Load=Module["_T42_GlyphSlot_Load"]=function(){return Module["asm"]["_T42_GlyphSlot_Load"].apply(null,arguments)};var _T42_Size_Done=Module["_T42_Size_Done"]=function(){return Module["asm"]["_T42_Size_Done"].apply(null,arguments)};var _T42_Size_Init=Module["_T42_Size_Init"]=function(){return Module["asm"]["_T42_Size_Init"].apply(null,arguments)};var _T42_Size_Request=Module["_T42_Size_Request"]=function(){return Module["asm"]["_T42_Size_Request"].apply(null,arguments)};var _T42_Size_Select=Module["_T42_Size_Select"]=function(){return Module["asm"]["_T42_Size_Select"].apply(null,arguments)};var _TT_Access_Glyph_Frame=Module["_TT_Access_Glyph_Frame"]=function(){return Module["asm"]["_TT_Access_Glyph_Frame"].apply(null,arguments)};var _TT_Forget_Glyph_Frame=Module["_TT_Forget_Glyph_Frame"]=function(){return Module["asm"]["_TT_Forget_Glyph_Frame"].apply(null,arguments)};var _TT_Get_MM_Var=Module["_TT_Get_MM_Var"]=function(){return Module["asm"]["_TT_Get_MM_Var"].apply(null,arguments)};var _TT_Hint_Glyph=Module["_TT_Hint_Glyph"]=function(){return Module["asm"]["_TT_Hint_Glyph"].apply(null,arguments)};var _TT_Load_Composite_Glyph=Module["_TT_Load_Composite_Glyph"]=function(){return Module["asm"]["_TT_Load_Composite_Glyph"].apply(null,arguments)};var _TT_Load_Context=Module["_TT_Load_Context"]=function(){return Module["asm"]["_TT_Load_Context"].apply(null,arguments)};var _TT_Load_Glyph_Header=Module["_TT_Load_Glyph_Header"]=function(){return Module["asm"]["_TT_Load_Glyph_Header"].apply(null,arguments)};var _TT_Load_Simple_Glyph=Module["_TT_Load_Simple_Glyph"]=function(){return Module["asm"]["_TT_Load_Simple_Glyph"].apply(null,arguments)};var _TT_New_Context=Module["_TT_New_Context"]=function(){return Module["asm"]["_TT_New_Context"].apply(null,arguments)};var _TT_RunIns=Module["_TT_RunIns"]=function(){return Module["asm"]["_TT_RunIns"].apply(null,arguments)};var _TT_Set_MM_Blend=Module["_TT_Set_MM_Blend"]=function(){return Module["asm"]["_TT_Set_MM_Blend"].apply(null,arguments)};var _TT_Set_Var_Design=Module["_TT_Set_Var_Design"]=function(){return Module["asm"]["_TT_Set_Var_Design"].apply(null,arguments)};var _TT_Vary_Apply_Glyph_Deltas=Module["_TT_Vary_Apply_Glyph_Deltas"]=function(){return Module["asm"]["_TT_Vary_Apply_Glyph_Deltas"].apply(null,arguments)};var _UnicodeDecodeError_init=Module["_UnicodeDecodeError_init"]=function(){return Module["asm"]["_UnicodeDecodeError_init"].apply(null,arguments)};var _UnicodeDecodeError_str=Module["_UnicodeDecodeError_str"]=function(){return Module["asm"]["_UnicodeDecodeError_str"].apply(null,arguments)};var _UnicodeEncodeError_init=Module["_UnicodeEncodeError_init"]=function(){return Module["asm"]["_UnicodeEncodeError_init"].apply(null,arguments)};var _UnicodeEncodeError_str=Module["_UnicodeEncodeError_str"]=function(){return Module["asm"]["_UnicodeEncodeError_str"].apply(null,arguments)};var _UnicodeError_clear=Module["_UnicodeError_clear"]=function(){return Module["asm"]["_UnicodeError_clear"].apply(null,arguments)};var _UnicodeError_dealloc=Module["_UnicodeError_dealloc"]=function(){return Module["asm"]["_UnicodeError_dealloc"].apply(null,arguments)};var _UnicodeError_traverse=Module["_UnicodeError_traverse"]=function(){return Module["asm"]["_UnicodeError_traverse"].apply(null,arguments)};var _UnicodeTranslateError_init=Module["_UnicodeTranslateError_init"]=function(){return Module["asm"]["_UnicodeTranslateError_init"].apply(null,arguments)};var _UnicodeTranslateError_str=Module["_UnicodeTranslateError_str"]=function(){return Module["asm"]["_UnicodeTranslateError_str"].apply(null,arguments)};var _UnpicklerMemoProxy_clear=Module["_UnpicklerMemoProxy_clear"]=function(){return Module["asm"]["_UnpicklerMemoProxy_clear"].apply(null,arguments)};var _UnpicklerMemoProxy_dealloc=Module["_UnpicklerMemoProxy_dealloc"]=function(){return Module["asm"]["_UnpicklerMemoProxy_dealloc"].apply(null,arguments)};var _UnpicklerMemoProxy_traverse=Module["_UnpicklerMemoProxy_traverse"]=function(){return Module["asm"]["_UnpicklerMemoProxy_traverse"].apply(null,arguments)};var _Unpickler_clear=Module["_Unpickler_clear"]=function(){return Module["asm"]["_Unpickler_clear"].apply(null,arguments)};var _Unpickler_dealloc=Module["_Unpickler_dealloc"]=function(){return Module["asm"]["_Unpickler_dealloc"].apply(null,arguments)};var _Unpickler_get_memo=Module["_Unpickler_get_memo"]=function(){return Module["asm"]["_Unpickler_get_memo"].apply(null,arguments)};var _Unpickler_get_persload=Module["_Unpickler_get_persload"]=function(){return Module["asm"]["_Unpickler_get_persload"].apply(null,arguments)};var _Unpickler_set_memo=Module["_Unpickler_set_memo"]=function(){return Module["asm"]["_Unpickler_set_memo"].apply(null,arguments)};var _Unpickler_set_persload=Module["_Unpickler_set_persload"]=function(){return Module["asm"]["_Unpickler_set_persload"].apply(null,arguments)};var _Unpickler_traverse=Module["_Unpickler_traverse"]=function(){return Module["asm"]["_Unpickler_traverse"].apply(null,arguments)};var _Vertical_Sweep_Drop=Module["_Vertical_Sweep_Drop"]=function(){return Module["asm"]["_Vertical_Sweep_Drop"].apply(null,arguments)};var _Vertical_Sweep_Init=Module["_Vertical_Sweep_Init"]=function(){return Module["asm"]["_Vertical_Sweep_Init"].apply(null,arguments)};var _Vertical_Sweep_Span=Module["_Vertical_Sweep_Span"]=function(){return Module["asm"]["_Vertical_Sweep_Span"].apply(null,arguments)};var _Vertical_Sweep_Step=Module["_Vertical_Sweep_Step"]=function(){return Module["asm"]["_Vertical_Sweep_Step"].apply(null,arguments)};var _Write_CVT=Module["_Write_CVT"]=function(){return Module["asm"]["_Write_CVT"].apply(null,arguments)};var _Write_CVT_Stretched=Module["_Write_CVT_Stretched"]=function(){return Module["asm"]["_Write_CVT_Stretched"].apply(null,arguments)};var _Writer_clear=Module["_Writer_clear"]=function(){return Module["asm"]["_Writer_clear"].apply(null,arguments)};var _Writer_dealloc=Module["_Writer_dealloc"]=function(){return Module["asm"]["_Writer_dealloc"].apply(null,arguments)};var _Writer_traverse=Module["_Writer_traverse"]=function(){return Module["asm"]["_Writer_traverse"].apply(null,arguments)};var _XXH32_round=Module["_XXH32_round"]=function(){return Module["asm"]["_XXH32_round"].apply(null,arguments)};var _XXH64_mergeRound=Module["_XXH64_mergeRound"]=function(){return Module["asm"]["_XXH64_mergeRound"].apply(null,arguments)};var _XXH64_round=Module["_XXH64_round"]=function(){return Module["asm"]["_XXH64_round"].apply(null,arguments)};var _XXH_free=Module["_XXH_free"]=function(){return Module["asm"]["_XXH_free"].apply(null,arguments)};var _XXH_malloc=Module["_XXH_malloc"]=function(){return Module["asm"]["_XXH_malloc"].apply(null,arguments)};var _XXH_memcpy=Module["_XXH_memcpy"]=function(){return Module["asm"]["_XXH_memcpy"].apply(null,arguments)};var _XXH_read32=Module["_XXH_read32"]=function(){return Module["asm"]["_XXH_read32"].apply(null,arguments)};var _XXH_read64=Module["_XXH_read64"]=function(){return Module["asm"]["_XXH_read64"].apply(null,arguments)};var _XXH_readBE32=Module["_XXH_readBE32"]=function(){return Module["asm"]["_XXH_readBE32"].apply(null,arguments)};var _XXH_readBE64=Module["_XXH_readBE64"]=function(){return Module["asm"]["_XXH_readBE64"].apply(null,arguments)};var _XXH_swap32=Module["_XXH_swap32"]=function(){return Module["asm"]["_XXH_swap32"].apply(null,arguments)};var _XXH_swap64=Module["_XXH_swap64"]=function(){return Module["asm"]["_XXH_swap64"].apply(null,arguments)};var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=function(){return Module["asm"]["__GLOBAL__I_000101"].apply(null,arguments)};var __GLOBAL__I_000101_15246=Module["__GLOBAL__I_000101_15246"]=function(){return Module["asm"]["__GLOBAL__I_000101_15246"].apply(null,arguments)};var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=function(){return Module["asm"]["__GLOBAL__sub_I_iostream_cpp"].apply(null,arguments)};var __GLOBAL__sub_I_memory_resource_cpp=Module["__GLOBAL__sub_I_memory_resource_cpp"]=function(){return Module["asm"]["__GLOBAL__sub_I_memory_resource_cpp"].apply(null,arguments)};var __Pickle_ClearState=Module["__Pickle_ClearState"]=function(){return Module["asm"]["__Pickle_ClearState"].apply(null,arguments)};var __Pickler_Write=Module["__Pickler_Write"]=function(){return Module["asm"]["__Pickler_Write"].apply(null,arguments)};var __Pickler_write_bytes=Module["__Pickler_write_bytes"]=function(){return Module["asm"]["__Pickler_write_bytes"].apply(null,arguments)};var __PyAST_ExprAsUnicode=Module["__PyAST_ExprAsUnicode"]=function(){return Module["asm"]["__PyAST_ExprAsUnicode"].apply(null,arguments)};var __PyAST_Optimize=Module["__PyAST_Optimize"]=function(){return Module["asm"]["__PyAST_Optimize"].apply(null,arguments)};var __PyAccu_Accumulate=Module["__PyAccu_Accumulate"]=function(){return Module["asm"]["__PyAccu_Accumulate"].apply(null,arguments)};var __PyAccu_Destroy=Module["__PyAccu_Destroy"]=function(){return Module["asm"]["__PyAccu_Destroy"].apply(null,arguments)};var __PyAccu_Finish=Module["__PyAccu_Finish"]=function(){return Module["asm"]["__PyAccu_Finish"].apply(null,arguments)};var __PyAccu_FinishAsList=Module["__PyAccu_FinishAsList"]=function(){return Module["asm"]["__PyAccu_FinishAsList"].apply(null,arguments)};var __PyAccu_Init=Module["__PyAccu_Init"]=function(){return Module["asm"]["__PyAccu_Init"].apply(null,arguments)};var __PyArg_Fini=Module["__PyArg_Fini"]=function(){return Module["asm"]["__PyArg_Fini"].apply(null,arguments)};var __PyArg_NoKeywords=Module["__PyArg_NoKeywords"]=function(){return Module["asm"]["__PyArg_NoKeywords"].apply(null,arguments)};var __PyArg_NoPositional=Module["__PyArg_NoPositional"]=function(){return Module["asm"]["__PyArg_NoPositional"].apply(null,arguments)};var __PyArg_ParseStack=Module["__PyArg_ParseStack"]=function(){return Module["asm"]["__PyArg_ParseStack"].apply(null,arguments)};var __PyArg_ParseStackAndKeywords=Module["__PyArg_ParseStackAndKeywords"]=function(){return Module["asm"]["__PyArg_ParseStackAndKeywords"].apply(null,arguments)};var __PyArg_ParseStackAndKeywords_SizeT=Module["__PyArg_ParseStackAndKeywords_SizeT"]=function(){return Module["asm"]["__PyArg_ParseStackAndKeywords_SizeT"].apply(null,arguments)};var __PyArg_ParseStack_SizeT=Module["__PyArg_ParseStack_SizeT"]=function(){return Module["asm"]["__PyArg_ParseStack_SizeT"].apply(null,arguments)};var __PyArg_ParseTupleAndKeywordsFast=Module["__PyArg_ParseTupleAndKeywordsFast"]=function(){return Module["asm"]["__PyArg_ParseTupleAndKeywordsFast"].apply(null,arguments)};var __PyArg_ParseTupleAndKeywordsFast_SizeT=Module["__PyArg_ParseTupleAndKeywordsFast_SizeT"]=function(){return Module["asm"]["__PyArg_ParseTupleAndKeywordsFast_SizeT"].apply(null,arguments)};var __PyArg_ParseTupleAndKeywords_SizeT=Module["__PyArg_ParseTupleAndKeywords_SizeT"]=function(){return Module["asm"]["__PyArg_ParseTupleAndKeywords_SizeT"].apply(null,arguments)};var __PyArg_ParseTuple_SizeT=Module["__PyArg_ParseTuple_SizeT"]=function(){return Module["asm"]["__PyArg_ParseTuple_SizeT"].apply(null,arguments)};var __PyArg_Parse_SizeT=Module["__PyArg_Parse_SizeT"]=function(){return Module["asm"]["__PyArg_Parse_SizeT"].apply(null,arguments)};var __PyArg_UnpackStack=Module["__PyArg_UnpackStack"]=function(){return Module["asm"]["__PyArg_UnpackStack"].apply(null,arguments)};var __PyArg_VaParseTupleAndKeywordsFast=Module["__PyArg_VaParseTupleAndKeywordsFast"]=function(){return Module["asm"]["__PyArg_VaParseTupleAndKeywordsFast"].apply(null,arguments)};var __PyArg_VaParseTupleAndKeywordsFast_SizeT=Module["__PyArg_VaParseTupleAndKeywordsFast_SizeT"]=function(){return Module["asm"]["__PyArg_VaParseTupleAndKeywordsFast_SizeT"].apply(null,arguments)};var __PyArg_VaParseTupleAndKeywords_SizeT=Module["__PyArg_VaParseTupleAndKeywords_SizeT"]=function(){return Module["asm"]["__PyArg_VaParseTupleAndKeywords_SizeT"].apply(null,arguments)};var __PyArg_VaParse_SizeT=Module["__PyArg_VaParse_SizeT"]=function(){return Module["asm"]["__PyArg_VaParse_SizeT"].apply(null,arguments)};var __PyAsyncGenValueWrapperNew=Module["__PyAsyncGenValueWrapperNew"]=function(){return Module["asm"]["__PyAsyncGenValueWrapperNew"].apply(null,arguments)};var __PyBuiltin_Init=Module["__PyBuiltin_Init"]=function(){return Module["asm"]["__PyBuiltin_Init"].apply(null,arguments)};var __PyBytesWriter_Alloc=Module["__PyBytesWriter_Alloc"]=function(){return Module["asm"]["__PyBytesWriter_Alloc"].apply(null,arguments)};var __PyBytesWriter_Dealloc=Module["__PyBytesWriter_Dealloc"]=function(){return Module["asm"]["__PyBytesWriter_Dealloc"].apply(null,arguments)};var __PyBytesWriter_Finish=Module["__PyBytesWriter_Finish"]=function(){return Module["asm"]["__PyBytesWriter_Finish"].apply(null,arguments)};var __PyBytesWriter_Init=Module["__PyBytesWriter_Init"]=function(){return Module["asm"]["__PyBytesWriter_Init"].apply(null,arguments)};var __PyBytesWriter_Prepare=Module["__PyBytesWriter_Prepare"]=function(){return Module["asm"]["__PyBytesWriter_Prepare"].apply(null,arguments)};var __PyBytesWriter_Resize=Module["__PyBytesWriter_Resize"]=function(){return Module["asm"]["__PyBytesWriter_Resize"].apply(null,arguments)};var __PyBytesWriter_WriteBytes=Module["__PyBytesWriter_WriteBytes"]=function(){return Module["asm"]["__PyBytesWriter_WriteBytes"].apply(null,arguments)};var __PyBytes_DecodeEscape=Module["__PyBytes_DecodeEscape"]=function(){return Module["asm"]["__PyBytes_DecodeEscape"].apply(null,arguments)};var __PyBytes_FormatEx=Module["__PyBytes_FormatEx"]=function(){return Module["asm"]["__PyBytes_FormatEx"].apply(null,arguments)};var __PyBytes_FromBuffer=Module["__PyBytes_FromBuffer"]=function(){return Module["asm"]["__PyBytes_FromBuffer"].apply(null,arguments)};var __PyBytes_FromHex=Module["__PyBytes_FromHex"]=function(){return Module["asm"]["__PyBytes_FromHex"].apply(null,arguments)};var __PyBytes_Join=Module["__PyBytes_Join"]=function(){return Module["asm"]["__PyBytes_Join"].apply(null,arguments)};var __PyBytes_Resize=Module["__PyBytes_Resize"]=function(){return Module["asm"]["__PyBytes_Resize"].apply(null,arguments)};var __PyCFunction_DebugMallocStats=Module["__PyCFunction_DebugMallocStats"]=function(){return Module["asm"]["__PyCFunction_DebugMallocStats"].apply(null,arguments)};var __PyCFunction_FastCallDict=Module["__PyCFunction_FastCallDict"]=function(){return Module["asm"]["__PyCFunction_FastCallDict"].apply(null,arguments)};var __PyCFunction_FastCallKeywords=Module["__PyCFunction_FastCallKeywords"]=function(){return Module["asm"]["__PyCFunction_FastCallKeywords"].apply(null,arguments)};var __PyCode_CheckLineNumber=Module["__PyCode_CheckLineNumber"]=function(){return Module["asm"]["__PyCode_CheckLineNumber"].apply(null,arguments)};var __PyCode_ConstantKey=Module["__PyCode_ConstantKey"]=function(){return Module["asm"]["__PyCode_ConstantKey"].apply(null,arguments)};var __PyCode_GetExtra=Module["__PyCode_GetExtra"]=function(){return Module["asm"]["__PyCode_GetExtra"].apply(null,arguments)};var __PyCode_SetExtra=Module["__PyCode_SetExtra"]=function(){return Module["asm"]["__PyCode_SetExtra"].apply(null,arguments)};var __PyCodecInfo_GetIncrementalDecoder=Module["__PyCodecInfo_GetIncrementalDecoder"]=function(){return Module["asm"]["__PyCodecInfo_GetIncrementalDecoder"].apply(null,arguments)};var __PyCodecInfo_GetIncrementalEncoder=Module["__PyCodecInfo_GetIncrementalEncoder"]=function(){return Module["asm"]["__PyCodecInfo_GetIncrementalEncoder"].apply(null,arguments)};var __PyCodecRegistry_Init=Module["__PyCodecRegistry_Init"]=function(){return Module["asm"]["__PyCodecRegistry_Init"].apply(null,arguments)};var __PyCodec_DecodeInternal=Module["__PyCodec_DecodeInternal"]=function(){return Module["asm"]["__PyCodec_DecodeInternal"].apply(null,arguments)};var __PyCodec_DecodeText=Module["__PyCodec_DecodeText"]=function(){return Module["asm"]["__PyCodec_DecodeText"].apply(null,arguments)};var __PyCodec_EncodeInternal=Module["__PyCodec_EncodeInternal"]=function(){return Module["asm"]["__PyCodec_EncodeInternal"].apply(null,arguments)};var __PyCodec_EncodeText=Module["__PyCodec_EncodeText"]=function(){return Module["asm"]["__PyCodec_EncodeText"].apply(null,arguments)};var __PyCodec_Forget=Module["__PyCodec_Forget"]=function(){return Module["asm"]["__PyCodec_Forget"].apply(null,arguments)};var __PyCodec_Lookup=Module["__PyCodec_Lookup"]=function(){return Module["asm"]["__PyCodec_Lookup"].apply(null,arguments)};var __PyCodec_LookupTextEncoding=Module["__PyCodec_LookupTextEncoding"]=function(){return Module["asm"]["__PyCodec_LookupTextEncoding"].apply(null,arguments)};var __PyComplex_FormatAdvancedWriter=Module["__PyComplex_FormatAdvancedWriter"]=function(){return Module["asm"]["__PyComplex_FormatAdvancedWriter"].apply(null,arguments)};var __PyContext_Fini=Module["__PyContext_Fini"]=function(){return Module["asm"]["__PyContext_Fini"].apply(null,arguments)};var __PyContext_Init=Module["__PyContext_Init"]=function(){return Module["asm"]["__PyContext_Init"].apply(null,arguments)};var __PyContext_NewHamtForTests=Module["__PyContext_NewHamtForTests"]=function(){return Module["asm"]["__PyContext_NewHamtForTests"].apply(null,arguments)};var __PyCoreConfig_Clear=Module["__PyCoreConfig_Clear"]=function(){return Module["asm"]["__PyCoreConfig_Clear"].apply(null,arguments)};var __PyCoreConfig_Copy=Module["__PyCoreConfig_Copy"]=function(){return Module["asm"]["__PyCoreConfig_Copy"].apply(null,arguments)};var __PyCoreConfig_Read=Module["__PyCoreConfig_Read"]=function(){return Module["asm"]["__PyCoreConfig_Read"].apply(null,arguments)};var __PyCoro_GetAwaitableIter=Module["__PyCoro_GetAwaitableIter"]=function(){return Module["asm"]["__PyCoro_GetAwaitableIter"].apply(null,arguments)};var __PyDebugAllocatorStats=Module["__PyDebugAllocatorStats"]=function(){return Module["asm"]["__PyDebugAllocatorStats"].apply(null,arguments)};var __PyDictKeys_DecRef=Module["__PyDictKeys_DecRef"]=function(){return Module["asm"]["__PyDictKeys_DecRef"].apply(null,arguments)};var __PyDictView_Intersect=Module["__PyDictView_Intersect"]=function(){return Module["asm"]["__PyDictView_Intersect"].apply(null,arguments)};var __PyDictView_New=Module["__PyDictView_New"]=function(){return Module["asm"]["__PyDictView_New"].apply(null,arguments)};var __PyDict_Contains=Module["__PyDict_Contains"]=function(){return Module["asm"]["__PyDict_Contains"].apply(null,arguments)};var __PyDict_DebugMallocStats=Module["__PyDict_DebugMallocStats"]=function(){return Module["asm"]["__PyDict_DebugMallocStats"].apply(null,arguments)};var __PyDict_DelItemId=Module["__PyDict_DelItemId"]=function(){return Module["asm"]["__PyDict_DelItemId"].apply(null,arguments)};var __PyDict_DelItemIf=Module["__PyDict_DelItemIf"]=function(){return Module["asm"]["__PyDict_DelItemIf"].apply(null,arguments)};var __PyDict_DelItem_KnownHash=Module["__PyDict_DelItem_KnownHash"]=function(){return Module["asm"]["__PyDict_DelItem_KnownHash"].apply(null,arguments)};var __PyDict_FromKeys=Module["__PyDict_FromKeys"]=function(){return Module["asm"]["__PyDict_FromKeys"].apply(null,arguments)};var __PyDict_GetItemId=Module["__PyDict_GetItemId"]=function(){return Module["asm"]["__PyDict_GetItemId"].apply(null,arguments)};var __PyDict_GetItemIdWithError=Module["__PyDict_GetItemIdWithError"]=function(){return Module["asm"]["__PyDict_GetItemIdWithError"].apply(null,arguments)};var __PyDict_GetItem_KnownHash=Module["__PyDict_GetItem_KnownHash"]=function(){return Module["asm"]["__PyDict_GetItem_KnownHash"].apply(null,arguments)};var __PyDict_HasOnlyStringKeys=Module["__PyDict_HasOnlyStringKeys"]=function(){return Module["asm"]["__PyDict_HasOnlyStringKeys"].apply(null,arguments)};var __PyDict_KeysSize=Module["__PyDict_KeysSize"]=function(){return Module["asm"]["__PyDict_KeysSize"].apply(null,arguments)};var __PyDict_LoadGlobal=Module["__PyDict_LoadGlobal"]=function(){return Module["asm"]["__PyDict_LoadGlobal"].apply(null,arguments)};var __PyDict_MaybeUntrack=Module["__PyDict_MaybeUntrack"]=function(){return Module["asm"]["__PyDict_MaybeUntrack"].apply(null,arguments)};var __PyDict_MergeEx=Module["__PyDict_MergeEx"]=function(){return Module["asm"]["__PyDict_MergeEx"].apply(null,arguments)};var __PyDict_NewKeysForClass=Module["__PyDict_NewKeysForClass"]=function(){return Module["asm"]["__PyDict_NewKeysForClass"].apply(null,arguments)};var __PyDict_NewPresized=Module["__PyDict_NewPresized"]=function(){return Module["asm"]["__PyDict_NewPresized"].apply(null,arguments)};var __PyDict_Next=Module["__PyDict_Next"]=function(){return Module["asm"]["__PyDict_Next"].apply(null,arguments)};var __PyDict_Pop=Module["__PyDict_Pop"]=function(){return Module["asm"]["__PyDict_Pop"].apply(null,arguments)};var __PyDict_Pop_KnownHash=Module["__PyDict_Pop_KnownHash"]=function(){return Module["asm"]["__PyDict_Pop_KnownHash"].apply(null,arguments)};var __PyDict_SetItemId=Module["__PyDict_SetItemId"]=function(){return Module["asm"]["__PyDict_SetItemId"].apply(null,arguments)};var __PyDict_SetItem_KnownHash=Module["__PyDict_SetItem_KnownHash"]=function(){return Module["asm"]["__PyDict_SetItem_KnownHash"].apply(null,arguments)};var __PyDict_SizeOf=Module["__PyDict_SizeOf"]=function(){return Module["asm"]["__PyDict_SizeOf"].apply(null,arguments)};var __PyErr_BadInternalCall=Module["__PyErr_BadInternalCall"]=function(){return Module["asm"]["__PyErr_BadInternalCall"].apply(null,arguments)};var __PyErr_ChainExceptions=Module["__PyErr_ChainExceptions"]=function(){return Module["asm"]["__PyErr_ChainExceptions"].apply(null,arguments)};var __PyErr_FormatFromCause=Module["__PyErr_FormatFromCause"]=function(){return Module["asm"]["__PyErr_FormatFromCause"].apply(null,arguments)};var __PyErr_GetTopmostException=Module["__PyErr_GetTopmostException"]=function(){return Module["asm"]["__PyErr_GetTopmostException"].apply(null,arguments)};var __PyErr_SetKeyError=Module["__PyErr_SetKeyError"]=function(){return Module["asm"]["__PyErr_SetKeyError"].apply(null,arguments)};var __PyErr_TrySetFromCause=Module["__PyErr_TrySetFromCause"]=function(){return Module["asm"]["__PyErr_TrySetFromCause"].apply(null,arguments)};var __PyErr_WarnUnawaitedCoroutine=Module["__PyErr_WarnUnawaitedCoroutine"]=function(){return Module["asm"]["__PyErr_WarnUnawaitedCoroutine"].apply(null,arguments)};var __PyEval_CallTracing=Module["__PyEval_CallTracing"]=function(){return Module["asm"]["__PyEval_CallTracing"].apply(null,arguments)};var __PyEval_EvalCodeWithName=Module["__PyEval_EvalCodeWithName"]=function(){return Module["asm"]["__PyEval_EvalCodeWithName"].apply(null,arguments)};var __PyEval_EvalFrameDefault=Module["__PyEval_EvalFrameDefault"]=function(){return Module["asm"]["__PyEval_EvalFrameDefault"].apply(null,arguments)};var __PyEval_FiniThreads=Module["__PyEval_FiniThreads"]=function(){return Module["asm"]["__PyEval_FiniThreads"].apply(null,arguments)};var __PyEval_GetAsyncGenFinalizer=Module["__PyEval_GetAsyncGenFinalizer"]=function(){return Module["asm"]["__PyEval_GetAsyncGenFinalizer"].apply(null,arguments)};var __PyEval_GetAsyncGenFirstiter=Module["__PyEval_GetAsyncGenFirstiter"]=function(){return Module["asm"]["__PyEval_GetAsyncGenFirstiter"].apply(null,arguments)};var __PyEval_GetCoroutineOriginTrackingDepth=Module["__PyEval_GetCoroutineOriginTrackingDepth"]=function(){return Module["asm"]["__PyEval_GetCoroutineOriginTrackingDepth"].apply(null,arguments)};var __PyEval_GetCoroutineWrapper=Module["__PyEval_GetCoroutineWrapper"]=function(){return Module["asm"]["__PyEval_GetCoroutineWrapper"].apply(null,arguments)};var __PyEval_GetSwitchInterval=Module["__PyEval_GetSwitchInterval"]=function(){return Module["asm"]["__PyEval_GetSwitchInterval"].apply(null,arguments)};var __PyEval_Initialize=Module["__PyEval_Initialize"]=function(){return Module["asm"]["__PyEval_Initialize"].apply(null,arguments)};var __PyEval_RequestCodeExtraIndex=Module["__PyEval_RequestCodeExtraIndex"]=function(){return Module["asm"]["__PyEval_RequestCodeExtraIndex"].apply(null,arguments)};var __PyEval_SetAsyncGenFinalizer=Module["__PyEval_SetAsyncGenFinalizer"]=function(){return Module["asm"]["__PyEval_SetAsyncGenFinalizer"].apply(null,arguments)};var __PyEval_SetAsyncGenFirstiter=Module["__PyEval_SetAsyncGenFirstiter"]=function(){return Module["asm"]["__PyEval_SetAsyncGenFirstiter"].apply(null,arguments)};var __PyEval_SetCoroutineOriginTrackingDepth=Module["__PyEval_SetCoroutineOriginTrackingDepth"]=function(){return Module["asm"]["__PyEval_SetCoroutineOriginTrackingDepth"].apply(null,arguments)};var __PyEval_SetCoroutineWrapper=Module["__PyEval_SetCoroutineWrapper"]=function(){return Module["asm"]["__PyEval_SetCoroutineWrapper"].apply(null,arguments)};var __PyEval_SetSwitchInterval=Module["__PyEval_SetSwitchInterval"]=function(){return Module["asm"]["__PyEval_SetSwitchInterval"].apply(null,arguments)};var __PyEval_SignalAsyncExc=Module["__PyEval_SignalAsyncExc"]=function(){return Module["asm"]["__PyEval_SignalAsyncExc"].apply(null,arguments)};var __PyEval_SignalReceived=Module["__PyEval_SignalReceived"]=function(){return Module["asm"]["__PyEval_SignalReceived"].apply(null,arguments)};var __PyEval_SliceIndex=Module["__PyEval_SliceIndex"]=function(){return Module["asm"]["__PyEval_SliceIndex"].apply(null,arguments)};var __PyEval_SliceIndexNotNone=Module["__PyEval_SliceIndexNotNone"]=function(){return Module["asm"]["__PyEval_SliceIndexNotNone"].apply(null,arguments)};var __PyExc_Fini=Module["__PyExc_Fini"]=function(){return Module["asm"]["__PyExc_Fini"].apply(null,arguments)};var __PyExc_Init=Module["__PyExc_Init"]=function(){return Module["asm"]["__PyExc_Init"].apply(null,arguments)};var __PyFaulthandler_Fini=Module["__PyFaulthandler_Fini"]=function(){return Module["asm"]["__PyFaulthandler_Fini"].apply(null,arguments)};var __PyFaulthandler_Init=Module["__PyFaulthandler_Init"]=function(){return Module["asm"]["__PyFaulthandler_Init"].apply(null,arguments)};var __PyFileIO_closed=Module["__PyFileIO_closed"]=function(){return Module["asm"]["__PyFileIO_closed"].apply(null,arguments)};var __PyFloat_DebugMallocStats=Module["__PyFloat_DebugMallocStats"]=function(){return Module["asm"]["__PyFloat_DebugMallocStats"].apply(null,arguments)};var __PyFloat_FormatAdvancedWriter=Module["__PyFloat_FormatAdvancedWriter"]=function(){return Module["asm"]["__PyFloat_FormatAdvancedWriter"].apply(null,arguments)};var __PyFloat_Init=Module["__PyFloat_Init"]=function(){return Module["asm"]["__PyFloat_Init"].apply(null,arguments)};var __PyFloat_Pack2=Module["__PyFloat_Pack2"]=function(){return Module["asm"]["__PyFloat_Pack2"].apply(null,arguments)};var __PyFloat_Pack4=Module["__PyFloat_Pack4"]=function(){return Module["asm"]["__PyFloat_Pack4"].apply(null,arguments)};var __PyFloat_Pack8=Module["__PyFloat_Pack8"]=function(){return Module["asm"]["__PyFloat_Pack8"].apply(null,arguments)};var __PyFloat_Unpack2=Module["__PyFloat_Unpack2"]=function(){return Module["asm"]["__PyFloat_Unpack2"].apply(null,arguments)};var __PyFloat_Unpack4=Module["__PyFloat_Unpack4"]=function(){return Module["asm"]["__PyFloat_Unpack4"].apply(null,arguments)};var __PyFloat_Unpack8=Module["__PyFloat_Unpack8"]=function(){return Module["asm"]["__PyFloat_Unpack8"].apply(null,arguments)};var __PyFrame_DebugMallocStats=Module["__PyFrame_DebugMallocStats"]=function(){return Module["asm"]["__PyFrame_DebugMallocStats"].apply(null,arguments)};var __PyFrame_Init=Module["__PyFrame_Init"]=function(){return Module["asm"]["__PyFrame_Init"].apply(null,arguments)};var __PyFrame_New_NoTrack=Module["__PyFrame_New_NoTrack"]=function(){return Module["asm"]["__PyFrame_New_NoTrack"].apply(null,arguments)};var __PyFunction_FastCallDict=Module["__PyFunction_FastCallDict"]=function(){return Module["asm"]["__PyFunction_FastCallDict"].apply(null,arguments)};var __PyFunction_FastCallKeywords=Module["__PyFunction_FastCallKeywords"]=function(){return Module["asm"]["__PyFunction_FastCallKeywords"].apply(null,arguments)};var __PyGC_CollectIfEnabled=Module["__PyGC_CollectIfEnabled"]=function(){return Module["asm"]["__PyGC_CollectIfEnabled"].apply(null,arguments)};var __PyGC_CollectNoFail=Module["__PyGC_CollectNoFail"]=function(){return Module["asm"]["__PyGC_CollectNoFail"].apply(null,arguments)};var __PyGC_Dump=Module["__PyGC_Dump"]=function(){return Module["asm"]["__PyGC_Dump"].apply(null,arguments)};var __PyGC_DumpShutdownStats=Module["__PyGC_DumpShutdownStats"]=function(){return Module["asm"]["__PyGC_DumpShutdownStats"].apply(null,arguments)};var __PyGC_Fini=Module["__PyGC_Fini"]=function(){return Module["asm"]["__PyGC_Fini"].apply(null,arguments)};var __PyGC_Initialize=Module["__PyGC_Initialize"]=function(){return Module["asm"]["__PyGC_Initialize"].apply(null,arguments)};var __PyGILState_Fini=Module["__PyGILState_Fini"]=function(){return Module["asm"]["__PyGILState_Fini"].apply(null,arguments)};var __PyGILState_GetInterpreterStateUnsafe=Module["__PyGILState_GetInterpreterStateUnsafe"]=function(){return Module["asm"]["__PyGILState_GetInterpreterStateUnsafe"].apply(null,arguments)};var __PyGILState_Init=Module["__PyGILState_Init"]=function(){return Module["asm"]["__PyGILState_Init"].apply(null,arguments)};var __PyGILState_Reinit=Module["__PyGILState_Reinit"]=function(){return Module["asm"]["__PyGILState_Reinit"].apply(null,arguments)};var __PyGen_FetchStopIterationValue=Module["__PyGen_FetchStopIterationValue"]=function(){return Module["asm"]["__PyGen_FetchStopIterationValue"].apply(null,arguments)};var __PyGen_Finalize=Module["__PyGen_Finalize"]=function(){return Module["asm"]["__PyGen_Finalize"].apply(null,arguments)};var __PyGen_Send=Module["__PyGen_Send"]=function(){return Module["asm"]["__PyGen_Send"].apply(null,arguments)};var __PyGen_SetStopIterationValue=Module["__PyGen_SetStopIterationValue"]=function(){return Module["asm"]["__PyGen_SetStopIterationValue"].apply(null,arguments)};var __PyGen_yf=Module["__PyGen_yf"]=function(){return Module["asm"]["__PyGen_yf"].apply(null,arguments)};var __PyHamt_Assoc=Module["__PyHamt_Assoc"]=function(){return Module["asm"]["__PyHamt_Assoc"].apply(null,arguments)};var __PyHamt_Eq=Module["__PyHamt_Eq"]=function(){return Module["asm"]["__PyHamt_Eq"].apply(null,arguments)};var __PyHamt_Find=Module["__PyHamt_Find"]=function(){return Module["asm"]["__PyHamt_Find"].apply(null,arguments)};var __PyHamt_Fini=Module["__PyHamt_Fini"]=function(){return Module["asm"]["__PyHamt_Fini"].apply(null,arguments)};var __PyHamt_Init=Module["__PyHamt_Init"]=function(){return Module["asm"]["__PyHamt_Init"].apply(null,arguments)};var __PyHamt_Len=Module["__PyHamt_Len"]=function(){return Module["asm"]["__PyHamt_Len"].apply(null,arguments)};var __PyHamt_New=Module["__PyHamt_New"]=function(){return Module["asm"]["__PyHamt_New"].apply(null,arguments)};var __PyHamt_NewIterItems=Module["__PyHamt_NewIterItems"]=function(){return Module["asm"]["__PyHamt_NewIterItems"].apply(null,arguments)};var __PyHamt_NewIterKeys=Module["__PyHamt_NewIterKeys"]=function(){return Module["asm"]["__PyHamt_NewIterKeys"].apply(null,arguments)};var __PyHamt_NewIterValues=Module["__PyHamt_NewIterValues"]=function(){return Module["asm"]["__PyHamt_NewIterValues"].apply(null,arguments)};var __PyHamt_Without=Module["__PyHamt_Without"]=function(){return Module["asm"]["__PyHamt_Without"].apply(null,arguments)};var __PyHash_Fini=Module["__PyHash_Fini"]=function(){return Module["asm"]["__PyHash_Fini"].apply(null,arguments)};var __PyIOBase_check_closed=Module["__PyIOBase_check_closed"]=function(){return Module["asm"]["__PyIOBase_check_closed"].apply(null,arguments)};var __PyIOBase_check_readable=Module["__PyIOBase_check_readable"]=function(){return Module["asm"]["__PyIOBase_check_readable"].apply(null,arguments)};var __PyIOBase_check_seekable=Module["__PyIOBase_check_seekable"]=function(){return Module["asm"]["__PyIOBase_check_seekable"].apply(null,arguments)};var __PyIOBase_check_writable=Module["__PyIOBase_check_writable"]=function(){return Module["asm"]["__PyIOBase_check_writable"].apply(null,arguments)};var __PyIOBase_finalize=Module["__PyIOBase_finalize"]=function(){return Module["asm"]["__PyIOBase_finalize"].apply(null,arguments)};var __PyIO_find_line_ending=Module["__PyIO_find_line_ending"]=function(){return Module["asm"]["__PyIO_find_line_ending"].apply(null,arguments)};var __PyIO_get_locale_module=Module["__PyIO_get_locale_module"]=function(){return Module["asm"]["__PyIO_get_locale_module"].apply(null,arguments)};var __PyIO_get_module_state=Module["__PyIO_get_module_state"]=function(){return Module["asm"]["__PyIO_get_module_state"].apply(null,arguments)};var __PyIO_trap_eintr=Module["__PyIO_trap_eintr"]=function(){return Module["asm"]["__PyIO_trap_eintr"].apply(null,arguments)};var __PyImportHooks_Init=Module["__PyImportHooks_Init"]=function(){return Module["asm"]["__PyImportHooks_Init"].apply(null,arguments)};var __PyImportZip_Init=Module["__PyImportZip_Init"]=function(){return Module["asm"]["__PyImportZip_Init"].apply(null,arguments)};var __PyImport_AcquireLock=Module["__PyImport_AcquireLock"]=function(){return Module["asm"]["__PyImport_AcquireLock"].apply(null,arguments)};var __PyImport_AddModuleObject=Module["__PyImport_AddModuleObject"]=function(){return Module["asm"]["__PyImport_AddModuleObject"].apply(null,arguments)};var __PyImport_FindBuiltin=Module["__PyImport_FindBuiltin"]=function(){return Module["asm"]["__PyImport_FindBuiltin"].apply(null,arguments)};var __PyImport_FindExtensionObject=Module["__PyImport_FindExtensionObject"]=function(){return Module["asm"]["__PyImport_FindExtensionObject"].apply(null,arguments)};var __PyImport_FindExtensionObjectEx=Module["__PyImport_FindExtensionObjectEx"]=function(){return Module["asm"]["__PyImport_FindExtensionObjectEx"].apply(null,arguments)};var __PyImport_FindSharedFuncptr=Module["__PyImport_FindSharedFuncptr"]=function(){return Module["asm"]["__PyImport_FindSharedFuncptr"].apply(null,arguments)};var __PyImport_Fini=Module["__PyImport_Fini"]=function(){return Module["asm"]["__PyImport_Fini"].apply(null,arguments)};var __PyImport_Fini2=Module["__PyImport_Fini2"]=function(){return Module["asm"]["__PyImport_Fini2"].apply(null,arguments)};var __PyImport_FixupBuiltin=Module["__PyImport_FixupBuiltin"]=function(){return Module["asm"]["__PyImport_FixupBuiltin"].apply(null,arguments)};var __PyImport_FixupExtensionObject=Module["__PyImport_FixupExtensionObject"]=function(){return Module["asm"]["__PyImport_FixupExtensionObject"].apply(null,arguments)};var __PyImport_GetModuleId=Module["__PyImport_GetModuleId"]=function(){return Module["asm"]["__PyImport_GetModuleId"].apply(null,arguments)};var __PyImport_Init=Module["__PyImport_Init"]=function(){return Module["asm"]["__PyImport_Init"].apply(null,arguments)};var __PyImport_IsInitialized=Module["__PyImport_IsInitialized"]=function(){return Module["asm"]["__PyImport_IsInitialized"].apply(null,arguments)};var __PyImport_LoadDynamicModuleWithSpec=Module["__PyImport_LoadDynamicModuleWithSpec"]=function(){return Module["asm"]["__PyImport_LoadDynamicModuleWithSpec"].apply(null,arguments)};var __PyImport_ReInitLock=Module["__PyImport_ReInitLock"]=function(){return Module["asm"]["__PyImport_ReInitLock"].apply(null,arguments)};var __PyImport_ReleaseLock=Module["__PyImport_ReleaseLock"]=function(){return Module["asm"]["__PyImport_ReleaseLock"].apply(null,arguments)};var __PyImport_SetModule=Module["__PyImport_SetModule"]=function(){return Module["asm"]["__PyImport_SetModule"].apply(null,arguments)};var __PyImport_SetModuleString=Module["__PyImport_SetModuleString"]=function(){return Module["asm"]["__PyImport_SetModuleString"].apply(null,arguments)};var __PyIncrementalNewlineDecoder_decode=Module["__PyIncrementalNewlineDecoder_decode"]=function(){return Module["asm"]["__PyIncrementalNewlineDecoder_decode"].apply(null,arguments)};var __PyInterpreterState_Enable=Module["__PyInterpreterState_Enable"]=function(){return Module["asm"]["__PyInterpreterState_Enable"].apply(null,arguments)};var __PyInterpreterState_IDDecref=Module["__PyInterpreterState_IDDecref"]=function(){return Module["asm"]["__PyInterpreterState_IDDecref"].apply(null,arguments)};var __PyInterpreterState_IDIncref=Module["__PyInterpreterState_IDIncref"]=function(){return Module["asm"]["__PyInterpreterState_IDIncref"].apply(null,arguments)};var __PyInterpreterState_IDInitref=Module["__PyInterpreterState_IDInitref"]=function(){return Module["asm"]["__PyInterpreterState_IDInitref"].apply(null,arguments)};var __PyInterpreterState_LookUpID=Module["__PyInterpreterState_LookUpID"]=function(){return Module["asm"]["__PyInterpreterState_LookUpID"].apply(null,arguments)};var __PyList_DebugMallocStats=Module["__PyList_DebugMallocStats"]=function(){return Module["asm"]["__PyList_DebugMallocStats"].apply(null,arguments)};var __PyList_Extend=Module["__PyList_Extend"]=function(){return Module["asm"]["__PyList_Extend"].apply(null,arguments)};var __PyLong_AsByteArray=Module["__PyLong_AsByteArray"]=function(){return Module["asm"]["__PyLong_AsByteArray"].apply(null,arguments)};var __PyLong_AsInt=Module["__PyLong_AsInt"]=function(){return Module["asm"]["__PyLong_AsInt"].apply(null,arguments)};var __PyLong_AsTime_t=Module["__PyLong_AsTime_t"]=function(){return Module["asm"]["__PyLong_AsTime_t"].apply(null,arguments)};var __PyLong_Copy=Module["__PyLong_Copy"]=function(){return Module["asm"]["__PyLong_Copy"].apply(null,arguments)};var __PyLong_DivmodNear=Module["__PyLong_DivmodNear"]=function(){return Module["asm"]["__PyLong_DivmodNear"].apply(null,arguments)};var __PyLong_Format=Module["__PyLong_Format"]=function(){return Module["asm"]["__PyLong_Format"].apply(null,arguments)};var __PyLong_FormatAdvancedWriter=Module["__PyLong_FormatAdvancedWriter"]=function(){return Module["asm"]["__PyLong_FormatAdvancedWriter"].apply(null,arguments)};var __PyLong_FormatBytesWriter=Module["__PyLong_FormatBytesWriter"]=function(){return Module["asm"]["__PyLong_FormatBytesWriter"].apply(null,arguments)};var __PyLong_FormatWriter=Module["__PyLong_FormatWriter"]=function(){return Module["asm"]["__PyLong_FormatWriter"].apply(null,arguments)};var __PyLong_Frexp=Module["__PyLong_Frexp"]=function(){return Module["asm"]["__PyLong_Frexp"].apply(null,arguments)};var __PyLong_FromByteArray=Module["__PyLong_FromByteArray"]=function(){return Module["asm"]["__PyLong_FromByteArray"].apply(null,arguments)};var __PyLong_FromBytes=Module["__PyLong_FromBytes"]=function(){return Module["asm"]["__PyLong_FromBytes"].apply(null,arguments)};var __PyLong_FromGid=Module["__PyLong_FromGid"]=function(){return Module["asm"]["__PyLong_FromGid"].apply(null,arguments)};var __PyLong_FromNbInt=Module["__PyLong_FromNbInt"]=function(){return Module["asm"]["__PyLong_FromNbInt"].apply(null,arguments)};var __PyLong_FromTime_t=Module["__PyLong_FromTime_t"]=function(){return Module["asm"]["__PyLong_FromTime_t"].apply(null,arguments)};var __PyLong_FromUid=Module["__PyLong_FromUid"]=function(){return Module["asm"]["__PyLong_FromUid"].apply(null,arguments)};var __PyLong_GCD=Module["__PyLong_GCD"]=function(){return Module["asm"]["__PyLong_GCD"].apply(null,arguments)};var __PyLong_Init=Module["__PyLong_Init"]=function(){return Module["asm"]["__PyLong_Init"].apply(null,arguments)};var __PyLong_New=Module["__PyLong_New"]=function(){return Module["asm"]["__PyLong_New"].apply(null,arguments)};var __PyLong_NumBits=Module["__PyLong_NumBits"]=function(){return Module["asm"]["__PyLong_NumBits"].apply(null,arguments)};var __PyLong_Sign=Module["__PyLong_Sign"]=function(){return Module["asm"]["__PyLong_Sign"].apply(null,arguments)};var __PyMainInterpreterConfig_Clear=Module["__PyMainInterpreterConfig_Clear"]=function(){return Module["asm"]["__PyMainInterpreterConfig_Clear"].apply(null,arguments)};var __PyMainInterpreterConfig_Copy=Module["__PyMainInterpreterConfig_Copy"]=function(){return Module["asm"]["__PyMainInterpreterConfig_Copy"].apply(null,arguments)};var __PyMainInterpreterConfig_Read=Module["__PyMainInterpreterConfig_Read"]=function(){return Module["asm"]["__PyMainInterpreterConfig_Read"].apply(null,arguments)};var __PyMem_DebugCalloc=Module["__PyMem_DebugCalloc"]=function(){return Module["asm"]["__PyMem_DebugCalloc"].apply(null,arguments)};var __PyMem_DebugCheckAddress=Module["__PyMem_DebugCheckAddress"]=function(){return Module["asm"]["__PyMem_DebugCheckAddress"].apply(null,arguments)};var __PyMem_DebugFree=Module["__PyMem_DebugFree"]=function(){return Module["asm"]["__PyMem_DebugFree"].apply(null,arguments)};var __PyMem_DebugMalloc=Module["__PyMem_DebugMalloc"]=function(){return Module["asm"]["__PyMem_DebugMalloc"].apply(null,arguments)};var __PyMem_DebugRawCalloc=Module["__PyMem_DebugRawCalloc"]=function(){return Module["asm"]["__PyMem_DebugRawCalloc"].apply(null,arguments)};var __PyMem_DebugRawFree=Module["__PyMem_DebugRawFree"]=function(){return Module["asm"]["__PyMem_DebugRawFree"].apply(null,arguments)};var __PyMem_DebugRawMalloc=Module["__PyMem_DebugRawMalloc"]=function(){return Module["asm"]["__PyMem_DebugRawMalloc"].apply(null,arguments)};var __PyMem_DebugRawRealloc=Module["__PyMem_DebugRawRealloc"]=function(){return Module["asm"]["__PyMem_DebugRawRealloc"].apply(null,arguments)};var __PyMem_DebugRealloc=Module["__PyMem_DebugRealloc"]=function(){return Module["asm"]["__PyMem_DebugRealloc"].apply(null,arguments)};var __PyMem_DumpTraceback=Module["__PyMem_DumpTraceback"]=function(){return Module["asm"]["__PyMem_DumpTraceback"].apply(null,arguments)};var __PyMem_GetAllocatorsName=Module["__PyMem_GetAllocatorsName"]=function(){return Module["asm"]["__PyMem_GetAllocatorsName"].apply(null,arguments)};var __PyMem_RawCalloc=Module["__PyMem_RawCalloc"]=function(){return Module["asm"]["__PyMem_RawCalloc"].apply(null,arguments)};var __PyMem_RawFree=Module["__PyMem_RawFree"]=function(){return Module["asm"]["__PyMem_RawFree"].apply(null,arguments)};var __PyMem_RawMalloc=Module["__PyMem_RawMalloc"]=function(){return Module["asm"]["__PyMem_RawMalloc"].apply(null,arguments)};var __PyMem_RawRealloc=Module["__PyMem_RawRealloc"]=function(){return Module["asm"]["__PyMem_RawRealloc"].apply(null,arguments)};var __PyMem_RawStrdup=Module["__PyMem_RawStrdup"]=function(){return Module["asm"]["__PyMem_RawStrdup"].apply(null,arguments)};var __PyMem_RawWcsdup=Module["__PyMem_RawWcsdup"]=function(){return Module["asm"]["__PyMem_RawWcsdup"].apply(null,arguments)};var __PyMem_SetDefaultAllocator=Module["__PyMem_SetDefaultAllocator"]=function(){return Module["asm"]["__PyMem_SetDefaultAllocator"].apply(null,arguments)};var __PyMem_SetupAllocators=Module["__PyMem_SetupAllocators"]=function(){return Module["asm"]["__PyMem_SetupAllocators"].apply(null,arguments)};var __PyMem_Strdup=Module["__PyMem_Strdup"]=function(){return Module["asm"]["__PyMem_Strdup"].apply(null,arguments)};var __PyMethodDef_RawFastCallDict=Module["__PyMethodDef_RawFastCallDict"]=function(){return Module["asm"]["__PyMethodDef_RawFastCallDict"].apply(null,arguments)};var __PyMethodDef_RawFastCallKeywords=Module["__PyMethodDef_RawFastCallKeywords"]=function(){return Module["asm"]["__PyMethodDef_RawFastCallKeywords"].apply(null,arguments)};var __PyMethodDescr_FastCallKeywords=Module["__PyMethodDescr_FastCallKeywords"]=function(){return Module["asm"]["__PyMethodDescr_FastCallKeywords"].apply(null,arguments)};var __PyMethod_DebugMallocStats=Module["__PyMethod_DebugMallocStats"]=function(){return Module["asm"]["__PyMethod_DebugMallocStats"].apply(null,arguments)};var __PyModule_Clear=Module["__PyModule_Clear"]=function(){return Module["asm"]["__PyModule_Clear"].apply(null,arguments)};var __PyModule_ClearDict=Module["__PyModule_ClearDict"]=function(){return Module["asm"]["__PyModule_ClearDict"].apply(null,arguments)};var __PyModule_CreateInitialized=Module["__PyModule_CreateInitialized"]=function(){return Module["asm"]["__PyModule_CreateInitialized"].apply(null,arguments)};var __PyNamespace_New=Module["__PyNamespace_New"]=function(){return Module["asm"]["__PyNamespace_New"].apply(null,arguments)};var __PyNode_SizeOf=Module["__PyNode_SizeOf"]=function(){return Module["asm"]["__PyNode_SizeOf"].apply(null,arguments)};var __PyODict_SetItem_KnownHash=Module["__PyODict_SetItem_KnownHash"]=function(){return Module["asm"]["__PyODict_SetItem_KnownHash"].apply(null,arguments)};var __PyOS_GetOpt=Module["__PyOS_GetOpt"]=function(){return Module["asm"]["__PyOS_GetOpt"].apply(null,arguments)};var __PyOS_IsMainThread=Module["__PyOS_IsMainThread"]=function(){return Module["asm"]["__PyOS_IsMainThread"].apply(null,arguments)};var __PyOS_ResetGetOpt=Module["__PyOS_ResetGetOpt"]=function(){return Module["asm"]["__PyOS_ResetGetOpt"].apply(null,arguments)};var __PyOS_URandom=Module["__PyOS_URandom"]=function(){return Module["asm"]["__PyOS_URandom"].apply(null,arguments)};var __PyOS_URandomNonblock=Module["__PyOS_URandomNonblock"]=function(){return Module["asm"]["__PyOS_URandomNonblock"].apply(null,arguments)};var __PyObjectDict_SetItem=Module["__PyObjectDict_SetItem"]=function(){return Module["asm"]["__PyObjectDict_SetItem"].apply(null,arguments)};var __PyObject_ArenaFree=Module["__PyObject_ArenaFree"]=function(){return Module["asm"]["__PyObject_ArenaFree"].apply(null,arguments)};var __PyObject_ArenaMalloc=Module["__PyObject_ArenaMalloc"]=function(){return Module["asm"]["__PyObject_ArenaMalloc"].apply(null,arguments)};var __PyObject_CallFunctionVa=Module["__PyObject_CallFunctionVa"]=function(){return Module["asm"]["__PyObject_CallFunctionVa"].apply(null,arguments)};var __PyObject_CallFunction_SizeT=Module["__PyObject_CallFunction_SizeT"]=function(){return Module["asm"]["__PyObject_CallFunction_SizeT"].apply(null,arguments)};var __PyObject_CallMethodId=Module["__PyObject_CallMethodId"]=function(){return Module["asm"]["__PyObject_CallMethodId"].apply(null,arguments)};var __PyObject_CallMethodIdObjArgs=Module["__PyObject_CallMethodIdObjArgs"]=function(){return Module["asm"]["__PyObject_CallMethodIdObjArgs"].apply(null,arguments)};var __PyObject_CallMethodId_SizeT=Module["__PyObject_CallMethodId_SizeT"]=function(){return Module["asm"]["__PyObject_CallMethodId_SizeT"].apply(null,arguments)};var __PyObject_CallMethod_SizeT=Module["__PyObject_CallMethod_SizeT"]=function(){return Module["asm"]["__PyObject_CallMethod_SizeT"].apply(null,arguments)};var __PyObject_Call_Prepend=Module["__PyObject_Call_Prepend"]=function(){return Module["asm"]["__PyObject_Call_Prepend"].apply(null,arguments)};var __PyObject_DebugDumpAddress=Module["__PyObject_DebugDumpAddress"]=function(){return Module["asm"]["__PyObject_DebugDumpAddress"].apply(null,arguments)};var __PyObject_DebugTypeStats=Module["__PyObject_DebugTypeStats"]=function(){return Module["asm"]["__PyObject_DebugTypeStats"].apply(null,arguments)};var __PyObject_Dump=Module["__PyObject_Dump"]=function(){return Module["asm"]["__PyObject_Dump"].apply(null,arguments)};var __PyObject_FastCallDict=Module["__PyObject_FastCallDict"]=function(){return Module["asm"]["__PyObject_FastCallDict"].apply(null,arguments)};var __PyObject_FastCallKeywords=Module["__PyObject_FastCallKeywords"]=function(){return Module["asm"]["__PyObject_FastCallKeywords"].apply(null,arguments)};var __PyObject_FastCall_Prepend=Module["__PyObject_FastCall_Prepend"]=function(){return Module["asm"]["__PyObject_FastCall_Prepend"].apply(null,arguments)};var __PyObject_GC_Alloc=Module["__PyObject_GC_Alloc"]=function(){return Module["asm"]["__PyObject_GC_Alloc"].apply(null,arguments)};var __PyObject_GC_Calloc=Module["__PyObject_GC_Calloc"]=function(){return Module["asm"]["__PyObject_GC_Calloc"].apply(null,arguments)};var __PyObject_GC_Malloc=Module["__PyObject_GC_Malloc"]=function(){return Module["asm"]["__PyObject_GC_Malloc"].apply(null,arguments)};var __PyObject_GC_New=Module["__PyObject_GC_New"]=function(){return Module["asm"]["__PyObject_GC_New"].apply(null,arguments)};var __PyObject_GC_NewVar=Module["__PyObject_GC_NewVar"]=function(){return Module["asm"]["__PyObject_GC_NewVar"].apply(null,arguments)};var __PyObject_GC_Resize=Module["__PyObject_GC_Resize"]=function(){return Module["asm"]["__PyObject_GC_Resize"].apply(null,arguments)};var __PyObject_GenericGetAttrWithDict=Module["__PyObject_GenericGetAttrWithDict"]=function(){return Module["asm"]["__PyObject_GenericGetAttrWithDict"].apply(null,arguments)};var __PyObject_GenericSetAttrWithDict=Module["__PyObject_GenericSetAttrWithDict"]=function(){return Module["asm"]["__PyObject_GenericSetAttrWithDict"].apply(null,arguments)};var __PyObject_GetAttrId=Module["__PyObject_GetAttrId"]=function(){return Module["asm"]["__PyObject_GetAttrId"].apply(null,arguments)};var __PyObject_GetBuiltin=Module["__PyObject_GetBuiltin"]=function(){return Module["asm"]["__PyObject_GetBuiltin"].apply(null,arguments)};var __PyObject_GetDictPtr=Module["__PyObject_GetDictPtr"]=function(){return Module["asm"]["__PyObject_GetDictPtr"].apply(null,arguments)};var __PyObject_GetMethod=Module["__PyObject_GetMethod"]=function(){return Module["asm"]["__PyObject_GetMethod"].apply(null,arguments)};var __PyObject_HasAttrId=Module["__PyObject_HasAttrId"]=function(){return Module["asm"]["__PyObject_HasAttrId"].apply(null,arguments)};var __PyObject_HasFastCall=Module["__PyObject_HasFastCall"]=function(){return Module["asm"]["__PyObject_HasFastCall"].apply(null,arguments)};var __PyObject_HasLen=Module["__PyObject_HasLen"]=function(){return Module["asm"]["__PyObject_HasLen"].apply(null,arguments)};var __PyObject_IsAbstract=Module["__PyObject_IsAbstract"]=function(){return Module["asm"]["__PyObject_IsAbstract"].apply(null,arguments)};var __PyObject_LookupAttr=Module["__PyObject_LookupAttr"]=function(){return Module["asm"]["__PyObject_LookupAttr"].apply(null,arguments)};var __PyObject_LookupAttrId=Module["__PyObject_LookupAttrId"]=function(){return Module["asm"]["__PyObject_LookupAttrId"].apply(null,arguments)};var __PyObject_LookupSpecial=Module["__PyObject_LookupSpecial"]=function(){return Module["asm"]["__PyObject_LookupSpecial"].apply(null,arguments)};var __PyObject_New=Module["__PyObject_New"]=function(){return Module["asm"]["__PyObject_New"].apply(null,arguments)};var __PyObject_NewVar=Module["__PyObject_NewVar"]=function(){return Module["asm"]["__PyObject_NewVar"].apply(null,arguments)};var __PyObject_NextNotImplemented=Module["__PyObject_NextNotImplemented"]=function(){return Module["asm"]["__PyObject_NextNotImplemented"].apply(null,arguments)};var __PyObject_RealIsInstance=Module["__PyObject_RealIsInstance"]=function(){return Module["asm"]["__PyObject_RealIsInstance"].apply(null,arguments)};var __PyObject_RealIsSubclass=Module["__PyObject_RealIsSubclass"]=function(){return Module["asm"]["__PyObject_RealIsSubclass"].apply(null,arguments)};var __PyObject_SetAttrId=Module["__PyObject_SetAttrId"]=function(){return Module["asm"]["__PyObject_SetAttrId"].apply(null,arguments)};var __PyPathConfig_Calculate=Module["__PyPathConfig_Calculate"]=function(){return Module["asm"]["__PyPathConfig_Calculate"].apply(null,arguments)};var __PyPathConfig_Clear=Module["__PyPathConfig_Clear"]=function(){return Module["asm"]["__PyPathConfig_Clear"].apply(null,arguments)};var __PyPathConfig_ComputeArgv0=Module["__PyPathConfig_ComputeArgv0"]=function(){return Module["asm"]["__PyPathConfig_ComputeArgv0"].apply(null,arguments)};var __PyPathConfig_Init=Module["__PyPathConfig_Init"]=function(){return Module["asm"]["__PyPathConfig_Init"].apply(null,arguments)};var __PyRuntimeState_Fini=Module["__PyRuntimeState_Fini"]=function(){return Module["asm"]["__PyRuntimeState_Fini"].apply(null,arguments)};var __PyRuntimeState_Init=Module["__PyRuntimeState_Init"]=function(){return Module["asm"]["__PyRuntimeState_Init"].apply(null,arguments)};var __PyRuntime_Finalize=Module["__PyRuntime_Finalize"]=function(){return Module["asm"]["__PyRuntime_Finalize"].apply(null,arguments)};var __PyRuntime_Initialize=Module["__PyRuntime_Initialize"]=function(){return Module["asm"]["__PyRuntime_Initialize"].apply(null,arguments)};var __PySHA3_KeccakP1600_AddByte=Module["__PySHA3_KeccakP1600_AddByte"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_AddByte"].apply(null,arguments)};var __PySHA3_KeccakP1600_AddBytes=Module["__PySHA3_KeccakP1600_AddBytes"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_AddBytes"].apply(null,arguments)};var __PySHA3_KeccakP1600_AddBytesInLane=Module["__PySHA3_KeccakP1600_AddBytesInLane"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_AddBytesInLane"].apply(null,arguments)};var __PySHA3_KeccakP1600_AddLanes=Module["__PySHA3_KeccakP1600_AddLanes"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_AddLanes"].apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractAndAddBytes=Module["__PySHA3_KeccakP1600_ExtractAndAddBytes"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_ExtractAndAddBytes"].apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractAndAddBytesInLane=Module["__PySHA3_KeccakP1600_ExtractAndAddBytesInLane"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_ExtractAndAddBytesInLane"].apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractAndAddLanes=Module["__PySHA3_KeccakP1600_ExtractAndAddLanes"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_ExtractAndAddLanes"].apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractBytes=Module["__PySHA3_KeccakP1600_ExtractBytes"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_ExtractBytes"].apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractBytesInLane=Module["__PySHA3_KeccakP1600_ExtractBytesInLane"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_ExtractBytesInLane"].apply(null,arguments)};var __PySHA3_KeccakP1600_ExtractLanes=Module["__PySHA3_KeccakP1600_ExtractLanes"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_ExtractLanes"].apply(null,arguments)};var __PySHA3_KeccakP1600_Initialize=Module["__PySHA3_KeccakP1600_Initialize"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_Initialize"].apply(null,arguments)};var __PySHA3_KeccakP1600_OverwriteBytes=Module["__PySHA3_KeccakP1600_OverwriteBytes"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_OverwriteBytes"].apply(null,arguments)};var __PySHA3_KeccakP1600_OverwriteBytesInLane=Module["__PySHA3_KeccakP1600_OverwriteBytesInLane"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_OverwriteBytesInLane"].apply(null,arguments)};var __PySHA3_KeccakP1600_OverwriteLanes=Module["__PySHA3_KeccakP1600_OverwriteLanes"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_OverwriteLanes"].apply(null,arguments)};var __PySHA3_KeccakP1600_OverwriteWithZeroes=Module["__PySHA3_KeccakP1600_OverwriteWithZeroes"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_OverwriteWithZeroes"].apply(null,arguments)};var __PySHA3_KeccakP1600_Permute_12rounds=Module["__PySHA3_KeccakP1600_Permute_12rounds"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_Permute_12rounds"].apply(null,arguments)};var __PySHA3_KeccakP1600_Permute_24rounds=Module["__PySHA3_KeccakP1600_Permute_24rounds"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_Permute_24rounds"].apply(null,arguments)};var __PySHA3_KeccakP1600_Permute_Nrounds=Module["__PySHA3_KeccakP1600_Permute_Nrounds"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_Permute_Nrounds"].apply(null,arguments)};var __PySHA3_KeccakP1600_SetBytesInLaneToZero=Module["__PySHA3_KeccakP1600_SetBytesInLaneToZero"]=function(){return Module["asm"]["__PySHA3_KeccakP1600_SetBytesInLaneToZero"].apply(null,arguments)};var __PySHA3_KeccakWidth1600_Sponge=Module["__PySHA3_KeccakWidth1600_Sponge"]=function(){return Module["asm"]["__PySHA3_KeccakWidth1600_Sponge"].apply(null,arguments)};var __PySHA3_KeccakWidth1600_SpongeAbsorb=Module["__PySHA3_KeccakWidth1600_SpongeAbsorb"]=function(){return Module["asm"]["__PySHA3_KeccakWidth1600_SpongeAbsorb"].apply(null,arguments)};var __PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits=Module["__PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits"]=function(){return Module["asm"]["__PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits"].apply(null,arguments)};var __PySHA3_KeccakWidth1600_SpongeInitialize=Module["__PySHA3_KeccakWidth1600_SpongeInitialize"]=function(){return Module["asm"]["__PySHA3_KeccakWidth1600_SpongeInitialize"].apply(null,arguments)};var __PySHA3_KeccakWidth1600_SpongeSqueeze=Module["__PySHA3_KeccakWidth1600_SpongeSqueeze"]=function(){return Module["asm"]["__PySHA3_KeccakWidth1600_SpongeSqueeze"].apply(null,arguments)};var __PySHA3_Keccak_HashFinal=Module["__PySHA3_Keccak_HashFinal"]=function(){return Module["asm"]["__PySHA3_Keccak_HashFinal"].apply(null,arguments)};var __PySHA3_Keccak_HashInitialize=Module["__PySHA3_Keccak_HashInitialize"]=function(){return Module["asm"]["__PySHA3_Keccak_HashInitialize"].apply(null,arguments)};var __PySHA3_Keccak_HashSqueeze=Module["__PySHA3_Keccak_HashSqueeze"]=function(){return Module["asm"]["__PySHA3_Keccak_HashSqueeze"].apply(null,arguments)};var __PySHA3_Keccak_HashUpdate=Module["__PySHA3_Keccak_HashUpdate"]=function(){return Module["asm"]["__PySHA3_Keccak_HashUpdate"].apply(null,arguments)};var __PySequence_BytesToCharpArray=Module["__PySequence_BytesToCharpArray"]=function(){return Module["asm"]["__PySequence_BytesToCharpArray"].apply(null,arguments)};var __PySequence_IterSearch=Module["__PySequence_IterSearch"]=function(){return Module["asm"]["__PySequence_IterSearch"].apply(null,arguments)};var __PySet_NextEntry=Module["__PySet_NextEntry"]=function(){return Module["asm"]["__PySet_NextEntry"].apply(null,arguments)};var __PySet_Update=Module["__PySet_Update"]=function(){return Module["asm"]["__PySet_Update"].apply(null,arguments)};var __PySignal_AfterFork=Module["__PySignal_AfterFork"]=function(){return Module["asm"]["__PySignal_AfterFork"].apply(null,arguments)};var __PySlice_FromIndices=Module["__PySlice_FromIndices"]=function(){return Module["asm"]["__PySlice_FromIndices"].apply(null,arguments)};var __PySlice_GetLongIndices=Module["__PySlice_GetLongIndices"]=function(){return Module["asm"]["__PySlice_GetLongIndices"].apply(null,arguments)};var __PyStack_AsDict=Module["__PyStack_AsDict"]=function(){return Module["asm"]["__PyStack_AsDict"].apply(null,arguments)};var __PyStack_AsTuple=Module["__PyStack_AsTuple"]=function(){return Module["asm"]["__PyStack_AsTuple"].apply(null,arguments)};var __PyStack_AsTupleSlice=Module["__PyStack_AsTupleSlice"]=function(){return Module["asm"]["__PyStack_AsTupleSlice"].apply(null,arguments)};var __PyStack_UnpackDict=Module["__PyStack_UnpackDict"]=function(){return Module["asm"]["__PyStack_UnpackDict"].apply(null,arguments)};var __PyState_AddModule=Module["__PyState_AddModule"]=function(){return Module["asm"]["__PyState_AddModule"].apply(null,arguments)};var __PyState_ClearModules=Module["__PyState_ClearModules"]=function(){return Module["asm"]["__PyState_ClearModules"].apply(null,arguments)};var __PyStructSequence_Init=Module["__PyStructSequence_Init"]=function(){return Module["asm"]["__PyStructSequence_Init"].apply(null,arguments)};var __PySys_AddWarnOptionWithError=Module["__PySys_AddWarnOptionWithError"]=function(){return Module["asm"]["__PySys_AddWarnOptionWithError"].apply(null,arguments)};var __PySys_AddXOptionWithError=Module["__PySys_AddXOptionWithError"]=function(){return Module["asm"]["__PySys_AddXOptionWithError"].apply(null,arguments)};var __PySys_BeginInit=Module["__PySys_BeginInit"]=function(){return Module["asm"]["__PySys_BeginInit"].apply(null,arguments)};var __PySys_EndInit=Module["__PySys_EndInit"]=function(){return Module["asm"]["__PySys_EndInit"].apply(null,arguments)};var __PySys_GetObjectId=Module["__PySys_GetObjectId"]=function(){return Module["asm"]["__PySys_GetObjectId"].apply(null,arguments)};var __PySys_GetSizeOf=Module["__PySys_GetSizeOf"]=function(){return Module["asm"]["__PySys_GetSizeOf"].apply(null,arguments)};var __PySys_SetObjectId=Module["__PySys_SetObjectId"]=function(){return Module["asm"]["__PySys_SetObjectId"].apply(null,arguments)};var __PyThreadState_DeleteExcept=Module["__PyThreadState_DeleteExcept"]=function(){return Module["asm"]["__PyThreadState_DeleteExcept"].apply(null,arguments)};var __PyThreadState_Init=Module["__PyThreadState_Init"]=function(){return Module["asm"]["__PyThreadState_Init"].apply(null,arguments)};var __PyThreadState_Prealloc=Module["__PyThreadState_Prealloc"]=function(){return Module["asm"]["__PyThreadState_Prealloc"].apply(null,arguments)};var __PyThreadState_UncheckedGet=Module["__PyThreadState_UncheckedGet"]=function(){return Module["asm"]["__PyThreadState_UncheckedGet"].apply(null,arguments)};var __PyThread_CurrentFrames=Module["__PyThread_CurrentFrames"]=function(){return Module["asm"]["__PyThread_CurrentFrames"].apply(null,arguments)};var __PyTime_AsMicroseconds=Module["__PyTime_AsMicroseconds"]=function(){return Module["asm"]["__PyTime_AsMicroseconds"].apply(null,arguments)};var __PyTime_AsMilliseconds=Module["__PyTime_AsMilliseconds"]=function(){return Module["asm"]["__PyTime_AsMilliseconds"].apply(null,arguments)};var __PyTime_AsNanosecondsObject=Module["__PyTime_AsNanosecondsObject"]=function(){return Module["asm"]["__PyTime_AsNanosecondsObject"].apply(null,arguments)};var __PyTime_AsSecondsDouble=Module["__PyTime_AsSecondsDouble"]=function(){return Module["asm"]["__PyTime_AsSecondsDouble"].apply(null,arguments)};var __PyTime_AsTimespec=Module["__PyTime_AsTimespec"]=function(){return Module["asm"]["__PyTime_AsTimespec"].apply(null,arguments)};var __PyTime_AsTimeval=Module["__PyTime_AsTimeval"]=function(){return Module["asm"]["__PyTime_AsTimeval"].apply(null,arguments)};var __PyTime_AsTimevalTime_t=Module["__PyTime_AsTimevalTime_t"]=function(){return Module["asm"]["__PyTime_AsTimevalTime_t"].apply(null,arguments)};var __PyTime_AsTimeval_noraise=Module["__PyTime_AsTimeval_noraise"]=function(){return Module["asm"]["__PyTime_AsTimeval_noraise"].apply(null,arguments)};var __PyTime_FromMillisecondsObject=Module["__PyTime_FromMillisecondsObject"]=function(){return Module["asm"]["__PyTime_FromMillisecondsObject"].apply(null,arguments)};var __PyTime_FromNanoseconds=Module["__PyTime_FromNanoseconds"]=function(){return Module["asm"]["__PyTime_FromNanoseconds"].apply(null,arguments)};var __PyTime_FromNanosecondsObject=Module["__PyTime_FromNanosecondsObject"]=function(){return Module["asm"]["__PyTime_FromNanosecondsObject"].apply(null,arguments)};var __PyTime_FromObject=Module["__PyTime_FromObject"]=function(){return Module["asm"]["__PyTime_FromObject"].apply(null,arguments)};var __PyTime_FromSeconds=Module["__PyTime_FromSeconds"]=function(){return Module["asm"]["__PyTime_FromSeconds"].apply(null,arguments)};var __PyTime_FromSecondsObject=Module["__PyTime_FromSecondsObject"]=function(){return Module["asm"]["__PyTime_FromSecondsObject"].apply(null,arguments)};var __PyTime_FromTimespec=Module["__PyTime_FromTimespec"]=function(){return Module["asm"]["__PyTime_FromTimespec"].apply(null,arguments)};var __PyTime_FromTimeval=Module["__PyTime_FromTimeval"]=function(){return Module["asm"]["__PyTime_FromTimeval"].apply(null,arguments)};var __PyTime_GetMonotonicClock=Module["__PyTime_GetMonotonicClock"]=function(){return Module["asm"]["__PyTime_GetMonotonicClock"].apply(null,arguments)};var __PyTime_GetMonotonicClockWithInfo=Module["__PyTime_GetMonotonicClockWithInfo"]=function(){return Module["asm"]["__PyTime_GetMonotonicClockWithInfo"].apply(null,arguments)};var __PyTime_GetPerfCounter=Module["__PyTime_GetPerfCounter"]=function(){return Module["asm"]["__PyTime_GetPerfCounter"].apply(null,arguments)};var __PyTime_GetPerfCounterWithInfo=Module["__PyTime_GetPerfCounterWithInfo"]=function(){return Module["asm"]["__PyTime_GetPerfCounterWithInfo"].apply(null,arguments)};var __PyTime_GetProcessTimeWithInfo=Module["__PyTime_GetProcessTimeWithInfo"]=function(){return Module["asm"]["__PyTime_GetProcessTimeWithInfo"].apply(null,arguments)};var __PyTime_GetSystemClock=Module["__PyTime_GetSystemClock"]=function(){return Module["asm"]["__PyTime_GetSystemClock"].apply(null,arguments)};var __PyTime_GetSystemClockWithInfo=Module["__PyTime_GetSystemClockWithInfo"]=function(){return Module["asm"]["__PyTime_GetSystemClockWithInfo"].apply(null,arguments)};var __PyTime_Init=Module["__PyTime_Init"]=function(){return Module["asm"]["__PyTime_Init"].apply(null,arguments)};var __PyTime_MulDiv=Module["__PyTime_MulDiv"]=function(){return Module["asm"]["__PyTime_MulDiv"].apply(null,arguments)};var __PyTime_ObjectToDenominator=Module["__PyTime_ObjectToDenominator"]=function(){return Module["asm"]["__PyTime_ObjectToDenominator"].apply(null,arguments)};var __PyTime_ObjectToTime_t=Module["__PyTime_ObjectToTime_t"]=function(){return Module["asm"]["__PyTime_ObjectToTime_t"].apply(null,arguments)};var __PyTime_ObjectToTimespec=Module["__PyTime_ObjectToTimespec"]=function(){return Module["asm"]["__PyTime_ObjectToTimespec"].apply(null,arguments)};var __PyTime_ObjectToTimeval=Module["__PyTime_ObjectToTimeval"]=function(){return Module["asm"]["__PyTime_ObjectToTimeval"].apply(null,arguments)};var __PyTime_gmtime=Module["__PyTime_gmtime"]=function(){return Module["asm"]["__PyTime_gmtime"].apply(null,arguments)};var __PyTime_localtime=Module["__PyTime_localtime"]=function(){return Module["asm"]["__PyTime_localtime"].apply(null,arguments)};var __PyTraceMalloc_Fini=Module["__PyTraceMalloc_Fini"]=function(){return Module["asm"]["__PyTraceMalloc_Fini"].apply(null,arguments)};var __PyTraceMalloc_GetTraceback=Module["__PyTraceMalloc_GetTraceback"]=function(){return Module["asm"]["__PyTraceMalloc_GetTraceback"].apply(null,arguments)};var __PyTraceMalloc_Init=Module["__PyTraceMalloc_Init"]=function(){return Module["asm"]["__PyTraceMalloc_Init"].apply(null,arguments)};var __PyTraceback_Add=Module["__PyTraceback_Add"]=function(){return Module["asm"]["__PyTraceback_Add"].apply(null,arguments)};var __PyTrash_deposit_object=Module["__PyTrash_deposit_object"]=function(){return Module["asm"]["__PyTrash_deposit_object"].apply(null,arguments)};var __PyTrash_destroy_chain=Module["__PyTrash_destroy_chain"]=function(){return Module["asm"]["__PyTrash_destroy_chain"].apply(null,arguments)};var __PyTrash_thread_deposit_object=Module["__PyTrash_thread_deposit_object"]=function(){return Module["asm"]["__PyTrash_thread_deposit_object"].apply(null,arguments)};var __PyTrash_thread_destroy_chain=Module["__PyTrash_thread_destroy_chain"]=function(){return Module["asm"]["__PyTrash_thread_destroy_chain"].apply(null,arguments)};var __PyTuple_DebugMallocStats=Module["__PyTuple_DebugMallocStats"]=function(){return Module["asm"]["__PyTuple_DebugMallocStats"].apply(null,arguments)};var __PyTuple_MaybeUntrack=Module["__PyTuple_MaybeUntrack"]=function(){return Module["asm"]["__PyTuple_MaybeUntrack"].apply(null,arguments)};var __PyTuple_Resize=Module["__PyTuple_Resize"]=function(){return Module["asm"]["__PyTuple_Resize"].apply(null,arguments)};var __PyType_CalculateMetaclass=Module["__PyType_CalculateMetaclass"]=function(){return Module["asm"]["__PyType_CalculateMetaclass"].apply(null,arguments)};var __PyType_Fini=Module["__PyType_Fini"]=function(){return Module["asm"]["__PyType_Fini"].apply(null,arguments)};var __PyType_GetDocFromInternalDoc=Module["__PyType_GetDocFromInternalDoc"]=function(){return Module["asm"]["__PyType_GetDocFromInternalDoc"].apply(null,arguments)};var __PyType_GetTextSignatureFromInternalDoc=Module["__PyType_GetTextSignatureFromInternalDoc"]=function(){return Module["asm"]["__PyType_GetTextSignatureFromInternalDoc"].apply(null,arguments)};var __PyType_Lookup=Module["__PyType_Lookup"]=function(){return Module["asm"]["__PyType_Lookup"].apply(null,arguments)};var __PyType_LookupId=Module["__PyType_LookupId"]=function(){return Module["asm"]["__PyType_LookupId"].apply(null,arguments)};var __PyType_Name=Module["__PyType_Name"]=function(){return Module["asm"]["__PyType_Name"].apply(null,arguments)};var __PyUnicodeTranslateError_Create=Module["__PyUnicodeTranslateError_Create"]=function(){return Module["asm"]["__PyUnicodeTranslateError_Create"].apply(null,arguments)};var __PyUnicodeWriter_Dealloc=Module["__PyUnicodeWriter_Dealloc"]=function(){return Module["asm"]["__PyUnicodeWriter_Dealloc"].apply(null,arguments)};var __PyUnicodeWriter_Finish=Module["__PyUnicodeWriter_Finish"]=function(){return Module["asm"]["__PyUnicodeWriter_Finish"].apply(null,arguments)};var __PyUnicodeWriter_Init=Module["__PyUnicodeWriter_Init"]=function(){return Module["asm"]["__PyUnicodeWriter_Init"].apply(null,arguments)};var __PyUnicodeWriter_PrepareInternal=Module["__PyUnicodeWriter_PrepareInternal"]=function(){return Module["asm"]["__PyUnicodeWriter_PrepareInternal"].apply(null,arguments)};var __PyUnicodeWriter_PrepareKindInternal=Module["__PyUnicodeWriter_PrepareKindInternal"]=function(){return Module["asm"]["__PyUnicodeWriter_PrepareKindInternal"].apply(null,arguments)};var __PyUnicodeWriter_WriteASCIIString=Module["__PyUnicodeWriter_WriteASCIIString"]=function(){return Module["asm"]["__PyUnicodeWriter_WriteASCIIString"].apply(null,arguments)};var __PyUnicodeWriter_WriteChar=Module["__PyUnicodeWriter_WriteChar"]=function(){return Module["asm"]["__PyUnicodeWriter_WriteChar"].apply(null,arguments)};var __PyUnicodeWriter_WriteLatin1String=Module["__PyUnicodeWriter_WriteLatin1String"]=function(){return Module["asm"]["__PyUnicodeWriter_WriteLatin1String"].apply(null,arguments)};var __PyUnicodeWriter_WriteStr=Module["__PyUnicodeWriter_WriteStr"]=function(){return Module["asm"]["__PyUnicodeWriter_WriteStr"].apply(null,arguments)};var __PyUnicodeWriter_WriteSubstring=Module["__PyUnicodeWriter_WriteSubstring"]=function(){return Module["asm"]["__PyUnicodeWriter_WriteSubstring"].apply(null,arguments)};var __PyUnicode_AsASCIIString=Module["__PyUnicode_AsASCIIString"]=function(){return Module["asm"]["__PyUnicode_AsASCIIString"].apply(null,arguments)};var __PyUnicode_AsKind=Module["__PyUnicode_AsKind"]=function(){return Module["asm"]["__PyUnicode_AsKind"].apply(null,arguments)};var __PyUnicode_AsLatin1String=Module["__PyUnicode_AsLatin1String"]=function(){return Module["asm"]["__PyUnicode_AsLatin1String"].apply(null,arguments)};var __PyUnicode_AsUTF8String=Module["__PyUnicode_AsUTF8String"]=function(){return Module["asm"]["__PyUnicode_AsUTF8String"].apply(null,arguments)};var __PyUnicode_AsUnicode=Module["__PyUnicode_AsUnicode"]=function(){return Module["asm"]["__PyUnicode_AsUnicode"].apply(null,arguments)};var __PyUnicode_ClearStaticStrings=Module["__PyUnicode_ClearStaticStrings"]=function(){return Module["asm"]["__PyUnicode_ClearStaticStrings"].apply(null,arguments)};var __PyUnicode_Copy=Module["__PyUnicode_Copy"]=function(){return Module["asm"]["__PyUnicode_Copy"].apply(null,arguments)};var __PyUnicode_DecodeUnicodeEscape=Module["__PyUnicode_DecodeUnicodeEscape"]=function(){return Module["asm"]["__PyUnicode_DecodeUnicodeEscape"].apply(null,arguments)};var __PyUnicode_DecodeUnicodeInternal=Module["__PyUnicode_DecodeUnicodeInternal"]=function(){return Module["asm"]["__PyUnicode_DecodeUnicodeInternal"].apply(null,arguments)};var __PyUnicode_EQ=Module["__PyUnicode_EQ"]=function(){return Module["asm"]["__PyUnicode_EQ"].apply(null,arguments)};var __PyUnicode_EncodeCharmap=Module["__PyUnicode_EncodeCharmap"]=function(){return Module["asm"]["__PyUnicode_EncodeCharmap"].apply(null,arguments)};var __PyUnicode_EncodeUTF16=Module["__PyUnicode_EncodeUTF16"]=function(){return Module["asm"]["__PyUnicode_EncodeUTF16"].apply(null,arguments)};var __PyUnicode_EncodeUTF32=Module["__PyUnicode_EncodeUTF32"]=function(){return Module["asm"]["__PyUnicode_EncodeUTF32"].apply(null,arguments)};var __PyUnicode_EncodeUTF7=Module["__PyUnicode_EncodeUTF7"]=function(){return Module["asm"]["__PyUnicode_EncodeUTF7"].apply(null,arguments)};var __PyUnicode_EqualToASCIIId=Module["__PyUnicode_EqualToASCIIId"]=function(){return Module["asm"]["__PyUnicode_EqualToASCIIId"].apply(null,arguments)};var __PyUnicode_EqualToASCIIString=Module["__PyUnicode_EqualToASCIIString"]=function(){return Module["asm"]["__PyUnicode_EqualToASCIIString"].apply(null,arguments)};var __PyUnicode_FastCopyCharacters=Module["__PyUnicode_FastCopyCharacters"]=function(){return Module["asm"]["__PyUnicode_FastCopyCharacters"].apply(null,arguments)};var __PyUnicode_FastFill=Module["__PyUnicode_FastFill"]=function(){return Module["asm"]["__PyUnicode_FastFill"].apply(null,arguments)};var __PyUnicode_FindMaxChar=Module["__PyUnicode_FindMaxChar"]=function(){return Module["asm"]["__PyUnicode_FindMaxChar"].apply(null,arguments)};var __PyUnicode_Fini=Module["__PyUnicode_Fini"]=function(){return Module["asm"]["__PyUnicode_Fini"].apply(null,arguments)};var __PyUnicode_FormatAdvancedWriter=Module["__PyUnicode_FormatAdvancedWriter"]=function(){return Module["asm"]["__PyUnicode_FormatAdvancedWriter"].apply(null,arguments)};var __PyUnicode_FormatLong=Module["__PyUnicode_FormatLong"]=function(){return Module["asm"]["__PyUnicode_FormatLong"].apply(null,arguments)};var __PyUnicode_FromASCII=Module["__PyUnicode_FromASCII"]=function(){return Module["asm"]["__PyUnicode_FromASCII"].apply(null,arguments)};var __PyUnicode_FromId=Module["__PyUnicode_FromId"]=function(){return Module["asm"]["__PyUnicode_FromId"].apply(null,arguments)};var __PyUnicode_FromUCS1=Module["__PyUnicode_FromUCS1"]=function(){return Module["asm"]["__PyUnicode_FromUCS1"].apply(null,arguments)};var __PyUnicode_FromUCS2=Module["__PyUnicode_FromUCS2"]=function(){return Module["asm"]["__PyUnicode_FromUCS2"].apply(null,arguments)};var __PyUnicode_FromUCS4=Module["__PyUnicode_FromUCS4"]=function(){return Module["asm"]["__PyUnicode_FromUCS4"].apply(null,arguments)};var __PyUnicode_Init=Module["__PyUnicode_Init"]=function(){return Module["asm"]["__PyUnicode_Init"].apply(null,arguments)};var __PyUnicode_InsertThousandsGrouping=Module["__PyUnicode_InsertThousandsGrouping"]=function(){return Module["asm"]["__PyUnicode_InsertThousandsGrouping"].apply(null,arguments)};var __PyUnicode_IsAlpha=Module["__PyUnicode_IsAlpha"]=function(){return Module["asm"]["__PyUnicode_IsAlpha"].apply(null,arguments)};var __PyUnicode_IsCaseIgnorable=Module["__PyUnicode_IsCaseIgnorable"]=function(){return Module["asm"]["__PyUnicode_IsCaseIgnorable"].apply(null,arguments)};var __PyUnicode_IsCased=Module["__PyUnicode_IsCased"]=function(){return Module["asm"]["__PyUnicode_IsCased"].apply(null,arguments)};var __PyUnicode_IsDecimalDigit=Module["__PyUnicode_IsDecimalDigit"]=function(){return Module["asm"]["__PyUnicode_IsDecimalDigit"].apply(null,arguments)};var __PyUnicode_IsDigit=Module["__PyUnicode_IsDigit"]=function(){return Module["asm"]["__PyUnicode_IsDigit"].apply(null,arguments)};var __PyUnicode_IsLinebreak=Module["__PyUnicode_IsLinebreak"]=function(){return Module["asm"]["__PyUnicode_IsLinebreak"].apply(null,arguments)};var __PyUnicode_IsLowercase=Module["__PyUnicode_IsLowercase"]=function(){return Module["asm"]["__PyUnicode_IsLowercase"].apply(null,arguments)};var __PyUnicode_IsNumeric=Module["__PyUnicode_IsNumeric"]=function(){return Module["asm"]["__PyUnicode_IsNumeric"].apply(null,arguments)};var __PyUnicode_IsPrintable=Module["__PyUnicode_IsPrintable"]=function(){return Module["asm"]["__PyUnicode_IsPrintable"].apply(null,arguments)};var __PyUnicode_IsTitlecase=Module["__PyUnicode_IsTitlecase"]=function(){return Module["asm"]["__PyUnicode_IsTitlecase"].apply(null,arguments)};var __PyUnicode_IsUppercase=Module["__PyUnicode_IsUppercase"]=function(){return Module["asm"]["__PyUnicode_IsUppercase"].apply(null,arguments)};var __PyUnicode_IsWhitespace=Module["__PyUnicode_IsWhitespace"]=function(){return Module["asm"]["__PyUnicode_IsWhitespace"].apply(null,arguments)};var __PyUnicode_IsXidContinue=Module["__PyUnicode_IsXidContinue"]=function(){return Module["asm"]["__PyUnicode_IsXidContinue"].apply(null,arguments)};var __PyUnicode_IsXidStart=Module["__PyUnicode_IsXidStart"]=function(){return Module["asm"]["__PyUnicode_IsXidStart"].apply(null,arguments)};var __PyUnicode_JoinArray=Module["__PyUnicode_JoinArray"]=function(){return Module["asm"]["__PyUnicode_JoinArray"].apply(null,arguments)};var __PyUnicode_New=Module["__PyUnicode_New"]=function(){return Module["asm"]["__PyUnicode_New"].apply(null,arguments)};var __PyUnicode_Ready=Module["__PyUnicode_Ready"]=function(){return Module["asm"]["__PyUnicode_Ready"].apply(null,arguments)};var __PyUnicode_ToDecimalDigit=Module["__PyUnicode_ToDecimalDigit"]=function(){return Module["asm"]["__PyUnicode_ToDecimalDigit"].apply(null,arguments)};var __PyUnicode_ToDigit=Module["__PyUnicode_ToDigit"]=function(){return Module["asm"]["__PyUnicode_ToDigit"].apply(null,arguments)};var __PyUnicode_ToFoldedFull=Module["__PyUnicode_ToFoldedFull"]=function(){return Module["asm"]["__PyUnicode_ToFoldedFull"].apply(null,arguments)};var __PyUnicode_ToLowerFull=Module["__PyUnicode_ToLowerFull"]=function(){return Module["asm"]["__PyUnicode_ToLowerFull"].apply(null,arguments)};var __PyUnicode_ToLowercase=Module["__PyUnicode_ToLowercase"]=function(){return Module["asm"]["__PyUnicode_ToLowercase"].apply(null,arguments)};var __PyUnicode_ToNumeric=Module["__PyUnicode_ToNumeric"]=function(){return Module["asm"]["__PyUnicode_ToNumeric"].apply(null,arguments)};var __PyUnicode_ToTitleFull=Module["__PyUnicode_ToTitleFull"]=function(){return Module["asm"]["__PyUnicode_ToTitleFull"].apply(null,arguments)};var __PyUnicode_ToTitlecase=Module["__PyUnicode_ToTitlecase"]=function(){return Module["asm"]["__PyUnicode_ToTitlecase"].apply(null,arguments)};var __PyUnicode_ToUpperFull=Module["__PyUnicode_ToUpperFull"]=function(){return Module["asm"]["__PyUnicode_ToUpperFull"].apply(null,arguments)};var __PyUnicode_ToUppercase=Module["__PyUnicode_ToUppercase"]=function(){return Module["asm"]["__PyUnicode_ToUppercase"].apply(null,arguments)};var __PyUnicode_TransformDecimalAndSpaceToASCII=Module["__PyUnicode_TransformDecimalAndSpaceToASCII"]=function(){return Module["asm"]["__PyUnicode_TransformDecimalAndSpaceToASCII"].apply(null,arguments)};var __PyUnicode_TranslateCharmap=Module["__PyUnicode_TranslateCharmap"]=function(){return Module["asm"]["__PyUnicode_TranslateCharmap"].apply(null,arguments)};var __PyUnicode_XStrip=Module["__PyUnicode_XStrip"]=function(){return Module["asm"]["__PyUnicode_XStrip"].apply(null,arguments)};var __PyWarnings_Init=Module["__PyWarnings_Init"]=function(){return Module["asm"]["__PyWarnings_Init"].apply(null,arguments)};var __PyWeakref_ClearRef=Module["__PyWeakref_ClearRef"]=function(){return Module["asm"]["__PyWeakref_ClearRef"].apply(null,arguments)};var __PyWeakref_GetWeakrefCount=Module["__PyWeakref_GetWeakrefCount"]=function(){return Module["asm"]["__PyWeakref_GetWeakrefCount"].apply(null,arguments)};var __Py_AnnAssign=Module["__Py_AnnAssign"]=function(){return Module["asm"]["__Py_AnnAssign"].apply(null,arguments)};var __Py_Assert=Module["__Py_Assert"]=function(){return Module["asm"]["__Py_Assert"].apply(null,arguments)};var __Py_Assign=Module["__Py_Assign"]=function(){return Module["asm"]["__Py_Assign"].apply(null,arguments)};var __Py_AsyncFor=Module["__Py_AsyncFor"]=function(){return Module["asm"]["__Py_AsyncFor"].apply(null,arguments)};var __Py_AsyncFunctionDef=Module["__Py_AsyncFunctionDef"]=function(){return Module["asm"]["__Py_AsyncFunctionDef"].apply(null,arguments)};var __Py_AsyncWith=Module["__Py_AsyncWith"]=function(){return Module["asm"]["__Py_AsyncWith"].apply(null,arguments)};var __Py_Attribute=Module["__Py_Attribute"]=function(){return Module["asm"]["__Py_Attribute"].apply(null,arguments)};var __Py_AugAssign=Module["__Py_AugAssign"]=function(){return Module["asm"]["__Py_AugAssign"].apply(null,arguments)};var __Py_Await=Module["__Py_Await"]=function(){return Module["asm"]["__Py_Await"].apply(null,arguments)};var __Py_BinOp=Module["__Py_BinOp"]=function(){return Module["asm"]["__Py_BinOp"].apply(null,arguments)};var __Py_BoolOp=Module["__Py_BoolOp"]=function(){return Module["asm"]["__Py_BoolOp"].apply(null,arguments)};var __Py_Break=Module["__Py_Break"]=function(){return Module["asm"]["__Py_Break"].apply(null,arguments)};var __Py_BreakPoint=Module["__Py_BreakPoint"]=function(){return Module["asm"]["__Py_BreakPoint"].apply(null,arguments)};var __Py_BuildValue_SizeT=Module["__Py_BuildValue_SizeT"]=function(){return Module["asm"]["__Py_BuildValue_SizeT"].apply(null,arguments)};var __Py_Bytes=Module["__Py_Bytes"]=function(){return Module["asm"]["__Py_Bytes"].apply(null,arguments)};var __Py_Call=Module["__Py_Call"]=function(){return Module["asm"]["__Py_Call"].apply(null,arguments)};var __Py_CheckFunctionResult=Module["__Py_CheckFunctionResult"]=function(){return Module["asm"]["__Py_CheckFunctionResult"].apply(null,arguments)};var __Py_CheckRecursiveCall=Module["__Py_CheckRecursiveCall"]=function(){return Module["asm"]["__Py_CheckRecursiveCall"].apply(null,arguments)};var __Py_ClassDef=Module["__Py_ClassDef"]=function(){return Module["asm"]["__Py_ClassDef"].apply(null,arguments)};var __Py_CoerceLegacyLocale=Module["__Py_CoerceLegacyLocale"]=function(){return Module["asm"]["__Py_CoerceLegacyLocale"].apply(null,arguments)};var __Py_Compare=Module["__Py_Compare"]=function(){return Module["asm"]["__Py_Compare"].apply(null,arguments)};var __Py_Constant=Module["__Py_Constant"]=function(){return Module["asm"]["__Py_Constant"].apply(null,arguments)};var __Py_Continue=Module["__Py_Continue"]=function(){return Module["asm"]["__Py_Continue"].apply(null,arguments)};var __Py_Dealloc=Module["__Py_Dealloc"]=function(){return Module["asm"]["__Py_Dealloc"].apply(null,arguments)};var __Py_DecodeLocaleEx=Module["__Py_DecodeLocaleEx"]=function(){return Module["asm"]["__Py_DecodeLocaleEx"].apply(null,arguments)};var __Py_DecodeUTF8Ex=Module["__Py_DecodeUTF8Ex"]=function(){return Module["asm"]["__Py_DecodeUTF8Ex"].apply(null,arguments)};var __Py_DecodeUTF8_surrogateescape=Module["__Py_DecodeUTF8_surrogateescape"]=function(){return Module["asm"]["__Py_DecodeUTF8_surrogateescape"].apply(null,arguments)};var __Py_Delete=Module["__Py_Delete"]=function(){return Module["asm"]["__Py_Delete"].apply(null,arguments)};var __Py_Dev_Converter=Module["__Py_Dev_Converter"]=function(){return Module["asm"]["__Py_Dev_Converter"].apply(null,arguments)};var __Py_Dict=Module["__Py_Dict"]=function(){return Module["asm"]["__Py_Dict"].apply(null,arguments)};var __Py_DictComp=Module["__Py_DictComp"]=function(){return Module["asm"]["__Py_DictComp"].apply(null,arguments)};var __Py_DisplaySourceLine=Module["__Py_DisplaySourceLine"]=function(){return Module["asm"]["__Py_DisplaySourceLine"].apply(null,arguments)};var __Py_DumpASCII=Module["__Py_DumpASCII"]=function(){return Module["asm"]["__Py_DumpASCII"].apply(null,arguments)};var __Py_DumpDecimal=Module["__Py_DumpDecimal"]=function(){return Module["asm"]["__Py_DumpDecimal"].apply(null,arguments)};var __Py_DumpHexadecimal=Module["__Py_DumpHexadecimal"]=function(){return Module["asm"]["__Py_DumpHexadecimal"].apply(null,arguments)};var __Py_DumpTraceback=Module["__Py_DumpTraceback"]=function(){return Module["asm"]["__Py_DumpTraceback"].apply(null,arguments)};var __Py_DumpTracebackThreads=Module["__Py_DumpTracebackThreads"]=function(){return Module["asm"]["__Py_DumpTracebackThreads"].apply(null,arguments)};var __Py_Ellipsis=Module["__Py_Ellipsis"]=function(){return Module["asm"]["__Py_Ellipsis"].apply(null,arguments)};var __Py_EncodeLocaleEx=Module["__Py_EncodeLocaleEx"]=function(){return Module["asm"]["__Py_EncodeLocaleEx"].apply(null,arguments)};var __Py_EncodeLocaleRaw=Module["__Py_EncodeLocaleRaw"]=function(){return Module["asm"]["__Py_EncodeLocaleRaw"].apply(null,arguments)};var __Py_EncodeUTF8Ex=Module["__Py_EncodeUTF8Ex"]=function(){return Module["asm"]["__Py_EncodeUTF8Ex"].apply(null,arguments)};var __Py_ExceptHandler=Module["__Py_ExceptHandler"]=function(){return Module["asm"]["__Py_ExceptHandler"].apply(null,arguments)};var __Py_Expr=Module["__Py_Expr"]=function(){return Module["asm"]["__Py_Expr"].apply(null,arguments)};var __Py_Expression=Module["__Py_Expression"]=function(){return Module["asm"]["__Py_Expression"].apply(null,arguments)};var __Py_ExtSlice=Module["__Py_ExtSlice"]=function(){return Module["asm"]["__Py_ExtSlice"].apply(null,arguments)};var __Py_FatalInitError=Module["__Py_FatalInitError"]=function(){return Module["asm"]["__Py_FatalInitError"].apply(null,arguments)};var __Py_FindEnvConfigValue=Module["__Py_FindEnvConfigValue"]=function(){return Module["asm"]["__Py_FindEnvConfigValue"].apply(null,arguments)};var __Py_For=Module["__Py_For"]=function(){return Module["asm"]["__Py_For"].apply(null,arguments)};var __Py_FormattedValue=Module["__Py_FormattedValue"]=function(){return Module["asm"]["__Py_FormattedValue"].apply(null,arguments)};var __Py_FreeCharPArray=Module["__Py_FreeCharPArray"]=function(){return Module["asm"]["__Py_FreeCharPArray"].apply(null,arguments)};var __Py_FunctionDef=Module["__Py_FunctionDef"]=function(){return Module["asm"]["__Py_FunctionDef"].apply(null,arguments)};var __Py_GeneratorExp=Module["__Py_GeneratorExp"]=function(){return Module["asm"]["__Py_GeneratorExp"].apply(null,arguments)};var __Py_GetAllocatedBlocks=Module["__Py_GetAllocatedBlocks"]=function(){return Module["asm"]["__Py_GetAllocatedBlocks"].apply(null,arguments)};var __Py_GetLocaleconvNumeric=Module["__Py_GetLocaleconvNumeric"]=function(){return Module["asm"]["__Py_GetLocaleconvNumeric"].apply(null,arguments)};var __Py_Gid_Converter=Module["__Py_Gid_Converter"]=function(){return Module["asm"]["__Py_Gid_Converter"].apply(null,arguments)};var __Py_Global=Module["__Py_Global"]=function(){return Module["asm"]["__Py_Global"].apply(null,arguments)};var __Py_HashBytes=Module["__Py_HashBytes"]=function(){return Module["asm"]["__Py_HashBytes"].apply(null,arguments)};var __Py_HashDouble=Module["__Py_HashDouble"]=function(){return Module["asm"]["__Py_HashDouble"].apply(null,arguments)};var __Py_HashPointer=Module["__Py_HashPointer"]=function(){return Module["asm"]["__Py_HashPointer"].apply(null,arguments)};var __Py_HashRandomization_Fini=Module["__Py_HashRandomization_Fini"]=function(){return Module["asm"]["__Py_HashRandomization_Fini"].apply(null,arguments)};var __Py_HashRandomization_Init=Module["__Py_HashRandomization_Init"]=function(){return Module["asm"]["__Py_HashRandomization_Init"].apply(null,arguments)};var __Py_If=Module["__Py_If"]=function(){return Module["asm"]["__Py_If"].apply(null,arguments)};var __Py_IfExp=Module["__Py_IfExp"]=function(){return Module["asm"]["__Py_IfExp"].apply(null,arguments)};var __Py_Import=Module["__Py_Import"]=function(){return Module["asm"]["__Py_Import"].apply(null,arguments)};var __Py_ImportFrom=Module["__Py_ImportFrom"]=function(){return Module["asm"]["__Py_ImportFrom"].apply(null,arguments)};var __Py_Index=Module["__Py_Index"]=function(){return Module["asm"]["__Py_Index"].apply(null,arguments)};var __Py_InitializeCore=Module["__Py_InitializeCore"]=function(){return Module["asm"]["__Py_InitializeCore"].apply(null,arguments)};var __Py_InitializeEx_Private=Module["__Py_InitializeEx_Private"]=function(){return Module["asm"]["__Py_InitializeEx_Private"].apply(null,arguments)};var __Py_InitializeMainInterpreter=Module["__Py_InitializeMainInterpreter"]=function(){return Module["asm"]["__Py_InitializeMainInterpreter"].apply(null,arguments)};var __Py_Interactive=Module["__Py_Interactive"]=function(){return Module["asm"]["__Py_Interactive"].apply(null,arguments)};var __Py_IsCoreInitialized=Module["__Py_IsCoreInitialized"]=function(){return Module["asm"]["__Py_IsCoreInitialized"].apply(null,arguments)};var __Py_IsFinalizing=Module["__Py_IsFinalizing"]=function(){return Module["asm"]["__Py_IsFinalizing"].apply(null,arguments)};var __Py_JoinedStr=Module["__Py_JoinedStr"]=function(){return Module["asm"]["__Py_JoinedStr"].apply(null,arguments)};var __Py_KeyedHash=Module["__Py_KeyedHash"]=function(){return Module["asm"]["__Py_KeyedHash"].apply(null,arguments)};var __Py_Lambda=Module["__Py_Lambda"]=function(){return Module["asm"]["__Py_Lambda"].apply(null,arguments)};var __Py_LegacyLocaleDetected=Module["__Py_LegacyLocaleDetected"]=function(){return Module["asm"]["__Py_LegacyLocaleDetected"].apply(null,arguments)};var __Py_List=Module["__Py_List"]=function(){return Module["asm"]["__Py_List"].apply(null,arguments)};var __Py_ListComp=Module["__Py_ListComp"]=function(){return Module["asm"]["__Py_ListComp"].apply(null,arguments)};var __Py_Mangle=Module["__Py_Mangle"]=function(){return Module["asm"]["__Py_Mangle"].apply(null,arguments)};var __Py_Module=Module["__Py_Module"]=function(){return Module["asm"]["__Py_Module"].apply(null,arguments)};var __Py_Name=Module["__Py_Name"]=function(){return Module["asm"]["__Py_Name"].apply(null,arguments)};var __Py_NameConstant=Module["__Py_NameConstant"]=function(){return Module["asm"]["__Py_NameConstant"].apply(null,arguments)};var __Py_Nonlocal=Module["__Py_Nonlocal"]=function(){return Module["asm"]["__Py_Nonlocal"].apply(null,arguments)};var __Py_Num=Module["__Py_Num"]=function(){return Module["asm"]["__Py_Num"].apply(null,arguments)};var __Py_Pass=Module["__Py_Pass"]=function(){return Module["asm"]["__Py_Pass"].apply(null,arguments)};var __Py_PyAtExit=Module["__Py_PyAtExit"]=function(){return Module["asm"]["__Py_PyAtExit"].apply(null,arguments)};var __Py_Raise=Module["__Py_Raise"]=function(){return Module["asm"]["__Py_Raise"].apply(null,arguments)};var __Py_ReadHashSeed=Module["__Py_ReadHashSeed"]=function(){return Module["asm"]["__Py_ReadHashSeed"].apply(null,arguments)};var __Py_ReadyTypes=Module["__Py_ReadyTypes"]=function(){return Module["asm"]["__Py_ReadyTypes"].apply(null,arguments)};var __Py_ReleaseInternedUnicodeStrings=Module["__Py_ReleaseInternedUnicodeStrings"]=function(){return Module["asm"]["__Py_ReleaseInternedUnicodeStrings"].apply(null,arguments)};var __Py_RestoreSignals=Module["__Py_RestoreSignals"]=function(){return Module["asm"]["__Py_RestoreSignals"].apply(null,arguments)};var __Py_Return=Module["__Py_Return"]=function(){return Module["asm"]["__Py_Return"].apply(null,arguments)};var __Py_Set=Module["__Py_Set"]=function(){return Module["asm"]["__Py_Set"].apply(null,arguments)};var __Py_SetComp=Module["__Py_SetComp"]=function(){return Module["asm"]["__Py_SetComp"].apply(null,arguments)};var __Py_SetLocaleFromEnv=Module["__Py_SetLocaleFromEnv"]=function(){return Module["asm"]["__Py_SetLocaleFromEnv"].apply(null,arguments)};var __Py_Slice=Module["__Py_Slice"]=function(){return Module["asm"]["__Py_Slice"].apply(null,arguments)};var __Py_Starred=Module["__Py_Starred"]=function(){return Module["asm"]["__Py_Starred"].apply(null,arguments)};var __Py_Str=Module["__Py_Str"]=function(){return Module["asm"]["__Py_Str"].apply(null,arguments)};var __Py_Subscript=Module["__Py_Subscript"]=function(){return Module["asm"]["__Py_Subscript"].apply(null,arguments)};var __Py_Suite=Module["__Py_Suite"]=function(){return Module["asm"]["__Py_Suite"].apply(null,arguments)};var __Py_Try=Module["__Py_Try"]=function(){return Module["asm"]["__Py_Try"].apply(null,arguments)};var __Py_Tuple=Module["__Py_Tuple"]=function(){return Module["asm"]["__Py_Tuple"].apply(null,arguments)};var __Py_Uid_Converter=Module["__Py_Uid_Converter"]=function(){return Module["asm"]["__Py_Uid_Converter"].apply(null,arguments)};var __Py_UnaryOp=Module["__Py_UnaryOp"]=function(){return Module["asm"]["__Py_UnaryOp"].apply(null,arguments)};var __Py_UnixMain=Module["__Py_UnixMain"]=function(){return Module["asm"]["__Py_UnixMain"].apply(null,arguments)};var __Py_VaBuildStack=Module["__Py_VaBuildStack"]=function(){return Module["asm"]["__Py_VaBuildStack"].apply(null,arguments)};var __Py_VaBuildStack_SizeT=Module["__Py_VaBuildStack_SizeT"]=function(){return Module["asm"]["__Py_VaBuildStack_SizeT"].apply(null,arguments)};var __Py_VaBuildValue_SizeT=Module["__Py_VaBuildValue_SizeT"]=function(){return Module["asm"]["__Py_VaBuildValue_SizeT"].apply(null,arguments)};var __Py_While=Module["__Py_While"]=function(){return Module["asm"]["__Py_While"].apply(null,arguments)};var __Py_With=Module["__Py_With"]=function(){return Module["asm"]["__Py_With"].apply(null,arguments)};var __Py_Yield=Module["__Py_Yield"]=function(){return Module["asm"]["__Py_Yield"].apply(null,arguments)};var __Py_YieldFrom=Module["__Py_YieldFrom"]=function(){return Module["asm"]["__Py_YieldFrom"].apply(null,arguments)};var __Py_add_one_to_index_C=Module["__Py_add_one_to_index_C"]=function(){return Module["asm"]["__Py_add_one_to_index_C"].apply(null,arguments)};var __Py_add_one_to_index_F=Module["__Py_add_one_to_index_F"]=function(){return Module["asm"]["__Py_add_one_to_index_F"].apply(null,arguments)};var __Py_addarc=Module["__Py_addarc"]=function(){return Module["asm"]["__Py_addarc"].apply(null,arguments)};var __Py_addbit=Module["__Py_addbit"]=function(){return Module["asm"]["__Py_addbit"].apply(null,arguments)};var __Py_adddfa=Module["__Py_adddfa"]=function(){return Module["asm"]["__Py_adddfa"].apply(null,arguments)};var __Py_addfirstsets=Module["__Py_addfirstsets"]=function(){return Module["asm"]["__Py_addfirstsets"].apply(null,arguments)};var __Py_addlabel=Module["__Py_addlabel"]=function(){return Module["asm"]["__Py_addlabel"].apply(null,arguments)};var __Py_addstate=Module["__Py_addstate"]=function(){return Module["asm"]["__Py_addstate"].apply(null,arguments)};var __Py_alias=Module["__Py_alias"]=function(){return Module["asm"]["__Py_alias"].apply(null,arguments)};var __Py_arg=Module["__Py_arg"]=function(){return Module["asm"]["__Py_arg"].apply(null,arguments)};var __Py_arguments=Module["__Py_arguments"]=function(){return Module["asm"]["__Py_arguments"].apply(null,arguments)};var __Py_asdl_int_seq_new=Module["__Py_asdl_int_seq_new"]=function(){return Module["asm"]["__Py_asdl_int_seq_new"].apply(null,arguments)};var __Py_asdl_seq_new=Module["__Py_asdl_seq_new"]=function(){return Module["asm"]["__Py_asdl_seq_new"].apply(null,arguments)};var __Py_bytes_capitalize=Module["__Py_bytes_capitalize"]=function(){return Module["asm"]["__Py_bytes_capitalize"].apply(null,arguments)};var __Py_bytes_contains=Module["__Py_bytes_contains"]=function(){return Module["asm"]["__Py_bytes_contains"].apply(null,arguments)};var __Py_bytes_count=Module["__Py_bytes_count"]=function(){return Module["asm"]["__Py_bytes_count"].apply(null,arguments)};var __Py_bytes_endswith=Module["__Py_bytes_endswith"]=function(){return Module["asm"]["__Py_bytes_endswith"].apply(null,arguments)};var __Py_bytes_find=Module["__Py_bytes_find"]=function(){return Module["asm"]["__Py_bytes_find"].apply(null,arguments)};var __Py_bytes_index=Module["__Py_bytes_index"]=function(){return Module["asm"]["__Py_bytes_index"].apply(null,arguments)};var __Py_bytes_isalnum=Module["__Py_bytes_isalnum"]=function(){return Module["asm"]["__Py_bytes_isalnum"].apply(null,arguments)};var __Py_bytes_isalpha=Module["__Py_bytes_isalpha"]=function(){return Module["asm"]["__Py_bytes_isalpha"].apply(null,arguments)};var __Py_bytes_isascii=Module["__Py_bytes_isascii"]=function(){return Module["asm"]["__Py_bytes_isascii"].apply(null,arguments)};var __Py_bytes_isdigit=Module["__Py_bytes_isdigit"]=function(){return Module["asm"]["__Py_bytes_isdigit"].apply(null,arguments)};var __Py_bytes_islower=Module["__Py_bytes_islower"]=function(){return Module["asm"]["__Py_bytes_islower"].apply(null,arguments)};var __Py_bytes_isspace=Module["__Py_bytes_isspace"]=function(){return Module["asm"]["__Py_bytes_isspace"].apply(null,arguments)};var __Py_bytes_istitle=Module["__Py_bytes_istitle"]=function(){return Module["asm"]["__Py_bytes_istitle"].apply(null,arguments)};var __Py_bytes_isupper=Module["__Py_bytes_isupper"]=function(){return Module["asm"]["__Py_bytes_isupper"].apply(null,arguments)};var __Py_bytes_lower=Module["__Py_bytes_lower"]=function(){return Module["asm"]["__Py_bytes_lower"].apply(null,arguments)};var __Py_bytes_maketrans=Module["__Py_bytes_maketrans"]=function(){return Module["asm"]["__Py_bytes_maketrans"].apply(null,arguments)};var __Py_bytes_rfind=Module["__Py_bytes_rfind"]=function(){return Module["asm"]["__Py_bytes_rfind"].apply(null,arguments)};var __Py_bytes_rindex=Module["__Py_bytes_rindex"]=function(){return Module["asm"]["__Py_bytes_rindex"].apply(null,arguments)};var __Py_bytes_startswith=Module["__Py_bytes_startswith"]=function(){return Module["asm"]["__Py_bytes_startswith"].apply(null,arguments)};var __Py_bytes_swapcase=Module["__Py_bytes_swapcase"]=function(){return Module["asm"]["__Py_bytes_swapcase"].apply(null,arguments)};var __Py_bytes_tailmatch=Module["__Py_bytes_tailmatch"]=function(){return Module["asm"]["__Py_bytes_tailmatch"].apply(null,arguments)};var __Py_bytes_title=Module["__Py_bytes_title"]=function(){return Module["asm"]["__Py_bytes_title"].apply(null,arguments)};var __Py_bytes_upper=Module["__Py_bytes_upper"]=function(){return Module["asm"]["__Py_bytes_upper"].apply(null,arguments)};var __Py_c_abs=Module["__Py_c_abs"]=function(){return Module["asm"]["__Py_c_abs"].apply(null,arguments)};var __Py_c_diff=Module["__Py_c_diff"]=function(){return Module["asm"]["__Py_c_diff"].apply(null,arguments)};var __Py_c_neg=Module["__Py_c_neg"]=function(){return Module["asm"]["__Py_c_neg"].apply(null,arguments)};var __Py_c_pow=Module["__Py_c_pow"]=function(){return Module["asm"]["__Py_c_pow"].apply(null,arguments)};var __Py_c_prod=Module["__Py_c_prod"]=function(){return Module["asm"]["__Py_c_prod"].apply(null,arguments)};var __Py_c_quot=Module["__Py_c_quot"]=function(){return Module["asm"]["__Py_c_quot"].apply(null,arguments)};var __Py_c_sum=Module["__Py_c_sum"]=function(){return Module["asm"]["__Py_c_sum"].apply(null,arguments)};var __Py_comprehension=Module["__Py_comprehension"]=function(){return Module["asm"]["__Py_comprehension"].apply(null,arguments)};var __Py_convert_optional_to_ssize_t=Module["__Py_convert_optional_to_ssize_t"]=function(){return Module["asm"]["__Py_convert_optional_to_ssize_t"].apply(null,arguments)};var __Py_delbitset=Module["__Py_delbitset"]=function(){return Module["asm"]["__Py_delbitset"].apply(null,arguments)};var __Py_device_encoding=Module["__Py_device_encoding"]=function(){return Module["asm"]["__Py_device_encoding"].apply(null,arguments)};var __Py_dg_dtoa=Module["__Py_dg_dtoa"]=function(){return Module["asm"]["__Py_dg_dtoa"].apply(null,arguments)};var __Py_dg_freedtoa=Module["__Py_dg_freedtoa"]=function(){return Module["asm"]["__Py_dg_freedtoa"].apply(null,arguments)};var __Py_dg_infinity=Module["__Py_dg_infinity"]=function(){return Module["asm"]["__Py_dg_infinity"].apply(null,arguments)};var __Py_dg_stdnan=Module["__Py_dg_stdnan"]=function(){return Module["asm"]["__Py_dg_stdnan"].apply(null,arguments)};var __Py_dg_strtod=Module["__Py_dg_strtod"]=function(){return Module["asm"]["__Py_dg_strtod"].apply(null,arguments)};var __Py_dup=Module["__Py_dup"]=function(){return Module["asm"]["__Py_dup"].apply(null,arguments)};var __Py_findlabel=Module["__Py_findlabel"]=function(){return Module["asm"]["__Py_findlabel"].apply(null,arguments)};var __Py_fopen=Module["__Py_fopen"]=function(){return Module["asm"]["__Py_fopen"].apply(null,arguments)};var __Py_fopen_obj=Module["__Py_fopen_obj"]=function(){return Module["asm"]["__Py_fopen_obj"].apply(null,arguments)};var __Py_freegrammar=Module["__Py_freegrammar"]=function(){return Module["asm"]["__Py_freegrammar"].apply(null,arguments)};var __Py_fstat=Module["__Py_fstat"]=function(){return Module["asm"]["__Py_fstat"].apply(null,arguments)};var __Py_fstat_noraise=Module["__Py_fstat_noraise"]=function(){return Module["asm"]["__Py_fstat_noraise"].apply(null,arguments)};var __Py_get_blocking=Module["__Py_get_blocking"]=function(){return Module["asm"]["__Py_get_blocking"].apply(null,arguments)};var __Py_get_inheritable=Module["__Py_get_inheritable"]=function(){return Module["asm"]["__Py_get_inheritable"].apply(null,arguments)};var __Py_gitidentifier=Module["__Py_gitidentifier"]=function(){return Module["asm"]["__Py_gitidentifier"].apply(null,arguments)};var __Py_gitversion=Module["__Py_gitversion"]=function(){return Module["asm"]["__Py_gitversion"].apply(null,arguments)};var __Py_hashtable_clear=Module["__Py_hashtable_clear"]=function(){return Module["asm"]["__Py_hashtable_clear"].apply(null,arguments)};var __Py_hashtable_compare_direct=Module["__Py_hashtable_compare_direct"]=function(){return Module["asm"]["__Py_hashtable_compare_direct"].apply(null,arguments)};var __Py_hashtable_copy=Module["__Py_hashtable_copy"]=function(){return Module["asm"]["__Py_hashtable_copy"].apply(null,arguments)};var __Py_hashtable_destroy=Module["__Py_hashtable_destroy"]=function(){return Module["asm"]["__Py_hashtable_destroy"].apply(null,arguments)};var __Py_hashtable_foreach=Module["__Py_hashtable_foreach"]=function(){return Module["asm"]["__Py_hashtable_foreach"].apply(null,arguments)};var __Py_hashtable_get=Module["__Py_hashtable_get"]=function(){return Module["asm"]["__Py_hashtable_get"].apply(null,arguments)};var __Py_hashtable_get_entry=Module["__Py_hashtable_get_entry"]=function(){return Module["asm"]["__Py_hashtable_get_entry"].apply(null,arguments)};var __Py_hashtable_hash_ptr=Module["__Py_hashtable_hash_ptr"]=function(){return Module["asm"]["__Py_hashtable_hash_ptr"].apply(null,arguments)};var __Py_hashtable_new=Module["__Py_hashtable_new"]=function(){return Module["asm"]["__Py_hashtable_new"].apply(null,arguments)};var __Py_hashtable_new_full=Module["__Py_hashtable_new_full"]=function(){return Module["asm"]["__Py_hashtable_new_full"].apply(null,arguments)};var __Py_hashtable_pop=Module["__Py_hashtable_pop"]=function(){return Module["asm"]["__Py_hashtable_pop"].apply(null,arguments)};var __Py_hashtable_set=Module["__Py_hashtable_set"]=function(){return Module["asm"]["__Py_hashtable_set"].apply(null,arguments)};var __Py_hashtable_size=Module["__Py_hashtable_size"]=function(){return Module["asm"]["__Py_hashtable_size"].apply(null,arguments)};var __Py_keyword=Module["__Py_keyword"]=function(){return Module["asm"]["__Py_keyword"].apply(null,arguments)};var __Py_log1p=Module["__Py_log1p"]=function(){return Module["asm"]["__Py_log1p"].apply(null,arguments)};var __Py_mergebitset=Module["__Py_mergebitset"]=function(){return Module["asm"]["__Py_mergebitset"].apply(null,arguments)};var __Py_meta_grammar=Module["__Py_meta_grammar"]=function(){return Module["asm"]["__Py_meta_grammar"].apply(null,arguments)};var __Py_newbitset=Module["__Py_newbitset"]=function(){return Module["asm"]["__Py_newbitset"].apply(null,arguments)};var __Py_newgrammar=Module["__Py_newgrammar"]=function(){return Module["asm"]["__Py_newgrammar"].apply(null,arguments)};var __Py_normalize_encoding=Module["__Py_normalize_encoding"]=function(){return Module["asm"]["__Py_normalize_encoding"].apply(null,arguments)};var __Py_open=Module["__Py_open"]=function(){return Module["asm"]["__Py_open"].apply(null,arguments)};var __Py_open_noraise=Module["__Py_open_noraise"]=function(){return Module["asm"]["__Py_open_noraise"].apply(null,arguments)};var __Py_parse_inf_or_nan=Module["__Py_parse_inf_or_nan"]=function(){return Module["asm"]["__Py_parse_inf_or_nan"].apply(null,arguments)};var __Py_pgen=Module["__Py_pgen"]=function(){return Module["asm"]["__Py_pgen"].apply(null,arguments)};var __Py_read=Module["__Py_read"]=function(){return Module["asm"]["__Py_read"].apply(null,arguments)};var __Py_samebitset=Module["__Py_samebitset"]=function(){return Module["asm"]["__Py_samebitset"].apply(null,arguments)};var __Py_set_blocking=Module["__Py_set_blocking"]=function(){return Module["asm"]["__Py_set_blocking"].apply(null,arguments)};var __Py_set_inheritable=Module["__Py_set_inheritable"]=function(){return Module["asm"]["__Py_set_inheritable"].apply(null,arguments)};var __Py_set_inheritable_async_safe=Module["__Py_set_inheritable_async_safe"]=function(){return Module["asm"]["__Py_set_inheritable_async_safe"].apply(null,arguments)};var __Py_stat=Module["__Py_stat"]=function(){return Module["asm"]["__Py_stat"].apply(null,arguments)};var __Py_strhex=Module["__Py_strhex"]=function(){return Module["asm"]["__Py_strhex"].apply(null,arguments)};var __Py_strhex_bytes=Module["__Py_strhex_bytes"]=function(){return Module["asm"]["__Py_strhex_bytes"].apply(null,arguments)};var __Py_string_to_number_with_underscores=Module["__Py_string_to_number_with_underscores"]=function(){return Module["asm"]["__Py_string_to_number_with_underscores"].apply(null,arguments)};var __Py_translatelabels=Module["__Py_translatelabels"]=function(){return Module["asm"]["__Py_translatelabels"].apply(null,arguments)};var __Py_wfopen=Module["__Py_wfopen"]=function(){return Module["asm"]["__Py_wfopen"].apply(null,arguments)};var __Py_wgetcwd=Module["__Py_wgetcwd"]=function(){return Module["asm"]["__Py_wgetcwd"].apply(null,arguments)};var __Py_withitem=Module["__Py_withitem"]=function(){return Module["asm"]["__Py_withitem"].apply(null,arguments)};var __Py_wreadlink=Module["__Py_wreadlink"]=function(){return Module["asm"]["__Py_wreadlink"].apply(null,arguments)};var __Py_wrealpath=Module["__Py_wrealpath"]=function(){return Module["asm"]["__Py_wrealpath"].apply(null,arguments)};var __Py_write=Module["__Py_write"]=function(){return Module["asm"]["__Py_write"].apply(null,arguments)};var __Py_write_impl=Module["__Py_write_impl"]=function(){return Module["asm"]["__Py_write_impl"].apply(null,arguments)};var __Py_write_noraise=Module["__Py_write_noraise"]=function(){return Module["asm"]["__Py_write_noraise"].apply(null,arguments)};var __SHAKE_digest=Module["__SHAKE_digest"]=function(){return Module["asm"]["__SHAKE_digest"].apply(null,arguments)};var __Unpickler_MemoPut=Module["__Unpickler_MemoPut"]=function(){return Module["asm"]["__Unpickler_MemoPut"].apply(null,arguments)};var __Unpickler_New=Module["__Unpickler_New"]=function(){return Module["asm"]["__Unpickler_New"].apply(null,arguments)};var __Unpickler_ReadFromFile=Module["__Unpickler_ReadFromFile"]=function(){return Module["asm"]["__Unpickler_ReadFromFile"].apply(null,arguments)};var __Unpickler_Readline=Module["__Unpickler_Readline"]=function(){return Module["asm"]["__Unpickler_Readline"].apply(null,arguments)};var __Unpickler_SetInputStream=Module["__Unpickler_SetInputStream"]=function(){return Module["asm"]["__Unpickler_SetInputStream"].apply(null,arguments)};var __ZL25default_terminate_handlerv=Module["__ZL25default_terminate_handlerv"]=function(){return Module["asm"]["__ZL25default_terminate_handlerv"].apply(null,arguments)};var __ZL26default_unexpected_handlerv=Module["__ZL26default_unexpected_handlerv"]=function(){return Module["asm"]["__ZL26default_unexpected_handlerv"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_110construct_Ev=Module["__ZN10__cxxabiv112_GLOBAL__N_110construct_Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_110construct_Ev"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_110save_valueIbEC2ERb=Module["__ZN10__cxxabiv112_GLOBAL__N_110save_valueIbEC2ERb"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_110save_valueIbEC2ERb"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_110save_valueIbED2Ev=Module["__ZN10__cxxabiv112_GLOBAL__N_110save_valueIbED2Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_110save_valueIbED2Ev"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_110save_valueIjEC2ERj=Module["__ZN10__cxxabiv112_GLOBAL__N_110save_valueIjEC2ERj"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_110save_valueIjEC2ERj"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_110save_valueIjED2Ev=Module["__ZN10__cxxabiv112_GLOBAL__N_110save_valueIjED2Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_110save_valueIjED2Ev"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINS0_11string_pairELm4096EE10deallocateEPS2_m=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINS0_11string_pairELm4096EE10deallocateEPS2_m"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINS0_11string_pairELm4096EE10deallocateEPS2_m"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINS0_11string_pairELm4096EE8allocateEm=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINS0_11string_pairELm4096EE8allocateEm"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINS0_11string_pairELm4096EE8allocateEm"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINS0_11string_pairELm4096EEC2ERNS0_5arenaILm4096EEE=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINS0_11string_pairELm4096EEC2ERNS0_5arenaILm4096EEE"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINS0_11string_pairELm4096EEC2ERNS0_5arenaILm4096EEE"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EE10deallocateEPS6_m=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EE10deallocateEPS6_m"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EE10deallocateEPS6_m"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EE8allocateEm=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EE8allocateEm"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EE8allocateEm"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EEC2ERNS0_5arenaILm4096EEE=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EEC2ERNS0_5arenaILm4096EEE"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EEC2ERNS0_5arenaILm4096EEE"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EEC2IS4_EERKNS1_IT_Lm4096EEE=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EEC2IS4_EERKNS1_IT_Lm4096EEE"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS0_11string_pairENS1_IS4_Lm4096EEEEELm4096EEC2IS4_EERKNS1_IT_Lm4096EEE"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS3_INS0_11string_pairENS1_IS4_Lm4096EEEEENS1_IS6_Lm4096EEEEELm4096EE10deallocateEPS8_m=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS3_INS0_11string_pairENS1_IS4_Lm4096EEEEENS1_IS6_Lm4096EEEEELm4096EE10deallocateEPS8_m"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS3_INS0_11string_pairENS1_IS4_Lm4096EEEEENS1_IS6_Lm4096EEEEELm4096EE10deallocateEPS8_m"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS3_INS0_11string_pairENS1_IS4_Lm4096EEEEENS1_IS6_Lm4096EEEEELm4096EE8allocateEm=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS3_INS0_11string_pairENS1_IS4_Lm4096EEEEENS1_IS6_Lm4096EEEEELm4096EE8allocateEm"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS3_INS0_11string_pairENS1_IS4_Lm4096EEEEENS1_IS6_Lm4096EEEEELm4096EE8allocateEm"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS3_INS0_11string_pairENS1_IS4_Lm4096EEEEENS1_IS6_Lm4096EEEEELm4096EEC2ERNS0_5arenaILm4096EEE=Module["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS3_INS0_11string_pairENS1_IS4_Lm4096EEEEENS1_IS6_Lm4096EEEEELm4096EEC2ERNS0_5arenaILm4096EEE"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111short_allocINSt3__26vectorINS3_INS0_11string_pairENS1_IS4_Lm4096EEEEENS1_IS6_Lm4096EEEEELm4096EEC2ERNS0_5arenaILm4096EEE"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__212basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__212basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__212basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ERKS1_=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ERKS1_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ERKS1_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2Ev=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2Ev"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm10EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm10EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm10EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm11EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm11EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm11EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm12EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm12EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm12EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm13EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm13EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm13EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm14EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm14EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm14EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm15EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm15EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm15EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm16EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm16EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm16EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm18EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm18EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm18EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm19EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm19EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm19EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm22EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm22EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm22EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm3EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm3EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm3EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm4EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm4EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm4EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm5EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm5EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm5EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm6EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm6EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm6EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm7EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm7EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm7EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm8EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm8EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm8EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm9EEERAT__Kc=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm9EEERAT__Kc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILm9EEERAT__Kc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_=Module["__ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_112malloc_allocIcE10deallocateEPcm=Module["__ZN10__cxxabiv112_GLOBAL__N_112malloc_allocIcE10deallocateEPcm"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_112malloc_allocIcE10deallocateEPcm"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_112malloc_allocIcE8allocateEm=Module["__ZN10__cxxabiv112_GLOBAL__N_112malloc_allocIcE8allocateEm"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_112malloc_allocIcE8allocateEm"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_=Module["__ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_114parse_decltypeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_114parse_decltypeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_114parse_decltypeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_114parse_dot_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_114parse_dot_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_114parse_dot_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_114parse_new_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_114parse_new_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_114parse_new_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_115parse_call_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_115parse_call_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_115parse_call_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_115parse_simple_idINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_115parse_simple_idINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_115parse_simple_idINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_116parse_array_typeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_116parse_array_typeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_116parse_array_typeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_116parse_arrow_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_116parse_arrow_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_116parse_arrow_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_116parse_dot_suffixINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_116parse_dot_suffixINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_116parse_dot_suffixINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_116parse_local_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_116parse_local_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_116parse_local_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_116parse_throw_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_116parse_throw_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_116parse_throw_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_117parse_call_offsetEPKcS2_=Module["__ZN10__cxxabiv112_GLOBAL__N_117parse_call_offsetEPKcS2_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_117parse_call_offsetEPKcS2_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_117parse_nested_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_117parse_nested_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_117parse_nested_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_117parse_typeid_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_117parse_typeid_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_117parse_typeid_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_117parse_vector_typeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_117parse_vector_typeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_117parse_vector_typeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_118parse_alignof_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_118parse_alignof_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_118parse_alignof_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_118parse_alignof_typeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_118parse_alignof_typeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_118parse_alignof_typeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_118parse_block_invokeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_118parse_block_invokeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_118parse_block_invokeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_118parse_builtin_typeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_118parse_builtin_typeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_118parse_builtin_typeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_118parse_expr_primaryINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_118parse_expr_primaryINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_118parse_expr_primaryINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_118parse_special_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_118parse_special_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_118parse_special_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_118parse_substitutionINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_118parse_substitutionINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_118parse_substitutionINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_118parse_template_argINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_118parse_template_argINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_118parse_template_argINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_119parse_cv_qualifiersEPKcS2_Rj=Module["__ZN10__cxxabiv112_GLOBAL__N_119parse_cv_qualifiersEPKcS2_Rj"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_119parse_cv_qualifiersEPKcS2_Rj"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_119parse_discriminatorEPKcS2_=Module["__ZN10__cxxabiv112_GLOBAL__N_119parse_discriminatorEPKcS2_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_119parse_discriminatorEPKcS2_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_119parse_dot_star_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_119parse_dot_star_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_119parse_dot_star_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_119parse_function_typeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_119parse_function_typeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_119parse_function_typeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_119parse_operator_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_119parse_operator_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_119parse_operator_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_119parse_unscoped_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_119parse_unscoped_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_119parse_unscoped_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_120parse_ctor_dtor_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_120parse_ctor_dtor_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_120parse_ctor_dtor_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_120parse_function_paramINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_120parse_function_paramINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_120parse_function_paramINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_120parse_pack_expansionINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_120parse_pack_expansionINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_120parse_pack_expansionINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_120parse_template_paramINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_120parse_template_paramINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_120parse_template_paramINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_121parse_const_cast_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_121parse_const_cast_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_121parse_const_cast_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_121parse_conversion_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_121parse_conversion_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_121parse_conversion_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_121parse_destructor_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_121parse_destructor_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_121parse_destructor_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_121parse_floating_numberIdNS0_2DbEEEPKcS4_S4_RT0_=Module["__ZN10__cxxabiv112_GLOBAL__N_121parse_floating_numberIdNS0_2DbEEEPKcS4_S4_RT0_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_121parse_floating_numberIdNS0_2DbEEEPKcS4_S4_RT0_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_121parse_floating_numberIeNS0_2DbEEEPKcS4_S4_RT0_=Module["__ZN10__cxxabiv112_GLOBAL__N_121parse_floating_numberIeNS0_2DbEEEPKcS4_S4_RT0_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_121parse_floating_numberIeNS0_2DbEEEPKcS4_S4_RT0_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_121parse_floating_numberIfNS0_2DbEEEPKcS4_S4_RT0_=Module["__ZN10__cxxabiv112_GLOBAL__N_121parse_floating_numberIfNS0_2DbEEEPKcS4_S4_RT0_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_121parse_floating_numberIfNS0_2DbEEEPKcS4_S4_RT0_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_=Module["__ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_typeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_typeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_typeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_122parse_sizeof_expr_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_122parse_sizeof_expr_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_122parse_sizeof_expr_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_122parse_sizeof_type_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_122parse_sizeof_type_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_122parse_sizeof_type_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_122parse_static_cast_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_122parse_static_cast_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_122parse_static_cast_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_122parse_unqualified_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_122parse_unqualified_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_122parse_unqualified_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_=Module["__ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_123parse_dynamic_cast_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_123parse_dynamic_cast_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_123parse_dynamic_cast_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_=Module["__ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_123parse_unnamed_type_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_123parse_unnamed_type_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_123parse_unnamed_type_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_125parse_noexcept_expressionINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_125parse_noexcept_expressionINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_125parse_noexcept_expressionINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_126parse_base_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_126parse_base_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_126parse_base_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_127parse_reinterpret_cast_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_127parse_reinterpret_cast_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_127parse_reinterpret_cast_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_128parse_pointer_to_member_typeINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_128parse_pointer_to_member_typeINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_128parse_pointer_to_member_typeINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_128parse_sizeof_param_pack_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_128parse_sizeof_param_pack_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_128parse_sizeof_param_pack_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_12DbC2ILm4096EEERNS0_5arenaIXT_EEE=Module["__ZN10__cxxabiv112_GLOBAL__N_12DbC2ILm4096EEERNS0_5arenaIXT_EEE"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_12DbC2ILm4096EEERNS0_5arenaIXT_EEE"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_12DbD2Ev=Module["__ZN10__cxxabiv112_GLOBAL__N_12DbD2Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_12DbD2Ev"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_132parse_unresolved_qualifier_levelINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_132parse_unresolved_qualifier_levelINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_132parse_unresolved_qualifier_levelINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_137parse_sizeof_function_param_pack_exprINS0_2DbEEEPKcS4_S4_RT_=Module["__ZN10__cxxabiv112_GLOBAL__N_137parse_sizeof_function_param_pack_exprINS0_2DbEEEPKcS4_S4_RT_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_137parse_sizeof_function_param_pack_exprINS0_2DbEEEPKcS4_S4_RT_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE10deallocateEPcm=Module["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE10deallocateEPcm"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE10deallocateEPcm"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE17pointer_in_bufferEPc=Module["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE17pointer_in_bufferEPc"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE17pointer_in_bufferEPc"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE8align_upEm=Module["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE8align_upEm"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE8align_upEm"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE8allocateEm=Module["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE8allocateEm"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EE8allocateEm"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EEC2Ev=Module["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EEC2Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EEC2Ev"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EED2Ev=Module["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EED2Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_15arenaILm4096EED2Ev"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_18demangleINS0_2DbEEEvPKcS4_RT_Ri=Module["__ZN10__cxxabiv112_GLOBAL__N_18demangleINS0_2DbEEEvPKcS4_RT_Ri"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_18demangleINS0_2DbEEEvPKcS4_RT_Ri"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_19base_nameINSt3__212basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEEEET_RS9_=Module["__ZN10__cxxabiv112_GLOBAL__N_19base_nameINSt3__212basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEEEET_RS9_"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_19base_nameINSt3__212basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEEEET_RS9_"].apply(null,arguments)};var __ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv=Module["__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv"]=function(){return Module["asm"]["__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv"].apply(null,arguments)};var __ZN10__cxxabiv116__enum_type_infoD0Ev=Module["__ZN10__cxxabiv116__enum_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv116__enum_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv116__shim_type_infoD0Ev=Module["__ZN10__cxxabiv116__shim_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv116__shim_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv116__shim_type_infoD2Ev=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv116__shim_type_infoD2Ev"].apply(null,arguments)};var __ZN10__cxxabiv117__array_type_infoD0Ev=Module["__ZN10__cxxabiv117__array_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv117__array_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv117__class_type_infoD0Ev=Module["__ZN10__cxxabiv117__class_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv117__class_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv117__pbase_type_infoD0Ev=Module["__ZN10__cxxabiv117__pbase_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv117__pbase_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv119__pointer_type_infoD0Ev=Module["__ZN10__cxxabiv119__pointer_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv119__pointer_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv120__function_type_infoD0Ev=Module["__ZN10__cxxabiv120__function_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv120__function_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv120__si_class_type_infoD0Ev=Module["__ZN10__cxxabiv120__si_class_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv120__si_class_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv121__vmi_class_type_infoD0Ev=Module["__ZN10__cxxabiv121__vmi_class_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv121__vmi_class_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv123__fundamental_type_infoD0Ev=Module["__ZN10__cxxabiv123__fundamental_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv123__fundamental_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev=Module["__ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev"]=function(){return Module["asm"]["__ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev"].apply(null,arguments)};var __ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b=Module["__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b"]=function(){return Module["asm"]["__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParser11CreateBeginENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEE=Module["__ZN12_GLOBAL__N_16parser10PathParser11CreateBeginENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEE"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParser11CreateBeginENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEE"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParser9CreateEndENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEE=Module["__ZN12_GLOBAL__N_16parser10PathParser9CreateEndENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEE"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParser9CreateEndENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEE"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParser9decrementEv=Module["__ZN12_GLOBAL__N_16parser10PathParser9decrementEv"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParser9decrementEv"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParser9incrementEv=Module["__ZN12_GLOBAL__N_16parser10PathParser9incrementEv"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParser9incrementEv"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParser9makeStateENS1_11ParserStateE=Module["__ZN12_GLOBAL__N_16parser10PathParser9makeStateENS1_11ParserStateE"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParser9makeStateENS1_11ParserStateE"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParser9makeStateENS1_11ParserStateEPKcS4_=Module["__ZN12_GLOBAL__N_16parser10PathParser9makeStateENS1_11ParserStateEPKcS4_"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParser9makeStateENS1_11ParserStateEPKcS4_"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParserC2ENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEENS1_11ParserStateE=Module["__ZN12_GLOBAL__N_16parser10PathParserC2ENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEENS1_11ParserStateE"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParserC2ENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEENS1_11ParserStateE"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParserC2ENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEES6_h=Module["__ZN12_GLOBAL__N_16parser10PathParserC2ENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEES6_h"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParserC2ENSt3__217basic_string_viewIcNS2_11char_traitsIcEEEES6_h"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParsermmEv=Module["__ZN12_GLOBAL__N_16parser10PathParsermmEv"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParsermmEv"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10PathParserppEv=Module["__ZN12_GLOBAL__N_16parser10PathParserppEv"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10PathParserppEv"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser10createViewEPKcS2_=Module["__ZN12_GLOBAL__N_16parser10createViewEPKcS2_"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser10createViewEPKcS2_"].apply(null,arguments)};var __ZN12_GLOBAL__N_16parser17separate_filenameERKNSt3__217basic_string_viewIcNS1_11char_traitsIcEEEE=Module["__ZN12_GLOBAL__N_16parser17separate_filenameERKNSt3__217basic_string_viewIcNS1_11char_traitsIcEEEE"]=function(){return Module["asm"]["__ZN12_GLOBAL__N_16parser17separate_filenameERKNSt3__217basic_string_viewIcNS1_11char_traitsIcEEEE"].apply(null,arguments)};var __ZNK10__cxxabiv112_GLOBAL__N_111string_pair4sizeEv=Module["__ZNK10__cxxabiv112_GLOBAL__N_111string_pair4sizeEv"]=function(){return Module["asm"]["__ZNK10__cxxabiv112_GLOBAL__N_111string_pair4sizeEv"].apply(null,arguments)};var __ZNK10__cxxabiv116__enum_type_info9can_catchEPKNS_16__shim_type_infoERPv=Module["__ZNK10__cxxabiv116__enum_type_info9can_catchEPKNS_16__shim_type_infoERPv"]=function(){return Module["asm"]["__ZNK10__cxxabiv116__enum_type_info9can_catchEPKNS_16__shim_type_infoERPv"].apply(null,arguments)};var __ZNK10__cxxabiv116__shim_type_info5noop1Ev=Module["__ZNK10__cxxabiv116__shim_type_info5noop1Ev"]=function(){return Module["asm"]["__ZNK10__cxxabiv116__shim_type_info5noop1Ev"].apply(null,arguments)};var __ZNK10__cxxabiv116__shim_type_info5noop2Ev=Module["__ZNK10__cxxabiv116__shim_type_info5noop2Ev"]=function(){return Module["asm"]["__ZNK10__cxxabiv116__shim_type_info5noop2Ev"].apply(null,arguments)};var __ZNK10__cxxabiv117__array_type_info9can_catchEPKNS_16__shim_type_infoERPv=Module["__ZNK10__cxxabiv117__array_type_info9can_catchEPKNS_16__shim_type_infoERPv"]=function(){return Module["asm"]["__ZNK10__cxxabiv117__array_type_info9can_catchEPKNS_16__shim_type_infoERPv"].apply(null,arguments)};var __ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib=Module["__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib"]=function(){return Module["asm"]["__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib"].apply(null,arguments)};var __ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib=Module["__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib"]=function(){return Module["asm"]["__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib"].apply(null,arguments)};var __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi=Module["__ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi"]=function(){return Module["asm"]["__ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi"].apply(null,arguments)};var __ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi=Module["__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi"]=function(){return Module["asm"]["__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi"].apply(null,arguments)};var __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i=Module["__ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i"]=function(){return Module["asm"]["__ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i"].apply(null,arguments)};var __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi=Module["__ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi"]=function(){return Module["asm"]["__ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi"].apply(null,arguments)};var __ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv=Module["__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv"]=function(){return Module["asm"]["__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv"].apply(null,arguments)};var __ZNK10__cxxabiv117__pbase_type_info9can_catchEPKNS_16__shim_type_infoERPv=Module["__ZNK10__cxxabiv117__pbase_type_info9can_catchEPKNS_16__shim_type_infoERPv"]=function(){return Module["asm"]["__ZNK10__cxxabiv117__pbase_type_info9can_catchEPKNS_16__shim_type_infoERPv"].apply(null,arguments)};var __ZNK10__cxxabiv119__pointer_type_info9can_catchEPKNS_16__shim_type_infoERPv=Module["__ZNK10__cxxabiv119__pointer_type_info9can_catchEPKNS_16__shim_type_infoERPv"]=function(){return Module["asm"]["__ZNK10__cxxabiv119__pointer_type_info9can_catchEPKNS_16__shim_type_infoERPv"].apply(null,arguments)};var __ZNK10__cxxabiv120__function_type_info9can_catchEPKNS_16__shim_type_infoERPv=Module["__ZNK10__cxxabiv120__function_type_info9can_catchEPKNS_16__shim_type_infoERPv"]=function(){return Module["asm"]["__ZNK10__cxxabiv120__function_type_info9can_catchEPKNS_16__shim_type_infoERPv"].apply(null,arguments)};var __ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib=Module["__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib"]=function(){return Module["asm"]["__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib"].apply(null,arguments)};var __ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib=Module["__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib"]=function(){return Module["asm"]["__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib"].apply(null,arguments)};var __ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi=Module["__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi"]=function(){return Module["asm"]["__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi"].apply(null,arguments)};var __ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib=Module["__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib"]=function(){return Module["asm"]["__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib"].apply(null,arguments)};var __ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib=Module["__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib"]=function(){return Module["asm"]["__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib"].apply(null,arguments)};var __ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi=Module["__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi"]=function(){return Module["asm"]["__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi"].apply(null,arguments)};var __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib=Module["__ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib"]=function(){return Module["asm"]["__ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib"].apply(null,arguments)};var __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib=Module["__ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib"]=function(){return Module["asm"]["__ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib"].apply(null,arguments)};var __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi=Module["__ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi"]=function(){return Module["asm"]["__ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi"].apply(null,arguments)};var __ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv=Module["__ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv"]=function(){return Module["asm"]["__ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv"].apply(null,arguments)};var __ZNK12_GLOBAL__N_16parser10PathParser11consumeNameEPKcS3_=Module["__ZNK12_GLOBAL__N_16parser10PathParser11consumeNameEPKcS3_"]=function(){return Module["asm"]["__ZNK12_GLOBAL__N_16parser10PathParser11consumeNameEPKcS3_"].apply(null,arguments)};var __ZNK12_GLOBAL__N_16parser10PathParser12getAfterBackEv=Module["__ZNK12_GLOBAL__N_16parser10PathParser12getAfterBackEv"]=function(){return Module["asm"]["__ZNK12_GLOBAL__N_16parser10PathParser12getAfterBackEv"].apply(null,arguments)};var __ZNK12_GLOBAL__N_16parser10PathParser14getBeforeFrontEv=Module["__ZNK12_GLOBAL__N_16parser10PathParser14getBeforeFrontEv"]=function(){return Module["asm"]["__ZNK12_GLOBAL__N_16parser10PathParser14getBeforeFrontEv"].apply(null,arguments)};var __ZNK12_GLOBAL__N_16parser10PathParser16consumeSeparatorEPKcS3_=Module["__ZNK12_GLOBAL__N_16parser10PathParser16consumeSeparatorEPKcS3_"]=function(){return Module["asm"]["__ZNK12_GLOBAL__N_16parser10PathParser16consumeSeparatorEPKcS3_"].apply(null,arguments)};var __ZNK12_GLOBAL__N_16parser10PathParser20getNextTokenStartPosEv=Module["__ZNK12_GLOBAL__N_16parser10PathParser20getNextTokenStartPosEv"]=function(){return Module["asm"]["__ZNK12_GLOBAL__N_16parser10PathParser20getNextTokenStartPosEv"].apply(null,arguments)};var __ZNK12_GLOBAL__N_16parser10PathParser23getCurrentTokenStartPosEv=Module["__ZNK12_GLOBAL__N_16parser10PathParser23getCurrentTokenStartPosEv"]=function(){return Module["asm"]["__ZNK12_GLOBAL__N_16parser10PathParser23getCurrentTokenStartPosEv"].apply(null,arguments)};var __ZNK12_GLOBAL__N_16parser10PathParser4peekEv=Module["__ZNK12_GLOBAL__N_16parser10PathParser4peekEv"]=function(){return Module["asm"]["__ZNK12_GLOBAL__N_16parser10PathParser4peekEv"].apply(null,arguments)};var __ZNK12_GLOBAL__N_16parser10PathParsercvbEv=Module["__ZNK12_GLOBAL__N_16parser10PathParsercvbEv"]=function(){return Module["asm"]["__ZNK12_GLOBAL__N_16parser10PathParsercvbEv"].apply(null,arguments)};var __ZNK12_GLOBAL__N_16parser10PathParserdeEv=Module["__ZNK12_GLOBAL__N_16parser10PathParserdeEv"]=function(){return Module["asm"]["__ZNK12_GLOBAL__N_16parser10PathParserdeEv"].apply(null,arguments)};var __ZNKSt10bad_typeid4whatEv=Module["__ZNKSt10bad_typeid4whatEv"]=function(){return Module["asm"]["__ZNKSt10bad_typeid4whatEv"].apply(null,arguments)};var __ZNKSt11logic_error4whatEv=Module["__ZNKSt11logic_error4whatEv"]=function(){return Module["asm"]["__ZNKSt11logic_error4whatEv"].apply(null,arguments)};var __ZNKSt12bad_any_cast4whatEv=Module["__ZNKSt12bad_any_cast4whatEv"]=function(){return Module["asm"]["__ZNKSt12bad_any_cast4whatEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v112__dir_stream4goodEv=Module["__ZNKSt12experimental10filesystem2v112__dir_stream4goodEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v112__dir_stream4goodEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v118directory_iterator13__dereferenceEv=Module["__ZNKSt12experimental10filesystem2v118directory_iterator13__dereferenceEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v118directory_iterator13__dereferenceEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v118directory_iteratordeEv=Module["__ZNKSt12experimental10filesystem2v118directory_iteratordeEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v118directory_iteratordeEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v118directory_iteratorptEv=Module["__ZNKSt12experimental10filesystem2v118directory_iteratorptEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v118directory_iteratorptEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v128recursive_directory_iterator13__dereferenceEv=Module["__ZNKSt12experimental10filesystem2v128recursive_directory_iterator13__dereferenceEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v128recursive_directory_iterator13__dereferenceEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v128recursive_directory_iterator5depthEv=Module["__ZNKSt12experimental10filesystem2v128recursive_directory_iterator5depthEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v128recursive_directory_iterator5depthEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v128recursive_directory_iterator7optionsEv=Module["__ZNKSt12experimental10filesystem2v128recursive_directory_iterator7optionsEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v128recursive_directory_iterator7optionsEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path10__filenameEv=Module["__ZNKSt12experimental10filesystem2v14path10__filenameEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path10__filenameEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path11__extensionEv=Module["__ZNKSt12experimental10filesystem2v14path11__extensionEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path11__extensionEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path11__root_nameEv=Module["__ZNKSt12experimental10filesystem2v14path11__root_nameEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path11__root_nameEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path13__parent_pathEv=Module["__ZNKSt12experimental10filesystem2v14path13__parent_pathEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path13__parent_pathEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path15__relative_pathEv=Module["__ZNKSt12experimental10filesystem2v14path15__relative_pathEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path15__relative_pathEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path15__root_path_rawEv=Module["__ZNKSt12experimental10filesystem2v14path15__root_path_rawEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path15__root_path_rawEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path16__root_directoryEv=Module["__ZNKSt12experimental10filesystem2v14path16__root_directoryEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path16__root_directoryEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path3endEv=Module["__ZNKSt12experimental10filesystem2v14path3endEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path3endEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path5beginEv=Module["__ZNKSt12experimental10filesystem2v14path5beginEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path5beginEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path6__stemEv=Module["__ZNKSt12experimental10filesystem2v14path6__stemEv"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path6__stemEv"].apply(null,arguments)};var __ZNKSt12experimental10filesystem2v14path9__compareENSt3__217basic_string_viewIcNS3_11char_traitsIcEEEE=Module["__ZNKSt12experimental10filesystem2v14path9__compareENSt3__217basic_string_viewIcNS3_11char_traitsIcEEEE"]=function(){return Module["asm"]["__ZNKSt12experimental10filesystem2v14path9__compareENSt3__217basic_string_viewIcNS3_11char_traitsIcEEEE"].apply(null,arguments)};var __ZNKSt12experimental15fundamentals_v112bad_any_cast4whatEv=Module["__ZNKSt12experimental15fundamentals_v112bad_any_cast4whatEv"]=function(){return Module["asm"]["__ZNKSt12experimental15fundamentals_v112bad_any_cast4whatEv"].apply(null,arguments)};var __ZNKSt12experimental15fundamentals_v13pmr26__null_memory_resource_imp11do_is_equalERKNS1_15memory_resourceE=Module["__ZNKSt12experimental15fundamentals_v13pmr26__null_memory_resource_imp11do_is_equalERKNS1_15memory_resourceE"]=function(){return Module["asm"]["__ZNKSt12experimental15fundamentals_v13pmr26__null_memory_resource_imp11do_is_equalERKNS1_15memory_resourceE"].apply(null,arguments)};var __ZNKSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_imp11do_is_equalERKNS1_15memory_resourceE=Module["__ZNKSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_imp11do_is_equalERKNS1_15memory_resourceE"]=function(){return Module["asm"]["__ZNKSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_imp11do_is_equalERKNS1_15memory_resourceE"].apply(null,arguments)};var __ZNKSt13bad_exception4whatEv=Module["__ZNKSt13bad_exception4whatEv"]=function(){return Module["asm"]["__ZNKSt13bad_exception4whatEv"].apply(null,arguments)};var __ZNKSt13runtime_error4whatEv=Module["__ZNKSt13runtime_error4whatEv"]=function(){return Module["asm"]["__ZNKSt13runtime_error4whatEv"].apply(null,arguments)};var __ZNKSt16bad_array_length4whatEv=Module["__ZNKSt16bad_array_length4whatEv"]=function(){return Module["asm"]["__ZNKSt16bad_array_length4whatEv"].apply(null,arguments)};var __ZNKSt16nested_exception14rethrow_nestedEv=Module["__ZNKSt16nested_exception14rethrow_nestedEv"]=function(){return Module["asm"]["__ZNKSt16nested_exception14rethrow_nestedEv"].apply(null,arguments)};var __ZNKSt18bad_variant_access4whatEv=Module["__ZNKSt18bad_variant_access4whatEv"]=function(){return Module["asm"]["__ZNKSt18bad_variant_access4whatEv"].apply(null,arguments)};var __ZNKSt19bad_optional_access4whatEv=Module["__ZNKSt19bad_optional_access4whatEv"]=function(){return Module["asm"]["__ZNKSt19bad_optional_access4whatEv"].apply(null,arguments)};var __ZNKSt20bad_array_new_length4whatEv=Module["__ZNKSt20bad_array_new_length4whatEv"]=function(){return Module["asm"]["__ZNKSt20bad_array_new_length4whatEv"].apply(null,arguments)};var __ZNKSt3__210__time_put8__do_putEPcRS1_PK2tmcc=Module["__ZNKSt3__210__time_put8__do_putEPcRS1_PK2tmcc"]=function(){return Module["asm"]["__ZNKSt3__210__time_put8__do_putEPcRS1_PK2tmcc"].apply(null,arguments)};var __ZNKSt3__210__time_put8__do_putEPwRS1_PK2tmcc=Module["__ZNKSt3__210__time_put8__do_putEPwRS1_PK2tmcc"]=function(){return Module["asm"]["__ZNKSt3__210__time_put8__do_putEPwRS1_PK2tmcc"].apply(null,arguments)};var __ZNKSt3__210error_code7messageEv=Module["__ZNKSt3__210error_code7messageEv"]=function(){return Module["asm"]["__ZNKSt3__210error_code7messageEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE10neg_formatEv=Module["__ZNKSt3__210moneypunctIcLb0EE10neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE10neg_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE10pos_formatEv=Module["__ZNKSt3__210moneypunctIcLb0EE10pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE10pos_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE11curr_symbolEv=Module["__ZNKSt3__210moneypunctIcLb0EE11curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE11curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE11do_groupingEv=Module["__ZNKSt3__210moneypunctIcLb0EE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE11frac_digitsEv=Module["__ZNKSt3__210moneypunctIcLb0EE11frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE11frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE13decimal_pointEv=Module["__ZNKSt3__210moneypunctIcLb0EE13decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE13decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE13do_neg_formatEv=Module["__ZNKSt3__210moneypunctIcLb0EE13do_neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE13do_neg_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE13do_pos_formatEv=Module["__ZNKSt3__210moneypunctIcLb0EE13do_pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE13do_pos_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE13negative_signEv=Module["__ZNKSt3__210moneypunctIcLb0EE13negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE13negative_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE13positive_signEv=Module["__ZNKSt3__210moneypunctIcLb0EE13positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE13positive_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE13thousands_sepEv=Module["__ZNKSt3__210moneypunctIcLb0EE13thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE13thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE14do_curr_symbolEv=Module["__ZNKSt3__210moneypunctIcLb0EE14do_curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE14do_curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE14do_frac_digitsEv=Module["__ZNKSt3__210moneypunctIcLb0EE14do_frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE14do_frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE16do_decimal_pointEv=Module["__ZNKSt3__210moneypunctIcLb0EE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE16do_negative_signEv=Module["__ZNKSt3__210moneypunctIcLb0EE16do_negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE16do_negative_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE16do_positive_signEv=Module["__ZNKSt3__210moneypunctIcLb0EE16do_positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE16do_positive_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE16do_thousands_sepEv=Module["__ZNKSt3__210moneypunctIcLb0EE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb0EE8groupingEv=Module["__ZNKSt3__210moneypunctIcLb0EE8groupingEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb0EE8groupingEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE10neg_formatEv=Module["__ZNKSt3__210moneypunctIcLb1EE10neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE10neg_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE10pos_formatEv=Module["__ZNKSt3__210moneypunctIcLb1EE10pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE10pos_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE11curr_symbolEv=Module["__ZNKSt3__210moneypunctIcLb1EE11curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE11curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE11do_groupingEv=Module["__ZNKSt3__210moneypunctIcLb1EE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE11frac_digitsEv=Module["__ZNKSt3__210moneypunctIcLb1EE11frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE11frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE13decimal_pointEv=Module["__ZNKSt3__210moneypunctIcLb1EE13decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE13decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE13do_neg_formatEv=Module["__ZNKSt3__210moneypunctIcLb1EE13do_neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE13do_neg_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE13do_pos_formatEv=Module["__ZNKSt3__210moneypunctIcLb1EE13do_pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE13do_pos_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE13negative_signEv=Module["__ZNKSt3__210moneypunctIcLb1EE13negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE13negative_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE13positive_signEv=Module["__ZNKSt3__210moneypunctIcLb1EE13positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE13positive_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE13thousands_sepEv=Module["__ZNKSt3__210moneypunctIcLb1EE13thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE13thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE14do_curr_symbolEv=Module["__ZNKSt3__210moneypunctIcLb1EE14do_curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE14do_curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE14do_frac_digitsEv=Module["__ZNKSt3__210moneypunctIcLb1EE14do_frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE14do_frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE16do_decimal_pointEv=Module["__ZNKSt3__210moneypunctIcLb1EE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE16do_negative_signEv=Module["__ZNKSt3__210moneypunctIcLb1EE16do_negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE16do_negative_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE16do_positive_signEv=Module["__ZNKSt3__210moneypunctIcLb1EE16do_positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE16do_positive_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE16do_thousands_sepEv=Module["__ZNKSt3__210moneypunctIcLb1EE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIcLb1EE8groupingEv=Module["__ZNKSt3__210moneypunctIcLb1EE8groupingEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIcLb1EE8groupingEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE10neg_formatEv=Module["__ZNKSt3__210moneypunctIwLb0EE10neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE10neg_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE10pos_formatEv=Module["__ZNKSt3__210moneypunctIwLb0EE10pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE10pos_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE11curr_symbolEv=Module["__ZNKSt3__210moneypunctIwLb0EE11curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE11curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE11do_groupingEv=Module["__ZNKSt3__210moneypunctIwLb0EE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE11frac_digitsEv=Module["__ZNKSt3__210moneypunctIwLb0EE11frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE11frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE13decimal_pointEv=Module["__ZNKSt3__210moneypunctIwLb0EE13decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE13decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE13do_neg_formatEv=Module["__ZNKSt3__210moneypunctIwLb0EE13do_neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE13do_neg_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE13do_pos_formatEv=Module["__ZNKSt3__210moneypunctIwLb0EE13do_pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE13do_pos_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE13negative_signEv=Module["__ZNKSt3__210moneypunctIwLb0EE13negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE13negative_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE13positive_signEv=Module["__ZNKSt3__210moneypunctIwLb0EE13positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE13positive_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE13thousands_sepEv=Module["__ZNKSt3__210moneypunctIwLb0EE13thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE13thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE14do_curr_symbolEv=Module["__ZNKSt3__210moneypunctIwLb0EE14do_curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE14do_curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE14do_frac_digitsEv=Module["__ZNKSt3__210moneypunctIwLb0EE14do_frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE14do_frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE16do_decimal_pointEv=Module["__ZNKSt3__210moneypunctIwLb0EE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE16do_negative_signEv=Module["__ZNKSt3__210moneypunctIwLb0EE16do_negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE16do_negative_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE16do_positive_signEv=Module["__ZNKSt3__210moneypunctIwLb0EE16do_positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE16do_positive_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE16do_thousands_sepEv=Module["__ZNKSt3__210moneypunctIwLb0EE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb0EE8groupingEv=Module["__ZNKSt3__210moneypunctIwLb0EE8groupingEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb0EE8groupingEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE10neg_formatEv=Module["__ZNKSt3__210moneypunctIwLb1EE10neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE10neg_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE10pos_formatEv=Module["__ZNKSt3__210moneypunctIwLb1EE10pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE10pos_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE11curr_symbolEv=Module["__ZNKSt3__210moneypunctIwLb1EE11curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE11curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE11do_groupingEv=Module["__ZNKSt3__210moneypunctIwLb1EE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE11frac_digitsEv=Module["__ZNKSt3__210moneypunctIwLb1EE11frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE11frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE13decimal_pointEv=Module["__ZNKSt3__210moneypunctIwLb1EE13decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE13decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE13do_neg_formatEv=Module["__ZNKSt3__210moneypunctIwLb1EE13do_neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE13do_neg_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE13do_pos_formatEv=Module["__ZNKSt3__210moneypunctIwLb1EE13do_pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE13do_pos_formatEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE13negative_signEv=Module["__ZNKSt3__210moneypunctIwLb1EE13negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE13negative_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE13positive_signEv=Module["__ZNKSt3__210moneypunctIwLb1EE13positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE13positive_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE13thousands_sepEv=Module["__ZNKSt3__210moneypunctIwLb1EE13thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE13thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE14do_curr_symbolEv=Module["__ZNKSt3__210moneypunctIwLb1EE14do_curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE14do_curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE14do_frac_digitsEv=Module["__ZNKSt3__210moneypunctIwLb1EE14do_frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE14do_frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE16do_decimal_pointEv=Module["__ZNKSt3__210moneypunctIwLb1EE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE16do_negative_signEv=Module["__ZNKSt3__210moneypunctIwLb1EE16do_negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE16do_negative_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE16do_positive_signEv=Module["__ZNKSt3__210moneypunctIwLb1EE16do_positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE16do_positive_signEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE16do_thousands_sepEv=Module["__ZNKSt3__210moneypunctIwLb1EE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__210moneypunctIwLb1EE8groupingEv=Module["__ZNKSt3__210moneypunctIwLb1EE8groupingEv"]=function(){return Module["asm"]["__ZNKSt3__210moneypunctIwLb1EE8groupingEv"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db15__decrementableEPKv=Module["__ZNKSt3__211__libcpp_db15__decrementableEPKv"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db15__decrementableEPKv"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db15__find_c_from_iEPv=Module["__ZNKSt3__211__libcpp_db15__find_c_from_iEPv"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db15__find_c_from_iEPv"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db15__find_iteratorEPKv=Module["__ZNKSt3__211__libcpp_db15__find_iteratorEPKv"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db15__find_iteratorEPKv"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db15__subscriptableEPKvl=Module["__ZNKSt3__211__libcpp_db15__subscriptableEPKvl"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db15__subscriptableEPKvl"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db17__dereferenceableEPKv=Module["__ZNKSt3__211__libcpp_db17__dereferenceableEPKv"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db17__dereferenceableEPKv"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db17__find_c_and_lockEPv=Module["__ZNKSt3__211__libcpp_db17__find_c_and_lockEPv"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db17__find_c_and_lockEPv"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db22__less_than_comparableEPKvS2_=Module["__ZNKSt3__211__libcpp_db22__less_than_comparableEPKvS2_"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db22__less_than_comparableEPKvS2_"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db6unlockEv=Module["__ZNKSt3__211__libcpp_db6unlockEv"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db6unlockEv"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db8__find_cEPv=Module["__ZNKSt3__211__libcpp_db8__find_cEPv"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db8__find_cEPv"].apply(null,arguments)};var __ZNKSt3__211__libcpp_db9__addableEPKvl=Module["__ZNKSt3__211__libcpp_db9__addableEPKvl"]=function(){return Module["asm"]["__ZNKSt3__211__libcpp_db9__addableEPKvl"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_111__fake_bindclEv=Module["__ZNKSt3__212_GLOBAL__N_111__fake_bindclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_111__fake_bindclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEdLb1EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEdLb1EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEdLb1EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEeLb1EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEeLb1EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEeLb1EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEfLb1EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEfLb1EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEfLb1EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEiLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEiLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEiLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEjLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEjLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEjLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEElLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEElLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEElLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEmLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEExLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEExLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEExLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEyLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEyLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEyLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEdLb1EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEdLb1EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEdLb1EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEeLb1EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEeLb1EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEeLb1EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEfLb1EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEfLb1EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEfLb1EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEiLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEiLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEiLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEjLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEjLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEjLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEElLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEElLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEElLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEmLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEmLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEmLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEExLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEExLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEExLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEyLb0EEclEv=Module["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEyLb0EEclEv"]=function(){return Module["asm"]["__ZNKSt3__212_GLOBAL__N_114initial_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEyLb0EEclEv"].apply(null,arguments)};var __ZNKSt3__212__do_message7messageEi=Module["__ZNKSt3__212__do_message7messageEi"]=function(){return Module["asm"]["__ZNKSt3__212__do_message7messageEi"].apply(null,arguments)};var __ZNKSt3__212bad_weak_ptr4whatEv=Module["__ZNKSt3__212bad_weak_ptr4whatEv"]=function(){return Module["asm"]["__ZNKSt3__212bad_weak_ptr4whatEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7compareEmmPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7compareEmmPKcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7compareEmmPKcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12__invariantsEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12__invariantsEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12__invariantsEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofENS_17basic_string_viewIcS2_EEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofENS_17basic_string_viewIcS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofENS_17basic_string_viewIcS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofERKS5_m=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofENS_17basic_string_viewIcS2_EEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofENS_17basic_string_viewIcS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofENS_17basic_string_viewIcS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofERKS5_m=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13get_allocatorEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13get_allocatorEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13get_allocatorEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofENS_17basic_string_viewIcS2_EEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofENS_17basic_string_viewIcS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofENS_17basic_string_viewIcS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofERKS5_m=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofENS_17basic_string_viewIcS2_EEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofENS_17basic_string_viewIcS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofENS_17basic_string_viewIcS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofERKS5_m=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE3endEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE3endEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE3endEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4backEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4backEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4backEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4cendEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4cendEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4cendEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findENS_17basic_string_viewIcS2_EEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findENS_17basic_string_viewIcS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findENS_17basic_string_viewIcS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findERKS5_m=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4rendEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4rendEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4rendEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5crendEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5crendEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5crendEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5emptyEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5emptyEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5emptyEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5frontEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5frontEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5frontEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindENS_17basic_string_viewIcS2_EEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindENS_17basic_string_viewIcS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindENS_17basic_string_viewIcS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindERKS5_m=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6cbeginEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6cbeginEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6cbeginEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6lengthEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6lengthEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6lengthEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6rbeginEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6rbeginEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6rbeginEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6substrEmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6substrEmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6substrEmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareENS_17basic_string_viewIcS2_EE=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareENS_17basic_string_viewIcS2_EE"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareENS_17basic_string_viewIcS2_EE"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEPKc=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEPKc"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEPKc"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareERKS5_=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareERKS5_"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareERKS5_"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmNS_17basic_string_viewIcS2_EE=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmNS_17basic_string_viewIcS2_EE"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmNS_17basic_string_viewIcS2_EE"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKc=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKc"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKc"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_mm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_mm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_mm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7crbeginEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7crbeginEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7crbeginEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8max_sizeEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEcvNS_17basic_string_viewIcS2_EEEv=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEcvNS_17basic_string_viewIcS2_EEEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEcvNS_17basic_string_viewIcS2_EEEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12__invariantsEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12__invariantsEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12__invariantsEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofENS_17basic_string_viewIwS2_EEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofENS_17basic_string_viewIwS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofENS_17basic_string_viewIwS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofERKS5_m=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofENS_17basic_string_viewIwS2_EEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofENS_17basic_string_viewIwS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofENS_17basic_string_viewIwS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofERKS5_m=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13get_allocatorEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13get_allocatorEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13get_allocatorEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__get_long_capEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__get_long_capEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__get_long_capEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__get_long_sizeEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__get_long_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__get_long_sizeEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__get_short_sizeEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__get_short_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__get_short_sizeEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofENS_17basic_string_viewIwS2_EEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofENS_17basic_string_viewIwS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofENS_17basic_string_viewIwS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofERKS5_m=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofENS_17basic_string_viewIwS2_EEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofENS_17basic_string_viewIwS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofENS_17basic_string_viewIwS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofERKS5_m=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE3endEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE3endEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE3endEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4backEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4backEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4backEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4cendEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4cendEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4cendEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4copyEPwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4copyEPwmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4copyEPwmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findENS_17basic_string_viewIwS2_EEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findENS_17basic_string_viewIwS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findENS_17basic_string_viewIwS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findERKS5_m=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4rendEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4rendEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4rendEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4sizeEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4sizeEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4sizeEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5c_strEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5c_strEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5c_strEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5crendEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5crendEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5crendEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5emptyEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5emptyEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5emptyEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5frontEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5frontEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5frontEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindENS_17basic_string_viewIwS2_EEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindENS_17basic_string_viewIwS2_EEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindENS_17basic_string_viewIwS2_EEm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindERKS5_m=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindERKS5_m"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindERKS5_m"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6cbeginEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6cbeginEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6cbeginEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6lengthEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6lengthEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6lengthEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6rbeginEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6rbeginEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6rbeginEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6substrEmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6substrEmm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6substrEmm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareENS_17basic_string_viewIwS2_EE=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareENS_17basic_string_viewIwS2_EE"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareENS_17basic_string_viewIwS2_EE"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEPKw=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEPKw"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEPKw"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareERKS5_=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareERKS5_"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareERKS5_"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmNS_17basic_string_viewIwS2_EE=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmNS_17basic_string_viewIwS2_EE"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmNS_17basic_string_viewIwS2_EE"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKw=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKw"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKw"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKwm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKwm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_mm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_mm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_mm"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7crbeginEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7crbeginEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7crbeginEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8capacityEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8capacityEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8capacityEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8max_sizeEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__is_longEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__is_longEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__is_longEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEcvNS_17basic_string_viewIwS2_EEEv=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEcvNS_17basic_string_viewIwS2_EEEv"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEcvNS_17basic_string_viewIwS2_EEEv"].apply(null,arguments)};var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixEm"]=function(){return Module["asm"]["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixEm"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIcE10do_tolowerEPcPKc=Module["__ZNKSt3__212ctype_bynameIcE10do_tolowerEPcPKc"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIcE10do_tolowerEPcPKc"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIcE10do_tolowerEc=Module["__ZNKSt3__212ctype_bynameIcE10do_tolowerEc"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIcE10do_tolowerEc"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIcE10do_toupperEPcPKc=Module["__ZNKSt3__212ctype_bynameIcE10do_toupperEPcPKc"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIcE10do_toupperEPcPKc"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIcE10do_toupperEc=Module["__ZNKSt3__212ctype_bynameIcE10do_toupperEc"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIcE10do_toupperEc"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE10do_scan_isEtPKwS3_=Module["__ZNKSt3__212ctype_bynameIwE10do_scan_isEtPKwS3_"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE10do_scan_isEtPKwS3_"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE10do_tolowerEPwPKw=Module["__ZNKSt3__212ctype_bynameIwE10do_tolowerEPwPKw"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE10do_tolowerEPwPKw"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE10do_tolowerEw=Module["__ZNKSt3__212ctype_bynameIwE10do_tolowerEw"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE10do_tolowerEw"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE10do_toupperEPwPKw=Module["__ZNKSt3__212ctype_bynameIwE10do_toupperEPwPKw"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE10do_toupperEPwPKw"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE10do_toupperEw=Module["__ZNKSt3__212ctype_bynameIwE10do_toupperEw"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE10do_toupperEw"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE11do_scan_notEtPKwS3_=Module["__ZNKSt3__212ctype_bynameIwE11do_scan_notEtPKwS3_"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE11do_scan_notEtPKwS3_"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE5do_isEPKwS3_Pt=Module["__ZNKSt3__212ctype_bynameIwE5do_isEPKwS3_Pt"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE5do_isEPKwS3_Pt"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE5do_isEtw=Module["__ZNKSt3__212ctype_bynameIwE5do_isEtw"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE5do_isEtw"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE8do_widenEPKcS3_Pw=Module["__ZNKSt3__212ctype_bynameIwE8do_widenEPKcS3_Pw"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE8do_widenEPKcS3_Pw"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE8do_widenEc=Module["__ZNKSt3__212ctype_bynameIwE8do_widenEc"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE8do_widenEc"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE9do_narrowEPKwS3_cPc=Module["__ZNKSt3__212ctype_bynameIwE9do_narrowEPKwS3_cPc"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE9do_narrowEPKwS3_cPc"].apply(null,arguments)};var __ZNKSt3__212ctype_bynameIwE9do_narrowEwc=Module["__ZNKSt3__212ctype_bynameIwE9do_narrowEwc"]=function(){return Module["asm"]["__ZNKSt3__212ctype_bynameIwE9do_narrowEwc"].apply(null,arguments)};var __ZNKSt3__212strstreambuf6pcountEv=Module["__ZNKSt3__212strstreambuf6pcountEv"]=function(){return Module["asm"]["__ZNKSt3__212strstreambuf6pcountEv"].apply(null,arguments)};var __ZNKSt3__213basic_istreamIcNS_11char_traitsIcEEE6gcountEv=Module["__ZNKSt3__213basic_istreamIcNS_11char_traitsIcEEE6gcountEv"]=function(){return Module["asm"]["__ZNKSt3__213basic_istreamIcNS_11char_traitsIcEEE6gcountEv"].apply(null,arguments)};var __ZNKSt3__213basic_istreamIcNS_11char_traitsIcEEE6sentrycvbEv=Module["__ZNKSt3__213basic_istreamIcNS_11char_traitsIcEEE6sentrycvbEv"]=function(){return Module["asm"]["__ZNKSt3__213basic_istreamIcNS_11char_traitsIcEEE6sentrycvbEv"].apply(null,arguments)};var __ZNKSt3__213basic_istreamIwNS_11char_traitsIwEEE6gcountEv=Module["__ZNKSt3__213basic_istreamIwNS_11char_traitsIwEEE6gcountEv"]=function(){return Module["asm"]["__ZNKSt3__213basic_istreamIwNS_11char_traitsIwEEE6gcountEv"].apply(null,arguments)};var __ZNKSt3__213basic_istreamIwNS_11char_traitsIwEEE6sentrycvbEv=Module["__ZNKSt3__213basic_istreamIwNS_11char_traitsIwEEE6sentrycvbEv"]=function(){return Module["asm"]["__ZNKSt3__213basic_istreamIwNS_11char_traitsIwEEE6sentrycvbEv"].apply(null,arguments)};var __ZNKSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentrycvbEv=Module["__ZNKSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentrycvbEv"]=function(){return Module["asm"]["__ZNKSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentrycvbEv"].apply(null,arguments)};var __ZNKSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentrycvbEv=Module["__ZNKSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentrycvbEv"]=function(){return Module["asm"]["__ZNKSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentrycvbEv"].apply(null,arguments)};var __ZNKSt3__213random_device7entropyEv=Module["__ZNKSt3__213random_device7entropyEv"]=function(){return Module["asm"]["__ZNKSt3__213random_device7entropyEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDiE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__214__codecvt_utf8IDiE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDiE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDiE11do_encodingEv=Module["__ZNKSt3__214__codecvt_utf8IDiE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDiE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDiE13do_max_lengthEv=Module["__ZNKSt3__214__codecvt_utf8IDiE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDiE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDiE16do_always_noconvEv=Module["__ZNKSt3__214__codecvt_utf8IDiE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDiE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDiE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_=Module["__ZNKSt3__214__codecvt_utf8IDiE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDiE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDiE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_=Module["__ZNKSt3__214__codecvt_utf8IDiE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDiE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDiE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__214__codecvt_utf8IDiE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDiE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDsE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__214__codecvt_utf8IDsE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDsE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDsE11do_encodingEv=Module["__ZNKSt3__214__codecvt_utf8IDsE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDsE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDsE13do_max_lengthEv=Module["__ZNKSt3__214__codecvt_utf8IDsE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDsE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDsE16do_always_noconvEv=Module["__ZNKSt3__214__codecvt_utf8IDsE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDsE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDsE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_=Module["__ZNKSt3__214__codecvt_utf8IDsE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDsE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDsE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_=Module["__ZNKSt3__214__codecvt_utf8IDsE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDsE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IDsE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__214__codecvt_utf8IDsE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IDsE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IwE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__214__codecvt_utf8IwE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IwE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IwE11do_encodingEv=Module["__ZNKSt3__214__codecvt_utf8IwE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IwE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IwE13do_max_lengthEv=Module["__ZNKSt3__214__codecvt_utf8IwE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IwE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IwE16do_always_noconvEv=Module["__ZNKSt3__214__codecvt_utf8IwE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IwE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IwE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_=Module["__ZNKSt3__214__codecvt_utf8IwE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IwE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IwE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_=Module["__ZNKSt3__214__codecvt_utf8IwE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IwE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__214__codecvt_utf8IwE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__214__codecvt_utf8IwE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__214__codecvt_utf8IwE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__214collate_bynameIcE10do_compareEPKcS3_S3_S3_=Module["__ZNKSt3__214collate_bynameIcE10do_compareEPKcS3_S3_S3_"]=function(){return Module["asm"]["__ZNKSt3__214collate_bynameIcE10do_compareEPKcS3_S3_S3_"].apply(null,arguments)};var __ZNKSt3__214collate_bynameIcE12do_transformEPKcS3_=Module["__ZNKSt3__214collate_bynameIcE12do_transformEPKcS3_"]=function(){return Module["asm"]["__ZNKSt3__214collate_bynameIcE12do_transformEPKcS3_"].apply(null,arguments)};var __ZNKSt3__214collate_bynameIwE10do_compareEPKwS3_S3_S3_=Module["__ZNKSt3__214collate_bynameIwE10do_compareEPKwS3_S3_S3_"]=function(){return Module["asm"]["__ZNKSt3__214collate_bynameIwE10do_compareEPKwS3_S3_S3_"].apply(null,arguments)};var __ZNKSt3__214collate_bynameIwE12do_transformEPKwS3_=Module["__ZNKSt3__214collate_bynameIwE12do_transformEPKwS3_"]=function(){return Module["asm"]["__ZNKSt3__214collate_bynameIwE12do_transformEPKwS3_"].apply(null,arguments)};var __ZNKSt3__214error_category10equivalentERKNS_10error_codeEi=Module["__ZNKSt3__214error_category10equivalentERKNS_10error_codeEi"]=function(){return Module["asm"]["__ZNKSt3__214error_category10equivalentERKNS_10error_codeEi"].apply(null,arguments)};var __ZNKSt3__214error_category10equivalentEiRKNS_15error_conditionE=Module["__ZNKSt3__214error_category10equivalentEiRKNS_15error_conditionE"]=function(){return Module["asm"]["__ZNKSt3__214error_category10equivalentEiRKNS_15error_conditionE"].apply(null,arguments)};var __ZNKSt3__214error_category23default_error_conditionEi=Module["__ZNKSt3__214error_category23default_error_conditionEi"]=function(){return Module["asm"]["__ZNKSt3__214error_category23default_error_conditionEi"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__215__codecvt_utf16IDiLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb0EE11do_encodingEv=Module["__ZNKSt3__215__codecvt_utf16IDiLb0EE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb0EE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb0EE13do_max_lengthEv=Module["__ZNKSt3__215__codecvt_utf16IDiLb0EE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb0EE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb0EE16do_always_noconvEv=Module["__ZNKSt3__215__codecvt_utf16IDiLb0EE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb0EE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb0EE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IDiLb0EE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb0EE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb0EE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IDiLb0EE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb0EE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb0EE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__215__codecvt_utf16IDiLb0EE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb0EE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__215__codecvt_utf16IDiLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb1EE11do_encodingEv=Module["__ZNKSt3__215__codecvt_utf16IDiLb1EE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb1EE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb1EE13do_max_lengthEv=Module["__ZNKSt3__215__codecvt_utf16IDiLb1EE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb1EE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb1EE16do_always_noconvEv=Module["__ZNKSt3__215__codecvt_utf16IDiLb1EE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb1EE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb1EE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IDiLb1EE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb1EE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb1EE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IDiLb1EE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb1EE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDiLb1EE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__215__codecvt_utf16IDiLb1EE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDiLb1EE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__215__codecvt_utf16IDsLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb0EE11do_encodingEv=Module["__ZNKSt3__215__codecvt_utf16IDsLb0EE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb0EE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb0EE13do_max_lengthEv=Module["__ZNKSt3__215__codecvt_utf16IDsLb0EE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb0EE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb0EE16do_always_noconvEv=Module["__ZNKSt3__215__codecvt_utf16IDsLb0EE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb0EE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb0EE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IDsLb0EE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb0EE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb0EE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IDsLb0EE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb0EE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb0EE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__215__codecvt_utf16IDsLb0EE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb0EE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__215__codecvt_utf16IDsLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb1EE11do_encodingEv=Module["__ZNKSt3__215__codecvt_utf16IDsLb1EE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb1EE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb1EE13do_max_lengthEv=Module["__ZNKSt3__215__codecvt_utf16IDsLb1EE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb1EE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb1EE16do_always_noconvEv=Module["__ZNKSt3__215__codecvt_utf16IDsLb1EE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb1EE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb1EE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IDsLb1EE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb1EE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb1EE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IDsLb1EE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb1EE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IDsLb1EE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__215__codecvt_utf16IDsLb1EE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IDsLb1EE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__215__codecvt_utf16IwLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb0EE11do_encodingEv=Module["__ZNKSt3__215__codecvt_utf16IwLb0EE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb0EE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb0EE13do_max_lengthEv=Module["__ZNKSt3__215__codecvt_utf16IwLb0EE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb0EE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb0EE16do_always_noconvEv=Module["__ZNKSt3__215__codecvt_utf16IwLb0EE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb0EE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb0EE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IwLb0EE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb0EE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb0EE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IwLb0EE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb0EE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb0EE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__215__codecvt_utf16IwLb0EE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb0EE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__215__codecvt_utf16IwLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb1EE11do_encodingEv=Module["__ZNKSt3__215__codecvt_utf16IwLb1EE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb1EE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb1EE13do_max_lengthEv=Module["__ZNKSt3__215__codecvt_utf16IwLb1EE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb1EE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb1EE16do_always_noconvEv=Module["__ZNKSt3__215__codecvt_utf16IwLb1EE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb1EE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb1EE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IwLb1EE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb1EE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb1EE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_=Module["__ZNKSt3__215__codecvt_utf16IwLb1EE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb1EE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__215__codecvt_utf16IwLb1EE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__215__codecvt_utf16IwLb1EE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__215__codecvt_utf16IwLb1EE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE4gptrEv=Module["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE4gptrEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE4gptrEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE4pptrEv=Module["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE4pptrEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE4pptrEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5ebackEv=Module["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5ebackEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5ebackEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5egptrEv=Module["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5egptrEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5egptrEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5epptrEv=Module["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5epptrEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5epptrEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5pbaseEv=Module["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5pbaseEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE5pbaseEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE6getlocEv=Module["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE6getlocEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIcNS_11char_traitsIcEEE6getlocEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE4gptrEv=Module["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE4gptrEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE4gptrEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE4pptrEv=Module["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE4pptrEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE4pptrEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5ebackEv=Module["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5ebackEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5ebackEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5egptrEv=Module["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5egptrEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5egptrEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5epptrEv=Module["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5epptrEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5epptrEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5pbaseEv=Module["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5pbaseEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE5pbaseEv"].apply(null,arguments)};var __ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE6getlocEv=Module["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE6getlocEv"]=function(){return Module["asm"]["__ZNKSt3__215basic_streambufIwNS_11char_traitsIwEEE6getlocEv"].apply(null,arguments)};var __ZNKSt3__215error_condition7messageEv=Module["__ZNKSt3__215error_condition7messageEv"]=function(){return Module["asm"]["__ZNKSt3__215error_condition7messageEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv=Module["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__XEv=Module["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__XEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__XEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__cEv=Module["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__cEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__cEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__rEv=Module["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__rEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__rEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__xEv=Module["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__xEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__xEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__am_pmEv=Module["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__am_pmEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__am_pmEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__weeksEv=Module["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__weeksEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__weeksEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__monthsEv=Module["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__monthsEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__monthsEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv=Module["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__XEv=Module["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__XEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__XEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__cEv=Module["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__cEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__cEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__rEv=Module["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__rEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__rEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__xEv=Module["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__xEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__xEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__am_pmEv=Module["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__am_pmEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__am_pmEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__weeksEv=Module["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__weeksEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__weeksEv"].apply(null,arguments)};var __ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__monthsEv=Module["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__monthsEv"]=function(){return Module["asm"]["__ZNKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__monthsEv"].apply(null,arguments)};var __ZNKSt3__217bad_function_call4whatEv=Module["__ZNKSt3__217bad_function_call4whatEv"]=function(){return Module["asm"]["__ZNKSt3__217bad_function_call4whatEv"].apply(null,arguments)};var __ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE7compareES3_=Module["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE7compareES3_"]=function(){return Module["asm"]["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE7compareES3_"].apply(null,arguments)};var __ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE7compareES3_=Module["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE7compareES3_"]=function(){return Module["asm"]["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE7compareES3_"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb0EE11do_groupingEv=Module["__ZNKSt3__217moneypunct_bynameIcLb0EE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb0EE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb0EE13do_neg_formatEv=Module["__ZNKSt3__217moneypunct_bynameIcLb0EE13do_neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb0EE13do_neg_formatEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb0EE13do_pos_formatEv=Module["__ZNKSt3__217moneypunct_bynameIcLb0EE13do_pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb0EE13do_pos_formatEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb0EE14do_curr_symbolEv=Module["__ZNKSt3__217moneypunct_bynameIcLb0EE14do_curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb0EE14do_curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb0EE14do_frac_digitsEv=Module["__ZNKSt3__217moneypunct_bynameIcLb0EE14do_frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb0EE14do_frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb0EE16do_decimal_pointEv=Module["__ZNKSt3__217moneypunct_bynameIcLb0EE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb0EE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb0EE16do_negative_signEv=Module["__ZNKSt3__217moneypunct_bynameIcLb0EE16do_negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb0EE16do_negative_signEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb0EE16do_positive_signEv=Module["__ZNKSt3__217moneypunct_bynameIcLb0EE16do_positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb0EE16do_positive_signEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb0EE16do_thousands_sepEv=Module["__ZNKSt3__217moneypunct_bynameIcLb0EE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb0EE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb1EE11do_groupingEv=Module["__ZNKSt3__217moneypunct_bynameIcLb1EE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb1EE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb1EE13do_neg_formatEv=Module["__ZNKSt3__217moneypunct_bynameIcLb1EE13do_neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb1EE13do_neg_formatEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb1EE13do_pos_formatEv=Module["__ZNKSt3__217moneypunct_bynameIcLb1EE13do_pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb1EE13do_pos_formatEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb1EE14do_curr_symbolEv=Module["__ZNKSt3__217moneypunct_bynameIcLb1EE14do_curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb1EE14do_curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb1EE14do_frac_digitsEv=Module["__ZNKSt3__217moneypunct_bynameIcLb1EE14do_frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb1EE14do_frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb1EE16do_decimal_pointEv=Module["__ZNKSt3__217moneypunct_bynameIcLb1EE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb1EE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb1EE16do_negative_signEv=Module["__ZNKSt3__217moneypunct_bynameIcLb1EE16do_negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb1EE16do_negative_signEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb1EE16do_positive_signEv=Module["__ZNKSt3__217moneypunct_bynameIcLb1EE16do_positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb1EE16do_positive_signEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIcLb1EE16do_thousands_sepEv=Module["__ZNKSt3__217moneypunct_bynameIcLb1EE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIcLb1EE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb0EE11do_groupingEv=Module["__ZNKSt3__217moneypunct_bynameIwLb0EE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb0EE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb0EE13do_neg_formatEv=Module["__ZNKSt3__217moneypunct_bynameIwLb0EE13do_neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb0EE13do_neg_formatEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb0EE13do_pos_formatEv=Module["__ZNKSt3__217moneypunct_bynameIwLb0EE13do_pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb0EE13do_pos_formatEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb0EE14do_curr_symbolEv=Module["__ZNKSt3__217moneypunct_bynameIwLb0EE14do_curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb0EE14do_curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb0EE14do_frac_digitsEv=Module["__ZNKSt3__217moneypunct_bynameIwLb0EE14do_frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb0EE14do_frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb0EE16do_decimal_pointEv=Module["__ZNKSt3__217moneypunct_bynameIwLb0EE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb0EE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb0EE16do_negative_signEv=Module["__ZNKSt3__217moneypunct_bynameIwLb0EE16do_negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb0EE16do_negative_signEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb0EE16do_positive_signEv=Module["__ZNKSt3__217moneypunct_bynameIwLb0EE16do_positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb0EE16do_positive_signEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb0EE16do_thousands_sepEv=Module["__ZNKSt3__217moneypunct_bynameIwLb0EE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb0EE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb1EE11do_groupingEv=Module["__ZNKSt3__217moneypunct_bynameIwLb1EE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb1EE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb1EE13do_neg_formatEv=Module["__ZNKSt3__217moneypunct_bynameIwLb1EE13do_neg_formatEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb1EE13do_neg_formatEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb1EE13do_pos_formatEv=Module["__ZNKSt3__217moneypunct_bynameIwLb1EE13do_pos_formatEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb1EE13do_pos_formatEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb1EE14do_curr_symbolEv=Module["__ZNKSt3__217moneypunct_bynameIwLb1EE14do_curr_symbolEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb1EE14do_curr_symbolEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb1EE14do_frac_digitsEv=Module["__ZNKSt3__217moneypunct_bynameIwLb1EE14do_frac_digitsEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb1EE14do_frac_digitsEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb1EE16do_decimal_pointEv=Module["__ZNKSt3__217moneypunct_bynameIwLb1EE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb1EE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb1EE16do_negative_signEv=Module["__ZNKSt3__217moneypunct_bynameIwLb1EE16do_negative_signEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb1EE16do_negative_signEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb1EE16do_positive_signEv=Module["__ZNKSt3__217moneypunct_bynameIwLb1EE16do_positive_signEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb1EE16do_positive_signEv"].apply(null,arguments)};var __ZNKSt3__217moneypunct_bynameIwLb1EE16do_thousands_sepEv=Module["__ZNKSt3__217moneypunct_bynameIwLb1EE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__217moneypunct_bynameIwLb1EE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__218__hidden_allocatorINS_4pairIPNS_18condition_variableEPNS_5mutexEEEE8max_sizeEv=Module["__ZNKSt3__218__hidden_allocatorINS_4pairIPNS_18condition_variableEPNS_5mutexEEEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__218__hidden_allocatorINS_4pairIPNS_18condition_variableEPNS_5mutexEEEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__218__hidden_allocatorIPNS_17__assoc_sub_stateEE8max_sizeEv=Module["__ZNKSt3__218__hidden_allocatorIPNS_17__assoc_sub_stateEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__218__hidden_allocatorIPNS_17__assoc_sub_stateEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__218__libcpp_refstring15__uses_refcountEv=Module["__ZNKSt3__218__libcpp_refstring15__uses_refcountEv"]=function(){return Module["asm"]["__ZNKSt3__218__libcpp_refstring15__uses_refcountEv"].apply(null,arguments)};var __ZNKSt3__218__libcpp_refstring5c_strEv=Module["__ZNKSt3__218__libcpp_refstring5c_strEv"]=function(){return Module["asm"]["__ZNKSt3__218__libcpp_refstring5c_strEv"].apply(null,arguments)};var __ZNKSt3__218__time_get_storageIcE15__do_date_orderEv=Module["__ZNKSt3__218__time_get_storageIcE15__do_date_orderEv"]=function(){return Module["asm"]["__ZNKSt3__218__time_get_storageIcE15__do_date_orderEv"].apply(null,arguments)};var __ZNKSt3__218__time_get_storageIwE15__do_date_orderEv=Module["__ZNKSt3__218__time_get_storageIwE15__do_date_orderEv"]=function(){return Module["asm"]["__ZNKSt3__218__time_get_storageIwE15__do_date_orderEv"].apply(null,arguments)};var __ZNKSt3__219__iostream_category4nameEv=Module["__ZNKSt3__219__iostream_category4nameEv"]=function(){return Module["asm"]["__ZNKSt3__219__iostream_category4nameEv"].apply(null,arguments)};var __ZNKSt3__219__iostream_category7messageEi=Module["__ZNKSt3__219__iostream_category7messageEi"]=function(){return Module["asm"]["__ZNKSt3__219__iostream_category7messageEi"].apply(null,arguments)};var __ZNKSt3__219__shared_weak_count13__get_deleterERKSt9type_info=Module["__ZNKSt3__219__shared_weak_count13__get_deleterERKSt9type_info"]=function(){return Module["asm"]["__ZNKSt3__219__shared_weak_count13__get_deleterERKSt9type_info"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDiE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__220__codecvt_utf8_utf16IDiE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDiE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDiE11do_encodingEv=Module["__ZNKSt3__220__codecvt_utf8_utf16IDiE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDiE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDiE13do_max_lengthEv=Module["__ZNKSt3__220__codecvt_utf8_utf16IDiE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDiE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDiE16do_always_noconvEv=Module["__ZNKSt3__220__codecvt_utf8_utf16IDiE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDiE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDiE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_=Module["__ZNKSt3__220__codecvt_utf8_utf16IDiE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDiE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDiE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_=Module["__ZNKSt3__220__codecvt_utf8_utf16IDiE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDiE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDiE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__220__codecvt_utf8_utf16IDiE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDiE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDsE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__220__codecvt_utf8_utf16IDsE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDsE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDsE11do_encodingEv=Module["__ZNKSt3__220__codecvt_utf8_utf16IDsE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDsE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDsE13do_max_lengthEv=Module["__ZNKSt3__220__codecvt_utf8_utf16IDsE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDsE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDsE16do_always_noconvEv=Module["__ZNKSt3__220__codecvt_utf8_utf16IDsE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDsE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDsE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_=Module["__ZNKSt3__220__codecvt_utf8_utf16IDsE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDsE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDsE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_=Module["__ZNKSt3__220__codecvt_utf8_utf16IDsE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDsE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IDsE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__220__codecvt_utf8_utf16IDsE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IDsE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IwE10do_unshiftER11__mbstate_tPcS4_RS4_=Module["__ZNKSt3__220__codecvt_utf8_utf16IwE10do_unshiftER11__mbstate_tPcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IwE10do_unshiftER11__mbstate_tPcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IwE11do_encodingEv=Module["__ZNKSt3__220__codecvt_utf8_utf16IwE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IwE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IwE13do_max_lengthEv=Module["__ZNKSt3__220__codecvt_utf8_utf16IwE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IwE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IwE16do_always_noconvEv=Module["__ZNKSt3__220__codecvt_utf8_utf16IwE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IwE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IwE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_=Module["__ZNKSt3__220__codecvt_utf8_utf16IwE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IwE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IwE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_=Module["__ZNKSt3__220__codecvt_utf8_utf16IwE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IwE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__220__codecvt_utf8_utf16IwE9do_lengthER11__mbstate_tPKcS5_m=Module["__ZNKSt3__220__codecvt_utf8_utf16IwE9do_lengthER11__mbstate_tPKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__220__codecvt_utf8_utf16IwE9do_lengthER11__mbstate_tPKcS5_m"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIcE3__XEv=Module["__ZNKSt3__220__time_get_c_storageIcE3__XEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIcE3__XEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIcE3__cEv=Module["__ZNKSt3__220__time_get_c_storageIcE3__cEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIcE3__cEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIcE3__rEv=Module["__ZNKSt3__220__time_get_c_storageIcE3__rEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIcE3__rEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIcE3__xEv=Module["__ZNKSt3__220__time_get_c_storageIcE3__xEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIcE3__xEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIcE7__am_pmEv=Module["__ZNKSt3__220__time_get_c_storageIcE7__am_pmEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIcE7__am_pmEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIcE7__weeksEv=Module["__ZNKSt3__220__time_get_c_storageIcE7__weeksEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIcE7__weeksEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIcE8__monthsEv=Module["__ZNKSt3__220__time_get_c_storageIcE8__monthsEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIcE8__monthsEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIwE3__XEv=Module["__ZNKSt3__220__time_get_c_storageIwE3__XEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIwE3__XEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIwE3__cEv=Module["__ZNKSt3__220__time_get_c_storageIwE3__cEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIwE3__cEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIwE3__rEv=Module["__ZNKSt3__220__time_get_c_storageIwE3__rEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIwE3__rEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIwE3__xEv=Module["__ZNKSt3__220__time_get_c_storageIwE3__xEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIwE3__xEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIwE7__am_pmEv=Module["__ZNKSt3__220__time_get_c_storageIwE7__am_pmEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIwE7__am_pmEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIwE7__weeksEv=Module["__ZNKSt3__220__time_get_c_storageIwE7__weeksEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIwE7__weeksEv"].apply(null,arguments)};var __ZNKSt3__220__time_get_c_storageIwE8__monthsEv=Module["__ZNKSt3__220__time_get_c_storageIwE8__monthsEv"]=function(){return Module["asm"]["__ZNKSt3__220__time_get_c_storageIwE8__monthsEv"].apply(null,arguments)};var __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv=Module["__ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv"]=function(){return Module["asm"]["__ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv"].apply(null,arguments)};var __ZNKSt3__220__vector_base_commonILb1EE20__throw_out_of_rangeEv=Module["__ZNKSt3__220__vector_base_commonILb1EE20__throw_out_of_rangeEv"]=function(){return Module["asm"]["__ZNKSt3__220__vector_base_commonILb1EE20__throw_out_of_rangeEv"].apply(null,arguments)};var __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv=Module["__ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv"]=function(){return Module["asm"]["__ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv"].apply(null,arguments)};var __ZNKSt3__221__basic_string_commonILb1EE20__throw_out_of_rangeEv=Module["__ZNKSt3__221__basic_string_commonILb1EE20__throw_out_of_rangeEv"]=function(){return Module["asm"]["__ZNKSt3__221__basic_string_commonILb1EE20__throw_out_of_rangeEv"].apply(null,arguments)};var __ZNKSt3__222__libcpp_unique_localecvbEv=Module["__ZNKSt3__222__libcpp_unique_localecvbEv"]=function(){return Module["asm"]["__ZNKSt3__222__libcpp_unique_localecvbEv"].apply(null,arguments)};var __ZNKSt3__223__future_error_category4nameEv=Module["__ZNKSt3__223__future_error_category4nameEv"]=function(){return Module["asm"]["__ZNKSt3__223__future_error_category4nameEv"].apply(null,arguments)};var __ZNKSt3__223__future_error_category7messageEi=Module["__ZNKSt3__223__future_error_category7messageEi"]=function(){return Module["asm"]["__ZNKSt3__223__future_error_category7messageEi"].apply(null,arguments)};var __ZNKSt3__223__match_any_but_newlineIcE6__execERNS_7__stateIcEE=Module["__ZNKSt3__223__match_any_but_newlineIcE6__execERNS_7__stateIcEE"]=function(){return Module["asm"]["__ZNKSt3__223__match_any_but_newlineIcE6__execERNS_7__stateIcEE"].apply(null,arguments)};var __ZNKSt3__223__match_any_but_newlineIwE6__execERNS_7__stateIwEE=Module["__ZNKSt3__223__match_any_but_newlineIwE6__execERNS_7__stateIwEE"]=function(){return Module["asm"]["__ZNKSt3__223__match_any_but_newlineIwE6__execERNS_7__stateIwEE"].apply(null,arguments)};var __ZNKSt3__223__system_error_category23default_error_conditionEi=Module["__ZNKSt3__223__system_error_category23default_error_conditionEi"]=function(){return Module["asm"]["__ZNKSt3__223__system_error_category23default_error_conditionEi"].apply(null,arguments)};var __ZNKSt3__223__system_error_category4nameEv=Module["__ZNKSt3__223__system_error_category4nameEv"]=function(){return Module["asm"]["__ZNKSt3__223__system_error_category4nameEv"].apply(null,arguments)};var __ZNKSt3__223__system_error_category7messageEi=Module["__ZNKSt3__223__system_error_category7messageEi"]=function(){return Module["asm"]["__ZNKSt3__223__system_error_category7messageEi"].apply(null,arguments)};var __ZNKSt3__224__generic_error_category4nameEv=Module["__ZNKSt3__224__generic_error_category4nameEv"]=function(){return Module["asm"]["__ZNKSt3__224__generic_error_category4nameEv"].apply(null,arguments)};var __ZNKSt3__224__generic_error_category7messageEi=Module["__ZNKSt3__224__generic_error_category7messageEi"]=function(){return Module["asm"]["__ZNKSt3__224__generic_error_category7messageEi"].apply(null,arguments)};var __ZNKSt3__224__libcpp_debug_exception4whatEv=Module["__ZNKSt3__224__libcpp_debug_exception4whatEv"]=function(){return Module["asm"]["__ZNKSt3__224__libcpp_debug_exception4whatEv"].apply(null,arguments)};var __ZNKSt3__24hashINS_17basic_string_viewIcNS_11char_traitsIcEEEEEclES4_=Module["__ZNKSt3__24hashINS_17basic_string_viewIcNS_11char_traitsIcEEEEEclES4_"]=function(){return Module["asm"]["__ZNKSt3__24hashINS_17basic_string_viewIcNS_11char_traitsIcEEEEEclES4_"].apply(null,arguments)};var __ZNKSt3__25ctypeIcE10do_tolowerEPcPKc=Module["__ZNKSt3__25ctypeIcE10do_tolowerEPcPKc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIcE10do_tolowerEPcPKc"].apply(null,arguments)};var __ZNKSt3__25ctypeIcE10do_tolowerEc=Module["__ZNKSt3__25ctypeIcE10do_tolowerEc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIcE10do_tolowerEc"].apply(null,arguments)};var __ZNKSt3__25ctypeIcE10do_toupperEPcPKc=Module["__ZNKSt3__25ctypeIcE10do_toupperEPcPKc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIcE10do_toupperEPcPKc"].apply(null,arguments)};var __ZNKSt3__25ctypeIcE10do_toupperEc=Module["__ZNKSt3__25ctypeIcE10do_toupperEc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIcE10do_toupperEc"].apply(null,arguments)};var __ZNKSt3__25ctypeIcE8do_widenEPKcS3_Pc=Module["__ZNKSt3__25ctypeIcE8do_widenEPKcS3_Pc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIcE8do_widenEPKcS3_Pc"].apply(null,arguments)};var __ZNKSt3__25ctypeIcE8do_widenEc=Module["__ZNKSt3__25ctypeIcE8do_widenEc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIcE8do_widenEc"].apply(null,arguments)};var __ZNKSt3__25ctypeIcE9do_narrowEPKcS3_cPc=Module["__ZNKSt3__25ctypeIcE9do_narrowEPKcS3_cPc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIcE9do_narrowEPKcS3_cPc"].apply(null,arguments)};var __ZNKSt3__25ctypeIcE9do_narrowEcc=Module["__ZNKSt3__25ctypeIcE9do_narrowEcc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIcE9do_narrowEcc"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE10do_scan_isEtPKwS3_=Module["__ZNKSt3__25ctypeIwE10do_scan_isEtPKwS3_"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE10do_scan_isEtPKwS3_"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE10do_tolowerEPwPKw=Module["__ZNKSt3__25ctypeIwE10do_tolowerEPwPKw"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE10do_tolowerEPwPKw"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE10do_tolowerEw=Module["__ZNKSt3__25ctypeIwE10do_tolowerEw"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE10do_tolowerEw"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE10do_toupperEPwPKw=Module["__ZNKSt3__25ctypeIwE10do_toupperEPwPKw"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE10do_toupperEPwPKw"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE10do_toupperEw=Module["__ZNKSt3__25ctypeIwE10do_toupperEw"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE10do_toupperEw"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE11do_scan_notEtPKwS3_=Module["__ZNKSt3__25ctypeIwE11do_scan_notEtPKwS3_"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE11do_scan_notEtPKwS3_"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE5do_isEPKwS3_Pt=Module["__ZNKSt3__25ctypeIwE5do_isEPKwS3_Pt"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE5do_isEPKwS3_Pt"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE5do_isEtw=Module["__ZNKSt3__25ctypeIwE5do_isEtw"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE5do_isEtw"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE8do_widenEPKcS3_Pw=Module["__ZNKSt3__25ctypeIwE8do_widenEPKcS3_Pw"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE8do_widenEPKcS3_Pw"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE8do_widenEc=Module["__ZNKSt3__25ctypeIwE8do_widenEc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE8do_widenEc"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE9do_narrowEPKwS3_cPc=Module["__ZNKSt3__25ctypeIwE9do_narrowEPKwS3_cPc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE9do_narrowEPKwS3_cPc"].apply(null,arguments)};var __ZNKSt3__25ctypeIwE9do_narrowEwc=Module["__ZNKSt3__25ctypeIwE9do_narrowEwc"]=function(){return Module["asm"]["__ZNKSt3__25ctypeIwE9do_narrowEwc"].apply(null,arguments)};var __ZNKSt3__26locale4nameEv=Module["__ZNKSt3__26locale4nameEv"]=function(){return Module["asm"]["__ZNKSt3__26locale4nameEv"].apply(null,arguments)};var __ZNKSt3__26locale5__imp4nameEv=Module["__ZNKSt3__26locale5__imp4nameEv"]=function(){return Module["asm"]["__ZNKSt3__26locale5__imp4nameEv"].apply(null,arguments)};var __ZNKSt3__26locale5__imp9has_facetEl=Module["__ZNKSt3__26locale5__imp9has_facetEl"]=function(){return Module["asm"]["__ZNKSt3__26locale5__imp9has_facetEl"].apply(null,arguments)};var __ZNKSt3__26locale5__imp9use_facetEl=Module["__ZNKSt3__26locale5__imp9use_facetEl"]=function(){return Module["asm"]["__ZNKSt3__26locale5__imp9use_facetEl"].apply(null,arguments)};var __ZNKSt3__26locale9has_facetERNS0_2idE=Module["__ZNKSt3__26locale9has_facetERNS0_2idE"]=function(){return Module["asm"]["__ZNKSt3__26locale9has_facetERNS0_2idE"].apply(null,arguments)};var __ZNKSt3__26locale9use_facetERNS0_2idE=Module["__ZNKSt3__26locale9use_facetERNS0_2idE"]=function(){return Module["asm"]["__ZNKSt3__26locale9use_facetERNS0_2idE"].apply(null,arguments)};var __ZNKSt3__26localeeqERKS0_=Module["__ZNKSt3__26localeeqERKS0_"]=function(){return Module["asm"]["__ZNKSt3__26localeeqERKS0_"].apply(null,arguments)};var __ZNKSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE8max_sizeEv=Module["__ZNKSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE8max_sizeEv=Module["__ZNKSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE8max_sizeEv=Module["__ZNKSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__26vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE8max_sizeEv=Module["__ZNKSt3__26vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__26vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__26vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE8max_sizeEv=Module["__ZNKSt3__26vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__26vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8max_sizeEv=Module["__ZNKSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8max_sizeEv"]=function(){return Module["asm"]["__ZNKSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8max_sizeEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIDic11__mbstate_tE10do_unshiftERS1_PcS4_RS4_=Module["__ZNKSt3__27codecvtIDic11__mbstate_tE10do_unshiftERS1_PcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDic11__mbstate_tE10do_unshiftERS1_PcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__27codecvtIDic11__mbstate_tE11do_encodingEv=Module["__ZNKSt3__27codecvtIDic11__mbstate_tE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDic11__mbstate_tE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIDic11__mbstate_tE13do_max_lengthEv=Module["__ZNKSt3__27codecvtIDic11__mbstate_tE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDic11__mbstate_tE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIDic11__mbstate_tE16do_always_noconvEv=Module["__ZNKSt3__27codecvtIDic11__mbstate_tE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDic11__mbstate_tE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIDic11__mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_=Module["__ZNKSt3__27codecvtIDic11__mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDic11__mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_"].apply(null,arguments)};var __ZNKSt3__27codecvtIDic11__mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_=Module["__ZNKSt3__27codecvtIDic11__mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDic11__mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__27codecvtIDic11__mbstate_tE9do_lengthERS1_PKcS5_m=Module["__ZNKSt3__27codecvtIDic11__mbstate_tE9do_lengthERS1_PKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDic11__mbstate_tE9do_lengthERS1_PKcS5_m"].apply(null,arguments)};var __ZNKSt3__27codecvtIDsc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_=Module["__ZNKSt3__27codecvtIDsc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDsc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__27codecvtIDsc11__mbstate_tE11do_encodingEv=Module["__ZNKSt3__27codecvtIDsc11__mbstate_tE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDsc11__mbstate_tE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIDsc11__mbstate_tE13do_max_lengthEv=Module["__ZNKSt3__27codecvtIDsc11__mbstate_tE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDsc11__mbstate_tE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIDsc11__mbstate_tE16do_always_noconvEv=Module["__ZNKSt3__27codecvtIDsc11__mbstate_tE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDsc11__mbstate_tE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIDsc11__mbstate_tE5do_inERS1_PKcS5_RS5_PDsS7_RS7_=Module["__ZNKSt3__27codecvtIDsc11__mbstate_tE5do_inERS1_PKcS5_RS5_PDsS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDsc11__mbstate_tE5do_inERS1_PKcS5_RS5_PDsS7_RS7_"].apply(null,arguments)};var __ZNKSt3__27codecvtIDsc11__mbstate_tE6do_outERS1_PKDsS5_RS5_PcS7_RS7_=Module["__ZNKSt3__27codecvtIDsc11__mbstate_tE6do_outERS1_PKDsS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDsc11__mbstate_tE6do_outERS1_PKDsS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__27codecvtIDsc11__mbstate_tE9do_lengthERS1_PKcS5_m=Module["__ZNKSt3__27codecvtIDsc11__mbstate_tE9do_lengthERS1_PKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIDsc11__mbstate_tE9do_lengthERS1_PKcS5_m"].apply(null,arguments)};var __ZNKSt3__27codecvtIcc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_=Module["__ZNKSt3__27codecvtIcc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIcc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__27codecvtIcc11__mbstate_tE11do_encodingEv=Module["__ZNKSt3__27codecvtIcc11__mbstate_tE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIcc11__mbstate_tE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIcc11__mbstate_tE13do_max_lengthEv=Module["__ZNKSt3__27codecvtIcc11__mbstate_tE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIcc11__mbstate_tE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIcc11__mbstate_tE16do_always_noconvEv=Module["__ZNKSt3__27codecvtIcc11__mbstate_tE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIcc11__mbstate_tE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIcc11__mbstate_tE5do_inERS1_PKcS5_RS5_PcS7_RS7_=Module["__ZNKSt3__27codecvtIcc11__mbstate_tE5do_inERS1_PKcS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIcc11__mbstate_tE5do_inERS1_PKcS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__27codecvtIcc11__mbstate_tE6do_outERS1_PKcS5_RS5_PcS7_RS7_=Module["__ZNKSt3__27codecvtIcc11__mbstate_tE6do_outERS1_PKcS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIcc11__mbstate_tE6do_outERS1_PKcS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__27codecvtIcc11__mbstate_tE9do_lengthERS1_PKcS5_m=Module["__ZNKSt3__27codecvtIcc11__mbstate_tE9do_lengthERS1_PKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIcc11__mbstate_tE9do_lengthERS1_PKcS5_m"].apply(null,arguments)};var __ZNKSt3__27codecvtIwc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_=Module["__ZNKSt3__27codecvtIwc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIwc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_"].apply(null,arguments)};var __ZNKSt3__27codecvtIwc11__mbstate_tE11do_encodingEv=Module["__ZNKSt3__27codecvtIwc11__mbstate_tE11do_encodingEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIwc11__mbstate_tE11do_encodingEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIwc11__mbstate_tE13do_max_lengthEv=Module["__ZNKSt3__27codecvtIwc11__mbstate_tE13do_max_lengthEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIwc11__mbstate_tE13do_max_lengthEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIwc11__mbstate_tE16do_always_noconvEv=Module["__ZNKSt3__27codecvtIwc11__mbstate_tE16do_always_noconvEv"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIwc11__mbstate_tE16do_always_noconvEv"].apply(null,arguments)};var __ZNKSt3__27codecvtIwc11__mbstate_tE5do_inERS1_PKcS5_RS5_PwS7_RS7_=Module["__ZNKSt3__27codecvtIwc11__mbstate_tE5do_inERS1_PKcS5_RS5_PwS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIwc11__mbstate_tE5do_inERS1_PKcS5_RS5_PwS7_RS7_"].apply(null,arguments)};var __ZNKSt3__27codecvtIwc11__mbstate_tE6do_outERS1_PKwS5_RS5_PcS7_RS7_=Module["__ZNKSt3__27codecvtIwc11__mbstate_tE6do_outERS1_PKwS5_RS5_PcS7_RS7_"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIwc11__mbstate_tE6do_outERS1_PKwS5_RS5_PcS7_RS7_"].apply(null,arguments)};var __ZNKSt3__27codecvtIwc11__mbstate_tE9do_lengthERS1_PKcS5_m=Module["__ZNKSt3__27codecvtIwc11__mbstate_tE9do_lengthERS1_PKcS5_m"]=function(){return Module["asm"]["__ZNKSt3__27codecvtIwc11__mbstate_tE9do_lengthERS1_PKcS5_m"].apply(null,arguments)};var __ZNKSt3__27collateIcE10do_compareEPKcS3_S3_S3_=Module["__ZNKSt3__27collateIcE10do_compareEPKcS3_S3_S3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIcE10do_compareEPKcS3_S3_S3_"].apply(null,arguments)};var __ZNKSt3__27collateIcE12do_transformEPKcS3_=Module["__ZNKSt3__27collateIcE12do_transformEPKcS3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIcE12do_transformEPKcS3_"].apply(null,arguments)};var __ZNKSt3__27collateIcE4hashEPKcS3_=Module["__ZNKSt3__27collateIcE4hashEPKcS3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIcE4hashEPKcS3_"].apply(null,arguments)};var __ZNKSt3__27collateIcE7compareEPKcS3_S3_S3_=Module["__ZNKSt3__27collateIcE7compareEPKcS3_S3_S3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIcE7compareEPKcS3_S3_S3_"].apply(null,arguments)};var __ZNKSt3__27collateIcE7do_hashEPKcS3_=Module["__ZNKSt3__27collateIcE7do_hashEPKcS3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIcE7do_hashEPKcS3_"].apply(null,arguments)};var __ZNKSt3__27collateIcE9transformEPKcS3_=Module["__ZNKSt3__27collateIcE9transformEPKcS3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIcE9transformEPKcS3_"].apply(null,arguments)};var __ZNKSt3__27collateIwE10do_compareEPKwS3_S3_S3_=Module["__ZNKSt3__27collateIwE10do_compareEPKwS3_S3_S3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIwE10do_compareEPKwS3_S3_S3_"].apply(null,arguments)};var __ZNKSt3__27collateIwE12do_transformEPKwS3_=Module["__ZNKSt3__27collateIwE12do_transformEPKwS3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIwE12do_transformEPKwS3_"].apply(null,arguments)};var __ZNKSt3__27collateIwE4hashEPKwS3_=Module["__ZNKSt3__27collateIwE4hashEPKwS3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIwE4hashEPKwS3_"].apply(null,arguments)};var __ZNKSt3__27collateIwE7compareEPKwS3_S3_S3_=Module["__ZNKSt3__27collateIwE7compareEPKwS3_S3_S3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIwE7compareEPKwS3_S3_S3_"].apply(null,arguments)};var __ZNKSt3__27collateIwE7do_hashEPKwS3_=Module["__ZNKSt3__27collateIwE7do_hashEPKwS3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIwE7do_hashEPKwS3_"].apply(null,arguments)};var __ZNKSt3__27collateIwE9transformEPKwS3_=Module["__ZNKSt3__27collateIwE9transformEPKwS3_"]=function(){return Module["asm"]["__ZNKSt3__27collateIwE9transformEPKwS3_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRPv=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRPv"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRPv"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRb=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRb"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRb"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRd=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRd"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRd"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRe=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRe"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRe"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRf=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRf"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRf"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRl=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRl"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRl"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRm=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRm"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRm"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRt=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRt"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRt"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRx=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRx"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRx"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRy=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRy"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjRy"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjS8_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjS8_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjS8_"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRb=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRb"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRb"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRd=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRd"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRd"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRe=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRe"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRe"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRf=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRf"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRf"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRl=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRl"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRl"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRm=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRm"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRm"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRt=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRt"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRt"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRx=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRx"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRx"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRy=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRy"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRy"].apply(null,arguments)};var __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_=Module["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRPv=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRPv"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRPv"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRb=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRb"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRb"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRd=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRd"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRd"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRe=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRe"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRe"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRf=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRf"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRf"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRl=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRl"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRl"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRm=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRm"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRm"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRt=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRt"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRt"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRx=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRx"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRx"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRy=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRy"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjRy"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjS8_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjS8_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjS8_"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRb=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRb"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRb"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRd=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRd"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRd"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRe=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRe"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRe"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRf=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRf"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRf"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRl=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRl"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRl"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRm=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRm"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRm"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRt=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRt"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRt"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRx=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRx"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRx"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRy=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRy"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRy"].apply(null,arguments)};var __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_=Module["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_"]=function(){return Module["asm"]["__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPKv=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPKv"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPKv"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcb=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcb"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcb"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcd=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcd"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcd"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEce=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEce"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEce"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcl=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcl"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcl"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcm=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcm"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcm"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcx=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcx"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcx"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcy=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcy"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcy"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPKv=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPKv"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPKv"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcb=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcb"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcb"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcd=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcd"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcd"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcl=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcl"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcl"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcm=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcm"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcm"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx"].apply(null,arguments)};var __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy=Module["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy"]=function(){return Module["asm"]["__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPKv=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPKv"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPKv"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwb=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwb"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwb"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwd=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwd"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwd"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwe=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwe"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwe"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwl=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwl"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwl"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwm=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwm"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwm"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwx=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwx"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwx"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwy=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwy"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwy"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKv=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKv"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKv"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwb=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwb"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwb"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwd=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwd"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwd"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwl=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwl"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwl"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwm=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwm"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwm"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx"].apply(null,arguments)};var __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy=Module["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy"]=function(){return Module["asm"]["__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy"].apply(null,arguments)};var __ZNKSt3__28ios_base6getlocEv=Module["__ZNKSt3__28ios_base6getlocEv"]=function(){return Module["asm"]["__ZNKSt3__28ios_base6getlocEv"].apply(null,arguments)};var __ZNKSt3__28messagesIcE3getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNKSt3__28messagesIcE3getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNKSt3__28messagesIcE3getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNKSt3__28messagesIcE4openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE=Module["__ZNKSt3__28messagesIcE4openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE"]=function(){return Module["asm"]["__ZNKSt3__28messagesIcE4openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE"].apply(null,arguments)};var __ZNKSt3__28messagesIcE5closeEl=Module["__ZNKSt3__28messagesIcE5closeEl"]=function(){return Module["asm"]["__ZNKSt3__28messagesIcE5closeEl"].apply(null,arguments)};var __ZNKSt3__28messagesIcE6do_getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNKSt3__28messagesIcE6do_getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNKSt3__28messagesIcE6do_getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNKSt3__28messagesIcE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE=Module["__ZNKSt3__28messagesIcE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE"]=function(){return Module["asm"]["__ZNKSt3__28messagesIcE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE"].apply(null,arguments)};var __ZNKSt3__28messagesIcE8do_closeEl=Module["__ZNKSt3__28messagesIcE8do_closeEl"]=function(){return Module["asm"]["__ZNKSt3__28messagesIcE8do_closeEl"].apply(null,arguments)};var __ZNKSt3__28messagesIwE3getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE=Module["__ZNKSt3__28messagesIwE3getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"]=function(){return Module["asm"]["__ZNKSt3__28messagesIwE3getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"].apply(null,arguments)};var __ZNKSt3__28messagesIwE4openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE=Module["__ZNKSt3__28messagesIwE4openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE"]=function(){return Module["asm"]["__ZNKSt3__28messagesIwE4openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE"].apply(null,arguments)};var __ZNKSt3__28messagesIwE5closeEl=Module["__ZNKSt3__28messagesIwE5closeEl"]=function(){return Module["asm"]["__ZNKSt3__28messagesIwE5closeEl"].apply(null,arguments)};var __ZNKSt3__28messagesIwE6do_getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE=Module["__ZNKSt3__28messagesIwE6do_getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"]=function(){return Module["asm"]["__ZNKSt3__28messagesIwE6do_getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"].apply(null,arguments)};var __ZNKSt3__28messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE=Module["__ZNKSt3__28messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE"]=function(){return Module["asm"]["__ZNKSt3__28messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE"].apply(null,arguments)};var __ZNKSt3__28messagesIwE8do_closeEl=Module["__ZNKSt3__28messagesIwE8do_closeEl"]=function(){return Module["asm"]["__ZNKSt3__28messagesIwE8do_closeEl"].apply(null,arguments)};var __ZNKSt3__28numpunctIcE11do_groupingEv=Module["__ZNKSt3__28numpunctIcE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIcE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__28numpunctIcE11do_truenameEv=Module["__ZNKSt3__28numpunctIcE11do_truenameEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIcE11do_truenameEv"].apply(null,arguments)};var __ZNKSt3__28numpunctIcE12do_falsenameEv=Module["__ZNKSt3__28numpunctIcE12do_falsenameEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIcE12do_falsenameEv"].apply(null,arguments)};var __ZNKSt3__28numpunctIcE16do_decimal_pointEv=Module["__ZNKSt3__28numpunctIcE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIcE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__28numpunctIcE16do_thousands_sepEv=Module["__ZNKSt3__28numpunctIcE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIcE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__28numpunctIwE11do_groupingEv=Module["__ZNKSt3__28numpunctIwE11do_groupingEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIwE11do_groupingEv"].apply(null,arguments)};var __ZNKSt3__28numpunctIwE11do_truenameEv=Module["__ZNKSt3__28numpunctIwE11do_truenameEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIwE11do_truenameEv"].apply(null,arguments)};var __ZNKSt3__28numpunctIwE12do_falsenameEv=Module["__ZNKSt3__28numpunctIwE12do_falsenameEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIwE12do_falsenameEv"].apply(null,arguments)};var __ZNKSt3__28numpunctIwE16do_decimal_pointEv=Module["__ZNKSt3__28numpunctIwE16do_decimal_pointEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIwE16do_decimal_pointEv"].apply(null,arguments)};var __ZNKSt3__28numpunctIwE16do_thousands_sepEv=Module["__ZNKSt3__28numpunctIwE16do_thousands_sepEv"]=function(){return Module["asm"]["__ZNKSt3__28numpunctIwE16do_thousands_sepEv"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10date_orderEv=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10date_orderEv"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10date_orderEv"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11get_weekdayES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11get_weekdayES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11get_weekdayES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13get_monthnameES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13get_monthnameES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13get_monthnameES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmcc=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmcc"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmcc"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8get_dateES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8get_dateES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8get_dateES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8get_timeES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8get_timeES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8get_timeES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8get_yearES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8get_yearES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8get_yearES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIcEE=Module["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10date_orderEv=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10date_orderEv"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10date_orderEv"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11get_weekdayES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11get_weekdayES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11get_weekdayES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13get_monthnameES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13get_monthnameES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13get_monthnameES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmcc=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmcc"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmcc"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8get_dateES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8get_dateES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8get_dateES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8get_timeES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8get_timeES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8get_timeES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8get_yearES4_S4_RNS_8ios_baseERjP2tm=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8get_yearES4_S4_RNS_8ios_baseERjP2tm"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8get_yearES4_S4_RNS_8ios_baseERjP2tm"].apply(null,arguments)};var __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIwEE=Module["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPK2tmPKcSC_=Module["__ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPK2tmPKcSC_"]=function(){return Module["asm"]["__ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPK2tmPKcSC_"].apply(null,arguments)};var __ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPK2tmcc=Module["__ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPK2tmcc"]=function(){return Module["asm"]["__ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPK2tmcc"].apply(null,arguments)};var __ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPK2tmcc=Module["__ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPK2tmcc"]=function(){return Module["asm"]["__ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPK2tmcc"].apply(null,arguments)};var __ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPK2tmPKwSC_=Module["__ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPK2tmPKwSC_"]=function(){return Module["asm"]["__ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPK2tmPKwSC_"].apply(null,arguments)};var __ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPK2tmcc=Module["__ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPK2tmcc"]=function(){return Module["asm"]["__ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPK2tmcc"].apply(null,arguments)};var __ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPK2tmcc=Module["__ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPK2tmcc"]=function(){return Module["asm"]["__ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPK2tmcc"].apply(null,arguments)};var __ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc=Module["__ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc"]=function(){return Module["asm"]["__ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc"].apply(null,arguments)};var __ZNKSt3__29__num_getIcE12__do_widen_pERNS_8ios_baseEPc=Module["__ZNKSt3__29__num_getIcE12__do_widen_pERNS_8ios_baseEPc"]=function(){return Module["asm"]["__ZNKSt3__29__num_getIcE12__do_widen_pERNS_8ios_baseEPc"].apply(null,arguments)};var __ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw=Module["__ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw"]=function(){return Module["asm"]["__ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw"].apply(null,arguments)};var __ZNKSt3__29__num_getIwE12__do_widen_pERNS_8ios_baseEPc=Module["__ZNKSt3__29__num_getIwE12__do_widen_pERNS_8ios_baseEPc"]=function(){return Module["asm"]["__ZNKSt3__29__num_getIwE12__do_widen_pERNS_8ios_baseEPc"].apply(null,arguments)};var __ZNKSt3__29__num_getIwE12__do_widen_pIwEEPKT_RNS_8ios_baseEPS3_=Module["__ZNKSt3__29__num_getIwE12__do_widen_pIwEEPKT_RNS_8ios_baseEPS3_"]=function(){return Module["asm"]["__ZNKSt3__29__num_getIwE12__do_widen_pIwEEPKT_RNS_8ios_baseEPS3_"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE10exceptionsEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE10exceptionsEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE10exceptionsEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE3badEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE3badEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE3badEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE3eofEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE3eofEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE3eofEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE3tieEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE3tieEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE3tieEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE4failEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE4failEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE4failEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE4fillEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE4fillEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE4fillEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE4goodEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE4goodEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE4goodEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE5rdbufEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE5rdbufEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE5rdbufEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE5widenEc=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE5widenEc"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE5widenEc"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE6narrowEcc=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE6narrowEcc"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE6narrowEcc"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE7rdstateEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE7rdstateEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEE7rdstateEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEEcvbEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEEcvbEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEEcvbEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIcNS_11char_traitsIcEEEntEv=Module["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEEntEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIcNS_11char_traitsIcEEEntEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE10exceptionsEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE10exceptionsEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE10exceptionsEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE3badEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE3badEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE3badEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE3eofEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE3eofEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE3eofEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE3tieEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE3tieEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE3tieEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE4failEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE4failEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE4failEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE4fillEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE4fillEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE4fillEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE4goodEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE4goodEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE4goodEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE5rdbufEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE5rdbufEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE5rdbufEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE5widenEc=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE5widenEc"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE5widenEc"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE6narrowEwc=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE6narrowEwc"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE6narrowEwc"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE7rdstateEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE7rdstateEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEE7rdstateEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEEcvbEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEEcvbEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEEcvbEv"].apply(null,arguments)};var __ZNKSt3__29basic_iosIwNS_11char_traitsIwEEEntEv=Module["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEEntEv"]=function(){return Module["asm"]["__ZNKSt3__29basic_iosIwNS_11char_traitsIwEEEntEv"].apply(null,arguments)};var __ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE=Module["__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_bRNS_8ios_baseERjRe=Module["__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_bRNS_8ios_baseERjRe"]=function(){return Module["asm"]["__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_bRNS_8ios_baseERjRe"].apply(null,arguments)};var __ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE=Module["__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe=Module["__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe"]=function(){return Module["asm"]["__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe"].apply(null,arguments)};var __ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE=Module["__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE"]=function(){return Module["asm"]["__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE"].apply(null,arguments)};var __ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_bRNS_8ios_baseERjRe=Module["__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_bRNS_8ios_baseERjRe"]=function(){return Module["asm"]["__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_bRNS_8ios_baseERjRe"].apply(null,arguments)};var __ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE=Module["__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE"]=function(){return Module["asm"]["__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE"].apply(null,arguments)};var __ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe=Module["__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe"]=function(){return Module["asm"]["__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe"].apply(null,arguments)};var __ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE=Module["__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_bRNS_8ios_baseEce=Module["__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_bRNS_8ios_baseEce"]=function(){return Module["asm"]["__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_bRNS_8ios_baseEce"].apply(null,arguments)};var __ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE=Module["__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce=Module["__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce"]=function(){return Module["asm"]["__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce"].apply(null,arguments)};var __ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE=Module["__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE"]=function(){return Module["asm"]["__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE"].apply(null,arguments)};var __ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_bRNS_8ios_baseEwe=Module["__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_bRNS_8ios_baseEwe"]=function(){return Module["asm"]["__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_bRNS_8ios_baseEwe"].apply(null,arguments)};var __ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE=Module["__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE"]=function(){return Module["asm"]["__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE"].apply(null,arguments)};var __ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe=Module["__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe"]=function(){return Module["asm"]["__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe"].apply(null,arguments)};var __ZNKSt8bad_cast4whatEv=Module["__ZNKSt8bad_cast4whatEv"]=function(){return Module["asm"]["__ZNKSt8bad_cast4whatEv"].apply(null,arguments)};var __ZNKSt9bad_alloc4whatEv=Module["__ZNKSt9bad_alloc4whatEv"]=function(){return Module["asm"]["__ZNKSt9bad_alloc4whatEv"].apply(null,arguments)};var __ZNKSt9exception4whatEv=Module["__ZNKSt9exception4whatEv"]=function(){return Module["asm"]["__ZNKSt9exception4whatEv"].apply(null,arguments)};var __ZNSt10bad_typeidC2Ev=Module["__ZNSt10bad_typeidC2Ev"]=function(){return Module["asm"]["__ZNSt10bad_typeidC2Ev"].apply(null,arguments)};var __ZNSt10bad_typeidD0Ev=Module["__ZNSt10bad_typeidD0Ev"]=function(){return Module["asm"]["__ZNSt10bad_typeidD0Ev"].apply(null,arguments)};var __ZNSt10bad_typeidD2Ev=Module["__ZNSt10bad_typeidD2Ev"]=function(){return Module["asm"]["__ZNSt10bad_typeidD2Ev"].apply(null,arguments)};var __ZNSt11logic_errorC2EPKc=Module["__ZNSt11logic_errorC2EPKc"]=function(){return Module["asm"]["__ZNSt11logic_errorC2EPKc"].apply(null,arguments)};var __ZNSt11logic_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt11logic_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt11logic_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt11logic_errorC2ERKS_=Module["__ZNSt11logic_errorC2ERKS_"]=function(){return Module["asm"]["__ZNSt11logic_errorC2ERKS_"].apply(null,arguments)};var __ZNSt11logic_errorD0Ev=Module["__ZNSt11logic_errorD0Ev"]=function(){return Module["asm"]["__ZNSt11logic_errorD0Ev"].apply(null,arguments)};var __ZNSt11logic_errorD2Ev=Module["__ZNSt11logic_errorD2Ev"]=function(){return Module["asm"]["__ZNSt11logic_errorD2Ev"].apply(null,arguments)};var __ZNSt11logic_erroraSERKS_=Module["__ZNSt11logic_erroraSERKS_"]=function(){return Module["asm"]["__ZNSt11logic_erroraSERKS_"].apply(null,arguments)};var __ZNSt11range_errorD0Ev=Module["__ZNSt11range_errorD0Ev"]=function(){return Module["asm"]["__ZNSt11range_errorD0Ev"].apply(null,arguments)};var __ZNSt12bad_any_castD0Ev=Module["__ZNSt12bad_any_castD0Ev"]=function(){return Module["asm"]["__ZNSt12bad_any_castD0Ev"].apply(null,arguments)};var __ZNSt12domain_errorD0Ev=Module["__ZNSt12domain_errorD0Ev"]=function(){return Module["asm"]["__ZNSt12domain_errorD0Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v110hash_valueERKNS1_4pathE=Module["__ZNSt12experimental10filesystem2v110hash_valueERKNS1_4pathE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v110hash_valueERKNS1_4pathE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v111__canonicalERKNS1_4pathES4_PNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v111__canonicalERKNS1_4pathES4_PNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v111__canonicalERKNS1_4pathES4_PNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v111__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v111__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v111__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v111__file_sizeERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v111__file_sizeERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v111__file_sizeERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v111time_detail12_GLOBAL__N_112fs_time_utilINSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEl8timespecE11checked_setIlxEEbPT_T0_=Module["__ZNSt12experimental10filesystem2v111time_detail12_GLOBAL__N_112fs_time_utilINSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEl8timespecE11checked_setIlxEEbPT_T0_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v111time_detail12_GLOBAL__N_112fs_time_utilINSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEl8timespecE11checked_setIlxEEbPT_T0_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v111time_detail12_GLOBAL__N_112fs_time_utilINSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEl8timespecE16convert_timespecESE_=Module["__ZNSt12experimental10filesystem2v111time_detail12_GLOBAL__N_112fs_time_utilINSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEl8timespecE16convert_timespecESE_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v111time_detail12_GLOBAL__N_112fs_time_utilINSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEl8timespecE16convert_timespecESE_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v111time_detail12_GLOBAL__N_112fs_time_utilINSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEl8timespecE17set_times_checkedINS9_IxNSA_ILx1ELx1000000000EEEEElEEbPlPT0_SD_=Module["__ZNSt12experimental10filesystem2v111time_detail12_GLOBAL__N_112fs_time_utilINSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEl8timespecE17set_times_checkedINS9_IxNSA_ILx1ELx1000000000EEEEElEEbPlPT0_SD_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v111time_detail12_GLOBAL__N_112fs_time_utilINSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEl8timespecE17set_times_checkedINS9_IxNSA_ILx1ELx1000000000EEEEElEEbPlPT0_SD_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112_GLOBAL__N_115remove_all_implERKNS1_4pathERNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v112_GLOBAL__N_115remove_all_implERKNS1_4pathERNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112_GLOBAL__N_115remove_all_implERKNS1_4pathERNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail12set_or_throwIJEEEbRNSt3__210error_codeEPS6_PKcDpOT_=Module["__ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail12set_or_throwIJEEEbRNSt3__210error_codeEPS6_PKcDpOT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail12set_or_throwIJEEEbRNSt3__210error_codeEPS6_PKcDpOT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail12set_or_throwIJRKNS1_4pathEEEEbRNSt3__210error_codeEPS9_PKcDpOT_=Module["__ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail12set_or_throwIJRKNS1_4pathEEEEbRNSt3__210error_codeEPS9_PKcDpOT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail12set_or_throwIJRKNS1_4pathEEEEbRNSt3__210error_codeEPS9_PKcDpOT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail13capture_errnoEv=Module["__ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail13capture_errnoEv"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail13capture_errnoEv"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail13posix_readdirEP11__dirstreamRNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail13posix_readdirEP11__dirstreamRNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112_GLOBAL__N_16detail13posix_readdirEP11__dirstreamRNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112__dir_stream5closeEv=Module["__ZNSt12experimental10filesystem2v112__dir_stream5closeEv"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112__dir_stream5closeEv"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112__dir_stream7advanceERNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v112__dir_stream7advanceERNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112__dir_stream7advanceERNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112__dir_streamC2EOS2_=Module["__ZNSt12experimental10filesystem2v112__dir_streamC2EOS2_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112__dir_streamC2EOS2_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112__dir_streamC2ERKNS1_4pathENS1_17directory_optionsERNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v112__dir_streamC2ERKNS1_4pathENS1_17directory_optionsERNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112__dir_streamC2ERKNS1_4pathENS1_17directory_optionsERNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112__dir_streamD2Ev=Module["__ZNSt12experimental10filesystem2v112__dir_streamD2Ev"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112__dir_streamD2Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112__equivalentERKNS1_4pathES4_PNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v112__equivalentERKNS1_4pathES4_PNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112__equivalentERKNS1_4pathES4_PNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v112__remove_allERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v112__remove_allERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v112__remove_allERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v113__fs_is_emptyERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v113__fs_is_emptyERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v113__fs_is_emptyERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v113__permissionsERKNS1_4pathENS1_5permsEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v113__permissionsERKNS1_4pathENS1_5permsEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v113__permissionsERKNS1_4pathENS1_5permsEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v113__resize_fileERKNS1_4pathEyPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v113__resize_fileERKNS1_4pathEyPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v113__resize_fileERKNS1_4pathEyPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v114__copy_symlinkERKNS1_4pathES4_PNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v114__copy_symlinkERKNS1_4pathES4_PNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v114__copy_symlinkERKNS1_4pathES4_PNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v114__current_pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v114__current_pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v114__current_pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v114__current_pathERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v114__current_pathERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v114__current_pathERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v114__is_separatorIcEENSt3__29enable_ifIXsr18__can_convert_charIT_EE5valueEbE4typeES5_=Module["__ZNSt12experimental10filesystem2v114__is_separatorIcEENSt3__29enable_ifIXsr18__can_convert_charIT_EE5valueEbE4typeES5_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v114__is_separatorIcEENSt3__29enable_ifIXsr18__can_convert_charIT_EE5valueEbE4typeES5_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v114__read_symlinkERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v114__read_symlinkERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v114__read_symlinkERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v115directory_entryC2EOS2_=Module["__ZNSt12experimental10filesystem2v115directory_entryC2EOS2_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v115directory_entryC2EOS2_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v115directory_entryC2Ev=Module["__ZNSt12experimental10filesystem2v115directory_entryC2Ev"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v115directory_entryC2Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v115directory_entryD2Ev=Module["__ZNSt12experimental10filesystem2v115directory_entryD2Ev"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v115directory_entryD2Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v116__create_symlinkERKNS1_4pathES4_PNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v116__create_symlinkERKNS1_4pathES4_PNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v116__create_symlinkERKNS1_4pathES4_PNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v116__symlink_statusERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v116__symlink_statusERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v116__symlink_statusERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v116filesystem_errorD0Ev=Module["__ZNSt12experimental10filesystem2v116filesystem_errorD0Ev"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v116filesystem_errorD0Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v116filesystem_errorD2Ev=Module["__ZNSt12experimental10filesystem2v116filesystem_errorD2Ev"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v116filesystem_errorD2Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v117__hard_link_countERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v117__hard_link_countERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v117__hard_link_countERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v117__last_write_timeERKNS1_4pathENSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEPNS5_10error_codeE=Module["__ZNSt12experimental10filesystem2v117__last_write_timeERKNS1_4pathENSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEPNS5_10error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v117__last_write_timeERKNS1_4pathENSt3__26chrono10time_pointINS6_12system_clockENS6_8durationIxNS5_5ratioILx1ELx1000000EEEEEEEPNS5_10error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v117__last_write_timeERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v117__last_write_timeERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v117__last_write_timeERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v117__system_completeERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v117__system_completeERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v117__system_completeERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118__create_directoryERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v118__create_directoryERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118__create_directoryERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118__create_directoryERKNS1_4pathES4_PNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v118__create_directoryERKNS1_4pathES4_PNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118__create_directoryERKNS1_4pathES4_PNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118__create_hard_linkERKNS1_4pathES4_PNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v118__create_hard_linkERKNS1_4pathES4_PNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118__create_hard_linkERKNS1_4pathES4_PNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118directory_iterator11__incrementEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v118directory_iterator11__incrementEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118directory_iterator11__incrementEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118directory_iterator9incrementERNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v118directory_iterator9incrementERNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118directory_iterator9incrementERNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathE=Module["__ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathEPNSt3__210error_codeENS1_17directory_optionsE=Module["__ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathEPNSt3__210error_codeENS1_17directory_optionsE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathEPNSt3__210error_codeENS1_17directory_optionsE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathERNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathERNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathERNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118directory_iteratorC2Ev=Module["__ZNSt12experimental10filesystem2v118directory_iteratorC2Ev"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118directory_iteratorC2Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v118directory_iteratorD2Ev=Module["__ZNSt12experimental10filesystem2v118directory_iteratorD2Ev"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v118directory_iteratorD2Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v120__create_directoriesERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v120__create_directoriesERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v120__create_directoriesERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v120__is_pathable_stringINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEvE11__range_endERKS9_=Module["__ZNSt12experimental10filesystem2v120__is_pathable_stringINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEvE11__range_endERKS9_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v120__is_pathable_stringINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEvE11__range_endERKS9_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v120__is_pathable_stringINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEvE13__range_beginERKS9_=Module["__ZNSt12experimental10filesystem2v120__is_pathable_stringINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEvE13__range_beginERKS9_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v120__is_pathable_stringINSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEvE13__range_beginERKS9_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v121__temp_directory_pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v121__temp_directory_pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v121__temp_directory_pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIA4097_cPccLb1EE11__range_endEPKc=Module["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIA4097_cPccLb1EE11__range_endEPKc"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIA4097_cPccLb1EE11__range_endEPKc"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIA4097_cPccLb1EE13__range_beginEPKc=Module["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIA4097_cPccLb1EE13__range_beginEPKc"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIA4097_cPccLb1EE13__range_beginEPKc"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPKcS4_cLb1EE11__range_endES4_=Module["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPKcS4_cLb1EE11__range_endES4_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPKcS4_cLb1EE11__range_endES4_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPKcS4_cLb1EE13__range_beginES4_=Module["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPKcS4_cLb1EE13__range_beginES4_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPKcS4_cLb1EE13__range_beginES4_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPcS3_cLb1EE11__range_endEPKc=Module["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPcS3_cLb1EE11__range_endEPKc"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPcS3_cLb1EE11__range_endEPKc"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPcS3_cLb1EE13__range_beginEPKc=Module["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPcS3_cLb1EE13__range_beginEPKc"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v124__is_pathable_char_arrayIPcS3_cLb1EE13__range_beginEPKc"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v126__create_directory_symlinkERKNS1_4pathES4_PNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v126__create_directory_symlinkERKNS1_4pathES4_PNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v126__create_directory_symlinkERKNS1_4pathES4_PNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v128recursive_directory_iterator11__incrementEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v128recursive_directory_iterator11__incrementEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v128recursive_directory_iterator11__incrementEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impC2Ev=Module["__ZNSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impC2Ev"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impC2Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impD2Ev=Module["__ZNSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impD2Ev"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impD2Ev"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v128recursive_directory_iterator15__try_recursionEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v128recursive_directory_iterator15__try_recursionEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v128recursive_directory_iterator15__try_recursionEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v128recursive_directory_iterator5__popEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v128recursive_directory_iterator5__popEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v128recursive_directory_iterator5__popEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v128recursive_directory_iterator9__advanceEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v128recursive_directory_iterator9__advanceEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v128recursive_directory_iterator9__advanceEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v128recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v128recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v128recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v14path17replace_extensionERKS2_=Module["__ZNSt12experimental10filesystem2v14path17replace_extensionERKS2_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v14path17replace_extensionERKS2_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v14path22__append_sep_if_neededIcEEvT_=Module["__ZNSt12experimental10filesystem2v14path22__append_sep_if_neededIcEEvT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v14path22__append_sep_if_neededIcEEvT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v14path8iterator11__decrementEv=Module["__ZNSt12experimental10filesystem2v14path8iterator11__decrementEv"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v14path8iterator11__decrementEv"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v14path8iterator11__incrementEv=Module["__ZNSt12experimental10filesystem2v14path8iterator11__incrementEv"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v14path8iterator11__incrementEv"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v14pathC2IA4097_cvEERKT_=Module["__ZNSt12experimental10filesystem2v14pathC2IA4097_cvEERKT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v14pathC2IA4097_cvEERKT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v14pathC2INSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEvEERKT_=Module["__ZNSt12experimental10filesystem2v14pathC2INSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEvEERKT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v14pathC2INSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEvEERKT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v14pathC2IPKcvEERKT_=Module["__ZNSt12experimental10filesystem2v14pathC2IPKcvEERKT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v14pathC2IPKcvEERKT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v14pathC2IPcvEERKT_=Module["__ZNSt12experimental10filesystem2v14pathC2IPcvEERKT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v14pathC2IPcvEERKT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v14pathdVERKS2_=Module["__ZNSt12experimental10filesystem2v14pathdVERKS2_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v14pathdVERKS2_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16__copyERKNS1_4pathES4_NS1_12copy_optionsEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v16__copyERKNS1_4pathES4_NS1_12copy_optionsEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16__copyERKNS1_4pathES4_NS1_12copy_optionsEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_110posix_statERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_110posix_statERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_110posix_statERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_110posix_statERKNS1_4pathER4statPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_110posix_statERKNS1_4pathER4statPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_110posix_statERKNS1_4pathER4statPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_111posix_lstatERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_111posix_lstatERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_111posix_lstatERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_111posix_lstatERKNS1_4pathER4statPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_111posix_lstatERKNS1_4pathER4statPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_111posix_lstatERKNS1_4pathER4statPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_112set_or_throwEPNSt3__210error_codeEPKcRKNS1_4pathESB_=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_112set_or_throwEPNSt3__210error_codeEPKcRKNS1_4pathESB_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_112set_or_throwEPNSt3__210error_codeEPKcRKNS1_4pathESB_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_112set_or_throwERKNSt3__210error_codeEPS5_PKcRKNS1_4pathESD_=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_112set_or_throwERKNSt3__210error_codeEPS5_PKcRKNS1_4pathESD_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_112set_or_throwERKNSt3__210error_codeEPS5_PKcRKNS1_4pathESD_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_113capture_errnoEv=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_113capture_errnoEv"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_113capture_errnoEv"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_113extract_mtimeERK4stat=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_113extract_mtimeERK4stat"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_113extract_mtimeERK4stat"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_114copy_file_implERKNS1_4pathES6_NS1_5permsEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_114copy_file_implERKNS1_4pathES6_NS1_5permsEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_114copy_file_implERKNS1_4pathES6_NS1_5permsEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_115posix_get_permsERK4stat=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_115posix_get_permsERK4stat"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_115posix_get_permsERK4stat"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_115stat_equivalentER4statS5_=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_115stat_equivalentER4statS5_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_115stat_equivalentER4statS5_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_118create_file_statusERNSt3__210error_codeERKNS1_4pathER4statPS5_=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_118create_file_statusERNSt3__210error_codeERKNS1_4pathER4statPS5_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_118create_file_statusERNSt3__210error_codeERKNS1_4pathER4statPS5_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_119posix_convert_permsENS1_5permsE=Module["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_119posix_convert_permsENS1_5permsE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v16detail12_GLOBAL__N_119posix_convert_permsENS1_5permsE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v17__spaceERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v17__spaceERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v17__spaceERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v18_PathCVTIcE14__append_rangeIPKcEENSt3__29enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeERNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEES9_S9_=Module["__ZNSt12experimental10filesystem2v18_PathCVTIcE14__append_rangeIPKcEENSt3__29enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeERNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEES9_S9_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v18_PathCVTIcE14__append_rangeIPKcEENSt3__29enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeERNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEES9_S9_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceIA4097_cEEvRNSt3__212basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKT_=Module["__ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceIA4097_cEEvRNSt3__212basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceIA4097_cEEvRNSt3__212basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceINSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEEEEvRSB_RKT_=Module["__ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceINSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEEEEvRSB_RKT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceINSt3__212basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEEEEvRSB_RKT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceIPKcEEvRNSt3__212basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEERKT_=Module["__ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceIPKcEEvRNSt3__212basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEERKT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceIPKcEEvRNSt3__212basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEERKT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceIPcEEvRNSt3__212basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKT_=Module["__ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceIPcEEvRNSt3__212basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKT_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v18_PathCVTIcE15__append_sourceIPcEEvRNSt3__212basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKT_"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v18__removeERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v18__removeERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v18__removeERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v18__renameERKNS1_4pathES4_PNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v18__renameERKNS1_4pathES4_PNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v18__renameERKNS1_4pathES4_PNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v18__statusERKNS1_4pathEPNSt3__210error_codeE=Module["__ZNSt12experimental10filesystem2v18__statusERKNS1_4pathEPNSt3__210error_codeE"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v18__statusERKNS1_4pathEPNSt3__210error_codeE"].apply(null,arguments)};var __ZNSt12experimental10filesystem2v18absoluteERKNS1_4pathES4_=Module["__ZNSt12experimental10filesystem2v18absoluteERKNS1_4pathES4_"]=function(){return Module["asm"]["__ZNSt12experimental10filesystem2v18absoluteERKNS1_4pathES4_"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v112bad_any_castD0Ev=Module["__ZNSt12experimental15fundamentals_v112bad_any_castD0Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v112bad_any_castD0Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr12_GLOBAL__N_118ResourceInitHelper3__0C2Ev=Module["__ZNSt12experimental15fundamentals_v13pmr12_GLOBAL__N_118ResourceInitHelper3__0C2Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr12_GLOBAL__N_118ResourceInitHelper3__0C2Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr12_GLOBAL__N_118ResourceInitHelperC2Ev=Module["__ZNSt12experimental15fundamentals_v13pmr12_GLOBAL__N_118ResourceInitHelperC2Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr12_GLOBAL__N_118ResourceInitHelperC2Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr15memory_resourceC2Ev=Module["__ZNSt12experimental15fundamentals_v13pmr15memory_resourceC2Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr15memory_resourceC2Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr15memory_resourceD0Ev=Module["__ZNSt12experimental15fundamentals_v13pmr15memory_resourceD0Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr15memory_resourceD0Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr15memory_resourceD2Ev=Module["__ZNSt12experimental15fundamentals_v13pmr15memory_resourceD2Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr15memory_resourceD2Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr19new_delete_resourceEv=Module["__ZNSt12experimental15fundamentals_v13pmr19new_delete_resourceEv"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr19new_delete_resourceEv"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr20get_default_resourceEv=Module["__ZNSt12experimental15fundamentals_v13pmr20get_default_resourceEv"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr20get_default_resourceEv"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr20null_memory_resourceEv=Module["__ZNSt12experimental15fundamentals_v13pmr20null_memory_resourceEv"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr20null_memory_resourceEv"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr20set_default_resourceEPNS1_15memory_resourceE=Module["__ZNSt12experimental15fundamentals_v13pmr20set_default_resourceEPNS1_15memory_resourceE"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr20set_default_resourceEPNS1_15memory_resourceE"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_imp11do_allocateEmm=Module["__ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_imp11do_allocateEmm"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_imp11do_allocateEmm"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_imp13do_deallocateEPvmm=Module["__ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_imp13do_deallocateEPvmm"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_imp13do_deallocateEPvmm"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_impC2Ev=Module["__ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_impC2Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_impC2Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_impD0Ev=Module["__ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_impD0Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr26__null_memory_resource_impD0Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_imp11do_allocateEmm=Module["__ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_imp11do_allocateEmm"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_imp11do_allocateEmm"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_imp13do_deallocateEPvmm=Module["__ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_imp13do_deallocateEPvmm"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_imp13do_deallocateEPvmm"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_impC2Ev=Module["__ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_impC2Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_impC2Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_impD0Ev=Module["__ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_impD0Ev"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_impD0Ev"].apply(null,arguments)};var __ZNSt12experimental15fundamentals_v13pmrL25__default_memory_resourceEbPNS1_15memory_resourceE=Module["__ZNSt12experimental15fundamentals_v13pmrL25__default_memory_resourceEbPNS1_15memory_resourceE"]=function(){return Module["asm"]["__ZNSt12experimental15fundamentals_v13pmrL25__default_memory_resourceEbPNS1_15memory_resourceE"].apply(null,arguments)};var __ZNSt12experimental19bad_optional_accessD0Ev=Module["__ZNSt12experimental19bad_optional_accessD0Ev"]=function(){return Module["asm"]["__ZNSt12experimental19bad_optional_accessD0Ev"].apply(null,arguments)};var __ZNSt12experimental19bad_optional_accessD2Ev=Module["__ZNSt12experimental19bad_optional_accessD2Ev"]=function(){return Module["asm"]["__ZNSt12experimental19bad_optional_accessD2Ev"].apply(null,arguments)};var __ZNSt12length_errorD0Ev=Module["__ZNSt12length_errorD0Ev"]=function(){return Module["asm"]["__ZNSt12length_errorD0Ev"].apply(null,arguments)};var __ZNSt12out_of_rangeD0Ev=Module["__ZNSt12out_of_rangeD0Ev"]=function(){return Module["asm"]["__ZNSt12out_of_rangeD0Ev"].apply(null,arguments)};var __ZNSt13bad_exceptionD0Ev=Module["__ZNSt13bad_exceptionD0Ev"]=function(){return Module["asm"]["__ZNSt13bad_exceptionD0Ev"].apply(null,arguments)};var __ZNSt13exception_ptrC2ERKS_=Module["__ZNSt13exception_ptrC2ERKS_"]=function(){return Module["asm"]["__ZNSt13exception_ptrC2ERKS_"].apply(null,arguments)};var __ZNSt13exception_ptrD2Ev=Module["__ZNSt13exception_ptrD2Ev"]=function(){return Module["asm"]["__ZNSt13exception_ptrD2Ev"].apply(null,arguments)};var __ZNSt13exception_ptraSERKS_=Module["__ZNSt13exception_ptraSERKS_"]=function(){return Module["asm"]["__ZNSt13exception_ptraSERKS_"].apply(null,arguments)};var __ZNSt13runtime_errorC2EPKc=Module["__ZNSt13runtime_errorC2EPKc"]=function(){return Module["asm"]["__ZNSt13runtime_errorC2EPKc"].apply(null,arguments)};var __ZNSt13runtime_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt13runtime_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt13runtime_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt13runtime_errorC2ERKS_=Module["__ZNSt13runtime_errorC2ERKS_"]=function(){return Module["asm"]["__ZNSt13runtime_errorC2ERKS_"].apply(null,arguments)};var __ZNSt13runtime_errorD0Ev=Module["__ZNSt13runtime_errorD0Ev"]=function(){return Module["asm"]["__ZNSt13runtime_errorD0Ev"].apply(null,arguments)};var __ZNSt13runtime_errorD2Ev=Module["__ZNSt13runtime_errorD2Ev"]=function(){return Module["asm"]["__ZNSt13runtime_errorD2Ev"].apply(null,arguments)};var __ZNSt13runtime_erroraSERKS_=Module["__ZNSt13runtime_erroraSERKS_"]=function(){return Module["asm"]["__ZNSt13runtime_erroraSERKS_"].apply(null,arguments)};var __ZNSt14overflow_errorD0Ev=Module["__ZNSt14overflow_errorD0Ev"]=function(){return Module["asm"]["__ZNSt14overflow_errorD0Ev"].apply(null,arguments)};var __ZNSt15underflow_errorD0Ev=Module["__ZNSt15underflow_errorD0Ev"]=function(){return Module["asm"]["__ZNSt15underflow_errorD0Ev"].apply(null,arguments)};var __ZNSt16bad_array_lengthC2Ev=Module["__ZNSt16bad_array_lengthC2Ev"]=function(){return Module["asm"]["__ZNSt16bad_array_lengthC2Ev"].apply(null,arguments)};var __ZNSt16bad_array_lengthD0Ev=Module["__ZNSt16bad_array_lengthD0Ev"]=function(){return Module["asm"]["__ZNSt16bad_array_lengthD0Ev"].apply(null,arguments)};var __ZNSt16invalid_argumentD0Ev=Module["__ZNSt16invalid_argumentD0Ev"]=function(){return Module["asm"]["__ZNSt16invalid_argumentD0Ev"].apply(null,arguments)};var __ZNSt16nested_exceptionC2Ev=Module["__ZNSt16nested_exceptionC2Ev"]=function(){return Module["asm"]["__ZNSt16nested_exceptionC2Ev"].apply(null,arguments)};var __ZNSt16nested_exceptionD0Ev=Module["__ZNSt16nested_exceptionD0Ev"]=function(){return Module["asm"]["__ZNSt16nested_exceptionD0Ev"].apply(null,arguments)};var __ZNSt16nested_exceptionD2Ev=Module["__ZNSt16nested_exceptionD2Ev"]=function(){return Module["asm"]["__ZNSt16nested_exceptionD2Ev"].apply(null,arguments)};var __ZNSt18bad_variant_accessD0Ev=Module["__ZNSt18bad_variant_accessD0Ev"]=function(){return Module["asm"]["__ZNSt18bad_variant_accessD0Ev"].apply(null,arguments)};var __ZNSt19bad_optional_accessD0Ev=Module["__ZNSt19bad_optional_accessD0Ev"]=function(){return Module["asm"]["__ZNSt19bad_optional_accessD0Ev"].apply(null,arguments)};var __ZNSt19bad_optional_accessD2Ev=Module["__ZNSt19bad_optional_accessD2Ev"]=function(){return Module["asm"]["__ZNSt19bad_optional_accessD2Ev"].apply(null,arguments)};var __ZNSt20bad_array_new_lengthC2Ev=Module["__ZNSt20bad_array_new_lengthC2Ev"]=function(){return Module["asm"]["__ZNSt20bad_array_new_lengthC2Ev"].apply(null,arguments)};var __ZNSt20bad_array_new_lengthD0Ev=Module["__ZNSt20bad_array_new_lengthD0Ev"]=function(){return Module["asm"]["__ZNSt20bad_array_new_lengthD0Ev"].apply(null,arguments)};var __ZNSt3__210__find_endIPFbccEPKcS4_EET0_S5_S5_T1_S6_T_NS_26random_access_iterator_tagES8_=Module["__ZNSt3__210__find_endIPFbccEPKcS4_EET0_S5_S5_T1_S6_T_NS_26random_access_iterator_tagES8_"]=function(){return Module["asm"]["__ZNSt3__210__find_endIPFbccEPKcS4_EET0_S5_S5_T1_S6_T_NS_26random_access_iterator_tagES8_"].apply(null,arguments)};var __ZNSt3__210__find_endIPFbwwEPKwS4_EET0_S5_S5_T1_S6_T_NS_26random_access_iterator_tagES8_=Module["__ZNSt3__210__find_endIPFbwwEPKwS4_EET0_S5_S5_T1_S6_T_NS_26random_access_iterator_tagES8_"]=function(){return Module["asm"]["__ZNSt3__210__find_endIPFbwwEPKwS4_EET0_S5_S5_T1_S6_T_NS_26random_access_iterator_tagES8_"].apply(null,arguments)};var __ZNSt3__210__stdinbufIcE5imbueERKNS_6localeE=Module["__ZNSt3__210__stdinbufIcE5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIcE5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__210__stdinbufIcE5uflowEv=Module["__ZNSt3__210__stdinbufIcE5uflowEv"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIcE5uflowEv"].apply(null,arguments)};var __ZNSt3__210__stdinbufIcE9__getcharEb=Module["__ZNSt3__210__stdinbufIcE9__getcharEb"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIcE9__getcharEb"].apply(null,arguments)};var __ZNSt3__210__stdinbufIcE9pbackfailEi=Module["__ZNSt3__210__stdinbufIcE9pbackfailEi"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIcE9pbackfailEi"].apply(null,arguments)};var __ZNSt3__210__stdinbufIcE9underflowEv=Module["__ZNSt3__210__stdinbufIcE9underflowEv"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIcE9underflowEv"].apply(null,arguments)};var __ZNSt3__210__stdinbufIcEC2EP8_IO_FILEP11__mbstate_t=Module["__ZNSt3__210__stdinbufIcEC2EP8_IO_FILEP11__mbstate_t"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIcEC2EP8_IO_FILEP11__mbstate_t"].apply(null,arguments)};var __ZNSt3__210__stdinbufIcED0Ev=Module["__ZNSt3__210__stdinbufIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIcED0Ev"].apply(null,arguments)};var __ZNSt3__210__stdinbufIwE5imbueERKNS_6localeE=Module["__ZNSt3__210__stdinbufIwE5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIwE5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__210__stdinbufIwE5uflowEv=Module["__ZNSt3__210__stdinbufIwE5uflowEv"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIwE5uflowEv"].apply(null,arguments)};var __ZNSt3__210__stdinbufIwE9__getcharEb=Module["__ZNSt3__210__stdinbufIwE9__getcharEb"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIwE9__getcharEb"].apply(null,arguments)};var __ZNSt3__210__stdinbufIwE9pbackfailEj=Module["__ZNSt3__210__stdinbufIwE9pbackfailEj"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIwE9pbackfailEj"].apply(null,arguments)};var __ZNSt3__210__stdinbufIwE9underflowEv=Module["__ZNSt3__210__stdinbufIwE9underflowEv"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIwE9underflowEv"].apply(null,arguments)};var __ZNSt3__210__stdinbufIwEC2EP8_IO_FILEP11__mbstate_t=Module["__ZNSt3__210__stdinbufIwEC2EP8_IO_FILEP11__mbstate_t"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIwEC2EP8_IO_FILEP11__mbstate_t"].apply(null,arguments)};var __ZNSt3__210__stdinbufIwED0Ev=Module["__ZNSt3__210__stdinbufIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__210__stdinbufIwED0Ev"].apply(null,arguments)};var __ZNSt3__210__time_getC2EPKc=Module["__ZNSt3__210__time_getC2EPKc"]=function(){return Module["asm"]["__ZNSt3__210__time_getC2EPKc"].apply(null,arguments)};var __ZNSt3__210__time_getC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__210__time_getC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__210__time_getC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__210__time_getD2Ev=Module["__ZNSt3__210__time_getD2Ev"]=function(){return Module["asm"]["__ZNSt3__210__time_getD2Ev"].apply(null,arguments)};var __ZNSt3__210__time_putC2EPKc=Module["__ZNSt3__210__time_putC2EPKc"]=function(){return Module["asm"]["__ZNSt3__210__time_putC2EPKc"].apply(null,arguments)};var __ZNSt3__210__time_putC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__210__time_putC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__210__time_putC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__210__time_putD2Ev=Module["__ZNSt3__210__time_putD2Ev"]=function(){return Module["asm"]["__ZNSt3__210__time_putD2Ev"].apply(null,arguments)};var __ZNSt3__210istrstreamD0Ev=Module["__ZNSt3__210istrstreamD0Ev"]=function(){return Module["asm"]["__ZNSt3__210istrstreamD0Ev"].apply(null,arguments)};var __ZNSt3__210istrstreamD1Ev=Module["__ZNSt3__210istrstreamD1Ev"]=function(){return Module["asm"]["__ZNSt3__210istrstreamD1Ev"].apply(null,arguments)};var __ZNSt3__210istrstreamD2Ev=Module["__ZNSt3__210istrstreamD2Ev"]=function(){return Module["asm"]["__ZNSt3__210istrstreamD2Ev"].apply(null,arguments)};var __ZNSt3__210moneypunctIcLb0EEC2Em=Module["__ZNSt3__210moneypunctIcLb0EEC2Em"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIcLb0EEC2Em"].apply(null,arguments)};var __ZNSt3__210moneypunctIcLb0EED0Ev=Module["__ZNSt3__210moneypunctIcLb0EED0Ev"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIcLb0EED0Ev"].apply(null,arguments)};var __ZNSt3__210moneypunctIcLb0EED2Ev=Module["__ZNSt3__210moneypunctIcLb0EED2Ev"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIcLb0EED2Ev"].apply(null,arguments)};var __ZNSt3__210moneypunctIcLb1EEC2Em=Module["__ZNSt3__210moneypunctIcLb1EEC2Em"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIcLb1EEC2Em"].apply(null,arguments)};var __ZNSt3__210moneypunctIcLb1EED0Ev=Module["__ZNSt3__210moneypunctIcLb1EED0Ev"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIcLb1EED0Ev"].apply(null,arguments)};var __ZNSt3__210moneypunctIcLb1EED2Ev=Module["__ZNSt3__210moneypunctIcLb1EED2Ev"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIcLb1EED2Ev"].apply(null,arguments)};var __ZNSt3__210moneypunctIwLb0EEC2Em=Module["__ZNSt3__210moneypunctIwLb0EEC2Em"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIwLb0EEC2Em"].apply(null,arguments)};var __ZNSt3__210moneypunctIwLb0EED0Ev=Module["__ZNSt3__210moneypunctIwLb0EED0Ev"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIwLb0EED0Ev"].apply(null,arguments)};var __ZNSt3__210moneypunctIwLb0EED2Ev=Module["__ZNSt3__210moneypunctIwLb0EED2Ev"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIwLb0EED2Ev"].apply(null,arguments)};var __ZNSt3__210moneypunctIwLb1EEC2Em=Module["__ZNSt3__210moneypunctIwLb1EEC2Em"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIwLb1EEC2Em"].apply(null,arguments)};var __ZNSt3__210moneypunctIwLb1EED0Ev=Module["__ZNSt3__210moneypunctIwLb1EED0Ev"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIwLb1EED0Ev"].apply(null,arguments)};var __ZNSt3__210moneypunctIwLb1EED2Ev=Module["__ZNSt3__210moneypunctIwLb1EED2Ev"]=function(){return Module["asm"]["__ZNSt3__210moneypunctIwLb1EED2Ev"].apply(null,arguments)};var __ZNSt3__210ostrstreamD0Ev=Module["__ZNSt3__210ostrstreamD0Ev"]=function(){return Module["asm"]["__ZNSt3__210ostrstreamD0Ev"].apply(null,arguments)};var __ZNSt3__210ostrstreamD1Ev=Module["__ZNSt3__210ostrstreamD1Ev"]=function(){return Module["asm"]["__ZNSt3__210ostrstreamD1Ev"].apply(null,arguments)};var __ZNSt3__210ostrstreamD2Ev=Module["__ZNSt3__210ostrstreamD2Ev"]=function(){return Module["asm"]["__ZNSt3__210ostrstreamD2Ev"].apply(null,arguments)};var __ZNSt3__210shared_ptrINS_4pairINSt12experimental10filesystem2v14pathES5_EEED2Ev=Module["__ZNSt3__210shared_ptrINS_4pairINSt12experimental10filesystem2v14pathES5_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__210shared_ptrINS_4pairINSt12experimental10filesystem2v14pathES5_EEED2Ev"].apply(null,arguments)};var __ZNSt3__210shared_ptrINSt12experimental10filesystem2v112__dir_streamEE11make_sharedIJRKNS3_4pathERNS3_17directory_optionsERNS_10error_codeEEEES5_DpOT_=Module["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v112__dir_streamEE11make_sharedIJRKNS3_4pathERNS3_17directory_optionsERNS_10error_codeEEEES5_DpOT_"]=function(){return Module["asm"]["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v112__dir_streamEE11make_sharedIJRKNS3_4pathERNS3_17directory_optionsERNS_10error_codeEEEES5_DpOT_"].apply(null,arguments)};var __ZNSt3__210shared_ptrINSt12experimental10filesystem2v112__dir_streamEE18__enable_weak_thisEz=Module["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v112__dir_streamEE18__enable_weak_thisEz"]=function(){return Module["asm"]["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v112__dir_streamEE18__enable_weak_thisEz"].apply(null,arguments)};var __ZNSt3__210shared_ptrINSt12experimental10filesystem2v112__dir_streamEED2Ev=Module["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v112__dir_streamEED2Ev"]=function(){return Module["asm"]["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v112__dir_streamEED2Ev"].apply(null,arguments)};var __ZNSt3__210shared_ptrINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impEE11make_sharedIJEEES6_DpOT_=Module["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impEE11make_sharedIJEEES6_DpOT_"]=function(){return Module["asm"]["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impEE11make_sharedIJEEES6_DpOT_"].apply(null,arguments)};var __ZNSt3__210shared_ptrINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impEE18__enable_weak_thisEz=Module["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impEE18__enable_weak_thisEz"]=function(){return Module["asm"]["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impEE18__enable_weak_thisEz"].apply(null,arguments)};var __ZNSt3__210shared_ptrINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impEED2Ev=Module["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impEED2Ev"]=function(){return Module["asm"]["__ZNSt3__210shared_ptrINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impEED2Ev"].apply(null,arguments)};var __ZNSt3__210to_wstringEd=Module["__ZNSt3__210to_wstringEd"]=function(){return Module["asm"]["__ZNSt3__210to_wstringEd"].apply(null,arguments)};var __ZNSt3__210to_wstringEe=Module["__ZNSt3__210to_wstringEe"]=function(){return Module["asm"]["__ZNSt3__210to_wstringEe"].apply(null,arguments)};var __ZNSt3__210to_wstringEf=Module["__ZNSt3__210to_wstringEf"]=function(){return Module["asm"]["__ZNSt3__210to_wstringEf"].apply(null,arguments)};var __ZNSt3__210to_wstringEi=Module["__ZNSt3__210to_wstringEi"]=function(){return Module["asm"]["__ZNSt3__210to_wstringEi"].apply(null,arguments)};var __ZNSt3__210to_wstringEj=Module["__ZNSt3__210to_wstringEj"]=function(){return Module["asm"]["__ZNSt3__210to_wstringEj"].apply(null,arguments)};var __ZNSt3__210to_wstringEl=Module["__ZNSt3__210to_wstringEl"]=function(){return Module["asm"]["__ZNSt3__210to_wstringEl"].apply(null,arguments)};var __ZNSt3__210to_wstringEm=Module["__ZNSt3__210to_wstringEm"]=function(){return Module["asm"]["__ZNSt3__210to_wstringEm"].apply(null,arguments)};var __ZNSt3__210to_wstringEx=Module["__ZNSt3__210to_wstringEx"]=function(){return Module["asm"]["__ZNSt3__210to_wstringEx"].apply(null,arguments)};var __ZNSt3__210to_wstringEy=Module["__ZNSt3__210to_wstringEy"]=function(){return Module["asm"]["__ZNSt3__210to_wstringEy"].apply(null,arguments)};var __ZNSt3__211__call_onceERVmPvPFvS2_E=Module["__ZNSt3__211__call_onceERVmPvPFvS2_E"]=function(){return Module["asm"]["__ZNSt3__211__call_onceERVmPvPFvS2_E"].apply(null,arguments)};var __ZNSt3__211__libcpp_db10__insert_cEPv=Module["__ZNSt3__211__libcpp_db10__insert_cEPv"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_db10__insert_cEPv"].apply(null,arguments)};var __ZNSt3__211__libcpp_db10__insert_iEPv=Module["__ZNSt3__211__libcpp_db10__insert_iEPv"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_db10__insert_iEPv"].apply(null,arguments)};var __ZNSt3__211__libcpp_db11__insert_icEPvPKv=Module["__ZNSt3__211__libcpp_db11__insert_icEPvPKv"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_db11__insert_icEPvPKv"].apply(null,arguments)};var __ZNSt3__211__libcpp_db15__iterator_copyEPvPKv=Module["__ZNSt3__211__libcpp_db15__iterator_copyEPvPKv"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_db15__iterator_copyEPvPKv"].apply(null,arguments)};var __ZNSt3__211__libcpp_db16__invalidate_allEPv=Module["__ZNSt3__211__libcpp_db16__invalidate_allEPv"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_db16__invalidate_allEPv"].apply(null,arguments)};var __ZNSt3__211__libcpp_db17__insert_iteratorEPv=Module["__ZNSt3__211__libcpp_db17__insert_iteratorEPv"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_db17__insert_iteratorEPv"].apply(null,arguments)};var __ZNSt3__211__libcpp_db4swapEPvS1_=Module["__ZNSt3__211__libcpp_db4swapEPvS1_"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_db4swapEPvS1_"].apply(null,arguments)};var __ZNSt3__211__libcpp_db9__erase_cEPv=Module["__ZNSt3__211__libcpp_db9__erase_cEPv"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_db9__erase_cEPv"].apply(null,arguments)};var __ZNSt3__211__libcpp_db9__erase_iEPv=Module["__ZNSt3__211__libcpp_db9__erase_iEPv"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_db9__erase_iEPv"].apply(null,arguments)};var __ZNSt3__211__libcpp_dbC2Ev=Module["__ZNSt3__211__libcpp_dbC2Ev"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_dbC2Ev"].apply(null,arguments)};var __ZNSt3__211__libcpp_dbD2Ev=Module["__ZNSt3__211__libcpp_dbD2Ev"]=function(){return Module["asm"]["__ZNSt3__211__libcpp_dbD2Ev"].apply(null,arguments)};var __ZNSt3__211__money_getIcE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_SF_Ri=Module["__ZNSt3__211__money_getIcE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_SF_Ri"]=function(){return Module["asm"]["__ZNSt3__211__money_getIcE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_SF_Ri"].apply(null,arguments)};var __ZNSt3__211__money_getIcEC2Ev=Module["__ZNSt3__211__money_getIcEC2Ev"]=function(){return Module["asm"]["__ZNSt3__211__money_getIcEC2Ev"].apply(null,arguments)};var __ZNSt3__211__money_getIwE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_SJ_Ri=Module["__ZNSt3__211__money_getIwE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_SJ_Ri"]=function(){return Module["asm"]["__ZNSt3__211__money_getIwE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_SJ_Ri"].apply(null,arguments)};var __ZNSt3__211__money_getIwEC2Ev=Module["__ZNSt3__211__money_getIwEC2Ev"]=function(){return Module["asm"]["__ZNSt3__211__money_getIwEC2Ev"].apply(null,arguments)};var __ZNSt3__211__money_putIcE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_Ri=Module["__ZNSt3__211__money_putIcE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_Ri"]=function(){return Module["asm"]["__ZNSt3__211__money_putIcE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_Ri"].apply(null,arguments)};var __ZNSt3__211__money_putIcE8__formatEPcRS2_S3_jPKcS5_RKNS_5ctypeIcEEbRKNS_10money_base7patternEccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESL_SL_i=Module["__ZNSt3__211__money_putIcE8__formatEPcRS2_S3_jPKcS5_RKNS_5ctypeIcEEbRKNS_10money_base7patternEccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESL_SL_i"]=function(){return Module["asm"]["__ZNSt3__211__money_putIcE8__formatEPcRS2_S3_jPKcS5_RKNS_5ctypeIcEEbRKNS_10money_base7patternEccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESL_SL_i"].apply(null,arguments)};var __ZNSt3__211__money_putIcEC2Ev=Module["__ZNSt3__211__money_putIcEC2Ev"]=function(){return Module["asm"]["__ZNSt3__211__money_putIcEC2Ev"].apply(null,arguments)};var __ZNSt3__211__money_putIwE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_Ri=Module["__ZNSt3__211__money_putIwE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_Ri"]=function(){return Module["asm"]["__ZNSt3__211__money_putIwE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_Ri"].apply(null,arguments)};var __ZNSt3__211__money_putIwE8__formatEPwRS2_S3_jPKwS5_RKNS_5ctypeIwEEbRKNS_10money_base7patternEwwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNSE_IwNSF_IwEENSH_IwEEEESQ_i=Module["__ZNSt3__211__money_putIwE8__formatEPwRS2_S3_jPKwS5_RKNS_5ctypeIwEEbRKNS_10money_base7patternEwwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNSE_IwNSF_IwEENSH_IwEEEESQ_i"]=function(){return Module["asm"]["__ZNSt3__211__money_putIwE8__formatEPwRS2_S3_jPKwS5_RKNS_5ctypeIwEEbRKNS_10money_base7patternEwwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNSE_IwNSF_IwEENSH_IwEEEESQ_i"].apply(null,arguments)};var __ZNSt3__211__money_putIwEC2Ev=Module["__ZNSt3__211__money_putIwEC2Ev"]=function(){return Module["asm"]["__ZNSt3__211__money_putIwEC2Ev"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIcE4syncEv=Module["__ZNSt3__211__stdoutbufIcE4syncEv"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIcE4syncEv"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIcE5imbueERKNS_6localeE=Module["__ZNSt3__211__stdoutbufIcE5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIcE5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIcE6xsputnEPKcl=Module["__ZNSt3__211__stdoutbufIcE6xsputnEPKcl"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIcE6xsputnEPKcl"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIcE8overflowEi=Module["__ZNSt3__211__stdoutbufIcE8overflowEi"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIcE8overflowEi"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIcEC2EP8_IO_FILEP11__mbstate_t=Module["__ZNSt3__211__stdoutbufIcEC2EP8_IO_FILEP11__mbstate_t"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIcEC2EP8_IO_FILEP11__mbstate_t"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIcED0Ev=Module["__ZNSt3__211__stdoutbufIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIcED0Ev"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIwE4syncEv=Module["__ZNSt3__211__stdoutbufIwE4syncEv"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIwE4syncEv"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIwE5imbueERKNS_6localeE=Module["__ZNSt3__211__stdoutbufIwE5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIwE5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIwE6xsputnEPKwl=Module["__ZNSt3__211__stdoutbufIwE6xsputnEPKwl"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIwE6xsputnEPKwl"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIwE8overflowEj=Module["__ZNSt3__211__stdoutbufIwE8overflowEj"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIwE8overflowEj"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIwEC2EP8_IO_FILEP11__mbstate_t=Module["__ZNSt3__211__stdoutbufIwEC2EP8_IO_FILEP11__mbstate_t"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIwEC2EP8_IO_FILEP11__mbstate_t"].apply(null,arguments)};var __ZNSt3__211__stdoutbufIwED0Ev=Module["__ZNSt3__211__stdoutbufIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__211__stdoutbufIwED0Ev"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE11eq_int_typeEii=Module["__ZNSt3__211char_traitsIcE11eq_int_typeEii"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE11eq_int_typeEii"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE11to_int_typeEc=Module["__ZNSt3__211char_traitsIcE11to_int_typeEc"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE11to_int_typeEc"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE12to_char_typeEi=Module["__ZNSt3__211char_traitsIcE12to_char_typeEi"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE12to_char_typeEi"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE2eqEcc=Module["__ZNSt3__211char_traitsIcE2eqEcc"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE2eqEcc"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE3eofEv=Module["__ZNSt3__211char_traitsIcE3eofEv"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE3eofEv"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE4copyEPcPKcm=Module["__ZNSt3__211char_traitsIcE4copyEPcPKcm"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE4copyEPcPKcm"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE4findEPKcmRS2_=Module["__ZNSt3__211char_traitsIcE4findEPKcmRS2_"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE4findEPKcmRS2_"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE4moveEPcPKcm=Module["__ZNSt3__211char_traitsIcE4moveEPcPKcm"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE4moveEPcPKcm"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE6assignEPcmc=Module["__ZNSt3__211char_traitsIcE6assignEPcmc"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE6assignEPcmc"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE6assignERcRKc=Module["__ZNSt3__211char_traitsIcE6assignERcRKc"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE6assignERcRKc"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE6lengthEPKc=Module["__ZNSt3__211char_traitsIcE6lengthEPKc"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE6lengthEPKc"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE7compareEPKcS3_m=Module["__ZNSt3__211char_traitsIcE7compareEPKcS3_m"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE7compareEPKcS3_m"].apply(null,arguments)};var __ZNSt3__211char_traitsIcE7not_eofEi=Module["__ZNSt3__211char_traitsIcE7not_eofEi"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIcE7not_eofEi"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE11eq_int_typeEjj=Module["__ZNSt3__211char_traitsIwE11eq_int_typeEjj"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE11eq_int_typeEjj"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE11to_int_typeEw=Module["__ZNSt3__211char_traitsIwE11to_int_typeEw"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE11to_int_typeEw"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE12to_char_typeEj=Module["__ZNSt3__211char_traitsIwE12to_char_typeEj"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE12to_char_typeEj"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE2eqEww=Module["__ZNSt3__211char_traitsIwE2eqEww"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE2eqEww"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE3eofEv=Module["__ZNSt3__211char_traitsIwE3eofEv"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE3eofEv"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE4copyEPwPKwm=Module["__ZNSt3__211char_traitsIwE4copyEPwPKwm"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE4copyEPwPKwm"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE4findEPKwmRS2_=Module["__ZNSt3__211char_traitsIwE4findEPKwmRS2_"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE4findEPKwmRS2_"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE4moveEPwPKwm=Module["__ZNSt3__211char_traitsIwE4moveEPwPKwm"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE4moveEPwPKwm"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE6assignEPwmw=Module["__ZNSt3__211char_traitsIwE6assignEPwmw"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE6assignEPwmw"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE6assignERwRKw=Module["__ZNSt3__211char_traitsIwE6assignERwRKw"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE6assignERwRKw"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE6lengthEPKw=Module["__ZNSt3__211char_traitsIwE6lengthEPKw"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE6lengthEPKw"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE7compareEPKwS3_m=Module["__ZNSt3__211char_traitsIwE7compareEPKwS3_m"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE7compareEPKwS3_m"].apply(null,arguments)};var __ZNSt3__211char_traitsIwE7not_eofEj=Module["__ZNSt3__211char_traitsIwE7not_eofEj"]=function(){return Module["asm"]["__ZNSt3__211char_traitsIwE7not_eofEj"].apply(null,arguments)};var __ZNSt3__211regex_errorC2ENS_15regex_constants10error_typeE=Module["__ZNSt3__211regex_errorC2ENS_15regex_constants10error_typeE"]=function(){return Module["asm"]["__ZNSt3__211regex_errorC2ENS_15regex_constants10error_typeE"].apply(null,arguments)};var __ZNSt3__211regex_errorD0Ev=Module["__ZNSt3__211regex_errorD0Ev"]=function(){return Module["asm"]["__ZNSt3__211regex_errorD0Ev"].apply(null,arguments)};var __ZNSt3__211regex_errorD2Ev=Module["__ZNSt3__211regex_errorD2Ev"]=function(){return Module["asm"]["__ZNSt3__211regex_errorD2Ev"].apply(null,arguments)};var __ZNSt3__211this_thread9sleep_forERKNS_6chrono8durationIxNS_5ratioILx1ELx1000000000EEEEE=Module["__ZNSt3__211this_thread9sleep_forERKNS_6chrono8durationIxNS_5ratioILx1ELx1000000000EEEEE"]=function(){return Module["asm"]["__ZNSt3__211this_thread9sleep_forERKNS_6chrono8durationIxNS_5ratioILx1ELx1000000000EEEEE"].apply(null,arguments)};var __ZNSt3__211timed_mutex4lockEv=Module["__ZNSt3__211timed_mutex4lockEv"]=function(){return Module["asm"]["__ZNSt3__211timed_mutex4lockEv"].apply(null,arguments)};var __ZNSt3__211timed_mutex6unlockEv=Module["__ZNSt3__211timed_mutex6unlockEv"]=function(){return Module["asm"]["__ZNSt3__211timed_mutex6unlockEv"].apply(null,arguments)};var __ZNSt3__211timed_mutex8try_lockEv=Module["__ZNSt3__211timed_mutex8try_lockEv"]=function(){return Module["asm"]["__ZNSt3__211timed_mutex8try_lockEv"].apply(null,arguments)};var __ZNSt3__211timed_mutexC2Ev=Module["__ZNSt3__211timed_mutexC2Ev"]=function(){return Module["asm"]["__ZNSt3__211timed_mutexC2Ev"].apply(null,arguments)};var __ZNSt3__211timed_mutexD2Ev=Module["__ZNSt3__211timed_mutexD2Ev"]=function(){return Module["asm"]["__ZNSt3__211timed_mutexD2Ev"].apply(null,arguments)};var __ZNSt3__211unique_lockINS_5mutexEE6unlockEv=Module["__ZNSt3__211unique_lockINS_5mutexEE6unlockEv"]=function(){return Module["asm"]["__ZNSt3__211unique_lockINS_5mutexEE6unlockEv"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerIiNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerIiNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerIiNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerIiNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerIlNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerIlNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerIlNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerIlNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerIlNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerIlNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerImNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerImNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerImNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerImNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerImNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerImNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerIxNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerIxNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerIxNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerIxNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerIxNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerIxNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerIyNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerIyNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerIyNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110as_integerIyNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi=Module["__ZNSt3__212_GLOBAL__N_110as_integerIyNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110as_integerIyNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pmi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110use_strcmpclERKNS0_10classnamesEPKc=Module["__ZNSt3__212_GLOBAL__N_110use_strcmpclERKNS0_10classnamesEPKc"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110use_strcmpclERKNS0_10classnamesEPKc"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_110use_strcmpclERKNS0_14collationnamesEPKc=Module["__ZNSt3__212_GLOBAL__N_110use_strcmpclERKNS0_14collationnamesEPKc"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_110use_strcmpclERKNS0_14collationnamesEPKc"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_111__fake_bindC2EMNS_6locale2idEFvvEPS3_=Module["__ZNSt3__212_GLOBAL__N_111__fake_bindC2EMNS_6locale2idEFvvEPS3_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_111__fake_bindC2EMNS_6locale2idEFvvEPS3_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_112throw_helperISt12out_of_rangeEEvRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__212_GLOBAL__N_112throw_helperISt12out_of_rangeEEvRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_112throw_helperISt12out_of_rangeEEvRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_112throw_helperISt16invalid_argumentEEvRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__212_GLOBAL__N_112throw_helperISt16invalid_argumentEEvRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_112throw_helperISt16invalid_argumentEEvRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_113do_strerror_rEi=Module["__ZNSt3__212_GLOBAL__N_113do_strerror_rEi"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_113do_strerror_rEi"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_115as_float_helperIdNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFdPKcPPcEEET_RKS7_RKT0_PmT1_=Module["__ZNSt3__212_GLOBAL__N_115as_float_helperIdNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFdPKcPPcEEET_RKS7_RKT0_PmT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_115as_float_helperIdNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFdPKcPPcEEET_RKS7_RKT0_PmT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_115as_float_helperIdNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFdPKwPPwEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmT1_=Module["__ZNSt3__212_GLOBAL__N_115as_float_helperIdNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFdPKwPPwEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_115as_float_helperIdNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFdPKwPPwEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_115as_float_helperIeNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFePKcPPcEEET_RKS7_RKT0_PmT1_=Module["__ZNSt3__212_GLOBAL__N_115as_float_helperIeNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFePKcPPcEEET_RKS7_RKT0_PmT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_115as_float_helperIeNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFePKcPPcEEET_RKS7_RKT0_PmT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_115as_float_helperIeNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFePKwPPwEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmT1_=Module["__ZNSt3__212_GLOBAL__N_115as_float_helperIeNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFePKwPPwEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_115as_float_helperIeNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFePKwPPwEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_115as_float_helperIfNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFfPKcPPcEEET_RKS7_RKT0_PmT1_=Module["__ZNSt3__212_GLOBAL__N_115as_float_helperIfNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFfPKcPPcEEET_RKS7_RKT0_PmT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_115as_float_helperIfNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFfPKcPPcEEET_RKS7_RKT0_PmT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_115as_float_helperIfNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFfPKwPPwEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmT1_=Module["__ZNSt3__212_GLOBAL__N_115as_float_helperIfNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFfPKwPPwEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_115as_float_helperIfNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFfPKwPPwEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_117as_integer_helperIlNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFlPKcPPciEEET_RKS7_RKT0_PmiT1_=Module["__ZNSt3__212_GLOBAL__N_117as_integer_helperIlNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFlPKcPPciEEET_RKS7_RKT0_PmiT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_117as_integer_helperIlNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFlPKcPPciEEET_RKS7_RKT0_PmiT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_117as_integer_helperIlNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFlPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_=Module["__ZNSt3__212_GLOBAL__N_117as_integer_helperIlNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFlPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_117as_integer_helperIlNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFlPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_117as_integer_helperImNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFmPKcPPciEEET_RKS7_RKT0_PmiT1_=Module["__ZNSt3__212_GLOBAL__N_117as_integer_helperImNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFmPKcPPciEEET_RKS7_RKT0_PmiT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_117as_integer_helperImNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFmPKcPPciEEET_RKS7_RKT0_PmiT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_117as_integer_helperImNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFmPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_=Module["__ZNSt3__212_GLOBAL__N_117as_integer_helperImNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFmPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_117as_integer_helperImNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFmPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_117as_integer_helperIxNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFxPKcPPciEEET_RKS7_RKT0_PmiT1_=Module["__ZNSt3__212_GLOBAL__N_117as_integer_helperIxNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFxPKcPPciEEET_RKS7_RKT0_PmiT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_117as_integer_helperIxNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFxPKcPPciEEET_RKS7_RKT0_PmiT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_117as_integer_helperIxNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFxPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_=Module["__ZNSt3__212_GLOBAL__N_117as_integer_helperIxNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFxPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_117as_integer_helperIxNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFxPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_117as_integer_helperIyNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFyPKcPPciEEET_RKS7_RKT0_PmiT1_=Module["__ZNSt3__212_GLOBAL__N_117as_integer_helperIyNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFyPKcPPciEEET_RKS7_RKT0_PmiT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_117as_integer_helperIyNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFyPKcPPciEEET_RKS7_RKT0_PmiT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_117as_integer_helperIyNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFyPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_=Module["__ZNSt3__212_GLOBAL__N_117as_integer_helperIyNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFyPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_117as_integer_helperIyNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFyPKwPPwiEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_PmiT1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_121__throw_runtime_errorERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__212_GLOBAL__N_121__throw_runtime_errorERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_121__throw_runtime_errorERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_124handle_strerror_r_returnEiPc=Module["__ZNSt3__212_GLOBAL__N_124handle_strerror_r_returnEiPc"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_124handle_strerror_r_returnEiPc"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_129throw_from_string_invalid_argERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__212_GLOBAL__N_129throw_from_string_invalid_argERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_129throw_from_string_invalid_argERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_130throw_from_string_out_of_rangeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__212_GLOBAL__N_130throw_from_string_out_of_rangeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_130throw_from_string_out_of_rangeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_13mutEv=Module["__ZNSt3__212_GLOBAL__N_13mutEv"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_13mutEv"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIcEEDnbjEERT_T0_T1_T2_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIcEEDnbjEERT_T0_T1_T2_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIcEEDnbjEERT_T0_T1_T2_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIwEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIwEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIwEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_6locale5__impEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_6locale5__impEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_6locale5__impEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDic11__mbstate_tEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDic11__mbstate_tEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDic11__mbstate_tEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDsc11__mbstate_tEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDsc11__mbstate_tEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDsc11__mbstate_tEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIcc11__mbstate_tEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIcc11__mbstate_tEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIcc11__mbstate_tEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIwc11__mbstate_tEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIwc11__mbstate_tEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIwc11__mbstate_tEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7collateIcEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7collateIcEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7collateIcEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7collateIwEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7collateIwEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7collateIwEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_8messagesIcEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_8messagesIcEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_8messagesIcEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_8messagesIwEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_8messagesIwEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_8messagesIwEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIcEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIcEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIcEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIwEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIwEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIwEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_=Module["__ZNSt3__212_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_17countofIcEEmPKT_S4_=Module["__ZNSt3__212_GLOBAL__N_17countofIcEEmPKT_S4_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_17countofIcEEmPKT_S4_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_17countofIwEEmPKT_S4_=Module["__ZNSt3__212_GLOBAL__N_17countofIwEEmPKT_S4_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_17countofIwEEmPKT_S4_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_17releaseclEPNS_6locale5facetE=Module["__ZNSt3__212_GLOBAL__N_17releaseclEPNS_6locale5facetE"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_17releaseclEPNS_6locale5facetE"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_18as_floatIdNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pm=Module["__ZNSt3__212_GLOBAL__N_18as_floatIdNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pm"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_18as_floatIdNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pm"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_18as_floatIdNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pm=Module["__ZNSt3__212_GLOBAL__N_18as_floatIdNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pm"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_18as_floatIdNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pm"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_18as_floatIeNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pm=Module["__ZNSt3__212_GLOBAL__N_18as_floatIeNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pm"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_18as_floatIeNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pm"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_18as_floatIeNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pm=Module["__ZNSt3__212_GLOBAL__N_18as_floatIeNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pm"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_18as_floatIeNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pm"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_18as_floatIfNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pm=Module["__ZNSt3__212_GLOBAL__N_18as_floatIfNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pm"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_18as_floatIfNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEET_RKS7_RKT0_Pm"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_18as_floatIfNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pm=Module["__ZNSt3__212_GLOBAL__N_18as_floatIfNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pm"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_18as_floatIfNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEEET_RKNS2_IcNS3_IcEENS5_IcEEEERKT0_Pm"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEdEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEdEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEdEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEeEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEeEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEeEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEfEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEfEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEfEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEiEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEiEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEiEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEjEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEjEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEjEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczElEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczElEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczElEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEmEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEmEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEmEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczExEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczExEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczExEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEyEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEyEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPFiPcmPKczEyEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEdEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEdEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEdEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEeEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEeEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEeEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEfEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEfEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEfEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEiEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEiEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEiEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEjEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEjEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEjEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzElEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzElEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzElEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEmEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEmEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEmEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzExEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzExEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzExEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEyEET_T0_SD_PKNSD_10value_typeET1_=Module["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEyEET_T0_SD_PKNSD_10value_typeET1_"]=function(){return Module["asm"]["__ZNSt3__212_GLOBAL__N_19as_stringINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPFiPwmPKwzEyEET_T0_SD_PKNSD_10value_typeET1_"].apply(null,arguments)};var __ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE3endEv=Module["__ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE3endEv"]=function(){return Module["asm"]["__ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE3endEv"].apply(null,arguments)};var __ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE5beginEv=Module["__ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE5beginEv"]=function(){return Module["asm"]["__ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE5beginEv"].apply(null,arguments)};var __ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE5clearEv=Module["__ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE5clearEv"]=function(){return Module["asm"]["__ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE5clearEv"].apply(null,arguments)};var __ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEED2Ev=Module["__ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__212__deque_baseINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEED2Ev"].apply(null,arguments)};var __ZNSt3__212__do_messageD0Ev=Module["__ZNSt3__212__do_messageD0Ev"]=function(){return Module["asm"]["__ZNSt3__212__do_messageD0Ev"].apply(null,arguments)};var __ZNSt3__212__do_nothingEPv=Module["__ZNSt3__212__do_nothingEPv"]=function(){return Module["asm"]["__ZNSt3__212__do_nothingEPv"].apply(null,arguments)};var __ZNSt3__212__get_sp_mutEPKv=Module["__ZNSt3__212__get_sp_mutEPKv"]=function(){return Module["asm"]["__ZNSt3__212__get_sp_mutEPKv"].apply(null,arguments)};var __ZNSt3__212__next_primeEm=Module["__ZNSt3__212__next_primeEm"]=function(){return Module["asm"]["__ZNSt3__212__next_primeEm"].apply(null,arguments)};var __ZNSt3__212__rotate_gcdINS_11__wrap_iterIPcEEEET_S4_S4_S4_=Module["__ZNSt3__212__rotate_gcdINS_11__wrap_iterIPcEEEET_S4_S4_S4_"]=function(){return Module["asm"]["__ZNSt3__212__rotate_gcdINS_11__wrap_iterIPcEEEET_S4_S4_S4_"].apply(null,arguments)};var __ZNSt3__212__rotate_gcdINS_11__wrap_iterIPwEEEET_S4_S4_S4_=Module["__ZNSt3__212__rotate_gcdINS_11__wrap_iterIPwEEEET_S4_S4_S4_"]=function(){return Module["asm"]["__ZNSt3__212__rotate_gcdINS_11__wrap_iterIPwEEEET_S4_S4_S4_"].apply(null,arguments)};var __ZNSt3__212__rs_defaultC2ERKS0_=Module["__ZNSt3__212__rs_defaultC2ERKS0_"]=function(){return Module["asm"]["__ZNSt3__212__rs_defaultC2ERKS0_"].apply(null,arguments)};var __ZNSt3__212__rs_defaultC2Ev=Module["__ZNSt3__212__rs_defaultC2Ev"]=function(){return Module["asm"]["__ZNSt3__212__rs_defaultC2Ev"].apply(null,arguments)};var __ZNSt3__212__rs_defaultD2Ev=Module["__ZNSt3__212__rs_defaultD2Ev"]=function(){return Module["asm"]["__ZNSt3__212__rs_defaultD2Ev"].apply(null,arguments)};var __ZNSt3__212__rs_defaultclEv=Module["__ZNSt3__212__rs_defaultclEv"]=function(){return Module["asm"]["__ZNSt3__212__rs_defaultclEv"].apply(null,arguments)};var __ZNSt3__212bad_weak_ptrD0Ev=Module["__ZNSt3__212bad_weak_ptrD0Ev"]=function(){return Module["asm"]["__ZNSt3__212bad_weak_ptrD0Ev"].apply(null,arguments)};var __ZNSt3__212bad_weak_ptrD2Ev=Module["__ZNSt3__212bad_weak_ptrD2Ev"]=function(){return Module["asm"]["__ZNSt3__212bad_weak_ptrD2Ev"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE21__grow_by_and_replaceEmmmmmmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE21__grow_by_and_replaceEmmmmmmPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE21__grow_by_and_replaceEmmmmmmPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE23__append_forward_unsafeIPKcEERS7_T_SC_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE23__append_forward_unsafeIPKcEERS7_T_SC_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE23__append_forward_unsafeIPKcEERS7_T_SC_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE5eraseEmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE5eraseEmm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE5eraseEmm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcmm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcmm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESC_SC_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESC_SC_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESC_SC_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEmPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEmPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEmPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEmPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEmPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertIPKcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISC_EE5valueENS_11__wrap_iterIPcEEE4typeENSD_ISA_EESC_SC_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertIPKcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISC_EE5valueENS_11__wrap_iterIPcEEE4typeENSD_ISA_EESC_SC_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertIPKcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISC_EE5valueENS_11__wrap_iterIPcEEE4typeENSD_ISA_EESC_SC_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7replaceEmmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7replaceEmmPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7replaceEmmPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7replaceEmmPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7replaceEmmPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7replaceEmmPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7reserveEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7reserveEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE7reserveEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9__grow_byEmmmmmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9__grow_byEmmmmmm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9__grow_byEmmmmmm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_mmRKS6_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_mmRKS6_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_mmRKS6_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEaSERKS7_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEaSERKS7_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEaSERKS7_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE11__recommendEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE11__recommendEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE11__recommendEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__move_assignERS5_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__move_assignERS5_NS_17integral_constantIbLb0EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__move_assignERS5_NS_17integral_constantIbLb0EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__move_assignERS5_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__move_assignERS5_NS_17integral_constantIbLb1EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__move_assignERS5_NS_17integral_constantIbLb1EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13shrink_to_fitEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13shrink_to_fitEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13shrink_to_fitEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__erase_to_endEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__erase_to_endEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__erase_to_endEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__set_long_capEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__set_long_capEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__set_long_capEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerEPc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__copy_assign_allocERKS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__copy_assign_allocERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__copy_assign_allocERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb0EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb0EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb1EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb1EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__move_assign_allocERS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__move_assign_allocERS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__move_assign_allocERS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__move_assign_allocERS5_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__move_assign_allocERS5_NS_17integral_constantIbLb0EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__move_assign_allocERS5_NS_17integral_constantIbLb0EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__move_assign_allocERS5_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__move_assign_allocERS5_NS_17integral_constantIbLb1EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__move_assign_allocERS5_NS_17integral_constantIbLb1EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE23__append_forward_unsafeIPKcEERS5_T_SA_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE23__append_forward_unsafeIPKcEERS5_T_SA_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE23__append_forward_unsafeIPKcEERS5_T_SA_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE23__append_forward_unsafeIPcEERS5_T_S9_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE23__append_forward_unsafeIPcEERS5_T_S9_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE23__append_forward_unsafeIPcEERS5_T_S9_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__invalidate_all_iteratorsEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE27__invalidate_iterators_pastEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE27__invalidate_iterators_pastEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE27__invalidate_iterators_pastEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE3endEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE3endEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE3endEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4backEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4backEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4backEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4rendEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4rendEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4rendEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5clearEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5clearEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5clearEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseENS_11__wrap_iterIPKcEE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseENS_11__wrap_iterIPKcEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseENS_11__wrap_iterIPKcEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseENS_11__wrap_iterIPKcEES9_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseENS_11__wrap_iterIPKcEES9_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseENS_11__wrap_iterIPKcEES9_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseEmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseEmm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseEmm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5frontEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5frontEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5frontEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcmm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcmm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__zeroEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendENS_17basic_string_viewIcS2_EE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendENS_17basic_string_viewIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendENS_17basic_string_viewIcS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_mm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_mm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendESt16initializer_listIcE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendESt16initializer_listIcE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendESt16initializer_listIcE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignENS_17basic_string_viewIcS2_EE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignENS_17basic_string_viewIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignENS_17basic_string_viewIcS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEOS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEOS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEOS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_mm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_mm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignESt16initializer_listIcE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignESt16initializer_listIcE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignESt16initializer_listIcE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEmc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEmc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEESt16initializer_listIcE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEESt16initializer_listIcE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEESt16initializer_listIcE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEmc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEmc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmNS_17basic_string_viewIcS2_EE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmNS_17basic_string_viewIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmNS_17basic_string_viewIcS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_mm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_mm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmmc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmmc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertIPKcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPcEEE4typeENSB_IS8_EESA_SA_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertIPKcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPcEEE4typeENSB_IS8_EESA_SA_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertIPKcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPcEEE4typeENSB_IS8_EESA_SA_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6rbeginEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6rbeginEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6rbeginEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_NS_17basic_string_viewIcS2_EE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_NS_17basic_string_viewIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_NS_17basic_string_viewIcS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_RKS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_RKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_RKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_S8_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_S8_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_S8_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_S8_m=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_S8_m"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_S8_m"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_St16initializer_listIcE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_St16initializer_listIcE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_St16initializer_listIcE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_mc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_mc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceENS_11__wrap_iterIPKcEES9_mc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmNS_17basic_string_viewIcS2_EE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmNS_17basic_string_viewIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmNS_17basic_string_viewIcS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_mm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_mm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmmc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmmc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceIPKcEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceIPKcEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceIPKcEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8pop_backEv=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8pop_backEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8pop_backEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ENS_17basic_string_viewIcS2_EE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ENS_17basic_string_viewIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ENS_17basic_string_viewIcS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ENS_17basic_string_viewIcS2_EERKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ENS_17basic_string_viewIcS2_EERKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ENS_17basic_string_viewIcS2_EERKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_RKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_RKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_RKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcmRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcmRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcmRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_RKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_RKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_RKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mmRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mmRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ESt16initializer_listIcE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ESt16initializer_listIcE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ESt16initializer_listIcE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ESt16initializer_listIcERKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ESt16initializer_listIcERKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ESt16initializer_listIcERKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Emc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Emc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Emc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EmcRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EmcRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EmcRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Ev"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSERKS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSESt16initializer_listIcE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSESt16initializer_listIcE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSESt16initializer_listIcE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLENS_17basic_string_viewIcS2_EE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLENS_17basic_string_viewIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLENS_17basic_string_viewIcS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLEPKc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLEPKc"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLERKS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLESt16initializer_listIcE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLESt16initializer_listIcE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLESt16initializer_listIcE"].apply(null,arguments)};var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLEc"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEpLEc"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__set_sizeEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__set_sizeEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__set_sizeEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE11__recommendEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE11__recommendEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE11__recommendEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__move_assignERS5_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__move_assignERS5_NS_17integral_constantIbLb0EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__move_assignERS5_NS_17integral_constantIbLb0EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__move_assignERS5_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__move_assignERS5_NS_17integral_constantIbLb1EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__move_assignERS5_NS_17integral_constantIbLb1EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13shrink_to_fitEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13shrink_to_fitEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13shrink_to_fitEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__erase_to_endEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__erase_to_endEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__erase_to_endEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__set_long_capEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__set_long_capEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__set_long_capEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__set_long_sizeEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__set_long_sizeEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__set_long_sizeEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__set_short_sizeEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__set_short_sizeEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__set_short_sizeEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__set_long_pointerEPw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__set_long_pointerEPw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__set_long_pointerEPw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__copy_assign_allocERKS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__copy_assign_allocERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__copy_assign_allocERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb0EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb0EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb1EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__copy_assign_allocERKS5_NS_17integral_constantIbLb1EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__move_assign_allocERS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__move_assign_allocERS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__move_assign_allocERS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__move_assign_allocERS5_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__move_assign_allocERS5_NS_17integral_constantIbLb0EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__move_assign_allocERS5_NS_17integral_constantIbLb0EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__move_assign_allocERS5_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__move_assign_allocERS5_NS_17integral_constantIbLb1EEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__move_assign_allocERS5_NS_17integral_constantIbLb1EEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE23__append_forward_unsafeIPwEERS5_T_S9_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE23__append_forward_unsafeIPwEERS5_T_S9_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE23__append_forward_unsafeIPwEERS5_T_S9_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE26__invalidate_all_iteratorsEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE26__invalidate_all_iteratorsEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE26__invalidate_all_iteratorsEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE27__invalidate_iterators_pastEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE27__invalidate_iterators_pastEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE27__invalidate_iterators_pastEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE3endEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE3endEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE3endEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4backEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4backEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4backEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4rendEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4rendEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4rendEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4swapERS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4swapERS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4swapERS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5clearEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5clearEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5clearEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5eraseENS_11__wrap_iterIPKwEE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5eraseENS_11__wrap_iterIPKwEE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5eraseENS_11__wrap_iterIPKwEE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5eraseENS_11__wrap_iterIPKwEES9_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5eraseENS_11__wrap_iterIPKwEES9_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5eraseENS_11__wrap_iterIPKwEES9_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5eraseEmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5eraseEmm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5eraseEmm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5frontEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5frontEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5frontEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwmm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwmm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPKwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPKwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPKwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__zeroEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__zeroEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__zeroEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendENS_17basic_string_viewIwS2_EE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendENS_17basic_string_viewIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendENS_17basic_string_viewIwS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKwm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKwm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_mm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_mm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendESt16initializer_listIwE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendESt16initializer_listIwE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendESt16initializer_listIwE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEmw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEmw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignENS_17basic_string_viewIwS2_EE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignENS_17basic_string_viewIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignENS_17basic_string_viewIwS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEOS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEOS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEOS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_mm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_mm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignESt16initializer_listIwE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignESt16initializer_listIwE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignESt16initializer_listIwE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEmw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEmw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignIPwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignIPwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignIPwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEESt16initializer_listIwE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEESt16initializer_listIwE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEESt16initializer_listIwE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEmw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEmw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmNS_17basic_string_viewIwS2_EE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmNS_17basic_string_viewIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmNS_17basic_string_viewIwS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKwm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKwm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_mm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_mm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmmw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmmw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertIPKwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPwEEE4typeENSB_IS8_EESA_SA_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertIPKwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPwEEE4typeENSB_IS8_EESA_SA_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertIPKwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPwEEE4typeENSB_IS8_EESA_SA_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6rbeginEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6rbeginEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6rbeginEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_NS_17basic_string_viewIwS2_EE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_NS_17basic_string_viewIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_NS_17basic_string_viewIwS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_RKS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_RKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_RKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_S8_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_S8_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_S8_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_S8_m=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_S8_m"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_S8_m"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_St16initializer_listIwE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_St16initializer_listIwE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_St16initializer_listIwE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_mw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_mw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceENS_11__wrap_iterIPKwEES9_mw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmNS_17basic_string_viewIwS2_EE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmNS_17basic_string_viewIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmNS_17basic_string_viewIwS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKwm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKwm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_mm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_mm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmmw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmmw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceIPKwEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceIPKwEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceIPKwEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7reserveEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7reserveEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7reserveEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8pop_backEv=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8pop_backEv"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8pop_backEv"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byEmmmmmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byEmmmmmm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byEmmmmmm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ENS_17basic_string_viewIwS2_EE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ENS_17basic_string_viewIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ENS_17basic_string_viewIwS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ENS_17basic_string_viewIwS2_EERKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ENS_17basic_string_viewIwS2_EERKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ENS_17basic_string_viewIwS2_EERKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EOS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EOS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EOS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EOS5_RKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EOS5_RKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EOS5_RKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwRKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwmRKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwmRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwmRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_RKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_RKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_RKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mRKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mmRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mmRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ESt16initializer_listIwE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ESt16initializer_listIwE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ESt16initializer_listIwE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ESt16initializer_listIwERKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ESt16initializer_listIwERKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ESt16initializer_listIwERKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2Emw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2Emw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2Emw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EmwRKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EmwRKS4_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EmwRKS4_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2Ev"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEOS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEOS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEOS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEPKw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEPKw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSERKS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSESt16initializer_listIwE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSESt16initializer_listIwE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSESt16initializer_listIwE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixEm"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixEm"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLENS_17basic_string_viewIwS2_EE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLENS_17basic_string_viewIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLENS_17basic_string_viewIwS2_EE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLEPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLEPKw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLEPKw"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLERKS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLERKS5_"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLERKS5_"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLESt16initializer_listIwE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLESt16initializer_listIwE"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLESt16initializer_listIwE"].apply(null,arguments)};var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLEw"]=function(){return Module["asm"]["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEpLEw"].apply(null,arguments)};var __ZNSt3__212ctype_bynameIcEC2EPKcm=Module["__ZNSt3__212ctype_bynameIcEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__212ctype_bynameIcEC2EPKcm"].apply(null,arguments)};var __ZNSt3__212ctype_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__212ctype_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__212ctype_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__212ctype_bynameIcED0Ev=Module["__ZNSt3__212ctype_bynameIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__212ctype_bynameIcED0Ev"].apply(null,arguments)};var __ZNSt3__212ctype_bynameIcED2Ev=Module["__ZNSt3__212ctype_bynameIcED2Ev"]=function(){return Module["asm"]["__ZNSt3__212ctype_bynameIcED2Ev"].apply(null,arguments)};var __ZNSt3__212ctype_bynameIwEC2EPKcm=Module["__ZNSt3__212ctype_bynameIwEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__212ctype_bynameIwEC2EPKcm"].apply(null,arguments)};var __ZNSt3__212ctype_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__212ctype_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__212ctype_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__212ctype_bynameIwED0Ev=Module["__ZNSt3__212ctype_bynameIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__212ctype_bynameIwED0Ev"].apply(null,arguments)};var __ZNSt3__212ctype_bynameIwED2Ev=Module["__ZNSt3__212ctype_bynameIwED2Ev"]=function(){return Module["asm"]["__ZNSt3__212ctype_bynameIwED2Ev"].apply(null,arguments)};var __ZNSt3__212future_errorC2ENS_10error_codeE=Module["__ZNSt3__212future_errorC2ENS_10error_codeE"]=function(){return Module["asm"]["__ZNSt3__212future_errorC2ENS_10error_codeE"].apply(null,arguments)};var __ZNSt3__212future_errorD0Ev=Module["__ZNSt3__212future_errorD0Ev"]=function(){return Module["asm"]["__ZNSt3__212future_errorD0Ev"].apply(null,arguments)};var __ZNSt3__212future_errorD2Ev=Module["__ZNSt3__212future_errorD2Ev"]=function(){return Module["asm"]["__ZNSt3__212future_errorD2Ev"].apply(null,arguments)};var __ZNSt3__212strstreambuf3strEv=Module["__ZNSt3__212strstreambuf3strEv"]=function(){return Module["asm"]["__ZNSt3__212strstreambuf3strEv"].apply(null,arguments)};var __ZNSt3__212strstreambuf4swapERS0_=Module["__ZNSt3__212strstreambuf4swapERS0_"]=function(){return Module["asm"]["__ZNSt3__212strstreambuf4swapERS0_"].apply(null,arguments)};var __ZNSt3__212strstreambuf6__initEPclS1_=Module["__ZNSt3__212strstreambuf6__initEPclS1_"]=function(){return Module["asm"]["__ZNSt3__212strstreambuf6__initEPclS1_"].apply(null,arguments)};var __ZNSt3__212strstreambuf6freezeEb=Module["__ZNSt3__212strstreambuf6freezeEb"]=function(){return Module["asm"]["__ZNSt3__212strstreambuf6freezeEb"].apply(null,arguments)};var __ZNSt3__212strstreambuf7seekoffExNS_8ios_base7seekdirEj=Module["__ZNSt3__212strstreambuf7seekoffExNS_8ios_base7seekdirEj"]=function(){return Module["asm"]["__ZNSt3__212strstreambuf7seekoffExNS_8ios_base7seekdirEj"].apply(null,arguments)};var __ZNSt3__212strstreambuf7seekposENS_4fposI11__mbstate_tEEj=Module["__ZNSt3__212strstreambuf7seekposENS_4fposI11__mbstate_tEEj"]=function(){return Module["asm"]["__ZNSt3__212strstreambuf7seekposENS_4fposI11__mbstate_tEEj"].apply(null,arguments)};var __ZNSt3__212strstreambuf8overflowEi=Module["__ZNSt3__212strstreambuf8overflowEi"]=function(){return Module["asm"]["__ZNSt3__212strstreambuf8overflowEi"].apply(null,arguments)};var __ZNSt3__212strstreambuf9pbackfailEi=Module["__ZNSt3__212strstreambuf9pbackfailEi"]=function(){return Module["asm"]["__ZNSt3__212strstreambuf9pbackfailEi"].apply(null,arguments)};var __ZNSt3__212strstreambuf9underflowEv=Module["__ZNSt3__212strstreambuf9underflowEv"]=function(){return Module["asm"]["__ZNSt3__212strstreambuf9underflowEv"].apply(null,arguments)};var __ZNSt3__212strstreambufC2EPFPvmEPFvS1_E=Module["__ZNSt3__212strstreambufC2EPFPvmEPFvS1_E"]=function(){return Module["asm"]["__ZNSt3__212strstreambufC2EPFPvmEPFvS1_E"].apply(null,arguments)};var __ZNSt3__212strstreambufC2EPKal=Module["__ZNSt3__212strstreambufC2EPKal"]=function(){return Module["asm"]["__ZNSt3__212strstreambufC2EPKal"].apply(null,arguments)};var __ZNSt3__212strstreambufC2EPKcl=Module["__ZNSt3__212strstreambufC2EPKcl"]=function(){return Module["asm"]["__ZNSt3__212strstreambufC2EPKcl"].apply(null,arguments)};var __ZNSt3__212strstreambufC2EPKhl=Module["__ZNSt3__212strstreambufC2EPKhl"]=function(){return Module["asm"]["__ZNSt3__212strstreambufC2EPKhl"].apply(null,arguments)};var __ZNSt3__212strstreambufC2EPalS1_=Module["__ZNSt3__212strstreambufC2EPalS1_"]=function(){return Module["asm"]["__ZNSt3__212strstreambufC2EPalS1_"].apply(null,arguments)};var __ZNSt3__212strstreambufC2EPclS1_=Module["__ZNSt3__212strstreambufC2EPclS1_"]=function(){return Module["asm"]["__ZNSt3__212strstreambufC2EPclS1_"].apply(null,arguments)};var __ZNSt3__212strstreambufC2EPhlS1_=Module["__ZNSt3__212strstreambufC2EPhlS1_"]=function(){return Module["asm"]["__ZNSt3__212strstreambufC2EPhlS1_"].apply(null,arguments)};var __ZNSt3__212strstreambufC2El=Module["__ZNSt3__212strstreambufC2El"]=function(){return Module["asm"]["__ZNSt3__212strstreambufC2El"].apply(null,arguments)};var __ZNSt3__212strstreambufD0Ev=Module["__ZNSt3__212strstreambufD0Ev"]=function(){return Module["asm"]["__ZNSt3__212strstreambufD0Ev"].apply(null,arguments)};var __ZNSt3__212strstreambufD2Ev=Module["__ZNSt3__212strstreambufD2Ev"]=function(){return Module["asm"]["__ZNSt3__212strstreambufD2Ev"].apply(null,arguments)};var __ZNSt3__212system_error6__initERKNS_10error_codeENS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__212system_error6__initERKNS_10error_codeENS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__212system_error6__initERKNS_10error_codeENS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__212system_errorC2ENS_10error_codeE=Module["__ZNSt3__212system_errorC2ENS_10error_codeE"]=function(){return Module["asm"]["__ZNSt3__212system_errorC2ENS_10error_codeE"].apply(null,arguments)};var __ZNSt3__212system_errorC2ENS_10error_codeEPKc=Module["__ZNSt3__212system_errorC2ENS_10error_codeEPKc"]=function(){return Module["asm"]["__ZNSt3__212system_errorC2ENS_10error_codeEPKc"].apply(null,arguments)};var __ZNSt3__212system_errorC2ENS_10error_codeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__212system_errorC2ENS_10error_codeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__212system_errorC2ENS_10error_codeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__212system_errorC2EiRKNS_14error_categoryE=Module["__ZNSt3__212system_errorC2EiRKNS_14error_categoryE"]=function(){return Module["asm"]["__ZNSt3__212system_errorC2EiRKNS_14error_categoryE"].apply(null,arguments)};var __ZNSt3__212system_errorC2EiRKNS_14error_categoryEPKc=Module["__ZNSt3__212system_errorC2EiRKNS_14error_categoryEPKc"]=function(){return Module["asm"]["__ZNSt3__212system_errorC2EiRKNS_14error_categoryEPKc"].apply(null,arguments)};var __ZNSt3__212system_errorC2EiRKNS_14error_categoryERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__212system_errorC2EiRKNS_14error_categoryERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__212system_errorC2EiRKNS_14error_categoryERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__212system_errorD0Ev=Module["__ZNSt3__212system_errorD0Ev"]=function(){return Module["asm"]["__ZNSt3__212system_errorD0Ev"].apply(null,arguments)};var __ZNSt3__212system_errorD2Ev=Module["__ZNSt3__212system_errorD2Ev"]=function(){return Module["asm"]["__ZNSt3__212system_errorD2Ev"].apply(null,arguments)};var __ZNSt3__213__lower_boundIRNS_12_GLOBAL__N_110use_strcmpEPKNS1_10classnamesEPKcEET0_S9_S9_RKT1_T_=Module["__ZNSt3__213__lower_boundIRNS_12_GLOBAL__N_110use_strcmpEPKNS1_10classnamesEPKcEET0_S9_S9_RKT1_T_"]=function(){return Module["asm"]["__ZNSt3__213__lower_boundIRNS_12_GLOBAL__N_110use_strcmpEPKNS1_10classnamesEPKcEET0_S9_S9_RKT1_T_"].apply(null,arguments)};var __ZNSt3__213__lower_boundIRNS_12_GLOBAL__N_110use_strcmpEPKNS1_14collationnamesEPKcEET0_S9_S9_RKT1_T_=Module["__ZNSt3__213__lower_boundIRNS_12_GLOBAL__N_110use_strcmpEPKNS1_14collationnamesEPKcEET0_S9_S9_RKT1_T_"]=function(){return Module["asm"]["__ZNSt3__213__lower_boundIRNS_12_GLOBAL__N_110use_strcmpEPKNS1_14collationnamesEPKcEET0_S9_S9_RKT1_T_"].apply(null,arguments)};var __ZNSt3__213__lower_boundIRNS_6__lessIjmEEPKjmEET0_S6_S6_RKT1_T_=Module["__ZNSt3__213__lower_boundIRNS_6__lessIjmEEPKjmEET0_S6_S6_RKT1_T_"]=function(){return Module["asm"]["__ZNSt3__213__lower_boundIRNS_6__lessIjmEEPKjmEET0_S6_S6_RKT1_T_"].apply(null,arguments)};var __ZNSt3__213__rotate_leftINS_11__wrap_iterIPwEEEET_S4_S4_=Module["__ZNSt3__213__rotate_leftINS_11__wrap_iterIPwEEEET_S4_S4_"]=function(){return Module["asm"]["__ZNSt3__213__rotate_leftINS_11__wrap_iterIPwEEEET_S4_S4_"].apply(null,arguments)};var __ZNSt3__213__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEED2Ev=Module["__ZNSt3__213__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEED2Ev"].apply(null,arguments)};var __ZNSt3__213__vector_baseINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEED2Ev=Module["__ZNSt3__213__vector_baseINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213__vector_baseINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEED2Ev"].apply(null,arguments)};var __ZNSt3__213__vector_baseINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEED2Ev=Module["__ZNSt3__213__vector_baseINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213__vector_baseINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEED2Ev"].apply(null,arguments)};var __ZNSt3__213__vector_baseINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEEENS5_IS9_Lm4096EEEED2Ev=Module["__ZNSt3__213__vector_baseINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEEENS5_IS9_Lm4096EEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213__vector_baseINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEEENS5_IS9_Lm4096EEEED2Ev"].apply(null,arguments)};var __ZNSt3__213__vector_baseIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEED2Ev=Module["__ZNSt3__213__vector_baseIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213__vector_baseIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEED2Ev"].apply(null,arguments)};var __ZNSt3__213__vector_baseIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEED2Ev=Module["__ZNSt3__213__vector_baseIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213__vector_baseIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEED2Ev"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE4openEPKcj=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE4openEPKcj"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE4openEPKcj"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE4syncEv=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE4syncEv"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE4syncEv"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE5closeEv=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE5closeEv"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE5closeEv"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE8overflowEi=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE8overflowEi"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE8overflowEi"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE9underflowEv=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE9underflowEv"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEE9underflowEv"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEEC2Ev=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEEC2Ev"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEED0Ev=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZNSt3__213basic_filebufIcNS_11char_traitsIcEEED2Ev=Module["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_filebufIcNS_11char_traitsIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getEPcl=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getEPcl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getEPcl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getEPclc=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getEPclc"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getEPclc"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getERNS_15basic_streambufIcS2_EE=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getERNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getERNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getERNS_15basic_streambufIcS2_EEc=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getERNS_15basic_streambufIcS2_EEc"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getERNS_15basic_streambufIcS2_EEc"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getERc=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getERc"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getERc"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getEv=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE3getEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4peekEv=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4peekEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4peekEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4readEPcl=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4readEPcl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4readEPcl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4swapERS3_=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4swapERS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4swapERS3_"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4syncEv=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4syncEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE4syncEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgENS_4fposI11__mbstate_tEE=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgENS_4fposI11__mbstate_tEE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgENS_4fposI11__mbstate_tEE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgExNS_8ios_base7seekdirE=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgExNS_8ios_base7seekdirE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5seekgExNS_8ios_base7seekdirE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5tellgEv=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5tellgEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5tellgEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5ungetEv=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5ungetEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE5ungetEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE6ignoreEli=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE6ignoreEli"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE6ignoreEli"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE6sentryC2ERS3_b=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE6sentryC2ERS3_b"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE6sentryC2ERS3_b"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE7getlineEPcl=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE7getlineEPcl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE7getlineEPcl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE7getlineEPclc=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE7getlineEPclc"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE7getlineEPclc"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE7putbackEc=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE7putbackEc"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE7putbackEc"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE8readsomeEPcl=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE8readsomeEPcl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE8readsomeEPcl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC1EOS3_=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC1EOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC1EOS3_"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC2EOS3_=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC2EOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC2EOS3_"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED2Ev=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEaSEOS3_=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEaSEOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEEaSEOS3_"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPFRNS_8ios_baseES5_E=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPFRNS_8ios_baseES5_E"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPFRNS_8ios_baseES5_E"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPFRNS_9basic_iosIcS2_EES6_E=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPFRNS_9basic_iosIcS2_EES6_E"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPFRNS_9basic_iosIcS2_EES6_E"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPFRS3_S4_E=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPFRS3_S4_E"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPFRS3_S4_E"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsEPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERPv=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERPv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERPv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERb=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERb"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERb"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERd=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERd"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERd"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERe=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERe"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERe"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERf=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERf"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERf"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERi=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERi"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERi"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERj=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERj"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERj"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERl=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERm=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERm"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERm"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERs=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERs"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERs"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERt=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERt"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERt"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERx=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERx"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERx"].apply(null,arguments)};var __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERy=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERy"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEErsERy"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getEPwl=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getEPwl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getEPwl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getEPwlw=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getEPwlw"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getEPwlw"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getERNS_15basic_streambufIwS2_EE=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getERNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getERNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getERNS_15basic_streambufIwS2_EEw=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getERNS_15basic_streambufIwS2_EEw"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getERNS_15basic_streambufIwS2_EEw"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getERw=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getERw"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getERw"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getEv=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE3getEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4peekEv=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4peekEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4peekEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4readEPwl=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4readEPwl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4readEPwl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4swapERS3_=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4swapERS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4swapERS3_"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4syncEv=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4syncEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE4syncEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgENS_4fposI11__mbstate_tEE=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgENS_4fposI11__mbstate_tEE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgENS_4fposI11__mbstate_tEE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgExNS_8ios_base7seekdirE=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgExNS_8ios_base7seekdirE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5seekgExNS_8ios_base7seekdirE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5tellgEv=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5tellgEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5tellgEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5ungetEv=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5ungetEv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE5ungetEv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE6ignoreElj=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE6ignoreElj"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE6ignoreElj"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE6sentryC2ERS3_b=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE6sentryC2ERS3_b"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE6sentryC2ERS3_b"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE7getlineEPwl=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE7getlineEPwl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE7getlineEPwl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE7getlineEPwlw=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE7getlineEPwlw"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE7getlineEPwlw"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE7putbackEw=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE7putbackEw"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE7putbackEw"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE8readsomeEPwl=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE8readsomeEPwl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE8readsomeEPwl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC1EOS3_=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC1EOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC1EOS3_"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC1EPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC1EPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC1EPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC2EOS3_=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC2EOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC2EOS3_"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED2Ev=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED2Ev"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEaSEOS3_=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEaSEOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEEaSEOS3_"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPFRNS_8ios_baseES5_E=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPFRNS_8ios_baseES5_E"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPFRNS_8ios_baseES5_E"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPFRNS_9basic_iosIwS2_EES6_E=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPFRNS_9basic_iosIwS2_EES6_E"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPFRNS_9basic_iosIwS2_EES6_E"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPFRS3_S4_E=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPFRS3_S4_E"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPFRS3_S4_E"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsEPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERPv=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERPv"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERPv"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERb=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERb"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERb"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERd=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERd"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERd"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERe=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERe"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERe"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERf=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERf"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERf"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERi=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERi"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERi"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERj=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERj"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERj"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERl=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERl"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERl"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERm=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERm"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERm"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERs=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERs"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERs"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERt=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERt"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERt"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERx=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERx"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERx"].apply(null,arguments)};var __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERy=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERy"]=function(){return Module["asm"]["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEErsERy"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE4swapERS3_=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE4swapERS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE4swapERS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5seekpENS_4fposI11__mbstate_tEE=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5seekpENS_4fposI11__mbstate_tEE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5seekpENS_4fposI11__mbstate_tEE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5seekpExNS_8ios_base7seekdirE=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5seekpExNS_8ios_base7seekdirE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5seekpExNS_8ios_base7seekdirE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5tellpEv=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5tellpEv"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5tellpEv"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5writeEPKcl=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5writeEPKcl"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5writeEPKcl"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC1EOS3_=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC1EOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC1EOS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC1Ev=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC1Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC1Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC2EOS3_=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC2EOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC2EOS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC2Ev=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEC2Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED2Ev=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEaSEOS3_=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEaSEOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEEaSEOS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPFRNS_8ios_baseES5_E=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPFRNS_8ios_baseES5_E"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPFRNS_8ios_baseES5_E"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPFRNS_9basic_iosIcS2_EES6_E=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPFRNS_9basic_iosIcS2_EES6_E"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPFRNS_9basic_iosIcS2_EES6_E"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPFRS3_S4_E=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPFRS3_S4_E"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPFRS3_S4_E"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPKv=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPKv"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPKv"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEb=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEb"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEb"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEd=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEd"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEd"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEe=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEe"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEe"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEf=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEf"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEf"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEj=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEj"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEj"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEl=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEl"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEl"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEm=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEm"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEm"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEs=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEs"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEs"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEt=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEt"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEt"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEx=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEx"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEx"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEy=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEy"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEy"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE3putEw=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE3putEw"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE3putEw"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE4swapERS3_=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE4swapERS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE4swapERS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5flushEv=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5flushEv"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5flushEv"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5seekpENS_4fposI11__mbstate_tEE=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5seekpENS_4fposI11__mbstate_tEE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5seekpENS_4fposI11__mbstate_tEE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5seekpExNS_8ios_base7seekdirE=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5seekpExNS_8ios_base7seekdirE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5seekpExNS_8ios_base7seekdirE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5tellpEv=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5tellpEv"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5tellpEv"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5writeEPKwl=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5writeEPKwl"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE5writeEPKwl"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryC2ERS3_=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryC2ERS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryC2ERS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryD2Ev=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryD2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryD2Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC1EOS3_=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC1EOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC1EOS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC1EPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC1EPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC1EPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC1Ev=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC1Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC1Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC2EOS3_=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC2EOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC2EOS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC2Ev=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEC2Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED2Ev=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED2Ev"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEaSEOS3_=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEaSEOS3_"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEEaSEOS3_"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPFRNS_8ios_baseES5_E=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPFRNS_8ios_baseES5_E"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPFRNS_8ios_baseES5_E"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPFRNS_9basic_iosIwS2_EES6_E=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPFRNS_9basic_iosIwS2_EES6_E"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPFRNS_9basic_iosIwS2_EES6_E"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPFRS3_S4_E=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPFRS3_S4_E"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPFRS3_S4_E"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPKv=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPKv"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPKv"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEb=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEb"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEb"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEd=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEd"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEd"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEe=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEe"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEe"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEf=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEf"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEf"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEi=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEi"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEi"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEj=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEj"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEj"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEl=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEl"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEl"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEm=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEm"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEm"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEs=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEs"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEs"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEt=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEt"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEt"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEx=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEx"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEx"].apply(null,arguments)};var __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEy=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEy"]=function(){return Module["asm"]["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEElsEy"].apply(null,arguments)};var __ZNSt3__213random_deviceC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__213random_deviceC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__213random_deviceC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__213random_deviceD2Ev=Module["__ZNSt3__213random_deviceD2Ev"]=function(){return Module["asm"]["__ZNSt3__213random_deviceD2Ev"].apply(null,arguments)};var __ZNSt3__213random_deviceclEv=Module["__ZNSt3__213random_deviceclEv"]=function(){return Module["asm"]["__ZNSt3__213random_deviceclEv"].apply(null,arguments)};var __ZNSt3__213shared_futureIvED2Ev=Module["__ZNSt3__213shared_futureIvED2Ev"]=function(){return Module["asm"]["__ZNSt3__213shared_futureIvED2Ev"].apply(null,arguments)};var __ZNSt3__213shared_futureIvEaSERKS1_=Module["__ZNSt3__213shared_futureIvEaSERKS1_"]=function(){return Module["asm"]["__ZNSt3__213shared_futureIvEaSERKS1_"].apply(null,arguments)};var __ZNSt3__214__codecvt_utf8IDiED0Ev=Module["__ZNSt3__214__codecvt_utf8IDiED0Ev"]=function(){return Module["asm"]["__ZNSt3__214__codecvt_utf8IDiED0Ev"].apply(null,arguments)};var __ZNSt3__214__codecvt_utf8IDsED0Ev=Module["__ZNSt3__214__codecvt_utf8IDsED0Ev"]=function(){return Module["asm"]["__ZNSt3__214__codecvt_utf8IDsED0Ev"].apply(null,arguments)};var __ZNSt3__214__codecvt_utf8IwED0Ev=Module["__ZNSt3__214__codecvt_utf8IwED0Ev"]=function(){return Module["asm"]["__ZNSt3__214__codecvt_utf8IwED0Ev"].apply(null,arguments)};var __ZNSt3__214__get_const_dbEv=Module["__ZNSt3__214__get_const_dbEv"]=function(){return Module["asm"]["__ZNSt3__214__get_const_dbEv"].apply(null,arguments)};var __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE=Module["__ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE"]=function(){return Module["asm"]["__ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE"].apply(null,arguments)};var __ZNSt3__214__num_put_base12__format_intEPcPKcbj=Module["__ZNSt3__214__num_put_base12__format_intEPcPKcbj"]=function(){return Module["asm"]["__ZNSt3__214__num_put_base12__format_intEPcPKcbj"].apply(null,arguments)};var __ZNSt3__214__num_put_base14__format_floatEPcPKcj=Module["__ZNSt3__214__num_put_base14__format_floatEPcPKcj"]=function(){return Module["asm"]["__ZNSt3__214__num_put_base14__format_floatEPcPKcj"].apply(null,arguments)};var __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE=Module["__ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE"]=function(){return Module["asm"]["__ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE"].apply(null,arguments)};var __ZNSt3__214__ptr_in_rangeIcEEbPKT_S3_S3_=Module["__ZNSt3__214__ptr_in_rangeIcEEbPKT_S3_S3_"]=function(){return Module["asm"]["__ZNSt3__214__ptr_in_rangeIcEEbPKT_S3_S3_"].apply(null,arguments)};var __ZNSt3__214__ptr_in_rangeIwEEbPKT_S3_S3_=Module["__ZNSt3__214__ptr_in_rangeIwEEbPKT_S3_S3_"]=function(){return Module["asm"]["__ZNSt3__214__ptr_in_rangeIwEEbPKT_S3_S3_"].apply(null,arguments)};var __ZNSt3__214__rotate_rightINS_11__wrap_iterIPcEEEET_S4_S4_=Module["__ZNSt3__214__rotate_rightINS_11__wrap_iterIPcEEEET_S4_S4_"]=function(){return Module["asm"]["__ZNSt3__214__rotate_rightINS_11__wrap_iterIPcEEEET_S4_S4_"].apply(null,arguments)};var __ZNSt3__214__rotate_rightINS_11__wrap_iterIPwEEEET_S4_S4_=Module["__ZNSt3__214__rotate_rightINS_11__wrap_iterIPwEEEET_S4_S4_"]=function(){return Module["asm"]["__ZNSt3__214__rotate_rightINS_11__wrap_iterIPwEEEET_S4_S4_"].apply(null,arguments)};var __ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb=Module["__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb"]=function(){return Module["asm"]["__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb"].apply(null,arguments)};var __ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb=Module["__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb"]=function(){return Module["asm"]["__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb"].apply(null,arguments)};var __ZNSt3__214__scan_keywordIPcPNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SC_SB_SB_RKT1_Rjb=Module["__ZNSt3__214__scan_keywordIPcPNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SC_SB_SB_RKT1_Rjb"]=function(){return Module["asm"]["__ZNSt3__214__scan_keywordIPcPNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SC_SB_SB_RKT1_Rjb"].apply(null,arguments)};var __ZNSt3__214__scan_keywordIPwPNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SC_SB_SB_RKT1_Rjb=Module["__ZNSt3__214__scan_keywordIPwPNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SC_SB_SB_RKT1_Rjb"]=function(){return Module["asm"]["__ZNSt3__214__scan_keywordIPwPNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SC_SB_SB_RKT1_Rjb"].apply(null,arguments)};var __ZNSt3__214__shared_countD0Ev=Module["__ZNSt3__214__shared_countD0Ev"]=function(){return Module["asm"]["__ZNSt3__214__shared_countD0Ev"].apply(null,arguments)};var __ZNSt3__214__shared_countD2Ev=Module["__ZNSt3__214__shared_countD2Ev"]=function(){return Module["asm"]["__ZNSt3__214__shared_countD2Ev"].apply(null,arguments)};var __ZNSt3__214__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lm4096EEEEC2EmmS6_=Module["__ZNSt3__214__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lm4096EEEEC2EmmS6_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lm4096EEEEC2EmmS6_"].apply(null,arguments)};var __ZNSt3__214__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lm4096EEEED2Ev=Module["__ZNSt3__214__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lm4096EEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lm4096EEEED2Ev"].apply(null,arguments)};var __ZNSt3__214__split_bufferINS_4pairIPNS_18condition_variableEPNS_5mutexEEERNS_18__hidden_allocatorIS6_EEEC2EmmS9_=Module["__ZNSt3__214__split_bufferINS_4pairIPNS_18condition_variableEPNS_5mutexEEERNS_18__hidden_allocatorIS6_EEEC2EmmS9_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferINS_4pairIPNS_18condition_variableEPNS_5mutexEEERNS_18__hidden_allocatorIS6_EEEC2EmmS9_"].apply(null,arguments)};var __ZNSt3__214__split_bufferINS_4pairIPNS_18condition_variableEPNS_5mutexEEERNS_18__hidden_allocatorIS6_EEED2Ev=Module["__ZNSt3__214__split_bufferINS_4pairIPNS_18condition_variableEPNS_5mutexEEERNS_18__hidden_allocatorIS6_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferINS_4pairIPNS_18condition_variableEPNS_5mutexEEERNS_18__hidden_allocatorIS6_EEED2Ev"].apply(null,arguments)};var __ZNSt3__214__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEERNS5_IS7_Lm4096EEEEC2EmmS9_=Module["__ZNSt3__214__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEERNS5_IS7_Lm4096EEEEC2EmmS9_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEERNS5_IS7_Lm4096EEEEC2EmmS9_"].apply(null,arguments)};var __ZNSt3__214__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEERNS5_IS7_Lm4096EEEED2Ev=Module["__ZNSt3__214__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEERNS5_IS7_Lm4096EEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEERNS5_IS7_Lm4096EEEED2Ev"].apply(null,arguments)};var __ZNSt3__214__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEEERNS5_IS9_Lm4096EEEEC2EmmSB_=Module["__ZNSt3__214__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEEERNS5_IS9_Lm4096EEEEC2EmmSB_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEEERNS5_IS9_Lm4096EEEEC2EmmSB_"].apply(null,arguments)};var __ZNSt3__214__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEEERNS5_IS9_Lm4096EEEED2Ev=Module["__ZNSt3__214__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEEERNS5_IS9_Lm4096EEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lm4096EEEEENS5_IS7_Lm4096EEEEERNS5_IS9_Lm4096EEEED2Ev"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNS_17__assoc_sub_stateERNS_18__hidden_allocatorIS2_EEEC2EmmS5_=Module["__ZNSt3__214__split_bufferIPNS_17__assoc_sub_stateERNS_18__hidden_allocatorIS2_EEEC2EmmS5_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNS_17__assoc_sub_stateERNS_18__hidden_allocatorIS2_EEEC2EmmS5_"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNS_17__assoc_sub_stateERNS_18__hidden_allocatorIS2_EEED2Ev=Module["__ZNSt3__214__split_bufferIPNS_17__assoc_sub_stateERNS_18__hidden_allocatorIS2_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNS_17__assoc_sub_stateERNS_18__hidden_allocatorIS2_EEED2Ev"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm=Module["__ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEEC2EmmS6_=Module["__ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEEC2EmmS6_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEEC2EmmS6_"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEED2Ev=Module["__ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEED2Ev"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS5_EEE10push_frontEOS5_=Module["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS5_EEE10push_frontEOS5_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS5_EEE10push_frontEOS5_"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS5_EEE9push_backEOS5_=Module["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS5_EEE9push_backEOS5_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS5_EEE9push_backEOS5_"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS5_EEED2Ev=Module["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS5_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS5_EEED2Ev"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEE10push_frontERKS5_=Module["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEE10push_frontERKS5_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEE10push_frontERKS5_"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEE18__construct_at_endINS_13move_iteratorIPS5_EEEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESF_SF_=Module["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEE18__construct_at_endINS_13move_iteratorIPS5_EEEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESF_SF_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEE18__construct_at_endINS_13move_iteratorIPS5_EEEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESF_SF_"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEE9push_backEOS5_=Module["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEE9push_backEOS5_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEE9push_backEOS5_"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEEC2EmmS8_=Module["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEEC2EmmS8_"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEEC2EmmS8_"].apply(null,arguments)};var __ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEED2Ev=Module["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214__split_bufferIPNSt12experimental10filesystem2v112__dir_streamERNS_9allocatorIS5_EEED2Ev"].apply(null,arguments)};var __ZNSt3__214basic_ifstreamIcNS_11char_traitsIcEEED0Ev=Module["__ZNSt3__214basic_ifstreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__214basic_ifstreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZNSt3__214basic_ifstreamIcNS_11char_traitsIcEEED1Ev=Module["__ZNSt3__214basic_ifstreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZNSt3__214basic_ifstreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZNSt3__214basic_ifstreamIcNS_11char_traitsIcEEED2Ev=Module["__ZNSt3__214basic_ifstreamIcNS_11char_traitsIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214basic_ifstreamIcNS_11char_traitsIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEE4swapERS3_=Module["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEE4swapERS3_"]=function(){return Module["asm"]["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEE4swapERS3_"].apply(null,arguments)};var __ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC1EOS3_=Module["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC1EOS3_"]=function(){return Module["asm"]["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC1EOS3_"].apply(null,arguments)};var __ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC2EOS3_=Module["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC2EOS3_"]=function(){return Module["asm"]["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC2EOS3_"].apply(null,arguments)};var __ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEED0Ev=Module["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEED1Ev=Module["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEED2Ev=Module["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEaSEOS3_=Module["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEaSEOS3_"]=function(){return Module["asm"]["__ZNSt3__214basic_iostreamIcNS_11char_traitsIcEEEaSEOS3_"].apply(null,arguments)};var __ZNSt3__214basic_ofstreamIcNS_11char_traitsIcEEED0Ev=Module["__ZNSt3__214basic_ofstreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__214basic_ofstreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZNSt3__214basic_ofstreamIcNS_11char_traitsIcEEED1Ev=Module["__ZNSt3__214basic_ofstreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZNSt3__214basic_ofstreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZNSt3__214basic_ofstreamIcNS_11char_traitsIcEEED2Ev=Module["__ZNSt3__214basic_ofstreamIcNS_11char_traitsIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__214basic_ofstreamIcNS_11char_traitsIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIDic11__mbstate_tEC2EPKcm=Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIDic11__mbstate_tEC2EPKcm"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIDic11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIDic11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIDic11__mbstate_tED0Ev=Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tED0Ev"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIDic11__mbstate_tED0Ev"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIDic11__mbstate_tED2Ev=Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tED2Ev"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIDic11__mbstate_tED2Ev"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC2EPKcm=Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC2EPKcm"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIDsc11__mbstate_tED0Ev=Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tED0Ev"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tED0Ev"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIDsc11__mbstate_tED2Ev=Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tED2Ev"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tED2Ev"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIcc11__mbstate_tEC2EPKcm=Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIcc11__mbstate_tEC2EPKcm"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIcc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIcc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIcc11__mbstate_tED0Ev=Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tED0Ev"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIcc11__mbstate_tED0Ev"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIcc11__mbstate_tED2Ev=Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tED2Ev"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIcc11__mbstate_tED2Ev"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIwc11__mbstate_tEC2EPKcm=Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIwc11__mbstate_tEC2EPKcm"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIwc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIwc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIwc11__mbstate_tED0Ev=Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tED0Ev"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIwc11__mbstate_tED0Ev"].apply(null,arguments)};var __ZNSt3__214codecvt_bynameIwc11__mbstate_tED2Ev=Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tED2Ev"]=function(){return Module["asm"]["__ZNSt3__214codecvt_bynameIwc11__mbstate_tED2Ev"].apply(null,arguments)};var __ZNSt3__214collate_bynameIcEC2EPKcm=Module["__ZNSt3__214collate_bynameIcEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__214collate_bynameIcEC2EPKcm"].apply(null,arguments)};var __ZNSt3__214collate_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__214collate_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__214collate_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__214collate_bynameIcED0Ev=Module["__ZNSt3__214collate_bynameIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__214collate_bynameIcED0Ev"].apply(null,arguments)};var __ZNSt3__214collate_bynameIcED2Ev=Module["__ZNSt3__214collate_bynameIcED2Ev"]=function(){return Module["asm"]["__ZNSt3__214collate_bynameIcED2Ev"].apply(null,arguments)};var __ZNSt3__214collate_bynameIwEC2EPKcm=Module["__ZNSt3__214collate_bynameIwEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__214collate_bynameIwEC2EPKcm"].apply(null,arguments)};var __ZNSt3__214collate_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__214collate_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__214collate_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__214collate_bynameIwED0Ev=Module["__ZNSt3__214collate_bynameIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__214collate_bynameIwED0Ev"].apply(null,arguments)};var __ZNSt3__214collate_bynameIwED2Ev=Module["__ZNSt3__214collate_bynameIwED2Ev"]=function(){return Module["asm"]["__ZNSt3__214collate_bynameIwED2Ev"].apply(null,arguments)};var __ZNSt3__214error_categoryD0Ev=Module["__ZNSt3__214error_categoryD0Ev"]=function(){return Module["asm"]["__ZNSt3__214error_categoryD0Ev"].apply(null,arguments)};var __ZNSt3__214error_categoryD2Ev=Module["__ZNSt3__214error_categoryD2Ev"]=function(){return Module["asm"]["__ZNSt3__214error_categoryD2Ev"].apply(null,arguments)};var __ZNSt3__215__codecvt_utf16IDiLb0EED0Ev=Module["__ZNSt3__215__codecvt_utf16IDiLb0EED0Ev"]=function(){return Module["asm"]["__ZNSt3__215__codecvt_utf16IDiLb0EED0Ev"].apply(null,arguments)};var __ZNSt3__215__codecvt_utf16IDiLb1EED0Ev=Module["__ZNSt3__215__codecvt_utf16IDiLb1EED0Ev"]=function(){return Module["asm"]["__ZNSt3__215__codecvt_utf16IDiLb1EED0Ev"].apply(null,arguments)};var __ZNSt3__215__codecvt_utf16IDsLb0EED0Ev=Module["__ZNSt3__215__codecvt_utf16IDsLb0EED0Ev"]=function(){return Module["asm"]["__ZNSt3__215__codecvt_utf16IDsLb0EED0Ev"].apply(null,arguments)};var __ZNSt3__215__codecvt_utf16IDsLb1EED0Ev=Module["__ZNSt3__215__codecvt_utf16IDsLb1EED0Ev"]=function(){return Module["asm"]["__ZNSt3__215__codecvt_utf16IDsLb1EED0Ev"].apply(null,arguments)};var __ZNSt3__215__codecvt_utf16IwLb0EED0Ev=Module["__ZNSt3__215__codecvt_utf16IwLb0EED0Ev"]=function(){return Module["asm"]["__ZNSt3__215__codecvt_utf16IwLb0EED0Ev"].apply(null,arguments)};var __ZNSt3__215__codecvt_utf16IwLb1EED0Ev=Module["__ZNSt3__215__codecvt_utf16IwLb1EED0Ev"]=function(){return Module["asm"]["__ZNSt3__215__codecvt_utf16IwLb1EED0Ev"].apply(null,arguments)};var __ZNSt3__215__get_classnameEPKcb=Module["__ZNSt3__215__get_classnameEPKcb"]=function(){return Module["asm"]["__ZNSt3__215__get_classnameEPKcb"].apply(null,arguments)};var __ZNSt3__215__num_get_floatIdEET_PKcS3_Rj=Module["__ZNSt3__215__num_get_floatIdEET_PKcS3_Rj"]=function(){return Module["asm"]["__ZNSt3__215__num_get_floatIdEET_PKcS3_Rj"].apply(null,arguments)};var __ZNSt3__215__num_get_floatIeEET_PKcS3_Rj=Module["__ZNSt3__215__num_get_floatIeEET_PKcS3_Rj"]=function(){return Module["asm"]["__ZNSt3__215__num_get_floatIeEET_PKcS3_Rj"].apply(null,arguments)};var __ZNSt3__215__num_get_floatIfEET_PKcS3_Rj=Module["__ZNSt3__215__num_get_floatIfEET_PKcS3_Rj"]=function(){return Module["asm"]["__ZNSt3__215__num_get_floatIfEET_PKcS3_Rj"].apply(null,arguments)};var __ZNSt3__215__refstring_imp12_GLOBAL__N_113data_from_repEPNS1_9_Rep_baseE=Module["__ZNSt3__215__refstring_imp12_GLOBAL__N_113data_from_repEPNS1_9_Rep_baseE"]=function(){return Module["asm"]["__ZNSt3__215__refstring_imp12_GLOBAL__N_113data_from_repEPNS1_9_Rep_baseE"].apply(null,arguments)};var __ZNSt3__215__refstring_imp12_GLOBAL__N_113rep_from_dataEPKc=Module["__ZNSt3__215__refstring_imp12_GLOBAL__N_113rep_from_dataEPKc"]=function(){return Module["asm"]["__ZNSt3__215__refstring_imp12_GLOBAL__N_113rep_from_dataEPKc"].apply(null,arguments)};var __ZNSt3__215__refstring_imp12_GLOBAL__N_113rep_from_dataEPKc_15334=Module["__ZNSt3__215__refstring_imp12_GLOBAL__N_113rep_from_dataEPKc_15334"]=function(){return Module["asm"]["__ZNSt3__215__refstring_imp12_GLOBAL__N_113rep_from_dataEPKc_15334"].apply(null,arguments)};var __ZNSt3__215__thread_struct25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE=Module["__ZNSt3__215__thread_struct25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE"]=function(){return Module["asm"]["__ZNSt3__215__thread_struct25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE"].apply(null,arguments)};var __ZNSt3__215__thread_struct27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE=Module["__ZNSt3__215__thread_struct27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE"]=function(){return Module["asm"]["__ZNSt3__215__thread_struct27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE"].apply(null,arguments)};var __ZNSt3__215__thread_structC2Ev=Module["__ZNSt3__215__thread_structC2Ev"]=function(){return Module["asm"]["__ZNSt3__215__thread_structC2Ev"].apply(null,arguments)};var __ZNSt3__215__thread_structD2Ev=Module["__ZNSt3__215__thread_structD2Ev"]=function(){return Module["asm"]["__ZNSt3__215__thread_structD2Ev"].apply(null,arguments)};var __ZNSt3__215__time_get_tempIcEC2EPKc=Module["__ZNSt3__215__time_get_tempIcEC2EPKc"]=function(){return Module["asm"]["__ZNSt3__215__time_get_tempIcEC2EPKc"].apply(null,arguments)};var __ZNSt3__215__time_get_tempIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__215__time_get_tempIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__215__time_get_tempIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__215__time_get_tempIcED0Ev=Module["__ZNSt3__215__time_get_tempIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__215__time_get_tempIcED0Ev"].apply(null,arguments)};var __ZNSt3__215__time_get_tempIwEC2EPKc=Module["__ZNSt3__215__time_get_tempIwEC2EPKc"]=function(){return Module["asm"]["__ZNSt3__215__time_get_tempIwEC2EPKc"].apply(null,arguments)};var __ZNSt3__215__time_get_tempIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__215__time_get_tempIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__215__time_get_tempIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__215__time_get_tempIwED0Ev=Module["__ZNSt3__215__time_get_tempIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__215__time_get_tempIwED0Ev"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekoffExNS_8ios_base7seekdirEj=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekoffExNS_8ios_base7seekdirEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekoffExNS_8ios_base7seekdirEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekposENS_4fposI11__mbstate_tEEj=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekposENS_4fposI11__mbstate_tEEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE10pubseekposENS_4fposI11__mbstate_tEEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4setgEPcS4_S4_=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4setgEPcS4_S4_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4setgEPcS4_S4_"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4setpEPcS4_=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4setpEPcS4_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4setpEPcS4_"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4swapERS3_=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4swapERS3_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4swapERS3_"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4syncEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4syncEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4syncEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5gbumpEi=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5gbumpEi"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5gbumpEi"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5pbumpEi=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5pbumpEi"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5pbumpEi"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sgetcEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sgetcEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sgetcEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sgetnEPcl=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sgetnEPcl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sgetnEPcl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sputcEc=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sputcEc"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sputcEc"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sputnEPKcl=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sputnEPKcl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5sputnEPKcl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5uflowEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5uflowEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5uflowEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6sbumpcEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6sbumpcEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6sbumpcEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6setbufEPcl=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6setbufEPcl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6setbufEPcl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6snextcEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6snextcEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6snextcEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPcl=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPcl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPcl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7__pbumpEl=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7__pbumpEl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7__pbumpEl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7pubsyncEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7pubsyncEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7pubsyncEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7sungetcEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7sungetcEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7sungetcEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8in_availEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8in_availEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8in_availEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8overflowEi=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8overflowEi"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8overflowEi"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8pubimbueERKNS_6localeE=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8pubimbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8pubimbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9pubsetbufEPcl=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9pubsetbufEPcl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9pubsetbufEPcl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9showmanycEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9showmanycEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9showmanycEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9sputbackcEc=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9sputbackcEc"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9sputbackcEc"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9underflowEv=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9underflowEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9underflowEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2ERKS3_=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2ERKS3_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2ERKS3_"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2Ev=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2Ev"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED0Ev=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEaSERKS3_=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEaSERKS3_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEaSERKS3_"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekoffExNS_8ios_base7seekdirEj=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekoffExNS_8ios_base7seekdirEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekoffExNS_8ios_base7seekdirEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekposENS_4fposI11__mbstate_tEEj=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekposENS_4fposI11__mbstate_tEEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE10pubseekposENS_4fposI11__mbstate_tEEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4setgEPwS4_S4_=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4setgEPwS4_S4_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4setgEPwS4_S4_"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4setpEPwS4_=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4setpEPwS4_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4setpEPwS4_"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4swapERS3_=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4swapERS3_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4swapERS3_"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4syncEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4syncEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4syncEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5gbumpEi=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5gbumpEi"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5gbumpEi"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5pbumpEi=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5pbumpEi"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5pbumpEi"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sgetcEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sgetcEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sgetcEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sgetnEPwl=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sgetnEPwl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sgetnEPwl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sputcEw=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sputcEw"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sputcEw"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sputnEPKwl=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sputnEPKwl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5sputnEPKwl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5uflowEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5uflowEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5uflowEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6sbumpcEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6sbumpcEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6sbumpcEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6setbufEPwl=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6setbufEPwl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6setbufEPwl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6snextcEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6snextcEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6snextcEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwl=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwl=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7__pbumpEl=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7__pbumpEl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7__pbumpEl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7pubsyncEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7pubsyncEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7pubsyncEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI11__mbstate_tEEj=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI11__mbstate_tEEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI11__mbstate_tEEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7sungetcEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7sungetcEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7sungetcEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8in_availEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8in_availEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8in_availEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8overflowEj=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8overflowEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8overflowEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8pubimbueERKNS_6localeE=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8pubimbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8pubimbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pubsetbufEPwl=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pubsetbufEPwl"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pubsetbufEPwl"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9showmanycEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9showmanycEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9showmanycEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9sputbackcEw=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9sputbackcEw"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9sputbackcEw"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9underflowEv=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9underflowEv"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9underflowEv"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2ERKS3_=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2ERKS3_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2ERKS3_"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2Ev=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2Ev"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED0Ev=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED0Ev"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev"].apply(null,arguments)};var __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEaSERKS3_=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEaSERKS3_"]=function(){return Module["asm"]["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEaSERKS3_"].apply(null,arguments)};var __ZNSt3__215future_categoryEv=Module["__ZNSt3__215future_categoryEv"]=function(){return Module["asm"]["__ZNSt3__215future_categoryEv"].apply(null,arguments)};var __ZNSt3__215messages_bynameIcEC2EPKcm=Module["__ZNSt3__215messages_bynameIcEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__215messages_bynameIcEC2EPKcm"].apply(null,arguments)};var __ZNSt3__215messages_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__215messages_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__215messages_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__215messages_bynameIcED0Ev=Module["__ZNSt3__215messages_bynameIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__215messages_bynameIcED0Ev"].apply(null,arguments)};var __ZNSt3__215messages_bynameIcED2Ev=Module["__ZNSt3__215messages_bynameIcED2Ev"]=function(){return Module["asm"]["__ZNSt3__215messages_bynameIcED2Ev"].apply(null,arguments)};var __ZNSt3__215messages_bynameIwEC2EPKcm=Module["__ZNSt3__215messages_bynameIwEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__215messages_bynameIwEC2EPKcm"].apply(null,arguments)};var __ZNSt3__215messages_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__215messages_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__215messages_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__215messages_bynameIwED0Ev=Module["__ZNSt3__215messages_bynameIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__215messages_bynameIwED0Ev"].apply(null,arguments)};var __ZNSt3__215messages_bynameIwED2Ev=Module["__ZNSt3__215messages_bynameIwED2Ev"]=function(){return Module["asm"]["__ZNSt3__215messages_bynameIwED2Ev"].apply(null,arguments)};var __ZNSt3__215numpunct_bynameIcE6__initEPKc=Module["__ZNSt3__215numpunct_bynameIcE6__initEPKc"]=function(){return Module["asm"]["__ZNSt3__215numpunct_bynameIcE6__initEPKc"].apply(null,arguments)};var __ZNSt3__215numpunct_bynameIcEC2EPKcm=Module["__ZNSt3__215numpunct_bynameIcEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__215numpunct_bynameIcEC2EPKcm"].apply(null,arguments)};var __ZNSt3__215numpunct_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__215numpunct_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__215numpunct_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__215numpunct_bynameIcED0Ev=Module["__ZNSt3__215numpunct_bynameIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__215numpunct_bynameIcED0Ev"].apply(null,arguments)};var __ZNSt3__215numpunct_bynameIwE6__initEPKc=Module["__ZNSt3__215numpunct_bynameIwE6__initEPKc"]=function(){return Module["asm"]["__ZNSt3__215numpunct_bynameIwE6__initEPKc"].apply(null,arguments)};var __ZNSt3__215numpunct_bynameIwEC2EPKcm=Module["__ZNSt3__215numpunct_bynameIwEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__215numpunct_bynameIwEC2EPKcm"].apply(null,arguments)};var __ZNSt3__215numpunct_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__215numpunct_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__215numpunct_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__215numpunct_bynameIwED0Ev=Module["__ZNSt3__215numpunct_bynameIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__215numpunct_bynameIwED0Ev"].apply(null,arguments)};var __ZNSt3__215recursive_mutex4lockEv=Module["__ZNSt3__215recursive_mutex4lockEv"]=function(){return Module["asm"]["__ZNSt3__215recursive_mutex4lockEv"].apply(null,arguments)};var __ZNSt3__215recursive_mutex6unlockEv=Module["__ZNSt3__215recursive_mutex6unlockEv"]=function(){return Module["asm"]["__ZNSt3__215recursive_mutex6unlockEv"].apply(null,arguments)};var __ZNSt3__215recursive_mutex8try_lockEv=Module["__ZNSt3__215recursive_mutex8try_lockEv"]=function(){return Module["asm"]["__ZNSt3__215recursive_mutex8try_lockEv"].apply(null,arguments)};var __ZNSt3__215recursive_mutexC2Ev=Module["__ZNSt3__215recursive_mutexC2Ev"]=function(){return Module["asm"]["__ZNSt3__215recursive_mutexC2Ev"].apply(null,arguments)};var __ZNSt3__215recursive_mutexD2Ev=Module["__ZNSt3__215recursive_mutexD2Ev"]=function(){return Module["asm"]["__ZNSt3__215recursive_mutexD2Ev"].apply(null,arguments)};var __ZNSt3__215system_categoryEv=Module["__ZNSt3__215system_categoryEv"]=function(){return Module["asm"]["__ZNSt3__215system_categoryEv"].apply(null,arguments)};var __ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm=Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm"].apply(null,arguments)};var __ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm=Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev=Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev=Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm=Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm"].apply(null,arguments)};var __ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm=Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev=Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev=Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm=Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm"].apply(null,arguments)};var __ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm=Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev=Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev=Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm=Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm"].apply(null,arguments)};var __ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm=Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev=Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev=Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj=Module["__ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj"]=function(){return Module["asm"]["__ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj"].apply(null,arguments)};var __ZNSt3__216__narrow_to_utf8ILm16EED0Ev=Module["__ZNSt3__216__narrow_to_utf8ILm16EED0Ev"]=function(){return Module["asm"]["__ZNSt3__216__narrow_to_utf8ILm16EED0Ev"].apply(null,arguments)};var __ZNSt3__216__narrow_to_utf8ILm32EED0Ev=Module["__ZNSt3__216__narrow_to_utf8ILm32EED0Ev"]=function(){return Module["asm"]["__ZNSt3__216__narrow_to_utf8ILm32EED0Ev"].apply(null,arguments)};var __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_=Module["__ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_"]=function(){return Module["asm"]["__ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_"].apply(null,arguments)};var __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_=Module["__ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_"]=function(){return Module["asm"]["__ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_"].apply(null,arguments)};var __ZNSt3__216generic_categoryEv=Module["__ZNSt3__216generic_categoryEv"]=function(){return Module["asm"]["__ZNSt3__216generic_categoryEv"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state10__sub_waitERNS_11unique_lockINS_5mutexEEE=Module["__ZNSt3__217__assoc_sub_state10__sub_waitERNS_11unique_lockINS_5mutexEEE"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state10__sub_waitERNS_11unique_lockINS_5mutexEEE"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state12__make_readyEv=Module["__ZNSt3__217__assoc_sub_state12__make_readyEv"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state12__make_readyEv"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state13set_exceptionESt13exception_ptr=Module["__ZNSt3__217__assoc_sub_state13set_exceptionESt13exception_ptr"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state13set_exceptionESt13exception_ptr"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state16__on_zero_sharedEv=Module["__ZNSt3__217__assoc_sub_state16__on_zero_sharedEv"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state16__on_zero_sharedEv"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state24set_value_at_thread_exitEv=Module["__ZNSt3__217__assoc_sub_state24set_value_at_thread_exitEv"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state24set_value_at_thread_exitEv"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state28set_exception_at_thread_exitESt13exception_ptr=Module["__ZNSt3__217__assoc_sub_state28set_exception_at_thread_exitESt13exception_ptr"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state28set_exception_at_thread_exitESt13exception_ptr"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state4copyEv=Module["__ZNSt3__217__assoc_sub_state4copyEv"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state4copyEv"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state4waitEv=Module["__ZNSt3__217__assoc_sub_state4waitEv"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state4waitEv"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state9__executeEv=Module["__ZNSt3__217__assoc_sub_state9__executeEv"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state9__executeEv"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_state9set_valueEv=Module["__ZNSt3__217__assoc_sub_state9set_valueEv"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_state9set_valueEv"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_stateD0Ev=Module["__ZNSt3__217__assoc_sub_stateD0Ev"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_stateD0Ev"].apply(null,arguments)};var __ZNSt3__217__assoc_sub_stateD2Ev=Module["__ZNSt3__217__assoc_sub_stateD2Ev"]=function(){return Module["asm"]["__ZNSt3__217__assoc_sub_stateD2Ev"].apply(null,arguments)};var __ZNSt3__217__call_once_proxyINS_5tupleIJONS_12_GLOBAL__N_111__fake_bindEEEEEEvPv=Module["__ZNSt3__217__call_once_proxyINS_5tupleIJONS_12_GLOBAL__N_111__fake_bindEEEEEEvPv"]=function(){return Module["asm"]["__ZNSt3__217__call_once_proxyINS_5tupleIJONS_12_GLOBAL__N_111__fake_bindEEEEEEvPv"].apply(null,arguments)};var __ZNSt3__217__libcpp_sscanf_lEPKcP15__locale_structS1_z=Module["__ZNSt3__217__libcpp_sscanf_lEPKcP15__locale_structS1_z"]=function(){return Module["asm"]["__ZNSt3__217__libcpp_sscanf_lEPKcP15__locale_structS1_z"].apply(null,arguments)};var __ZNSt3__217__widen_from_utf8ILm16EED0Ev=Module["__ZNSt3__217__widen_from_utf8ILm16EED0Ev"]=function(){return Module["asm"]["__ZNSt3__217__widen_from_utf8ILm16EED0Ev"].apply(null,arguments)};var __ZNSt3__217__widen_from_utf8ILm32EED0Ev=Module["__ZNSt3__217__widen_from_utf8ILm32EED0Ev"]=function(){return Module["asm"]["__ZNSt3__217__widen_from_utf8ILm32EED0Ev"].apply(null,arguments)};var __ZNSt3__217bad_function_callD0Ev=Module["__ZNSt3__217bad_function_callD0Ev"]=function(){return Module["asm"]["__ZNSt3__217bad_function_callD0Ev"].apply(null,arguments)};var __ZNSt3__217bad_function_callD2Ev=Module["__ZNSt3__217bad_function_callD2Ev"]=function(){return Module["asm"]["__ZNSt3__217bad_function_callD2Ev"].apply(null,arguments)};var __ZNSt3__217declare_reachableEPv=Module["__ZNSt3__217declare_reachableEPv"]=function(){return Module["asm"]["__ZNSt3__217declare_reachableEPv"].apply(null,arguments)};var __ZNSt3__217iostream_categoryEv=Module["__ZNSt3__217iostream_categoryEv"]=function(){return Module["asm"]["__ZNSt3__217iostream_categoryEv"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb0EE4initEPKc=Module["__ZNSt3__217moneypunct_bynameIcLb0EE4initEPKc"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb0EE4initEPKc"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb0EEC2EPKcm=Module["__ZNSt3__217moneypunct_bynameIcLb0EEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb0EEC2EPKcm"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__217moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb0EED0Ev=Module["__ZNSt3__217moneypunct_bynameIcLb0EED0Ev"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb0EED0Ev"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb0EED2Ev=Module["__ZNSt3__217moneypunct_bynameIcLb0EED2Ev"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb0EED2Ev"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb1EE4initEPKc=Module["__ZNSt3__217moneypunct_bynameIcLb1EE4initEPKc"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb1EE4initEPKc"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb1EEC2EPKcm=Module["__ZNSt3__217moneypunct_bynameIcLb1EEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb1EEC2EPKcm"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__217moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb1EED0Ev=Module["__ZNSt3__217moneypunct_bynameIcLb1EED0Ev"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb1EED0Ev"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIcLb1EED2Ev=Module["__ZNSt3__217moneypunct_bynameIcLb1EED2Ev"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIcLb1EED2Ev"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb0EE4initEPKc=Module["__ZNSt3__217moneypunct_bynameIwLb0EE4initEPKc"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb0EE4initEPKc"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb0EEC2EPKcm=Module["__ZNSt3__217moneypunct_bynameIwLb0EEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb0EEC2EPKcm"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__217moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb0EED0Ev=Module["__ZNSt3__217moneypunct_bynameIwLb0EED0Ev"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb0EED0Ev"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb0EED2Ev=Module["__ZNSt3__217moneypunct_bynameIwLb0EED2Ev"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb0EED2Ev"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb1EE4initEPKc=Module["__ZNSt3__217moneypunct_bynameIwLb1EE4initEPKc"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb1EE4initEPKc"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb1EEC2EPKcm=Module["__ZNSt3__217moneypunct_bynameIwLb1EEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb1EEC2EPKcm"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__217moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb1EED0Ev=Module["__ZNSt3__217moneypunct_bynameIwLb1EED0Ev"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb1EED0Ev"].apply(null,arguments)};var __ZNSt3__217moneypunct_bynameIwLb1EED2Ev=Module["__ZNSt3__217moneypunct_bynameIwLb1EED2Ev"]=function(){return Module["asm"]["__ZNSt3__217moneypunct_bynameIwLb1EED2Ev"].apply(null,arguments)};var __ZNSt3__218__find_first_of_ceIPKcS2_PFbccEEET_S5_S5_T0_S6_T1_=Module["__ZNSt3__218__find_first_of_ceIPKcS2_PFbccEEET_S5_S5_T0_S6_T1_"]=function(){return Module["asm"]["__ZNSt3__218__find_first_of_ceIPKcS2_PFbccEEET_S5_S5_T0_S6_T1_"].apply(null,arguments)};var __ZNSt3__218__find_first_of_ceIPKwS2_PFbwwEEET_S5_S5_T0_S6_T1_=Module["__ZNSt3__218__find_first_of_ceIPKwS2_PFbwwEEET_S5_S5_T0_S6_T1_"]=function(){return Module["asm"]["__ZNSt3__218__find_first_of_ceIPKwS2_PFbwwEEET_S5_S5_T0_S6_T1_"].apply(null,arguments)};var __ZNSt3__218__hidden_allocatorINS_4pairIPNS_18condition_variableEPNS_5mutexEEEE10deallocateEPS6_m=Module["__ZNSt3__218__hidden_allocatorINS_4pairIPNS_18condition_variableEPNS_5mutexEEEE10deallocateEPS6_m"]=function(){return Module["asm"]["__ZNSt3__218__hidden_allocatorINS_4pairIPNS_18condition_variableEPNS_5mutexEEEE10deallocateEPS6_m"].apply(null,arguments)};var __ZNSt3__218__hidden_allocatorINS_4pairIPNS_18condition_variableEPNS_5mutexEEEE8allocateEm=Module["__ZNSt3__218__hidden_allocatorINS_4pairIPNS_18condition_variableEPNS_5mutexEEEE8allocateEm"]=function(){return Module["asm"]["__ZNSt3__218__hidden_allocatorINS_4pairIPNS_18condition_variableEPNS_5mutexEEEE8allocateEm"].apply(null,arguments)};var __ZNSt3__218__hidden_allocatorIPNS_17__assoc_sub_stateEE10deallocateEPS2_m=Module["__ZNSt3__218__hidden_allocatorIPNS_17__assoc_sub_stateEE10deallocateEPS2_m"]=function(){return Module["asm"]["__ZNSt3__218__hidden_allocatorIPNS_17__assoc_sub_stateEE10deallocateEPS2_m"].apply(null,arguments)};var __ZNSt3__218__hidden_allocatorIPNS_17__assoc_sub_stateEE8allocateEm=Module["__ZNSt3__218__hidden_allocatorIPNS_17__assoc_sub_stateEE8allocateEm"]=function(){return Module["asm"]["__ZNSt3__218__hidden_allocatorIPNS_17__assoc_sub_stateEE8allocateEm"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIaaEEPaEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIaaEEPaEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIaaEEPaEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIccEEPcEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIccEEPcEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIccEEPcEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIddEEPdEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIddEEPdEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIddEEPdEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIeeEEPeEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIeeEEPeEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIeeEEPeEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIffEEPfEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIffEEPfEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIffEEPfEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIhhEEPhEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIhhEEPhEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIhhEEPhEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIiiEEPiEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIiiEEPiEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIiiEEPiEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIjjEEPjEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIjjEEPjEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIjjEEPjEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIllEEPlEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIllEEPlEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIllEEPlEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessImmEEPmEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessImmEEPmEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessImmEEPmEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIssEEPsEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIssEEPsEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIssEEPsEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIttEEPtEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIttEEPtEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIttEEPtEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIwwEEPwEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIwwEEPwEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIwwEEPwEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIxxEEPxEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIxxEEPxEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIxxEEPxEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__insertion_sort_3IRNS_6__lessIyyEEPyEEvT0_S5_T_=Module["__ZNSt3__218__insertion_sort_3IRNS_6__lessIyyEEPyEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__218__insertion_sort_3IRNS_6__lessIyyEEPyEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__218__libcpp_refstringC2EPKc=Module["__ZNSt3__218__libcpp_refstringC2EPKc"]=function(){return Module["asm"]["__ZNSt3__218__libcpp_refstringC2EPKc"].apply(null,arguments)};var __ZNSt3__218__libcpp_refstringC2ERKS0_=Module["__ZNSt3__218__libcpp_refstringC2ERKS0_"]=function(){return Module["asm"]["__ZNSt3__218__libcpp_refstringC2ERKS0_"].apply(null,arguments)};var __ZNSt3__218__libcpp_refstringD2Ev=Module["__ZNSt3__218__libcpp_refstringD2Ev"]=function(){return Module["asm"]["__ZNSt3__218__libcpp_refstringD2Ev"].apply(null,arguments)};var __ZNSt3__218__libcpp_refstringaSERKS0_=Module["__ZNSt3__218__libcpp_refstringaSERKS0_"]=function(){return Module["asm"]["__ZNSt3__218__libcpp_refstringaSERKS0_"].apply(null,arguments)};var __ZNSt3__218__search_substringIcNS_11char_traitsIcEEEEPKT_S5_S5_S5_S5_=Module["__ZNSt3__218__search_substringIcNS_11char_traitsIcEEEEPKT_S5_S5_S5_S5_"]=function(){return Module["asm"]["__ZNSt3__218__search_substringIcNS_11char_traitsIcEEEEPKT_S5_S5_S5_S5_"].apply(null,arguments)};var __ZNSt3__218__search_substringIwNS_11char_traitsIwEEEEPKT_S5_S5_S5_S5_=Module["__ZNSt3__218__search_substringIwNS_11char_traitsIwEEEEPKT_S5_S5_S5_S5_"]=function(){return Module["asm"]["__ZNSt3__218__search_substringIwNS_11char_traitsIwEEEEPKT_S5_S5_S5_S5_"].apply(null,arguments)};var __ZNSt3__218__time_get_storageIcE4initERKNS_5ctypeIcEE=Module["__ZNSt3__218__time_get_storageIcE4initERKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNSt3__218__time_get_storageIcE4initERKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNSt3__218__time_get_storageIcE9__analyzeEcRKNS_5ctypeIcEE=Module["__ZNSt3__218__time_get_storageIcE9__analyzeEcRKNS_5ctypeIcEE"]=function(){return Module["asm"]["__ZNSt3__218__time_get_storageIcE9__analyzeEcRKNS_5ctypeIcEE"].apply(null,arguments)};var __ZNSt3__218__time_get_storageIcEC2EPKc=Module["__ZNSt3__218__time_get_storageIcEC2EPKc"]=function(){return Module["asm"]["__ZNSt3__218__time_get_storageIcEC2EPKc"].apply(null,arguments)};var __ZNSt3__218__time_get_storageIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__218__time_get_storageIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__218__time_get_storageIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__218__time_get_storageIwE4initERKNS_5ctypeIwEE=Module["__ZNSt3__218__time_get_storageIwE4initERKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNSt3__218__time_get_storageIwE4initERKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNSt3__218__time_get_storageIwE9__analyzeEcRKNS_5ctypeIwEE=Module["__ZNSt3__218__time_get_storageIwE9__analyzeEcRKNS_5ctypeIwEE"]=function(){return Module["asm"]["__ZNSt3__218__time_get_storageIwE9__analyzeEcRKNS_5ctypeIwEE"].apply(null,arguments)};var __ZNSt3__218__time_get_storageIwEC2EPKc=Module["__ZNSt3__218__time_get_storageIwEC2EPKc"]=function(){return Module["asm"]["__ZNSt3__218__time_get_storageIwEC2EPKc"].apply(null,arguments)};var __ZNSt3__218__time_get_storageIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__218__time_get_storageIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__218__time_get_storageIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__218condition_variable10notify_allEv=Module["__ZNSt3__218condition_variable10notify_allEv"]=function(){return Module["asm"]["__ZNSt3__218condition_variable10notify_allEv"].apply(null,arguments)};var __ZNSt3__218condition_variable10notify_oneEv=Module["__ZNSt3__218condition_variable10notify_oneEv"]=function(){return Module["asm"]["__ZNSt3__218condition_variable10notify_oneEv"].apply(null,arguments)};var __ZNSt3__218condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILx1ELx1000000000EEEEEEE=Module["__ZNSt3__218condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILx1ELx1000000000EEEEEEE"]=function(){return Module["asm"]["__ZNSt3__218condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILx1ELx1000000000EEEEEEE"].apply(null,arguments)};var __ZNSt3__218condition_variable4waitERNS_11unique_lockINS_5mutexEEE=Module["__ZNSt3__218condition_variable4waitERNS_11unique_lockINS_5mutexEEE"]=function(){return Module["asm"]["__ZNSt3__218condition_variable4waitERNS_11unique_lockINS_5mutexEEE"].apply(null,arguments)};var __ZNSt3__218condition_variableD2Ev=Module["__ZNSt3__218condition_variableD2Ev"]=function(){return Module["asm"]["__ZNSt3__218condition_variableD2Ev"].apply(null,arguments)};var __ZNSt3__218shared_timed_mutex11lock_sharedEv=Module["__ZNSt3__218shared_timed_mutex11lock_sharedEv"]=function(){return Module["asm"]["__ZNSt3__218shared_timed_mutex11lock_sharedEv"].apply(null,arguments)};var __ZNSt3__218shared_timed_mutex13unlock_sharedEv=Module["__ZNSt3__218shared_timed_mutex13unlock_sharedEv"]=function(){return Module["asm"]["__ZNSt3__218shared_timed_mutex13unlock_sharedEv"].apply(null,arguments)};var __ZNSt3__218shared_timed_mutex15try_lock_sharedEv=Module["__ZNSt3__218shared_timed_mutex15try_lock_sharedEv"]=function(){return Module["asm"]["__ZNSt3__218shared_timed_mutex15try_lock_sharedEv"].apply(null,arguments)};var __ZNSt3__218shared_timed_mutex4lockEv=Module["__ZNSt3__218shared_timed_mutex4lockEv"]=function(){return Module["asm"]["__ZNSt3__218shared_timed_mutex4lockEv"].apply(null,arguments)};var __ZNSt3__218shared_timed_mutex6unlockEv=Module["__ZNSt3__218shared_timed_mutex6unlockEv"]=function(){return Module["asm"]["__ZNSt3__218shared_timed_mutex6unlockEv"].apply(null,arguments)};var __ZNSt3__218shared_timed_mutex8try_lockEv=Module["__ZNSt3__218shared_timed_mutex8try_lockEv"]=function(){return Module["asm"]["__ZNSt3__218shared_timed_mutex8try_lockEv"].apply(null,arguments)};var __ZNSt3__218shared_timed_mutexC2Ev=Module["__ZNSt3__218shared_timed_mutexC2Ev"]=function(){return Module["asm"]["__ZNSt3__218shared_timed_mutexC2Ev"].apply(null,arguments)};var __ZNSt3__219__double_or_nothingIcEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_=Module["__ZNSt3__219__double_or_nothingIcEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_"]=function(){return Module["asm"]["__ZNSt3__219__double_or_nothingIcEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_"].apply(null,arguments)};var __ZNSt3__219__double_or_nothingIjEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_=Module["__ZNSt3__219__double_or_nothingIjEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_"]=function(){return Module["asm"]["__ZNSt3__219__double_or_nothingIjEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_"].apply(null,arguments)};var __ZNSt3__219__double_or_nothingIwEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_=Module["__ZNSt3__219__double_or_nothingIwEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_"]=function(){return Module["asm"]["__ZNSt3__219__double_or_nothingIwEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_"].apply(null,arguments)};var __ZNSt3__219__iostream_categoryD0Ev=Module["__ZNSt3__219__iostream_categoryD0Ev"]=function(){return Module["asm"]["__ZNSt3__219__iostream_categoryD0Ev"].apply(null,arguments)};var __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz=Module["__ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz"]=function(){return Module["asm"]["__ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz"].apply(null,arguments)};var __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz=Module["__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz"]=function(){return Module["asm"]["__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz"].apply(null,arguments)};var __ZNSt3__219__shared_mutex_base11lock_sharedEv=Module["__ZNSt3__219__shared_mutex_base11lock_sharedEv"]=function(){return Module["asm"]["__ZNSt3__219__shared_mutex_base11lock_sharedEv"].apply(null,arguments)};var __ZNSt3__219__shared_mutex_base13unlock_sharedEv=Module["__ZNSt3__219__shared_mutex_base13unlock_sharedEv"]=function(){return Module["asm"]["__ZNSt3__219__shared_mutex_base13unlock_sharedEv"].apply(null,arguments)};var __ZNSt3__219__shared_mutex_base15try_lock_sharedEv=Module["__ZNSt3__219__shared_mutex_base15try_lock_sharedEv"]=function(){return Module["asm"]["__ZNSt3__219__shared_mutex_base15try_lock_sharedEv"].apply(null,arguments)};var __ZNSt3__219__shared_mutex_base4lockEv=Module["__ZNSt3__219__shared_mutex_base4lockEv"]=function(){return Module["asm"]["__ZNSt3__219__shared_mutex_base4lockEv"].apply(null,arguments)};var __ZNSt3__219__shared_mutex_base6unlockEv=Module["__ZNSt3__219__shared_mutex_base6unlockEv"]=function(){return Module["asm"]["__ZNSt3__219__shared_mutex_base6unlockEv"].apply(null,arguments)};var __ZNSt3__219__shared_mutex_base8try_lockEv=Module["__ZNSt3__219__shared_mutex_base8try_lockEv"]=function(){return Module["asm"]["__ZNSt3__219__shared_mutex_base8try_lockEv"].apply(null,arguments)};var __ZNSt3__219__shared_mutex_baseC2Ev=Module["__ZNSt3__219__shared_mutex_baseC2Ev"]=function(){return Module["asm"]["__ZNSt3__219__shared_mutex_baseC2Ev"].apply(null,arguments)};var __ZNSt3__219__shared_weak_count14__release_weakEv=Module["__ZNSt3__219__shared_weak_count14__release_weakEv"]=function(){return Module["asm"]["__ZNSt3__219__shared_weak_count14__release_weakEv"].apply(null,arguments)};var __ZNSt3__219__shared_weak_count4lockEv=Module["__ZNSt3__219__shared_weak_count4lockEv"]=function(){return Module["asm"]["__ZNSt3__219__shared_weak_count4lockEv"].apply(null,arguments)};var __ZNSt3__219__shared_weak_countD0Ev=Module["__ZNSt3__219__shared_weak_countD0Ev"]=function(){return Module["asm"]["__ZNSt3__219__shared_weak_countD0Ev"].apply(null,arguments)};var __ZNSt3__219__thread_local_dataEv=Module["__ZNSt3__219__thread_local_dataEv"]=function(){return Module["asm"]["__ZNSt3__219__thread_local_dataEv"].apply(null,arguments)};var __ZNSt3__219__thread_struct_imp25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE=Module["__ZNSt3__219__thread_struct_imp25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE"]=function(){return Module["asm"]["__ZNSt3__219__thread_struct_imp25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE"].apply(null,arguments)};var __ZNSt3__219__thread_struct_imp27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE=Module["__ZNSt3__219__thread_struct_imp27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE"]=function(){return Module["asm"]["__ZNSt3__219__thread_struct_imp27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE"].apply(null,arguments)};var __ZNSt3__219__thread_struct_impC2Ev=Module["__ZNSt3__219__thread_struct_impC2Ev"]=function(){return Module["asm"]["__ZNSt3__219__thread_struct_impC2Ev"].apply(null,arguments)};var __ZNSt3__219__thread_struct_impD2Ev=Module["__ZNSt3__219__thread_struct_impD2Ev"]=function(){return Module["asm"]["__ZNSt3__219__thread_struct_impD2Ev"].apply(null,arguments)};var __ZNSt3__219declare_no_pointersEPcm=Module["__ZNSt3__219declare_no_pointersEPcm"]=function(){return Module["asm"]["__ZNSt3__219declare_no_pointersEPcm"].apply(null,arguments)};var __ZNSt3__220__codecvt_utf8_utf16IDiED0Ev=Module["__ZNSt3__220__codecvt_utf8_utf16IDiED0Ev"]=function(){return Module["asm"]["__ZNSt3__220__codecvt_utf8_utf16IDiED0Ev"].apply(null,arguments)};var __ZNSt3__220__codecvt_utf8_utf16IDsED0Ev=Module["__ZNSt3__220__codecvt_utf8_utf16IDsED0Ev"]=function(){return Module["asm"]["__ZNSt3__220__codecvt_utf8_utf16IDsED0Ev"].apply(null,arguments)};var __ZNSt3__220__codecvt_utf8_utf16IwED0Ev=Module["__ZNSt3__220__codecvt_utf8_utf16IwED0Ev"]=function(){return Module["asm"]["__ZNSt3__220__codecvt_utf8_utf16IwED0Ev"].apply(null,arguments)};var __ZNSt3__220__get_collation_nameEPKc=Module["__ZNSt3__220__get_collation_nameEPKc"]=function(){return Module["asm"]["__ZNSt3__220__get_collation_nameEPKc"].apply(null,arguments)};var __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi=Module["__ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi"]=function(){return Module["asm"]["__ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi"].apply(null,arguments)};var __ZNSt3__220__get_up_to_n_digitsIcPcEEiRT0_S2_RjRKNS_5ctypeIT_EEi=Module["__ZNSt3__220__get_up_to_n_digitsIcPcEEiRT0_S2_RjRKNS_5ctypeIT_EEi"]=function(){return Module["asm"]["__ZNSt3__220__get_up_to_n_digitsIcPcEEiRT0_S2_RjRKNS_5ctypeIT_EEi"].apply(null,arguments)};var __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi=Module["__ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi"]=function(){return Module["asm"]["__ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi"].apply(null,arguments)};var __ZNSt3__220__get_up_to_n_digitsIwPwEEiRT0_S2_RjRKNS_5ctypeIT_EEi=Module["__ZNSt3__220__get_up_to_n_digitsIwPwEEiRT0_S2_RjRKNS_5ctypeIT_EEi"]=function(){return Module["asm"]["__ZNSt3__220__get_up_to_n_digitsIwPwEEiRT0_S2_RjRKNS_5ctypeIT_EEi"].apply(null,arguments)};var __ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE16__on_zero_sharedEv=Module["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE16__on_zero_sharedEv"]=function(){return Module["asm"]["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE16__on_zero_sharedEv"].apply(null,arguments)};var __ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE21__on_zero_shared_weakEv=Module["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE21__on_zero_shared_weakEv"]=function(){return Module["asm"]["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE21__on_zero_shared_weakEv"].apply(null,arguments)};var __ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEED0Ev=Module["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEED0Ev"]=function(){return Module["asm"]["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEED0Ev"].apply(null,arguments)};var __ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEED2Ev=Module["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEED2Ev"].apply(null,arguments)};var __ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEE16__on_zero_sharedEv=Module["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEE16__on_zero_sharedEv"]=function(){return Module["asm"]["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEE16__on_zero_sharedEv"].apply(null,arguments)};var __ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEE21__on_zero_shared_weakEv=Module["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEE21__on_zero_shared_weakEv"]=function(){return Module["asm"]["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEE21__on_zero_shared_weakEv"].apply(null,arguments)};var __ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEED0Ev=Module["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEED0Ev"]=function(){return Module["asm"]["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEED0Ev"].apply(null,arguments)};var __ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEED2Ev=Module["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEED2Ev"]=function(){return Module["asm"]["__ZNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEED2Ev"].apply(null,arguments)};var __ZNSt3__220__throw_system_errorEiPKc=Module["__ZNSt3__220__throw_system_errorEiPKc"]=function(){return Module["asm"]["__ZNSt3__220__throw_system_errorEiPKc"].apply(null,arguments)};var __ZNSt3__220__time_get_c_storageIcEC2Ev=Module["__ZNSt3__220__time_get_c_storageIcEC2Ev"]=function(){return Module["asm"]["__ZNSt3__220__time_get_c_storageIcEC2Ev"].apply(null,arguments)};var __ZNSt3__220__time_get_c_storageIwEC2Ev=Module["__ZNSt3__220__time_get_c_storageIwEC2Ev"]=function(){return Module["asm"]["__ZNSt3__220__time_get_c_storageIwEC2Ev"].apply(null,arguments)};var __ZNSt3__220__vector_base_commonILb1EEC2Ev=Module["__ZNSt3__220__vector_base_commonILb1EEC2Ev"]=function(){return Module["asm"]["__ZNSt3__220__vector_base_commonILb1EEC2Ev"].apply(null,arguments)};var __ZNSt3__221__murmur2_or_cityhashImLm32EEclEPKvm=Module["__ZNSt3__221__murmur2_or_cityhashImLm32EEclEPKvm"]=function(){return Module["asm"]["__ZNSt3__221__murmur2_or_cityhashImLm32EEclEPKvm"].apply(null,arguments)};var __ZNSt3__221__thread_specific_ptrINS_15__thread_structEE11set_pointerEPS1_=Module["__ZNSt3__221__thread_specific_ptrINS_15__thread_structEE11set_pointerEPS1_"]=function(){return Module["asm"]["__ZNSt3__221__thread_specific_ptrINS_15__thread_structEE11set_pointerEPS1_"].apply(null,arguments)};var __ZNSt3__221__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv=Module["__ZNSt3__221__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv"]=function(){return Module["asm"]["__ZNSt3__221__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv"].apply(null,arguments)};var __ZNSt3__221__thread_specific_ptrINS_15__thread_structEEC2Ev=Module["__ZNSt3__221__thread_specific_ptrINS_15__thread_structEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__221__thread_specific_ptrINS_15__thread_structEEC2Ev"].apply(null,arguments)};var __ZNSt3__221__throw_runtime_errorEPKc=Module["__ZNSt3__221__throw_runtime_errorEPKc"]=function(){return Module["asm"]["__ZNSt3__221__throw_runtime_errorEPKc"].apply(null,arguments)};var __ZNSt3__221__undeclare_reachableEPv=Module["__ZNSt3__221__undeclare_reachableEPv"]=function(){return Module["asm"]["__ZNSt3__221__undeclare_reachableEPv"].apply(null,arguments)};var __ZNSt3__221recursive_timed_mutex4lockEv=Module["__ZNSt3__221recursive_timed_mutex4lockEv"]=function(){return Module["asm"]["__ZNSt3__221recursive_timed_mutex4lockEv"].apply(null,arguments)};var __ZNSt3__221recursive_timed_mutex6unlockEv=Module["__ZNSt3__221recursive_timed_mutex6unlockEv"]=function(){return Module["asm"]["__ZNSt3__221recursive_timed_mutex6unlockEv"].apply(null,arguments)};var __ZNSt3__221recursive_timed_mutex8try_lockEv=Module["__ZNSt3__221recursive_timed_mutex8try_lockEv"]=function(){return Module["asm"]["__ZNSt3__221recursive_timed_mutex8try_lockEv"].apply(null,arguments)};var __ZNSt3__221recursive_timed_mutexC2Ev=Module["__ZNSt3__221recursive_timed_mutexC2Ev"]=function(){return Module["asm"]["__ZNSt3__221recursive_timed_mutexC2Ev"].apply(null,arguments)};var __ZNSt3__221recursive_timed_mutexD2Ev=Module["__ZNSt3__221recursive_timed_mutexD2Ev"]=function(){return Module["asm"]["__ZNSt3__221recursive_timed_mutexD2Ev"].apply(null,arguments)};var __ZNSt3__221undeclare_no_pointersEPcm=Module["__ZNSt3__221undeclare_no_pointersEPcm"]=function(){return Module["asm"]["__ZNSt3__221undeclare_no_pointersEPcm"].apply(null,arguments)};var __ZNSt3__222__compressed_pair_elemINSt12experimental10filesystem2v112__dir_streamELi1ELb0EED2Ev=Module["__ZNSt3__222__compressed_pair_elemINSt12experimental10filesystem2v112__dir_streamELi1ELb0EED2Ev"]=function(){return Module["asm"]["__ZNSt3__222__compressed_pair_elemINSt12experimental10filesystem2v112__dir_streamELi1ELb0EED2Ev"].apply(null,arguments)};var __ZNSt3__222__compressed_pair_elemINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impELi1ELb0EED2Ev=Module["__ZNSt3__222__compressed_pair_elemINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impELi1ELb0EED2Ev"]=function(){return Module["asm"]["__ZNSt3__222__compressed_pair_elemINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impELi1ELb0EED2Ev"].apply(null,arguments)};var __ZNSt3__222__libcpp_unique_locale3getEv=Module["__ZNSt3__222__libcpp_unique_locale3getEv"]=function(){return Module["asm"]["__ZNSt3__222__libcpp_unique_locale3getEv"].apply(null,arguments)};var __ZNSt3__222__libcpp_unique_localeC2EPKc=Module["__ZNSt3__222__libcpp_unique_localeC2EPKc"]=function(){return Module["asm"]["__ZNSt3__222__libcpp_unique_localeC2EPKc"].apply(null,arguments)};var __ZNSt3__222__libcpp_unique_localeD2Ev=Module["__ZNSt3__222__libcpp_unique_localeD2Ev"]=function(){return Module["asm"]["__ZNSt3__222__libcpp_unique_localeD2Ev"].apply(null,arguments)};var __ZNSt3__222__release_shared_countclEPNS_14__shared_countE=Module["__ZNSt3__222__release_shared_countclEPNS_14__shared_countE"]=function(){return Module["asm"]["__ZNSt3__222__release_shared_countclEPNS_14__shared_countE"].apply(null,arguments)};var __ZNSt3__223__future_error_categoryD0Ev=Module["__ZNSt3__223__future_error_categoryD0Ev"]=function(){return Module["asm"]["__ZNSt3__223__future_error_categoryD0Ev"].apply(null,arguments)};var __ZNSt3__223__system_error_categoryD0Ev=Module["__ZNSt3__223__system_error_categoryD0Ev"]=function(){return Module["asm"]["__ZNSt3__223__system_error_categoryD0Ev"].apply(null,arguments)};var __ZNSt3__223mersenne_twister_engineIjLm32ELm624ELm397ELm31ELj2567483615ELm11ELj4294967295ELm7ELj2636928640ELm15ELj4022730752ELm18ELj1812433253EE4seedEj=Module["__ZNSt3__223mersenne_twister_engineIjLm32ELm624ELm397ELm31ELj2567483615ELm11ELj4294967295ELm7ELj2636928640ELm15ELj4022730752ELm18ELj1812433253EE4seedEj"]=function(){return Module["asm"]["__ZNSt3__223mersenne_twister_engineIjLm32ELm624ELm397ELm31ELj2567483615ELm11ELj4294967295ELm7ELj2636928640ELm15ELj4022730752ELm18ELj1812433253EE4seedEj"].apply(null,arguments)};var __ZNSt3__223mersenne_twister_engineIjLm32ELm624ELm397ELm31ELj2567483615ELm11ELj4294967295ELm7ELj2636928640ELm15ELj4022730752ELm18ELj1812433253EEclEv=Module["__ZNSt3__223mersenne_twister_engineIjLm32ELm624ELm397ELm31ELj2567483615ELm11ELj4294967295ELm7ELj2636928640ELm15ELj4022730752ELm18ELj1812433253EEclEv"]=function(){return Module["asm"]["__ZNSt3__223mersenne_twister_engineIjLm32ELm624ELm397ELm31ELj2567483615ELm11ELj4294967295ELm7ELj2636928640ELm15ELj4022730752ELm18ELj1812433253EEclEv"].apply(null,arguments)};var __ZNSt3__224__generic_error_categoryD0Ev=Module["__ZNSt3__224__generic_error_categoryD0Ev"]=function(){return Module["asm"]["__ZNSt3__224__generic_error_categoryD0Ev"].apply(null,arguments)};var __ZNSt3__224__libcpp_debug_exception28__libcpp_debug_exception_impC2ERKS1_=Module["__ZNSt3__224__libcpp_debug_exception28__libcpp_debug_exception_impC2ERKS1_"]=function(){return Module["asm"]["__ZNSt3__224__libcpp_debug_exception28__libcpp_debug_exception_impC2ERKS1_"].apply(null,arguments)};var __ZNSt3__224__libcpp_debug_exception28__libcpp_debug_exception_impC2Ev=Module["__ZNSt3__224__libcpp_debug_exception28__libcpp_debug_exception_impC2Ev"]=function(){return Module["asm"]["__ZNSt3__224__libcpp_debug_exception28__libcpp_debug_exception_impC2Ev"].apply(null,arguments)};var __ZNSt3__224__libcpp_debug_exception28__libcpp_debug_exception_impD2Ev=Module["__ZNSt3__224__libcpp_debug_exception28__libcpp_debug_exception_impD2Ev"]=function(){return Module["asm"]["__ZNSt3__224__libcpp_debug_exception28__libcpp_debug_exception_impD2Ev"].apply(null,arguments)};var __ZNSt3__224__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE=Module["__ZNSt3__224__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE"]=function(){return Module["asm"]["__ZNSt3__224__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE"].apply(null,arguments)};var __ZNSt3__224__libcpp_debug_exceptionC2ERKS0_=Module["__ZNSt3__224__libcpp_debug_exceptionC2ERKS0_"]=function(){return Module["asm"]["__ZNSt3__224__libcpp_debug_exceptionC2ERKS0_"].apply(null,arguments)};var __ZNSt3__224__libcpp_debug_exceptionC2Ev=Module["__ZNSt3__224__libcpp_debug_exceptionC2Ev"]=function(){return Module["asm"]["__ZNSt3__224__libcpp_debug_exceptionC2Ev"].apply(null,arguments)};var __ZNSt3__224__libcpp_debug_exceptionD0Ev=Module["__ZNSt3__224__libcpp_debug_exceptionD0Ev"]=function(){return Module["asm"]["__ZNSt3__224__libcpp_debug_exceptionD0Ev"].apply(null,arguments)};var __ZNSt3__224__libcpp_debug_exceptionD2Ev=Module["__ZNSt3__224__libcpp_debug_exceptionD2Ev"]=function(){return Module["asm"]["__ZNSt3__224__libcpp_debug_exceptionD2Ev"].apply(null,arguments)};var __ZNSt3__225__num_get_signed_integralIlEET_PKcS3_Rji=Module["__ZNSt3__225__num_get_signed_integralIlEET_PKcS3_Rji"]=function(){return Module["asm"]["__ZNSt3__225__num_get_signed_integralIlEET_PKcS3_Rji"].apply(null,arguments)};var __ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji=Module["__ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji"]=function(){return Module["asm"]["__ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji"].apply(null,arguments)};var __ZNSt3__225notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE=Module["__ZNSt3__225notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE"]=function(){return Module["asm"]["__ZNSt3__225notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIaaEEPaEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIaaEEPaEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIaaEEPaEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIccEEPcEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIccEEPcEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIccEEPcEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIddEEPdEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIddEEPdEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIddEEPdEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIeeEEPeEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIeeEEPeEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIeeEEPeEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIffEEPfEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIffEEPfEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIffEEPfEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIhhEEPhEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIhhEEPhEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIhhEEPhEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIiiEEPiEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIiiEEPiEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIiiEEPiEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIjjEEPjEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIjjEEPjEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIjjEEPjEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIllEEPlEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIllEEPlEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIllEEPlEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessImmEEPmEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessImmEEPmEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessImmEEPmEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIssEEPsEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIssEEPsEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIssEEPsEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIttEEPtEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIttEEPtEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIttEEPtEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIwwEEPwEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIwwEEPwEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIwwEEPwEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIxxEEPxEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIxxEEPxEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIxxEEPxEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIyyEEPyEEbT0_S5_T_=Module["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIyyEEPyEEbT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__227__insertion_sort_incompleteIRNS_6__lessIyyEEPyEEbT0_S5_T_"].apply(null,arguments)};var __ZNSt3__227__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE=Module["__ZNSt3__227__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE"]=function(){return Module["asm"]["__ZNSt3__227__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE"].apply(null,arguments)};var __ZNSt3__227__num_get_unsigned_integralIjEET_PKcS3_Rji=Module["__ZNSt3__227__num_get_unsigned_integralIjEET_PKcS3_Rji"]=function(){return Module["asm"]["__ZNSt3__227__num_get_unsigned_integralIjEET_PKcS3_Rji"].apply(null,arguments)};var __ZNSt3__227__num_get_unsigned_integralImEET_PKcS3_Rji=Module["__ZNSt3__227__num_get_unsigned_integralImEET_PKcS3_Rji"]=function(){return Module["asm"]["__ZNSt3__227__num_get_unsigned_integralImEET_PKcS3_Rji"].apply(null,arguments)};var __ZNSt3__227__num_get_unsigned_integralItEET_PKcS3_Rji=Module["__ZNSt3__227__num_get_unsigned_integralItEET_PKcS3_Rji"]=function(){return Module["asm"]["__ZNSt3__227__num_get_unsigned_integralItEET_PKcS3_Rji"].apply(null,arguments)};var __ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji=Module["__ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji"]=function(){return Module["asm"]["__ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji"].apply(null,arguments)};var __ZNSt3__229__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE=Module["__ZNSt3__229__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE"]=function(){return Module["asm"]["__ZNSt3__229__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE"].apply(null,arguments)};var __ZNSt3__229__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE=Module["__ZNSt3__229__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE"]=function(){return Module["asm"]["__ZNSt3__229__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE"].apply(null,arguments)};var __ZNSt3__24stodERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm=Module["__ZNSt3__24stodERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"]=function(){return Module["asm"]["__ZNSt3__24stodERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"].apply(null,arguments)};var __ZNSt3__24stodERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm=Module["__ZNSt3__24stodERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"]=function(){return Module["asm"]["__ZNSt3__24stodERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"].apply(null,arguments)};var __ZNSt3__24stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm=Module["__ZNSt3__24stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"]=function(){return Module["asm"]["__ZNSt3__24stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"].apply(null,arguments)};var __ZNSt3__24stofERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm=Module["__ZNSt3__24stofERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"]=function(){return Module["asm"]["__ZNSt3__24stofERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"].apply(null,arguments)};var __ZNSt3__24stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__24stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__24stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"].apply(null,arguments)};var __ZNSt3__24stoiERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__24stoiERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__24stoiERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"].apply(null,arguments)};var __ZNSt3__24stolERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__24stolERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__24stolERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"].apply(null,arguments)};var __ZNSt3__24stolERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__24stolERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__24stolERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"].apply(null,arguments)};var __ZNSt3__25alignEmmRPvRm=Module["__ZNSt3__25alignEmmRPvRm"]=function(){return Module["asm"]["__ZNSt3__25alignEmmRPvRm"].apply(null,arguments)};var __ZNSt3__25ctypeIcE13classic_tableEv=Module["__ZNSt3__25ctypeIcE13classic_tableEv"]=function(){return Module["asm"]["__ZNSt3__25ctypeIcE13classic_tableEv"].apply(null,arguments)};var __ZNSt3__25ctypeIcE21__classic_lower_tableEv=Module["__ZNSt3__25ctypeIcE21__classic_lower_tableEv"]=function(){return Module["asm"]["__ZNSt3__25ctypeIcE21__classic_lower_tableEv"].apply(null,arguments)};var __ZNSt3__25ctypeIcE21__classic_upper_tableEv=Module["__ZNSt3__25ctypeIcE21__classic_upper_tableEv"]=function(){return Module["asm"]["__ZNSt3__25ctypeIcE21__classic_upper_tableEv"].apply(null,arguments)};var __ZNSt3__25ctypeIcEC2EPKtbm=Module["__ZNSt3__25ctypeIcEC2EPKtbm"]=function(){return Module["asm"]["__ZNSt3__25ctypeIcEC2EPKtbm"].apply(null,arguments)};var __ZNSt3__25ctypeIcED0Ev=Module["__ZNSt3__25ctypeIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__25ctypeIcED0Ev"].apply(null,arguments)};var __ZNSt3__25ctypeIcED2Ev=Module["__ZNSt3__25ctypeIcED2Ev"]=function(){return Module["asm"]["__ZNSt3__25ctypeIcED2Ev"].apply(null,arguments)};var __ZNSt3__25ctypeIwED0Ev=Module["__ZNSt3__25ctypeIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__25ctypeIwED0Ev"].apply(null,arguments)};var __ZNSt3__25dequeINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE19__add_back_capacityEv=Module["__ZNSt3__25dequeINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE19__add_back_capacityEv"]=function(){return Module["asm"]["__ZNSt3__25dequeINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE19__add_back_capacityEv"].apply(null,arguments)};var __ZNSt3__25dequeINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE8pop_backEv=Module["__ZNSt3__25dequeINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE8pop_backEv"]=function(){return Module["asm"]["__ZNSt3__25dequeINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE8pop_backEv"].apply(null,arguments)};var __ZNSt3__25dequeINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE9push_backEOS4_=Module["__ZNSt3__25dequeINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE9push_backEOS4_"]=function(){return Module["asm"]["__ZNSt3__25dequeINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEE9push_backEOS4_"].apply(null,arguments)};var __ZNSt3__25mutex4lockEv=Module["__ZNSt3__25mutex4lockEv"]=function(){return Module["asm"]["__ZNSt3__25mutex4lockEv"].apply(null,arguments)};var __ZNSt3__25mutex6unlockEv=Module["__ZNSt3__25mutex6unlockEv"]=function(){return Module["asm"]["__ZNSt3__25mutex6unlockEv"].apply(null,arguments)};var __ZNSt3__25mutex8try_lockEv=Module["__ZNSt3__25mutex8try_lockEv"]=function(){return Module["asm"]["__ZNSt3__25mutex8try_lockEv"].apply(null,arguments)};var __ZNSt3__25mutexD2Ev=Module["__ZNSt3__25mutexD2Ev"]=function(){return Module["asm"]["__ZNSt3__25mutexD2Ev"].apply(null,arguments)};var __ZNSt3__25stackINSt12experimental10filesystem2v112__dir_streamENS_5dequeIS4_NS_9allocatorIS4_EEEEED2Ev=Module["__ZNSt3__25stackINSt12experimental10filesystem2v112__dir_streamENS_5dequeIS4_NS_9allocatorIS4_EEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__25stackINSt12experimental10filesystem2v112__dir_streamENS_5dequeIS4_NS_9allocatorIS4_EEEEED2Ev"].apply(null,arguments)};var __ZNSt3__25stoldERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm=Module["__ZNSt3__25stoldERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"]=function(){return Module["asm"]["__ZNSt3__25stoldERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"].apply(null,arguments)};var __ZNSt3__25stoldERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm=Module["__ZNSt3__25stoldERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"]=function(){return Module["asm"]["__ZNSt3__25stoldERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"].apply(null,arguments)};var __ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"].apply(null,arguments)};var __ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"].apply(null,arguments)};var __ZNSt3__25stoulERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__25stoulERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__25stoulERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"].apply(null,arguments)};var __ZNSt3__25stoulERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__25stoulERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__25stoulERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"].apply(null,arguments)};var __ZNSt3__26__clocEv=Module["__ZNSt3__26__clocEv"]=function(){return Module["asm"]["__ZNSt3__26__clocEv"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIaaEEPaEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIaaEEPaEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIaaEEPaEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIccEEPcEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIccEEPcEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIccEEPcEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIddEEPdEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIddEEPdEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIddEEPdEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIeeEEPeEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIeeEEPeEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIeeEEPeEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIffEEPfEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIffEEPfEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIffEEPfEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIhhEEPhEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIhhEEPhEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIhhEEPhEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIiiEEPiEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIiiEEPiEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIiiEEPiEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIjjEEPjEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIjjEEPjEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIjjEEPjEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIllEEPlEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIllEEPlEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIllEEPlEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessImmEEPmEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessImmEEPmEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessImmEEPmEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIssEEPsEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIssEEPsEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIssEEPsEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIttEEPtEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIttEEPtEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIttEEPtEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIwwEEPwEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIwwEEPwEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIwwEEPwEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIxxEEPxEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIxxEEPxEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIxxEEPxEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26__sortIRNS_6__lessIyyEEPyEEvT0_S5_T_=Module["__ZNSt3__26__sortIRNS_6__lessIyyEEPyEEvT0_S5_T_"]=function(){return Module["asm"]["__ZNSt3__26__sortIRNS_6__lessIyyEEPyEEvT0_S5_T_"].apply(null,arguments)};var __ZNSt3__26chrono12steady_clock3nowEv=Module["__ZNSt3__26chrono12steady_clock3nowEv"]=function(){return Module["asm"]["__ZNSt3__26chrono12steady_clock3nowEv"].apply(null,arguments)};var __ZNSt3__26chrono12system_clock11from_time_tEl=Module["__ZNSt3__26chrono12system_clock11from_time_tEl"]=function(){return Module["asm"]["__ZNSt3__26chrono12system_clock11from_time_tEl"].apply(null,arguments)};var __ZNSt3__26chrono12system_clock3nowEv=Module["__ZNSt3__26chrono12system_clock3nowEv"]=function(){return Module["asm"]["__ZNSt3__26chrono12system_clock3nowEv"].apply(null,arguments)};var __ZNSt3__26chrono12system_clock9to_time_tERKNS0_10time_pointIS1_NS0_8durationIxNS_5ratioILx1ELx1000000EEEEEEE=Module["__ZNSt3__26chrono12system_clock9to_time_tERKNS0_10time_pointIS1_NS0_8durationIxNS_5ratioILx1ELx1000000EEEEEEE"]=function(){return Module["asm"]["__ZNSt3__26chrono12system_clock9to_time_tERKNS0_10time_pointIS1_NS0_8durationIxNS_5ratioILx1ELx1000000EEEEEEE"].apply(null,arguments)};var __ZNSt3__26futureIvE3getEv=Module["__ZNSt3__26futureIvE3getEv"]=function(){return Module["asm"]["__ZNSt3__26futureIvE3getEv"].apply(null,arguments)};var __ZNSt3__26futureIvEC2EPNS_17__assoc_sub_stateE=Module["__ZNSt3__26futureIvEC2EPNS_17__assoc_sub_stateE"]=function(){return Module["asm"]["__ZNSt3__26futureIvEC2EPNS_17__assoc_sub_stateE"].apply(null,arguments)};var __ZNSt3__26futureIvED2Ev=Module["__ZNSt3__26futureIvED2Ev"]=function(){return Module["asm"]["__ZNSt3__26futureIvED2Ev"].apply(null,arguments)};var __ZNSt3__26gslice6__initEm=Module["__ZNSt3__26gslice6__initEm"]=function(){return Module["asm"]["__ZNSt3__26gslice6__initEm"].apply(null,arguments)};var __ZNSt3__26locale14__install_ctorERKS0_PNS0_5facetEl=Module["__ZNSt3__26locale14__install_ctorERKS0_PNS0_5facetEl"]=function(){return Module["asm"]["__ZNSt3__26locale14__install_ctorERKS0_PNS0_5facetEl"].apply(null,arguments)};var __ZNSt3__26locale2id5__getEv=Module["__ZNSt3__26locale2id5__getEv"]=function(){return Module["asm"]["__ZNSt3__26locale2id5__getEv"].apply(null,arguments)};var __ZNSt3__26locale2id6__initEv=Module["__ZNSt3__26locale2id6__initEv"]=function(){return Module["asm"]["__ZNSt3__26locale2id6__initEv"].apply(null,arguments)};var __ZNSt3__26locale5__imp11make_globalEv=Module["__ZNSt3__26locale5__imp11make_globalEv"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp11make_globalEv"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_10moneypunctIcLb0EEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_10moneypunctIcLb0EEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_10moneypunctIcLb0EEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_10moneypunctIcLb1EEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_10moneypunctIcLb1EEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_10moneypunctIcLb1EEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_10moneypunctIwLb0EEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_10moneypunctIwLb0EEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_10moneypunctIwLb0EEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_10moneypunctIwLb1EEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_10moneypunctIwLb1EEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_10moneypunctIwLb1EEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_5ctypeIcEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_5ctypeIcEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_5ctypeIcEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_5ctypeIwEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_5ctypeIwEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_5ctypeIwEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7codecvtIDic11__mbstate_tEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7codecvtIDic11__mbstate_tEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7codecvtIDic11__mbstate_tEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7codecvtIDsc11__mbstate_tEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7codecvtIDsc11__mbstate_tEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7codecvtIDsc11__mbstate_tEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7codecvtIcc11__mbstate_tEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7codecvtIcc11__mbstate_tEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7codecvtIcc11__mbstate_tEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7codecvtIwc11__mbstate_tEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7codecvtIwc11__mbstate_tEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7codecvtIwc11__mbstate_tEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7collateIcEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7collateIcEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7collateIcEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7collateIwEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7collateIwEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7collateIwEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_8messagesIcEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_8messagesIcEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_8messagesIcEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_8messagesIwEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_8messagesIwEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_8messagesIwEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_8numpunctIcEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_8numpunctIcEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_8numpunctIcEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_8numpunctIwEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_8numpunctIwEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_8numpunctIwEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12install_fromINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_=Module["__ZNSt3__26locale5__imp12install_fromINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12install_fromINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvRKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__imp12make_classicEv=Module["__ZNSt3__26locale5__imp12make_classicEv"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp12make_classicEv"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installEPNS0_5facetEl=Module["__ZNSt3__26locale5__imp7installEPNS0_5facetEl"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installEPNS0_5facetEl"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_10moneypunctIcLb0EEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_10moneypunctIcLb0EEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_10moneypunctIcLb0EEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_10moneypunctIcLb1EEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_10moneypunctIcLb1EEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_10moneypunctIcLb1EEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_10moneypunctIwLb0EEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_10moneypunctIwLb0EEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_10moneypunctIwLb0EEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_10moneypunctIwLb1EEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_10moneypunctIwLb1EEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_10moneypunctIwLb1EEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_12ctype_bynameIcEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_12ctype_bynameIcEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_12ctype_bynameIcEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_12ctype_bynameIwEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_12ctype_bynameIwEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_12ctype_bynameIwEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_14codecvt_bynameIDic11__mbstate_tEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_14codecvt_bynameIDic11__mbstate_tEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_14codecvt_bynameIDic11__mbstate_tEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_14codecvt_bynameIDsc11__mbstate_tEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_14codecvt_bynameIDsc11__mbstate_tEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_14codecvt_bynameIDsc11__mbstate_tEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_14codecvt_bynameIcc11__mbstate_tEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_14codecvt_bynameIcc11__mbstate_tEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_14codecvt_bynameIcc11__mbstate_tEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_14codecvt_bynameIwc11__mbstate_tEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_14codecvt_bynameIwc11__mbstate_tEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_14codecvt_bynameIwc11__mbstate_tEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_14collate_bynameIcEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_14collate_bynameIcEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_14collate_bynameIcEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_14collate_bynameIwEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_14collate_bynameIwEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_14collate_bynameIwEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_15messages_bynameIcEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_15messages_bynameIcEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_15messages_bynameIcEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_15messages_bynameIwEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_15messages_bynameIwEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_15messages_bynameIwEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_15numpunct_bynameIcEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_15numpunct_bynameIcEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_15numpunct_bynameIcEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_15numpunct_bynameIwEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_15numpunct_bynameIwEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_15numpunct_bynameIwEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_15time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_15time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_15time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_15time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_15time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_15time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_15time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_15time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_15time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_15time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_15time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_15time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIcLb0EEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIcLb0EEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIcLb0EEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIcLb1EEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIcLb1EEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIcLb1EEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIwLb0EEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIwLb0EEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIwLb0EEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIwLb1EEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIwLb1EEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_17moneypunct_bynameIwLb1EEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_5ctypeIcEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_5ctypeIcEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_5ctypeIcEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_5ctypeIwEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_5ctypeIwEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_5ctypeIwEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7codecvtIDic11__mbstate_tEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7codecvtIDic11__mbstate_tEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7codecvtIDic11__mbstate_tEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7codecvtIDsc11__mbstate_tEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7codecvtIDsc11__mbstate_tEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7codecvtIDsc11__mbstate_tEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7codecvtIcc11__mbstate_tEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7codecvtIcc11__mbstate_tEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7codecvtIcc11__mbstate_tEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7codecvtIwc11__mbstate_tEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7codecvtIwc11__mbstate_tEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7codecvtIwc11__mbstate_tEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7collateIcEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7collateIcEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7collateIcEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7collateIwEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7collateIwEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7collateIwEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_8messagesIcEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_8messagesIcEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_8messagesIcEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_8messagesIwEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_8messagesIwEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_8messagesIwEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_8numpunctIcEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_8numpunctIcEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_8numpunctIcEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_8numpunctIwEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_8numpunctIwEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_8numpunctIwEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__imp7installINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_=Module["__ZNSt3__26locale5__imp7installINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"]=function(){return Module["asm"]["__ZNSt3__26locale5__imp7installINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_"].apply(null,arguments)};var __ZNSt3__26locale5__impC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm=Module["__ZNSt3__26locale5__impC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__26locale5__impC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__26locale5__impC2ERKS1_=Module["__ZNSt3__26locale5__impC2ERKS1_"]=function(){return Module["asm"]["__ZNSt3__26locale5__impC2ERKS1_"].apply(null,arguments)};var __ZNSt3__26locale5__impC2ERKS1_PNS0_5facetEl=Module["__ZNSt3__26locale5__impC2ERKS1_PNS0_5facetEl"]=function(){return Module["asm"]["__ZNSt3__26locale5__impC2ERKS1_PNS0_5facetEl"].apply(null,arguments)};var __ZNSt3__26locale5__impC2ERKS1_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi=Module["__ZNSt3__26locale5__impC2ERKS1_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi"]=function(){return Module["asm"]["__ZNSt3__26locale5__impC2ERKS1_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi"].apply(null,arguments)};var __ZNSt3__26locale5__impC2ERKS1_S3_i=Module["__ZNSt3__26locale5__impC2ERKS1_S3_i"]=function(){return Module["asm"]["__ZNSt3__26locale5__impC2ERKS1_S3_i"].apply(null,arguments)};var __ZNSt3__26locale5__impC2Em=Module["__ZNSt3__26locale5__impC2Em"]=function(){return Module["asm"]["__ZNSt3__26locale5__impC2Em"].apply(null,arguments)};var __ZNSt3__26locale5__impD0Ev=Module["__ZNSt3__26locale5__impD0Ev"]=function(){return Module["asm"]["__ZNSt3__26locale5__impD0Ev"].apply(null,arguments)};var __ZNSt3__26locale5__impD2Ev=Module["__ZNSt3__26locale5__impD2Ev"]=function(){return Module["asm"]["__ZNSt3__26locale5__impD2Ev"].apply(null,arguments)};var __ZNSt3__26locale5facet16__on_zero_sharedEv=Module["__ZNSt3__26locale5facet16__on_zero_sharedEv"]=function(){return Module["asm"]["__ZNSt3__26locale5facet16__on_zero_sharedEv"].apply(null,arguments)};var __ZNSt3__26locale5facetD0Ev=Module["__ZNSt3__26locale5facetD0Ev"]=function(){return Module["asm"]["__ZNSt3__26locale5facetD0Ev"].apply(null,arguments)};var __ZNSt3__26locale5facetD2Ev=Module["__ZNSt3__26locale5facetD2Ev"]=function(){return Module["asm"]["__ZNSt3__26locale5facetD2Ev"].apply(null,arguments)};var __ZNSt3__26locale6globalERKS0_=Module["__ZNSt3__26locale6globalERKS0_"]=function(){return Module["asm"]["__ZNSt3__26locale6globalERKS0_"].apply(null,arguments)};var __ZNSt3__26locale7classicEv=Module["__ZNSt3__26locale7classicEv"]=function(){return Module["asm"]["__ZNSt3__26locale7classicEv"].apply(null,arguments)};var __ZNSt3__26locale8__globalEv=Module["__ZNSt3__26locale8__globalEv"]=function(){return Module["asm"]["__ZNSt3__26locale8__globalEv"].apply(null,arguments)};var __ZNSt3__26localeC2EPKc=Module["__ZNSt3__26localeC2EPKc"]=function(){return Module["asm"]["__ZNSt3__26localeC2EPKc"].apply(null,arguments)};var __ZNSt3__26localeC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZNSt3__26localeC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=function(){return Module["asm"]["__ZNSt3__26localeC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"].apply(null,arguments)};var __ZNSt3__26localeC2ERKS0_=Module["__ZNSt3__26localeC2ERKS0_"]=function(){return Module["asm"]["__ZNSt3__26localeC2ERKS0_"].apply(null,arguments)};var __ZNSt3__26localeC2ERKS0_PKci=Module["__ZNSt3__26localeC2ERKS0_PKci"]=function(){return Module["asm"]["__ZNSt3__26localeC2ERKS0_PKci"].apply(null,arguments)};var __ZNSt3__26localeC2ERKS0_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi=Module["__ZNSt3__26localeC2ERKS0_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi"]=function(){return Module["asm"]["__ZNSt3__26localeC2ERKS0_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi"].apply(null,arguments)};var __ZNSt3__26localeC2ERKS0_S2_i=Module["__ZNSt3__26localeC2ERKS0_S2_i"]=function(){return Module["asm"]["__ZNSt3__26localeC2ERKS0_S2_i"].apply(null,arguments)};var __ZNSt3__26localeC2Ev=Module["__ZNSt3__26localeC2Ev"]=function(){return Module["asm"]["__ZNSt3__26localeC2Ev"].apply(null,arguments)};var __ZNSt3__26localeD2Ev=Module["__ZNSt3__26localeD2Ev"]=function(){return Module["asm"]["__ZNSt3__26localeD2Ev"].apply(null,arguments)};var __ZNSt3__26localeaSERKS0_=Module["__ZNSt3__26localeaSERKS0_"]=function(){return Module["asm"]["__ZNSt3__26localeaSERKS0_"].apply(null,arguments)};var __ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"].apply(null,arguments)};var __ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=function(){return Module["asm"]["__ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"].apply(null,arguments)};var __ZNSt3__26thread20hardware_concurrencyEv=Module["__ZNSt3__26thread20hardware_concurrencyEv"]=function(){return Module["asm"]["__ZNSt3__26thread20hardware_concurrencyEv"].apply(null,arguments)};var __ZNSt3__26thread4joinEv=Module["__ZNSt3__26thread4joinEv"]=function(){return Module["asm"]["__ZNSt3__26thread4joinEv"].apply(null,arguments)};var __ZNSt3__26thread6detachEv=Module["__ZNSt3__26thread6detachEv"]=function(){return Module["asm"]["__ZNSt3__26thread6detachEv"].apply(null,arguments)};var __ZNSt3__26threadD2Ev=Module["__ZNSt3__26threadD2Ev"]=function(){return Module["asm"]["__ZNSt3__26threadD2Ev"].apply(null,arguments)};var __ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE21__push_back_slow_pathIRKS3_EEvOT_=Module["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE21__push_back_slow_pathIRKS3_EEvOT_"]=function(){return Module["asm"]["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE21__push_back_slow_pathIRKS3_EEvOT_"].apply(null,arguments)};var __ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE21__push_back_slow_pathIS3_EEvOT_=Module["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE21__push_back_slow_pathIS3_EEvOT_"]=function(){return Module["asm"]["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE21__push_back_slow_pathIS3_EEvOT_"].apply(null,arguments)};var __ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE24__emplace_back_slow_pathIJEEEvDpOT_=Module["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE24__emplace_back_slow_pathIJEEEvDpOT_"]=function(){return Module["asm"]["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE24__emplace_back_slow_pathIJEEEvDpOT_"].apply(null,arguments)};var __ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE=Module["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE"]=function(){return Module["asm"]["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE"].apply(null,arguments)};var __ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE8allocateEm=Module["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE8allocateEm"]=function(){return Module["asm"]["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEE8allocateEm"].apply(null,arguments)};var __ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEC2EmRKS3_RKS5_=Module["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEC2EmRKS3_RKS5_"]=function(){return Module["asm"]["__ZNSt3__26vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEC2EmRKS3_RKS5_"].apply(null,arguments)};var __ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE21__push_back_slow_pathIS6_EEvOT_=Module["__ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE21__push_back_slow_pathIS6_EEvOT_"]=function(){return Module["asm"]["__ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE21__push_back_slow_pathIS6_EEvOT_"].apply(null,arguments)};var __ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE24__emplace_back_slow_pathIJS5_EEEvDpOT_=Module["__ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE24__emplace_back_slow_pathIJS5_EEEvDpOT_"]=function(){return Module["asm"]["__ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE24__emplace_back_slow_pathIJS5_EEEvDpOT_"].apply(null,arguments)};var __ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE=Module["__ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE"]=function(){return Module["asm"]["__ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE"].apply(null,arguments)};var __ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEC2EmRKS6_RKS7_=Module["__ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEC2EmRKS6_RKS7_"]=function(){return Module["asm"]["__ZNSt3__26vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEC2EmRKS6_RKS7_"].apply(null,arguments)};var __ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE24__emplace_back_slow_pathIJRNS2_5arenaILm4096EEEEEEvDpOT_=Module["__ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE24__emplace_back_slow_pathIJRNS2_5arenaILm4096EEEEEEvDpOT_"]=function(){return Module["asm"]["__ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE24__emplace_back_slow_pathIJRNS2_5arenaILm4096EEEEEEvDpOT_"].apply(null,arguments)};var __ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE24__emplace_back_slow_pathIJS5_EEEvDpOT_=Module["__ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE24__emplace_back_slow_pathIJS5_EEEvDpOT_"]=function(){return Module["asm"]["__ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE24__emplace_back_slow_pathIJS5_EEEvDpOT_"].apply(null,arguments)};var __ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS8_RS9_EE=Module["__ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS8_RS9_EE"]=function(){return Module["asm"]["__ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS8_RS9_EE"].apply(null,arguments)};var __ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEEC2EmRKS8_RKS9_=Module["__ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEEC2EmRKS8_RKS9_"]=function(){return Module["asm"]["__ZNSt3__26vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lm4096EEEEENS4_IS6_Lm4096EEEEENS4_IS8_Lm4096EEEEC2EmRKS8_RKS9_"].apply(null,arguments)};var __ZNSt3__26vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE21__push_back_slow_pathIS6_EEvOT_=Module["__ZNSt3__26vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE21__push_back_slow_pathIS6_EEvOT_"]=function(){return Module["asm"]["__ZNSt3__26vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE21__push_back_slow_pathIS6_EEvOT_"].apply(null,arguments)};var __ZNSt3__26vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS8_EE=Module["__ZNSt3__26vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS8_EE"]=function(){return Module["asm"]["__ZNSt3__26vectorINS_4pairIPNS_18condition_variableEPNS_5mutexEEENS_18__hidden_allocatorIS6_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS8_EE"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE21__push_back_slow_pathIRKS2_EEvOT_=Module["__ZNSt3__26vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE21__push_back_slow_pathIRKS2_EEvOT_"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE21__push_back_slow_pathIRKS2_EEvOT_"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE=Module["__ZNSt3__26vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_17__assoc_sub_stateENS_18__hidden_allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE10deallocateEv=Module["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE10deallocateEv"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE10deallocateEv"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm=Module["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endIPS3_EENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_m=Module["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endIPS3_EENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_m"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endIPS3_EENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_m"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE=Module["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE6assignIPS3_EENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIS3_NS_15iterator_traitsISA_E9referenceEEE5valueEvE4typeESA_SA_=Module["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE6assignIPS3_EENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIS3_NS_15iterator_traitsISA_E9referenceEEE5valueEvE4typeESA_SA_"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE6assignIPS3_EENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIS3_NS_15iterator_traitsISA_E9referenceEEE5valueEvE4typeESA_SA_"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE6resizeEm=Module["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE6resizeEm"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE6resizeEm"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8__appendEm=Module["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8__appendEm"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8__appendEm"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8allocateEm=Module["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8allocateEm"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8allocateEm"].apply(null,arguments)};var __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEEC2Em=Module["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEEC2Em"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIaaEEPaEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIaaEEPaEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIaaEEPaEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIccEEPcEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIccEEPcEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIccEEPcEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIddEEPdEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIddEEPdEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIddEEPdEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIeeEEPeEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIeeEEPeEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIeeEEPeEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIffEEPfEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIffEEPfEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIffEEPfEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIhhEEPhEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIhhEEPhEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIhhEEPhEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIiiEEPiEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIiiEEPiEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIiiEEPiEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIjjEEPjEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIjjEEPjEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIjjEEPjEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIllEEPlEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIllEEPlEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIllEEPlEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessImmEEPmEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessImmEEPmEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessImmEEPmEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIssEEPsEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIssEEPsEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIssEEPsEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIttEEPtEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIttEEPtEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIttEEPtEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIwwEEPwEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIwwEEPwEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIwwEEPwEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIxxEEPxEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIxxEEPxEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIxxEEPxEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort3IRNS_6__lessIyyEEPyEEjT0_S5_S5_T_=Module["__ZNSt3__27__sort3IRNS_6__lessIyyEEPyEEjT0_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort3IRNS_6__lessIyyEEPyEEjT0_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIeeEEPeEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIeeEEPeEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIeeEEPeEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort4IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_T_=Module["__ZNSt3__27__sort4IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort4IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIeeEEPeEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIeeEEPeEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIeeEEPeEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27__sort5IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_S5_T_=Module["__ZNSt3__27__sort5IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_S5_T_"]=function(){return Module["asm"]["__ZNSt3__27__sort5IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_S5_T_"].apply(null,arguments)};var __ZNSt3__27codecvtIDic11__mbstate_tED0Ev=Module["__ZNSt3__27codecvtIDic11__mbstate_tED0Ev"]=function(){return Module["asm"]["__ZNSt3__27codecvtIDic11__mbstate_tED0Ev"].apply(null,arguments)};var __ZNSt3__27codecvtIDsc11__mbstate_tED0Ev=Module["__ZNSt3__27codecvtIDsc11__mbstate_tED0Ev"]=function(){return Module["asm"]["__ZNSt3__27codecvtIDsc11__mbstate_tED0Ev"].apply(null,arguments)};var __ZNSt3__27codecvtIcc11__mbstate_tED0Ev=Module["__ZNSt3__27codecvtIcc11__mbstate_tED0Ev"]=function(){return Module["asm"]["__ZNSt3__27codecvtIcc11__mbstate_tED0Ev"].apply(null,arguments)};var __ZNSt3__27codecvtIwc11__mbstate_tEC2EPKcm=Module["__ZNSt3__27codecvtIwc11__mbstate_tEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__27codecvtIwc11__mbstate_tEC2EPKcm"].apply(null,arguments)};var __ZNSt3__27codecvtIwc11__mbstate_tEC2Em=Module["__ZNSt3__27codecvtIwc11__mbstate_tEC2Em"]=function(){return Module["asm"]["__ZNSt3__27codecvtIwc11__mbstate_tEC2Em"].apply(null,arguments)};var __ZNSt3__27codecvtIwc11__mbstate_tED0Ev=Module["__ZNSt3__27codecvtIwc11__mbstate_tED0Ev"]=function(){return Module["asm"]["__ZNSt3__27codecvtIwc11__mbstate_tED0Ev"].apply(null,arguments)};var __ZNSt3__27codecvtIwc11__mbstate_tED2Ev=Module["__ZNSt3__27codecvtIwc11__mbstate_tED2Ev"]=function(){return Module["asm"]["__ZNSt3__27codecvtIwc11__mbstate_tED2Ev"].apply(null,arguments)};var __ZNSt3__27collateIcEC2Em=Module["__ZNSt3__27collateIcEC2Em"]=function(){return Module["asm"]["__ZNSt3__27collateIcEC2Em"].apply(null,arguments)};var __ZNSt3__27collateIcED0Ev=Module["__ZNSt3__27collateIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__27collateIcED0Ev"].apply(null,arguments)};var __ZNSt3__27collateIcED2Ev=Module["__ZNSt3__27collateIcED2Ev"]=function(){return Module["asm"]["__ZNSt3__27collateIcED2Ev"].apply(null,arguments)};var __ZNSt3__27collateIwEC2Em=Module["__ZNSt3__27collateIwEC2Em"]=function(){return Module["asm"]["__ZNSt3__27collateIwEC2Em"].apply(null,arguments)};var __ZNSt3__27collateIwED0Ev=Module["__ZNSt3__27collateIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__27collateIwED0Ev"].apply(null,arguments)};var __ZNSt3__27collateIwED2Ev=Module["__ZNSt3__27collateIwED2Ev"]=function(){return Module["asm"]["__ZNSt3__27collateIwED2Ev"].apply(null,arguments)};var __ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em=Module["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev=Module["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev=Module["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em=Module["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev=Module["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev=Module["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em=Module["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev=Module["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev=Module["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em=Module["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev=Module["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev=Module["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__27promiseIvE10get_futureEv=Module["__ZNSt3__27promiseIvE10get_futureEv"]=function(){return Module["asm"]["__ZNSt3__27promiseIvE10get_futureEv"].apply(null,arguments)};var __ZNSt3__27promiseIvE13set_exceptionESt13exception_ptr=Module["__ZNSt3__27promiseIvE13set_exceptionESt13exception_ptr"]=function(){return Module["asm"]["__ZNSt3__27promiseIvE13set_exceptionESt13exception_ptr"].apply(null,arguments)};var __ZNSt3__27promiseIvE24set_value_at_thread_exitEv=Module["__ZNSt3__27promiseIvE24set_value_at_thread_exitEv"]=function(){return Module["asm"]["__ZNSt3__27promiseIvE24set_value_at_thread_exitEv"].apply(null,arguments)};var __ZNSt3__27promiseIvE28set_exception_at_thread_exitESt13exception_ptr=Module["__ZNSt3__27promiseIvE28set_exception_at_thread_exitESt13exception_ptr"]=function(){return Module["asm"]["__ZNSt3__27promiseIvE28set_exception_at_thread_exitESt13exception_ptr"].apply(null,arguments)};var __ZNSt3__27promiseIvE9set_valueEv=Module["__ZNSt3__27promiseIvE9set_valueEv"]=function(){return Module["asm"]["__ZNSt3__27promiseIvE9set_valueEv"].apply(null,arguments)};var __ZNSt3__27promiseIvEC2Ev=Module["__ZNSt3__27promiseIvEC2Ev"]=function(){return Module["asm"]["__ZNSt3__27promiseIvEC2Ev"].apply(null,arguments)};var __ZNSt3__27promiseIvED2Ev=Module["__ZNSt3__27promiseIvED2Ev"]=function(){return Module["asm"]["__ZNSt3__27promiseIvED2Ev"].apply(null,arguments)};var __ZNSt3__28__c_node5__addEPNS_8__i_nodeE=Module["__ZNSt3__28__c_node5__addEPNS_8__i_nodeE"]=function(){return Module["asm"]["__ZNSt3__28__c_node5__addEPNS_8__i_nodeE"].apply(null,arguments)};var __ZNSt3__28__c_node8__removeEPNS_8__i_nodeE=Module["__ZNSt3__28__c_node8__removeEPNS_8__i_nodeE"]=function(){return Module["asm"]["__ZNSt3__28__c_node8__removeEPNS_8__i_nodeE"].apply(null,arguments)};var __ZNSt3__28__c_nodeD0Ev=Module["__ZNSt3__28__c_nodeD0Ev"]=function(){return Module["asm"]["__ZNSt3__28__c_nodeD0Ev"].apply(null,arguments)};var __ZNSt3__28__c_nodeD2Ev=Module["__ZNSt3__28__c_nodeD2Ev"]=function(){return Module["asm"]["__ZNSt3__28__c_nodeD2Ev"].apply(null,arguments)};var __ZNSt3__28__get_dbEv=Module["__ZNSt3__28__get_dbEv"]=function(){return Module["asm"]["__ZNSt3__28__get_dbEv"].apply(null,arguments)};var __ZNSt3__28__i_nodeD2Ev=Module["__ZNSt3__28__i_nodeD2Ev"]=function(){return Module["asm"]["__ZNSt3__28__i_nodeD2Ev"].apply(null,arguments)};var __ZNSt3__28__rs_getEv=Module["__ZNSt3__28__rs_getEv"]=function(){return Module["asm"]["__ZNSt3__28__rs_getEv"].apply(null,arguments)};var __ZNSt3__28__sp_mut4lockEv=Module["__ZNSt3__28__sp_mut4lockEv"]=function(){return Module["asm"]["__ZNSt3__28__sp_mut4lockEv"].apply(null,arguments)};var __ZNSt3__28__sp_mut6unlockEv=Module["__ZNSt3__28__sp_mut6unlockEv"]=function(){return Module["asm"]["__ZNSt3__28__sp_mut6unlockEv"].apply(null,arguments)};var __ZNSt3__28__sp_mutC2EPv=Module["__ZNSt3__28__sp_mutC2EPv"]=function(){return Module["asm"]["__ZNSt3__28__sp_mutC2EPv"].apply(null,arguments)};var __ZNSt3__28ios_base15sync_with_stdioEb=Module["__ZNSt3__28ios_base15sync_with_stdioEb"]=function(){return Module["asm"]["__ZNSt3__28ios_base15sync_with_stdioEb"].apply(null,arguments)};var __ZNSt3__28ios_base16__call_callbacksENS0_5eventE=Module["__ZNSt3__28ios_base16__call_callbacksENS0_5eventE"]=function(){return Module["asm"]["__ZNSt3__28ios_base16__call_callbacksENS0_5eventE"].apply(null,arguments)};var __ZNSt3__28ios_base17register_callbackEPFvNS0_5eventERS0_iEi=Module["__ZNSt3__28ios_base17register_callbackEPFvNS0_5eventERS0_iEi"]=function(){return Module["asm"]["__ZNSt3__28ios_base17register_callbackEPFvNS0_5eventERS0_iEi"].apply(null,arguments)};var __ZNSt3__28ios_base33__set_badbit_and_consider_rethrowEv=Module["__ZNSt3__28ios_base33__set_badbit_and_consider_rethrowEv"]=function(){return Module["asm"]["__ZNSt3__28ios_base33__set_badbit_and_consider_rethrowEv"].apply(null,arguments)};var __ZNSt3__28ios_base34__set_failbit_and_consider_rethrowEv=Module["__ZNSt3__28ios_base34__set_failbit_and_consider_rethrowEv"]=function(){return Module["asm"]["__ZNSt3__28ios_base34__set_failbit_and_consider_rethrowEv"].apply(null,arguments)};var __ZNSt3__28ios_base4InitC2Ev=Module["__ZNSt3__28ios_base4InitC2Ev"]=function(){return Module["asm"]["__ZNSt3__28ios_base4InitC2Ev"].apply(null,arguments)};var __ZNSt3__28ios_base4InitD2Ev=Module["__ZNSt3__28ios_base4InitD2Ev"]=function(){return Module["asm"]["__ZNSt3__28ios_base4InitD2Ev"].apply(null,arguments)};var __ZNSt3__28ios_base4initEPv=Module["__ZNSt3__28ios_base4initEPv"]=function(){return Module["asm"]["__ZNSt3__28ios_base4initEPv"].apply(null,arguments)};var __ZNSt3__28ios_base4moveERS0_=Module["__ZNSt3__28ios_base4moveERS0_"]=function(){return Module["asm"]["__ZNSt3__28ios_base4moveERS0_"].apply(null,arguments)};var __ZNSt3__28ios_base4swapERS0_=Module["__ZNSt3__28ios_base4swapERS0_"]=function(){return Module["asm"]["__ZNSt3__28ios_base4swapERS0_"].apply(null,arguments)};var __ZNSt3__28ios_base5clearEj=Module["__ZNSt3__28ios_base5clearEj"]=function(){return Module["asm"]["__ZNSt3__28ios_base5clearEj"].apply(null,arguments)};var __ZNSt3__28ios_base5imbueERKNS_6localeE=Module["__ZNSt3__28ios_base5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__28ios_base5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__28ios_base5iwordEi=Module["__ZNSt3__28ios_base5iwordEi"]=function(){return Module["asm"]["__ZNSt3__28ios_base5iwordEi"].apply(null,arguments)};var __ZNSt3__28ios_base5pwordEi=Module["__ZNSt3__28ios_base5pwordEi"]=function(){return Module["asm"]["__ZNSt3__28ios_base5pwordEi"].apply(null,arguments)};var __ZNSt3__28ios_base6xallocEv=Module["__ZNSt3__28ios_base6xallocEv"]=function(){return Module["asm"]["__ZNSt3__28ios_base6xallocEv"].apply(null,arguments)};var __ZNSt3__28ios_base7copyfmtERKS0_=Module["__ZNSt3__28ios_base7copyfmtERKS0_"]=function(){return Module["asm"]["__ZNSt3__28ios_base7copyfmtERKS0_"].apply(null,arguments)};var __ZNSt3__28ios_base7failureC2EPKcRKNS_10error_codeE=Module["__ZNSt3__28ios_base7failureC2EPKcRKNS_10error_codeE"]=function(){return Module["asm"]["__ZNSt3__28ios_base7failureC2EPKcRKNS_10error_codeE"].apply(null,arguments)};var __ZNSt3__28ios_base7failureC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_10error_codeE=Module["__ZNSt3__28ios_base7failureC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_10error_codeE"]=function(){return Module["asm"]["__ZNSt3__28ios_base7failureC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_10error_codeE"].apply(null,arguments)};var __ZNSt3__28ios_base7failureD0Ev=Module["__ZNSt3__28ios_base7failureD0Ev"]=function(){return Module["asm"]["__ZNSt3__28ios_base7failureD0Ev"].apply(null,arguments)};var __ZNSt3__28ios_base7failureD2Ev=Module["__ZNSt3__28ios_base7failureD2Ev"]=function(){return Module["asm"]["__ZNSt3__28ios_base7failureD2Ev"].apply(null,arguments)};var __ZNSt3__28ios_baseD0Ev=Module["__ZNSt3__28ios_baseD0Ev"]=function(){return Module["asm"]["__ZNSt3__28ios_baseD0Ev"].apply(null,arguments)};var __ZNSt3__28ios_baseD2Ev=Module["__ZNSt3__28ios_baseD2Ev"]=function(){return Module["asm"]["__ZNSt3__28ios_baseD2Ev"].apply(null,arguments)};var __ZNSt3__28messagesIcEC2Em=Module["__ZNSt3__28messagesIcEC2Em"]=function(){return Module["asm"]["__ZNSt3__28messagesIcEC2Em"].apply(null,arguments)};var __ZNSt3__28messagesIcED0Ev=Module["__ZNSt3__28messagesIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__28messagesIcED0Ev"].apply(null,arguments)};var __ZNSt3__28messagesIcED2Ev=Module["__ZNSt3__28messagesIcED2Ev"]=function(){return Module["asm"]["__ZNSt3__28messagesIcED2Ev"].apply(null,arguments)};var __ZNSt3__28messagesIwEC2Em=Module["__ZNSt3__28messagesIwEC2Em"]=function(){return Module["asm"]["__ZNSt3__28messagesIwEC2Em"].apply(null,arguments)};var __ZNSt3__28messagesIwED0Ev=Module["__ZNSt3__28messagesIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__28messagesIwED0Ev"].apply(null,arguments)};var __ZNSt3__28messagesIwED2Ev=Module["__ZNSt3__28messagesIwED2Ev"]=function(){return Module["asm"]["__ZNSt3__28messagesIwED2Ev"].apply(null,arguments)};var __ZNSt3__28numpunctIcEC2Em=Module["__ZNSt3__28numpunctIcEC2Em"]=function(){return Module["asm"]["__ZNSt3__28numpunctIcEC2Em"].apply(null,arguments)};var __ZNSt3__28numpunctIcED0Ev=Module["__ZNSt3__28numpunctIcED0Ev"]=function(){return Module["asm"]["__ZNSt3__28numpunctIcED0Ev"].apply(null,arguments)};var __ZNSt3__28numpunctIcED2Ev=Module["__ZNSt3__28numpunctIcED2Ev"]=function(){return Module["asm"]["__ZNSt3__28numpunctIcED2Ev"].apply(null,arguments)};var __ZNSt3__28numpunctIwEC2Em=Module["__ZNSt3__28numpunctIwEC2Em"]=function(){return Module["asm"]["__ZNSt3__28numpunctIwEC2Em"].apply(null,arguments)};var __ZNSt3__28numpunctIwED0Ev=Module["__ZNSt3__28numpunctIwED0Ev"]=function(){return Module["asm"]["__ZNSt3__28numpunctIwED0Ev"].apply(null,arguments)};var __ZNSt3__28numpunctIwED2Ev=Module["__ZNSt3__28numpunctIwED2Ev"]=function(){return Module["asm"]["__ZNSt3__28numpunctIwED2Ev"].apply(null,arguments)};var __ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em=Module["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev=Module["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev=Module["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em=Module["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev=Module["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev=Module["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm=Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm"].apply(null,arguments)};var __ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm=Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em=Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev=Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev=Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm=Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm"]=function(){return Module["asm"]["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm"].apply(null,arguments)};var __ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm=Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"]=function(){return Module["asm"]["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"].apply(null,arguments)};var __ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em=Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev=Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev=Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__28valarrayImE6resizeEmm=Module["__ZNSt3__28valarrayImE6resizeEmm"]=function(){return Module["asm"]["__ZNSt3__28valarrayImE6resizeEmm"].apply(null,arguments)};var __ZNSt3__28valarrayImEC2Em=Module["__ZNSt3__28valarrayImEC2Em"]=function(){return Module["asm"]["__ZNSt3__28valarrayImEC2Em"].apply(null,arguments)};var __ZNSt3__28valarrayImED2Ev=Module["__ZNSt3__28valarrayImED2Ev"]=function(){return Module["asm"]["__ZNSt3__28valarrayImED2Ev"].apply(null,arguments)};var __ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc=Module["__ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc"]=function(){return Module["asm"]["__ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc"].apply(null,arguments)};var __ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc=Module["__ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc"]=function(){return Module["asm"]["__ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc"].apply(null,arguments)};var __ZNSt3__29__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_=Module["__ZNSt3__29__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_"]=function(){return Module["asm"]["__ZNSt3__29__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_"].apply(null,arguments)};var __ZNSt3__29__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_=Module["__ZNSt3__29__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_"]=function(){return Module["asm"]["__ZNSt3__29__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_"].apply(null,arguments)};var __ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw=Module["__ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw"]=function(){return Module["asm"]["__ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw"].apply(null,arguments)};var __ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw=Module["__ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw"]=function(){return Module["asm"]["__ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw"].apply(null,arguments)};var __ZNSt3__29__num_getIwE19__stage2_float_loopEwRbRcPcRS4_wwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjPw=Module["__ZNSt3__29__num_getIwE19__stage2_float_loopEwRbRcPcRS4_wwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjPw"]=function(){return Module["asm"]["__ZNSt3__29__num_getIwE19__stage2_float_loopEwRbRcPcRS4_wwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjPw"].apply(null,arguments)};var __ZNSt3__29__num_getIwE19__stage2_float_prepERNS_8ios_baseEPwRwS5_=Module["__ZNSt3__29__num_getIwE19__stage2_float_prepERNS_8ios_baseEPwRwS5_"]=function(){return Module["asm"]["__ZNSt3__29__num_getIwE19__stage2_float_prepERNS_8ios_baseEPwRwS5_"].apply(null,arguments)};var __ZNSt3__29__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE=Module["__ZNSt3__29__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__29__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE"].apply(null,arguments)};var __ZNSt3__29__num_putIcE23__widen_and_group_floatEPcS2_S2_S2_RS2_S3_RKNS_6localeE=Module["__ZNSt3__29__num_putIcE23__widen_and_group_floatEPcS2_S2_S2_RS2_S3_RKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__29__num_putIcE23__widen_and_group_floatEPcS2_S2_S2_RS2_S3_RKNS_6localeE"].apply(null,arguments)};var __ZNSt3__29__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE=Module["__ZNSt3__29__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__29__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE"].apply(null,arguments)};var __ZNSt3__29__num_putIwE23__widen_and_group_floatEPcS2_S2_PwRS3_S4_RKNS_6localeE=Module["__ZNSt3__29__num_putIwE23__widen_and_group_floatEPcS2_S2_PwRS3_S4_RKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__29__num_putIwE23__widen_and_group_floatEPcS2_S2_PwRS3_S4_RKNS_6localeE"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE10exceptionsEj=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE10exceptionsEj"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE10exceptionsEj"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE3tieEPNS_13basic_ostreamIcS2_EE=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE3tieEPNS_13basic_ostreamIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE3tieEPNS_13basic_ostreamIcS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4fillEc=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4fillEc"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4fillEc"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4initEPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4initEPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4initEPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4moveEOS3_=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4moveEOS3_"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4moveEOS3_"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4moveERS3_=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4moveERS3_"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4moveERS3_"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4swapERS3_=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4swapERS3_"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE4swapERS3_"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE5clearEj=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE5clearEj"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE5clearEj"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE5imbueERKNS_6localeE=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE5rdbufEPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE5rdbufEPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE5rdbufEPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE7copyfmtERKS3_=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE7copyfmtERKS3_"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE7copyfmtERKS3_"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE8setstateEj=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE8setstateEj"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE8setstateEj"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEE9set_rdbufEPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE9set_rdbufEPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEE9set_rdbufEPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC2Ev=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC2Ev"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEED0Ev=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZNSt3__29basic_iosIcNS_11char_traitsIcEEED2Ev=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEED2Ev"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE10exceptionsEj=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE10exceptionsEj"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE10exceptionsEj"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE3tieEPNS_13basic_ostreamIwS2_EE=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE3tieEPNS_13basic_ostreamIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE3tieEPNS_13basic_ostreamIwS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4fillEw=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4fillEw"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4fillEw"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4initEPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4initEPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4initEPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4moveEOS3_=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4moveEOS3_"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4moveEOS3_"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4moveERS3_=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4moveERS3_"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4moveERS3_"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4swapERS3_=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4swapERS3_"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE4swapERS3_"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE5clearEj=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE5clearEj"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE5clearEj"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE5imbueERKNS_6localeE=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE5imbueERKNS_6localeE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE5imbueERKNS_6localeE"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE5rdbufEPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE5rdbufEPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE5rdbufEPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE7copyfmtERKS3_=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE7copyfmtERKS3_"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE7copyfmtERKS3_"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE8setstateEj=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE8setstateEj"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE8setstateEj"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEE9set_rdbufEPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE9set_rdbufEPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEE9set_rdbufEPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC2Ev=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC2Ev"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC2Ev"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEED0Ev=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEED0Ev"].apply(null,arguments)};var __ZNSt3__29basic_iosIwNS_11char_traitsIwEEED2Ev=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEED2Ev"].apply(null,arguments)};var __ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIcEERNS_10unique_ptrIcPFvPvEEERPcSM_=Module["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIcEERNS_10unique_ptrIcPFvPvEEERPcSM_"]=function(){return Module["asm"]["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIcEERNS_10unique_ptrIcPFvPvEEERPcSM_"].apply(null,arguments)};var __ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em=Module["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev=Module["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev=Module["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIwEERNS_10unique_ptrIwPFvPvEEERPwSM_=Module["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIwEERNS_10unique_ptrIwPFvPvEEERPwSM_"]=function(){return Module["asm"]["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIwEERNS_10unique_ptrIwPFvPvEEERPwSM_"].apply(null,arguments)};var __ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em=Module["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev=Module["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev=Module["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em=Module["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev=Module["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev=Module["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em=Module["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"]=function(){return Module["asm"]["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"].apply(null,arguments)};var __ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev=Module["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"]=function(){return Module["asm"]["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev"].apply(null,arguments)};var __ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev=Module["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"]=function(){return Module["asm"]["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"].apply(null,arguments)};var __ZNSt3__29strstreamD0Ev=Module["__ZNSt3__29strstreamD0Ev"]=function(){return Module["asm"]["__ZNSt3__29strstreamD0Ev"].apply(null,arguments)};var __ZNSt3__29strstreamD1Ev=Module["__ZNSt3__29strstreamD1Ev"]=function(){return Module["asm"]["__ZNSt3__29strstreamD1Ev"].apply(null,arguments)};var __ZNSt3__29strstreamD2Ev=Module["__ZNSt3__29strstreamD2Ev"]=function(){return Module["asm"]["__ZNSt3__29strstreamD2Ev"].apply(null,arguments)};var __ZNSt3__29to_stringEd=Module["__ZNSt3__29to_stringEd"]=function(){return Module["asm"]["__ZNSt3__29to_stringEd"].apply(null,arguments)};var __ZNSt3__29to_stringEe=Module["__ZNSt3__29to_stringEe"]=function(){return Module["asm"]["__ZNSt3__29to_stringEe"].apply(null,arguments)};var __ZNSt3__29to_stringEf=Module["__ZNSt3__29to_stringEf"]=function(){return Module["asm"]["__ZNSt3__29to_stringEf"].apply(null,arguments)};var __ZNSt3__29to_stringEi=Module["__ZNSt3__29to_stringEi"]=function(){return Module["asm"]["__ZNSt3__29to_stringEi"].apply(null,arguments)};var __ZNSt3__29to_stringEj=Module["__ZNSt3__29to_stringEj"]=function(){return Module["asm"]["__ZNSt3__29to_stringEj"].apply(null,arguments)};var __ZNSt3__29to_stringEl=Module["__ZNSt3__29to_stringEl"]=function(){return Module["asm"]["__ZNSt3__29to_stringEl"].apply(null,arguments)};var __ZNSt3__29to_stringEm=Module["__ZNSt3__29to_stringEm"]=function(){return Module["asm"]["__ZNSt3__29to_stringEm"].apply(null,arguments)};var __ZNSt3__29to_stringEx=Module["__ZNSt3__29to_stringEx"]=function(){return Module["asm"]["__ZNSt3__29to_stringEx"].apply(null,arguments)};var __ZNSt3__29to_stringEy=Module["__ZNSt3__29to_stringEy"]=function(){return Module["asm"]["__ZNSt3__29to_stringEy"].apply(null,arguments)};var __ZNSt3__2L10__init_patIcEEvRNS_10money_base7patternERNS_12basic_stringIT_NS_11char_traitsIS5_EENS_9allocatorIS5_EEEEbcccS5_=Module["__ZNSt3__2L10__init_patIcEEvRNS_10money_base7patternERNS_12basic_stringIT_NS_11char_traitsIS5_EENS_9allocatorIS5_EEEEbcccS5_"]=function(){return Module["asm"]["__ZNSt3__2L10__init_patIcEEvRNS_10money_base7patternERNS_12basic_stringIT_NS_11char_traitsIS5_EENS_9allocatorIS5_EEEEbcccS5_"].apply(null,arguments)};var __ZNSt3__2L10__init_patIwEEvRNS_10money_base7patternERNS_12basic_stringIT_NS_11char_traitsIS5_EENS_9allocatorIS5_EEEEbcccS5_=Module["__ZNSt3__2L10__init_patIwEEvRNS_10money_base7patternERNS_12basic_stringIT_NS_11char_traitsIS5_EENS_9allocatorIS5_EEEEbcccS5_"]=function(){return Module["asm"]["__ZNSt3__2L10__init_patIwEEvRNS_10money_base7patternERNS_12basic_stringIT_NS_11char_traitsIS5_EENS_9allocatorIS5_EEEEbcccS5_"].apply(null,arguments)};var __ZNSt3__2L10init_am_pmEv=Module["__ZNSt3__2L10init_am_pmEv"]=function(){return Module["asm"]["__ZNSt3__2L10init_am_pmEv"].apply(null,arguments)};var __ZNSt3__2L10init_weeksEv=Module["__ZNSt3__2L10init_weeksEv"]=function(){return Module["asm"]["__ZNSt3__2L10init_weeksEv"].apply(null,arguments)};var __ZNSt3__2L11init_monthsEv=Module["__ZNSt3__2L11init_monthsEv"]=function(){return Module["asm"]["__ZNSt3__2L11init_monthsEv"].apply(null,arguments)};var __ZNSt3__2L11init_wam_pmEv=Module["__ZNSt3__2L11init_wam_pmEv"]=function(){return Module["asm"]["__ZNSt3__2L11init_wam_pmEv"].apply(null,arguments)};var __ZNSt3__2L11init_wweeksEv=Module["__ZNSt3__2L11init_wweeksEv"]=function(){return Module["asm"]["__ZNSt3__2L11init_wweeksEv"].apply(null,arguments)};var __ZNSt3__2L12init_wmonthsEv=Module["__ZNSt3__2L12init_wmonthsEv"]=function(){return Module["asm"]["__ZNSt3__2L12init_wmonthsEv"].apply(null,arguments)};var __ZNSt3__2L12ucs2_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L12ucs2_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L12ucs2_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L12ucs4_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L12ucs4_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L12ucs4_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L12utf8_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L12utf8_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L12utf8_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L12utf8_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L12utf8_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L12utf8_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L13__ios_new_capIPFvNS_8ios_base5eventERS1_iEEEmmm=Module["__ZNSt3__2L13__ios_new_capIPFvNS_8ios_base5eventERS1_iEEEmmm"]=function(){return Module["asm"]["__ZNSt3__2L13__ios_new_capIPFvNS_8ios_base5eventERS1_iEEEmmm"].apply(null,arguments)};var __ZNSt3__2L13__ios_new_capIPvEEmmm=Module["__ZNSt3__2L13__ios_new_capIPvEEmmm"]=function(){return Module["asm"]["__ZNSt3__2L13__ios_new_capIPvEEmmm"].apply(null,arguments)};var __ZNSt3__2L13__ios_new_capIlEEmmm=Module["__ZNSt3__2L13__ios_new_capIlEEmmm"]=function(){return Module["asm"]["__ZNSt3__2L13__ios_new_capIlEEmmm"].apply(null,arguments)};var __ZNSt3__2L13make_what_strERKNS_19__libcpp_debug_infoE=Module["__ZNSt3__2L13make_what_strERKNS_19__libcpp_debug_infoE"]=function(){return Module["asm"]["__ZNSt3__2L13make_what_strERKNS_19__libcpp_debug_infoE"].apply(null,arguments)};var __ZNSt3__2L13utf16_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L13utf16_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L13utf16_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L13utf16_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L13utf16_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L13utf16_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L13utf8_to_utf16EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L13utf8_to_utf16EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L13utf8_to_utf16EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L13utf8_to_utf16EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L13utf8_to_utf16EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L13utf8_to_utf16EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L15ucs2_to_utf16beEPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L15ucs2_to_utf16beEPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L15ucs2_to_utf16beEPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L15ucs2_to_utf16leEPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L15ucs2_to_utf16leEPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L15ucs2_to_utf16leEPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L15ucs4_to_utf16beEPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L15ucs4_to_utf16beEPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L15ucs4_to_utf16beEPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L15ucs4_to_utf16leEPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L15ucs4_to_utf16leEPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L15ucs4_to_utf16leEPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L15utf16be_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L15utf16be_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L15utf16be_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L15utf16be_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L15utf16be_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L15utf16be_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L15utf16le_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L15utf16le_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L15utf16le_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L15utf16le_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE=Module["__ZNSt3__2L15utf16le_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L15utf16le_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L19utf8_to_ucs2_lengthEPKhS1_mmNS_12codecvt_modeE=Module["__ZNSt3__2L19utf8_to_ucs2_lengthEPKhS1_mmNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L19utf8_to_ucs2_lengthEPKhS1_mmNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L19utf8_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE=Module["__ZNSt3__2L19utf8_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L19utf8_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L20utf8_to_utf16_lengthEPKhS1_mmNS_12codecvt_modeE=Module["__ZNSt3__2L20utf8_to_utf16_lengthEPKhS1_mmNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L20utf8_to_utf16_lengthEPKhS1_mmNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L22make_error_type_stringENS_15regex_constants10error_typeE=Module["__ZNSt3__2L22make_error_type_stringENS_15regex_constants10error_typeE"]=function(){return Module["asm"]["__ZNSt3__2L22make_error_type_stringENS_15regex_constants10error_typeE"].apply(null,arguments)};var __ZNSt3__2L22utf16be_to_ucs2_lengthEPKhS1_mmNS_12codecvt_modeE=Module["__ZNSt3__2L22utf16be_to_ucs2_lengthEPKhS1_mmNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L22utf16be_to_ucs2_lengthEPKhS1_mmNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L22utf16be_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE=Module["__ZNSt3__2L22utf16be_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L22utf16be_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L22utf16le_to_ucs2_lengthEPKhS1_mmNS_12codecvt_modeE=Module["__ZNSt3__2L22utf16le_to_ucs2_lengthEPKhS1_mmNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L22utf16le_to_ucs2_lengthEPKhS1_mmNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L22utf16le_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE=Module["__ZNSt3__2L22utf16le_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE"]=function(){return Module["asm"]["__ZNSt3__2L22utf16le_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE"].apply(null,arguments)};var __ZNSt3__2L30checked_string_to_char_convertERcPKcP15__locale_struct=Module["__ZNSt3__2L30checked_string_to_char_convertERcPKcP15__locale_struct"]=function(){return Module["asm"]["__ZNSt3__2L30checked_string_to_char_convertERcPKcP15__locale_struct"].apply(null,arguments)};var __ZNSt3__2L31checked_string_to_wchar_convertERwPKcP15__locale_struct=Module["__ZNSt3__2L31checked_string_to_wchar_convertERwPKcP15__locale_struct"]=function(){return Module["asm"]["__ZNSt3__2L31checked_string_to_wchar_convertERwPKcP15__locale_struct"].apply(null,arguments)};var __ZNSt3__2plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_=Module["__ZNSt3__2plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_"]=function(){return Module["asm"]["__ZNSt3__2plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_"].apply(null,arguments)};var __ZNSt3__2plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EERKSB_PKS8_=Module["__ZNSt3__2plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EERKSB_PKS8_"]=function(){return Module["asm"]["__ZNSt3__2plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EERKSB_PKS8_"].apply(null,arguments)};var __ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_=Module["__ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_"]=function(){return Module["asm"]["__ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_"].apply(null,arguments)};var __ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_=Module["__ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_"]=function(){return Module["asm"]["__ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_"].apply(null,arguments)};var __ZNSt8bad_castC2Ev=Module["__ZNSt8bad_castC2Ev"]=function(){return Module["asm"]["__ZNSt8bad_castC2Ev"].apply(null,arguments)};var __ZNSt8bad_castD0Ev=Module["__ZNSt8bad_castD0Ev"]=function(){return Module["asm"]["__ZNSt8bad_castD0Ev"].apply(null,arguments)};var __ZNSt8bad_castD2Ev=Module["__ZNSt8bad_castD2Ev"]=function(){return Module["asm"]["__ZNSt8bad_castD2Ev"].apply(null,arguments)};var __ZNSt9bad_allocC2Ev=Module["__ZNSt9bad_allocC2Ev"]=function(){return Module["asm"]["__ZNSt9bad_allocC2Ev"].apply(null,arguments)};var __ZNSt9bad_allocD0Ev=Module["__ZNSt9bad_allocD0Ev"]=function(){return Module["asm"]["__ZNSt9bad_allocD0Ev"].apply(null,arguments)};var __ZNSt9bad_allocD2Ev=Module["__ZNSt9bad_allocD2Ev"]=function(){return Module["asm"]["__ZNSt9bad_allocD2Ev"].apply(null,arguments)};var __ZNSt9exceptionD0Ev=Module["__ZNSt9exceptionD0Ev"]=function(){return Module["asm"]["__ZNSt9exceptionD0Ev"].apply(null,arguments)};var __ZNSt9exceptionD2Ev=Module["__ZNSt9exceptionD2Ev"]=function(){return Module["asm"]["__ZNSt9exceptionD2Ev"].apply(null,arguments)};var __ZNSt9type_infoD0Ev=Module["__ZNSt9type_infoD0Ev"]=function(){return Module["asm"]["__ZNSt9type_infoD0Ev"].apply(null,arguments)};var __ZNSt9type_infoD2Ev=Module["__ZNSt9type_infoD2Ev"]=function(){return Module["asm"]["__ZNSt9type_infoD2Ev"].apply(null,arguments)};var __ZSt10unexpectedv=Module["__ZSt10unexpectedv"]=function(){return Module["asm"]["__ZSt10unexpectedv"].apply(null,arguments)};var __ZSt11__terminatePFvvE=Module["__ZSt11__terminatePFvvE"]=function(){return Module["asm"]["__ZSt11__terminatePFvvE"].apply(null,arguments)};var __ZSt12__unexpectedPFvvE=Module["__ZSt12__unexpectedPFvvE"]=function(){return Module["asm"]["__ZSt12__unexpectedPFvvE"].apply(null,arguments)};var __ZSt13get_terminatev=Module["__ZSt13get_terminatev"]=function(){return Module["asm"]["__ZSt13get_terminatev"].apply(null,arguments)};var __ZSt13set_terminatePFvvE=Module["__ZSt13set_terminatePFvvE"]=function(){return Module["asm"]["__ZSt13set_terminatePFvvE"].apply(null,arguments)};var __ZSt14get_unexpectedv=Module["__ZSt14get_unexpectedv"]=function(){return Module["asm"]["__ZSt14get_unexpectedv"].apply(null,arguments)};var __ZSt14set_unexpectedPFvvE=Module["__ZSt14set_unexpectedPFvvE"]=function(){return Module["asm"]["__ZSt14set_unexpectedPFvvE"].apply(null,arguments)};var __ZSt15get_new_handlerv=Module["__ZSt15get_new_handlerv"]=function(){return Module["asm"]["__ZSt15get_new_handlerv"].apply(null,arguments)};var __ZSt15set_new_handlerPFvvE=Module["__ZSt15set_new_handlerPFvvE"]=function(){return Module["asm"]["__ZSt15set_new_handlerPFvvE"].apply(null,arguments)};var __ZSt17__throw_bad_allocv=Module["__ZSt17__throw_bad_allocv"]=function(){return Module["asm"]["__ZSt17__throw_bad_allocv"].apply(null,arguments)};var __ZSt17current_exceptionv=Module["__ZSt17current_exceptionv"]=function(){return Module["asm"]["__ZSt17current_exceptionv"].apply(null,arguments)};var __ZSt17rethrow_exceptionSt13exception_ptr=Module["__ZSt17rethrow_exceptionSt13exception_ptr"]=function(){return Module["asm"]["__ZSt17rethrow_exceptionSt13exception_ptr"].apply(null,arguments)};var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=function(){return Module["asm"]["__ZSt18uncaught_exceptionv"].apply(null,arguments)};var __ZSt19uncaught_exceptionsv=Module["__ZSt19uncaught_exceptionsv"]=function(){return Module["asm"]["__ZSt19uncaught_exceptionsv"].apply(null,arguments)};var __ZSt9terminatev=Module["__ZSt9terminatev"]=function(){return Module["asm"]["__ZSt9terminatev"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__XEv=Module["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__XEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__XEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__cEv=Module["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__cEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__cEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__rEv=Module["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__rEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__rEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__xEv=Module["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__xEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__xEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__am_pmEv=Module["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__am_pmEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__am_pmEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__weeksEv=Module["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__weeksEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE7__weeksEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__monthsEv=Module["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__monthsEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__monthsEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__XEv=Module["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__XEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__XEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__cEv=Module["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__cEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__cEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__rEv=Module["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__rEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__rEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__xEv=Module["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__xEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3__xEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__am_pmEv=Module["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__am_pmEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__am_pmEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__weeksEv=Module["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__weeksEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE7__weeksEv"].apply(null,arguments)};var __ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__monthsEv=Module["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__monthsEv"]=function(){return Module["asm"]["__ZThn8_NKSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__monthsEv"].apply(null,arguments)};var __ZThn8_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED0Ev=Module["__ZThn8_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZThn8_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZThn8_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED1Ev=Module["__ZThn8_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZThn8_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZThn8_NSt3__29strstreamD0Ev=Module["__ZThn8_NSt3__29strstreamD0Ev"]=function(){return Module["asm"]["__ZThn8_NSt3__29strstreamD0Ev"].apply(null,arguments)};var __ZThn8_NSt3__29strstreamD1Ev=Module["__ZThn8_NSt3__29strstreamD1Ev"]=function(){return Module["asm"]["__ZThn8_NSt3__29strstreamD1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__210istrstreamD0Ev=Module["__ZTv0_n12_NSt3__210istrstreamD0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__210istrstreamD0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__210istrstreamD1Ev=Module["__ZTv0_n12_NSt3__210istrstreamD1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__210istrstreamD1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__210ostrstreamD0Ev=Module["__ZTv0_n12_NSt3__210ostrstreamD0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__210ostrstreamD0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__210ostrstreamD1Ev=Module["__ZTv0_n12_NSt3__210ostrstreamD1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__210ostrstreamD1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev=Module["__ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev=Module["__ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev=Module["__ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev=Module["__ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev=Module["__ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev=Module["__ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev=Module["__ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev=Module["__ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__214basic_ifstreamIcNS_11char_traitsIcEEED0Ev=Module["__ZTv0_n12_NSt3__214basic_ifstreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__214basic_ifstreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__214basic_ifstreamIcNS_11char_traitsIcEEED1Ev=Module["__ZTv0_n12_NSt3__214basic_ifstreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__214basic_ifstreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED0Ev=Module["__ZTv0_n12_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED1Ev=Module["__ZTv0_n12_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__214basic_iostreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__214basic_ofstreamIcNS_11char_traitsIcEEED0Ev=Module["__ZTv0_n12_NSt3__214basic_ofstreamIcNS_11char_traitsIcEEED0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__214basic_ofstreamIcNS_11char_traitsIcEEED0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__214basic_ofstreamIcNS_11char_traitsIcEEED1Ev=Module["__ZTv0_n12_NSt3__214basic_ofstreamIcNS_11char_traitsIcEEED1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__214basic_ofstreamIcNS_11char_traitsIcEEED1Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__29strstreamD0Ev=Module["__ZTv0_n12_NSt3__29strstreamD0Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__29strstreamD0Ev"].apply(null,arguments)};var __ZTv0_n12_NSt3__29strstreamD1Ev=Module["__ZTv0_n12_NSt3__29strstreamD1Ev"]=function(){return Module["asm"]["__ZTv0_n12_NSt3__29strstreamD1Ev"].apply(null,arguments)};var __ZZNSt12experimental10filesystem2v112__equivalentERKNS1_4pathES4_PNSt3__210error_codeEENK3__0clEv=Module["__ZZNSt12experimental10filesystem2v112__equivalentERKNS1_4pathES4_PNSt3__210error_codeEENK3__0clEv"]=function(){return Module["asm"]["__ZZNSt12experimental10filesystem2v112__equivalentERKNS1_4pathES4_PNSt3__210error_codeEENK3__0clEv"].apply(null,arguments)};var __ZZNSt12experimental10filesystem2v17__spaceERKNS1_4pathEPNSt3__210error_codeEENK3__1clERyy=Module["__ZZNSt12experimental10filesystem2v17__spaceERKNS1_4pathEPNSt3__210error_codeEENK3__1clERyy"]=function(){return Module["asm"]["__ZZNSt12experimental10filesystem2v17__spaceERKNS1_4pathEPNSt3__210error_codeEENK3__1clERyy"].apply(null,arguments)};var __ZdaPv=Module["__ZdaPv"]=function(){return Module["asm"]["__ZdaPv"].apply(null,arguments)};var __ZdaPvRKSt9nothrow_t=Module["__ZdaPvRKSt9nothrow_t"]=function(){return Module["asm"]["__ZdaPvRKSt9nothrow_t"].apply(null,arguments)};var __ZdaPvSt11align_val_t=Module["__ZdaPvSt11align_val_t"]=function(){return Module["asm"]["__ZdaPvSt11align_val_t"].apply(null,arguments)};var __ZdaPvSt11align_val_tRKSt9nothrow_t=Module["__ZdaPvSt11align_val_tRKSt9nothrow_t"]=function(){return Module["asm"]["__ZdaPvSt11align_val_tRKSt9nothrow_t"].apply(null,arguments)};var __ZdaPvm=Module["__ZdaPvm"]=function(){return Module["asm"]["__ZdaPvm"].apply(null,arguments)};var __ZdaPvmSt11align_val_t=Module["__ZdaPvmSt11align_val_t"]=function(){return Module["asm"]["__ZdaPvmSt11align_val_t"].apply(null,arguments)};var __ZdlPv=Module["__ZdlPv"]=function(){return Module["asm"]["__ZdlPv"].apply(null,arguments)};var __ZdlPvRKSt9nothrow_t=Module["__ZdlPvRKSt9nothrow_t"]=function(){return Module["asm"]["__ZdlPvRKSt9nothrow_t"].apply(null,arguments)};var __ZdlPvSt11align_val_t=Module["__ZdlPvSt11align_val_t"]=function(){return Module["asm"]["__ZdlPvSt11align_val_t"].apply(null,arguments)};var __ZdlPvSt11align_val_tRKSt9nothrow_t=Module["__ZdlPvSt11align_val_tRKSt9nothrow_t"]=function(){return Module["asm"]["__ZdlPvSt11align_val_tRKSt9nothrow_t"].apply(null,arguments)};var __ZdlPvm=Module["__ZdlPvm"]=function(){return Module["asm"]["__ZdlPvm"].apply(null,arguments)};var __ZdlPvmSt11align_val_t=Module["__ZdlPvmSt11align_val_t"]=function(){return Module["asm"]["__ZdlPvmSt11align_val_t"].apply(null,arguments)};var __Znam=Module["__Znam"]=function(){return Module["asm"]["__Znam"].apply(null,arguments)};var __ZnamRKSt9nothrow_t=Module["__ZnamRKSt9nothrow_t"]=function(){return Module["asm"]["__ZnamRKSt9nothrow_t"].apply(null,arguments)};var __ZnamSt11align_val_t=Module["__ZnamSt11align_val_t"]=function(){return Module["asm"]["__ZnamSt11align_val_t"].apply(null,arguments)};var __ZnamSt11align_val_tRKSt9nothrow_t=Module["__ZnamSt11align_val_tRKSt9nothrow_t"]=function(){return Module["asm"]["__ZnamSt11align_val_tRKSt9nothrow_t"].apply(null,arguments)};var __Znwm=Module["__Znwm"]=function(){return Module["asm"]["__Znwm"].apply(null,arguments)};var __ZnwmRKSt9nothrow_t=Module["__ZnwmRKSt9nothrow_t"]=function(){return Module["asm"]["__ZnwmRKSt9nothrow_t"].apply(null,arguments)};var __ZnwmSt11align_val_t=Module["__ZnwmSt11align_val_t"]=function(){return Module["asm"]["__ZnwmSt11align_val_t"].apply(null,arguments)};var __ZnwmSt11align_val_tRKSt9nothrow_t=Module["__ZnwmSt11align_val_tRKSt9nothrow_t"]=function(){return Module["asm"]["__ZnwmSt11align_val_tRKSt9nothrow_t"].apply(null,arguments)};var ___DOUBLE_BITS=Module["___DOUBLE_BITS"]=function(){return Module["asm"]["___DOUBLE_BITS"].apply(null,arguments)};var ___DOUBLE_BITS_278=Module["___DOUBLE_BITS_278"]=function(){return Module["asm"]["___DOUBLE_BITS_278"].apply(null,arguments)};var ___DOUBLE_BITS_282=Module["___DOUBLE_BITS_282"]=function(){return Module["asm"]["___DOUBLE_BITS_282"].apply(null,arguments)};var ___DOUBLE_BITS_289=Module["___DOUBLE_BITS_289"]=function(){return Module["asm"]["___DOUBLE_BITS_289"].apply(null,arguments)};var ___DOUBLE_BITS_298=Module["___DOUBLE_BITS_298"]=function(){return Module["asm"]["___DOUBLE_BITS_298"].apply(null,arguments)};var ___DOUBLE_BITS_307=Module["___DOUBLE_BITS_307"]=function(){return Module["asm"]["___DOUBLE_BITS_307"].apply(null,arguments)};var ___DOUBLE_BITS_312=Module["___DOUBLE_BITS_312"]=function(){return Module["asm"]["___DOUBLE_BITS_312"].apply(null,arguments)};var ___DOUBLE_BITS_321=Module["___DOUBLE_BITS_321"]=function(){return Module["asm"]["___DOUBLE_BITS_321"].apply(null,arguments)};var ___DOUBLE_BITS_326=Module["___DOUBLE_BITS_326"]=function(){return Module["asm"]["___DOUBLE_BITS_326"].apply(null,arguments)};var ___DOUBLE_BITS_342=Module["___DOUBLE_BITS_342"]=function(){return Module["asm"]["___DOUBLE_BITS_342"].apply(null,arguments)};var ___DOUBLE_BITS_345=Module["___DOUBLE_BITS_345"]=function(){return Module["asm"]["___DOUBLE_BITS_345"].apply(null,arguments)};var ___DOUBLE_BITS_372=Module["___DOUBLE_BITS_372"]=function(){return Module["asm"]["___DOUBLE_BITS_372"].apply(null,arguments)};var ___DOUBLE_BITS_407=Module["___DOUBLE_BITS_407"]=function(){return Module["asm"]["___DOUBLE_BITS_407"].apply(null,arguments)};var ___DOUBLE_BITS_418=Module["___DOUBLE_BITS_418"]=function(){return Module["asm"]["___DOUBLE_BITS_418"].apply(null,arguments)};var ___DOUBLE_BITS_430=Module["___DOUBLE_BITS_430"]=function(){return Module["asm"]["___DOUBLE_BITS_430"].apply(null,arguments)};var ___DOUBLE_BITS_450=Module["___DOUBLE_BITS_450"]=function(){return Module["asm"]["___DOUBLE_BITS_450"].apply(null,arguments)};var ___DOUBLE_BITS_705=Module["___DOUBLE_BITS_705"]=function(){return Module["asm"]["___DOUBLE_BITS_705"].apply(null,arguments)};var ___FLOAT_BITS=Module["___FLOAT_BITS"]=function(){return Module["asm"]["___FLOAT_BITS"].apply(null,arguments)};var ___FLOAT_BITS_270=Module["___FLOAT_BITS_270"]=function(){return Module["asm"]["___FLOAT_BITS_270"].apply(null,arguments)};var ___FLOAT_BITS_273=Module["___FLOAT_BITS_273"]=function(){return Module["asm"]["___FLOAT_BITS_273"].apply(null,arguments)};var ___FLOAT_BITS_292=Module["___FLOAT_BITS_292"]=function(){return Module["asm"]["___FLOAT_BITS_292"].apply(null,arguments)};var ___FLOAT_BITS_293=Module["___FLOAT_BITS_293"]=function(){return Module["asm"]["___FLOAT_BITS_293"].apply(null,arguments)};var ___FLOAT_BITS_371=Module["___FLOAT_BITS_371"]=function(){return Module["asm"]["___FLOAT_BITS_371"].apply(null,arguments)};var ___FLOAT_BITS_394=Module["___FLOAT_BITS_394"]=function(){return Module["asm"]["___FLOAT_BITS_394"].apply(null,arguments)};var ___FLOAT_BITS_397=Module["___FLOAT_BITS_397"]=function(){return Module["asm"]["___FLOAT_BITS_397"].apply(null,arguments)};var ___FLOAT_BITS_402=Module["___FLOAT_BITS_402"]=function(){return Module["asm"]["___FLOAT_BITS_402"].apply(null,arguments)};var ___FLOAT_BITS_408=Module["___FLOAT_BITS_408"]=function(){return Module["asm"]["___FLOAT_BITS_408"].apply(null,arguments)};var ___FLOAT_BITS_415=Module["___FLOAT_BITS_415"]=function(){return Module["asm"]["___FLOAT_BITS_415"].apply(null,arguments)};var ___FLOAT_BITS_419=Module["___FLOAT_BITS_419"]=function(){return Module["asm"]["___FLOAT_BITS_419"].apply(null,arguments)};var ___FLOAT_BITS_445=Module["___FLOAT_BITS_445"]=function(){return Module["asm"]["___FLOAT_BITS_445"].apply(null,arguments)};var ___bswap_16=Module["___bswap_16"]=function(){return Module["asm"]["___bswap_16"].apply(null,arguments)};var ___bswap_16_547=Module["___bswap_16_547"]=function(){return Module["asm"]["___bswap_16_547"].apply(null,arguments)};var ___bswap_32=Module["___bswap_32"]=function(){return Module["asm"]["___bswap_32"].apply(null,arguments)};var ___bswap_32_579=Module["___bswap_32_579"]=function(){return Module["asm"]["___bswap_32_579"].apply(null,arguments)};var ___clang_call_terminate=Module["___clang_call_terminate"]=function(){return Module["asm"]["___clang_call_terminate"].apply(null,arguments)};var ___cos=Module["___cos"]=function(){return Module["asm"]["___cos"].apply(null,arguments)};var ___cosdf=Module["___cosdf"]=function(){return Module["asm"]["___cosdf"].apply(null,arguments)};var ___crypt_blowfish=Module["___crypt_blowfish"]=function(){return Module["asm"]["___crypt_blowfish"].apply(null,arguments)};var ___crypt_des=Module["___crypt_des"]=function(){return Module["asm"]["___crypt_des"].apply(null,arguments)};var ___crypt_md5=Module["___crypt_md5"]=function(){return Module["asm"]["___crypt_md5"].apply(null,arguments)};var ___crypt_r=Module["___crypt_r"]=function(){return Module["asm"]["___crypt_r"].apply(null,arguments)};var ___crypt_sha256=Module["___crypt_sha256"]=function(){return Module["asm"]["___crypt_sha256"].apply(null,arguments)};var ___crypt_sha512=Module["___crypt_sha512"]=function(){return Module["asm"]["___crypt_sha512"].apply(null,arguments)};var ___ctype_b_loc=Module["___ctype_b_loc"]=function(){return Module["asm"]["___ctype_b_loc"].apply(null,arguments)};var ___ctype_get_mb_cur_max=Module["___ctype_get_mb_cur_max"]=function(){return Module["asm"]["___ctype_get_mb_cur_max"].apply(null,arguments)};var ___ctype_tolower_loc=Module["___ctype_tolower_loc"]=function(){return Module["asm"]["___ctype_tolower_loc"].apply(null,arguments)};var ___ctype_toupper_loc=Module["___ctype_toupper_loc"]=function(){return Module["asm"]["___ctype_toupper_loc"].apply(null,arguments)};var ___cxa_bad_cast=Module["___cxa_bad_cast"]=function(){return Module["asm"]["___cxa_bad_cast"].apply(null,arguments)};var ___cxa_bad_typeid=Module["___cxa_bad_typeid"]=function(){return Module["asm"]["___cxa_bad_typeid"].apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return Module["asm"]["___cxa_can_catch"].apply(null,arguments)};var ___cxa_demangle=Module["___cxa_demangle"]=function(){return Module["asm"]["___cxa_demangle"].apply(null,arguments)};var ___cxa_get_globals=Module["___cxa_get_globals"]=function(){return Module["asm"]["___cxa_get_globals"].apply(null,arguments)};var ___cxa_get_globals_fast=Module["___cxa_get_globals_fast"]=function(){return Module["asm"]["___cxa_get_globals_fast"].apply(null,arguments)};var ___cxa_guard_abort=Module["___cxa_guard_abort"]=function(){return Module["asm"]["___cxa_guard_abort"].apply(null,arguments)};var ___cxa_guard_acquire=Module["___cxa_guard_acquire"]=function(){return Module["asm"]["___cxa_guard_acquire"].apply(null,arguments)};var ___cxa_guard_release=Module["___cxa_guard_release"]=function(){return Module["asm"]["___cxa_guard_release"].apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return Module["asm"]["___cxa_is_pointer_type"].apply(null,arguments)};var ___cxx_global_var_init=Module["___cxx_global_var_init"]=function(){return Module["asm"]["___cxx_global_var_init"].apply(null,arguments)};var ___cxx_global_var_init_15247=Module["___cxx_global_var_init_15247"]=function(){return Module["asm"]["___cxx_global_var_init_15247"].apply(null,arguments)};var ___des_setkey=Module["___des_setkey"]=function(){return Module["asm"]["___des_setkey"].apply(null,arguments)};var ___divdc3=Module["___divdc3"]=function(){return Module["asm"]["___divdc3"].apply(null,arguments)};var ___divdi3=Module["___divdi3"]=function(){return Module["asm"]["___divdi3"].apply(null,arguments)};var ___divsc3=Module["___divsc3"]=function(){return Module["asm"]["___divsc3"].apply(null,arguments)};var ___dn_comp=Module["___dn_comp"]=function(){return Module["asm"]["___dn_comp"].apply(null,arguments)};var ___dn_expand=Module["___dn_expand"]=function(){return Module["asm"]["___dn_expand"].apply(null,arguments)};var ___dns_count_addrs=Module["___dns_count_addrs"]=function(){return Module["asm"]["___dns_count_addrs"].apply(null,arguments)};var ___dns_doqueries=Module["___dns_doqueries"]=function(){return Module["asm"]["___dns_doqueries"].apply(null,arguments)};var ___dns_get_rr=Module["___dns_get_rr"]=function(){return Module["asm"]["___dns_get_rr"].apply(null,arguments)};var ___dns_parse=Module["___dns_parse"]=function(){return Module["asm"]["___dns_parse"].apply(null,arguments)};var ___dns_query=Module["___dns_query"]=function(){return Module["asm"]["___dns_query"].apply(null,arguments)};var ___do_des=Module["___do_des"]=function(){return Module["asm"]["___do_des"].apply(null,arguments)};var ___do_orphaned_stdio_locks=Module["___do_orphaned_stdio_locks"]=function(){return Module["asm"]["___do_orphaned_stdio_locks"].apply(null,arguments)};var ___dup3=Module["___dup3"]=function(){return Module["asm"]["___dup3"].apply(null,arguments)};var ___duplocale=Module["___duplocale"]=function(){return Module["asm"]["___duplocale"].apply(null,arguments)};var ___dynamic_cast=Module["___dynamic_cast"]=function(){return Module["asm"]["___dynamic_cast"].apply(null,arguments)};var ___em_js____js2python=Module["___em_js____js2python"]=function(){return Module["asm"]["___em_js____js2python"].apply(null,arguments)};var ___em_js__hiwire_array=Module["___em_js__hiwire_array"]=function(){return Module["asm"]["___em_js__hiwire_array"].apply(null,arguments)};var ___em_js__hiwire_bytes=Module["___em_js__hiwire_bytes"]=function(){return Module["asm"]["___em_js__hiwire_bytes"].apply(null,arguments)};var ___em_js__hiwire_call=Module["___em_js__hiwire_call"]=function(){return Module["asm"]["___em_js__hiwire_call"].apply(null,arguments)};var ___em_js__hiwire_call_member=Module["___em_js__hiwire_call_member"]=function(){return Module["asm"]["___em_js__hiwire_call_member"].apply(null,arguments)};var ___em_js__hiwire_copy_to_ptr=Module["___em_js__hiwire_copy_to_ptr"]=function(){return Module["asm"]["___em_js__hiwire_copy_to_ptr"].apply(null,arguments)};var ___em_js__hiwire_decref=Module["___em_js__hiwire_decref"]=function(){return Module["asm"]["___em_js__hiwire_decref"].apply(null,arguments)};var ___em_js__hiwire_delete_member_obj=Module["___em_js__hiwire_delete_member_obj"]=function(){return Module["asm"]["___em_js__hiwire_delete_member_obj"].apply(null,arguments)};var ___em_js__hiwire_delete_member_string=Module["___em_js__hiwire_delete_member_string"]=function(){return Module["asm"]["___em_js__hiwire_delete_member_string"].apply(null,arguments)};var ___em_js__hiwire_dir=Module["___em_js__hiwire_dir"]=function(){return Module["asm"]["___em_js__hiwire_dir"].apply(null,arguments)};var ___em_js__hiwire_double=Module["___em_js__hiwire_double"]=function(){return Module["asm"]["___em_js__hiwire_double"].apply(null,arguments)};var ___em_js__hiwire_equal=Module["___em_js__hiwire_equal"]=function(){return Module["asm"]["___em_js__hiwire_equal"].apply(null,arguments)};var ___em_js__hiwire_float32array=Module["___em_js__hiwire_float32array"]=function(){return Module["asm"]["___em_js__hiwire_float32array"].apply(null,arguments)};var ___em_js__hiwire_float64array=Module["___em_js__hiwire_float64array"]=function(){return Module["asm"]["___em_js__hiwire_float64array"].apply(null,arguments)};var ___em_js__hiwire_get_bool=Module["___em_js__hiwire_get_bool"]=function(){return Module["asm"]["___em_js__hiwire_get_bool"].apply(null,arguments)};var ___em_js__hiwire_get_byteLength=Module["___em_js__hiwire_get_byteLength"]=function(){return Module["asm"]["___em_js__hiwire_get_byteLength"].apply(null,arguments)};var ___em_js__hiwire_get_byteOffset=Module["___em_js__hiwire_get_byteOffset"]=function(){return Module["asm"]["___em_js__hiwire_get_byteOffset"].apply(null,arguments)};var ___em_js__hiwire_get_dtype=Module["___em_js__hiwire_get_dtype"]=function(){return Module["asm"]["___em_js__hiwire_get_dtype"].apply(null,arguments)};var ___em_js__hiwire_get_global=Module["___em_js__hiwire_get_global"]=function(){return Module["asm"]["___em_js__hiwire_get_global"].apply(null,arguments)};var ___em_js__hiwire_get_iterator=Module["___em_js__hiwire_get_iterator"]=function(){return Module["asm"]["___em_js__hiwire_get_iterator"].apply(null,arguments)};var ___em_js__hiwire_get_length=Module["___em_js__hiwire_get_length"]=function(){return Module["asm"]["___em_js__hiwire_get_length"].apply(null,arguments)};var ___em_js__hiwire_get_member_int=Module["___em_js__hiwire_get_member_int"]=function(){return Module["asm"]["___em_js__hiwire_get_member_int"].apply(null,arguments)};var ___em_js__hiwire_get_member_obj=Module["___em_js__hiwire_get_member_obj"]=function(){return Module["asm"]["___em_js__hiwire_get_member_obj"].apply(null,arguments)};var ___em_js__hiwire_get_member_string=Module["___em_js__hiwire_get_member_string"]=function(){return Module["asm"]["___em_js__hiwire_get_member_string"].apply(null,arguments)};var ___em_js__hiwire_greater_than=Module["___em_js__hiwire_greater_than"]=function(){return Module["asm"]["___em_js__hiwire_greater_than"].apply(null,arguments)};var ___em_js__hiwire_greater_than_equal=Module["___em_js__hiwire_greater_than_equal"]=function(){return Module["asm"]["___em_js__hiwire_greater_than_equal"].apply(null,arguments)};var ___em_js__hiwire_incref=Module["___em_js__hiwire_incref"]=function(){return Module["asm"]["___em_js__hiwire_incref"].apply(null,arguments)};var ___em_js__hiwire_int=Module["___em_js__hiwire_int"]=function(){return Module["asm"]["___em_js__hiwire_int"].apply(null,arguments)};var ___em_js__hiwire_int16array=Module["___em_js__hiwire_int16array"]=function(){return Module["asm"]["___em_js__hiwire_int16array"].apply(null,arguments)};var ___em_js__hiwire_int32array=Module["___em_js__hiwire_int32array"]=function(){return Module["asm"]["___em_js__hiwire_int32array"].apply(null,arguments)};var ___em_js__hiwire_int8array=Module["___em_js__hiwire_int8array"]=function(){return Module["asm"]["___em_js__hiwire_int8array"].apply(null,arguments)};var ___em_js__hiwire_is_function=Module["___em_js__hiwire_is_function"]=function(){return Module["asm"]["___em_js__hiwire_is_function"].apply(null,arguments)};var ___em_js__hiwire_is_on_wasm_heap=Module["___em_js__hiwire_is_on_wasm_heap"]=function(){return Module["asm"]["___em_js__hiwire_is_on_wasm_heap"].apply(null,arguments)};var ___em_js__hiwire_is_typedarray=Module["___em_js__hiwire_is_typedarray"]=function(){return Module["asm"]["___em_js__hiwire_is_typedarray"].apply(null,arguments)};var ___em_js__hiwire_less_than=Module["___em_js__hiwire_less_than"]=function(){return Module["asm"]["___em_js__hiwire_less_than"].apply(null,arguments)};var ___em_js__hiwire_less_than_equal=Module["___em_js__hiwire_less_than_equal"]=function(){return Module["asm"]["___em_js__hiwire_less_than_equal"].apply(null,arguments)};var ___em_js__hiwire_new=Module["___em_js__hiwire_new"]=function(){return Module["asm"]["___em_js__hiwire_new"].apply(null,arguments)};var ___em_js__hiwire_next=Module["___em_js__hiwire_next"]=function(){return Module["asm"]["___em_js__hiwire_next"].apply(null,arguments)};var ___em_js__hiwire_nonzero=Module["___em_js__hiwire_nonzero"]=function(){return Module["asm"]["___em_js__hiwire_nonzero"].apply(null,arguments)};var ___em_js__hiwire_not_equal=Module["___em_js__hiwire_not_equal"]=function(){return Module["asm"]["___em_js__hiwire_not_equal"].apply(null,arguments)};var ___em_js__hiwire_object=Module["___em_js__hiwire_object"]=function(){return Module["asm"]["___em_js__hiwire_object"].apply(null,arguments)};var ___em_js__hiwire_push_array=Module["___em_js__hiwire_push_array"]=function(){return Module["asm"]["___em_js__hiwire_push_array"].apply(null,arguments)};var ___em_js__hiwire_push_object_pair=Module["___em_js__hiwire_push_object_pair"]=function(){return Module["asm"]["___em_js__hiwire_push_object_pair"].apply(null,arguments)};var ___em_js__hiwire_set_member_int=Module["___em_js__hiwire_set_member_int"]=function(){return Module["asm"]["___em_js__hiwire_set_member_int"].apply(null,arguments)};var ___em_js__hiwire_set_member_obj=Module["___em_js__hiwire_set_member_obj"]=function(){return Module["asm"]["___em_js__hiwire_set_member_obj"].apply(null,arguments)};var ___em_js__hiwire_set_member_string=Module["___em_js__hiwire_set_member_string"]=function(){return Module["asm"]["___em_js__hiwire_set_member_string"].apply(null,arguments)};var ___em_js__hiwire_setup=Module["___em_js__hiwire_setup"]=function(){return Module["asm"]["___em_js__hiwire_setup"].apply(null,arguments)};var ___em_js__hiwire_string_ascii=Module["___em_js__hiwire_string_ascii"]=function(){return Module["asm"]["___em_js__hiwire_string_ascii"].apply(null,arguments)};var ___em_js__hiwire_string_ucs1=Module["___em_js__hiwire_string_ucs1"]=function(){return Module["asm"]["___em_js__hiwire_string_ucs1"].apply(null,arguments)};var ___em_js__hiwire_string_ucs2=Module["___em_js__hiwire_string_ucs2"]=function(){return Module["asm"]["___em_js__hiwire_string_ucs2"].apply(null,arguments)};var ___em_js__hiwire_string_ucs4=Module["___em_js__hiwire_string_ucs4"]=function(){return Module["asm"]["___em_js__hiwire_string_ucs4"].apply(null,arguments)};var ___em_js__hiwire_string_utf8=Module["___em_js__hiwire_string_utf8"]=function(){return Module["asm"]["___em_js__hiwire_string_utf8"].apply(null,arguments)};var ___em_js__hiwire_subarray=Module["___em_js__hiwire_subarray"]=function(){return Module["asm"]["___em_js__hiwire_subarray"].apply(null,arguments)};var ___em_js__hiwire_throw_error=Module["___em_js__hiwire_throw_error"]=function(){return Module["asm"]["___em_js__hiwire_throw_error"].apply(null,arguments)};var ___em_js__hiwire_to_string=Module["___em_js__hiwire_to_string"]=function(){return Module["asm"]["___em_js__hiwire_to_string"].apply(null,arguments)};var ___em_js__hiwire_typeof=Module["___em_js__hiwire_typeof"]=function(){return Module["asm"]["___em_js__hiwire_typeof"].apply(null,arguments)};var ___em_js__hiwire_uint16array=Module["___em_js__hiwire_uint16array"]=function(){return Module["asm"]["___em_js__hiwire_uint16array"].apply(null,arguments)};var ___em_js__hiwire_uint32array=Module["___em_js__hiwire_uint32array"]=function(){return Module["asm"]["___em_js__hiwire_uint32array"].apply(null,arguments)};var ___em_js__hiwire_uint8array=Module["___em_js__hiwire_uint8array"]=function(){return Module["asm"]["___em_js__hiwire_uint8array"].apply(null,arguments)};var ___em_js__pyimport_init=Module["___em_js__pyimport_init"]=function(){return Module["asm"]["___em_js__pyimport_init"].apply(null,arguments)};var ___em_js__pyproxy_init=Module["___em_js__pyproxy_init"]=function(){return Module["asm"]["___em_js__pyproxy_init"].apply(null,arguments)};var ___em_js__pyproxy_new=Module["___em_js__pyproxy_new"]=function(){return Module["asm"]["___em_js__pyproxy_new"].apply(null,arguments)};var ___em_js__runpython_finalize_js=Module["___em_js__runpython_finalize_js"]=function(){return Module["asm"]["___em_js__runpython_finalize_js"].apply(null,arguments)};var ___em_js__runpython_init_js=Module["___em_js__runpython_init_js"]=function(){return Module["asm"]["___em_js__runpython_init_js"].apply(null,arguments)};var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["___emscripten_environ_constructor"].apply(null,arguments)};var ___emscripten_pthread_data_constructor=Module["___emscripten_pthread_data_constructor"]=function(){return Module["asm"]["___emscripten_pthread_data_constructor"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["___errno_location"].apply(null,arguments)};var ___expo2=Module["___expo2"]=function(){return Module["asm"]["___expo2"].apply(null,arguments)};var ___expo2f=Module["___expo2f"]=function(){return Module["asm"]["___expo2f"].apply(null,arguments)};var ___fbufsize=Module["___fbufsize"]=function(){return Module["asm"]["___fbufsize"].apply(null,arguments)};var ___fclose_ca=Module["___fclose_ca"]=function(){return Module["asm"]["___fclose_ca"].apply(null,arguments)};var ___fdopen=Module["___fdopen"]=function(){return Module["asm"]["___fdopen"].apply(null,arguments)};var ___fesetround=Module["___fesetround"]=function(){return Module["asm"]["___fesetround"].apply(null,arguments)};var ___fflush_unlocked=Module["___fflush_unlocked"]=function(){return Module["asm"]["___fflush_unlocked"].apply(null,arguments)};var ___fgetwc_unlocked=Module["___fgetwc_unlocked"]=function(){return Module["asm"]["___fgetwc_unlocked"].apply(null,arguments)};var ___fgetwc_unlocked_internal=Module["___fgetwc_unlocked_internal"]=function(){return Module["asm"]["___fgetwc_unlocked_internal"].apply(null,arguments)};var ___flbf=Module["___flbf"]=function(){return Module["asm"]["___flbf"].apply(null,arguments)};var ___floatscan=Module["___floatscan"]=function(){return Module["asm"]["___floatscan"].apply(null,arguments)};var ___flt_rounds=Module["___flt_rounds"]=function(){return Module["asm"]["___flt_rounds"].apply(null,arguments)};var ___fmodeflags=Module["___fmodeflags"]=function(){return Module["asm"]["___fmodeflags"].apply(null,arguments)};var ___fopen_rb_ca=Module["___fopen_rb_ca"]=function(){return Module["asm"]["___fopen_rb_ca"].apply(null,arguments)};var ___fpclassify=Module["___fpclassify"]=function(){return Module["asm"]["___fpclassify"].apply(null,arguments)};var ___fpclassifyf=Module["___fpclassifyf"]=function(){return Module["asm"]["___fpclassifyf"].apply(null,arguments)};var ___fpclassifyl=Module["___fpclassifyl"]=function(){return Module["asm"]["___fpclassifyl"].apply(null,arguments)};var ___fpending=Module["___fpending"]=function(){return Module["asm"]["___fpending"].apply(null,arguments)};var ___fpurge=Module["___fpurge"]=function(){return Module["asm"]["___fpurge"].apply(null,arguments)};var ___fputwc_unlocked=Module["___fputwc_unlocked"]=function(){return Module["asm"]["___fputwc_unlocked"].apply(null,arguments)};var ___freadable=Module["___freadable"]=function(){return Module["asm"]["___freadable"].apply(null,arguments)};var ___freadahead=Module["___freadahead"]=function(){return Module["asm"]["___freadahead"].apply(null,arguments)};var ___freading=Module["___freading"]=function(){return Module["asm"]["___freading"].apply(null,arguments)};var ___freadptr=Module["___freadptr"]=function(){return Module["asm"]["___freadptr"].apply(null,arguments)};var ___freadptrinc=Module["___freadptrinc"]=function(){return Module["asm"]["___freadptrinc"].apply(null,arguments)};var ___frexp_exp=Module["___frexp_exp"]=function(){return Module["asm"]["___frexp_exp"].apply(null,arguments)};var ___frexp_expf=Module["___frexp_expf"]=function(){return Module["asm"]["___frexp_expf"].apply(null,arguments)};var ___fseeko=Module["___fseeko"]=function(){return Module["asm"]["___fseeko"].apply(null,arguments)};var ___fseeko_unlocked=Module["___fseeko_unlocked"]=function(){return Module["asm"]["___fseeko_unlocked"].apply(null,arguments)};var ___fseterr=Module["___fseterr"]=function(){return Module["asm"]["___fseterr"].apply(null,arguments)};var ___fsetlocking=Module["___fsetlocking"]=function(){return Module["asm"]["___fsetlocking"].apply(null,arguments)};var ___fstatfs=Module["___fstatfs"]=function(){return Module["asm"]["___fstatfs"].apply(null,arguments)};var ___ftello=Module["___ftello"]=function(){return Module["asm"]["___ftello"].apply(null,arguments)};var ___ftello_unlocked=Module["___ftello_unlocked"]=function(){return Module["asm"]["___ftello_unlocked"].apply(null,arguments)};var ___futimesat=Module["___futimesat"]=function(){return Module["asm"]["___futimesat"].apply(null,arguments)};var ___fwritable=Module["___fwritable"]=function(){return Module["asm"]["___fwritable"].apply(null,arguments)};var ___fwritex=Module["___fwritex"]=function(){return Module["asm"]["___fwritex"].apply(null,arguments)};var ___fwriting=Module["___fwriting"]=function(){return Module["asm"]["___fwriting"].apply(null,arguments)};var ___fxstat=Module["___fxstat"]=function(){return Module["asm"]["___fxstat"].apply(null,arguments)};var ___fxstatat=Module["___fxstatat"]=function(){return Module["asm"]["___fxstatat"].apply(null,arguments)};var ___get_locale=Module["___get_locale"]=function(){return Module["asm"]["___get_locale"].apply(null,arguments)};var ___get_resolv_conf=Module["___get_resolv_conf"]=function(){return Module["asm"]["___get_resolv_conf"].apply(null,arguments)};var ___getdents=Module["___getdents"]=function(){return Module["asm"]["___getdents"].apply(null,arguments)};var ___getopt_long=Module["___getopt_long"]=function(){return Module["asm"]["___getopt_long"].apply(null,arguments)};var ___getopt_long_core=Module["___getopt_long_core"]=function(){return Module["asm"]["___getopt_long_core"].apply(null,arguments)};var ___getopt_msg=Module["___getopt_msg"]=function(){return Module["asm"]["___getopt_msg"].apply(null,arguments)};var ___gettextdomain=Module["___gettextdomain"]=function(){return Module["asm"]["___gettextdomain"].apply(null,arguments)};var ___h_errno_location=Module["___h_errno_location"]=function(){return Module["asm"]["___h_errno_location"].apply(null,arguments)};var ___inet_aton=Module["___inet_aton"]=function(){return Module["asm"]["___inet_aton"].apply(null,arguments)};var ___intscan=Module["___intscan"]=function(){return Module["asm"]["___intscan"].apply(null,arguments)};var ___ipparse=Module["___ipparse"]=function(){return Module["asm"]["___ipparse"].apply(null,arguments)};var ___isalnum_l=Module["___isalnum_l"]=function(){return Module["asm"]["___isalnum_l"].apply(null,arguments)};var ___isalpha_l=Module["___isalpha_l"]=function(){return Module["asm"]["___isalpha_l"].apply(null,arguments)};var ___isblank_l=Module["___isblank_l"]=function(){return Module["asm"]["___isblank_l"].apply(null,arguments)};var ___iscntrl_l=Module["___iscntrl_l"]=function(){return Module["asm"]["___iscntrl_l"].apply(null,arguments)};var ___isdigit_l=Module["___isdigit_l"]=function(){return Module["asm"]["___isdigit_l"].apply(null,arguments)};var ___isgraph_l=Module["___isgraph_l"]=function(){return Module["asm"]["___isgraph_l"].apply(null,arguments)};var ___islower_l=Module["___islower_l"]=function(){return Module["asm"]["___islower_l"].apply(null,arguments)};var ___isprint_l=Module["___isprint_l"]=function(){return Module["asm"]["___isprint_l"].apply(null,arguments)};var ___ispunct_l=Module["___ispunct_l"]=function(){return Module["asm"]["___ispunct_l"].apply(null,arguments)};var ___isspace_l=Module["___isspace_l"]=function(){return Module["asm"]["___isspace_l"].apply(null,arguments)};var ___isupper_l=Module["___isupper_l"]=function(){return Module["asm"]["___isupper_l"].apply(null,arguments)};var ___iswalnum_l=Module["___iswalnum_l"]=function(){return Module["asm"]["___iswalnum_l"].apply(null,arguments)};var ___iswalpha_l=Module["___iswalpha_l"]=function(){return Module["asm"]["___iswalpha_l"].apply(null,arguments)};var ___iswblank_l=Module["___iswblank_l"]=function(){return Module["asm"]["___iswblank_l"].apply(null,arguments)};var ___iswcntrl_l=Module["___iswcntrl_l"]=function(){return Module["asm"]["___iswcntrl_l"].apply(null,arguments)};var ___iswctype_l=Module["___iswctype_l"]=function(){return Module["asm"]["___iswctype_l"].apply(null,arguments)};var ___iswdigit_l=Module["___iswdigit_l"]=function(){return Module["asm"]["___iswdigit_l"].apply(null,arguments)};var ___iswgraph_l=Module["___iswgraph_l"]=function(){return Module["asm"]["___iswgraph_l"].apply(null,arguments)};var ___iswlower_l=Module["___iswlower_l"]=function(){return Module["asm"]["___iswlower_l"].apply(null,arguments)};var ___iswprint_l=Module["___iswprint_l"]=function(){return Module["asm"]["___iswprint_l"].apply(null,arguments)};var ___iswpunct_l=Module["___iswpunct_l"]=function(){return Module["asm"]["___iswpunct_l"].apply(null,arguments)};var ___iswspace_l=Module["___iswspace_l"]=function(){return Module["asm"]["___iswspace_l"].apply(null,arguments)};var ___iswupper_l=Module["___iswupper_l"]=function(){return Module["asm"]["___iswupper_l"].apply(null,arguments)};var ___iswxdigit_l=Module["___iswxdigit_l"]=function(){return Module["asm"]["___iswxdigit_l"].apply(null,arguments)};var ___isxdigit_l=Module["___isxdigit_l"]=function(){return Module["asm"]["___isxdigit_l"].apply(null,arguments)};var ___lctrans=Module["___lctrans"]=function(){return Module["asm"]["___lctrans"].apply(null,arguments)};var ___lctrans_cur=Module["___lctrans_cur"]=function(){return Module["asm"]["___lctrans_cur"].apply(null,arguments)};var ___lctrans_impl=Module["___lctrans_impl"]=function(){return Module["asm"]["___lctrans_impl"].apply(null,arguments)};var ___ldexp_cexp=Module["___ldexp_cexp"]=function(){return Module["asm"]["___ldexp_cexp"].apply(null,arguments)};var ___ldexp_cexpf=Module["___ldexp_cexpf"]=function(){return Module["asm"]["___ldexp_cexpf"].apply(null,arguments)};var ___lgamma_r=Module["___lgamma_r"]=function(){return Module["asm"]["___lgamma_r"].apply(null,arguments)};var ___lgammaf_r=Module["___lgammaf_r"]=function(){return Module["asm"]["___lgammaf_r"].apply(null,arguments)};var ___lgammal_r=Module["___lgammal_r"]=function(){return Module["asm"]["___lgammal_r"].apply(null,arguments)};var ___libc_get_version=Module["___libc_get_version"]=function(){return Module["asm"]["___libc_get_version"].apply(null,arguments)};var ___loc_is_allocated=Module["___loc_is_allocated"]=function(){return Module["asm"]["___loc_is_allocated"].apply(null,arguments)};var ___lockfile=Module["___lockfile"]=function(){return Module["asm"]["___lockfile"].apply(null,arguments)};var ___lookup_ipliteral=Module["___lookup_ipliteral"]=function(){return Module["asm"]["___lookup_ipliteral"].apply(null,arguments)};var ___lookup_name=Module["___lookup_name"]=function(){return Module["asm"]["___lookup_name"].apply(null,arguments)};var ___lookup_serv=Module["___lookup_serv"]=function(){return Module["asm"]["___lookup_serv"].apply(null,arguments)};var ___lxstat=Module["___lxstat"]=function(){return Module["asm"]["___lxstat"].apply(null,arguments)};var ___madvise=Module["___madvise"]=function(){return Module["asm"]["___madvise"].apply(null,arguments)};var ___memrchr=Module["___memrchr"]=function(){return Module["asm"]["___memrchr"].apply(null,arguments)};var ___mkostemps=Module["___mkostemps"]=function(){return Module["asm"]["___mkostemps"].apply(null,arguments)};var ___mmap=Module["___mmap"]=function(){return Module["asm"]["___mmap"].apply(null,arguments)};var ___mo_lookup=Module["___mo_lookup"]=function(){return Module["asm"]["___mo_lookup"].apply(null,arguments)};var ___mprotect=Module["___mprotect"]=function(){return Module["asm"]["___mprotect"].apply(null,arguments)};var ___mremap=Module["___mremap"]=function(){return Module["asm"]["___mremap"].apply(null,arguments)};var ___muldc3=Module["___muldc3"]=function(){return Module["asm"]["___muldc3"].apply(null,arguments)};var ___muldi3=Module["___muldi3"]=function(){return Module["asm"]["___muldi3"].apply(null,arguments)};var ___muldsi3=Module["___muldsi3"]=function(){return Module["asm"]["___muldsi3"].apply(null,arguments)};var ___mulsc3=Module["___mulsc3"]=function(){return Module["asm"]["___mulsc3"].apply(null,arguments)};var ___munmap=Module["___munmap"]=function(){return Module["asm"]["___munmap"].apply(null,arguments)};var ___netlink_enumerate=Module["___netlink_enumerate"]=function(){return Module["asm"]["___netlink_enumerate"].apply(null,arguments)};var ___newlocale=Module["___newlocale"]=function(){return Module["asm"]["___newlocale"].apply(null,arguments)};var ___nl_langinfo=Module["___nl_langinfo"]=function(){return Module["asm"]["___nl_langinfo"].apply(null,arguments)};var ___nl_langinfo_l=Module["___nl_langinfo_l"]=function(){return Module["asm"]["___nl_langinfo_l"].apply(null,arguments)};var ___ofl_add=Module["___ofl_add"]=function(){return Module["asm"]["___ofl_add"].apply(null,arguments)};var ___ofl_lock=Module["___ofl_lock"]=function(){return Module["asm"]["___ofl_lock"].apply(null,arguments)};var ___ofl_unlock=Module["___ofl_unlock"]=function(){return Module["asm"]["___ofl_unlock"].apply(null,arguments)};var ___openlog=Module["___openlog"]=function(){return Module["asm"]["___openlog"].apply(null,arguments)};var ___overflow=Module["___overflow"]=function(){return Module["asm"]["___overflow"].apply(null,arguments)};var ___pleval=Module["___pleval"]=function(){return Module["asm"]["___pleval"].apply(null,arguments)};var ___procfdname=Module["___procfdname"]=function(){return Module["asm"]["___procfdname"].apply(null,arguments)};var ___pthread_self=Module["___pthread_self"]=function(){return Module["asm"]["___pthread_self"].apply(null,arguments)};var ___pthread_self_105=Module["___pthread_self_105"]=function(){return Module["asm"]["___pthread_self_105"].apply(null,arguments)};var ___pthread_self_107=Module["___pthread_self_107"]=function(){return Module["asm"]["___pthread_self_107"].apply(null,arguments)};var ___pthread_self_114=Module["___pthread_self_114"]=function(){return Module["asm"]["___pthread_self_114"].apply(null,arguments)};var ___pthread_self_117=Module["___pthread_self_117"]=function(){return Module["asm"]["___pthread_self_117"].apply(null,arguments)};var ___pthread_self_118=Module["___pthread_self_118"]=function(){return Module["asm"]["___pthread_self_118"].apply(null,arguments)};var ___pthread_self_119=Module["___pthread_self_119"]=function(){return Module["asm"]["___pthread_self_119"].apply(null,arguments)};var ___pthread_self_151=Module["___pthread_self_151"]=function(){return Module["asm"]["___pthread_self_151"].apply(null,arguments)};var ___pthread_self_155=Module["___pthread_self_155"]=function(){return Module["asm"]["___pthread_self_155"].apply(null,arguments)};var ___pthread_self_159=Module["___pthread_self_159"]=function(){return Module["asm"]["___pthread_self_159"].apply(null,arguments)};var ___pthread_self_164=Module["___pthread_self_164"]=function(){return Module["asm"]["___pthread_self_164"].apply(null,arguments)};var ___pthread_self_167=Module["___pthread_self_167"]=function(){return Module["asm"]["___pthread_self_167"].apply(null,arguments)};var ___pthread_self_172=Module["___pthread_self_172"]=function(){return Module["asm"]["___pthread_self_172"].apply(null,arguments)};var ___pthread_self_236=Module["___pthread_self_236"]=function(){return Module["asm"]["___pthread_self_236"].apply(null,arguments)};var ___pthread_self_265=Module["___pthread_self_265"]=function(){return Module["asm"]["___pthread_self_265"].apply(null,arguments)};var ___pthread_self_678=Module["___pthread_self_678"]=function(){return Module["asm"]["___pthread_self_678"].apply(null,arguments)};var ___pthread_self_755=Module["___pthread_self_755"]=function(){return Module["asm"]["___pthread_self_755"].apply(null,arguments)};var ___pthread_self_760=Module["___pthread_self_760"]=function(){return Module["asm"]["___pthread_self_760"].apply(null,arguments)};var ___pthread_self_765=Module["___pthread_self_765"]=function(){return Module["asm"]["___pthread_self_765"].apply(null,arguments)};var ___pthread_self_785=Module["___pthread_self_785"]=function(){return Module["asm"]["___pthread_self_785"].apply(null,arguments)};var ___pthread_self_808=Module["___pthread_self_808"]=function(){return Module["asm"]["___pthread_self_808"].apply(null,arguments)};var ___pthread_self_82=Module["___pthread_self_82"]=function(){return Module["asm"]["___pthread_self_82"].apply(null,arguments)};var ___pthread_self_849=Module["___pthread_self_849"]=function(){return Module["asm"]["___pthread_self_849"].apply(null,arguments)};var ___pthread_self_89=Module["___pthread_self_89"]=function(){return Module["asm"]["___pthread_self_89"].apply(null,arguments)};var ___pthread_self_95=Module["___pthread_self_95"]=function(){return Module["asm"]["___pthread_self_95"].apply(null,arguments)};var ___ptsname_r=Module["___ptsname_r"]=function(){return Module["asm"]["___ptsname_r"].apply(null,arguments)};var ___rand48_step=Module["___rand48_step"]=function(){return Module["asm"]["___rand48_step"].apply(null,arguments)};var ___randname=Module["___randname"]=function(){return Module["asm"]["___randname"].apply(null,arguments)};var ___rem_pio2=Module["___rem_pio2"]=function(){return Module["asm"]["___rem_pio2"].apply(null,arguments)};var ___rem_pio2_large=Module["___rem_pio2_large"]=function(){return Module["asm"]["___rem_pio2_large"].apply(null,arguments)};var ___rem_pio2f=Module["___rem_pio2f"]=function(){return Module["asm"]["___rem_pio2f"].apply(null,arguments)};var ___remdi3=Module["___remdi3"]=function(){return Module["asm"]["___remdi3"].apply(null,arguments)};var ___res_mkquery=Module["___res_mkquery"]=function(){return Module["asm"]["___res_mkquery"].apply(null,arguments)};var ___res_msend=Module["___res_msend"]=function(){return Module["asm"]["___res_msend"].apply(null,arguments)};var ___res_msend_rc=Module["___res_msend_rc"]=function(){return Module["asm"]["___res_msend_rc"].apply(null,arguments)};var ___res_send=Module["___res_send"]=function(){return Module["asm"]["___res_send"].apply(null,arguments)};var ___res_state=Module["___res_state"]=function(){return Module["asm"]["___res_state"].apply(null,arguments)};var ___rtnetlink_enumerate=Module["___rtnetlink_enumerate"]=function(){return Module["asm"]["___rtnetlink_enumerate"].apply(null,arguments)};var ___setrlimit=Module["___setrlimit"]=function(){return Module["asm"]["___setrlimit"].apply(null,arguments)};var ___setxid=Module["___setxid"]=function(){return Module["asm"]["___setxid"].apply(null,arguments)};var ___shgetc=Module["___shgetc"]=function(){return Module["asm"]["___shgetc"].apply(null,arguments)};var ___shlim=Module["___shlim"]=function(){return Module["asm"]["___shlim"].apply(null,arguments)};var ___shm_mapname=Module["___shm_mapname"]=function(){return Module["asm"]["___shm_mapname"].apply(null,arguments)};var ___signbit=Module["___signbit"]=function(){return Module["asm"]["___signbit"].apply(null,arguments)};var ___signbitf=Module["___signbitf"]=function(){return Module["asm"]["___signbitf"].apply(null,arguments)};var ___signbitl=Module["___signbitl"]=function(){return Module["asm"]["___signbitl"].apply(null,arguments)};var ___sin=Module["___sin"]=function(){return Module["asm"]["___sin"].apply(null,arguments)};var ___sindf=Module["___sindf"]=function(){return Module["asm"]["___sindf"].apply(null,arguments)};var ___srandom=Module["___srandom"]=function(){return Module["asm"]["___srandom"].apply(null,arguments)};var ___statfs=Module["___statfs"]=function(){return Module["asm"]["___statfs"].apply(null,arguments)};var ___stdio_close=Module["___stdio_close"]=function(){return Module["asm"]["___stdio_close"].apply(null,arguments)};var ___stdio_exit=Module["___stdio_exit"]=function(){return Module["asm"]["___stdio_exit"].apply(null,arguments)};var ___stdio_read=Module["___stdio_read"]=function(){return Module["asm"]["___stdio_read"].apply(null,arguments)};var ___stdio_seek=Module["___stdio_seek"]=function(){return Module["asm"]["___stdio_seek"].apply(null,arguments)};var ___stdio_write=Module["___stdio_write"]=function(){return Module["asm"]["___stdio_write"].apply(null,arguments)};var ___stdout_write=Module["___stdout_write"]=function(){return Module["asm"]["___stdout_write"].apply(null,arguments)};var ___stpcpy=Module["___stpcpy"]=function(){return Module["asm"]["___stpcpy"].apply(null,arguments)};var ___stpncpy=Module["___stpncpy"]=function(){return Module["asm"]["___stpncpy"].apply(null,arguments)};var ___strcasecmp_l=Module["___strcasecmp_l"]=function(){return Module["asm"]["___strcasecmp_l"].apply(null,arguments)};var ___strchrnul=Module["___strchrnul"]=function(){return Module["asm"]["___strchrnul"].apply(null,arguments)};var ___strcoll_l=Module["___strcoll_l"]=function(){return Module["asm"]["___strcoll_l"].apply(null,arguments)};var ___strdup=Module["___strdup"]=function(){return Module["asm"]["___strdup"].apply(null,arguments)};var ___strerror_l=Module["___strerror_l"]=function(){return Module["asm"]["___strerror_l"].apply(null,arguments)};var ___string_read=Module["___string_read"]=function(){return Module["asm"]["___string_read"].apply(null,arguments)};var ___strncasecmp_l=Module["___strncasecmp_l"]=function(){return Module["asm"]["___strncasecmp_l"].apply(null,arguments)};var ___strxfrm_l=Module["___strxfrm_l"]=function(){return Module["asm"]["___strxfrm_l"].apply(null,arguments)};var ___synccall=Module["___synccall"]=function(){return Module["asm"]["___synccall"].apply(null,arguments)};var ___syscall_ret=Module["___syscall_ret"]=function(){return Module["asm"]["___syscall_ret"].apply(null,arguments)};var ___tan=Module["___tan"]=function(){return Module["asm"]["___tan"].apply(null,arguments)};var ___tandf=Module["___tandf"]=function(){return Module["asm"]["___tandf"].apply(null,arguments)};var ___tolower_l=Module["___tolower_l"]=function(){return Module["asm"]["___tolower_l"].apply(null,arguments)};var ___toread=Module["___toread"]=function(){return Module["asm"]["___toread"].apply(null,arguments)};var ___toread_needs_stdio_exit=Module["___toread_needs_stdio_exit"]=function(){return Module["asm"]["___toread_needs_stdio_exit"].apply(null,arguments)};var ___toupper_l=Module["___toupper_l"]=function(){return Module["asm"]["___toupper_l"].apply(null,arguments)};var ___towcase=Module["___towcase"]=function(){return Module["asm"]["___towcase"].apply(null,arguments)};var ___towctrans_l=Module["___towctrans_l"]=function(){return Module["asm"]["___towctrans_l"].apply(null,arguments)};var ___towlower_l=Module["___towlower_l"]=function(){return Module["asm"]["___towlower_l"].apply(null,arguments)};var ___towrite=Module["___towrite"]=function(){return Module["asm"]["___towrite"].apply(null,arguments)};var ___towrite_needs_stdio_exit=Module["___towrite_needs_stdio_exit"]=function(){return Module["asm"]["___towrite_needs_stdio_exit"].apply(null,arguments)};var ___towupper_l=Module["___towupper_l"]=function(){return Module["asm"]["___towupper_l"].apply(null,arguments)};var ___tre_mem_alloc_impl=Module["___tre_mem_alloc_impl"]=function(){return Module["asm"]["___tre_mem_alloc_impl"].apply(null,arguments)};var ___tre_mem_destroy=Module["___tre_mem_destroy"]=function(){return Module["asm"]["___tre_mem_destroy"].apply(null,arguments)};var ___tre_mem_new_impl=Module["___tre_mem_new_impl"]=function(){return Module["asm"]["___tre_mem_new_impl"].apply(null,arguments)};var ___udivdi3=Module["___udivdi3"]=function(){return Module["asm"]["___udivdi3"].apply(null,arguments)};var ___udivmoddi4=Module["___udivmoddi4"]=function(){return Module["asm"]["___udivmoddi4"].apply(null,arguments)};var ___uflow=Module["___uflow"]=function(){return Module["asm"]["___uflow"].apply(null,arguments)};var ___unlist_locked_file=Module["___unlist_locked_file"]=function(){return Module["asm"]["___unlist_locked_file"].apply(null,arguments)};var ___unlockfile=Module["___unlockfile"]=function(){return Module["asm"]["___unlockfile"].apply(null,arguments)};var ___uremdi3=Module["___uremdi3"]=function(){return Module["asm"]["___uremdi3"].apply(null,arguments)};var ___uselocale=Module["___uselocale"]=function(){return Module["asm"]["___uselocale"].apply(null,arguments)};var ___vsyslog=Module["___vsyslog"]=function(){return Module["asm"]["___vsyslog"].apply(null,arguments)};var ___wcscoll_l=Module["___wcscoll_l"]=function(){return Module["asm"]["___wcscoll_l"].apply(null,arguments)};var ___wcsxfrm_l=Module["___wcsxfrm_l"]=function(){return Module["asm"]["___wcsxfrm_l"].apply(null,arguments)};var ___wctrans_l=Module["___wctrans_l"]=function(){return Module["asm"]["___wctrans_l"].apply(null,arguments)};var ___wctype_l=Module["___wctype_l"]=function(){return Module["asm"]["___wctype_l"].apply(null,arguments)};var ___xmknod=Module["___xmknod"]=function(){return Module["asm"]["___xmknod"].apply(null,arguments)};var ___xmknodat=Module["___xmknodat"]=function(){return Module["asm"]["___xmknodat"].apply(null,arguments)};var ___xstat=Module["___xstat"]=function(){return Module["asm"]["___xstat"].apply(null,arguments)};var __abc__abc_init=Module["__abc__abc_init"]=function(){return Module["asm"]["__abc__abc_init"].apply(null,arguments)};var __abc__abc_instancecheck=Module["__abc__abc_instancecheck"]=function(){return Module["asm"]["__abc__abc_instancecheck"].apply(null,arguments)};var __abc__abc_register=Module["__abc__abc_register"]=function(){return Module["asm"]["__abc__abc_register"].apply(null,arguments)};var __abc__abc_subclasscheck=Module["__abc__abc_subclasscheck"]=function(){return Module["asm"]["__abc__abc_subclasscheck"].apply(null,arguments)};var __abc__get_dump=Module["__abc__get_dump"]=function(){return Module["asm"]["__abc__get_dump"].apply(null,arguments)};var __abc__reset_caches=Module["__abc__reset_caches"]=function(){return Module["asm"]["__abc__reset_caches"].apply(null,arguments)};var __abc__reset_registry=Module["__abc__reset_registry"]=function(){return Module["asm"]["__abc__reset_registry"].apply(null,arguments)};var __abc_get_cache_token=Module["__abc_get_cache_token"]=function(){return Module["asm"]["__abc_get_cache_token"].apply(null,arguments)};var __add_to_weak_set=Module["__add_to_weak_set"]=function(){return Module["asm"]["__add_to_weak_set"].apply(null,arguments)};var __append_preinit_entry=Module["__append_preinit_entry"]=function(){return Module["asm"]["__append_preinit_entry"].apply(null,arguments)};var __authorizer_callback=Module["__authorizer_callback"]=function(){return Module["asm"]["__authorizer_callback"].apply(null,arguments)};var __bdf_add_property=Module["__bdf_add_property"]=function(){return Module["asm"]["__bdf_add_property"].apply(null,arguments)};var __bdf_list_split=Module["__bdf_list_split"]=function(){return Module["asm"]["__bdf_list_split"].apply(null,arguments)};var __bdf_parse_glyphs=Module["__bdf_parse_glyphs"]=function(){return Module["asm"]["__bdf_parse_glyphs"].apply(null,arguments)};var __bdf_parse_properties=Module["__bdf_parse_properties"]=function(){return Module["asm"]["__bdf_parse_properties"].apply(null,arguments)};var __bdf_parse_start=Module["__bdf_parse_start"]=function(){return Module["asm"]["__bdf_parse_start"].apply(null,arguments)};var __blake2b_blake2b_copy=Module["__blake2b_blake2b_copy"]=function(){return Module["asm"]["__blake2b_blake2b_copy"].apply(null,arguments)};var __blake2b_blake2b_digest=Module["__blake2b_blake2b_digest"]=function(){return Module["asm"]["__blake2b_blake2b_digest"].apply(null,arguments)};var __blake2b_blake2b_hexdigest=Module["__blake2b_blake2b_hexdigest"]=function(){return Module["asm"]["__blake2b_blake2b_hexdigest"].apply(null,arguments)};var __blake2b_blake2b_update=Module["__blake2b_blake2b_update"]=function(){return Module["asm"]["__blake2b_blake2b_update"].apply(null,arguments)};var __blake2s_blake2s_copy=Module["__blake2s_blake2s_copy"]=function(){return Module["asm"]["__blake2s_blake2s_copy"].apply(null,arguments)};var __blake2s_blake2s_digest=Module["__blake2s_blake2s_digest"]=function(){return Module["asm"]["__blake2s_blake2s_digest"].apply(null,arguments)};var __blake2s_blake2s_hexdigest=Module["__blake2s_blake2s_hexdigest"]=function(){return Module["asm"]["__blake2s_blake2s_hexdigest"].apply(null,arguments)};var __blake2s_blake2s_update=Module["__blake2s_blake2s_update"]=function(){return Module["asm"]["__blake2s_blake2s_update"].apply(null,arguments)};var __buffered_init=Module["__buffered_init"]=function(){return Module["asm"]["__buffered_init"].apply(null,arguments)};var __buffered_raw_seek=Module["__buffered_raw_seek"]=function(){return Module["asm"]["__buffered_raw_seek"].apply(null,arguments)};var __buffered_readinto_generic=Module["__buffered_readinto_generic"]=function(){return Module["asm"]["__buffered_readinto_generic"].apply(null,arguments)};var __buffered_readline=Module["__buffered_readline"]=function(){return Module["asm"]["__buffered_readline"].apply(null,arguments)};var __bufferediobase_readinto_generic=Module["__bufferediobase_readinto_generic"]=function(){return Module["asm"]["__bufferediobase_readinto_generic"].apply(null,arguments)};var __bufferedreader_raw_read=Module["__bufferedreader_raw_read"]=function(){return Module["asm"]["__bufferedreader_raw_read"].apply(null,arguments)};var __bufferedwriter_flush_unlocked=Module["__bufferedwriter_flush_unlocked"]=function(){return Module["asm"]["__bufferedwriter_flush_unlocked"].apply(null,arguments)};var __bufferedwriter_raw_write=Module["__bufferedwriter_raw_write"]=function(){return Module["asm"]["__bufferedwriter_raw_write"].apply(null,arguments)};var __bz2_BZ2Compressor___init__=Module["__bz2_BZ2Compressor___init__"]=function(){return Module["asm"]["__bz2_BZ2Compressor___init__"].apply(null,arguments)};var __bz2_BZ2Compressor_compress=Module["__bz2_BZ2Compressor_compress"]=function(){return Module["asm"]["__bz2_BZ2Compressor_compress"].apply(null,arguments)};var __bz2_BZ2Compressor_flush=Module["__bz2_BZ2Compressor_flush"]=function(){return Module["asm"]["__bz2_BZ2Compressor_flush"].apply(null,arguments)};var __bz2_BZ2Decompressor___init__=Module["__bz2_BZ2Decompressor___init__"]=function(){return Module["asm"]["__bz2_BZ2Decompressor___init__"].apply(null,arguments)};var __bz2_BZ2Decompressor_decompress=Module["__bz2_BZ2Decompressor_decompress"]=function(){return Module["asm"]["__bz2_BZ2Decompressor_decompress"].apply(null,arguments)};var __c32_qget_u64=Module["__c32_qget_u64"]=function(){return Module["asm"]["__c32_qget_u64"].apply(null,arguments)};var __c32setu64=Module["__c32setu64"]=function(){return Module["asm"]["__c32setu64"].apply(null,arguments)};var __check_for_legacy_statements=Module["__check_for_legacy_statements"]=function(){return Module["asm"]["__check_for_legacy_statements"].apply(null,arguments)};var __clearcache=Module["__clearcache"]=function(){return Module["asm"]["__clearcache"].apply(null,arguments)};var __codecs__forget_codec=Module["__codecs__forget_codec"]=function(){return Module["asm"]["__codecs__forget_codec"].apply(null,arguments)};var __codecs_ascii_decode=Module["__codecs_ascii_decode"]=function(){return Module["asm"]["__codecs_ascii_decode"].apply(null,arguments)};var __codecs_ascii_encode=Module["__codecs_ascii_encode"]=function(){return Module["asm"]["__codecs_ascii_encode"].apply(null,arguments)};var __codecs_charmap_build=Module["__codecs_charmap_build"]=function(){return Module["asm"]["__codecs_charmap_build"].apply(null,arguments)};var __codecs_charmap_decode=Module["__codecs_charmap_decode"]=function(){return Module["asm"]["__codecs_charmap_decode"].apply(null,arguments)};var __codecs_charmap_encode=Module["__codecs_charmap_encode"]=function(){return Module["asm"]["__codecs_charmap_encode"].apply(null,arguments)};var __codecs_decode=Module["__codecs_decode"]=function(){return Module["asm"]["__codecs_decode"].apply(null,arguments)};var __codecs_encode=Module["__codecs_encode"]=function(){return Module["asm"]["__codecs_encode"].apply(null,arguments)};var __codecs_escape_decode=Module["__codecs_escape_decode"]=function(){return Module["asm"]["__codecs_escape_decode"].apply(null,arguments)};var __codecs_escape_encode=Module["__codecs_escape_encode"]=function(){return Module["asm"]["__codecs_escape_encode"].apply(null,arguments)};var __codecs_latin_1_decode=Module["__codecs_latin_1_decode"]=function(){return Module["asm"]["__codecs_latin_1_decode"].apply(null,arguments)};var __codecs_latin_1_encode=Module["__codecs_latin_1_encode"]=function(){return Module["asm"]["__codecs_latin_1_encode"].apply(null,arguments)};var __codecs_lookup=Module["__codecs_lookup"]=function(){return Module["asm"]["__codecs_lookup"].apply(null,arguments)};var __codecs_lookup_error=Module["__codecs_lookup_error"]=function(){return Module["asm"]["__codecs_lookup_error"].apply(null,arguments)};var __codecs_raw_unicode_escape_decode=Module["__codecs_raw_unicode_escape_decode"]=function(){return Module["asm"]["__codecs_raw_unicode_escape_decode"].apply(null,arguments)};var __codecs_raw_unicode_escape_encode=Module["__codecs_raw_unicode_escape_encode"]=function(){return Module["asm"]["__codecs_raw_unicode_escape_encode"].apply(null,arguments)};var __codecs_readbuffer_encode=Module["__codecs_readbuffer_encode"]=function(){return Module["asm"]["__codecs_readbuffer_encode"].apply(null,arguments)};var __codecs_register=Module["__codecs_register"]=function(){return Module["asm"]["__codecs_register"].apply(null,arguments)};var __codecs_register_error=Module["__codecs_register_error"]=function(){return Module["asm"]["__codecs_register_error"].apply(null,arguments)};var __codecs_unicode_escape_decode=Module["__codecs_unicode_escape_decode"]=function(){return Module["asm"]["__codecs_unicode_escape_decode"].apply(null,arguments)};var __codecs_unicode_escape_encode=Module["__codecs_unicode_escape_encode"]=function(){return Module["asm"]["__codecs_unicode_escape_encode"].apply(null,arguments)};var __codecs_unicode_internal_decode=Module["__codecs_unicode_internal_decode"]=function(){return Module["asm"]["__codecs_unicode_internal_decode"].apply(null,arguments)};var __codecs_unicode_internal_encode=Module["__codecs_unicode_internal_encode"]=function(){return Module["asm"]["__codecs_unicode_internal_encode"].apply(null,arguments)};var __codecs_utf_16_be_decode=Module["__codecs_utf_16_be_decode"]=function(){return Module["asm"]["__codecs_utf_16_be_decode"].apply(null,arguments)};var __codecs_utf_16_be_encode=Module["__codecs_utf_16_be_encode"]=function(){return Module["asm"]["__codecs_utf_16_be_encode"].apply(null,arguments)};var __codecs_utf_16_decode=Module["__codecs_utf_16_decode"]=function(){return Module["asm"]["__codecs_utf_16_decode"].apply(null,arguments)};var __codecs_utf_16_encode=Module["__codecs_utf_16_encode"]=function(){return Module["asm"]["__codecs_utf_16_encode"].apply(null,arguments)};var __codecs_utf_16_ex_decode=Module["__codecs_utf_16_ex_decode"]=function(){return Module["asm"]["__codecs_utf_16_ex_decode"].apply(null,arguments)};var __codecs_utf_16_le_decode=Module["__codecs_utf_16_le_decode"]=function(){return Module["asm"]["__codecs_utf_16_le_decode"].apply(null,arguments)};var __codecs_utf_16_le_encode=Module["__codecs_utf_16_le_encode"]=function(){return Module["asm"]["__codecs_utf_16_le_encode"].apply(null,arguments)};var __codecs_utf_32_be_decode=Module["__codecs_utf_32_be_decode"]=function(){return Module["asm"]["__codecs_utf_32_be_decode"].apply(null,arguments)};var __codecs_utf_32_be_encode=Module["__codecs_utf_32_be_encode"]=function(){return Module["asm"]["__codecs_utf_32_be_encode"].apply(null,arguments)};var __codecs_utf_32_decode=Module["__codecs_utf_32_decode"]=function(){return Module["asm"]["__codecs_utf_32_decode"].apply(null,arguments)};var __codecs_utf_32_encode=Module["__codecs_utf_32_encode"]=function(){return Module["asm"]["__codecs_utf_32_encode"].apply(null,arguments)};var __codecs_utf_32_ex_decode=Module["__codecs_utf_32_ex_decode"]=function(){return Module["asm"]["__codecs_utf_32_ex_decode"].apply(null,arguments)};var __codecs_utf_32_le_decode=Module["__codecs_utf_32_le_decode"]=function(){return Module["asm"]["__codecs_utf_32_le_decode"].apply(null,arguments)};var __codecs_utf_32_le_encode=Module["__codecs_utf_32_le_encode"]=function(){return Module["asm"]["__codecs_utf_32_le_encode"].apply(null,arguments)};var __codecs_utf_7_decode=Module["__codecs_utf_7_decode"]=function(){return Module["asm"]["__codecs_utf_7_decode"].apply(null,arguments)};var __codecs_utf_7_encode=Module["__codecs_utf_7_encode"]=function(){return Module["asm"]["__codecs_utf_7_encode"].apply(null,arguments)};var __codecs_utf_8_decode=Module["__codecs_utf_8_decode"]=function(){return Module["asm"]["__codecs_utf_8_decode"].apply(null,arguments)};var __codecs_utf_8_encode=Module["__codecs_utf_8_encode"]=function(){return Module["asm"]["__codecs_utf_8_encode"].apply(null,arguments)};var __common_reduce=Module["__common_reduce"]=function(){return Module["asm"]["__common_reduce"].apply(null,arguments)};var __contextvars_ContextVar_get=Module["__contextvars_ContextVar_get"]=function(){return Module["asm"]["__contextvars_ContextVar_get"].apply(null,arguments)};var __contextvars_ContextVar_reset=Module["__contextvars_ContextVar_reset"]=function(){return Module["asm"]["__contextvars_ContextVar_reset"].apply(null,arguments)};var __contextvars_ContextVar_set=Module["__contextvars_ContextVar_set"]=function(){return Module["asm"]["__contextvars_ContextVar_set"].apply(null,arguments)};var __contextvars_Context_copy=Module["__contextvars_Context_copy"]=function(){return Module["asm"]["__contextvars_Context_copy"].apply(null,arguments)};var __contextvars_Context_get=Module["__contextvars_Context_get"]=function(){return Module["asm"]["__contextvars_Context_get"].apply(null,arguments)};var __contextvars_Context_items=Module["__contextvars_Context_items"]=function(){return Module["asm"]["__contextvars_Context_items"].apply(null,arguments)};var __contextvars_Context_keys=Module["__contextvars_Context_keys"]=function(){return Module["asm"]["__contextvars_Context_keys"].apply(null,arguments)};var __contextvars_Context_values=Module["__contextvars_Context_values"]=function(){return Module["asm"]["__contextvars_Context_values"].apply(null,arguments)};var __contextvars_copy_context=Module["__contextvars_copy_context"]=function(){return Module["asm"]["__contextvars_copy_context"].apply(null,arguments)};var __convert_bool=Module["__convert_bool"]=function(){return Module["asm"]["__convert_bool"].apply(null,arguments)};var __convert_float32=Module["__convert_float32"]=function(){return Module["asm"]["__convert_float32"].apply(null,arguments)};var __convert_float32_swap=Module["__convert_float32_swap"]=function(){return Module["asm"]["__convert_float32_swap"].apply(null,arguments)};var __convert_float64=Module["__convert_float64"]=function(){return Module["asm"]["__convert_float64"].apply(null,arguments)};var __convert_float64_swap=Module["__convert_float64_swap"]=function(){return Module["asm"]["__convert_float64_swap"].apply(null,arguments)};var __convert_int16=Module["__convert_int16"]=function(){return Module["asm"]["__convert_int16"].apply(null,arguments)};var __convert_int16_swap=Module["__convert_int16_swap"]=function(){return Module["asm"]["__convert_int16_swap"].apply(null,arguments)};var __convert_int32=Module["__convert_int32"]=function(){return Module["asm"]["__convert_int32"].apply(null,arguments)};var __convert_int32_swap=Module["__convert_int32_swap"]=function(){return Module["asm"]["__convert_int32_swap"].apply(null,arguments)};var __convert_int64=Module["__convert_int64"]=function(){return Module["asm"]["__convert_int64"].apply(null,arguments)};var __convert_int64_swap=Module["__convert_int64_swap"]=function(){return Module["asm"]["__convert_int64_swap"].apply(null,arguments)};var __convert_int8=Module["__convert_int8"]=function(){return Module["asm"]["__convert_int8"].apply(null,arguments)};var __convert_uint16=Module["__convert_uint16"]=function(){return Module["asm"]["__convert_uint16"].apply(null,arguments)};var __convert_uint16_swap=Module["__convert_uint16_swap"]=function(){return Module["asm"]["__convert_uint16_swap"].apply(null,arguments)};var __convert_uint32=Module["__convert_uint32"]=function(){return Module["asm"]["__convert_uint32"].apply(null,arguments)};var __convert_uint32_swap=Module["__convert_uint32_swap"]=function(){return Module["asm"]["__convert_uint32_swap"].apply(null,arguments)};var __convert_uint64=Module["__convert_uint64"]=function(){return Module["asm"]["__convert_uint64"].apply(null,arguments)};var __convert_uint64_swap=Module["__convert_uint64_swap"]=function(){return Module["asm"]["__convert_uint64_swap"].apply(null,arguments)};var __convert_uint8=Module["__convert_uint8"]=function(){return Module["asm"]["__convert_uint8"].apply(null,arguments)};var __copy_characters=Module["__copy_characters"]=function(){return Module["asm"]["__copy_characters"].apply(null,arguments)};var __count_elements=Module["__count_elements"]=function(){return Module["asm"]["__count_elements"].apply(null,arguments)};var __crypt_extended_r_uut=Module["__crypt_extended_r_uut"]=function(){return Module["asm"]["__crypt_extended_r_uut"].apply(null,arguments)};var __csv_clear=Module["__csv_clear"]=function(){return Module["asm"]["__csv_clear"].apply(null,arguments)};var __csv_free=Module["__csv_free"]=function(){return Module["asm"]["__csv_free"].apply(null,arguments)};var __csv_traverse=Module["__csv_traverse"]=function(){return Module["asm"]["__csv_traverse"].apply(null,arguments)};var __dec_settriple=Module["__dec_settriple"]=function(){return Module["asm"]["__dec_settriple"].apply(null,arguments)};var __deque_rotate=Module["__deque_rotate"]=function(){return Module["asm"]["__deque_rotate"].apply(null,arguments)};var __destroy=Module["__destroy"]=function(){return Module["asm"]["__destroy"].apply(null,arguments)};var __emscripten_atomic_fetch_and_add_u64=Module["__emscripten_atomic_fetch_and_add_u64"]=function(){return Module["asm"]["__emscripten_atomic_fetch_and_add_u64"].apply(null,arguments)};var __emscripten_atomic_fetch_and_and_u64=Module["__emscripten_atomic_fetch_and_and_u64"]=function(){return Module["asm"]["__emscripten_atomic_fetch_and_and_u64"].apply(null,arguments)};var __emscripten_atomic_fetch_and_or_u64=Module["__emscripten_atomic_fetch_and_or_u64"]=function(){return Module["asm"]["__emscripten_atomic_fetch_and_or_u64"].apply(null,arguments)};var __emscripten_atomic_fetch_and_sub_u64=Module["__emscripten_atomic_fetch_and_sub_u64"]=function(){return Module["asm"]["__emscripten_atomic_fetch_and_sub_u64"].apply(null,arguments)};var __emscripten_atomic_fetch_and_xor_u64=Module["__emscripten_atomic_fetch_and_xor_u64"]=function(){return Module["asm"]["__emscripten_atomic_fetch_and_xor_u64"].apply(null,arguments)};var __encoded_const=Module["__encoded_const"]=function(){return Module["asm"]["__encoded_const"].apply(null,arguments)};var __enter_buffered_busy=Module["__enter_buffered_busy"]=function(){return Module["asm"]["__enter_buffered_busy"].apply(null,arguments)};var __fd_converter=Module["__fd_converter"]=function(){return Module["asm"]["__fd_converter"].apply(null,arguments)};var __findImports=Module["__findImports"]=function(){return Module["asm"]["__findImports"].apply(null,arguments)};var __flushlbf=Module["__flushlbf"]=function(){return Module["asm"]["__flushlbf"].apply(null,arguments)};var __gen_throw=Module["__gen_throw"]=function(){return Module["asm"]["__gen_throw"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["__get_daylight"].apply(null,arguments)};var __get_environ=Module["__get_environ"]=function(){return Module["asm"]["__get_environ"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["__get_timezone"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["__get_tzname"].apply(null,arguments)};var __getbytevalue=Module["__getbytevalue"]=function(){return Module["asm"]["__getbytevalue"].apply(null,arguments)};var __getcode=Module["__getcode"]=function(){return Module["asm"]["__getcode"].apply(null,arguments)};var __getucname=Module["__getucname"]=function(){return Module["asm"]["__getucname"].apply(null,arguments)};var __grouper_dealloc=Module["__grouper_dealloc"]=function(){return Module["asm"]["__grouper_dealloc"].apply(null,arguments)};var __grouper_new=Module["__grouper_new"]=function(){return Module["asm"]["__grouper_new"].apply(null,arguments)};var __grouper_next=Module["__grouper_next"]=function(){return Module["asm"]["__grouper_next"].apply(null,arguments)};var __grouper_reduce=Module["__grouper_reduce"]=function(){return Module["asm"]["__grouper_reduce"].apply(null,arguments)};var __grouper_traverse=Module["__grouper_traverse"]=function(){return Module["asm"]["__grouper_traverse"].apply(null,arguments)};var __imp__fix_co_filename=Module["__imp__fix_co_filename"]=function(){return Module["asm"]["__imp__fix_co_filename"].apply(null,arguments)};var __imp_acquire_lock=Module["__imp_acquire_lock"]=function(){return Module["asm"]["__imp_acquire_lock"].apply(null,arguments)};var __imp_create_builtin=Module["__imp_create_builtin"]=function(){return Module["asm"]["__imp_create_builtin"].apply(null,arguments)};var __imp_create_dynamic=Module["__imp_create_dynamic"]=function(){return Module["asm"]["__imp_create_dynamic"].apply(null,arguments)};var __imp_exec_builtin=Module["__imp_exec_builtin"]=function(){return Module["asm"]["__imp_exec_builtin"].apply(null,arguments)};var __imp_exec_dynamic=Module["__imp_exec_dynamic"]=function(){return Module["asm"]["__imp_exec_dynamic"].apply(null,arguments)};var __imp_extension_suffixes=Module["__imp_extension_suffixes"]=function(){return Module["asm"]["__imp_extension_suffixes"].apply(null,arguments)};var __imp_get_frozen_object=Module["__imp_get_frozen_object"]=function(){return Module["asm"]["__imp_get_frozen_object"].apply(null,arguments)};var __imp_init_frozen=Module["__imp_init_frozen"]=function(){return Module["asm"]["__imp_init_frozen"].apply(null,arguments)};var __imp_is_builtin=Module["__imp_is_builtin"]=function(){return Module["asm"]["__imp_is_builtin"].apply(null,arguments)};var __imp_is_frozen=Module["__imp_is_frozen"]=function(){return Module["asm"]["__imp_is_frozen"].apply(null,arguments)};var __imp_is_frozen_package=Module["__imp_is_frozen_package"]=function(){return Module["asm"]["__imp_is_frozen_package"].apply(null,arguments)};var __imp_lock_held=Module["__imp_lock_held"]=function(){return Module["asm"]["__imp_lock_held"].apply(null,arguments)};var __imp_release_lock=Module["__imp_release_lock"]=function(){return Module["asm"]["__imp_release_lock"].apply(null,arguments)};var __imp_source_hash=Module["__imp_source_hash"]=function(){return Module["asm"]["__imp_source_hash"].apply(null,arguments)};var __io_BufferedRWPair___init__=Module["__io_BufferedRWPair___init__"]=function(){return Module["asm"]["__io_BufferedRWPair___init__"].apply(null,arguments)};var __io_BufferedRandom___init__=Module["__io_BufferedRandom___init__"]=function(){return Module["asm"]["__io_BufferedRandom___init__"].apply(null,arguments)};var __io_BufferedReader___init__=Module["__io_BufferedReader___init__"]=function(){return Module["asm"]["__io_BufferedReader___init__"].apply(null,arguments)};var __io_BufferedWriter___init__=Module["__io_BufferedWriter___init__"]=function(){return Module["asm"]["__io_BufferedWriter___init__"].apply(null,arguments)};var __io_BufferedWriter_write=Module["__io_BufferedWriter_write"]=function(){return Module["asm"]["__io_BufferedWriter_write"].apply(null,arguments)};var __io_BytesIO___init__=Module["__io_BytesIO___init__"]=function(){return Module["asm"]["__io_BytesIO___init__"].apply(null,arguments)};var __io_BytesIO_close=Module["__io_BytesIO_close"]=function(){return Module["asm"]["__io_BytesIO_close"].apply(null,arguments)};var __io_BytesIO_flush=Module["__io_BytesIO_flush"]=function(){return Module["asm"]["__io_BytesIO_flush"].apply(null,arguments)};var __io_BytesIO_getbuffer=Module["__io_BytesIO_getbuffer"]=function(){return Module["asm"]["__io_BytesIO_getbuffer"].apply(null,arguments)};var __io_BytesIO_getvalue=Module["__io_BytesIO_getvalue"]=function(){return Module["asm"]["__io_BytesIO_getvalue"].apply(null,arguments)};var __io_BytesIO_getvalue_impl=Module["__io_BytesIO_getvalue_impl"]=function(){return Module["asm"]["__io_BytesIO_getvalue_impl"].apply(null,arguments)};var __io_BytesIO_isatty=Module["__io_BytesIO_isatty"]=function(){return Module["asm"]["__io_BytesIO_isatty"].apply(null,arguments)};var __io_BytesIO_read=Module["__io_BytesIO_read"]=function(){return Module["asm"]["__io_BytesIO_read"].apply(null,arguments)};var __io_BytesIO_read1=Module["__io_BytesIO_read1"]=function(){return Module["asm"]["__io_BytesIO_read1"].apply(null,arguments)};var __io_BytesIO_readable=Module["__io_BytesIO_readable"]=function(){return Module["asm"]["__io_BytesIO_readable"].apply(null,arguments)};var __io_BytesIO_readinto=Module["__io_BytesIO_readinto"]=function(){return Module["asm"]["__io_BytesIO_readinto"].apply(null,arguments)};var __io_BytesIO_readline=Module["__io_BytesIO_readline"]=function(){return Module["asm"]["__io_BytesIO_readline"].apply(null,arguments)};var __io_BytesIO_readlines=Module["__io_BytesIO_readlines"]=function(){return Module["asm"]["__io_BytesIO_readlines"].apply(null,arguments)};var __io_BytesIO_seek=Module["__io_BytesIO_seek"]=function(){return Module["asm"]["__io_BytesIO_seek"].apply(null,arguments)};var __io_BytesIO_seekable=Module["__io_BytesIO_seekable"]=function(){return Module["asm"]["__io_BytesIO_seekable"].apply(null,arguments)};var __io_BytesIO_tell=Module["__io_BytesIO_tell"]=function(){return Module["asm"]["__io_BytesIO_tell"].apply(null,arguments)};var __io_BytesIO_truncate=Module["__io_BytesIO_truncate"]=function(){return Module["asm"]["__io_BytesIO_truncate"].apply(null,arguments)};var __io_BytesIO_writable=Module["__io_BytesIO_writable"]=function(){return Module["asm"]["__io_BytesIO_writable"].apply(null,arguments)};var __io_BytesIO_write=Module["__io_BytesIO_write"]=function(){return Module["asm"]["__io_BytesIO_write"].apply(null,arguments)};var __io_BytesIO_writelines=Module["__io_BytesIO_writelines"]=function(){return Module["asm"]["__io_BytesIO_writelines"].apply(null,arguments)};var __io_FileIO___init__=Module["__io_FileIO___init__"]=function(){return Module["asm"]["__io_FileIO___init__"].apply(null,arguments)};var __io_FileIO_close=Module["__io_FileIO_close"]=function(){return Module["asm"]["__io_FileIO_close"].apply(null,arguments)};var __io_FileIO_fileno=Module["__io_FileIO_fileno"]=function(){return Module["asm"]["__io_FileIO_fileno"].apply(null,arguments)};var __io_FileIO_isatty=Module["__io_FileIO_isatty"]=function(){return Module["asm"]["__io_FileIO_isatty"].apply(null,arguments)};var __io_FileIO_read=Module["__io_FileIO_read"]=function(){return Module["asm"]["__io_FileIO_read"].apply(null,arguments)};var __io_FileIO_readable=Module["__io_FileIO_readable"]=function(){return Module["asm"]["__io_FileIO_readable"].apply(null,arguments)};var __io_FileIO_readall=Module["__io_FileIO_readall"]=function(){return Module["asm"]["__io_FileIO_readall"].apply(null,arguments)};var __io_FileIO_readall_impl=Module["__io_FileIO_readall_impl"]=function(){return Module["asm"]["__io_FileIO_readall_impl"].apply(null,arguments)};var __io_FileIO_readinto=Module["__io_FileIO_readinto"]=function(){return Module["asm"]["__io_FileIO_readinto"].apply(null,arguments)};var __io_FileIO_seek=Module["__io_FileIO_seek"]=function(){return Module["asm"]["__io_FileIO_seek"].apply(null,arguments)};var __io_FileIO_seekable=Module["__io_FileIO_seekable"]=function(){return Module["asm"]["__io_FileIO_seekable"].apply(null,arguments)};var __io_FileIO_tell=Module["__io_FileIO_tell"]=function(){return Module["asm"]["__io_FileIO_tell"].apply(null,arguments)};var __io_FileIO_truncate=Module["__io_FileIO_truncate"]=function(){return Module["asm"]["__io_FileIO_truncate"].apply(null,arguments)};var __io_FileIO_writable=Module["__io_FileIO_writable"]=function(){return Module["asm"]["__io_FileIO_writable"].apply(null,arguments)};var __io_FileIO_write=Module["__io_FileIO_write"]=function(){return Module["asm"]["__io_FileIO_write"].apply(null,arguments)};var __io_IncrementalNewlineDecoder___init__=Module["__io_IncrementalNewlineDecoder___init__"]=function(){return Module["asm"]["__io_IncrementalNewlineDecoder___init__"].apply(null,arguments)};var __io_IncrementalNewlineDecoder_decode=Module["__io_IncrementalNewlineDecoder_decode"]=function(){return Module["asm"]["__io_IncrementalNewlineDecoder_decode"].apply(null,arguments)};var __io_IncrementalNewlineDecoder_getstate=Module["__io_IncrementalNewlineDecoder_getstate"]=function(){return Module["asm"]["__io_IncrementalNewlineDecoder_getstate"].apply(null,arguments)};var __io_IncrementalNewlineDecoder_reset=Module["__io_IncrementalNewlineDecoder_reset"]=function(){return Module["asm"]["__io_IncrementalNewlineDecoder_reset"].apply(null,arguments)};var __io_IncrementalNewlineDecoder_setstate=Module["__io_IncrementalNewlineDecoder_setstate"]=function(){return Module["asm"]["__io_IncrementalNewlineDecoder_setstate"].apply(null,arguments)};var __io_StringIO___init__=Module["__io_StringIO___init__"]=function(){return Module["asm"]["__io_StringIO___init__"].apply(null,arguments)};var __io_StringIO_close=Module["__io_StringIO_close"]=function(){return Module["asm"]["__io_StringIO_close"].apply(null,arguments)};var __io_StringIO_getvalue=Module["__io_StringIO_getvalue"]=function(){return Module["asm"]["__io_StringIO_getvalue"].apply(null,arguments)};var __io_StringIO_read=Module["__io_StringIO_read"]=function(){return Module["asm"]["__io_StringIO_read"].apply(null,arguments)};var __io_StringIO_readable=Module["__io_StringIO_readable"]=function(){return Module["asm"]["__io_StringIO_readable"].apply(null,arguments)};var __io_StringIO_readline=Module["__io_StringIO_readline"]=function(){return Module["asm"]["__io_StringIO_readline"].apply(null,arguments)};var __io_StringIO_seek=Module["__io_StringIO_seek"]=function(){return Module["asm"]["__io_StringIO_seek"].apply(null,arguments)};var __io_StringIO_seekable=Module["__io_StringIO_seekable"]=function(){return Module["asm"]["__io_StringIO_seekable"].apply(null,arguments)};var __io_StringIO_tell=Module["__io_StringIO_tell"]=function(){return Module["asm"]["__io_StringIO_tell"].apply(null,arguments)};var __io_StringIO_truncate=Module["__io_StringIO_truncate"]=function(){return Module["asm"]["__io_StringIO_truncate"].apply(null,arguments)};var __io_StringIO_writable=Module["__io_StringIO_writable"]=function(){return Module["asm"]["__io_StringIO_writable"].apply(null,arguments)};var __io_StringIO_write=Module["__io_StringIO_write"]=function(){return Module["asm"]["__io_StringIO_write"].apply(null,arguments)};var __io_TextIOWrapper___init__=Module["__io_TextIOWrapper___init__"]=function(){return Module["asm"]["__io_TextIOWrapper___init__"].apply(null,arguments)};var __io_TextIOWrapper_close=Module["__io_TextIOWrapper_close"]=function(){return Module["asm"]["__io_TextIOWrapper_close"].apply(null,arguments)};var __io_TextIOWrapper_detach=Module["__io_TextIOWrapper_detach"]=function(){return Module["asm"]["__io_TextIOWrapper_detach"].apply(null,arguments)};var __io_TextIOWrapper_fileno=Module["__io_TextIOWrapper_fileno"]=function(){return Module["asm"]["__io_TextIOWrapper_fileno"].apply(null,arguments)};var __io_TextIOWrapper_flush=Module["__io_TextIOWrapper_flush"]=function(){return Module["asm"]["__io_TextIOWrapper_flush"].apply(null,arguments)};var __io_TextIOWrapper_isatty=Module["__io_TextIOWrapper_isatty"]=function(){return Module["asm"]["__io_TextIOWrapper_isatty"].apply(null,arguments)};var __io_TextIOWrapper_read=Module["__io_TextIOWrapper_read"]=function(){return Module["asm"]["__io_TextIOWrapper_read"].apply(null,arguments)};var __io_TextIOWrapper_readable=Module["__io_TextIOWrapper_readable"]=function(){return Module["asm"]["__io_TextIOWrapper_readable"].apply(null,arguments)};var __io_TextIOWrapper_readline=Module["__io_TextIOWrapper_readline"]=function(){return Module["asm"]["__io_TextIOWrapper_readline"].apply(null,arguments)};var __io_TextIOWrapper_reconfigure=Module["__io_TextIOWrapper_reconfigure"]=function(){return Module["asm"]["__io_TextIOWrapper_reconfigure"].apply(null,arguments)};var __io_TextIOWrapper_seek=Module["__io_TextIOWrapper_seek"]=function(){return Module["asm"]["__io_TextIOWrapper_seek"].apply(null,arguments)};var __io_TextIOWrapper_seekable=Module["__io_TextIOWrapper_seekable"]=function(){return Module["asm"]["__io_TextIOWrapper_seekable"].apply(null,arguments)};var __io_TextIOWrapper_tell=Module["__io_TextIOWrapper_tell"]=function(){return Module["asm"]["__io_TextIOWrapper_tell"].apply(null,arguments)};var __io_TextIOWrapper_truncate=Module["__io_TextIOWrapper_truncate"]=function(){return Module["asm"]["__io_TextIOWrapper_truncate"].apply(null,arguments)};var __io_TextIOWrapper_writable=Module["__io_TextIOWrapper_writable"]=function(){return Module["asm"]["__io_TextIOWrapper_writable"].apply(null,arguments)};var __io_TextIOWrapper_write=Module["__io_TextIOWrapper_write"]=function(){return Module["asm"]["__io_TextIOWrapper_write"].apply(null,arguments)};var __io__BufferedIOBase_detach=Module["__io__BufferedIOBase_detach"]=function(){return Module["asm"]["__io__BufferedIOBase_detach"].apply(null,arguments)};var __io__BufferedIOBase_readinto=Module["__io__BufferedIOBase_readinto"]=function(){return Module["asm"]["__io__BufferedIOBase_readinto"].apply(null,arguments)};var __io__BufferedIOBase_readinto1=Module["__io__BufferedIOBase_readinto1"]=function(){return Module["asm"]["__io__BufferedIOBase_readinto1"].apply(null,arguments)};var __io__Buffered_peek=Module["__io__Buffered_peek"]=function(){return Module["asm"]["__io__Buffered_peek"].apply(null,arguments)};var __io__Buffered_read=Module["__io__Buffered_read"]=function(){return Module["asm"]["__io__Buffered_read"].apply(null,arguments)};var __io__Buffered_read1=Module["__io__Buffered_read1"]=function(){return Module["asm"]["__io__Buffered_read1"].apply(null,arguments)};var __io__Buffered_readinto=Module["__io__Buffered_readinto"]=function(){return Module["asm"]["__io__Buffered_readinto"].apply(null,arguments)};var __io__Buffered_readinto1=Module["__io__Buffered_readinto1"]=function(){return Module["asm"]["__io__Buffered_readinto1"].apply(null,arguments)};var __io__Buffered_readline=Module["__io__Buffered_readline"]=function(){return Module["asm"]["__io__Buffered_readline"].apply(null,arguments)};var __io__Buffered_seek=Module["__io__Buffered_seek"]=function(){return Module["asm"]["__io__Buffered_seek"].apply(null,arguments)};var __io__Buffered_truncate=Module["__io__Buffered_truncate"]=function(){return Module["asm"]["__io__Buffered_truncate"].apply(null,arguments)};var __io__IOBase_close=Module["__io__IOBase_close"]=function(){return Module["asm"]["__io__IOBase_close"].apply(null,arguments)};var __io__IOBase_fileno=Module["__io__IOBase_fileno"]=function(){return Module["asm"]["__io__IOBase_fileno"].apply(null,arguments)};var __io__IOBase_flush=Module["__io__IOBase_flush"]=function(){return Module["asm"]["__io__IOBase_flush"].apply(null,arguments)};var __io__IOBase_isatty=Module["__io__IOBase_isatty"]=function(){return Module["asm"]["__io__IOBase_isatty"].apply(null,arguments)};var __io__IOBase_readable=Module["__io__IOBase_readable"]=function(){return Module["asm"]["__io__IOBase_readable"].apply(null,arguments)};var __io__IOBase_readline=Module["__io__IOBase_readline"]=function(){return Module["asm"]["__io__IOBase_readline"].apply(null,arguments)};var __io__IOBase_readlines=Module["__io__IOBase_readlines"]=function(){return Module["asm"]["__io__IOBase_readlines"].apply(null,arguments)};var __io__IOBase_seekable=Module["__io__IOBase_seekable"]=function(){return Module["asm"]["__io__IOBase_seekable"].apply(null,arguments)};var __io__IOBase_tell=Module["__io__IOBase_tell"]=function(){return Module["asm"]["__io__IOBase_tell"].apply(null,arguments)};var __io__IOBase_writable=Module["__io__IOBase_writable"]=function(){return Module["asm"]["__io__IOBase_writable"].apply(null,arguments)};var __io__IOBase_writelines=Module["__io__IOBase_writelines"]=function(){return Module["asm"]["__io__IOBase_writelines"].apply(null,arguments)};var __io__RawIOBase_read=Module["__io__RawIOBase_read"]=function(){return Module["asm"]["__io__RawIOBase_read"].apply(null,arguments)};var __io__RawIOBase_readall=Module["__io__RawIOBase_readall"]=function(){return Module["asm"]["__io__RawIOBase_readall"].apply(null,arguments)};var __io_open=Module["__io_open"]=function(){return Module["asm"]["__io_open"].apply(null,arguments)};var __iup_worker_interpolate=Module["__iup_worker_interpolate"]=function(){return Module["asm"]["__iup_worker_interpolate"].apply(null,arguments)};var __js2python_allocate_string=Module["__js2python_allocate_string"]=function(){return Module["asm"]["__js2python_allocate_string"].apply(null,arguments)};var __js2python_false=Module["__js2python_false"]=function(){return Module["asm"]["__js2python_false"].apply(null,arguments)};var __js2python_get_ptr=Module["__js2python_get_ptr"]=function(){return Module["asm"]["__js2python_get_ptr"].apply(null,arguments)};var __js2python_jsproxy=Module["__js2python_jsproxy"]=function(){return Module["asm"]["__js2python_jsproxy"].apply(null,arguments)};var __js2python_memoryview=Module["__js2python_memoryview"]=function(){return Module["asm"]["__js2python_memoryview"].apply(null,arguments)};var __js2python_none=Module["__js2python_none"]=function(){return Module["asm"]["__js2python_none"].apply(null,arguments)};var __js2python_number=Module["__js2python_number"]=function(){return Module["asm"]["__js2python_number"].apply(null,arguments)};var __js2python_pyproxy=Module["__js2python_pyproxy"]=function(){return Module["asm"]["__js2python_pyproxy"].apply(null,arguments)};var __js2python_true=Module["__js2python_true"]=function(){return Module["asm"]["__js2python_true"].apply(null,arguments)};var __karatsuba_rec=Module["__karatsuba_rec"]=function(){return Module["asm"]["__karatsuba_rec"].apply(null,arguments)};var __karatsuba_rec_fnt=Module["__karatsuba_rec_fnt"]=function(){return Module["asm"]["__karatsuba_rec_fnt"].apply(null,arguments)};var __kmul_worksize=Module["__kmul_worksize"]=function(){return Module["asm"]["__kmul_worksize"].apply(null,arguments)};var __ldict=Module["__ldict"]=function(){return Module["asm"]["__ldict"].apply(null,arguments)};var __list_clear=Module["__list_clear"]=function(){return Module["asm"]["__list_clear"].apply(null,arguments)};var __local_create_dummy=Module["__local_create_dummy"]=function(){return Module["asm"]["__local_create_dummy"].apply(null,arguments)};var __localdummy_destroyed=Module["__localdummy_destroyed"]=function(){return Module["asm"]["__localdummy_destroyed"].apply(null,arguments)};var __md5_md5=Module["__md5_md5"]=function(){return Module["asm"]["__md5_md5"].apply(null,arguments)};var __memory_release=Module["__memory_release"]=function(){return Module["asm"]["__memory_release"].apply(null,arguments)};var __mpd_add_sep_dot=Module["__mpd_add_sep_dot"]=function(){return Module["asm"]["__mpd_add_sep_dot"].apply(null,arguments)};var __mpd_base_ndivmod=Module["__mpd_base_ndivmod"]=function(){return Module["asm"]["__mpd_base_ndivmod"].apply(null,arguments)};var __mpd_baseadd=Module["__mpd_baseadd"]=function(){return Module["asm"]["__mpd_baseadd"].apply(null,arguments)};var __mpd_baseaddto=Module["__mpd_baseaddto"]=function(){return Module["asm"]["__mpd_baseaddto"].apply(null,arguments)};var __mpd_basecmp=Module["__mpd_basecmp"]=function(){return Module["asm"]["__mpd_basecmp"].apply(null,arguments)};var __mpd_basedivmod=Module["__mpd_basedivmod"]=function(){return Module["asm"]["__mpd_basedivmod"].apply(null,arguments)};var __mpd_baseincr=Module["__mpd_baseincr"]=function(){return Module["asm"]["__mpd_baseincr"].apply(null,arguments)};var __mpd_basemul=Module["__mpd_basemul"]=function(){return Module["asm"]["__mpd_basemul"].apply(null,arguments)};var __mpd_baseshiftl=Module["__mpd_baseshiftl"]=function(){return Module["asm"]["__mpd_baseshiftl"].apply(null,arguments)};var __mpd_baseshiftr=Module["__mpd_baseshiftr"]=function(){return Module["asm"]["__mpd_baseshiftr"].apply(null,arguments)};var __mpd_basesub=Module["__mpd_basesub"]=function(){return Module["asm"]["__mpd_basesub"].apply(null,arguments)};var __mpd_basesubfrom=Module["__mpd_basesubfrom"]=function(){return Module["asm"]["__mpd_basesubfrom"].apply(null,arguments)};var __mpd_cap=Module["__mpd_cap"]=function(){return Module["asm"]["__mpd_cap"].apply(null,arguments)};var __mpd_check_exp=Module["__mpd_check_exp"]=function(){return Module["asm"]["__mpd_check_exp"].apply(null,arguments)};var __mpd_cmp=Module["__mpd_cmp"]=function(){return Module["asm"]["__mpd_cmp"].apply(null,arguments)};var __mpd_cmp_abs=Module["__mpd_cmp_abs"]=function(){return Module["asm"]["__mpd_cmp_abs"].apply(null,arguments)};var __mpd_fix_nan=Module["__mpd_fix_nan"]=function(){return Module["asm"]["__mpd_fix_nan"].apply(null,arguments)};var __mpd_fntmul=Module["__mpd_fntmul"]=function(){return Module["asm"]["__mpd_fntmul"].apply(null,arguments)};var __mpd_get_rnd=Module["__mpd_get_rnd"]=function(){return Module["asm"]["__mpd_get_rnd"].apply(null,arguments)};var __mpd_getkernel=Module["__mpd_getkernel"]=function(){return Module["asm"]["__mpd_getkernel"].apply(null,arguments)};var __mpd_init_fnt_params=Module["__mpd_init_fnt_params"]=function(){return Module["asm"]["__mpd_init_fnt_params"].apply(null,arguments)};var __mpd_init_w3table=Module["__mpd_init_w3table"]=function(){return Module["asm"]["__mpd_init_w3table"].apply(null,arguments)};var __mpd_qaddsub=Module["__mpd_qaddsub"]=function(){return Module["asm"]["__mpd_qaddsub"].apply(null,arguments)};var __mpd_qdiv=Module["__mpd_qdiv"]=function(){return Module["asm"]["__mpd_qdiv"].apply(null,arguments)};var __mpd_qdivmod=Module["__mpd_qdivmod"]=function(){return Module["asm"]["__mpd_qdivmod"].apply(null,arguments)};var __mpd_qexp=Module["__mpd_qexp"]=function(){return Module["asm"]["__mpd_qexp"].apply(null,arguments)};var __mpd_qget_uint=Module["__mpd_qget_uint"]=function(){return Module["asm"]["__mpd_qget_uint"].apply(null,arguments)};var __mpd_qln=Module["__mpd_qln"]=function(){return Module["asm"]["__mpd_qln"].apply(null,arguments)};var __mpd_qlog10=Module["__mpd_qlog10"]=function(){return Module["asm"]["__mpd_qlog10"].apply(null,arguments)};var __mpd_qmul=Module["__mpd_qmul"]=function(){return Module["asm"]["__mpd_qmul"].apply(null,arguments)};var __mpd_qpow_uint=Module["__mpd_qpow_uint"]=function(){return Module["asm"]["__mpd_qpow_uint"].apply(null,arguments)};var __mpd_qrescale=Module["__mpd_qrescale"]=function(){return Module["asm"]["__mpd_qrescale"].apply(null,arguments)};var __mpd_qround_to_integral=Module["__mpd_qround_to_integral"]=function(){return Module["asm"]["__mpd_qround_to_integral"].apply(null,arguments)};var __mpd_shortadd=Module["__mpd_shortadd"]=function(){return Module["asm"]["__mpd_shortadd"].apply(null,arguments)};var __mpd_shortadd_b=Module["__mpd_shortadd_b"]=function(){return Module["asm"]["__mpd_shortadd_b"].apply(null,arguments)};var __mpd_shortdiv=Module["__mpd_shortdiv"]=function(){return Module["asm"]["__mpd_shortdiv"].apply(null,arguments)};var __mpd_shortdiv_b=Module["__mpd_shortdiv_b"]=function(){return Module["asm"]["__mpd_shortdiv_b"].apply(null,arguments)};var __mpd_shortmul=Module["__mpd_shortmul"]=function(){return Module["asm"]["__mpd_shortmul"].apply(null,arguments)};var __mpd_shortmul_b=Module["__mpd_shortmul_b"]=function(){return Module["asm"]["__mpd_shortmul_b"].apply(null,arguments)};var __mpd_shortmul_c=Module["__mpd_shortmul_c"]=function(){return Module["asm"]["__mpd_shortmul_c"].apply(null,arguments)};var __mpd_to_string=Module["__mpd_to_string"]=function(){return Module["asm"]["__mpd_to_string"].apply(null,arguments)};var __multibytecodec_MultibyteCodec_decode=Module["__multibytecodec_MultibyteCodec_decode"]=function(){return Module["asm"]["__multibytecodec_MultibyteCodec_decode"].apply(null,arguments)};var __multibytecodec_MultibyteCodec_encode=Module["__multibytecodec_MultibyteCodec_encode"]=function(){return Module["asm"]["__multibytecodec_MultibyteCodec_encode"].apply(null,arguments)};var __multibytecodec_MultibyteIncrementalDecoder_decode=Module["__multibytecodec_MultibyteIncrementalDecoder_decode"]=function(){return Module["asm"]["__multibytecodec_MultibyteIncrementalDecoder_decode"].apply(null,arguments)};var __multibytecodec_MultibyteIncrementalDecoder_reset=Module["__multibytecodec_MultibyteIncrementalDecoder_reset"]=function(){return Module["asm"]["__multibytecodec_MultibyteIncrementalDecoder_reset"].apply(null,arguments)};var __multibytecodec_MultibyteIncrementalEncoder_encode=Module["__multibytecodec_MultibyteIncrementalEncoder_encode"]=function(){return Module["asm"]["__multibytecodec_MultibyteIncrementalEncoder_encode"].apply(null,arguments)};var __multibytecodec_MultibyteIncrementalEncoder_reset=Module["__multibytecodec_MultibyteIncrementalEncoder_reset"]=function(){return Module["asm"]["__multibytecodec_MultibyteIncrementalEncoder_reset"].apply(null,arguments)};var __multibytecodec_MultibyteStreamReader_read=Module["__multibytecodec_MultibyteStreamReader_read"]=function(){return Module["asm"]["__multibytecodec_MultibyteStreamReader_read"].apply(null,arguments)};var __multibytecodec_MultibyteStreamReader_readline=Module["__multibytecodec_MultibyteStreamReader_readline"]=function(){return Module["asm"]["__multibytecodec_MultibyteStreamReader_readline"].apply(null,arguments)};var __multibytecodec_MultibyteStreamReader_readlines=Module["__multibytecodec_MultibyteStreamReader_readlines"]=function(){return Module["asm"]["__multibytecodec_MultibyteStreamReader_readlines"].apply(null,arguments)};var __multibytecodec_MultibyteStreamReader_reset=Module["__multibytecodec_MultibyteStreamReader_reset"]=function(){return Module["asm"]["__multibytecodec_MultibyteStreamReader_reset"].apply(null,arguments)};var __multibytecodec_MultibyteStreamWriter_reset=Module["__multibytecodec_MultibyteStreamWriter_reset"]=function(){return Module["asm"]["__multibytecodec_MultibyteStreamWriter_reset"].apply(null,arguments)};var __multibytecodec_MultibyteStreamWriter_write=Module["__multibytecodec_MultibyteStreamWriter_write"]=function(){return Module["asm"]["__multibytecodec_MultibyteStreamWriter_write"].apply(null,arguments)};var __multibytecodec_MultibyteStreamWriter_writelines=Module["__multibytecodec_MultibyteStreamWriter_writelines"]=function(){return Module["asm"]["__multibytecodec_MultibyteStreamWriter_writelines"].apply(null,arguments)};var __multibytecodec___create_codec=Module["__multibytecodec___create_codec"]=function(){return Module["asm"]["__multibytecodec___create_codec"].apply(null,arguments)};var __odict_popkey_hash=Module["__odict_popkey_hash"]=function(){return Module["asm"]["__odict_popkey_hash"].apply(null,arguments)};var __odict_resize=Module["__odict_resize"]=function(){return Module["asm"]["__odict_resize"].apply(null,arguments)};var __operator__compare_digest=Module["__operator__compare_digest"]=function(){return Module["asm"]["__operator__compare_digest"].apply(null,arguments)};var __operator_abs=Module["__operator_abs"]=function(){return Module["asm"]["__operator_abs"].apply(null,arguments)};var __operator_add=Module["__operator_add"]=function(){return Module["asm"]["__operator_add"].apply(null,arguments)};var __operator_and_=Module["__operator_and_"]=function(){return Module["asm"]["__operator_and_"].apply(null,arguments)};var __operator_concat=Module["__operator_concat"]=function(){return Module["asm"]["__operator_concat"].apply(null,arguments)};var __operator_contains=Module["__operator_contains"]=function(){return Module["asm"]["__operator_contains"].apply(null,arguments)};var __operator_countOf=Module["__operator_countOf"]=function(){return Module["asm"]["__operator_countOf"].apply(null,arguments)};var __operator_delitem=Module["__operator_delitem"]=function(){return Module["asm"]["__operator_delitem"].apply(null,arguments)};var __operator_eq=Module["__operator_eq"]=function(){return Module["asm"]["__operator_eq"].apply(null,arguments)};var __operator_floordiv=Module["__operator_floordiv"]=function(){return Module["asm"]["__operator_floordiv"].apply(null,arguments)};var __operator_ge=Module["__operator_ge"]=function(){return Module["asm"]["__operator_ge"].apply(null,arguments)};var __operator_getitem=Module["__operator_getitem"]=function(){return Module["asm"]["__operator_getitem"].apply(null,arguments)};var __operator_gt=Module["__operator_gt"]=function(){return Module["asm"]["__operator_gt"].apply(null,arguments)};var __operator_iadd=Module["__operator_iadd"]=function(){return Module["asm"]["__operator_iadd"].apply(null,arguments)};var __operator_iand=Module["__operator_iand"]=function(){return Module["asm"]["__operator_iand"].apply(null,arguments)};var __operator_iconcat=Module["__operator_iconcat"]=function(){return Module["asm"]["__operator_iconcat"].apply(null,arguments)};var __operator_ifloordiv=Module["__operator_ifloordiv"]=function(){return Module["asm"]["__operator_ifloordiv"].apply(null,arguments)};var __operator_ilshift=Module["__operator_ilshift"]=function(){return Module["asm"]["__operator_ilshift"].apply(null,arguments)};var __operator_imatmul=Module["__operator_imatmul"]=function(){return Module["asm"]["__operator_imatmul"].apply(null,arguments)};var __operator_imod=Module["__operator_imod"]=function(){return Module["asm"]["__operator_imod"].apply(null,arguments)};var __operator_imul=Module["__operator_imul"]=function(){return Module["asm"]["__operator_imul"].apply(null,arguments)};var __operator_index=Module["__operator_index"]=function(){return Module["asm"]["__operator_index"].apply(null,arguments)};var __operator_indexOf=Module["__operator_indexOf"]=function(){return Module["asm"]["__operator_indexOf"].apply(null,arguments)};var __operator_inv=Module["__operator_inv"]=function(){return Module["asm"]["__operator_inv"].apply(null,arguments)};var __operator_invert=Module["__operator_invert"]=function(){return Module["asm"]["__operator_invert"].apply(null,arguments)};var __operator_ior=Module["__operator_ior"]=function(){return Module["asm"]["__operator_ior"].apply(null,arguments)};var __operator_ipow=Module["__operator_ipow"]=function(){return Module["asm"]["__operator_ipow"].apply(null,arguments)};var __operator_irshift=Module["__operator_irshift"]=function(){return Module["asm"]["__operator_irshift"].apply(null,arguments)};var __operator_is_=Module["__operator_is_"]=function(){return Module["asm"]["__operator_is_"].apply(null,arguments)};var __operator_is_not=Module["__operator_is_not"]=function(){return Module["asm"]["__operator_is_not"].apply(null,arguments)};var __operator_isub=Module["__operator_isub"]=function(){return Module["asm"]["__operator_isub"].apply(null,arguments)};var __operator_itruediv=Module["__operator_itruediv"]=function(){return Module["asm"]["__operator_itruediv"].apply(null,arguments)};var __operator_ixor=Module["__operator_ixor"]=function(){return Module["asm"]["__operator_ixor"].apply(null,arguments)};var __operator_le=Module["__operator_le"]=function(){return Module["asm"]["__operator_le"].apply(null,arguments)};var __operator_length_hint=Module["__operator_length_hint"]=function(){return Module["asm"]["__operator_length_hint"].apply(null,arguments)};var __operator_lshift=Module["__operator_lshift"]=function(){return Module["asm"]["__operator_lshift"].apply(null,arguments)};var __operator_lt=Module["__operator_lt"]=function(){return Module["asm"]["__operator_lt"].apply(null,arguments)};var __operator_matmul=Module["__operator_matmul"]=function(){return Module["asm"]["__operator_matmul"].apply(null,arguments)};var __operator_mod=Module["__operator_mod"]=function(){return Module["asm"]["__operator_mod"].apply(null,arguments)};var __operator_mul=Module["__operator_mul"]=function(){return Module["asm"]["__operator_mul"].apply(null,arguments)};var __operator_ne=Module["__operator_ne"]=function(){return Module["asm"]["__operator_ne"].apply(null,arguments)};var __operator_neg=Module["__operator_neg"]=function(){return Module["asm"]["__operator_neg"].apply(null,arguments)};var __operator_not_=Module["__operator_not_"]=function(){return Module["asm"]["__operator_not_"].apply(null,arguments)};var __operator_or_=Module["__operator_or_"]=function(){return Module["asm"]["__operator_or_"].apply(null,arguments)};var __operator_pos=Module["__operator_pos"]=function(){return Module["asm"]["__operator_pos"].apply(null,arguments)};var __operator_pow=Module["__operator_pow"]=function(){return Module["asm"]["__operator_pow"].apply(null,arguments)};var __operator_rshift=Module["__operator_rshift"]=function(){return Module["asm"]["__operator_rshift"].apply(null,arguments)};var __operator_setitem=Module["__operator_setitem"]=function(){return Module["asm"]["__operator_setitem"].apply(null,arguments)};var __operator_sub=Module["__operator_sub"]=function(){return Module["asm"]["__operator_sub"].apply(null,arguments)};var __operator_truediv=Module["__operator_truediv"]=function(){return Module["asm"]["__operator_truediv"].apply(null,arguments)};var __operator_truth=Module["__operator_truth"]=function(){return Module["asm"]["__operator_truth"].apply(null,arguments)};var __operator_xor=Module["__operator_xor"]=function(){return Module["asm"]["__operator_xor"].apply(null,arguments)};var __pickle_PicklerMemoProxy___reduce__=Module["__pickle_PicklerMemoProxy___reduce__"]=function(){return Module["asm"]["__pickle_PicklerMemoProxy___reduce__"].apply(null,arguments)};var __pickle_PicklerMemoProxy_clear=Module["__pickle_PicklerMemoProxy_clear"]=function(){return Module["asm"]["__pickle_PicklerMemoProxy_clear"].apply(null,arguments)};var __pickle_PicklerMemoProxy_copy=Module["__pickle_PicklerMemoProxy_copy"]=function(){return Module["asm"]["__pickle_PicklerMemoProxy_copy"].apply(null,arguments)};var __pickle_PicklerMemoProxy_copy_impl=Module["__pickle_PicklerMemoProxy_copy_impl"]=function(){return Module["asm"]["__pickle_PicklerMemoProxy_copy_impl"].apply(null,arguments)};var __pickle_Pickler___init__=Module["__pickle_Pickler___init__"]=function(){return Module["asm"]["__pickle_Pickler___init__"].apply(null,arguments)};var __pickle_Pickler___sizeof__=Module["__pickle_Pickler___sizeof__"]=function(){return Module["asm"]["__pickle_Pickler___sizeof__"].apply(null,arguments)};var __pickle_Pickler_clear_memo=Module["__pickle_Pickler_clear_memo"]=function(){return Module["asm"]["__pickle_Pickler_clear_memo"].apply(null,arguments)};var __pickle_Pickler_dump=Module["__pickle_Pickler_dump"]=function(){return Module["asm"]["__pickle_Pickler_dump"].apply(null,arguments)};var __pickle_UnpicklerMemoProxy___reduce__=Module["__pickle_UnpicklerMemoProxy___reduce__"]=function(){return Module["asm"]["__pickle_UnpicklerMemoProxy___reduce__"].apply(null,arguments)};var __pickle_UnpicklerMemoProxy_clear=Module["__pickle_UnpicklerMemoProxy_clear"]=function(){return Module["asm"]["__pickle_UnpicklerMemoProxy_clear"].apply(null,arguments)};var __pickle_UnpicklerMemoProxy_copy=Module["__pickle_UnpicklerMemoProxy_copy"]=function(){return Module["asm"]["__pickle_UnpicklerMemoProxy_copy"].apply(null,arguments)};var __pickle_UnpicklerMemoProxy_copy_impl=Module["__pickle_UnpicklerMemoProxy_copy_impl"]=function(){return Module["asm"]["__pickle_UnpicklerMemoProxy_copy_impl"].apply(null,arguments)};var __pickle_Unpickler___init__=Module["__pickle_Unpickler___init__"]=function(){return Module["asm"]["__pickle_Unpickler___init__"].apply(null,arguments)};var __pickle_Unpickler___sizeof__=Module["__pickle_Unpickler___sizeof__"]=function(){return Module["asm"]["__pickle_Unpickler___sizeof__"].apply(null,arguments)};var __pickle_Unpickler_find_class=Module["__pickle_Unpickler_find_class"]=function(){return Module["asm"]["__pickle_Unpickler_find_class"].apply(null,arguments)};var __pickle_Unpickler_load=Module["__pickle_Unpickler_load"]=function(){return Module["asm"]["__pickle_Unpickler_load"].apply(null,arguments)};var __pickle_dump=Module["__pickle_dump"]=function(){return Module["asm"]["__pickle_dump"].apply(null,arguments)};var __pickle_dumps=Module["__pickle_dumps"]=function(){return Module["asm"]["__pickle_dumps"].apply(null,arguments)};var __pickle_load=Module["__pickle_load"]=function(){return Module["asm"]["__pickle_load"].apply(null,arguments)};var __pickle_loads=Module["__pickle_loads"]=function(){return Module["asm"]["__pickle_loads"].apply(null,arguments)};var __progress_handler=Module["__progress_handler"]=function(){return Module["asm"]["__progress_handler"].apply(null,arguments)};var __pyimport=Module["__pyimport"]=function(){return Module["asm"]["__pyimport"].apply(null,arguments)};var __pyproxy_apply=Module["__pyproxy_apply"]=function(){return Module["asm"]["__pyproxy_apply"].apply(null,arguments)};var __pyproxy_deleteProperty=Module["__pyproxy_deleteProperty"]=function(){return Module["asm"]["__pyproxy_deleteProperty"].apply(null,arguments)};var __pyproxy_destroy=Module["__pyproxy_destroy"]=function(){return Module["asm"]["__pyproxy_destroy"].apply(null,arguments)};var __pyproxy_enumerate=Module["__pyproxy_enumerate"]=function(){return Module["asm"]["__pyproxy_enumerate"].apply(null,arguments)};var __pyproxy_get=Module["__pyproxy_get"]=function(){return Module["asm"]["__pyproxy_get"].apply(null,arguments)};var __pyproxy_has=Module["__pyproxy_has"]=function(){return Module["asm"]["__pyproxy_has"].apply(null,arguments)};var __pyproxy_ownKeys=Module["__pyproxy_ownKeys"]=function(){return Module["asm"]["__pyproxy_ownKeys"].apply(null,arguments)};var __pyproxy_set=Module["__pyproxy_set"]=function(){return Module["asm"]["__pyproxy_set"].apply(null,arguments)};var __pysqlite_build_column_name=Module["__pysqlite_build_column_name"]=function(){return Module["asm"]["__pysqlite_build_column_name"].apply(null,arguments)};var __pysqlite_build_py_params=Module["__pysqlite_build_py_params"]=function(){return Module["asm"]["__pysqlite_build_py_params"].apply(null,arguments)};var __pysqlite_connection_begin=Module["__pysqlite_connection_begin"]=function(){return Module["asm"]["__pysqlite_connection_begin"].apply(null,arguments)};var __pysqlite_fetch_one_row=Module["__pysqlite_fetch_one_row"]=function(){return Module["asm"]["__pysqlite_fetch_one_row"].apply(null,arguments)};var __pysqlite_final_callback=Module["__pysqlite_final_callback"]=function(){return Module["asm"]["__pysqlite_final_callback"].apply(null,arguments)};var __pysqlite_func_callback=Module["__pysqlite_func_callback"]=function(){return Module["asm"]["__pysqlite_func_callback"].apply(null,arguments)};var __pysqlite_get_converter=Module["__pysqlite_get_converter"]=function(){return Module["asm"]["__pysqlite_get_converter"].apply(null,arguments)};var __pysqlite_long_as_int64=Module["__pysqlite_long_as_int64"]=function(){return Module["asm"]["__pysqlite_long_as_int64"].apply(null,arguments)};var __pysqlite_long_from_int64=Module["__pysqlite_long_from_int64"]=function(){return Module["asm"]["__pysqlite_long_from_int64"].apply(null,arguments)};var __pysqlite_query_execute=Module["__pysqlite_query_execute"]=function(){return Module["asm"]["__pysqlite_query_execute"].apply(null,arguments)};var __pysqlite_set_result=Module["__pysqlite_set_result"]=function(){return Module["asm"]["__pysqlite_set_result"].apply(null,arguments)};var __pysqlite_seterror=Module["__pysqlite_seterror"]=function(){return Module["asm"]["__pysqlite_seterror"].apply(null,arguments)};var __pysqlite_step_callback=Module["__pysqlite_step_callback"]=function(){return Module["asm"]["__pysqlite_step_callback"].apply(null,arguments)};var __pystat_fromstructstat=Module["__pystat_fromstructstat"]=function(){return Module["asm"]["__pystat_fromstructstat"].apply(null,arguments)};var __pystatvfs_fromstructstatvfs=Module["__pystatvfs_fromstructstatvfs"]=function(){return Module["asm"]["__pystatvfs_fromstructstatvfs"].apply(null,arguments)};var __python2js=Module["__python2js"]=function(){return Module["asm"]["__python2js"].apply(null,arguments)};var __python2js_add_to_cache=Module["__python2js_add_to_cache"]=function(){return Module["asm"]["__python2js_add_to_cache"].apply(null,arguments)};var __python2js_buffer=Module["__python2js_buffer"]=function(){return Module["asm"]["__python2js_buffer"].apply(null,arguments)};var __python2js_buffer_recursive=Module["__python2js_buffer_recursive"]=function(){return Module["asm"]["__python2js_buffer_recursive"].apply(null,arguments)};var __python2js_cache=Module["__python2js_cache"]=function(){return Module["asm"]["__python2js_cache"].apply(null,arguments)};var __python2js_remove_from_cache=Module["__python2js_remove_from_cache"]=function(){return Module["asm"]["__python2js_remove_from_cache"].apply(null,arguments)};var __python2js_sequence=Module["__python2js_sequence"]=function(){return Module["asm"]["__python2js_sequence"].apply(null,arguments)};var __python2js_shareable_buffer_recursive=Module["__python2js_shareable_buffer_recursive"]=function(){return Module["asm"]["__python2js_shareable_buffer_recursive"].apply(null,arguments)};var __python2js_unicode=Module["__python2js_unicode"]=function(){return Module["asm"]["__python2js_unicode"].apply(null,arguments)};var __queue_SimpleQueue_empty=Module["__queue_SimpleQueue_empty"]=function(){return Module["asm"]["__queue_SimpleQueue_empty"].apply(null,arguments)};var __queue_SimpleQueue_get=Module["__queue_SimpleQueue_get"]=function(){return Module["asm"]["__queue_SimpleQueue_get"].apply(null,arguments)};var __queue_SimpleQueue_get_impl=Module["__queue_SimpleQueue_get_impl"]=function(){return Module["asm"]["__queue_SimpleQueue_get_impl"].apply(null,arguments)};var __queue_SimpleQueue_get_nowait=Module["__queue_SimpleQueue_get_nowait"]=function(){return Module["asm"]["__queue_SimpleQueue_get_nowait"].apply(null,arguments)};var __queue_SimpleQueue_put=Module["__queue_SimpleQueue_put"]=function(){return Module["asm"]["__queue_SimpleQueue_put"].apply(null,arguments)};var __queue_SimpleQueue_put_nowait=Module["__queue_SimpleQueue_put_nowait"]=function(){return Module["asm"]["__queue_SimpleQueue_put_nowait"].apply(null,arguments)};var __queue_SimpleQueue_qsize=Module["__queue_SimpleQueue_qsize"]=function(){return Module["asm"]["__queue_SimpleQueue_qsize"].apply(null,arguments)};var __redupi=Module["__redupi"]=function(){return Module["asm"]["__redupi"].apply(null,arguments)};var __redupif=Module["__redupif"]=function(){return Module["asm"]["__redupif"].apply(null,arguments)};var __runPython=Module["__runPython"]=function(){return Module["asm"]["__runPython"].apply(null,arguments)};var __set_char=Module["__set_char"]=function(){return Module["asm"]["__set_char"].apply(null,arguments)};var __sha1_sha1=Module["__sha1_sha1"]=function(){return Module["asm"]["__sha1_sha1"].apply(null,arguments)};var __sha256_sha224=Module["__sha256_sha224"]=function(){return Module["asm"]["__sha256_sha224"].apply(null,arguments)};var __sha256_sha256=Module["__sha256_sha256"]=function(){return Module["asm"]["__sha256_sha256"].apply(null,arguments)};var __sha3_sha3_224_copy=Module["__sha3_sha3_224_copy"]=function(){return Module["asm"]["__sha3_sha3_224_copy"].apply(null,arguments)};var __sha3_sha3_224_digest=Module["__sha3_sha3_224_digest"]=function(){return Module["asm"]["__sha3_sha3_224_digest"].apply(null,arguments)};var __sha3_sha3_224_hexdigest=Module["__sha3_sha3_224_hexdigest"]=function(){return Module["asm"]["__sha3_sha3_224_hexdigest"].apply(null,arguments)};var __sha3_sha3_224_update=Module["__sha3_sha3_224_update"]=function(){return Module["asm"]["__sha3_sha3_224_update"].apply(null,arguments)};var __sha3_shake_128_digest=Module["__sha3_shake_128_digest"]=function(){return Module["asm"]["__sha3_shake_128_digest"].apply(null,arguments)};var __sha3_shake_128_hexdigest=Module["__sha3_shake_128_hexdigest"]=function(){return Module["asm"]["__sha3_shake_128_hexdigest"].apply(null,arguments)};var __sha512_sha384=Module["__sha512_sha384"]=function(){return Module["asm"]["__sha512_sha384"].apply(null,arguments)};var __sha512_sha512=Module["__sha512_sha512"]=function(){return Module["asm"]["__sha512_sha512"].apply(null,arguments)};var __sre_SRE_Match___copy__=Module["__sre_SRE_Match___copy__"]=function(){return Module["asm"]["__sre_SRE_Match___copy__"].apply(null,arguments)};var __sre_SRE_Match___deepcopy__=Module["__sre_SRE_Match___deepcopy__"]=function(){return Module["asm"]["__sre_SRE_Match___deepcopy__"].apply(null,arguments)};var __sre_SRE_Match_end=Module["__sre_SRE_Match_end"]=function(){return Module["asm"]["__sre_SRE_Match_end"].apply(null,arguments)};var __sre_SRE_Match_expand=Module["__sre_SRE_Match_expand"]=function(){return Module["asm"]["__sre_SRE_Match_expand"].apply(null,arguments)};var __sre_SRE_Match_groupdict=Module["__sre_SRE_Match_groupdict"]=function(){return Module["asm"]["__sre_SRE_Match_groupdict"].apply(null,arguments)};var __sre_SRE_Match_groups=Module["__sre_SRE_Match_groups"]=function(){return Module["asm"]["__sre_SRE_Match_groups"].apply(null,arguments)};var __sre_SRE_Match_span=Module["__sre_SRE_Match_span"]=function(){return Module["asm"]["__sre_SRE_Match_span"].apply(null,arguments)};var __sre_SRE_Match_start=Module["__sre_SRE_Match_start"]=function(){return Module["asm"]["__sre_SRE_Match_start"].apply(null,arguments)};var __sre_SRE_Pattern___copy__=Module["__sre_SRE_Pattern___copy__"]=function(){return Module["asm"]["__sre_SRE_Pattern___copy__"].apply(null,arguments)};var __sre_SRE_Pattern___deepcopy__=Module["__sre_SRE_Pattern___deepcopy__"]=function(){return Module["asm"]["__sre_SRE_Pattern___deepcopy__"].apply(null,arguments)};var __sre_SRE_Pattern_findall=Module["__sre_SRE_Pattern_findall"]=function(){return Module["asm"]["__sre_SRE_Pattern_findall"].apply(null,arguments)};var __sre_SRE_Pattern_finditer=Module["__sre_SRE_Pattern_finditer"]=function(){return Module["asm"]["__sre_SRE_Pattern_finditer"].apply(null,arguments)};var __sre_SRE_Pattern_fullmatch=Module["__sre_SRE_Pattern_fullmatch"]=function(){return Module["asm"]["__sre_SRE_Pattern_fullmatch"].apply(null,arguments)};var __sre_SRE_Pattern_match=Module["__sre_SRE_Pattern_match"]=function(){return Module["asm"]["__sre_SRE_Pattern_match"].apply(null,arguments)};var __sre_SRE_Pattern_scanner=Module["__sre_SRE_Pattern_scanner"]=function(){return Module["asm"]["__sre_SRE_Pattern_scanner"].apply(null,arguments)};var __sre_SRE_Pattern_search=Module["__sre_SRE_Pattern_search"]=function(){return Module["asm"]["__sre_SRE_Pattern_search"].apply(null,arguments)};var __sre_SRE_Pattern_split=Module["__sre_SRE_Pattern_split"]=function(){return Module["asm"]["__sre_SRE_Pattern_split"].apply(null,arguments)};var __sre_SRE_Pattern_sub=Module["__sre_SRE_Pattern_sub"]=function(){return Module["asm"]["__sre_SRE_Pattern_sub"].apply(null,arguments)};var __sre_SRE_Pattern_subn=Module["__sre_SRE_Pattern_subn"]=function(){return Module["asm"]["__sre_SRE_Pattern_subn"].apply(null,arguments)};var __sre_SRE_Scanner_match=Module["__sre_SRE_Scanner_match"]=function(){return Module["asm"]["__sre_SRE_Scanner_match"].apply(null,arguments)};var __sre_SRE_Scanner_search=Module["__sre_SRE_Scanner_search"]=function(){return Module["asm"]["__sre_SRE_Scanner_search"].apply(null,arguments)};var __sre_ascii_iscased=Module["__sre_ascii_iscased"]=function(){return Module["asm"]["__sre_ascii_iscased"].apply(null,arguments)};var __sre_ascii_tolower=Module["__sre_ascii_tolower"]=function(){return Module["asm"]["__sre_ascii_tolower"].apply(null,arguments)};var __sre_compile=Module["__sre_compile"]=function(){return Module["asm"]["__sre_compile"].apply(null,arguments)};var __sre_getcodesize=Module["__sre_getcodesize"]=function(){return Module["asm"]["__sre_getcodesize"].apply(null,arguments)};var __sre_unicode_iscased=Module["__sre_unicode_iscased"]=function(){return Module["asm"]["__sre_unicode_iscased"].apply(null,arguments)};var __sre_unicode_tolower=Module["__sre_unicode_tolower"]=function(){return Module["asm"]["__sre_unicode_tolower"].apply(null,arguments)};var __strcolcmp=Module["__strcolcmp"]=function(){return Module["asm"]["__strcolcmp"].apply(null,arguments)};var __symtable_symtable=Module["__symtable_symtable"]=function(){return Module["asm"]["__symtable_symtable"].apply(null,arguments)};var __textiowrapper_fix_encoder_state=Module["__textiowrapper_fix_encoder_state"]=function(){return Module["asm"]["__textiowrapper_fix_encoder_state"].apply(null,arguments)};var __textiowrapper_readline=Module["__textiowrapper_readline"]=function(){return Module["asm"]["__textiowrapper_readline"].apply(null,arguments)};var __textiowrapper_set_decoder=Module["__textiowrapper_set_decoder"]=function(){return Module["asm"]["__textiowrapper_set_decoder"].apply(null,arguments)};var __textiowrapper_set_encoder=Module["__textiowrapper_set_encoder"]=function(){return Module["asm"]["__textiowrapper_set_encoder"].apply(null,arguments)};var __textiowrapper_writeflush=Module["__textiowrapper_writeflush"]=function(){return Module["asm"]["__textiowrapper_writeflush"].apply(null,arguments)};var __tr_align=Module["__tr_align"]=function(){return Module["asm"]["__tr_align"].apply(null,arguments)};var __tr_flush_bits=Module["__tr_flush_bits"]=function(){return Module["asm"]["__tr_flush_bits"].apply(null,arguments)};var __tr_flush_block=Module["__tr_flush_block"]=function(){return Module["asm"]["__tr_flush_block"].apply(null,arguments)};var __tr_init=Module["__tr_init"]=function(){return Module["asm"]["__tr_init"].apply(null,arguments)};var __tr_stored_block=Module["__tr_stored_block"]=function(){return Module["asm"]["__tr_stored_block"].apply(null,arguments)};var __tr_tally=Module["__tr_tally"]=function(){return Module["asm"]["__tr_tally"].apply(null,arguments)};var __trace_callback=Module["__trace_callback"]=function(){return Module["asm"]["__trace_callback"].apply(null,arguments)};var __tracemalloc__get_object_traceback=Module["__tracemalloc__get_object_traceback"]=function(){return Module["asm"]["__tracemalloc__get_object_traceback"].apply(null,arguments)};var __tracemalloc__get_traces=Module["__tracemalloc__get_traces"]=function(){return Module["asm"]["__tracemalloc__get_traces"].apply(null,arguments)};var __tracemalloc_clear_traces=Module["__tracemalloc_clear_traces"]=function(){return Module["asm"]["__tracemalloc_clear_traces"].apply(null,arguments)};var __tracemalloc_get_traceback_limit=Module["__tracemalloc_get_traceback_limit"]=function(){return Module["asm"]["__tracemalloc_get_traceback_limit"].apply(null,arguments)};var __tracemalloc_get_traced_memory=Module["__tracemalloc_get_traced_memory"]=function(){return Module["asm"]["__tracemalloc_get_traced_memory"].apply(null,arguments)};var __tracemalloc_get_tracemalloc_memory=Module["__tracemalloc_get_tracemalloc_memory"]=function(){return Module["asm"]["__tracemalloc_get_tracemalloc_memory"].apply(null,arguments)};var __tracemalloc_is_tracing=Module["__tracemalloc_is_tracing"]=function(){return Module["asm"]["__tracemalloc_is_tracing"].apply(null,arguments)};var __tracemalloc_start=Module["__tracemalloc_start"]=function(){return Module["asm"]["__tracemalloc_start"].apply(null,arguments)};var __tracemalloc_stop=Module["__tracemalloc_stop"]=function(){return Module["asm"]["__tracemalloc_stop"].apply(null,arguments)};var __tt_check_patents_in_range=Module["__tt_check_patents_in_range"]=function(){return Module["asm"]["__tt_check_patents_in_range"].apply(null,arguments)};var __validate_charset=Module["__validate_charset"]=function(){return Module["asm"]["__validate_charset"].apply(null,arguments)};var __validate_inner=Module["__validate_inner"]=function(){return Module["asm"]["__validate_inner"].apply(null,arguments)};var __vsyslog=Module["__vsyslog"]=function(){return Module["asm"]["__vsyslog"].apply(null,arguments)};var __weakref__remove_dead_weakref=Module["__weakref__remove_dead_weakref"]=function(){return Module["asm"]["__weakref__remove_dead_weakref"].apply(null,arguments)};var __weakref_getweakrefcount=Module["__weakref_getweakrefcount"]=function(){return Module["asm"]["__weakref_getweakrefcount"].apply(null,arguments)};var _a64l=Module["_a64l"]=function(){return Module["asm"]["_a64l"].apply(null,arguments)};var _a_cas=Module["_a_cas"]=function(){return Module["asm"]["_a_cas"].apply(null,arguments)};var _a_cas_p=Module["_a_cas_p"]=function(){return Module["asm"]["_a_cas_p"].apply(null,arguments)};var _a_ctz_64=Module["_a_ctz_64"]=function(){return Module["asm"]["_a_ctz_64"].apply(null,arguments)};var _a_ctz_l=Module["_a_ctz_l"]=function(){return Module["asm"]["_a_ctz_l"].apply(null,arguments)};var _a_ctz_l_636=Module["_a_ctz_l_636"]=function(){return Module["asm"]["_a_ctz_l_636"].apply(null,arguments)};var _a_ctz_l_639=Module["_a_ctz_l_639"]=function(){return Module["asm"]["_a_ctz_l_639"].apply(null,arguments)};var _a_ctz_l_640=Module["_a_ctz_l_640"]=function(){return Module["asm"]["_a_ctz_l_640"].apply(null,arguments)};var _a_store=Module["_a_store"]=function(){return Module["asm"]["_a_store"].apply(null,arguments)};var _a_store_786=Module["_a_store_786"]=function(){return Module["asm"]["_a_store_786"].apply(null,arguments)};var _abc_data_dealloc=Module["_abc_data_dealloc"]=function(){return Module["asm"]["_abc_data_dealloc"].apply(null,arguments)};var _abc_data_new=Module["_abc_data_new"]=function(){return Module["asm"]["_abc_data_new"].apply(null,arguments)};var _abort_message=Module["_abort_message"]=function(){return Module["asm"]["_abort_message"].apply(null,arguments)};var _absFunc=Module["_absFunc"]=function(){return Module["asm"]["_absFunc"].apply(null,arguments)};var _abstract_issubclass=Module["_abstract_issubclass"]=function(){return Module["asm"]["_abstract_issubclass"].apply(null,arguments)};var _accept=Module["_accept"]=function(){return Module["asm"]["_accept"].apply(null,arguments)};var _accept4=Module["_accept4"]=function(){return Module["asm"]["_accept4"].apply(null,arguments)};var _access=Module["_access"]=function(){return Module["asm"]["_access"].apply(null,arguments)};var _accessPayload=Module["_accessPayload"]=function(){return Module["asm"]["_accessPayload"].apply(null,arguments)};var _accessPayloadChecked=Module["_accessPayloadChecked"]=function(){return Module["asm"]["_accessPayloadChecked"].apply(null,arguments)};var _acct=Module["_acct"]=function(){return Module["asm"]["_acct"].apply(null,arguments)};var _accum=Module["_accum"]=function(){return Module["asm"]["_accum"].apply(null,arguments)};var _accumulate_dealloc=Module["_accumulate_dealloc"]=function(){return Module["asm"]["_accumulate_dealloc"].apply(null,arguments)};var _accumulate_new=Module["_accumulate_new"]=function(){return Module["asm"]["_accumulate_new"].apply(null,arguments)};var _accumulate_next=Module["_accumulate_next"]=function(){return Module["asm"]["_accumulate_next"].apply(null,arguments)};var _accumulate_reduce=Module["_accumulate_reduce"]=function(){return Module["asm"]["_accumulate_reduce"].apply(null,arguments)};var _accumulate_setstate=Module["_accumulate_setstate"]=function(){return Module["asm"]["_accumulate_setstate"].apply(null,arguments)};var _accumulate_traverse=Module["_accumulate_traverse"]=function(){return Module["asm"]["_accumulate_traverse"].apply(null,arguments)};var _acos=Module["_acos"]=function(){return Module["asm"]["_acos"].apply(null,arguments)};var _acosf=Module["_acosf"]=function(){return Module["asm"]["_acosf"].apply(null,arguments)};var _acosh=Module["_acosh"]=function(){return Module["asm"]["_acosh"].apply(null,arguments)};var _acoshf=Module["_acoshf"]=function(){return Module["asm"]["_acoshf"].apply(null,arguments)};var _acoshl=Module["_acoshl"]=function(){return Module["asm"]["_acoshl"].apply(null,arguments)};var _acosl=Module["_acosl"]=function(){return Module["asm"]["_acosl"].apply(null,arguments)};var _acquire_timed=Module["_acquire_timed"]=function(){return Module["asm"]["_acquire_timed"].apply(null,arguments)};var _actionName=Module["_actionName"]=function(){return Module["asm"]["_actionName"].apply(null,arguments)};var _addAggInfoColumn=Module["_addAggInfoColumn"]=function(){return Module["asm"]["_addAggInfoColumn"].apply(null,arguments)};var _addAggInfoFunc=Module["_addAggInfoFunc"]=function(){return Module["asm"]["_addAggInfoFunc"].apply(null,arguments)};var _addArgumentToVtab=Module["_addArgumentToVtab"]=function(){return Module["asm"]["_addArgumentToVtab"].apply(null,arguments)};var _addBinding=Module["_addBinding"]=function(){return Module["asm"]["_addBinding"].apply(null,arguments)};var _addModuleArgument=Module["_addModuleArgument"]=function(){return Module["asm"]["_addModuleArgument"].apply(null,arguments)};var _addToSavepointBitvecs=Module["_addToSavepointBitvecs"]=function(){return Module["asm"]["_addToSavepointBitvecs"].apply(null,arguments)};var _addToVTrans=Module["_addToVTrans"]=function(){return Module["asm"]["_addToVTrans"].apply(null,arguments)};var _addWhereTerm=Module["_addWhereTerm"]=function(){return Module["asm"]["_addWhereTerm"].apply(null,arguments)};var _add_adjusted=Module["_add_adjusted"]=function(){return Module["asm"]["_add_adjusted"].apply(null,arguments)};var _add_and_denormalize=Module["_add_and_denormalize"]=function(){return Module["asm"]["_add_and_denormalize"].apply(null,arguments)};var _add_datetime_timedelta=Module["_add_datetime_timedelta"]=function(){return Module["asm"]["_add_datetime_timedelta"].apply(null,arguments)};var _add_icase_literals=Module["_add_icase_literals"]=function(){return Module["asm"]["_add_icase_literals"].apply(null,arguments)};var _add_main_module=Module["_add_main_module"]=function(){return Module["asm"]["_add_main_module"].apply(null,arguments)};var _add_pair_to_block=Module["_add_pair_to_block"]=function(){return Module["asm"]["_add_pair_to_block"].apply(null,arguments)};var _add_subclass=Module["_add_subclass"]=function(){return Module["asm"]["_add_subclass"].apply(null,arguments)};var _addclosure=Module["_addclosure"]=function(){return Module["asm"]["_addclosure"].apply(null,arguments)};var _addmntent=Module["_addmntent"]=function(){return Module["asm"]["_addmntent"].apply(null,arguments)};var _addrcmp=Module["_addrcmp"]=function(){return Module["asm"]["_addrcmp"].apply(null,arguments)};var _adler32=Module["_adler32"]=function(){return Module["asm"]["_adler32"].apply(null,arguments)};var _adler32_13647=Module["_adler32_13647"]=function(){return Module["asm"]["_adler32_13647"].apply(null,arguments)};var _adler32_combine=Module["_adler32_combine"]=function(){return Module["asm"]["_adler32_combine"].apply(null,arguments)};var _adler32_combine64=Module["_adler32_combine64"]=function(){return Module["asm"]["_adler32_combine64"].apply(null,arguments)};var _af_autofitter_done=Module["_af_autofitter_done"]=function(){return Module["asm"]["_af_autofitter_done"].apply(null,arguments)};var _af_autofitter_init=Module["_af_autofitter_init"]=function(){return Module["asm"]["_af_autofitter_init"].apply(null,arguments)};var _af_autofitter_load_glyph=Module["_af_autofitter_load_glyph"]=function(){return Module["asm"]["_af_autofitter_load_glyph"].apply(null,arguments)};var _af_axis_hints_new_edge=Module["_af_axis_hints_new_edge"]=function(){return Module["asm"]["_af_axis_hints_new_edge"].apply(null,arguments)};var _af_cjk_compute_stem_width=Module["_af_cjk_compute_stem_width"]=function(){return Module["asm"]["_af_cjk_compute_stem_width"].apply(null,arguments)};var _af_cjk_hints_apply=Module["_af_cjk_hints_apply"]=function(){return Module["asm"]["_af_cjk_hints_apply"].apply(null,arguments)};var _af_cjk_hints_compute_blue_edges=Module["_af_cjk_hints_compute_blue_edges"]=function(){return Module["asm"]["_af_cjk_hints_compute_blue_edges"].apply(null,arguments)};var _af_cjk_hints_detect_features=Module["_af_cjk_hints_detect_features"]=function(){return Module["asm"]["_af_cjk_hints_detect_features"].apply(null,arguments)};var _af_cjk_hints_init=Module["_af_cjk_hints_init"]=function(){return Module["asm"]["_af_cjk_hints_init"].apply(null,arguments)};var _af_cjk_metrics_check_digits=Module["_af_cjk_metrics_check_digits"]=function(){return Module["asm"]["_af_cjk_metrics_check_digits"].apply(null,arguments)};var _af_cjk_metrics_init=Module["_af_cjk_metrics_init"]=function(){return Module["asm"]["_af_cjk_metrics_init"].apply(null,arguments)};var _af_cjk_metrics_init_widths=Module["_af_cjk_metrics_init_widths"]=function(){return Module["asm"]["_af_cjk_metrics_init_widths"].apply(null,arguments)};var _af_cjk_metrics_scale=Module["_af_cjk_metrics_scale"]=function(){return Module["asm"]["_af_cjk_metrics_scale"].apply(null,arguments)};var _af_cjk_metrics_scale_dim=Module["_af_cjk_metrics_scale_dim"]=function(){return Module["asm"]["_af_cjk_metrics_scale_dim"].apply(null,arguments)};var _af_dummy_hints_apply=Module["_af_dummy_hints_apply"]=function(){return Module["asm"]["_af_dummy_hints_apply"].apply(null,arguments)};var _af_dummy_hints_init=Module["_af_dummy_hints_init"]=function(){return Module["asm"]["_af_dummy_hints_init"].apply(null,arguments)};var _af_face_globals_free=Module["_af_face_globals_free"]=function(){return Module["asm"]["_af_face_globals_free"].apply(null,arguments)};var _af_face_globals_new=Module["_af_face_globals_new"]=function(){return Module["asm"]["_af_face_globals_new"].apply(null,arguments)};var _af_get_char_index=Module["_af_get_char_index"]=function(){return Module["asm"]["_af_get_char_index"].apply(null,arguments)};var _af_get_coverage=Module["_af_get_coverage"]=function(){return Module["asm"]["_af_get_coverage"].apply(null,arguments)};var _af_get_interface=Module["_af_get_interface"]=function(){return Module["asm"]["_af_get_interface"].apply(null,arguments)};var _af_glyph_hints_align_strong_points=Module["_af_glyph_hints_align_strong_points"]=function(){return Module["asm"]["_af_glyph_hints_align_strong_points"].apply(null,arguments)};var _af_glyph_hints_align_weak_points=Module["_af_glyph_hints_align_weak_points"]=function(){return Module["asm"]["_af_glyph_hints_align_weak_points"].apply(null,arguments)};var _af_glyph_hints_done=Module["_af_glyph_hints_done"]=function(){return Module["asm"]["_af_glyph_hints_done"].apply(null,arguments)};var _af_glyph_hints_reload=Module["_af_glyph_hints_reload"]=function(){return Module["asm"]["_af_glyph_hints_reload"].apply(null,arguments)};var _af_hint_normal_stem=Module["_af_hint_normal_stem"]=function(){return Module["asm"]["_af_hint_normal_stem"].apply(null,arguments)};var _af_indic_hints_apply=Module["_af_indic_hints_apply"]=function(){return Module["asm"]["_af_indic_hints_apply"].apply(null,arguments)};var _af_indic_hints_init=Module["_af_indic_hints_init"]=function(){return Module["asm"]["_af_indic_hints_init"].apply(null,arguments)};var _af_indic_metrics_init=Module["_af_indic_metrics_init"]=function(){return Module["asm"]["_af_indic_metrics_init"].apply(null,arguments)};var _af_indic_metrics_scale=Module["_af_indic_metrics_scale"]=function(){return Module["asm"]["_af_indic_metrics_scale"].apply(null,arguments)};var _af_latin_compute_stem_width=Module["_af_latin_compute_stem_width"]=function(){return Module["asm"]["_af_latin_compute_stem_width"].apply(null,arguments)};var _af_latin_hint_edges=Module["_af_latin_hint_edges"]=function(){return Module["asm"]["_af_latin_hint_edges"].apply(null,arguments)};var _af_latin_hints_apply=Module["_af_latin_hints_apply"]=function(){return Module["asm"]["_af_latin_hints_apply"].apply(null,arguments)};var _af_latin_hints_compute_segments=Module["_af_latin_hints_compute_segments"]=function(){return Module["asm"]["_af_latin_hints_compute_segments"].apply(null,arguments)};var _af_latin_hints_detect_features=Module["_af_latin_hints_detect_features"]=function(){return Module["asm"]["_af_latin_hints_detect_features"].apply(null,arguments)};var _af_latin_hints_init=Module["_af_latin_hints_init"]=function(){return Module["asm"]["_af_latin_hints_init"].apply(null,arguments)};var _af_latin_hints_link_segments=Module["_af_latin_hints_link_segments"]=function(){return Module["asm"]["_af_latin_hints_link_segments"].apply(null,arguments)};var _af_latin_metrics_init=Module["_af_latin_metrics_init"]=function(){return Module["asm"]["_af_latin_metrics_init"].apply(null,arguments)};var _af_latin_metrics_scale=Module["_af_latin_metrics_scale"]=function(){return Module["asm"]["_af_latin_metrics_scale"].apply(null,arguments)};var _af_latin_metrics_scale_dim=Module["_af_latin_metrics_scale_dim"]=function(){return Module["asm"]["_af_latin_metrics_scale_dim"].apply(null,arguments)};var _af_property_get=Module["_af_property_get"]=function(){return Module["asm"]["_af_property_get"].apply(null,arguments)};var _af_property_set=Module["_af_property_set"]=function(){return Module["asm"]["_af_property_set"].apply(null,arguments)};var _af_sort_and_quantize_widths=Module["_af_sort_and_quantize_widths"]=function(){return Module["asm"]["_af_sort_and_quantize_widths"].apply(null,arguments)};var _af_warper_compute=Module["_af_warper_compute"]=function(){return Module["asm"]["_af_warper_compute"].apply(null,arguments)};var _afm_compare_kern_pairs=Module["_afm_compare_kern_pairs"]=function(){return Module["asm"]["_afm_compare_kern_pairs"].apply(null,arguments)};var _afm_parser_done=Module["_afm_parser_done"]=function(){return Module["asm"]["_afm_parser_done"].apply(null,arguments)};var _afm_parser_init=Module["_afm_parser_init"]=function(){return Module["asm"]["_afm_parser_init"].apply(null,arguments)};var _afm_parser_parse=Module["_afm_parser_parse"]=function(){return Module["asm"]["_afm_parser_parse"].apply(null,arguments)};var _afm_parser_read_vals=Module["_afm_parser_read_vals"]=function(){return Module["asm"]["_afm_parser_read_vals"].apply(null,arguments)};var _afm_stream_read_one=Module["_afm_stream_read_one"]=function(){return Module["asm"]["_afm_stream_read_one"].apply(null,arguments)};var _afm_stream_skip_spaces=Module["_afm_stream_skip_spaces"]=function(){return Module["asm"]["_afm_stream_skip_spaces"].apply(null,arguments)};var _alias_for_import_name=Module["_alias_for_import_name"]=function(){return Module["asm"]["_alias_for_import_name"].apply(null,arguments)};var _align_limit_to_full_utf8_characters=Module["_align_limit_to_full_utf8_characters"]=function(){return Module["asm"]["_align_limit_to_full_utf8_characters"].apply(null,arguments)};var _aligned_alloc=Module["_aligned_alloc"]=function(){return Module["asm"]["_aligned_alloc"].apply(null,arguments)};var _allSpaces=Module["_allSpaces"]=function(){return Module["asm"]["_allSpaces"].apply(null,arguments)};var _all_contained_in=Module["_all_contained_in"]=function(){return Module["asm"]["_all_contained_in"].apply(null,arguments)};var _allocSpace=Module["_allocSpace"]=function(){return Module["asm"]["_allocSpace"].apply(null,arguments)};var _allocateBtreePage=Module["_allocateBtreePage"]=function(){return Module["asm"]["_allocateBtreePage"].apply(null,arguments)};var _allocateCursor=Module["_allocateCursor"]=function(){return Module["asm"]["_allocateCursor"].apply(null,arguments)};var _allocateIndexInfo=Module["_allocateIndexInfo"]=function(){return Module["asm"]["_allocateIndexInfo"].apply(null,arguments)};var _allocateSpace=Module["_allocateSpace"]=function(){return Module["asm"]["_allocateSpace"].apply(null,arguments)};var _allocateTempSpace=Module["_allocateTempSpace"]=function(){return Module["asm"]["_allocateTempSpace"].apply(null,arguments)};var _allowedOp=Module["_allowedOp"]=function(){return Module["asm"]["_allowedOp"].apply(null,arguments)};var _alphasort=Module["_alphasort"]=function(){return Module["asm"]["_alphasort"].apply(null,arguments)};var _already_warned=Module["_already_warned"]=function(){return Module["asm"]["_already_warned"].apply(null,arguments)};var _analysisLoader=Module["_analysisLoader"]=function(){return Module["asm"]["_analysisLoader"].apply(null,arguments)};var _analyzeAggregate=Module["_analyzeAggregate"]=function(){return Module["asm"]["_analyzeAggregate"].apply(null,arguments)};var _analyzeAggregatesInSelect=Module["_analyzeAggregatesInSelect"]=function(){return Module["asm"]["_analyzeAggregatesInSelect"].apply(null,arguments)};var _analyzeAggregatesInSelectEnd=Module["_analyzeAggregatesInSelectEnd"]=function(){return Module["asm"]["_analyzeAggregatesInSelectEnd"].apply(null,arguments)};var _analyzeDatabase=Module["_analyzeDatabase"]=function(){return Module["asm"]["_analyzeDatabase"].apply(null,arguments)};var _analyzeFilterKeyword=Module["_analyzeFilterKeyword"]=function(){return Module["asm"]["_analyzeFilterKeyword"].apply(null,arguments)};var _analyzeOneTable=Module["_analyzeOneTable"]=function(){return Module["asm"]["_analyzeOneTable"].apply(null,arguments)};var _analyzeOverKeyword=Module["_analyzeOverKeyword"]=function(){return Module["asm"]["_analyzeOverKeyword"].apply(null,arguments)};var _analyzeTable=Module["_analyzeTable"]=function(){return Module["asm"]["_analyzeTable"].apply(null,arguments)};var _analyzeWindowKeyword=Module["_analyzeWindowKeyword"]=function(){return Module["asm"]["_analyzeWindowKeyword"].apply(null,arguments)};var _analyze_block=Module["_analyze_block"]=function(){return Module["asm"]["_analyze_block"].apply(null,arguments)};var _any_find_slice=Module["_any_find_slice"]=function(){return Module["asm"]["_any_find_slice"].apply(null,arguments)};var _anylib_find=Module["_anylib_find"]=function(){return Module["asm"]["_anylib_find"].apply(null,arguments)};var _apiOomError=Module["_apiOomError"]=function(){return Module["asm"]["_apiOomError"].apply(null,arguments)};var _append=Module["_append"]=function(){return Module["asm"]["_append"].apply(null,arguments)};var _appendAttributeValue=Module["_appendAttributeValue"]=function(){return Module["asm"]["_appendAttributeValue"].apply(null,arguments)};var _append_ast_comprehension=Module["_append_ast_comprehension"]=function(){return Module["asm"]["_append_ast_comprehension"].apply(null,arguments)};var _append_ast_expr=Module["_append_ast_expr"]=function(){return Module["asm"]["_append_ast_expr"].apply(null,arguments)};var _append_ast_simple_slice=Module["_append_ast_simple_slice"]=function(){return Module["asm"]["_append_ast_simple_slice"].apply(null,arguments)};var _append_ast_slice=Module["_append_ast_slice"]=function(){return Module["asm"]["_append_ast_slice"].apply(null,arguments)};var _append_formattedvalue=Module["_append_formattedvalue"]=function(){return Module["asm"]["_append_formattedvalue"].apply(null,arguments)};var _append_joinedstr=Module["_append_joinedstr"]=function(){return Module["asm"]["_append_joinedstr"].apply(null,arguments)};var _applyAffinity=Module["_applyAffinity"]=function(){return Module["asm"]["_applyAffinity"].apply(null,arguments)};var _applyNumericAffinity=Module["_applyNumericAffinity"]=function(){return Module["asm"]["_applyNumericAffinity"].apply(null,arguments)};var _arg_n=Module["_arg_n"]=function(){return Module["asm"]["_arg_n"].apply(null,arguments)};var _arg_n_811=Module["_arg_n_811"]=function(){return Module["asm"]["_arg_n_811"].apply(null,arguments)};var _array__array_reconstructor=Module["_array__array_reconstructor"]=function(){return Module["asm"]["_array__array_reconstructor"].apply(null,arguments)};var _array_array___copy__=Module["_array_array___copy__"]=function(){return Module["asm"]["_array_array___copy__"].apply(null,arguments)};var _array_array___deepcopy__=Module["_array_array___deepcopy__"]=function(){return Module["asm"]["_array_array___deepcopy__"].apply(null,arguments)};var _array_array___reduce_ex__=Module["_array_array___reduce_ex__"]=function(){return Module["asm"]["_array_array___reduce_ex__"].apply(null,arguments)};var _array_array___sizeof__=Module["_array_array___sizeof__"]=function(){return Module["asm"]["_array_array___sizeof__"].apply(null,arguments)};var _array_array_append=Module["_array_array_append"]=function(){return Module["asm"]["_array_array_append"].apply(null,arguments)};var _array_array_buffer_info=Module["_array_array_buffer_info"]=function(){return Module["asm"]["_array_array_buffer_info"].apply(null,arguments)};var _array_array_byteswap=Module["_array_array_byteswap"]=function(){return Module["asm"]["_array_array_byteswap"].apply(null,arguments)};var _array_array_count=Module["_array_array_count"]=function(){return Module["asm"]["_array_array_count"].apply(null,arguments)};var _array_array_extend=Module["_array_array_extend"]=function(){return Module["asm"]["_array_array_extend"].apply(null,arguments)};var _array_array_frombytes=Module["_array_array_frombytes"]=function(){return Module["asm"]["_array_array_frombytes"].apply(null,arguments)};var _array_array_fromfile=Module["_array_array_fromfile"]=function(){return Module["asm"]["_array_array_fromfile"].apply(null,arguments)};var _array_array_fromlist=Module["_array_array_fromlist"]=function(){return Module["asm"]["_array_array_fromlist"].apply(null,arguments)};var _array_array_fromstring=Module["_array_array_fromstring"]=function(){return Module["asm"]["_array_array_fromstring"].apply(null,arguments)};var _array_array_fromunicode=Module["_array_array_fromunicode"]=function(){return Module["asm"]["_array_array_fromunicode"].apply(null,arguments)};var _array_array_index=Module["_array_array_index"]=function(){return Module["asm"]["_array_array_index"].apply(null,arguments)};var _array_array_insert=Module["_array_array_insert"]=function(){return Module["asm"]["_array_array_insert"].apply(null,arguments)};var _array_array_pop=Module["_array_array_pop"]=function(){return Module["asm"]["_array_array_pop"].apply(null,arguments)};var _array_array_remove=Module["_array_array_remove"]=function(){return Module["asm"]["_array_array_remove"].apply(null,arguments)};var _array_array_reverse=Module["_array_array_reverse"]=function(){return Module["asm"]["_array_array_reverse"].apply(null,arguments)};var _array_array_tobytes=Module["_array_array_tobytes"]=function(){return Module["asm"]["_array_array_tobytes"].apply(null,arguments)};var _array_array_tofile=Module["_array_array_tofile"]=function(){return Module["asm"]["_array_array_tofile"].apply(null,arguments)};var _array_array_tolist=Module["_array_array_tolist"]=function(){return Module["asm"]["_array_array_tolist"].apply(null,arguments)};var _array_array_tostring=Module["_array_array_tostring"]=function(){return Module["asm"]["_array_array_tostring"].apply(null,arguments)};var _array_array_tounicode=Module["_array_array_tounicode"]=function(){return Module["asm"]["_array_array_tounicode"].apply(null,arguments)};var _array_arrayiterator___reduce__=Module["_array_arrayiterator___reduce__"]=function(){return Module["asm"]["_array_arrayiterator___reduce__"].apply(null,arguments)};var _array_arrayiterator___setstate__=Module["_array_arrayiterator___setstate__"]=function(){return Module["asm"]["_array_arrayiterator___setstate__"].apply(null,arguments)};var _array_ass_item=Module["_array_ass_item"]=function(){return Module["asm"]["_array_ass_item"].apply(null,arguments)};var _array_ass_subscr=Module["_array_ass_subscr"]=function(){return Module["asm"]["_array_ass_subscr"].apply(null,arguments)};var _array_buffer_getbuf=Module["_array_buffer_getbuf"]=function(){return Module["asm"]["_array_buffer_getbuf"].apply(null,arguments)};var _array_buffer_relbuf=Module["_array_buffer_relbuf"]=function(){return Module["asm"]["_array_buffer_relbuf"].apply(null,arguments)};var _array_concat=Module["_array_concat"]=function(){return Module["asm"]["_array_concat"].apply(null,arguments)};var _array_contains=Module["_array_contains"]=function(){return Module["asm"]["_array_contains"].apply(null,arguments)};var _array_dealloc=Module["_array_dealloc"]=function(){return Module["asm"]["_array_dealloc"].apply(null,arguments)};var _array_del_slice=Module["_array_del_slice"]=function(){return Module["asm"]["_array_del_slice"].apply(null,arguments)};var _array_do_extend=Module["_array_do_extend"]=function(){return Module["asm"]["_array_do_extend"].apply(null,arguments)};var _array_get_itemsize=Module["_array_get_itemsize"]=function(){return Module["asm"]["_array_get_itemsize"].apply(null,arguments)};var _array_get_typecode=Module["_array_get_typecode"]=function(){return Module["asm"]["_array_get_typecode"].apply(null,arguments)};var _array_inplace_concat=Module["_array_inplace_concat"]=function(){return Module["asm"]["_array_inplace_concat"].apply(null,arguments)};var _array_inplace_repeat=Module["_array_inplace_repeat"]=function(){return Module["asm"]["_array_inplace_repeat"].apply(null,arguments)};var _array_item=Module["_array_item"]=function(){return Module["asm"]["_array_item"].apply(null,arguments)};var _array_iter=Module["_array_iter"]=function(){return Module["asm"]["_array_iter"].apply(null,arguments)};var _array_iter_extend=Module["_array_iter_extend"]=function(){return Module["asm"]["_array_iter_extend"].apply(null,arguments)};var _array_length=Module["_array_length"]=function(){return Module["asm"]["_array_length"].apply(null,arguments)};var _array_modexec=Module["_array_modexec"]=function(){return Module["asm"]["_array_modexec"].apply(null,arguments)};var _array_new=Module["_array_new"]=function(){return Module["asm"]["_array_new"].apply(null,arguments)};var _array_repeat=Module["_array_repeat"]=function(){return Module["asm"]["_array_repeat"].apply(null,arguments)};var _array_repr=Module["_array_repr"]=function(){return Module["asm"]["_array_repr"].apply(null,arguments)};var _array_resize=Module["_array_resize"]=function(){return Module["asm"]["_array_resize"].apply(null,arguments)};var _array_richcompare=Module["_array_richcompare"]=function(){return Module["asm"]["_array_richcompare"].apply(null,arguments)};var _array_subscr=Module["_array_subscr"]=function(){return Module["asm"]["_array_subscr"].apply(null,arguments)};var _arrayiter_dealloc=Module["_arrayiter_dealloc"]=function(){return Module["asm"]["_arrayiter_dealloc"].apply(null,arguments)};var _arrayiter_next=Module["_arrayiter_next"]=function(){return Module["asm"]["_arrayiter_next"].apply(null,arguments)};var _arrayiter_traverse=Module["_arrayiter_traverse"]=function(){return Module["asm"]["_arrayiter_traverse"].apply(null,arguments)};var _as_read_buffer=Module["_as_read_buffer"]=function(){return Module["asm"]["_as_read_buffer"].apply(null,arguments)};var _as_ucs4=Module["_as_ucs4"]=function(){return Module["asm"]["_as_ucs4"].apply(null,arguments)};var _asciiFold=Module["_asciiFold"]=function(){return Module["asm"]["_asciiFold"].apply(null,arguments)};var _ascii_buffer_converter=Module["_ascii_buffer_converter"]=function(){return Module["asm"]["_ascii_buffer_converter"].apply(null,arguments)};var _ascii_encode=Module["_ascii_encode"]=function(){return Module["asm"]["_ascii_encode"].apply(null,arguments)};var _ascii_is_unsafe=Module["_ascii_is_unsafe"]=function(){return Module["asm"]["_ascii_is_unsafe"].apply(null,arguments)};var _ascii_toUtf8=Module["_ascii_toUtf8"]=function(){return Module["asm"]["_ascii_toUtf8"].apply(null,arguments)};var _ascii_to_bin=Module["_ascii_to_bin"]=function(){return Module["asm"]["_ascii_to_bin"].apply(null,arguments)};var _asciilib_fastsearch=Module["_asciilib_fastsearch"]=function(){return Module["asm"]["_asciilib_fastsearch"].apply(null,arguments)};var _asin=Module["_asin"]=function(){return Module["asm"]["_asin"].apply(null,arguments)};var _asinf=Module["_asinf"]=function(){return Module["asm"]["_asinf"].apply(null,arguments)};var _asinh=Module["_asinh"]=function(){return Module["asm"]["_asinh"].apply(null,arguments)};var _asinhf=Module["_asinhf"]=function(){return Module["asm"]["_asinhf"].apply(null,arguments)};var _asinhl=Module["_asinhl"]=function(){return Module["asm"]["_asinhl"].apply(null,arguments)};var _asinl=Module["_asinl"]=function(){return Module["asm"]["_asinl"].apply(null,arguments)};var _asprintf=Module["_asprintf"]=function(){return Module["asm"]["_asprintf"].apply(null,arguments)};var _assemble=Module["_assemble"]=function(){return Module["asm"]["_assemble"].apply(null,arguments)};var _assign_version_tag=Module["_assign_version_tag"]=function(){return Module["asm"]["_assign_version_tag"].apply(null,arguments)};var _assignment_helper=Module["_assignment_helper"]=function(){return Module["asm"]["_assignment_helper"].apply(null,arguments)};var _ast2obj_alias=Module["_ast2obj_alias"]=function(){return Module["asm"]["_ast2obj_alias"].apply(null,arguments)};var _ast2obj_arg=Module["_ast2obj_arg"]=function(){return Module["asm"]["_ast2obj_arg"].apply(null,arguments)};var _ast2obj_arguments=Module["_ast2obj_arguments"]=function(){return Module["asm"]["_ast2obj_arguments"].apply(null,arguments)};var _ast2obj_comprehension=Module["_ast2obj_comprehension"]=function(){return Module["asm"]["_ast2obj_comprehension"].apply(null,arguments)};var _ast2obj_expr=Module["_ast2obj_expr"]=function(){return Module["asm"]["_ast2obj_expr"].apply(null,arguments)};var _ast2obj_keyword=Module["_ast2obj_keyword"]=function(){return Module["asm"]["_ast2obj_keyword"].apply(null,arguments)};var _ast2obj_list=Module["_ast2obj_list"]=function(){return Module["asm"]["_ast2obj_list"].apply(null,arguments)};var _ast2obj_operator=Module["_ast2obj_operator"]=function(){return Module["asm"]["_ast2obj_operator"].apply(null,arguments)};var _ast2obj_slice=Module["_ast2obj_slice"]=function(){return Module["asm"]["_ast2obj_slice"].apply(null,arguments)};var _ast2obj_stmt=Module["_ast2obj_stmt"]=function(){return Module["asm"]["_ast2obj_stmt"].apply(null,arguments)};var _ast2obj_withitem=Module["_ast2obj_withitem"]=function(){return Module["asm"]["_ast2obj_withitem"].apply(null,arguments)};var _ast_clear=Module["_ast_clear"]=function(){return Module["asm"]["_ast_clear"].apply(null,arguments)};var _ast_dealloc=Module["_ast_dealloc"]=function(){return Module["asm"]["_ast_dealloc"].apply(null,arguments)};var _ast_error=Module["_ast_error"]=function(){return Module["asm"]["_ast_error"].apply(null,arguments)};var _ast_for_arguments=Module["_ast_for_arguments"]=function(){return Module["asm"]["_ast_for_arguments"].apply(null,arguments)};var _ast_for_call=Module["_ast_for_call"]=function(){return Module["asm"]["_ast_for_call"].apply(null,arguments)};var _ast_for_classdef=Module["_ast_for_classdef"]=function(){return Module["asm"]["_ast_for_classdef"].apply(null,arguments)};var _ast_for_comprehension=Module["_ast_for_comprehension"]=function(){return Module["asm"]["_ast_for_comprehension"].apply(null,arguments)};var _ast_for_decorator=Module["_ast_for_decorator"]=function(){return Module["asm"]["_ast_for_decorator"].apply(null,arguments)};var _ast_for_expr=Module["_ast_for_expr"]=function(){return Module["asm"]["_ast_for_expr"].apply(null,arguments)};var _ast_for_for_stmt=Module["_ast_for_for_stmt"]=function(){return Module["asm"]["_ast_for_for_stmt"].apply(null,arguments)};var _ast_for_funcdef_impl=Module["_ast_for_funcdef_impl"]=function(){return Module["asm"]["_ast_for_funcdef_impl"].apply(null,arguments)};var _ast_for_slice=Module["_ast_for_slice"]=function(){return Module["asm"]["_ast_for_slice"].apply(null,arguments)};var _ast_for_stmt=Module["_ast_for_stmt"]=function(){return Module["asm"]["_ast_for_stmt"].apply(null,arguments)};var _ast_for_suite=Module["_ast_for_suite"]=function(){return Module["asm"]["_ast_for_suite"].apply(null,arguments)};var _ast_for_with_stmt=Module["_ast_for_with_stmt"]=function(){return Module["asm"]["_ast_for_with_stmt"].apply(null,arguments)};var _ast_traverse=Module["_ast_traverse"]=function(){return Module["asm"]["_ast_traverse"].apply(null,arguments)};var _ast_type_init=Module["_ast_type_init"]=function(){return Module["asm"]["_ast_type_init"].apply(null,arguments)};var _ast_type_reduce=Module["_ast_type_reduce"]=function(){return Module["asm"]["_ast_type_reduce"].apply(null,arguments)};var _astfold_arguments=Module["_astfold_arguments"]=function(){return Module["asm"]["_astfold_arguments"].apply(null,arguments)};var _astfold_body=Module["_astfold_body"]=function(){return Module["asm"]["_astfold_body"].apply(null,arguments)};var _astfold_comprehension=Module["_astfold_comprehension"]=function(){return Module["asm"]["_astfold_comprehension"].apply(null,arguments)};var _astfold_expr=Module["_astfold_expr"]=function(){return Module["asm"]["_astfold_expr"].apply(null,arguments)};var _astfold_slice=Module["_astfold_slice"]=function(){return Module["asm"]["_astfold_slice"].apply(null,arguments)};var _astfold_stmt=Module["_astfold_stmt"]=function(){return Module["asm"]["_astfold_stmt"].apply(null,arguments)};var _async_gen_aclose=Module["_async_gen_aclose"]=function(){return Module["asm"]["_async_gen_aclose"].apply(null,arguments)};var _async_gen_anext=Module["_async_gen_anext"]=function(){return Module["asm"]["_async_gen_anext"].apply(null,arguments)};var _async_gen_asend=Module["_async_gen_asend"]=function(){return Module["asm"]["_async_gen_asend"].apply(null,arguments)};var _async_gen_asend_close=Module["_async_gen_asend_close"]=function(){return Module["asm"]["_async_gen_asend_close"].apply(null,arguments)};var _async_gen_asend_dealloc=Module["_async_gen_asend_dealloc"]=function(){return Module["asm"]["_async_gen_asend_dealloc"].apply(null,arguments)};var _async_gen_asend_iternext=Module["_async_gen_asend_iternext"]=function(){return Module["asm"]["_async_gen_asend_iternext"].apply(null,arguments)};var _async_gen_asend_send=Module["_async_gen_asend_send"]=function(){return Module["asm"]["_async_gen_asend_send"].apply(null,arguments)};var _async_gen_asend_throw=Module["_async_gen_asend_throw"]=function(){return Module["asm"]["_async_gen_asend_throw"].apply(null,arguments)};var _async_gen_asend_traverse=Module["_async_gen_asend_traverse"]=function(){return Module["asm"]["_async_gen_asend_traverse"].apply(null,arguments)};var _async_gen_athrow=Module["_async_gen_athrow"]=function(){return Module["asm"]["_async_gen_athrow"].apply(null,arguments)};var _async_gen_athrow_close=Module["_async_gen_athrow_close"]=function(){return Module["asm"]["_async_gen_athrow_close"].apply(null,arguments)};var _async_gen_athrow_dealloc=Module["_async_gen_athrow_dealloc"]=function(){return Module["asm"]["_async_gen_athrow_dealloc"].apply(null,arguments)};var _async_gen_athrow_iternext=Module["_async_gen_athrow_iternext"]=function(){return Module["asm"]["_async_gen_athrow_iternext"].apply(null,arguments)};var _async_gen_athrow_send=Module["_async_gen_athrow_send"]=function(){return Module["asm"]["_async_gen_athrow_send"].apply(null,arguments)};var _async_gen_athrow_throw=Module["_async_gen_athrow_throw"]=function(){return Module["asm"]["_async_gen_athrow_throw"].apply(null,arguments)};var _async_gen_athrow_traverse=Module["_async_gen_athrow_traverse"]=function(){return Module["asm"]["_async_gen_athrow_traverse"].apply(null,arguments)};var _async_gen_repr=Module["_async_gen_repr"]=function(){return Module["asm"]["_async_gen_repr"].apply(null,arguments)};var _async_gen_traverse=Module["_async_gen_traverse"]=function(){return Module["asm"]["_async_gen_traverse"].apply(null,arguments)};var _async_gen_unwrap_value=Module["_async_gen_unwrap_value"]=function(){return Module["asm"]["_async_gen_unwrap_value"].apply(null,arguments)};var _async_gen_wrapped_val_dealloc=Module["_async_gen_wrapped_val_dealloc"]=function(){return Module["asm"]["_async_gen_wrapped_val_dealloc"].apply(null,arguments)};var _async_gen_wrapped_val_traverse=Module["_async_gen_wrapped_val_traverse"]=function(){return Module["asm"]["_async_gen_wrapped_val_traverse"].apply(null,arguments)};var _atan=Module["_atan"]=function(){return Module["asm"]["_atan"].apply(null,arguments)};var _atan2=Module["_atan2"]=function(){return Module["asm"]["_atan2"].apply(null,arguments)};var _atan2f=Module["_atan2f"]=function(){return Module["asm"]["_atan2f"].apply(null,arguments)};var _atan2l=Module["_atan2l"]=function(){return Module["asm"]["_atan2l"].apply(null,arguments)};var _atanf=Module["_atanf"]=function(){return Module["asm"]["_atanf"].apply(null,arguments)};var _atanh=Module["_atanh"]=function(){return Module["asm"]["_atanh"].apply(null,arguments)};var _atanhf=Module["_atanhf"]=function(){return Module["asm"]["_atanhf"].apply(null,arguments)};var _atanhl=Module["_atanhl"]=function(){return Module["asm"]["_atanhl"].apply(null,arguments)};var _atanl=Module["_atanl"]=function(){return Module["asm"]["_atanl"].apply(null,arguments)};var _atexit_callfuncs=Module["_atexit_callfuncs"]=function(){return Module["asm"]["_atexit_callfuncs"].apply(null,arguments)};var _atexit_clear=Module["_atexit_clear"]=function(){return Module["asm"]["_atexit_clear"].apply(null,arguments)};var _atexit_exec=Module["_atexit_exec"]=function(){return Module["asm"]["_atexit_exec"].apply(null,arguments)};var _atexit_free=Module["_atexit_free"]=function(){return Module["asm"]["_atexit_free"].apply(null,arguments)};var _atexit_m_clear=Module["_atexit_m_clear"]=function(){return Module["asm"]["_atexit_m_clear"].apply(null,arguments)};var _atexit_m_traverse=Module["_atexit_m_traverse"]=function(){return Module["asm"]["_atexit_m_traverse"].apply(null,arguments)};var _atexit_ncallbacks=Module["_atexit_ncallbacks"]=function(){return Module["asm"]["_atexit_ncallbacks"].apply(null,arguments)};var _atexit_register=Module["_atexit_register"]=function(){return Module["asm"]["_atexit_register"].apply(null,arguments)};var _atexit_run_exitfuncs=Module["_atexit_run_exitfuncs"]=function(){return Module["asm"]["_atexit_run_exitfuncs"].apply(null,arguments)};var _atexit_unregister=Module["_atexit_unregister"]=function(){return Module["asm"]["_atexit_unregister"].apply(null,arguments)};var _atof=Module["_atof"]=function(){return Module["asm"]["_atof"].apply(null,arguments)};var _atoi=Module["_atoi"]=function(){return Module["asm"]["_atoi"].apply(null,arguments)};var _atol=Module["_atol"]=function(){return Module["asm"]["_atol"].apply(null,arguments)};var _atoll=Module["_atoll"]=function(){return Module["asm"]["_atoll"].apply(null,arguments)};var _attachBackupObject=Module["_attachBackupObject"]=function(){return Module["asm"]["_attachBackupObject"].apply(null,arguments)};var _attachFunc=Module["_attachFunc"]=function(){return Module["asm"]["_attachFunc"].apply(null,arguments)};var _attlist0=Module["_attlist0"]=function(){return Module["asm"]["_attlist0"].apply(null,arguments)};var _attlist1=Module["_attlist1"]=function(){return Module["asm"]["_attlist1"].apply(null,arguments)};var _attlist2=Module["_attlist2"]=function(){return Module["asm"]["_attlist2"].apply(null,arguments)};var _attlist3=Module["_attlist3"]=function(){return Module["asm"]["_attlist3"].apply(null,arguments)};var _attlist4=Module["_attlist4"]=function(){return Module["asm"]["_attlist4"].apply(null,arguments)};var _attlist5=Module["_attlist5"]=function(){return Module["asm"]["_attlist5"].apply(null,arguments)};var _attlist6=Module["_attlist6"]=function(){return Module["asm"]["_attlist6"].apply(null,arguments)};var _attlist7=Module["_attlist7"]=function(){return Module["asm"]["_attlist7"].apply(null,arguments)};var _attlist8=Module["_attlist8"]=function(){return Module["asm"]["_attlist8"].apply(null,arguments)};var _attlist9=Module["_attlist9"]=function(){return Module["asm"]["_attlist9"].apply(null,arguments)};var _attrgetter_args=Module["_attrgetter_args"]=function(){return Module["asm"]["_attrgetter_args"].apply(null,arguments)};var _attrgetter_call=Module["_attrgetter_call"]=function(){return Module["asm"]["_attrgetter_call"].apply(null,arguments)};var _attrgetter_dealloc=Module["_attrgetter_dealloc"]=function(){return Module["asm"]["_attrgetter_dealloc"].apply(null,arguments)};var _attrgetter_new=Module["_attrgetter_new"]=function(){return Module["asm"]["_attrgetter_new"].apply(null,arguments)};var _attrgetter_reduce=Module["_attrgetter_reduce"]=function(){return Module["asm"]["_attrgetter_reduce"].apply(null,arguments)};var _attrgetter_repr=Module["_attrgetter_repr"]=function(){return Module["asm"]["_attrgetter_repr"].apply(null,arguments)};var _attrgetter_traverse=Module["_attrgetter_traverse"]=function(){return Module["asm"]["_attrgetter_traverse"].apply(null,arguments)};var _autoIncBegin=Module["_autoIncBegin"]=function(){return Module["asm"]["_autoIncBegin"].apply(null,arguments)};var _autoIncStep=Module["_autoIncStep"]=function(){return Module["asm"]["_autoIncStep"].apply(null,arguments)};var _autoIncrementEnd=Module["_autoIncrementEnd"]=function(){return Module["asm"]["_autoIncrementEnd"].apply(null,arguments)};var _autoVacuumCommit=Module["_autoVacuumCommit"]=function(){return Module["asm"]["_autoVacuumCommit"].apply(null,arguments)};var _avgFinalize=Module["_avgFinalize"]=function(){return Module["asm"]["_avgFinalize"].apply(null,arguments)};var _b_compareitems=Module["_b_compareitems"]=function(){return Module["asm"]["_b_compareitems"].apply(null,arguments)};var _b_getitem=Module["_b_getitem"]=function(){return Module["asm"]["_b_getitem"].apply(null,arguments)};var _b_setitem=Module["_b_setitem"]=function(){return Module["asm"]["_b_setitem"].apply(null,arguments)};var _backslashreplace=Module["_backslashreplace"]=function(){return Module["asm"]["_backslashreplace"].apply(null,arguments)};var _backslashreplace_errors=Module["_backslashreplace_errors"]=function(){return Module["asm"]["_backslashreplace_errors"].apply(null,arguments)};var _backupOnePage=Module["_backupOnePage"]=function(){return Module["asm"]["_backupOnePage"].apply(null,arguments)};var _backupTruncateFile=Module["_backupTruncateFile"]=function(){return Module["asm"]["_backupTruncateFile"].apply(null,arguments)};var _backupUpdate=Module["_backupUpdate"]=function(){return Module["asm"]["_backupUpdate"].apply(null,arguments)};var _balance=Module["_balance"]=function(){return Module["asm"]["_balance"].apply(null,arguments)};var _balance_deeper=Module["_balance_deeper"]=function(){return Module["asm"]["_balance_deeper"].apply(null,arguments)};var _balance_nonroot=Module["_balance_nonroot"]=function(){return Module["asm"]["_balance_nonroot"].apply(null,arguments)};var _balance_quick=Module["_balance_quick"]=function(){return Module["asm"]["_balance_quick"].apply(null,arguments)};var _basename=Module["_basename"]=function(){return Module["asm"]["_basename"].apply(null,arguments)};var _batch_dict=Module["_batch_dict"]=function(){return Module["asm"]["_batch_dict"].apply(null,arguments)};var _batch_list=Module["_batch_list"]=function(){return Module["asm"]["_batch_list"].apply(null,arguments)};var _bcmp=Module["_bcmp"]=function(){return Module["asm"]["_bcmp"].apply(null,arguments)};var _bcopy=Module["_bcopy"]=function(){return Module["asm"]["_bcopy"].apply(null,arguments)};var _bdf_cmap_char_index=Module["_bdf_cmap_char_index"]=function(){return Module["asm"]["_bdf_cmap_char_index"].apply(null,arguments)};var _bdf_cmap_char_next=Module["_bdf_cmap_char_next"]=function(){return Module["asm"]["_bdf_cmap_char_next"].apply(null,arguments)};var _bdf_cmap_done=Module["_bdf_cmap_done"]=function(){return Module["asm"]["_bdf_cmap_done"].apply(null,arguments)};var _bdf_cmap_init=Module["_bdf_cmap_init"]=function(){return Module["asm"]["_bdf_cmap_init"].apply(null,arguments)};var _bdf_driver_requester=Module["_bdf_driver_requester"]=function(){return Module["asm"]["_bdf_driver_requester"].apply(null,arguments)};var _bdf_free_font=Module["_bdf_free_font"]=function(){return Module["asm"]["_bdf_free_font"].apply(null,arguments)};var _bdf_get_bdf_property=Module["_bdf_get_bdf_property"]=function(){return Module["asm"]["_bdf_get_bdf_property"].apply(null,arguments)};var _bdf_get_charset_id=Module["_bdf_get_charset_id"]=function(){return Module["asm"]["_bdf_get_charset_id"].apply(null,arguments)};var _best_base=Module["_best_base"]=function(){return Module["asm"]["_best_base"].apply(null,arguments)};var _big2_attributeValueTok=Module["_big2_attributeValueTok"]=function(){return Module["asm"]["_big2_attributeValueTok"].apply(null,arguments)};var _big2_cdataSectionTok=Module["_big2_cdataSectionTok"]=function(){return Module["asm"]["_big2_cdataSectionTok"].apply(null,arguments)};var _big2_charRefNumber=Module["_big2_charRefNumber"]=function(){return Module["asm"]["_big2_charRefNumber"].apply(null,arguments)};var _big2_contentTok=Module["_big2_contentTok"]=function(){return Module["asm"]["_big2_contentTok"].apply(null,arguments)};var _big2_entityValueTok=Module["_big2_entityValueTok"]=function(){return Module["asm"]["_big2_entityValueTok"].apply(null,arguments)};var _big2_getAtts=Module["_big2_getAtts"]=function(){return Module["asm"]["_big2_getAtts"].apply(null,arguments)};var _big2_ignoreSectionTok=Module["_big2_ignoreSectionTok"]=function(){return Module["asm"]["_big2_ignoreSectionTok"].apply(null,arguments)};var _big2_isPublicId=Module["_big2_isPublicId"]=function(){return Module["asm"]["_big2_isPublicId"].apply(null,arguments)};var _big2_nameLength=Module["_big2_nameLength"]=function(){return Module["asm"]["_big2_nameLength"].apply(null,arguments)};var _big2_nameMatchesAscii=Module["_big2_nameMatchesAscii"]=function(){return Module["asm"]["_big2_nameMatchesAscii"].apply(null,arguments)};var _big2_predefinedEntityName=Module["_big2_predefinedEntityName"]=function(){return Module["asm"]["_big2_predefinedEntityName"].apply(null,arguments)};var _big2_prologTok=Module["_big2_prologTok"]=function(){return Module["asm"]["_big2_prologTok"].apply(null,arguments)};var _big2_sameName=Module["_big2_sameName"]=function(){return Module["asm"]["_big2_sameName"].apply(null,arguments)};var _big2_scanComment=Module["_big2_scanComment"]=function(){return Module["asm"]["_big2_scanComment"].apply(null,arguments)};var _big2_scanLit=Module["_big2_scanLit"]=function(){return Module["asm"]["_big2_scanLit"].apply(null,arguments)};var _big2_scanPercent=Module["_big2_scanPercent"]=function(){return Module["asm"]["_big2_scanPercent"].apply(null,arguments)};var _big2_scanPi=Module["_big2_scanPi"]=function(){return Module["asm"]["_big2_scanPi"].apply(null,arguments)};var _big2_scanRef=Module["_big2_scanRef"]=function(){return Module["asm"]["_big2_scanRef"].apply(null,arguments)};var _big2_skipS=Module["_big2_skipS"]=function(){return Module["asm"]["_big2_skipS"].apply(null,arguments)};var _big2_toUtf16=Module["_big2_toUtf16"]=function(){return Module["asm"]["_big2_toUtf16"].apply(null,arguments)};var _big2_toUtf8=Module["_big2_toUtf8"]=function(){return Module["asm"]["_big2_toUtf8"].apply(null,arguments)};var _big2_updatePosition=Module["_big2_updatePosition"]=function(){return Module["asm"]["_big2_updatePosition"].apply(null,arguments)};var _big5_decode=Module["_big5_decode"]=function(){return Module["asm"]["_big5_decode"].apply(null,arguments)};var _big5_encode=Module["_big5_encode"]=function(){return Module["asm"]["_big5_encode"].apply(null,arguments)};var _big5hkscs_codec_init=Module["_big5hkscs_codec_init"]=function(){return Module["asm"]["_big5hkscs_codec_init"].apply(null,arguments)};var _big5hkscs_decode=Module["_big5hkscs_decode"]=function(){return Module["asm"]["_big5hkscs_decode"].apply(null,arguments)};var _big5hkscs_encode=Module["_big5hkscs_encode"]=function(){return Module["asm"]["_big5hkscs_encode"].apply(null,arguments)};var _binCollFunc=Module["_binCollFunc"]=function(){return Module["asm"]["_binCollFunc"].apply(null,arguments)};var _binaryCompareP5=Module["_binaryCompareP5"]=function(){return Module["asm"]["_binaryCompareP5"].apply(null,arguments)};var _binaryToUnaryIfNull=Module["_binaryToUnaryIfNull"]=function(){return Module["asm"]["_binaryToUnaryIfNull"].apply(null,arguments)};var _binary_op=Module["_binary_op"]=function(){return Module["asm"]["_binary_op"].apply(null,arguments)};var _binary_op1=Module["_binary_op1"]=function(){return Module["asm"]["_binary_op1"].apply(null,arguments)};var _binascii_a2b_base64=Module["_binascii_a2b_base64"]=function(){return Module["asm"]["_binascii_a2b_base64"].apply(null,arguments)};var _binascii_a2b_hex=Module["_binascii_a2b_hex"]=function(){return Module["asm"]["_binascii_a2b_hex"].apply(null,arguments)};var _binascii_a2b_hex_impl=Module["_binascii_a2b_hex_impl"]=function(){return Module["asm"]["_binascii_a2b_hex_impl"].apply(null,arguments)};var _binascii_a2b_hqx=Module["_binascii_a2b_hqx"]=function(){return Module["asm"]["_binascii_a2b_hqx"].apply(null,arguments)};var _binascii_a2b_qp=Module["_binascii_a2b_qp"]=function(){return Module["asm"]["_binascii_a2b_qp"].apply(null,arguments)};var _binascii_a2b_uu=Module["_binascii_a2b_uu"]=function(){return Module["asm"]["_binascii_a2b_uu"].apply(null,arguments)};var _binascii_b2a_base64=Module["_binascii_b2a_base64"]=function(){return Module["asm"]["_binascii_b2a_base64"].apply(null,arguments)};var _binascii_b2a_hex=Module["_binascii_b2a_hex"]=function(){return Module["asm"]["_binascii_b2a_hex"].apply(null,arguments)};var _binascii_b2a_hqx=Module["_binascii_b2a_hqx"]=function(){return Module["asm"]["_binascii_b2a_hqx"].apply(null,arguments)};var _binascii_b2a_qp=Module["_binascii_b2a_qp"]=function(){return Module["asm"]["_binascii_b2a_qp"].apply(null,arguments)};var _binascii_b2a_uu=Module["_binascii_b2a_uu"]=function(){return Module["asm"]["_binascii_b2a_uu"].apply(null,arguments)};var _binascii_crc32=Module["_binascii_crc32"]=function(){return Module["asm"]["_binascii_crc32"].apply(null,arguments)};var _binascii_crc_hqx=Module["_binascii_crc_hqx"]=function(){return Module["asm"]["_binascii_crc_hqx"].apply(null,arguments)};var _binascii_hexlify=Module["_binascii_hexlify"]=function(){return Module["asm"]["_binascii_hexlify"].apply(null,arguments)};var _binascii_rlecode_hqx=Module["_binascii_rlecode_hqx"]=function(){return Module["asm"]["_binascii_rlecode_hqx"].apply(null,arguments)};var _binascii_rledecode_hqx=Module["_binascii_rledecode_hqx"]=function(){return Module["asm"]["_binascii_rledecode_hqx"].apply(null,arguments)};var _binascii_unhexlify=Module["_binascii_unhexlify"]=function(){return Module["asm"]["_binascii_unhexlify"].apply(null,arguments)};var _bind=Module["_bind"]=function(){return Module["asm"]["_bind"].apply(null,arguments)};var _bindText=Module["_bindText"]=function(){return Module["asm"]["_bindText"].apply(null,arguments)};var _bind_textdomain_codeset=Module["_bind_textdomain_codeset"]=function(){return Module["asm"]["_bind_textdomain_codeset"].apply(null,arguments)};var _bindtextdomain=Module["_bindtextdomain"]=function(){return Module["asm"]["_bindtextdomain"].apply(null,arguments)};var _binop=Module["_binop"]=function(){return Module["asm"]["_binop"].apply(null,arguments)};var _bisect_left=Module["_bisect_left"]=function(){return Module["asm"]["_bisect_left"].apply(null,arguments)};var _bisect_right=Module["_bisect_right"]=function(){return Module["asm"]["_bisect_right"].apply(null,arguments)};var _bitshift64Ashr=Module["_bitshift64Ashr"]=function(){return Module["asm"]["_bitshift64Ashr"].apply(null,arguments)};var _bitshift64Lshr=Module["_bitshift64Lshr"]=function(){return Module["asm"]["_bitshift64Lshr"].apply(null,arguments)};var _bitshift64Shl=Module["_bitshift64Shl"]=function(){return Module["asm"]["_bitshift64Shl"].apply(null,arguments)};var _blobGrowBuffer=Module["_blobGrowBuffer"]=function(){return Module["asm"]["_blobGrowBuffer"].apply(null,arguments)};var _blobReadWrite=Module["_blobReadWrite"]=function(){return Module["asm"]["_blobReadWrite"].apply(null,arguments)};var _blobSeekToRow=Module["_blobSeekToRow"]=function(){return Module["asm"]["_blobSeekToRow"].apply(null,arguments)};var _bool_and=Module["_bool_and"]=function(){return Module["asm"]["_bool_and"].apply(null,arguments)};var _bool_new=Module["_bool_new"]=function(){return Module["asm"]["_bool_new"].apply(null,arguments)};var _bool_or=Module["_bool_or"]=function(){return Module["asm"]["_bool_or"].apply(null,arguments)};var _bool_repr=Module["_bool_repr"]=function(){return Module["asm"]["_bool_repr"].apply(null,arguments)};var _bool_xor=Module["_bool_xor"]=function(){return Module["asm"]["_bool_xor"].apply(null,arguments)};var _bounded_lru_cache_wrapper=Module["_bounded_lru_cache_wrapper"]=function(){return Module["asm"]["_bounded_lru_cache_wrapper"].apply(null,arguments)};var _bp_bool=Module["_bp_bool"]=function(){return Module["asm"]["_bp_bool"].apply(null,arguments)};var _bp_double=Module["_bp_double"]=function(){return Module["asm"]["_bp_double"].apply(null,arguments)};var _bp_float=Module["_bp_float"]=function(){return Module["asm"]["_bp_float"].apply(null,arguments)};var _bp_halffloat=Module["_bp_halffloat"]=function(){return Module["asm"]["_bp_halffloat"].apply(null,arguments)};var _bp_int=Module["_bp_int"]=function(){return Module["asm"]["_bp_int"].apply(null,arguments)};var _bp_longlong=Module["_bp_longlong"]=function(){return Module["asm"]["_bp_longlong"].apply(null,arguments)};var _bp_uint=Module["_bp_uint"]=function(){return Module["asm"]["_bp_uint"].apply(null,arguments)};var _bp_ulonglong=Module["_bp_ulonglong"]=function(){return Module["asm"]["_bp_ulonglong"].apply(null,arguments)};var _brk=Module["_brk"]=function(){return Module["asm"]["_brk"].apply(null,arguments)};var _bsPutUInt32=Module["_bsPutUInt32"]=function(){return Module["asm"]["_bsPutUInt32"].apply(null,arguments)};var _bsearch=Module["_bsearch"]=function(){return Module["asm"]["_bsearch"].apply(null,arguments)};var _btowc=Module["_btowc"]=function(){return Module["asm"]["_btowc"].apply(null,arguments)};var _btreeClearHasContent=Module["_btreeClearHasContent"]=function(){return Module["asm"]["_btreeClearHasContent"].apply(null,arguments)};var _btreeCreateTable=Module["_btreeCreateTable"]=function(){return Module["asm"]["_btreeCreateTable"].apply(null,arguments)};var _btreeCursor=Module["_btreeCursor"]=function(){return Module["asm"]["_btreeCursor"].apply(null,arguments)};var _btreeDropTable=Module["_btreeDropTable"]=function(){return Module["asm"]["_btreeDropTable"].apply(null,arguments)};var _btreeEndTransaction=Module["_btreeEndTransaction"]=function(){return Module["asm"]["_btreeEndTransaction"].apply(null,arguments)};var _btreeEnterAll=Module["_btreeEnterAll"]=function(){return Module["asm"]["_btreeEnterAll"].apply(null,arguments)};var _btreeGetHasContent=Module["_btreeGetHasContent"]=function(){return Module["asm"]["_btreeGetHasContent"].apply(null,arguments)};var _btreeGetPage=Module["_btreeGetPage"]=function(){return Module["asm"]["_btreeGetPage"].apply(null,arguments)};var _btreeGetUnusedPage=Module["_btreeGetUnusedPage"]=function(){return Module["asm"]["_btreeGetUnusedPage"].apply(null,arguments)};var _btreeHeapInsert=Module["_btreeHeapInsert"]=function(){return Module["asm"]["_btreeHeapInsert"].apply(null,arguments)};var _btreeHeapPull=Module["_btreeHeapPull"]=function(){return Module["asm"]["_btreeHeapPull"].apply(null,arguments)};var _btreeInitPage=Module["_btreeInitPage"]=function(){return Module["asm"]["_btreeInitPage"].apply(null,arguments)};var _btreeInvokeBusyHandler=Module["_btreeInvokeBusyHandler"]=function(){return Module["asm"]["_btreeInvokeBusyHandler"].apply(null,arguments)};var _btreeLeaveAll=Module["_btreeLeaveAll"]=function(){return Module["asm"]["_btreeLeaveAll"].apply(null,arguments)};var _btreeLockCarefully=Module["_btreeLockCarefully"]=function(){return Module["asm"]["_btreeLockCarefully"].apply(null,arguments)};var _btreeMoveto=Module["_btreeMoveto"]=function(){return Module["asm"]["_btreeMoveto"].apply(null,arguments)};var _btreeNext=Module["_btreeNext"]=function(){return Module["asm"]["_btreeNext"].apply(null,arguments)};var _btreeOverwriteCell=Module["_btreeOverwriteCell"]=function(){return Module["asm"]["_btreeOverwriteCell"].apply(null,arguments)};var _btreeOverwriteContent=Module["_btreeOverwriteContent"]=function(){return Module["asm"]["_btreeOverwriteContent"].apply(null,arguments)};var _btreePageFromDbPage=Module["_btreePageFromDbPage"]=function(){return Module["asm"]["_btreePageFromDbPage"].apply(null,arguments)};var _btreePageLookup=Module["_btreePageLookup"]=function(){return Module["asm"]["_btreePageLookup"].apply(null,arguments)};var _btreePagecount=Module["_btreePagecount"]=function(){return Module["asm"]["_btreePagecount"].apply(null,arguments)};var _btreeParseCell=Module["_btreeParseCell"]=function(){return Module["asm"]["_btreeParseCell"].apply(null,arguments)};var _btreeParseCellAdjustSizeForOverflow=Module["_btreeParseCellAdjustSizeForOverflow"]=function(){return Module["asm"]["_btreeParseCellAdjustSizeForOverflow"].apply(null,arguments)};var _btreeParseCellPtr=Module["_btreeParseCellPtr"]=function(){return Module["asm"]["_btreeParseCellPtr"].apply(null,arguments)};var _btreeParseCellPtrIndex=Module["_btreeParseCellPtrIndex"]=function(){return Module["asm"]["_btreeParseCellPtrIndex"].apply(null,arguments)};var _btreeParseCellPtrNoPayload=Module["_btreeParseCellPtrNoPayload"]=function(){return Module["asm"]["_btreeParseCellPtrNoPayload"].apply(null,arguments)};var _btreePrevious=Module["_btreePrevious"]=function(){return Module["asm"]["_btreePrevious"].apply(null,arguments)};var _btreeReleaseAllCursorPages=Module["_btreeReleaseAllCursorPages"]=function(){return Module["asm"]["_btreeReleaseAllCursorPages"].apply(null,arguments)};var _btreeRestoreCursorPosition=Module["_btreeRestoreCursorPosition"]=function(){return Module["asm"]["_btreeRestoreCursorPosition"].apply(null,arguments)};var _btreeSetHasContent=Module["_btreeSetHasContent"]=function(){return Module["asm"]["_btreeSetHasContent"].apply(null,arguments)};var _bu_bool=Module["_bu_bool"]=function(){return Module["asm"]["_bu_bool"].apply(null,arguments)};var _bu_double=Module["_bu_double"]=function(){return Module["asm"]["_bu_double"].apply(null,arguments)};var _bu_float=Module["_bu_float"]=function(){return Module["asm"]["_bu_float"].apply(null,arguments)};var _bu_halffloat=Module["_bu_halffloat"]=function(){return Module["asm"]["_bu_halffloat"].apply(null,arguments)};var _bu_int=Module["_bu_int"]=function(){return Module["asm"]["_bu_int"].apply(null,arguments)};var _bu_longlong=Module["_bu_longlong"]=function(){return Module["asm"]["_bu_longlong"].apply(null,arguments)};var _bu_uint=Module["_bu_uint"]=function(){return Module["asm"]["_bu_uint"].apply(null,arguments)};var _bu_ulonglong=Module["_bu_ulonglong"]=function(){return Module["asm"]["_bu_ulonglong"].apply(null,arguments)};var _buf_setreadl=Module["_buf_setreadl"]=function(){return Module["asm"]["_buf_setreadl"].apply(null,arguments)};var _buffer_to_contiguous=Module["_buffer_to_contiguous"]=function(){return Module["asm"]["_buffer_to_contiguous"].apply(null,arguments)};var _buffered_clear=Module["_buffered_clear"]=function(){return Module["asm"]["_buffered_clear"].apply(null,arguments)};var _buffered_close=Module["_buffered_close"]=function(){return Module["asm"]["_buffered_close"].apply(null,arguments)};var _buffered_closed_get=Module["_buffered_closed_get"]=function(){return Module["asm"]["_buffered_closed_get"].apply(null,arguments)};var _buffered_dealloc=Module["_buffered_dealloc"]=function(){return Module["asm"]["_buffered_dealloc"].apply(null,arguments)};var _buffered_dealloc_warn=Module["_buffered_dealloc_warn"]=function(){return Module["asm"]["_buffered_dealloc_warn"].apply(null,arguments)};var _buffered_detach=Module["_buffered_detach"]=function(){return Module["asm"]["_buffered_detach"].apply(null,arguments)};var _buffered_fileno=Module["_buffered_fileno"]=function(){return Module["asm"]["_buffered_fileno"].apply(null,arguments)};var _buffered_flush=Module["_buffered_flush"]=function(){return Module["asm"]["_buffered_flush"].apply(null,arguments)};var _buffered_getstate=Module["_buffered_getstate"]=function(){return Module["asm"]["_buffered_getstate"].apply(null,arguments)};var _buffered_isatty=Module["_buffered_isatty"]=function(){return Module["asm"]["_buffered_isatty"].apply(null,arguments)};var _buffered_iternext=Module["_buffered_iternext"]=function(){return Module["asm"]["_buffered_iternext"].apply(null,arguments)};var _buffered_mode_get=Module["_buffered_mode_get"]=function(){return Module["asm"]["_buffered_mode_get"].apply(null,arguments)};var _buffered_name_get=Module["_buffered_name_get"]=function(){return Module["asm"]["_buffered_name_get"].apply(null,arguments)};var _buffered_readable=Module["_buffered_readable"]=function(){return Module["asm"]["_buffered_readable"].apply(null,arguments)};var _buffered_repr=Module["_buffered_repr"]=function(){return Module["asm"]["_buffered_repr"].apply(null,arguments)};var _buffered_seekable=Module["_buffered_seekable"]=function(){return Module["asm"]["_buffered_seekable"].apply(null,arguments)};var _buffered_simple_flush=Module["_buffered_simple_flush"]=function(){return Module["asm"]["_buffered_simple_flush"].apply(null,arguments)};var _buffered_sizeof=Module["_buffered_sizeof"]=function(){return Module["asm"]["_buffered_sizeof"].apply(null,arguments)};var _buffered_tell=Module["_buffered_tell"]=function(){return Module["asm"]["_buffered_tell"].apply(null,arguments)};var _buffered_traverse=Module["_buffered_traverse"]=function(){return Module["asm"]["_buffered_traverse"].apply(null,arguments)};var _buffered_writable=Module["_buffered_writable"]=function(){return Module["asm"]["_buffered_writable"].apply(null,arguments)};var _bufferediobase_read=Module["_bufferediobase_read"]=function(){return Module["asm"]["_bufferediobase_read"].apply(null,arguments)};var _bufferediobase_read1=Module["_bufferediobase_read1"]=function(){return Module["asm"]["_bufferediobase_read1"].apply(null,arguments)};var _bufferediobase_write=Module["_bufferediobase_write"]=function(){return Module["asm"]["_bufferediobase_write"].apply(null,arguments)};var _bufferedrwpair_clear=Module["_bufferedrwpair_clear"]=function(){return Module["asm"]["_bufferedrwpair_clear"].apply(null,arguments)};var _bufferedrwpair_close=Module["_bufferedrwpair_close"]=function(){return Module["asm"]["_bufferedrwpair_close"].apply(null,arguments)};var _bufferedrwpair_closed_get=Module["_bufferedrwpair_closed_get"]=function(){return Module["asm"]["_bufferedrwpair_closed_get"].apply(null,arguments)};var _bufferedrwpair_dealloc=Module["_bufferedrwpair_dealloc"]=function(){return Module["asm"]["_bufferedrwpair_dealloc"].apply(null,arguments)};var _bufferedrwpair_flush=Module["_bufferedrwpair_flush"]=function(){return Module["asm"]["_bufferedrwpair_flush"].apply(null,arguments)};var _bufferedrwpair_isatty=Module["_bufferedrwpair_isatty"]=function(){return Module["asm"]["_bufferedrwpair_isatty"].apply(null,arguments)};var _bufferedrwpair_peek=Module["_bufferedrwpair_peek"]=function(){return Module["asm"]["_bufferedrwpair_peek"].apply(null,arguments)};var _bufferedrwpair_read=Module["_bufferedrwpair_read"]=function(){return Module["asm"]["_bufferedrwpair_read"].apply(null,arguments)};var _bufferedrwpair_read1=Module["_bufferedrwpair_read1"]=function(){return Module["asm"]["_bufferedrwpair_read1"].apply(null,arguments)};var _bufferedrwpair_readable=Module["_bufferedrwpair_readable"]=function(){return Module["asm"]["_bufferedrwpair_readable"].apply(null,arguments)};var _bufferedrwpair_readinto=Module["_bufferedrwpair_readinto"]=function(){return Module["asm"]["_bufferedrwpair_readinto"].apply(null,arguments)};var _bufferedrwpair_readinto1=Module["_bufferedrwpair_readinto1"]=function(){return Module["asm"]["_bufferedrwpair_readinto1"].apply(null,arguments)};var _bufferedrwpair_traverse=Module["_bufferedrwpair_traverse"]=function(){return Module["asm"]["_bufferedrwpair_traverse"].apply(null,arguments)};var _bufferedrwpair_writable=Module["_bufferedrwpair_writable"]=function(){return Module["asm"]["_bufferedrwpair_writable"].apply(null,arguments)};var _bufferedrwpair_write=Module["_bufferedrwpair_write"]=function(){return Module["asm"]["_bufferedrwpair_write"].apply(null,arguments)};var _build_node=Module["_build_node"]=function(){return Module["asm"]["_build_node"].apply(null,arguments)};var _build_node_children=Module["_build_node_children"]=function(){return Module["asm"]["_build_node_children"].apply(null,arguments)};var _build_string=Module["_build_string"]=function(){return Module["asm"]["_build_string"].apply(null,arguments)};var _build_struct_time=Module["_build_struct_time"]=function(){return Module["asm"]["_build_struct_time"].apply(null,arguments)};var _build_tree=Module["_build_tree"]=function(){return Module["asm"]["_build_tree"].apply(null,arguments)};var _builtin___build_class__=Module["_builtin___build_class__"]=function(){return Module["asm"]["_builtin___build_class__"].apply(null,arguments)};var _builtin___import__=Module["_builtin___import__"]=function(){return Module["asm"]["_builtin___import__"].apply(null,arguments)};var _builtin_abs=Module["_builtin_abs"]=function(){return Module["asm"]["_builtin_abs"].apply(null,arguments)};var _builtin_all=Module["_builtin_all"]=function(){return Module["asm"]["_builtin_all"].apply(null,arguments)};var _builtin_any=Module["_builtin_any"]=function(){return Module["asm"]["_builtin_any"].apply(null,arguments)};var _builtin_ascii=Module["_builtin_ascii"]=function(){return Module["asm"]["_builtin_ascii"].apply(null,arguments)};var _builtin_bin=Module["_builtin_bin"]=function(){return Module["asm"]["_builtin_bin"].apply(null,arguments)};var _builtin_breakpoint=Module["_builtin_breakpoint"]=function(){return Module["asm"]["_builtin_breakpoint"].apply(null,arguments)};var _builtin_callable=Module["_builtin_callable"]=function(){return Module["asm"]["_builtin_callable"].apply(null,arguments)};var _builtin_chr=Module["_builtin_chr"]=function(){return Module["asm"]["_builtin_chr"].apply(null,arguments)};var _builtin_compile=Module["_builtin_compile"]=function(){return Module["asm"]["_builtin_compile"].apply(null,arguments)};var _builtin_delattr=Module["_builtin_delattr"]=function(){return Module["asm"]["_builtin_delattr"].apply(null,arguments)};var _builtin_dir=Module["_builtin_dir"]=function(){return Module["asm"]["_builtin_dir"].apply(null,arguments)};var _builtin_divmod=Module["_builtin_divmod"]=function(){return Module["asm"]["_builtin_divmod"].apply(null,arguments)};var _builtin_eval=Module["_builtin_eval"]=function(){return Module["asm"]["_builtin_eval"].apply(null,arguments)};var _builtin_exec=Module["_builtin_exec"]=function(){return Module["asm"]["_builtin_exec"].apply(null,arguments)};var _builtin_format=Module["_builtin_format"]=function(){return Module["asm"]["_builtin_format"].apply(null,arguments)};var _builtin_getattr=Module["_builtin_getattr"]=function(){return Module["asm"]["_builtin_getattr"].apply(null,arguments)};var _builtin_globals=Module["_builtin_globals"]=function(){return Module["asm"]["_builtin_globals"].apply(null,arguments)};var _builtin_hasattr=Module["_builtin_hasattr"]=function(){return Module["asm"]["_builtin_hasattr"].apply(null,arguments)};var _builtin_hash=Module["_builtin_hash"]=function(){return Module["asm"]["_builtin_hash"].apply(null,arguments)};var _builtin_hex=Module["_builtin_hex"]=function(){return Module["asm"]["_builtin_hex"].apply(null,arguments)};var _builtin_id=Module["_builtin_id"]=function(){return Module["asm"]["_builtin_id"].apply(null,arguments)};var _builtin_input=Module["_builtin_input"]=function(){return Module["asm"]["_builtin_input"].apply(null,arguments)};var _builtin_isinstance=Module["_builtin_isinstance"]=function(){return Module["asm"]["_builtin_isinstance"].apply(null,arguments)};var _builtin_issubclass=Module["_builtin_issubclass"]=function(){return Module["asm"]["_builtin_issubclass"].apply(null,arguments)};var _builtin_iter=Module["_builtin_iter"]=function(){return Module["asm"]["_builtin_iter"].apply(null,arguments)};var _builtin_len=Module["_builtin_len"]=function(){return Module["asm"]["_builtin_len"].apply(null,arguments)};var _builtin_locals=Module["_builtin_locals"]=function(){return Module["asm"]["_builtin_locals"].apply(null,arguments)};var _builtin_max=Module["_builtin_max"]=function(){return Module["asm"]["_builtin_max"].apply(null,arguments)};var _builtin_min=Module["_builtin_min"]=function(){return Module["asm"]["_builtin_min"].apply(null,arguments)};var _builtin_next=Module["_builtin_next"]=function(){return Module["asm"]["_builtin_next"].apply(null,arguments)};var _builtin_oct=Module["_builtin_oct"]=function(){return Module["asm"]["_builtin_oct"].apply(null,arguments)};var _builtin_ord=Module["_builtin_ord"]=function(){return Module["asm"]["_builtin_ord"].apply(null,arguments)};var _builtin_pow=Module["_builtin_pow"]=function(){return Module["asm"]["_builtin_pow"].apply(null,arguments)};var _builtin_print=Module["_builtin_print"]=function(){return Module["asm"]["_builtin_print"].apply(null,arguments)};var _builtin_repr=Module["_builtin_repr"]=function(){return Module["asm"]["_builtin_repr"].apply(null,arguments)};var _builtin_round=Module["_builtin_round"]=function(){return Module["asm"]["_builtin_round"].apply(null,arguments)};var _builtin_setattr=Module["_builtin_setattr"]=function(){return Module["asm"]["_builtin_setattr"].apply(null,arguments)};var _builtin_sorted=Module["_builtin_sorted"]=function(){return Module["asm"]["_builtin_sorted"].apply(null,arguments)};var _builtin_sum=Module["_builtin_sum"]=function(){return Module["asm"]["_builtin_sum"].apply(null,arguments)};var _builtin_vars=Module["_builtin_vars"]=function(){return Module["asm"]["_builtin_vars"].apply(null,arguments)};var _bulk_free=Module["_bulk_free"]=function(){return Module["asm"]["_bulk_free"].apply(null,arguments)};var _by_encoding=Module["_by_encoding"]=function(){return Module["asm"]["_by_encoding"].apply(null,arguments)};var _bytearray_alloc=Module["_bytearray_alloc"]=function(){return Module["asm"]["_bytearray_alloc"].apply(null,arguments)};var _bytearray_append=Module["_bytearray_append"]=function(){return Module["asm"]["_bytearray_append"].apply(null,arguments)};var _bytearray_ass_subscript=Module["_bytearray_ass_subscript"]=function(){return Module["asm"]["_bytearray_ass_subscript"].apply(null,arguments)};var _bytearray_clear=Module["_bytearray_clear"]=function(){return Module["asm"]["_bytearray_clear"].apply(null,arguments)};var _bytearray_contains=Module["_bytearray_contains"]=function(){return Module["asm"]["_bytearray_contains"].apply(null,arguments)};var _bytearray_copy=Module["_bytearray_copy"]=function(){return Module["asm"]["_bytearray_copy"].apply(null,arguments)};var _bytearray_count=Module["_bytearray_count"]=function(){return Module["asm"]["_bytearray_count"].apply(null,arguments)};var _bytearray_dealloc=Module["_bytearray_dealloc"]=function(){return Module["asm"]["_bytearray_dealloc"].apply(null,arguments)};var _bytearray_decode=Module["_bytearray_decode"]=function(){return Module["asm"]["_bytearray_decode"].apply(null,arguments)};var _bytearray_endswith=Module["_bytearray_endswith"]=function(){return Module["asm"]["_bytearray_endswith"].apply(null,arguments)};var _bytearray_extend=Module["_bytearray_extend"]=function(){return Module["asm"]["_bytearray_extend"].apply(null,arguments)};var _bytearray_find=Module["_bytearray_find"]=function(){return Module["asm"]["_bytearray_find"].apply(null,arguments)};var _bytearray_fromhex=Module["_bytearray_fromhex"]=function(){return Module["asm"]["_bytearray_fromhex"].apply(null,arguments)};var _bytearray_getbuffer=Module["_bytearray_getbuffer"]=function(){return Module["asm"]["_bytearray_getbuffer"].apply(null,arguments)};var _bytearray_getitem=Module["_bytearray_getitem"]=function(){return Module["asm"]["_bytearray_getitem"].apply(null,arguments)};var _bytearray_hex=Module["_bytearray_hex"]=function(){return Module["asm"]["_bytearray_hex"].apply(null,arguments)};var _bytearray_iconcat=Module["_bytearray_iconcat"]=function(){return Module["asm"]["_bytearray_iconcat"].apply(null,arguments)};var _bytearray_index=Module["_bytearray_index"]=function(){return Module["asm"]["_bytearray_index"].apply(null,arguments)};var _bytearray_init=Module["_bytearray_init"]=function(){return Module["asm"]["_bytearray_init"].apply(null,arguments)};var _bytearray_insert=Module["_bytearray_insert"]=function(){return Module["asm"]["_bytearray_insert"].apply(null,arguments)};var _bytearray_irepeat=Module["_bytearray_irepeat"]=function(){return Module["asm"]["_bytearray_irepeat"].apply(null,arguments)};var _bytearray_iter=Module["_bytearray_iter"]=function(){return Module["asm"]["_bytearray_iter"].apply(null,arguments)};var _bytearray_join=Module["_bytearray_join"]=function(){return Module["asm"]["_bytearray_join"].apply(null,arguments)};var _bytearray_length=Module["_bytearray_length"]=function(){return Module["asm"]["_bytearray_length"].apply(null,arguments)};var _bytearray_lstrip=Module["_bytearray_lstrip"]=function(){return Module["asm"]["_bytearray_lstrip"].apply(null,arguments)};var _bytearray_maketrans=Module["_bytearray_maketrans"]=function(){return Module["asm"]["_bytearray_maketrans"].apply(null,arguments)};var _bytearray_mod=Module["_bytearray_mod"]=function(){return Module["asm"]["_bytearray_mod"].apply(null,arguments)};var _bytearray_partition=Module["_bytearray_partition"]=function(){return Module["asm"]["_bytearray_partition"].apply(null,arguments)};var _bytearray_pop=Module["_bytearray_pop"]=function(){return Module["asm"]["_bytearray_pop"].apply(null,arguments)};var _bytearray_reduce=Module["_bytearray_reduce"]=function(){return Module["asm"]["_bytearray_reduce"].apply(null,arguments)};var _bytearray_reduce_ex=Module["_bytearray_reduce_ex"]=function(){return Module["asm"]["_bytearray_reduce_ex"].apply(null,arguments)};var _bytearray_releasebuffer=Module["_bytearray_releasebuffer"]=function(){return Module["asm"]["_bytearray_releasebuffer"].apply(null,arguments)};var _bytearray_remove=Module["_bytearray_remove"]=function(){return Module["asm"]["_bytearray_remove"].apply(null,arguments)};var _bytearray_repeat=Module["_bytearray_repeat"]=function(){return Module["asm"]["_bytearray_repeat"].apply(null,arguments)};var _bytearray_replace=Module["_bytearray_replace"]=function(){return Module["asm"]["_bytearray_replace"].apply(null,arguments)};var _bytearray_repr=Module["_bytearray_repr"]=function(){return Module["asm"]["_bytearray_repr"].apply(null,arguments)};var _bytearray_reverse=Module["_bytearray_reverse"]=function(){return Module["asm"]["_bytearray_reverse"].apply(null,arguments)};var _bytearray_rfind=Module["_bytearray_rfind"]=function(){return Module["asm"]["_bytearray_rfind"].apply(null,arguments)};var _bytearray_richcompare=Module["_bytearray_richcompare"]=function(){return Module["asm"]["_bytearray_richcompare"].apply(null,arguments)};var _bytearray_rindex=Module["_bytearray_rindex"]=function(){return Module["asm"]["_bytearray_rindex"].apply(null,arguments)};var _bytearray_rpartition=Module["_bytearray_rpartition"]=function(){return Module["asm"]["_bytearray_rpartition"].apply(null,arguments)};var _bytearray_rsplit=Module["_bytearray_rsplit"]=function(){return Module["asm"]["_bytearray_rsplit"].apply(null,arguments)};var _bytearray_rstrip=Module["_bytearray_rstrip"]=function(){return Module["asm"]["_bytearray_rstrip"].apply(null,arguments)};var _bytearray_setitem=Module["_bytearray_setitem"]=function(){return Module["asm"]["_bytearray_setitem"].apply(null,arguments)};var _bytearray_setslice=Module["_bytearray_setslice"]=function(){return Module["asm"]["_bytearray_setslice"].apply(null,arguments)};var _bytearray_setslice_linear=Module["_bytearray_setslice_linear"]=function(){return Module["asm"]["_bytearray_setslice_linear"].apply(null,arguments)};var _bytearray_sizeof=Module["_bytearray_sizeof"]=function(){return Module["asm"]["_bytearray_sizeof"].apply(null,arguments)};var _bytearray_split=Module["_bytearray_split"]=function(){return Module["asm"]["_bytearray_split"].apply(null,arguments)};var _bytearray_splitlines=Module["_bytearray_splitlines"]=function(){return Module["asm"]["_bytearray_splitlines"].apply(null,arguments)};var _bytearray_startswith=Module["_bytearray_startswith"]=function(){return Module["asm"]["_bytearray_startswith"].apply(null,arguments)};var _bytearray_str=Module["_bytearray_str"]=function(){return Module["asm"]["_bytearray_str"].apply(null,arguments)};var _bytearray_strip=Module["_bytearray_strip"]=function(){return Module["asm"]["_bytearray_strip"].apply(null,arguments)};var _bytearray_subscript=Module["_bytearray_subscript"]=function(){return Module["asm"]["_bytearray_subscript"].apply(null,arguments)};var _bytearray_translate=Module["_bytearray_translate"]=function(){return Module["asm"]["_bytearray_translate"].apply(null,arguments)};var _bytearrayiter_dealloc=Module["_bytearrayiter_dealloc"]=function(){return Module["asm"]["_bytearrayiter_dealloc"].apply(null,arguments)};var _bytearrayiter_length_hint=Module["_bytearrayiter_length_hint"]=function(){return Module["asm"]["_bytearrayiter_length_hint"].apply(null,arguments)};var _bytearrayiter_next=Module["_bytearrayiter_next"]=function(){return Module["asm"]["_bytearrayiter_next"].apply(null,arguments)};var _bytearrayiter_reduce=Module["_bytearrayiter_reduce"]=function(){return Module["asm"]["_bytearrayiter_reduce"].apply(null,arguments)};var _bytearrayiter_setstate=Module["_bytearrayiter_setstate"]=function(){return Module["asm"]["_bytearrayiter_setstate"].apply(null,arguments)};var _bytearrayiter_traverse=Module["_bytearrayiter_traverse"]=function(){return Module["asm"]["_bytearrayiter_traverse"].apply(null,arguments)};var _bytes_buffer_getbuffer=Module["_bytes_buffer_getbuffer"]=function(){return Module["asm"]["_bytes_buffer_getbuffer"].apply(null,arguments)};var _bytes_concat=Module["_bytes_concat"]=function(){return Module["asm"]["_bytes_concat"].apply(null,arguments)};var _bytes_contains=Module["_bytes_contains"]=function(){return Module["asm"]["_bytes_contains"].apply(null,arguments)};var _bytes_count=Module["_bytes_count"]=function(){return Module["asm"]["_bytes_count"].apply(null,arguments)};var _bytes_dealloc=Module["_bytes_dealloc"]=function(){return Module["asm"]["_bytes_dealloc"].apply(null,arguments)};var _bytes_decode=Module["_bytes_decode"]=function(){return Module["asm"]["_bytes_decode"].apply(null,arguments)};var _bytes_endswith=Module["_bytes_endswith"]=function(){return Module["asm"]["_bytes_endswith"].apply(null,arguments)};var _bytes_find=Module["_bytes_find"]=function(){return Module["asm"]["_bytes_find"].apply(null,arguments)};var _bytes_fromhex=Module["_bytes_fromhex"]=function(){return Module["asm"]["_bytes_fromhex"].apply(null,arguments)};var _bytes_getnewargs=Module["_bytes_getnewargs"]=function(){return Module["asm"]["_bytes_getnewargs"].apply(null,arguments)};var _bytes_hash=Module["_bytes_hash"]=function(){return Module["asm"]["_bytes_hash"].apply(null,arguments)};var _bytes_hex=Module["_bytes_hex"]=function(){return Module["asm"]["_bytes_hex"].apply(null,arguments)};var _bytes_index=Module["_bytes_index"]=function(){return Module["asm"]["_bytes_index"].apply(null,arguments)};var _bytes_item=Module["_bytes_item"]=function(){return Module["asm"]["_bytes_item"].apply(null,arguments)};var _bytes_iter=Module["_bytes_iter"]=function(){return Module["asm"]["_bytes_iter"].apply(null,arguments)};var _bytes_join=Module["_bytes_join"]=function(){return Module["asm"]["_bytes_join"].apply(null,arguments)};var _bytes_length=Module["_bytes_length"]=function(){return Module["asm"]["_bytes_length"].apply(null,arguments)};var _bytes_lstrip=Module["_bytes_lstrip"]=function(){return Module["asm"]["_bytes_lstrip"].apply(null,arguments)};var _bytes_maketrans=Module["_bytes_maketrans"]=function(){return Module["asm"]["_bytes_maketrans"].apply(null,arguments)};var _bytes_mod=Module["_bytes_mod"]=function(){return Module["asm"]["_bytes_mod"].apply(null,arguments)};var _bytes_new=Module["_bytes_new"]=function(){return Module["asm"]["_bytes_new"].apply(null,arguments)};var _bytes_partition=Module["_bytes_partition"]=function(){return Module["asm"]["_bytes_partition"].apply(null,arguments)};var _bytes_repeat=Module["_bytes_repeat"]=function(){return Module["asm"]["_bytes_repeat"].apply(null,arguments)};var _bytes_replace=Module["_bytes_replace"]=function(){return Module["asm"]["_bytes_replace"].apply(null,arguments)};var _bytes_repr=Module["_bytes_repr"]=function(){return Module["asm"]["_bytes_repr"].apply(null,arguments)};var _bytes_rfind=Module["_bytes_rfind"]=function(){return Module["asm"]["_bytes_rfind"].apply(null,arguments)};var _bytes_richcompare=Module["_bytes_richcompare"]=function(){return Module["asm"]["_bytes_richcompare"].apply(null,arguments)};var _bytes_rindex=Module["_bytes_rindex"]=function(){return Module["asm"]["_bytes_rindex"].apply(null,arguments)};var _bytes_rpartition=Module["_bytes_rpartition"]=function(){return Module["asm"]["_bytes_rpartition"].apply(null,arguments)};var _bytes_rsplit=Module["_bytes_rsplit"]=function(){return Module["asm"]["_bytes_rsplit"].apply(null,arguments)};var _bytes_rstrip=Module["_bytes_rstrip"]=function(){return Module["asm"]["_bytes_rstrip"].apply(null,arguments)};var _bytes_split=Module["_bytes_split"]=function(){return Module["asm"]["_bytes_split"].apply(null,arguments)};var _bytes_splitlines=Module["_bytes_splitlines"]=function(){return Module["asm"]["_bytes_splitlines"].apply(null,arguments)};var _bytes_startswith=Module["_bytes_startswith"]=function(){return Module["asm"]["_bytes_startswith"].apply(null,arguments)};var _bytes_str=Module["_bytes_str"]=function(){return Module["asm"]["_bytes_str"].apply(null,arguments)};var _bytes_strip=Module["_bytes_strip"]=function(){return Module["asm"]["_bytes_strip"].apply(null,arguments)};var _bytes_subscript=Module["_bytes_subscript"]=function(){return Module["asm"]["_bytes_subscript"].apply(null,arguments)};var _bytes_translate=Module["_bytes_translate"]=function(){return Module["asm"]["_bytes_translate"].apply(null,arguments)};var _bytesio_clear=Module["_bytesio_clear"]=function(){return Module["asm"]["_bytesio_clear"].apply(null,arguments)};var _bytesio_dealloc=Module["_bytesio_dealloc"]=function(){return Module["asm"]["_bytesio_dealloc"].apply(null,arguments)};var _bytesio_get_closed=Module["_bytesio_get_closed"]=function(){return Module["asm"]["_bytesio_get_closed"].apply(null,arguments)};var _bytesio_getstate=Module["_bytesio_getstate"]=function(){return Module["asm"]["_bytesio_getstate"].apply(null,arguments)};var _bytesio_iternext=Module["_bytesio_iternext"]=function(){return Module["asm"]["_bytesio_iternext"].apply(null,arguments)};var _bytesio_new=Module["_bytesio_new"]=function(){return Module["asm"]["_bytesio_new"].apply(null,arguments)};var _bytesio_setstate=Module["_bytesio_setstate"]=function(){return Module["asm"]["_bytesio_setstate"].apply(null,arguments)};var _bytesio_sizeof=Module["_bytesio_sizeof"]=function(){return Module["asm"]["_bytesio_sizeof"].apply(null,arguments)};var _bytesio_traverse=Module["_bytesio_traverse"]=function(){return Module["asm"]["_bytesio_traverse"].apply(null,arguments)};var _bytesiobuf_dealloc=Module["_bytesiobuf_dealloc"]=function(){return Module["asm"]["_bytesiobuf_dealloc"].apply(null,arguments)};var _bytesiobuf_getbuffer=Module["_bytesiobuf_getbuffer"]=function(){return Module["asm"]["_bytesiobuf_getbuffer"].apply(null,arguments)};var _bytesiobuf_releasebuffer=Module["_bytesiobuf_releasebuffer"]=function(){return Module["asm"]["_bytesiobuf_releasebuffer"].apply(null,arguments)};var _bytesiobuf_traverse=Module["_bytesiobuf_traverse"]=function(){return Module["asm"]["_bytesiobuf_traverse"].apply(null,arguments)};var _bzero=Module["_bzero"]=function(){return Module["asm"]["_bzero"].apply(null,arguments)};var _bzopen_or_bzdopen=Module["_bzopen_or_bzdopen"]=function(){return Module["asm"]["_bzopen_or_bzdopen"].apply(null,arguments)};var _c16rtomb=Module["_c16rtomb"]=function(){return Module["asm"]["_c16rtomb"].apply(null,arguments)};var _c32rtomb=Module["_c32rtomb"]=function(){return Module["asm"]["_c32rtomb"].apply(null,arguments)};var _c_log=Module["_c_log"]=function(){return Module["asm"]["_c_log"].apply(null,arguments)};var _cabs=Module["_cabs"]=function(){return Module["asm"]["_cabs"].apply(null,arguments)};var _cabsf=Module["_cabsf"]=function(){return Module["asm"]["_cabsf"].apply(null,arguments)};var _cabsl=Module["_cabsl"]=function(){return Module["asm"]["_cabsl"].apply(null,arguments)};var _cache_struct_converter=Module["_cache_struct_converter"]=function(){return Module["asm"]["_cache_struct_converter"].apply(null,arguments)};var _cachedCellSize=Module["_cachedCellSize"]=function(){return Module["asm"]["_cachedCellSize"].apply(null,arguments)};var _cacos=Module["_cacos"]=function(){return Module["asm"]["_cacos"].apply(null,arguments)};var _cacosf=Module["_cacosf"]=function(){return Module["asm"]["_cacosf"].apply(null,arguments)};var _cacosh=Module["_cacosh"]=function(){return Module["asm"]["_cacosh"].apply(null,arguments)};var _cacoshf=Module["_cacoshf"]=function(){return Module["asm"]["_cacoshf"].apply(null,arguments)};var _cacoshl=Module["_cacoshl"]=function(){return Module["asm"]["_cacoshl"].apply(null,arguments)};var _cacosl=Module["_cacosl"]=function(){return Module["asm"]["_cacosl"].apply(null,arguments)};var _calc_number_widths=Module["_calc_number_widths"]=function(){return Module["asm"]["_calc_number_widths"].apply(null,arguments)};var _calcfirstset=Module["_calcfirstset"]=function(){return Module["asm"]["_calcfirstset"].apply(null,arguments)};var _calcsize=Module["_calcsize"]=function(){return Module["asm"]["_calcsize"].apply(null,arguments)};var _call=Module["_call"]=function(){return Module["asm"]["_call"].apply(null,arguments)};var _callCollNeeded=Module["_callCollNeeded"]=function(){return Module["asm"]["_callCollNeeded"].apply(null,arguments)};var _callFinaliser=Module["_callFinaliser"]=function(){return Module["asm"]["_callFinaliser"].apply(null,arguments)};var _callStatGet=Module["_callStatGet"]=function(){return Module["asm"]["_callStatGet"].apply(null,arguments)};var _call_character_handler=Module["_call_character_handler"]=function(){return Module["asm"]["_call_character_handler"].apply(null,arguments)};var _call_error_callback=Module["_call_error_callback"]=function(){return Module["asm"]["_call_error_callback"].apply(null,arguments)};var _call_exc_trace=Module["_call_exc_trace"]=function(){return Module["asm"]["_call_exc_trace"].apply(null,arguments)};var _call_function=Module["_call_function"]=function(){return Module["asm"]["_call_function"].apply(null,arguments)};var _call_trace_protected=Module["_call_trace_protected"]=function(){return Module["asm"]["_call_trace_protected"].apply(null,arguments)};var _call_tzinfo_method=Module["_call_tzinfo_method"]=function(){return Module["asm"]["_call_tzinfo_method"].apply(null,arguments)};var _calliter_dealloc=Module["_calliter_dealloc"]=function(){return Module["asm"]["_calliter_dealloc"].apply(null,arguments)};var _calliter_iternext=Module["_calliter_iternext"]=function(){return Module["asm"]["_calliter_iternext"].apply(null,arguments)};var _calliter_reduce=Module["_calliter_reduce"]=function(){return Module["asm"]["_calliter_reduce"].apply(null,arguments)};var _calliter_traverse=Module["_calliter_traverse"]=function(){return Module["asm"]["_calliter_traverse"].apply(null,arguments)};var _calloc=Module["_calloc"]=function(){return Module["asm"]["_calloc"].apply(null,arguments)};var _cancel_dump_traceback_later=Module["_cancel_dump_traceback_later"]=function(){return Module["asm"]["_cancel_dump_traceback_later"].apply(null,arguments)};var _cannotBeFunction=Module["_cannotBeFunction"]=function(){return Module["asm"]["_cannotBeFunction"].apply(null,arguments)};var _capsule_dealloc=Module["_capsule_dealloc"]=function(){return Module["asm"]["_capsule_dealloc"].apply(null,arguments)};var _capsule_repr=Module["_capsule_repr"]=function(){return Module["asm"]["_capsule_repr"].apply(null,arguments)};var _carg=Module["_carg"]=function(){return Module["asm"]["_carg"].apply(null,arguments)};var _cargf=Module["_cargf"]=function(){return Module["asm"]["_cargf"].apply(null,arguments)};var _cargl=Module["_cargl"]=function(){return Module["asm"]["_cargl"].apply(null,arguments)};var _case_operation=Module["_case_operation"]=function(){return Module["asm"]["_case_operation"].apply(null,arguments)};var _casefold=Module["_casefold"]=function(){return Module["asm"]["_casefold"].apply(null,arguments)};var _casin=Module["_casin"]=function(){return Module["asm"]["_casin"].apply(null,arguments)};var _casinf=Module["_casinf"]=function(){return Module["asm"]["_casinf"].apply(null,arguments)};var _casinh=Module["_casinh"]=function(){return Module["asm"]["_casinh"].apply(null,arguments)};var _casinhf=Module["_casinhf"]=function(){return Module["asm"]["_casinhf"].apply(null,arguments)};var _casinhl=Module["_casinhl"]=function(){return Module["asm"]["_casinhl"].apply(null,arguments)};var _casinl=Module["_casinl"]=function(){return Module["asm"]["_casinl"].apply(null,arguments)};var _catan=Module["_catan"]=function(){return Module["asm"]["_catan"].apply(null,arguments)};var _catanf=Module["_catanf"]=function(){return Module["asm"]["_catanf"].apply(null,arguments)};var _catanh=Module["_catanh"]=function(){return Module["asm"]["_catanh"].apply(null,arguments)};var _catanhf=Module["_catanhf"]=function(){return Module["asm"]["_catanhf"].apply(null,arguments)};var _catanhl=Module["_catanhl"]=function(){return Module["asm"]["_catanhl"].apply(null,arguments)};var _catanl=Module["_catanl"]=function(){return Module["asm"]["_catanl"].apply(null,arguments)};var _catch_bz2_error=Module["_catch_bz2_error"]=function(){return Module["asm"]["_catch_bz2_error"].apply(null,arguments)};var _catclose=Module["_catclose"]=function(){return Module["asm"]["_catclose"].apply(null,arguments)};var _catgets=Module["_catgets"]=function(){return Module["asm"]["_catgets"].apply(null,arguments)};var _catopen=Module["_catopen"]=function(){return Module["asm"]["_catopen"].apply(null,arguments)};var _cbrt=Module["_cbrt"]=function(){return Module["asm"]["_cbrt"].apply(null,arguments)};var _cbrtf=Module["_cbrtf"]=function(){return Module["asm"]["_cbrtf"].apply(null,arguments)};var _cbrtl=Module["_cbrtl"]=function(){return Module["asm"]["_cbrtl"].apply(null,arguments)};var _ccos=Module["_ccos"]=function(){return Module["asm"]["_ccos"].apply(null,arguments)};var _ccosf=Module["_ccosf"]=function(){return Module["asm"]["_ccosf"].apply(null,arguments)};var _ccosh=Module["_ccosh"]=function(){return Module["asm"]["_ccosh"].apply(null,arguments)};var _ccoshf=Module["_ccoshf"]=function(){return Module["asm"]["_ccoshf"].apply(null,arguments)};var _ccoshl=Module["_ccoshl"]=function(){return Module["asm"]["_ccoshl"].apply(null,arguments)};var _ccosl=Module["_ccosl"]=function(){return Module["asm"]["_ccosl"].apply(null,arguments)};var _cdataSectionProcessor=Module["_cdataSectionProcessor"]=function(){return Module["asm"]["_cdataSectionProcessor"].apply(null,arguments)};var _cdateFunc=Module["_cdateFunc"]=function(){return Module["asm"]["_cdateFunc"].apply(null,arguments)};var _cellArea=Module["_cellArea"]=function(){return Module["asm"]["_cellArea"].apply(null,arguments)};var _cellContains=Module["_cellContains"]=function(){return Module["asm"]["_cellContains"].apply(null,arguments)};var _cellGrowth=Module["_cellGrowth"]=function(){return Module["asm"]["_cellGrowth"].apply(null,arguments)};var _cellMargin=Module["_cellMargin"]=function(){return Module["asm"]["_cellMargin"].apply(null,arguments)};var _cellOverlap=Module["_cellOverlap"]=function(){return Module["asm"]["_cellOverlap"].apply(null,arguments)};var _cellSizePtr=Module["_cellSizePtr"]=function(){return Module["asm"]["_cellSizePtr"].apply(null,arguments)};var _cellSizePtrNoPayload=Module["_cellSizePtrNoPayload"]=function(){return Module["asm"]["_cellSizePtrNoPayload"].apply(null,arguments)};var _cellUnion=Module["_cellUnion"]=function(){return Module["asm"]["_cellUnion"].apply(null,arguments)};var _cell_clear=Module["_cell_clear"]=function(){return Module["asm"]["_cell_clear"].apply(null,arguments)};var _cell_dealloc=Module["_cell_dealloc"]=function(){return Module["asm"]["_cell_dealloc"].apply(null,arguments)};var _cell_get_contents=Module["_cell_get_contents"]=function(){return Module["asm"]["_cell_get_contents"].apply(null,arguments)};var _cell_repr=Module["_cell_repr"]=function(){return Module["asm"]["_cell_repr"].apply(null,arguments)};var _cell_richcompare=Module["_cell_richcompare"]=function(){return Module["asm"]["_cell_richcompare"].apply(null,arguments)};var _cell_set_contents=Module["_cell_set_contents"]=function(){return Module["asm"]["_cell_set_contents"].apply(null,arguments)};var _cell_traverse=Module["_cell_traverse"]=function(){return Module["asm"]["_cell_traverse"].apply(null,arguments)};var _cexp=Module["_cexp"]=function(){return Module["asm"]["_cexp"].apply(null,arguments)};var _cexpf=Module["_cexpf"]=function(){return Module["asm"]["_cexpf"].apply(null,arguments)};var _cexpl=Module["_cexpl"]=function(){return Module["asm"]["_cexpl"].apply(null,arguments)};var _cf2_arrstack_push=Module["_cf2_arrstack_push"]=function(){return Module["asm"]["_cf2_arrstack_push"].apply(null,arguments)};var _cf2_builder_cubeTo=Module["_cf2_builder_cubeTo"]=function(){return Module["asm"]["_cf2_builder_cubeTo"].apply(null,arguments)};var _cf2_builder_lineTo=Module["_cf2_builder_lineTo"]=function(){return Module["asm"]["_cf2_builder_lineTo"].apply(null,arguments)};var _cf2_builder_moveTo=Module["_cf2_builder_moveTo"]=function(){return Module["asm"]["_cf2_builder_moveTo"].apply(null,arguments)};var _cf2_computeDarkening=Module["_cf2_computeDarkening"]=function(){return Module["asm"]["_cf2_computeDarkening"].apply(null,arguments)};var _cf2_decoder_parse_charstrings=Module["_cf2_decoder_parse_charstrings"]=function(){return Module["asm"]["_cf2_decoder_parse_charstrings"].apply(null,arguments)};var _cf2_doFlex=Module["_cf2_doFlex"]=function(){return Module["asm"]["_cf2_doFlex"].apply(null,arguments)};var _cf2_doStems=Module["_cf2_doStems"]=function(){return Module["asm"]["_cf2_doStems"].apply(null,arguments)};var _cf2_free_instance=Module["_cf2_free_instance"]=function(){return Module["asm"]["_cf2_free_instance"].apply(null,arguments)};var _cf2_glyphpath_computeOffset=Module["_cf2_glyphpath_computeOffset"]=function(){return Module["asm"]["_cf2_glyphpath_computeOffset"].apply(null,arguments)};var _cf2_glyphpath_curveTo=Module["_cf2_glyphpath_curveTo"]=function(){return Module["asm"]["_cf2_glyphpath_curveTo"].apply(null,arguments)};var _cf2_glyphpath_lineTo=Module["_cf2_glyphpath_lineTo"]=function(){return Module["asm"]["_cf2_glyphpath_lineTo"].apply(null,arguments)};var _cf2_glyphpath_pushMove=Module["_cf2_glyphpath_pushMove"]=function(){return Module["asm"]["_cf2_glyphpath_pushMove"].apply(null,arguments)};var _cf2_glyphpath_pushPrevElem=Module["_cf2_glyphpath_pushPrevElem"]=function(){return Module["asm"]["_cf2_glyphpath_pushPrevElem"].apply(null,arguments)};var _cf2_hintmap_build=Module["_cf2_hintmap_build"]=function(){return Module["asm"]["_cf2_hintmap_build"].apply(null,arguments)};var _cf2_hintmap_insertHint=Module["_cf2_hintmap_insertHint"]=function(){return Module["asm"]["_cf2_hintmap_insertHint"].apply(null,arguments)};var _cf2_hintmap_map=Module["_cf2_hintmap_map"]=function(){return Module["asm"]["_cf2_hintmap_map"].apply(null,arguments)};var _cf2_interpT2CharString=Module["_cf2_interpT2CharString"]=function(){return Module["asm"]["_cf2_interpT2CharString"].apply(null,arguments)};var _cff_cmap_encoding_char_index=Module["_cff_cmap_encoding_char_index"]=function(){return Module["asm"]["_cff_cmap_encoding_char_index"].apply(null,arguments)};var _cff_cmap_encoding_char_next=Module["_cff_cmap_encoding_char_next"]=function(){return Module["asm"]["_cff_cmap_encoding_char_next"].apply(null,arguments)};var _cff_cmap_encoding_done=Module["_cff_cmap_encoding_done"]=function(){return Module["asm"]["_cff_cmap_encoding_done"].apply(null,arguments)};var _cff_cmap_encoding_init=Module["_cff_cmap_encoding_init"]=function(){return Module["asm"]["_cff_cmap_encoding_init"].apply(null,arguments)};var _cff_cmap_unicode_char_index=Module["_cff_cmap_unicode_char_index"]=function(){return Module["asm"]["_cff_cmap_unicode_char_index"].apply(null,arguments)};var _cff_cmap_unicode_char_next=Module["_cff_cmap_unicode_char_next"]=function(){return Module["asm"]["_cff_cmap_unicode_char_next"].apply(null,arguments)};var _cff_cmap_unicode_done=Module["_cff_cmap_unicode_done"]=function(){return Module["asm"]["_cff_cmap_unicode_done"].apply(null,arguments)};var _cff_cmap_unicode_init=Module["_cff_cmap_unicode_init"]=function(){return Module["asm"]["_cff_cmap_unicode_init"].apply(null,arguments)};var _cff_driver_done=Module["_cff_driver_done"]=function(){return Module["asm"]["_cff_driver_done"].apply(null,arguments)};var _cff_driver_init=Module["_cff_driver_init"]=function(){return Module["asm"]["_cff_driver_init"].apply(null,arguments)};var _cff_face_done=Module["_cff_face_done"]=function(){return Module["asm"]["_cff_face_done"].apply(null,arguments)};var _cff_face_init=Module["_cff_face_init"]=function(){return Module["asm"]["_cff_face_init"].apply(null,arguments)};var _cff_get_advances=Module["_cff_get_advances"]=function(){return Module["asm"]["_cff_get_advances"].apply(null,arguments)};var _cff_get_cid_from_glyph_index=Module["_cff_get_cid_from_glyph_index"]=function(){return Module["asm"]["_cff_get_cid_from_glyph_index"].apply(null,arguments)};var _cff_get_cmap_info=Module["_cff_get_cmap_info"]=function(){return Module["asm"]["_cff_get_cmap_info"].apply(null,arguments)};var _cff_get_glyph_name=Module["_cff_get_glyph_name"]=function(){return Module["asm"]["_cff_get_glyph_name"].apply(null,arguments)};var _cff_get_interface=Module["_cff_get_interface"]=function(){return Module["asm"]["_cff_get_interface"].apply(null,arguments)};var _cff_get_is_cid=Module["_cff_get_is_cid"]=function(){return Module["asm"]["_cff_get_is_cid"].apply(null,arguments)};var _cff_get_kerning=Module["_cff_get_kerning"]=function(){return Module["asm"]["_cff_get_kerning"].apply(null,arguments)};var _cff_get_name_index=Module["_cff_get_name_index"]=function(){return Module["asm"]["_cff_get_name_index"].apply(null,arguments)};var _cff_get_ps_name=Module["_cff_get_ps_name"]=function(){return Module["asm"]["_cff_get_ps_name"].apply(null,arguments)};var _cff_get_ros=Module["_cff_get_ros"]=function(){return Module["asm"]["_cff_get_ros"].apply(null,arguments)};var _cff_glyph_load=Module["_cff_glyph_load"]=function(){return Module["asm"]["_cff_glyph_load"].apply(null,arguments)};var _cff_index_access_element=Module["_cff_index_access_element"]=function(){return Module["asm"]["_cff_index_access_element"].apply(null,arguments)};var _cff_index_get_pointers=Module["_cff_index_get_pointers"]=function(){return Module["asm"]["_cff_index_get_pointers"].apply(null,arguments)};var _cff_index_init=Module["_cff_index_init"]=function(){return Module["asm"]["_cff_index_init"].apply(null,arguments)};var _cff_make_private_dict=Module["_cff_make_private_dict"]=function(){return Module["asm"]["_cff_make_private_dict"].apply(null,arguments)};var _cff_parse_cid_ros=Module["_cff_parse_cid_ros"]=function(){return Module["asm"]["_cff_parse_cid_ros"].apply(null,arguments)};var _cff_parse_font_bbox=Module["_cff_parse_font_bbox"]=function(){return Module["asm"]["_cff_parse_font_bbox"].apply(null,arguments)};var _cff_parse_font_matrix=Module["_cff_parse_font_matrix"]=function(){return Module["asm"]["_cff_parse_font_matrix"].apply(null,arguments)};var _cff_parse_private_dict=Module["_cff_parse_private_dict"]=function(){return Module["asm"]["_cff_parse_private_dict"].apply(null,arguments)};var _cff_parse_real=Module["_cff_parse_real"]=function(){return Module["asm"]["_cff_parse_real"].apply(null,arguments)};var _cff_parser_run=Module["_cff_parser_run"]=function(){return Module["asm"]["_cff_parser_run"].apply(null,arguments)};var _cff_property_get=Module["_cff_property_get"]=function(){return Module["asm"]["_cff_property_get"].apply(null,arguments)};var _cff_property_set=Module["_cff_property_set"]=function(){return Module["asm"]["_cff_property_set"].apply(null,arguments)};var _cff_ps_get_font_info=Module["_cff_ps_get_font_info"]=function(){return Module["asm"]["_cff_ps_get_font_info"].apply(null,arguments)};var _cff_ps_has_glyph_names=Module["_cff_ps_has_glyph_names"]=function(){return Module["asm"]["_cff_ps_has_glyph_names"].apply(null,arguments)};var _cff_sid_to_glyph_name=Module["_cff_sid_to_glyph_name"]=function(){return Module["asm"]["_cff_sid_to_glyph_name"].apply(null,arguments)};var _cff_size_done=Module["_cff_size_done"]=function(){return Module["asm"]["_cff_size_done"].apply(null,arguments)};var _cff_size_init=Module["_cff_size_init"]=function(){return Module["asm"]["_cff_size_init"].apply(null,arguments)};var _cff_size_request=Module["_cff_size_request"]=function(){return Module["asm"]["_cff_size_request"].apply(null,arguments)};var _cff_size_select=Module["_cff_size_select"]=function(){return Module["asm"]["_cff_size_select"].apply(null,arguments)};var _cff_slot_done=Module["_cff_slot_done"]=function(){return Module["asm"]["_cff_slot_done"].apply(null,arguments)};var _cff_slot_init=Module["_cff_slot_init"]=function(){return Module["asm"]["_cff_slot_init"].apply(null,arguments)};var _cff_slot_load=Module["_cff_slot_load"]=function(){return Module["asm"]["_cff_slot_load"].apply(null,arguments)};var _cff_subfont_load=Module["_cff_subfont_load"]=function(){return Module["asm"]["_cff_subfont_load"].apply(null,arguments)};var _cfgetispeed=Module["_cfgetispeed"]=function(){return Module["asm"]["_cfgetispeed"].apply(null,arguments)};var _cfgetospeed=Module["_cfgetospeed"]=function(){return Module["asm"]["_cfgetospeed"].apply(null,arguments)};var _cfmakeraw=Module["_cfmakeraw"]=function(){return Module["asm"]["_cfmakeraw"].apply(null,arguments)};var _cfsetispeed=Module["_cfsetispeed"]=function(){return Module["asm"]["_cfsetispeed"].apply(null,arguments)};var _cfsetospeed=Module["_cfsetospeed"]=function(){return Module["asm"]["_cfsetospeed"].apply(null,arguments)};var _chain_dealloc=Module["_chain_dealloc"]=function(){return Module["asm"]["_chain_dealloc"].apply(null,arguments)};var _chain_new=Module["_chain_new"]=function(){return Module["asm"]["_chain_new"].apply(null,arguments)};var _chain_new_from_iterable=Module["_chain_new_from_iterable"]=function(){return Module["asm"]["_chain_new_from_iterable"].apply(null,arguments)};var _chain_next=Module["_chain_next"]=function(){return Module["asm"]["_chain_next"].apply(null,arguments)};var _chain_reduce=Module["_chain_reduce"]=function(){return Module["asm"]["_chain_reduce"].apply(null,arguments)};var _chain_setstate=Module["_chain_setstate"]=function(){return Module["asm"]["_chain_setstate"].apply(null,arguments)};var _chain_traverse=Module["_chain_traverse"]=function(){return Module["asm"]["_chain_traverse"].apply(null,arguments)};var _changeTempStorage=Module["_changeTempStorage"]=function(){return Module["asm"]["_changeTempStorage"].apply(null,arguments)};var _changes=Module["_changes"]=function(){return Module["asm"]["_changes"].apply(null,arguments)};var _charFunc=Module["_charFunc"]=function(){return Module["asm"]["_charFunc"].apply(null,arguments)};var _charmapencode_lookup=Module["_charmapencode_lookup"]=function(){return Module["asm"]["_charmapencode_lookup"].apply(null,arguments)};var _charmapencode_output=Module["_charmapencode_output"]=function(){return Module["asm"]["_charmapencode_output"].apply(null,arguments)};var _charmaptranslate_lookup=Module["_charmaptranslate_lookup"]=function(){return Module["asm"]["_charmaptranslate_lookup"].apply(null,arguments)};var _chdir=Module["_chdir"]=function(){return Module["asm"]["_chdir"].apply(null,arguments)};var _checkAppendMsg=Module["_checkAppendMsg"]=function(){return Module["asm"]["_checkAppendMsg"].apply(null,arguments)};var _checkColumnOverlap=Module["_checkColumnOverlap"]=function(){return Module["asm"]["_checkColumnOverlap"].apply(null,arguments)};var _checkConstraintExprNode=Module["_checkConstraintExprNode"]=function(){return Module["asm"]["_checkConstraintExprNode"].apply(null,arguments)};var _checkList=Module["_checkList"]=function(){return Module["asm"]["_checkList"].apply(null,arguments)};var _checkPtrmap=Module["_checkPtrmap"]=function(){return Module["asm"]["_checkPtrmap"].apply(null,arguments)};var _checkReadTransaction=Module["_checkReadTransaction"]=function(){return Module["asm"]["_checkReadTransaction"].apply(null,arguments)};var _checkRef=Module["_checkRef"]=function(){return Module["asm"]["_checkRef"].apply(null,arguments)};var _checkTreePage=Module["_checkTreePage"]=function(){return Module["asm"]["_checkTreePage"].apply(null,arguments)};var _check_ann_slice=Module["_check_ann_slice"]=function(){return Module["asm"]["_check_ann_slice"].apply(null,arguments)};var _check_coding_spec=Module["_check_coding_spec"]=function(){return Module["asm"]["_check_coding_spec"].apply(null,arguments)};var _check_complexity=Module["_check_complexity"]=function(){return Module["asm"]["_check_complexity"].apply(null,arguments)};var _check_force_ascii=Module["_check_force_ascii"]=function(){return Module["asm"]["_check_force_ascii"].apply(null,arguments)};var _check_type1_format=Module["_check_type1_format"]=function(){return Module["asm"]["_check_type1_format"].apply(null,arguments)};var _checktm=Module["_checktm"]=function(){return Module["asm"]["_checktm"].apply(null,arguments)};var _child_exec=Module["_child_exec"]=function(){return Module["asm"]["_child_exec"].apply(null,arguments)};var _chmod=Module["_chmod"]=function(){return Module["asm"]["_chmod"].apply(null,arguments)};var _chown=Module["_chown"]=function(){return Module["asm"]["_chown"].apply(null,arguments)};var _cid_driver_done=Module["_cid_driver_done"]=function(){return Module["asm"]["_cid_driver_done"].apply(null,arguments)};var _cid_driver_init=Module["_cid_driver_init"]=function(){return Module["asm"]["_cid_driver_init"].apply(null,arguments)};var _cid_face_done=Module["_cid_face_done"]=function(){return Module["asm"]["_cid_face_done"].apply(null,arguments)};var _cid_face_init=Module["_cid_face_init"]=function(){return Module["asm"]["_cid_face_init"].apply(null,arguments)};var _cid_get_cid_from_glyph_index=Module["_cid_get_cid_from_glyph_index"]=function(){return Module["asm"]["_cid_get_cid_from_glyph_index"].apply(null,arguments)};var _cid_get_interface=Module["_cid_get_interface"]=function(){return Module["asm"]["_cid_get_interface"].apply(null,arguments)};var _cid_get_is_cid=Module["_cid_get_is_cid"]=function(){return Module["asm"]["_cid_get_is_cid"].apply(null,arguments)};var _cid_get_postscript_name=Module["_cid_get_postscript_name"]=function(){return Module["asm"]["_cid_get_postscript_name"].apply(null,arguments)};var _cid_get_ros=Module["_cid_get_ros"]=function(){return Module["asm"]["_cid_get_ros"].apply(null,arguments)};var _cid_load_glyph=Module["_cid_load_glyph"]=function(){return Module["asm"]["_cid_load_glyph"].apply(null,arguments)};var _cid_parse_font_matrix=Module["_cid_parse_font_matrix"]=function(){return Module["asm"]["_cid_parse_font_matrix"].apply(null,arguments)};var _cid_ps_get_font_extra=Module["_cid_ps_get_font_extra"]=function(){return Module["asm"]["_cid_ps_get_font_extra"].apply(null,arguments)};var _cid_ps_get_font_info=Module["_cid_ps_get_font_info"]=function(){return Module["asm"]["_cid_ps_get_font_info"].apply(null,arguments)};var _cid_size_done=Module["_cid_size_done"]=function(){return Module["asm"]["_cid_size_done"].apply(null,arguments)};var _cid_size_init=Module["_cid_size_init"]=function(){return Module["asm"]["_cid_size_init"].apply(null,arguments)};var _cid_size_request=Module["_cid_size_request"]=function(){return Module["asm"]["_cid_size_request"].apply(null,arguments)};var _cid_slot_done=Module["_cid_slot_done"]=function(){return Module["asm"]["_cid_slot_done"].apply(null,arguments)};var _cid_slot_init=Module["_cid_slot_init"]=function(){return Module["asm"]["_cid_slot_init"].apply(null,arguments)};var _cid_slot_load_glyph=Module["_cid_slot_load_glyph"]=function(){return Module["asm"]["_cid_slot_load_glyph"].apply(null,arguments)};var _cimag=Module["_cimag"]=function(){return Module["asm"]["_cimag"].apply(null,arguments)};var _cimagf=Module["_cimagf"]=function(){return Module["asm"]["_cimagf"].apply(null,arguments)};var _cimagl=Module["_cimagl"]=function(){return Module["asm"]["_cimagl"].apply(null,arguments)};var _classmethod_get=Module["_classmethod_get"]=function(){return Module["asm"]["_classmethod_get"].apply(null,arguments)};var _classmethoddescr_call=Module["_classmethoddescr_call"]=function(){return Module["asm"]["_classmethoddescr_call"].apply(null,arguments)};var _cleanup=Module["_cleanup"]=function(){return Module["asm"]["_cleanup"].apply(null,arguments)};var _cleanup_520=Module["_cleanup_520"]=function(){return Module["asm"]["_cleanup_520"].apply(null,arguments)};var _cleanup_buffer=Module["_cleanup_buffer"]=function(){return Module["asm"]["_cleanup_buffer"].apply(null,arguments)};var _cleanup_ptr=Module["_cleanup_ptr"]=function(){return Module["asm"]["_cleanup_ptr"].apply(null,arguments)};var _clearAllSharedCacheTableLocks=Module["_clearAllSharedCacheTableLocks"]=function(){return Module["asm"]["_clearAllSharedCacheTableLocks"].apply(null,arguments)};var _clearCell=Module["_clearCell"]=function(){return Module["asm"]["_clearCell"].apply(null,arguments)};var _clearDatabasePage=Module["_clearDatabasePage"]=function(){return Module["asm"]["_clearDatabasePage"].apply(null,arguments)};var _clearSelect=Module["_clearSelect"]=function(){return Module["asm"]["_clearSelect"].apply(null,arguments)};var _clearYMD_HMS_TZ=Module["_clearYMD_HMS_TZ"]=function(){return Module["asm"]["_clearYMD_HMS_TZ"].apply(null,arguments)};var _clearerr=Module["_clearerr"]=function(){return Module["asm"]["_clearerr"].apply(null,arguments)};var _clog=Module["_clog"]=function(){return Module["asm"]["_clog"].apply(null,arguments)};var _clogf=Module["_clogf"]=function(){return Module["asm"]["_clogf"].apply(null,arguments)};var _clogl=Module["_clogl"]=function(){return Module["asm"]["_clogl"].apply(null,arguments)};var _close=Module["_close"]=function(){return Module["asm"]["_close"].apply(null,arguments)};var _closeAllCursors=Module["_closeAllCursors"]=function(){return Module["asm"]["_closeAllCursors"].apply(null,arguments)};var _closeCursorsInFrame=Module["_closeCursorsInFrame"]=function(){return Module["asm"]["_closeCursorsInFrame"].apply(null,arguments)};var _closePendingFds=Module["_closePendingFds"]=function(){return Module["asm"]["_closePendingFds"].apply(null,arguments)};var _closeUnixFile=Module["_closeUnixFile"]=function(){return Module["asm"]["_closeUnixFile"].apply(null,arguments)};var _close_file=Module["_close_file"]=function(){return Module["asm"]["_close_file"].apply(null,arguments)};var _closedir=Module["_closedir"]=function(){return Module["asm"]["_closedir"].apply(null,arguments)};var _closelog=Module["_closelog"]=function(){return Module["asm"]["_closelog"].apply(null,arguments)};var _cm_clear=Module["_cm_clear"]=function(){return Module["asm"]["_cm_clear"].apply(null,arguments)};var _cm_dealloc=Module["_cm_dealloc"]=function(){return Module["asm"]["_cm_dealloc"].apply(null,arguments)};var _cm_descr_get=Module["_cm_descr_get"]=function(){return Module["asm"]["_cm_descr_get"].apply(null,arguments)};var _cm_get___isabstractmethod__=Module["_cm_get___isabstractmethod__"]=function(){return Module["asm"]["_cm_get___isabstractmethod__"].apply(null,arguments)};var _cm_init=Module["_cm_init"]=function(){return Module["asm"]["_cm_init"].apply(null,arguments)};var _cm_traverse=Module["_cm_traverse"]=function(){return Module["asm"]["_cm_traverse"].apply(null,arguments)};var _cmath_acos=Module["_cmath_acos"]=function(){return Module["asm"]["_cmath_acos"].apply(null,arguments)};var _cmath_acosh=Module["_cmath_acosh"]=function(){return Module["asm"]["_cmath_acosh"].apply(null,arguments)};var _cmath_asin=Module["_cmath_asin"]=function(){return Module["asm"]["_cmath_asin"].apply(null,arguments)};var _cmath_asinh=Module["_cmath_asinh"]=function(){return Module["asm"]["_cmath_asinh"].apply(null,arguments)};var _cmath_asinh_impl=Module["_cmath_asinh_impl"]=function(){return Module["asm"]["_cmath_asinh_impl"].apply(null,arguments)};var _cmath_atan=Module["_cmath_atan"]=function(){return Module["asm"]["_cmath_atan"].apply(null,arguments)};var _cmath_atanh=Module["_cmath_atanh"]=function(){return Module["asm"]["_cmath_atanh"].apply(null,arguments)};var _cmath_atanh_impl=Module["_cmath_atanh_impl"]=function(){return Module["asm"]["_cmath_atanh_impl"].apply(null,arguments)};var _cmath_cos=Module["_cmath_cos"]=function(){return Module["asm"]["_cmath_cos"].apply(null,arguments)};var _cmath_cosh=Module["_cmath_cosh"]=function(){return Module["asm"]["_cmath_cosh"].apply(null,arguments)};var _cmath_cosh_impl=Module["_cmath_cosh_impl"]=function(){return Module["asm"]["_cmath_cosh_impl"].apply(null,arguments)};var _cmath_exp=Module["_cmath_exp"]=function(){return Module["asm"]["_cmath_exp"].apply(null,arguments)};var _cmath_isclose=Module["_cmath_isclose"]=function(){return Module["asm"]["_cmath_isclose"].apply(null,arguments)};var _cmath_isfinite=Module["_cmath_isfinite"]=function(){return Module["asm"]["_cmath_isfinite"].apply(null,arguments)};var _cmath_isinf=Module["_cmath_isinf"]=function(){return Module["asm"]["_cmath_isinf"].apply(null,arguments)};var _cmath_isnan=Module["_cmath_isnan"]=function(){return Module["asm"]["_cmath_isnan"].apply(null,arguments)};var _cmath_log=Module["_cmath_log"]=function(){return Module["asm"]["_cmath_log"].apply(null,arguments)};var _cmath_log10=Module["_cmath_log10"]=function(){return Module["asm"]["_cmath_log10"].apply(null,arguments)};var _cmath_phase=Module["_cmath_phase"]=function(){return Module["asm"]["_cmath_phase"].apply(null,arguments)};var _cmath_polar=Module["_cmath_polar"]=function(){return Module["asm"]["_cmath_polar"].apply(null,arguments)};var _cmath_rect=Module["_cmath_rect"]=function(){return Module["asm"]["_cmath_rect"].apply(null,arguments)};var _cmath_sin=Module["_cmath_sin"]=function(){return Module["asm"]["_cmath_sin"].apply(null,arguments)};var _cmath_sinh=Module["_cmath_sinh"]=function(){return Module["asm"]["_cmath_sinh"].apply(null,arguments)};var _cmath_sinh_impl=Module["_cmath_sinh_impl"]=function(){return Module["asm"]["_cmath_sinh_impl"].apply(null,arguments)};var _cmath_sqrt=Module["_cmath_sqrt"]=function(){return Module["asm"]["_cmath_sqrt"].apply(null,arguments)};var _cmath_sqrt_impl=Module["_cmath_sqrt_impl"]=function(){return Module["asm"]["_cmath_sqrt_impl"].apply(null,arguments)};var _cmath_tan=Module["_cmath_tan"]=function(){return Module["asm"]["_cmath_tan"].apply(null,arguments)};var _cmath_tanh=Module["_cmath_tanh"]=function(){return Module["asm"]["_cmath_tanh"].apply(null,arguments)};var _cmath_tanh_impl=Module["_cmath_tanh_impl"]=function(){return Module["asm"]["_cmath_tanh_impl"].apply(null,arguments)};var _cmp_base=Module["_cmp_base"]=function(){return Module["asm"]["_cmp_base"].apply(null,arguments)};var _cmp_constdefs=Module["_cmp_constdefs"]=function(){return Module["asm"]["_cmp_constdefs"].apply(null,arguments)};var _cmp_rec=Module["_cmp_rec"]=function(){return Module["asm"]["_cmp_rec"].apply(null,arguments)};var _codeAllEqualityTerms=Module["_codeAllEqualityTerms"]=function(){return Module["asm"]["_codeAllEqualityTerms"].apply(null,arguments)};var _codeApplyAffinity=Module["_codeApplyAffinity"]=function(){return Module["asm"]["_codeApplyAffinity"].apply(null,arguments)};var _codeAttach=Module["_codeAttach"]=function(){return Module["asm"]["_codeAttach"].apply(null,arguments)};var _codeCompare=Module["_codeCompare"]=function(){return Module["asm"]["_codeCompare"].apply(null,arguments)};var _codeDeferredSeek=Module["_codeDeferredSeek"]=function(){return Module["asm"]["_codeDeferredSeek"].apply(null,arguments)};var _codeDistinct=Module["_codeDistinct"]=function(){return Module["asm"]["_codeDistinct"].apply(null,arguments)};var _codeEqualityTerm=Module["_codeEqualityTerm"]=function(){return Module["asm"]["_codeEqualityTerm"].apply(null,arguments)};var _codeExprOrVector=Module["_codeExprOrVector"]=function(){return Module["asm"]["_codeExprOrVector"].apply(null,arguments)};var _codeInteger=Module["_codeInteger"]=function(){return Module["asm"]["_codeInteger"].apply(null,arguments)};var _codeOffset=Module["_codeOffset"]=function(){return Module["asm"]["_codeOffset"].apply(null,arguments)};var _codeReal=Module["_codeReal"]=function(){return Module["asm"]["_codeReal"].apply(null,arguments)};var _codeRowTrigger=Module["_codeRowTrigger"]=function(){return Module["asm"]["_codeRowTrigger"].apply(null,arguments)};var _codeTableLocks=Module["_codeTableLocks"]=function(){return Module["asm"]["_codeTableLocks"].apply(null,arguments)};var _codeTriggerProgram=Module["_codeTriggerProgram"]=function(){return Module["asm"]["_codeTriggerProgram"].apply(null,arguments)};var _codeVectorCompare=Module["_codeVectorCompare"]=function(){return Module["asm"]["_codeVectorCompare"].apply(null,arguments)};var _code_dealloc=Module["_code_dealloc"]=function(){return Module["asm"]["_code_dealloc"].apply(null,arguments)};var _code_hash=Module["_code_hash"]=function(){return Module["asm"]["_code_hash"].apply(null,arguments)};var _code_new=Module["_code_new"]=function(){return Module["asm"]["_code_new"].apply(null,arguments)};var _code_repr=Module["_code_repr"]=function(){return Module["asm"]["_code_repr"].apply(null,arguments)};var _code_richcompare=Module["_code_richcompare"]=function(){return Module["asm"]["_code_richcompare"].apply(null,arguments)};var _code_sizeof=Module["_code_sizeof"]=function(){return Module["asm"]["_code_sizeof"].apply(null,arguments)};var _codecctx_errors_get=Module["_codecctx_errors_get"]=function(){return Module["asm"]["_codecctx_errors_get"].apply(null,arguments)};var _codecctx_errors_set=Module["_codecctx_errors_set"]=function(){return Module["asm"]["_codecctx_errors_set"].apply(null,arguments)};var _collationMatch=Module["_collationMatch"]=function(){return Module["asm"]["_collationMatch"].apply(null,arguments)};var _collect=Module["_collect"]=function(){return Module["asm"]["_collect"].apply(null,arguments)};var _columnIndex=Module["_columnIndex"]=function(){return Module["asm"]["_columnIndex"].apply(null,arguments)};var _columnMallocFailure=Module["_columnMallocFailure"]=function(){return Module["asm"]["_columnMallocFailure"].apply(null,arguments)};var _columnMem=Module["_columnMem"]=function(){return Module["asm"]["_columnMem"].apply(null,arguments)};var _columnName=Module["_columnName"]=function(){return Module["asm"]["_columnName"].apply(null,arguments)};var _columnNullValue=Module["_columnNullValue"]=function(){return Module["asm"]["_columnNullValue"].apply(null,arguments)};var _columnTypeImpl=Module["_columnTypeImpl"]=function(){return Module["asm"]["_columnTypeImpl"].apply(null,arguments)};var _combinations_dealloc=Module["_combinations_dealloc"]=function(){return Module["asm"]["_combinations_dealloc"].apply(null,arguments)};var _combinations_new=Module["_combinations_new"]=function(){return Module["asm"]["_combinations_new"].apply(null,arguments)};var _combinations_next=Module["_combinations_next"]=function(){return Module["asm"]["_combinations_next"].apply(null,arguments)};var _combinations_reduce=Module["_combinations_reduce"]=function(){return Module["asm"]["_combinations_reduce"].apply(null,arguments)};var _combinations_setstate=Module["_combinations_setstate"]=function(){return Module["asm"]["_combinations_setstate"].apply(null,arguments)};var _combinations_sizeof=Module["_combinations_sizeof"]=function(){return Module["asm"]["_combinations_sizeof"].apply(null,arguments)};var _combinations_traverse=Module["_combinations_traverse"]=function(){return Module["asm"]["_combinations_traverse"].apply(null,arguments)};var _common=Module["_common"]=function(){return Module["asm"]["_common"].apply(null,arguments)};var _common_333=Module["_common_333"]=function(){return Module["asm"]["_common_333"].apply(null,arguments)};var _common_350=Module["_common_350"]=function(){return Module["asm"]["_common_350"].apply(null,arguments)};var _common_377=Module["_common_377"]=function(){return Module["asm"]["_common_377"].apply(null,arguments)};var _compare2pow63=Module["_compare2pow63"]=function(){return Module["asm"]["_compare2pow63"].apply(null,arguments)};var _compare_kern_pairs=Module["_compare_kern_pairs"]=function(){return Module["asm"]["_compare_kern_pairs"].apply(null,arguments)};var _compare_offsets=Module["_compare_offsets"]=function(){return Module["asm"]["_compare_offsets"].apply(null,arguments)};var _compare_uni_maps=Module["_compare_uni_maps"]=function(){return Module["asm"]["_compare_uni_maps"].apply(null,arguments)};var _comparisonAffinity=Module["_comparisonAffinity"]=function(){return Module["asm"]["_comparisonAffinity"].apply(null,arguments)};var _compatible_for_assignment=Module["_compatible_for_assignment"]=function(){return Module["asm"]["_compatible_for_assignment"].apply(null,arguments)};var _compile_alt=Module["_compile_alt"]=function(){return Module["asm"]["_compile_alt"].apply(null,arguments)};var _compile_item=Module["_compile_item"]=function(){return Module["asm"]["_compile_item"].apply(null,arguments)};var _compile_rhs=Module["_compile_rhs"]=function(){return Module["asm"]["_compile_rhs"].apply(null,arguments)};var _compileoptiongetFunc=Module["_compileoptiongetFunc"]=function(){return Module["asm"]["_compileoptiongetFunc"].apply(null,arguments)};var _compileoptionusedFunc=Module["_compileoptionusedFunc"]=function(){return Module["asm"]["_compileoptionusedFunc"].apply(null,arguments)};var _compiler_add_o=Module["_compiler_add_o"]=function(){return Module["asm"]["_compiler_add_o"].apply(null,arguments)};var _compiler_async_comprehension_generator=Module["_compiler_async_comprehension_generator"]=function(){return Module["asm"]["_compiler_async_comprehension_generator"].apply(null,arguments)};var _compiler_async_with=Module["_compiler_async_with"]=function(){return Module["asm"]["_compiler_async_with"].apply(null,arguments)};var _compiler_body=Module["_compiler_body"]=function(){return Module["asm"]["_compiler_body"].apply(null,arguments)};var _compiler_call_helper=Module["_compiler_call_helper"]=function(){return Module["asm"]["_compiler_call_helper"].apply(null,arguments)};var _compiler_comprehension=Module["_compiler_comprehension"]=function(){return Module["asm"]["_compiler_comprehension"].apply(null,arguments)};var _compiler_default_arguments=Module["_compiler_default_arguments"]=function(){return Module["asm"]["_compiler_default_arguments"].apply(null,arguments)};var _compiler_enter_scope=Module["_compiler_enter_scope"]=function(){return Module["asm"]["_compiler_enter_scope"].apply(null,arguments)};var _compiler_error=Module["_compiler_error"]=function(){return Module["asm"]["_compiler_error"].apply(null,arguments)};var _compiler_function=Module["_compiler_function"]=function(){return Module["asm"]["_compiler_function"].apply(null,arguments)};var _compiler_jump_if=Module["_compiler_jump_if"]=function(){return Module["asm"]["_compiler_jump_if"].apply(null,arguments)};var _compiler_make_closure=Module["_compiler_make_closure"]=function(){return Module["asm"]["_compiler_make_closure"].apply(null,arguments)};var _compiler_nameop=Module["_compiler_nameop"]=function(){return Module["asm"]["_compiler_nameop"].apply(null,arguments)};var _compiler_next_instr=Module["_compiler_next_instr"]=function(){return Module["asm"]["_compiler_next_instr"].apply(null,arguments)};var _compiler_slice=Module["_compiler_slice"]=function(){return Module["asm"]["_compiler_slice"].apply(null,arguments)};var _compiler_subdict=Module["_compiler_subdict"]=function(){return Module["asm"]["_compiler_subdict"].apply(null,arguments)};var _compiler_subkwargs=Module["_compiler_subkwargs"]=function(){return Module["asm"]["_compiler_subkwargs"].apply(null,arguments)};var _compiler_sync_comprehension_generator=Module["_compiler_sync_comprehension_generator"]=function(){return Module["asm"]["_compiler_sync_comprehension_generator"].apply(null,arguments)};var _compiler_try_except=Module["_compiler_try_except"]=function(){return Module["asm"]["_compiler_try_except"].apply(null,arguments)};var _compiler_try_finally=Module["_compiler_try_finally"]=function(){return Module["asm"]["_compiler_try_finally"].apply(null,arguments)};var _compiler_unit_free=Module["_compiler_unit_free"]=function(){return Module["asm"]["_compiler_unit_free"].apply(null,arguments)};var _compiler_visit_argannotation=Module["_compiler_visit_argannotation"]=function(){return Module["asm"]["_compiler_visit_argannotation"].apply(null,arguments)};var _compiler_visit_expr=Module["_compiler_visit_expr"]=function(){return Module["asm"]["_compiler_visit_expr"].apply(null,arguments)};var _compiler_visit_slice=Module["_compiler_visit_slice"]=function(){return Module["asm"]["_compiler_visit_slice"].apply(null,arguments)};var _compiler_visit_stmt=Module["_compiler_visit_stmt"]=function(){return Module["asm"]["_compiler_visit_stmt"].apply(null,arguments)};var _compiler_with=Module["_compiler_with"]=function(){return Module["asm"]["_compiler_with"].apply(null,arguments)};var _complex__format__=Module["_complex__format__"]=function(){return Module["asm"]["_complex__format__"].apply(null,arguments)};var _complex_abs=Module["_complex_abs"]=function(){return Module["asm"]["_complex_abs"].apply(null,arguments)};var _complex_add=Module["_complex_add"]=function(){return Module["asm"]["_complex_add"].apply(null,arguments)};var _complex_bool=Module["_complex_bool"]=function(){return Module["asm"]["_complex_bool"].apply(null,arguments)};var _complex_conjugate=Module["_complex_conjugate"]=function(){return Module["asm"]["_complex_conjugate"].apply(null,arguments)};var _complex_dealloc=Module["_complex_dealloc"]=function(){return Module["asm"]["_complex_dealloc"].apply(null,arguments)};var _complex_div=Module["_complex_div"]=function(){return Module["asm"]["_complex_div"].apply(null,arguments)};var _complex_divmod=Module["_complex_divmod"]=function(){return Module["asm"]["_complex_divmod"].apply(null,arguments)};var _complex_float=Module["_complex_float"]=function(){return Module["asm"]["_complex_float"].apply(null,arguments)};var _complex_from_string_inner=Module["_complex_from_string_inner"]=function(){return Module["asm"]["_complex_from_string_inner"].apply(null,arguments)};var _complex_getnewargs=Module["_complex_getnewargs"]=function(){return Module["asm"]["_complex_getnewargs"].apply(null,arguments)};var _complex_hash=Module["_complex_hash"]=function(){return Module["asm"]["_complex_hash"].apply(null,arguments)};var _complex_int=Module["_complex_int"]=function(){return Module["asm"]["_complex_int"].apply(null,arguments)};var _complex_int_div=Module["_complex_int_div"]=function(){return Module["asm"]["_complex_int_div"].apply(null,arguments)};var _complex_mul=Module["_complex_mul"]=function(){return Module["asm"]["_complex_mul"].apply(null,arguments)};var _complex_neg=Module["_complex_neg"]=function(){return Module["asm"]["_complex_neg"].apply(null,arguments)};var _complex_new=Module["_complex_new"]=function(){return Module["asm"]["_complex_new"].apply(null,arguments)};var _complex_pos=Module["_complex_pos"]=function(){return Module["asm"]["_complex_pos"].apply(null,arguments)};var _complex_pow=Module["_complex_pow"]=function(){return Module["asm"]["_complex_pow"].apply(null,arguments)};var _complex_remainder=Module["_complex_remainder"]=function(){return Module["asm"]["_complex_remainder"].apply(null,arguments)};var _complex_repr=Module["_complex_repr"]=function(){return Module["asm"]["_complex_repr"].apply(null,arguments)};var _complex_richcompare=Module["_complex_richcompare"]=function(){return Module["asm"]["_complex_richcompare"].apply(null,arguments)};var _complex_sub=Module["_complex_sub"]=function(){return Module["asm"]["_complex_sub"].apply(null,arguments)};var _compress=Module["_compress"]=function(){return Module["asm"]["_compress"].apply(null,arguments)};var _compress2=Module["_compress2"]=function(){return Module["asm"]["_compress2"].apply(null,arguments)};var _compressBound=Module["_compressBound"]=function(){return Module["asm"]["_compressBound"].apply(null,arguments)};var _compress_14018=Module["_compress_14018"]=function(){return Module["asm"]["_compress_14018"].apply(null,arguments)};var _compress_block=Module["_compress_block"]=function(){return Module["asm"]["_compress_block"].apply(null,arguments)};var _compress_dealloc=Module["_compress_dealloc"]=function(){return Module["asm"]["_compress_dealloc"].apply(null,arguments)};var _compress_new=Module["_compress_new"]=function(){return Module["asm"]["_compress_new"].apply(null,arguments)};var _compress_next=Module["_compress_next"]=function(){return Module["asm"]["_compress_next"].apply(null,arguments)};var _compress_reduce=Module["_compress_reduce"]=function(){return Module["asm"]["_compress_reduce"].apply(null,arguments)};var _compress_traverse=Module["_compress_traverse"]=function(){return Module["asm"]["_compress_traverse"].apply(null,arguments)};var _computeCellSize=Module["_computeCellSize"]=function(){return Module["asm"]["_computeCellSize"].apply(null,arguments)};var _computeHMS=Module["_computeHMS"]=function(){return Module["asm"]["_computeHMS"].apply(null,arguments)};var _computeJD=Module["_computeJD"]=function(){return Module["asm"]["_computeJD"].apply(null,arguments)};var _computeLimitRegisters=Module["_computeLimitRegisters"]=function(){return Module["asm"]["_computeLimitRegisters"].apply(null,arguments)};var _computeNumericType=Module["_computeNumericType"]=function(){return Module["asm"]["_computeNumericType"].apply(null,arguments)};var _computeYMD=Module["_computeYMD"]=function(){return Module["asm"]["_computeYMD"].apply(null,arguments)};var _computeYMD_HMS=Module["_computeYMD_HMS"]=function(){return Module["asm"]["_computeYMD_HMS"].apply(null,arguments)};var _compute_range_item=Module["_compute_range_item"]=function(){return Module["asm"]["_compute_range_item"].apply(null,arguments)};var _condSect0=Module["_condSect0"]=function(){return Module["asm"]["_condSect0"].apply(null,arguments)};var _condSect1=Module["_condSect1"]=function(){return Module["asm"]["_condSect1"].apply(null,arguments)};var _condSect2=Module["_condSect2"]=function(){return Module["asm"]["_condSect2"].apply(null,arguments)};var _conj=Module["_conj"]=function(){return Module["asm"]["_conj"].apply(null,arguments)};var _conjf=Module["_conjf"]=function(){return Module["asm"]["_conjf"].apply(null,arguments)};var _conjl=Module["_conjl"]=function(){return Module["asm"]["_conjl"].apply(null,arguments)};var _connect=Module["_connect"]=function(){return Module["asm"]["_connect"].apply(null,arguments)};var _connectionIsBusy=Module["_connectionIsBusy"]=function(){return Module["asm"]["_connectionIsBusy"].apply(null,arguments)};var _constInsert=Module["_constInsert"]=function(){return Module["asm"]["_constInsert"].apply(null,arguments)};var _constructAutomaticIndex=Module["_constructAutomaticIndex"]=function(){return Module["asm"]["_constructAutomaticIndex"].apply(null,arguments)};var _contentProcessor=Module["_contentProcessor"]=function(){return Module["asm"]["_contentProcessor"].apply(null,arguments)};var _contextMalloc=Module["_contextMalloc"]=function(){return Module["asm"]["_contextMalloc"].apply(null,arguments)};var _context_clear_flags=Module["_context_clear_flags"]=function(){return Module["asm"]["_context_clear_flags"].apply(null,arguments)};var _context_clear_traps=Module["_context_clear_traps"]=function(){return Module["asm"]["_context_clear_traps"].apply(null,arguments)};var _context_copy=Module["_context_copy"]=function(){return Module["asm"]["_context_copy"].apply(null,arguments)};var _context_dealloc=Module["_context_dealloc"]=function(){return Module["asm"]["_context_dealloc"].apply(null,arguments)};var _context_getattr=Module["_context_getattr"]=function(){return Module["asm"]["_context_getattr"].apply(null,arguments)};var _context_getcapitals=Module["_context_getcapitals"]=function(){return Module["asm"]["_context_getcapitals"].apply(null,arguments)};var _context_getclamp=Module["_context_getclamp"]=function(){return Module["asm"]["_context_getclamp"].apply(null,arguments)};var _context_getemax=Module["_context_getemax"]=function(){return Module["asm"]["_context_getemax"].apply(null,arguments)};var _context_getemin=Module["_context_getemin"]=function(){return Module["asm"]["_context_getemin"].apply(null,arguments)};var _context_getetiny=Module["_context_getetiny"]=function(){return Module["asm"]["_context_getetiny"].apply(null,arguments)};var _context_getetop=Module["_context_getetop"]=function(){return Module["asm"]["_context_getetop"].apply(null,arguments)};var _context_getprec=Module["_context_getprec"]=function(){return Module["asm"]["_context_getprec"].apply(null,arguments)};var _context_getround=Module["_context_getround"]=function(){return Module["asm"]["_context_getround"].apply(null,arguments)};var _context_init=Module["_context_init"]=function(){return Module["asm"]["_context_init"].apply(null,arguments)};var _context_new=Module["_context_new"]=function(){return Module["asm"]["_context_new"].apply(null,arguments)};var _context_reduce=Module["_context_reduce"]=function(){return Module["asm"]["_context_reduce"].apply(null,arguments)};var _context_repr=Module["_context_repr"]=function(){return Module["asm"]["_context_repr"].apply(null,arguments)};var _context_run=Module["_context_run"]=function(){return Module["asm"]["_context_run"].apply(null,arguments)};var _context_setattr=Module["_context_setattr"]=function(){return Module["asm"]["_context_setattr"].apply(null,arguments)};var _context_setcapitals=Module["_context_setcapitals"]=function(){return Module["asm"]["_context_setcapitals"].apply(null,arguments)};var _context_setclamp=Module["_context_setclamp"]=function(){return Module["asm"]["_context_setclamp"].apply(null,arguments)};var _context_setemax=Module["_context_setemax"]=function(){return Module["asm"]["_context_setemax"].apply(null,arguments)};var _context_setemin=Module["_context_setemin"]=function(){return Module["asm"]["_context_setemin"].apply(null,arguments)};var _context_setprec=Module["_context_setprec"]=function(){return Module["asm"]["_context_setprec"].apply(null,arguments)};var _context_setround=Module["_context_setround"]=function(){return Module["asm"]["_context_setround"].apply(null,arguments)};var _context_token_missing_tp_repr=Module["_context_token_missing_tp_repr"]=function(){return Module["asm"]["_context_token_missing_tp_repr"].apply(null,arguments)};var _context_tp_clear=Module["_context_tp_clear"]=function(){return Module["asm"]["_context_tp_clear"].apply(null,arguments)};var _context_tp_contains=Module["_context_tp_contains"]=function(){return Module["asm"]["_context_tp_contains"].apply(null,arguments)};var _context_tp_dealloc=Module["_context_tp_dealloc"]=function(){return Module["asm"]["_context_tp_dealloc"].apply(null,arguments)};var _context_tp_iter=Module["_context_tp_iter"]=function(){return Module["asm"]["_context_tp_iter"].apply(null,arguments)};var _context_tp_len=Module["_context_tp_len"]=function(){return Module["asm"]["_context_tp_len"].apply(null,arguments)};var _context_tp_new=Module["_context_tp_new"]=function(){return Module["asm"]["_context_tp_new"].apply(null,arguments)};var _context_tp_richcompare=Module["_context_tp_richcompare"]=function(){return Module["asm"]["_context_tp_richcompare"].apply(null,arguments)};var _context_tp_subscript=Module["_context_tp_subscript"]=function(){return Module["asm"]["_context_tp_subscript"].apply(null,arguments)};var _context_tp_traverse=Module["_context_tp_traverse"]=function(){return Module["asm"]["_context_tp_traverse"].apply(null,arguments)};var _context_unsafe_setemax=Module["_context_unsafe_setemax"]=function(){return Module["asm"]["_context_unsafe_setemax"].apply(null,arguments)};var _context_unsafe_setemin=Module["_context_unsafe_setemin"]=function(){return Module["asm"]["_context_unsafe_setemin"].apply(null,arguments)};var _context_unsafe_setprec=Module["_context_unsafe_setprec"]=function(){return Module["asm"]["_context_unsafe_setprec"].apply(null,arguments)};var _contextvar_cls_getitem=Module["_contextvar_cls_getitem"]=function(){return Module["asm"]["_contextvar_cls_getitem"].apply(null,arguments)};var _contextvar_new=Module["_contextvar_new"]=function(){return Module["asm"]["_contextvar_new"].apply(null,arguments)};var _contextvar_tp_clear=Module["_contextvar_tp_clear"]=function(){return Module["asm"]["_contextvar_tp_clear"].apply(null,arguments)};var _contextvar_tp_dealloc=Module["_contextvar_tp_dealloc"]=function(){return Module["asm"]["_contextvar_tp_dealloc"].apply(null,arguments)};var _contextvar_tp_hash=Module["_contextvar_tp_hash"]=function(){return Module["asm"]["_contextvar_tp_hash"].apply(null,arguments)};var _contextvar_tp_new=Module["_contextvar_tp_new"]=function(){return Module["asm"]["_contextvar_tp_new"].apply(null,arguments)};var _contextvar_tp_repr=Module["_contextvar_tp_repr"]=function(){return Module["asm"]["_contextvar_tp_repr"].apply(null,arguments)};var _contextvar_tp_traverse=Module["_contextvar_tp_traverse"]=function(){return Module["asm"]["_contextvar_tp_traverse"].apply(null,arguments)};var _conv_confname=Module["_conv_confname"]=function(){return Module["asm"]["_conv_confname"].apply(null,arguments)};var _conv_confstr_confname=Module["_conv_confstr_confname"]=function(){return Module["asm"]["_conv_confstr_confname"].apply(null,arguments)};var _conv_content_model=Module["_conv_content_model"]=function(){return Module["asm"]["_conv_content_model"].apply(null,arguments)};var _conv_path_confname=Module["_conv_path_confname"]=function(){return Module["asm"]["_conv_path_confname"].apply(null,arguments)};var _conv_string_to_unicode=Module["_conv_string_to_unicode"]=function(){return Module["asm"]["_conv_string_to_unicode"].apply(null,arguments)};var _conv_sysconf_confname=Module["_conv_sysconf_confname"]=function(){return Module["asm"]["_conv_sysconf_confname"].apply(null,arguments)};var _convertCompoundSelectToSubquery=Module["_convertCompoundSelectToSubquery"]=function(){return Module["asm"]["_convertCompoundSelectToSubquery"].apply(null,arguments)};var _convertToWithoutRowidTable=Module["_convertToWithoutRowidTable"]=function(){return Module["asm"]["_convertToWithoutRowidTable"].apply(null,arguments)};var _convert_op_cmp=Module["_convert_op_cmp"]=function(){return Module["asm"]["_convert_op_cmp"].apply(null,arguments)};var _convert_uc=Module["_convert_uc"]=function(){return Module["asm"]["_convert_uc"].apply(null,arguments)};var _convertitem=Module["_convertitem"]=function(){return Module["asm"]["_convertitem"].apply(null,arguments)};var _copyEntityTable=Module["_copyEntityTable"]=function(){return Module["asm"]["_copyEntityTable"].apply(null,arguments)};var _copyNodeContent=Module["_copyNodeContent"]=function(){return Module["asm"]["_copyNodeContent"].apply(null,arguments)};var _copyPayload=Module["_copyPayload"]=function(){return Module["asm"]["_copyPayload"].apply(null,arguments)};var _copy_addr=Module["_copy_addr"]=function(){return Module["asm"]["_copy_addr"].apply(null,arguments)};var _copy_buffer=Module["_copy_buffer"]=function(){return Module["asm"]["_copy_buffer"].apply(null,arguments)};var _copy_grouping=Module["_copy_grouping"]=function(){return Module["asm"]["_copy_grouping"].apply(null,arguments)};var _copy_lladdr=Module["_copy_lladdr"]=function(){return Module["asm"]["_copy_lladdr"].apply(null,arguments)};var _copy_rec=Module["_copy_rec"]=function(){return Module["asm"]["_copy_rec"].apply(null,arguments)};var _copy_stemmer=Module["_copy_stemmer"]=function(){return Module["asm"]["_copy_stemmer"].apply(null,arguments)};var _copysign=Module["_copysign"]=function(){return Module["asm"]["_copysign"].apply(null,arguments)};var _copysignf=Module["_copysignf"]=function(){return Module["asm"]["_copysignf"].apply(null,arguments)};var _copysignl=Module["_copysignl"]=function(){return Module["asm"]["_copysignl"].apply(null,arguments)};var _coro_await=Module["_coro_await"]=function(){return Module["asm"]["_coro_await"].apply(null,arguments)};var _coro_get_cr_await=Module["_coro_get_cr_await"]=function(){return Module["asm"]["_coro_get_cr_await"].apply(null,arguments)};var _coro_repr=Module["_coro_repr"]=function(){return Module["asm"]["_coro_repr"].apply(null,arguments)};var _coro_wrapper_close=Module["_coro_wrapper_close"]=function(){return Module["asm"]["_coro_wrapper_close"].apply(null,arguments)};var _coro_wrapper_dealloc=Module["_coro_wrapper_dealloc"]=function(){return Module["asm"]["_coro_wrapper_dealloc"].apply(null,arguments)};var _coro_wrapper_iternext=Module["_coro_wrapper_iternext"]=function(){return Module["asm"]["_coro_wrapper_iternext"].apply(null,arguments)};var _coro_wrapper_send=Module["_coro_wrapper_send"]=function(){return Module["asm"]["_coro_wrapper_send"].apply(null,arguments)};var _coro_wrapper_throw=Module["_coro_wrapper_throw"]=function(){return Module["asm"]["_coro_wrapper_throw"].apply(null,arguments)};var _coro_wrapper_traverse=Module["_coro_wrapper_traverse"]=function(){return Module["asm"]["_coro_wrapper_traverse"].apply(null,arguments)};var _corruptSchema=Module["_corruptSchema"]=function(){return Module["asm"]["_corruptSchema"].apply(null,arguments)};var _cos=Module["_cos"]=function(){return Module["asm"]["_cos"].apply(null,arguments)};var _cosf=Module["_cosf"]=function(){return Module["asm"]["_cosf"].apply(null,arguments)};var _cosh=Module["_cosh"]=function(){return Module["asm"]["_cosh"].apply(null,arguments)};var _coshf=Module["_coshf"]=function(){return Module["asm"]["_coshf"].apply(null,arguments)};var _coshl=Module["_coshl"]=function(){return Module["asm"]["_coshl"].apply(null,arguments)};var _cosl=Module["_cosl"]=function(){return Module["asm"]["_cosl"].apply(null,arguments)};var _countFinalize=Module["_countFinalize"]=function(){return Module["asm"]["_countFinalize"].apply(null,arguments)};var _countInverse=Module["_countInverse"]=function(){return Module["asm"]["_countInverse"].apply(null,arguments)};var _countLookasideSlots=Module["_countLookasideSlots"]=function(){return Module["asm"]["_countLookasideSlots"].apply(null,arguments)};var _countStep=Module["_countStep"]=function(){return Module["asm"]["_countStep"].apply(null,arguments)};var _count_dealloc=Module["_count_dealloc"]=function(){return Module["asm"]["_count_dealloc"].apply(null,arguments)};var _count_new=Module["_count_new"]=function(){return Module["asm"]["_count_new"].apply(null,arguments)};var _count_next=Module["_count_next"]=function(){return Module["asm"]["_count_next"].apply(null,arguments)};var _count_reduce=Module["_count_reduce"]=function(){return Module["asm"]["_count_reduce"].apply(null,arguments)};var _count_repr=Module["_count_repr"]=function(){return Module["asm"]["_count_repr"].apply(null,arguments)};var _count_traverse=Module["_count_traverse"]=function(){return Module["asm"]["_count_traverse"].apply(null,arguments)};var _countformat=Module["_countformat"]=function(){return Module["asm"]["_countformat"].apply(null,arguments)};var _cp932_decode=Module["_cp932_decode"]=function(){return Module["asm"]["_cp932_decode"].apply(null,arguments)};var _cp932_encode=Module["_cp932_encode"]=function(){return Module["asm"]["_cp932_encode"].apply(null,arguments)};var _cp949_decode=Module["_cp949_decode"]=function(){return Module["asm"]["_cp949_decode"].apply(null,arguments)};var _cp949_encode=Module["_cp949_encode"]=function(){return Module["asm"]["_cp949_encode"].apply(null,arguments)};var _cp950_decode=Module["_cp950_decode"]=function(){return Module["asm"]["_cp950_decode"].apply(null,arguments)};var _cp950_encode=Module["_cp950_encode"]=function(){return Module["asm"]["_cp950_encode"].apply(null,arguments)};var _cpow=Module["_cpow"]=function(){return Module["asm"]["_cpow"].apply(null,arguments)};var _cpowf=Module["_cpowf"]=function(){return Module["asm"]["_cpowf"].apply(null,arguments)};var _cpowl=Module["_cpowl"]=function(){return Module["asm"]["_cpowl"].apply(null,arguments)};var _cproj=Module["_cproj"]=function(){return Module["asm"]["_cproj"].apply(null,arguments)};var _cprojf=Module["_cprojf"]=function(){return Module["asm"]["_cprojf"].apply(null,arguments)};var _cprojl=Module["_cprojl"]=function(){return Module["asm"]["_cprojl"].apply(null,arguments)};var _crc32=Module["_crc32"]=function(){return Module["asm"]["_crc32"].apply(null,arguments)};var _crc32_combine=Module["_crc32_combine"]=function(){return Module["asm"]["_crc32_combine"].apply(null,arguments)};var _crc32_combine64=Module["_crc32_combine64"]=function(){return Module["asm"]["_crc32_combine64"].apply(null,arguments)};var _crc32_combine_=Module["_crc32_combine_"]=function(){return Module["asm"]["_crc32_combine_"].apply(null,arguments)};var _creal=Module["_creal"]=function(){return Module["asm"]["_creal"].apply(null,arguments)};var _crealf=Module["_crealf"]=function(){return Module["asm"]["_crealf"].apply(null,arguments)};var _creall=Module["_creall"]=function(){return Module["asm"]["_creall"].apply(null,arguments)};var _creat=Module["_creat"]=function(){return Module["asm"]["_creat"].apply(null,arguments)};var _createAggContext=Module["_createAggContext"]=function(){return Module["asm"]["_createAggContext"].apply(null,arguments)};var _createCollation=Module["_createCollation"]=function(){return Module["asm"]["_createCollation"].apply(null,arguments)};var _createFunctionApi=Module["_createFunctionApi"]=function(){return Module["asm"]["_createFunctionApi"].apply(null,arguments)};var _createMask=Module["_createMask"]=function(){return Module["asm"]["_createMask"].apply(null,arguments)};var _createModule=Module["_createModule"]=function(){return Module["asm"]["_createModule"].apply(null,arguments)};var _createTableStmt=Module["_createTableStmt"]=function(){return Module["asm"]["_createTableStmt"].apply(null,arguments)};var _create_gil=Module["_create_gil"]=function(){return Module["asm"]["_create_gil"].apply(null,arguments)};var _create_stdio=Module["_create_stdio"]=function(){return Module["asm"]["_create_stdio"].apply(null,arguments)};var _crt3=Module["_crt3"]=function(){return Module["asm"]["_crt3"].apply(null,arguments)};var _crypt=Module["_crypt"]=function(){return Module["asm"]["_crypt"].apply(null,arguments)};var _crypt_crypt=Module["_crypt_crypt"]=function(){return Module["asm"]["_crypt_crypt"].apply(null,arguments)};var _csin=Module["_csin"]=function(){return Module["asm"]["_csin"].apply(null,arguments)};var _csinf=Module["_csinf"]=function(){return Module["asm"]["_csinf"].apply(null,arguments)};var _csinh=Module["_csinh"]=function(){return Module["asm"]["_csinh"].apply(null,arguments)};var _csinhf=Module["_csinhf"]=function(){return Module["asm"]["_csinhf"].apply(null,arguments)};var _csinhl=Module["_csinhl"]=function(){return Module["asm"]["_csinhl"].apply(null,arguments)};var _csinl=Module["_csinl"]=function(){return Module["asm"]["_csinl"].apply(null,arguments)};var _csqrt=Module["_csqrt"]=function(){return Module["asm"]["_csqrt"].apply(null,arguments)};var _csqrtf=Module["_csqrtf"]=function(){return Module["asm"]["_csqrtf"].apply(null,arguments)};var _csqrtl=Module["_csqrtl"]=function(){return Module["asm"]["_csqrtl"].apply(null,arguments)};var _csv_field_size_limit=Module["_csv_field_size_limit"]=function(){return Module["asm"]["_csv_field_size_limit"].apply(null,arguments)};var _csv_get_dialect=Module["_csv_get_dialect"]=function(){return Module["asm"]["_csv_get_dialect"].apply(null,arguments)};var _csv_list_dialects=Module["_csv_list_dialects"]=function(){return Module["asm"]["_csv_list_dialects"].apply(null,arguments)};var _csv_reader=Module["_csv_reader"]=function(){return Module["asm"]["_csv_reader"].apply(null,arguments)};var _csv_register_dialect=Module["_csv_register_dialect"]=function(){return Module["asm"]["_csv_register_dialect"].apply(null,arguments)};var _csv_unregister_dialect=Module["_csv_unregister_dialect"]=function(){return Module["asm"]["_csv_unregister_dialect"].apply(null,arguments)};var _csv_writer=Module["_csv_writer"]=function(){return Module["asm"]["_csv_writer"].apply(null,arguments)};var _csv_writerow=Module["_csv_writerow"]=function(){return Module["asm"]["_csv_writerow"].apply(null,arguments)};var _csv_writerows=Module["_csv_writerows"]=function(){return Module["asm"]["_csv_writerows"].apply(null,arguments)};var _ctan=Module["_ctan"]=function(){return Module["asm"]["_ctan"].apply(null,arguments)};var _ctanf=Module["_ctanf"]=function(){return Module["asm"]["_ctanf"].apply(null,arguments)};var _ctanh=Module["_ctanh"]=function(){return Module["asm"]["_ctanh"].apply(null,arguments)};var _ctanhf=Module["_ctanhf"]=function(){return Module["asm"]["_ctanhf"].apply(null,arguments)};var _ctanhl=Module["_ctanhl"]=function(){return Module["asm"]["_ctanhl"].apply(null,arguments)};var _ctanl=Module["_ctanl"]=function(){return Module["asm"]["_ctanl"].apply(null,arguments)};var _ctermid=Module["_ctermid"]=function(){return Module["asm"]["_ctermid"].apply(null,arguments)};var _ctimeFunc=Module["_ctimeFunc"]=function(){return Module["asm"]["_ctimeFunc"].apply(null,arguments)};var _ctimestampFunc=Module["_ctimestampFunc"]=function(){return Module["asm"]["_ctimestampFunc"].apply(null,arguments)};var _ctx_canonical=Module["_ctx_canonical"]=function(){return Module["asm"]["_ctx_canonical"].apply(null,arguments)};var _ctx_copy_decimal=Module["_ctx_copy_decimal"]=function(){return Module["asm"]["_ctx_copy_decimal"].apply(null,arguments)};var _ctx_create_decimal=Module["_ctx_create_decimal"]=function(){return Module["asm"]["_ctx_create_decimal"].apply(null,arguments)};var _ctx_from_float=Module["_ctx_from_float"]=function(){return Module["asm"]["_ctx_from_float"].apply(null,arguments)};var _ctx_iscanonical=Module["_ctx_iscanonical"]=function(){return Module["asm"]["_ctx_iscanonical"].apply(null,arguments)};var _ctx_mpd_class=Module["_ctx_mpd_class"]=function(){return Module["asm"]["_ctx_mpd_class"].apply(null,arguments)};var _ctx_mpd_compare_total=Module["_ctx_mpd_compare_total"]=function(){return Module["asm"]["_ctx_mpd_compare_total"].apply(null,arguments)};var _ctx_mpd_compare_total_mag=Module["_ctx_mpd_compare_total_mag"]=function(){return Module["asm"]["_ctx_mpd_compare_total_mag"].apply(null,arguments)};var _ctx_mpd_isfinite=Module["_ctx_mpd_isfinite"]=function(){return Module["asm"]["_ctx_mpd_isfinite"].apply(null,arguments)};var _ctx_mpd_isinfinite=Module["_ctx_mpd_isinfinite"]=function(){return Module["asm"]["_ctx_mpd_isinfinite"].apply(null,arguments)};var _ctx_mpd_isnan=Module["_ctx_mpd_isnan"]=function(){return Module["asm"]["_ctx_mpd_isnan"].apply(null,arguments)};var _ctx_mpd_isnormal=Module["_ctx_mpd_isnormal"]=function(){return Module["asm"]["_ctx_mpd_isnormal"].apply(null,arguments)};var _ctx_mpd_isqnan=Module["_ctx_mpd_isqnan"]=function(){return Module["asm"]["_ctx_mpd_isqnan"].apply(null,arguments)};var _ctx_mpd_issigned=Module["_ctx_mpd_issigned"]=function(){return Module["asm"]["_ctx_mpd_issigned"].apply(null,arguments)};var _ctx_mpd_issnan=Module["_ctx_mpd_issnan"]=function(){return Module["asm"]["_ctx_mpd_issnan"].apply(null,arguments)};var _ctx_mpd_issubnormal=Module["_ctx_mpd_issubnormal"]=function(){return Module["asm"]["_ctx_mpd_issubnormal"].apply(null,arguments)};var _ctx_mpd_iszero=Module["_ctx_mpd_iszero"]=function(){return Module["asm"]["_ctx_mpd_iszero"].apply(null,arguments)};var _ctx_mpd_qabs=Module["_ctx_mpd_qabs"]=function(){return Module["asm"]["_ctx_mpd_qabs"].apply(null,arguments)};var _ctx_mpd_qadd=Module["_ctx_mpd_qadd"]=function(){return Module["asm"]["_ctx_mpd_qadd"].apply(null,arguments)};var _ctx_mpd_qand=Module["_ctx_mpd_qand"]=function(){return Module["asm"]["_ctx_mpd_qand"].apply(null,arguments)};var _ctx_mpd_qcompare=Module["_ctx_mpd_qcompare"]=function(){return Module["asm"]["_ctx_mpd_qcompare"].apply(null,arguments)};var _ctx_mpd_qcompare_signal=Module["_ctx_mpd_qcompare_signal"]=function(){return Module["asm"]["_ctx_mpd_qcompare_signal"].apply(null,arguments)};var _ctx_mpd_qcopy_abs=Module["_ctx_mpd_qcopy_abs"]=function(){return Module["asm"]["_ctx_mpd_qcopy_abs"].apply(null,arguments)};var _ctx_mpd_qcopy_negate=Module["_ctx_mpd_qcopy_negate"]=function(){return Module["asm"]["_ctx_mpd_qcopy_negate"].apply(null,arguments)};var _ctx_mpd_qcopy_sign=Module["_ctx_mpd_qcopy_sign"]=function(){return Module["asm"]["_ctx_mpd_qcopy_sign"].apply(null,arguments)};var _ctx_mpd_qdiv=Module["_ctx_mpd_qdiv"]=function(){return Module["asm"]["_ctx_mpd_qdiv"].apply(null,arguments)};var _ctx_mpd_qdivint=Module["_ctx_mpd_qdivint"]=function(){return Module["asm"]["_ctx_mpd_qdivint"].apply(null,arguments)};var _ctx_mpd_qdivmod=Module["_ctx_mpd_qdivmod"]=function(){return Module["asm"]["_ctx_mpd_qdivmod"].apply(null,arguments)};var _ctx_mpd_qexp=Module["_ctx_mpd_qexp"]=function(){return Module["asm"]["_ctx_mpd_qexp"].apply(null,arguments)};var _ctx_mpd_qfma=Module["_ctx_mpd_qfma"]=function(){return Module["asm"]["_ctx_mpd_qfma"].apply(null,arguments)};var _ctx_mpd_qinvert=Module["_ctx_mpd_qinvert"]=function(){return Module["asm"]["_ctx_mpd_qinvert"].apply(null,arguments)};var _ctx_mpd_qln=Module["_ctx_mpd_qln"]=function(){return Module["asm"]["_ctx_mpd_qln"].apply(null,arguments)};var _ctx_mpd_qlog10=Module["_ctx_mpd_qlog10"]=function(){return Module["asm"]["_ctx_mpd_qlog10"].apply(null,arguments)};var _ctx_mpd_qlogb=Module["_ctx_mpd_qlogb"]=function(){return Module["asm"]["_ctx_mpd_qlogb"].apply(null,arguments)};var _ctx_mpd_qmax=Module["_ctx_mpd_qmax"]=function(){return Module["asm"]["_ctx_mpd_qmax"].apply(null,arguments)};var _ctx_mpd_qmax_mag=Module["_ctx_mpd_qmax_mag"]=function(){return Module["asm"]["_ctx_mpd_qmax_mag"].apply(null,arguments)};var _ctx_mpd_qmin=Module["_ctx_mpd_qmin"]=function(){return Module["asm"]["_ctx_mpd_qmin"].apply(null,arguments)};var _ctx_mpd_qmin_mag=Module["_ctx_mpd_qmin_mag"]=function(){return Module["asm"]["_ctx_mpd_qmin_mag"].apply(null,arguments)};var _ctx_mpd_qminus=Module["_ctx_mpd_qminus"]=function(){return Module["asm"]["_ctx_mpd_qminus"].apply(null,arguments)};var _ctx_mpd_qmul=Module["_ctx_mpd_qmul"]=function(){return Module["asm"]["_ctx_mpd_qmul"].apply(null,arguments)};var _ctx_mpd_qnext_minus=Module["_ctx_mpd_qnext_minus"]=function(){return Module["asm"]["_ctx_mpd_qnext_minus"].apply(null,arguments)};var _ctx_mpd_qnext_plus=Module["_ctx_mpd_qnext_plus"]=function(){return Module["asm"]["_ctx_mpd_qnext_plus"].apply(null,arguments)};var _ctx_mpd_qnext_toward=Module["_ctx_mpd_qnext_toward"]=function(){return Module["asm"]["_ctx_mpd_qnext_toward"].apply(null,arguments)};var _ctx_mpd_qor=Module["_ctx_mpd_qor"]=function(){return Module["asm"]["_ctx_mpd_qor"].apply(null,arguments)};var _ctx_mpd_qplus=Module["_ctx_mpd_qplus"]=function(){return Module["asm"]["_ctx_mpd_qplus"].apply(null,arguments)};var _ctx_mpd_qpow=Module["_ctx_mpd_qpow"]=function(){return Module["asm"]["_ctx_mpd_qpow"].apply(null,arguments)};var _ctx_mpd_qquantize=Module["_ctx_mpd_qquantize"]=function(){return Module["asm"]["_ctx_mpd_qquantize"].apply(null,arguments)};var _ctx_mpd_qreduce=Module["_ctx_mpd_qreduce"]=function(){return Module["asm"]["_ctx_mpd_qreduce"].apply(null,arguments)};var _ctx_mpd_qrem=Module["_ctx_mpd_qrem"]=function(){return Module["asm"]["_ctx_mpd_qrem"].apply(null,arguments)};var _ctx_mpd_qrem_near=Module["_ctx_mpd_qrem_near"]=function(){return Module["asm"]["_ctx_mpd_qrem_near"].apply(null,arguments)};var _ctx_mpd_qrotate=Module["_ctx_mpd_qrotate"]=function(){return Module["asm"]["_ctx_mpd_qrotate"].apply(null,arguments)};var _ctx_mpd_qround_to_int=Module["_ctx_mpd_qround_to_int"]=function(){return Module["asm"]["_ctx_mpd_qround_to_int"].apply(null,arguments)};var _ctx_mpd_qround_to_intx=Module["_ctx_mpd_qround_to_intx"]=function(){return Module["asm"]["_ctx_mpd_qround_to_intx"].apply(null,arguments)};var _ctx_mpd_qscaleb=Module["_ctx_mpd_qscaleb"]=function(){return Module["asm"]["_ctx_mpd_qscaleb"].apply(null,arguments)};var _ctx_mpd_qshift=Module["_ctx_mpd_qshift"]=function(){return Module["asm"]["_ctx_mpd_qshift"].apply(null,arguments)};var _ctx_mpd_qsqrt=Module["_ctx_mpd_qsqrt"]=function(){return Module["asm"]["_ctx_mpd_qsqrt"].apply(null,arguments)};var _ctx_mpd_qsub=Module["_ctx_mpd_qsub"]=function(){return Module["asm"]["_ctx_mpd_qsub"].apply(null,arguments)};var _ctx_mpd_qxor=Module["_ctx_mpd_qxor"]=function(){return Module["asm"]["_ctx_mpd_qxor"].apply(null,arguments)};var _ctx_mpd_radix=Module["_ctx_mpd_radix"]=function(){return Module["asm"]["_ctx_mpd_radix"].apply(null,arguments)};var _ctx_mpd_same_quantum=Module["_ctx_mpd_same_quantum"]=function(){return Module["asm"]["_ctx_mpd_same_quantum"].apply(null,arguments)};var _ctx_mpd_to_eng=Module["_ctx_mpd_to_eng"]=function(){return Module["asm"]["_ctx_mpd_to_eng"].apply(null,arguments)};var _ctx_mpd_to_sci=Module["_ctx_mpd_to_sci"]=function(){return Module["asm"]["_ctx_mpd_to_sci"].apply(null,arguments)};var _ctxmanager_dealloc=Module["_ctxmanager_dealloc"]=function(){return Module["asm"]["_ctxmanager_dealloc"].apply(null,arguments)};var _ctxmanager_new=Module["_ctxmanager_new"]=function(){return Module["asm"]["_ctxmanager_new"].apply(null,arguments)};var _ctxmanager_restore_global=Module["_ctxmanager_restore_global"]=function(){return Module["asm"]["_ctxmanager_restore_global"].apply(null,arguments)};var _ctxmanager_set_local=Module["_ctxmanager_set_local"]=function(){return Module["asm"]["_ctxmanager_set_local"].apply(null,arguments)};var _cubic_peak=Module["_cubic_peak"]=function(){return Module["asm"]["_cubic_peak"].apply(null,arguments)};var _cume_distStepFunc=Module["_cume_distStepFunc"]=function(){return Module["asm"]["_cume_distStepFunc"].apply(null,arguments)};var _cume_distValueFunc=Module["_cume_distValueFunc"]=function(){return Module["asm"]["_cume_distValueFunc"].apply(null,arguments)};var _cwr_dealloc=Module["_cwr_dealloc"]=function(){return Module["asm"]["_cwr_dealloc"].apply(null,arguments)};var _cwr_new=Module["_cwr_new"]=function(){return Module["asm"]["_cwr_new"].apply(null,arguments)};var _cwr_next=Module["_cwr_next"]=function(){return Module["asm"]["_cwr_next"].apply(null,arguments)};var _cwr_reduce=Module["_cwr_reduce"]=function(){return Module["asm"]["_cwr_reduce"].apply(null,arguments)};var _cwr_setstate=Module["_cwr_setstate"]=function(){return Module["asm"]["_cwr_setstate"].apply(null,arguments)};var _cwr_sizeof=Module["_cwr_sizeof"]=function(){return Module["asm"]["_cwr_sizeof"].apply(null,arguments)};var _cwr_traverse=Module["_cwr_traverse"]=function(){return Module["asm"]["_cwr_traverse"].apply(null,arguments)};var _cycle=Module["_cycle"]=function(){return Module["asm"]["_cycle"].apply(null,arguments)};var _cycle_dealloc=Module["_cycle_dealloc"]=function(){return Module["asm"]["_cycle_dealloc"].apply(null,arguments)};var _cycle_new=Module["_cycle_new"]=function(){return Module["asm"]["_cycle_new"].apply(null,arguments)};var _cycle_next=Module["_cycle_next"]=function(){return Module["asm"]["_cycle_next"].apply(null,arguments)};var _cycle_reduce=Module["_cycle_reduce"]=function(){return Module["asm"]["_cycle_reduce"].apply(null,arguments)};var _cycle_setstate=Module["_cycle_setstate"]=function(){return Module["asm"]["_cycle_setstate"].apply(null,arguments)};var _cycle_traverse=Module["_cycle_traverse"]=function(){return Module["asm"]["_cycle_traverse"].apply(null,arguments)};var _d_getitem=Module["_d_getitem"]=function(){return Module["asm"]["_d_getitem"].apply(null,arguments)};var _d_setitem=Module["_d_setitem"]=function(){return Module["asm"]["_d_setitem"].apply(null,arguments)};var _databaseIsUnmoved=Module["_databaseIsUnmoved"]=function(){return Module["asm"]["_databaseIsUnmoved"].apply(null,arguments)};var _dateFunc=Module["_dateFunc"]=function(){return Module["asm"]["_dateFunc"].apply(null,arguments)};var _date_add=Module["_date_add"]=function(){return Module["asm"]["_date_add"].apply(null,arguments)};var _date_ctime=Module["_date_ctime"]=function(){return Module["asm"]["_date_ctime"].apply(null,arguments)};var _date_day=Module["_date_day"]=function(){return Module["asm"]["_date_day"].apply(null,arguments)};var _date_format=Module["_date_format"]=function(){return Module["asm"]["_date_format"].apply(null,arguments)};var _date_fromisoformat=Module["_date_fromisoformat"]=function(){return Module["asm"]["_date_fromisoformat"].apply(null,arguments)};var _date_fromordinal=Module["_date_fromordinal"]=function(){return Module["asm"]["_date_fromordinal"].apply(null,arguments)};var _date_fromtimestamp=Module["_date_fromtimestamp"]=function(){return Module["asm"]["_date_fromtimestamp"].apply(null,arguments)};var _date_hash=Module["_date_hash"]=function(){return Module["asm"]["_date_hash"].apply(null,arguments)};var _date_isocalendar=Module["_date_isocalendar"]=function(){return Module["asm"]["_date_isocalendar"].apply(null,arguments)};var _date_isoformat=Module["_date_isoformat"]=function(){return Module["asm"]["_date_isoformat"].apply(null,arguments)};var _date_isoweekday=Module["_date_isoweekday"]=function(){return Module["asm"]["_date_isoweekday"].apply(null,arguments)};var _date_month=Module["_date_month"]=function(){return Module["asm"]["_date_month"].apply(null,arguments)};var _date_new=Module["_date_new"]=function(){return Module["asm"]["_date_new"].apply(null,arguments)};var _date_reduce=Module["_date_reduce"]=function(){return Module["asm"]["_date_reduce"].apply(null,arguments)};var _date_replace=Module["_date_replace"]=function(){return Module["asm"]["_date_replace"].apply(null,arguments)};var _date_repr=Module["_date_repr"]=function(){return Module["asm"]["_date_repr"].apply(null,arguments)};var _date_richcompare=Module["_date_richcompare"]=function(){return Module["asm"]["_date_richcompare"].apply(null,arguments)};var _date_str=Module["_date_str"]=function(){return Module["asm"]["_date_str"].apply(null,arguments)};var _date_strftime=Module["_date_strftime"]=function(){return Module["asm"]["_date_strftime"].apply(null,arguments)};var _date_subtract=Module["_date_subtract"]=function(){return Module["asm"]["_date_subtract"].apply(null,arguments)};var _date_timetuple=Module["_date_timetuple"]=function(){return Module["asm"]["_date_timetuple"].apply(null,arguments)};var _date_today=Module["_date_today"]=function(){return Module["asm"]["_date_today"].apply(null,arguments)};var _date_toordinal=Module["_date_toordinal"]=function(){return Module["asm"]["_date_toordinal"].apply(null,arguments)};var _date_weekday=Module["_date_weekday"]=function(){return Module["asm"]["_date_weekday"].apply(null,arguments)};var _date_year=Module["_date_year"]=function(){return Module["asm"]["_date_year"].apply(null,arguments)};var _datetimeError=Module["_datetimeError"]=function(){return Module["asm"]["_datetimeError"].apply(null,arguments)};var _datetimeFunc=Module["_datetimeFunc"]=function(){return Module["asm"]["_datetimeFunc"].apply(null,arguments)};var _datetime_add=Module["_datetime_add"]=function(){return Module["asm"]["_datetime_add"].apply(null,arguments)};var _datetime_alloc=Module["_datetime_alloc"]=function(){return Module["asm"]["_datetime_alloc"].apply(null,arguments)};var _datetime_astimezone=Module["_datetime_astimezone"]=function(){return Module["asm"]["_datetime_astimezone"].apply(null,arguments)};var _datetime_combine=Module["_datetime_combine"]=function(){return Module["asm"]["_datetime_combine"].apply(null,arguments)};var _datetime_ctime=Module["_datetime_ctime"]=function(){return Module["asm"]["_datetime_ctime"].apply(null,arguments)};var _datetime_datetime_now=Module["_datetime_datetime_now"]=function(){return Module["asm"]["_datetime_datetime_now"].apply(null,arguments)};var _datetime_dealloc=Module["_datetime_dealloc"]=function(){return Module["asm"]["_datetime_dealloc"].apply(null,arguments)};var _datetime_dst=Module["_datetime_dst"]=function(){return Module["asm"]["_datetime_dst"].apply(null,arguments)};var _datetime_fold=Module["_datetime_fold"]=function(){return Module["asm"]["_datetime_fold"].apply(null,arguments)};var _datetime_from_timet_and_us=Module["_datetime_from_timet_and_us"]=function(){return Module["asm"]["_datetime_from_timet_and_us"].apply(null,arguments)};var _datetime_fromisoformat=Module["_datetime_fromisoformat"]=function(){return Module["asm"]["_datetime_fromisoformat"].apply(null,arguments)};var _datetime_fromtimestamp=Module["_datetime_fromtimestamp"]=function(){return Module["asm"]["_datetime_fromtimestamp"].apply(null,arguments)};var _datetime_getdate=Module["_datetime_getdate"]=function(){return Module["asm"]["_datetime_getdate"].apply(null,arguments)};var _datetime_gettime=Module["_datetime_gettime"]=function(){return Module["asm"]["_datetime_gettime"].apply(null,arguments)};var _datetime_gettimetz=Module["_datetime_gettimetz"]=function(){return Module["asm"]["_datetime_gettimetz"].apply(null,arguments)};var _datetime_hash=Module["_datetime_hash"]=function(){return Module["asm"]["_datetime_hash"].apply(null,arguments)};var _datetime_hour=Module["_datetime_hour"]=function(){return Module["asm"]["_datetime_hour"].apply(null,arguments)};var _datetime_isoformat=Module["_datetime_isoformat"]=function(){return Module["asm"]["_datetime_isoformat"].apply(null,arguments)};var _datetime_microsecond=Module["_datetime_microsecond"]=function(){return Module["asm"]["_datetime_microsecond"].apply(null,arguments)};var _datetime_minute=Module["_datetime_minute"]=function(){return Module["asm"]["_datetime_minute"].apply(null,arguments)};var _datetime_new=Module["_datetime_new"]=function(){return Module["asm"]["_datetime_new"].apply(null,arguments)};var _datetime_reduce=Module["_datetime_reduce"]=function(){return Module["asm"]["_datetime_reduce"].apply(null,arguments)};var _datetime_reduce_ex=Module["_datetime_reduce_ex"]=function(){return Module["asm"]["_datetime_reduce_ex"].apply(null,arguments)};var _datetime_replace=Module["_datetime_replace"]=function(){return Module["asm"]["_datetime_replace"].apply(null,arguments)};var _datetime_repr=Module["_datetime_repr"]=function(){return Module["asm"]["_datetime_repr"].apply(null,arguments)};var _datetime_richcompare=Module["_datetime_richcompare"]=function(){return Module["asm"]["_datetime_richcompare"].apply(null,arguments)};var _datetime_second=Module["_datetime_second"]=function(){return Module["asm"]["_datetime_second"].apply(null,arguments)};var _datetime_str=Module["_datetime_str"]=function(){return Module["asm"]["_datetime_str"].apply(null,arguments)};var _datetime_strptime=Module["_datetime_strptime"]=function(){return Module["asm"]["_datetime_strptime"].apply(null,arguments)};var _datetime_subtract=Module["_datetime_subtract"]=function(){return Module["asm"]["_datetime_subtract"].apply(null,arguments)};var _datetime_timestamp=Module["_datetime_timestamp"]=function(){return Module["asm"]["_datetime_timestamp"].apply(null,arguments)};var _datetime_timetuple=Module["_datetime_timetuple"]=function(){return Module["asm"]["_datetime_timetuple"].apply(null,arguments)};var _datetime_tzinfo=Module["_datetime_tzinfo"]=function(){return Module["asm"]["_datetime_tzinfo"].apply(null,arguments)};var _datetime_tzname=Module["_datetime_tzname"]=function(){return Module["asm"]["_datetime_tzname"].apply(null,arguments)};var _datetime_utcfromtimestamp=Module["_datetime_utcfromtimestamp"]=function(){return Module["asm"]["_datetime_utcfromtimestamp"].apply(null,arguments)};var _datetime_utcnow=Module["_datetime_utcnow"]=function(){return Module["asm"]["_datetime_utcnow"].apply(null,arguments)};var _datetime_utcoffset=Module["_datetime_utcoffset"]=function(){return Module["asm"]["_datetime_utcoffset"].apply(null,arguments)};var _datetime_utctimetuple=Module["_datetime_utctimetuple"]=function(){return Module["asm"]["_datetime_utctimetuple"].apply(null,arguments)};var _dbMallocRawFinish=Module["_dbMallocRawFinish"]=function(){return Module["asm"]["_dbMallocRawFinish"].apply(null,arguments)};var _dbReallocFinish=Module["_dbReallocFinish"]=function(){return Module["asm"]["_dbReallocFinish"].apply(null,arguments)};var _dcgettext=Module["_dcgettext"]=function(){return Module["asm"]["_dcgettext"].apply(null,arguments)};var _dcngettext=Module["_dcngettext"]=function(){return Module["asm"]["_dcngettext"].apply(null,arguments)};var _dd_add=Module["_dd_add"]=function(){return Module["asm"]["_dd_add"].apply(null,arguments)};var _dd_mul=Module["_dd_mul"]=function(){return Module["asm"]["_dd_mul"].apply(null,arguments)};var _dec_addstatus=Module["_dec_addstatus"]=function(){return Module["asm"]["_dec_addstatus"].apply(null,arguments)};var _dec_apply=Module["_dec_apply"]=function(){return Module["asm"]["_dec_apply"].apply(null,arguments)};var _dec_as_integer_ratio=Module["_dec_as_integer_ratio"]=function(){return Module["asm"]["_dec_as_integer_ratio"].apply(null,arguments)};var _dec_as_long=Module["_dec_as_long"]=function(){return Module["asm"]["_dec_as_long"].apply(null,arguments)};var _dec_canonical=Module["_dec_canonical"]=function(){return Module["asm"]["_dec_canonical"].apply(null,arguments)};var _dec_ceil=Module["_dec_ceil"]=function(){return Module["asm"]["_dec_ceil"].apply(null,arguments)};var _dec_complex=Module["_dec_complex"]=function(){return Module["asm"]["_dec_complex"].apply(null,arguments)};var _dec_conjugate=Module["_dec_conjugate"]=function(){return Module["asm"]["_dec_conjugate"].apply(null,arguments)};var _dec_copy=Module["_dec_copy"]=function(){return Module["asm"]["_dec_copy"].apply(null,arguments)};var _dec_dealloc=Module["_dec_dealloc"]=function(){return Module["asm"]["_dec_dealloc"].apply(null,arguments)};var _dec_floor=Module["_dec_floor"]=function(){return Module["asm"]["_dec_floor"].apply(null,arguments)};var _dec_format=Module["_dec_format"]=function(){return Module["asm"]["_dec_format"].apply(null,arguments)};var _dec_from_float=Module["_dec_from_float"]=function(){return Module["asm"]["_dec_from_float"].apply(null,arguments)};var _dec_from_long=Module["_dec_from_long"]=function(){return Module["asm"]["_dec_from_long"].apply(null,arguments)};var _dec_hash=Module["_dec_hash"]=function(){return Module["asm"]["_dec_hash"].apply(null,arguments)};var _dec_imag=Module["_dec_imag"]=function(){return Module["asm"]["_dec_imag"].apply(null,arguments)};var _dec_mpd_adjexp=Module["_dec_mpd_adjexp"]=function(){return Module["asm"]["_dec_mpd_adjexp"].apply(null,arguments)};var _dec_mpd_class=Module["_dec_mpd_class"]=function(){return Module["asm"]["_dec_mpd_class"].apply(null,arguments)};var _dec_mpd_compare_total=Module["_dec_mpd_compare_total"]=function(){return Module["asm"]["_dec_mpd_compare_total"].apply(null,arguments)};var _dec_mpd_compare_total_mag=Module["_dec_mpd_compare_total_mag"]=function(){return Module["asm"]["_dec_mpd_compare_total_mag"].apply(null,arguments)};var _dec_mpd_iscanonical=Module["_dec_mpd_iscanonical"]=function(){return Module["asm"]["_dec_mpd_iscanonical"].apply(null,arguments)};var _dec_mpd_isfinite=Module["_dec_mpd_isfinite"]=function(){return Module["asm"]["_dec_mpd_isfinite"].apply(null,arguments)};var _dec_mpd_isinfinite=Module["_dec_mpd_isinfinite"]=function(){return Module["asm"]["_dec_mpd_isinfinite"].apply(null,arguments)};var _dec_mpd_isnan=Module["_dec_mpd_isnan"]=function(){return Module["asm"]["_dec_mpd_isnan"].apply(null,arguments)};var _dec_mpd_isnormal=Module["_dec_mpd_isnormal"]=function(){return Module["asm"]["_dec_mpd_isnormal"].apply(null,arguments)};var _dec_mpd_isqnan=Module["_dec_mpd_isqnan"]=function(){return Module["asm"]["_dec_mpd_isqnan"].apply(null,arguments)};var _dec_mpd_issigned=Module["_dec_mpd_issigned"]=function(){return Module["asm"]["_dec_mpd_issigned"].apply(null,arguments)};var _dec_mpd_issnan=Module["_dec_mpd_issnan"]=function(){return Module["asm"]["_dec_mpd_issnan"].apply(null,arguments)};var _dec_mpd_issubnormal=Module["_dec_mpd_issubnormal"]=function(){return Module["asm"]["_dec_mpd_issubnormal"].apply(null,arguments)};var _dec_mpd_iszero=Module["_dec_mpd_iszero"]=function(){return Module["asm"]["_dec_mpd_iszero"].apply(null,arguments)};var _dec_mpd_qand=Module["_dec_mpd_qand"]=function(){return Module["asm"]["_dec_mpd_qand"].apply(null,arguments)};var _dec_mpd_qcompare=Module["_dec_mpd_qcompare"]=function(){return Module["asm"]["_dec_mpd_qcompare"].apply(null,arguments)};var _dec_mpd_qcompare_signal=Module["_dec_mpd_qcompare_signal"]=function(){return Module["asm"]["_dec_mpd_qcompare_signal"].apply(null,arguments)};var _dec_mpd_qcopy_abs=Module["_dec_mpd_qcopy_abs"]=function(){return Module["asm"]["_dec_mpd_qcopy_abs"].apply(null,arguments)};var _dec_mpd_qcopy_negate=Module["_dec_mpd_qcopy_negate"]=function(){return Module["asm"]["_dec_mpd_qcopy_negate"].apply(null,arguments)};var _dec_mpd_qcopy_sign=Module["_dec_mpd_qcopy_sign"]=function(){return Module["asm"]["_dec_mpd_qcopy_sign"].apply(null,arguments)};var _dec_mpd_qexp=Module["_dec_mpd_qexp"]=function(){return Module["asm"]["_dec_mpd_qexp"].apply(null,arguments)};var _dec_mpd_qfma=Module["_dec_mpd_qfma"]=function(){return Module["asm"]["_dec_mpd_qfma"].apply(null,arguments)};var _dec_mpd_qinvert=Module["_dec_mpd_qinvert"]=function(){return Module["asm"]["_dec_mpd_qinvert"].apply(null,arguments)};var _dec_mpd_qln=Module["_dec_mpd_qln"]=function(){return Module["asm"]["_dec_mpd_qln"].apply(null,arguments)};var _dec_mpd_qlog10=Module["_dec_mpd_qlog10"]=function(){return Module["asm"]["_dec_mpd_qlog10"].apply(null,arguments)};var _dec_mpd_qlogb=Module["_dec_mpd_qlogb"]=function(){return Module["asm"]["_dec_mpd_qlogb"].apply(null,arguments)};var _dec_mpd_qmax=Module["_dec_mpd_qmax"]=function(){return Module["asm"]["_dec_mpd_qmax"].apply(null,arguments)};var _dec_mpd_qmax_mag=Module["_dec_mpd_qmax_mag"]=function(){return Module["asm"]["_dec_mpd_qmax_mag"].apply(null,arguments)};var _dec_mpd_qmin=Module["_dec_mpd_qmin"]=function(){return Module["asm"]["_dec_mpd_qmin"].apply(null,arguments)};var _dec_mpd_qmin_mag=Module["_dec_mpd_qmin_mag"]=function(){return Module["asm"]["_dec_mpd_qmin_mag"].apply(null,arguments)};var _dec_mpd_qnext_minus=Module["_dec_mpd_qnext_minus"]=function(){return Module["asm"]["_dec_mpd_qnext_minus"].apply(null,arguments)};var _dec_mpd_qnext_plus=Module["_dec_mpd_qnext_plus"]=function(){return Module["asm"]["_dec_mpd_qnext_plus"].apply(null,arguments)};var _dec_mpd_qnext_toward=Module["_dec_mpd_qnext_toward"]=function(){return Module["asm"]["_dec_mpd_qnext_toward"].apply(null,arguments)};var _dec_mpd_qor=Module["_dec_mpd_qor"]=function(){return Module["asm"]["_dec_mpd_qor"].apply(null,arguments)};var _dec_mpd_qquantize=Module["_dec_mpd_qquantize"]=function(){return Module["asm"]["_dec_mpd_qquantize"].apply(null,arguments)};var _dec_mpd_qreduce=Module["_dec_mpd_qreduce"]=function(){return Module["asm"]["_dec_mpd_qreduce"].apply(null,arguments)};var _dec_mpd_qrem_near=Module["_dec_mpd_qrem_near"]=function(){return Module["asm"]["_dec_mpd_qrem_near"].apply(null,arguments)};var _dec_mpd_qrotate=Module["_dec_mpd_qrotate"]=function(){return Module["asm"]["_dec_mpd_qrotate"].apply(null,arguments)};var _dec_mpd_qscaleb=Module["_dec_mpd_qscaleb"]=function(){return Module["asm"]["_dec_mpd_qscaleb"].apply(null,arguments)};var _dec_mpd_qshift=Module["_dec_mpd_qshift"]=function(){return Module["asm"]["_dec_mpd_qshift"].apply(null,arguments)};var _dec_mpd_qsqrt=Module["_dec_mpd_qsqrt"]=function(){return Module["asm"]["_dec_mpd_qsqrt"].apply(null,arguments)};var _dec_mpd_qxor=Module["_dec_mpd_qxor"]=function(){return Module["asm"]["_dec_mpd_qxor"].apply(null,arguments)};var _dec_mpd_radix=Module["_dec_mpd_radix"]=function(){return Module["asm"]["_dec_mpd_radix"].apply(null,arguments)};var _dec_mpd_same_quantum=Module["_dec_mpd_same_quantum"]=function(){return Module["asm"]["_dec_mpd_same_quantum"].apply(null,arguments)};var _dec_mpd_to_eng=Module["_dec_mpd_to_eng"]=function(){return Module["asm"]["_dec_mpd_to_eng"].apply(null,arguments)};var _dec_new=Module["_dec_new"]=function(){return Module["asm"]["_dec_new"].apply(null,arguments)};var _dec_real=Module["_dec_real"]=function(){return Module["asm"]["_dec_real"].apply(null,arguments)};var _dec_reduce=Module["_dec_reduce"]=function(){return Module["asm"]["_dec_reduce"].apply(null,arguments)};var _dec_repr=Module["_dec_repr"]=function(){return Module["asm"]["_dec_repr"].apply(null,arguments)};var _dec_richcompare=Module["_dec_richcompare"]=function(){return Module["asm"]["_dec_richcompare"].apply(null,arguments)};var _dec_sizeof=Module["_dec_sizeof"]=function(){return Module["asm"]["_dec_sizeof"].apply(null,arguments)};var _dec_str=Module["_dec_str"]=function(){return Module["asm"]["_dec_str"].apply(null,arguments)};var _dec_traphandler=Module["_dec_traphandler"]=function(){return Module["asm"]["_dec_traphandler"].apply(null,arguments)};var _dec_trunc=Module["_dec_trunc"]=function(){return Module["asm"]["_dec_trunc"].apply(null,arguments)};var _decfloat=Module["_decfloat"]=function(){return Module["asm"]["_decfloat"].apply(null,arguments)};var _declClose=Module["_declClose"]=function(){return Module["asm"]["_declClose"].apply(null,arguments)};var _decodeFlags=Module["_decodeFlags"]=function(){return Module["asm"]["_decodeFlags"].apply(null,arguments)};var _decodeIntArray=Module["_decodeIntArray"]=function(){return Module["asm"]["_decodeIntArray"].apply(null,arguments)};var _decode_current_locale=Module["_decode_current_locale"]=function(){return Module["asm"]["_decode_current_locale"].apply(null,arguments)};var _decode_gamma=Module["_decode_gamma"]=function(){return Module["asm"]["_decode_gamma"].apply(null,arguments)};var _decode_unicode_with_escapes=Module["_decode_unicode_with_escapes"]=function(){return Module["asm"]["_decode_unicode_with_escapes"].apply(null,arguments)};var _decoding_fgets=Module["_decoding_fgets"]=function(){return Module["asm"]["_decoding_fgets"].apply(null,arguments)};var _dectuple_as_str=Module["_dectuple_as_str"]=function(){return Module["asm"]["_dectuple_as_str"].apply(null,arguments)};var _default_bzalloc=Module["_default_bzalloc"]=function(){return Module["asm"]["_default_bzalloc"].apply(null,arguments)};var _default_bzfree=Module["_default_bzfree"]=function(){return Module["asm"]["_default_bzfree"].apply(null,arguments)};var _defdict_copy=Module["_defdict_copy"]=function(){return Module["asm"]["_defdict_copy"].apply(null,arguments)};var _defdict_dealloc=Module["_defdict_dealloc"]=function(){return Module["asm"]["_defdict_dealloc"].apply(null,arguments)};var _defdict_init=Module["_defdict_init"]=function(){return Module["asm"]["_defdict_init"].apply(null,arguments)};var _defdict_missing=Module["_defdict_missing"]=function(){return Module["asm"]["_defdict_missing"].apply(null,arguments)};var _defdict_reduce=Module["_defdict_reduce"]=function(){return Module["asm"]["_defdict_reduce"].apply(null,arguments)};var _defdict_repr=Module["_defdict_repr"]=function(){return Module["asm"]["_defdict_repr"].apply(null,arguments)};var _defdict_tp_clear=Module["_defdict_tp_clear"]=function(){return Module["asm"]["_defdict_tp_clear"].apply(null,arguments)};var _defdict_traverse=Module["_defdict_traverse"]=function(){return Module["asm"]["_defdict_traverse"].apply(null,arguments)};var _deflate=Module["_deflate"]=function(){return Module["asm"]["_deflate"].apply(null,arguments)};var _deflateBound=Module["_deflateBound"]=function(){return Module["asm"]["_deflateBound"].apply(null,arguments)};var _deflateCopy=Module["_deflateCopy"]=function(){return Module["asm"]["_deflateCopy"].apply(null,arguments)};var _deflateEnd=Module["_deflateEnd"]=function(){return Module["asm"]["_deflateEnd"].apply(null,arguments)};var _deflateInit2_=Module["_deflateInit2_"]=function(){return Module["asm"]["_deflateInit2_"].apply(null,arguments)};var _deflateInit_=Module["_deflateInit_"]=function(){return Module["asm"]["_deflateInit_"].apply(null,arguments)};var _deflateParams=Module["_deflateParams"]=function(){return Module["asm"]["_deflateParams"].apply(null,arguments)};var _deflatePending=Module["_deflatePending"]=function(){return Module["asm"]["_deflatePending"].apply(null,arguments)};var _deflatePrime=Module["_deflatePrime"]=function(){return Module["asm"]["_deflatePrime"].apply(null,arguments)};var _deflateReset=Module["_deflateReset"]=function(){return Module["asm"]["_deflateReset"].apply(null,arguments)};var _deflateResetKeep=Module["_deflateResetKeep"]=function(){return Module["asm"]["_deflateResetKeep"].apply(null,arguments)};var _deflateSetDictionary=Module["_deflateSetDictionary"]=function(){return Module["asm"]["_deflateSetDictionary"].apply(null,arguments)};var _deflateSetHeader=Module["_deflateSetHeader"]=function(){return Module["asm"]["_deflateSetHeader"].apply(null,arguments)};var _deflateTune=Module["_deflateTune"]=function(){return Module["asm"]["_deflateTune"].apply(null,arguments)};var _deflate_fast=Module["_deflate_fast"]=function(){return Module["asm"]["_deflate_fast"].apply(null,arguments)};var _deflate_slow=Module["_deflate_slow"]=function(){return Module["asm"]["_deflate_slow"].apply(null,arguments)};var _deflate_stored=Module["_deflate_stored"]=function(){return Module["asm"]["_deflate_stored"].apply(null,arguments)};var _defragmentPage=Module["_defragmentPage"]=function(){return Module["asm"]["_defragmentPage"].apply(null,arguments)};var _deleteCell=Module["_deleteCell"]=function(){return Module["asm"]["_deleteCell"].apply(null,arguments)};var _deleteTable=Module["_deleteTable"]=function(){return Module["asm"]["_deleteTable"].apply(null,arguments)};var _delitem_common=Module["_delitem_common"]=function(){return Module["asm"]["_delitem_common"].apply(null,arguments)};var _delta_abs=Module["_delta_abs"]=function(){return Module["asm"]["_delta_abs"].apply(null,arguments)};var _delta_add=Module["_delta_add"]=function(){return Module["asm"]["_delta_add"].apply(null,arguments)};var _delta_bool=Module["_delta_bool"]=function(){return Module["asm"]["_delta_bool"].apply(null,arguments)};var _delta_divide=Module["_delta_divide"]=function(){return Module["asm"]["_delta_divide"].apply(null,arguments)};var _delta_divmod=Module["_delta_divmod"]=function(){return Module["asm"]["_delta_divmod"].apply(null,arguments)};var _delta_hash=Module["_delta_hash"]=function(){return Module["asm"]["_delta_hash"].apply(null,arguments)};var _delta_multiply=Module["_delta_multiply"]=function(){return Module["asm"]["_delta_multiply"].apply(null,arguments)};var _delta_negative=Module["_delta_negative"]=function(){return Module["asm"]["_delta_negative"].apply(null,arguments)};var _delta_new=Module["_delta_new"]=function(){return Module["asm"]["_delta_new"].apply(null,arguments)};var _delta_positive=Module["_delta_positive"]=function(){return Module["asm"]["_delta_positive"].apply(null,arguments)};var _delta_reduce=Module["_delta_reduce"]=function(){return Module["asm"]["_delta_reduce"].apply(null,arguments)};var _delta_remainder=Module["_delta_remainder"]=function(){return Module["asm"]["_delta_remainder"].apply(null,arguments)};var _delta_repr=Module["_delta_repr"]=function(){return Module["asm"]["_delta_repr"].apply(null,arguments)};var _delta_richcompare=Module["_delta_richcompare"]=function(){return Module["asm"]["_delta_richcompare"].apply(null,arguments)};var _delta_str=Module["_delta_str"]=function(){return Module["asm"]["_delta_str"].apply(null,arguments)};var _delta_subtract=Module["_delta_subtract"]=function(){return Module["asm"]["_delta_subtract"].apply(null,arguments)};var _delta_to_microseconds=Module["_delta_to_microseconds"]=function(){return Module["asm"]["_delta_to_microseconds"].apply(null,arguments)};var _delta_total_seconds=Module["_delta_total_seconds"]=function(){return Module["asm"]["_delta_total_seconds"].apply(null,arguments)};var _delta_truedivide=Module["_delta_truedivide"]=function(){return Module["asm"]["_delta_truedivide"].apply(null,arguments)};var _dense_rankStepFunc=Module["_dense_rankStepFunc"]=function(){return Module["asm"]["_dense_rankStepFunc"].apply(null,arguments)};var _dense_rankValueFunc=Module["_dense_rankValueFunc"]=function(){return Module["asm"]["_dense_rankValueFunc"].apply(null,arguments)};var _deque_append=Module["_deque_append"]=function(){return Module["asm"]["_deque_append"].apply(null,arguments)};var _deque_appendleft=Module["_deque_appendleft"]=function(){return Module["asm"]["_deque_appendleft"].apply(null,arguments)};var _deque_ass_item=Module["_deque_ass_item"]=function(){return Module["asm"]["_deque_ass_item"].apply(null,arguments)};var _deque_bool=Module["_deque_bool"]=function(){return Module["asm"]["_deque_bool"].apply(null,arguments)};var _deque_clear=Module["_deque_clear"]=function(){return Module["asm"]["_deque_clear"].apply(null,arguments)};var _deque_clearmethod=Module["_deque_clearmethod"]=function(){return Module["asm"]["_deque_clearmethod"].apply(null,arguments)};var _deque_concat=Module["_deque_concat"]=function(){return Module["asm"]["_deque_concat"].apply(null,arguments)};var _deque_contains=Module["_deque_contains"]=function(){return Module["asm"]["_deque_contains"].apply(null,arguments)};var _deque_copy=Module["_deque_copy"]=function(){return Module["asm"]["_deque_copy"].apply(null,arguments)};var _deque_count=Module["_deque_count"]=function(){return Module["asm"]["_deque_count"].apply(null,arguments)};var _deque_dealloc=Module["_deque_dealloc"]=function(){return Module["asm"]["_deque_dealloc"].apply(null,arguments)};var _deque_extend=Module["_deque_extend"]=function(){return Module["asm"]["_deque_extend"].apply(null,arguments)};var _deque_extendleft=Module["_deque_extendleft"]=function(){return Module["asm"]["_deque_extendleft"].apply(null,arguments)};var _deque_get_maxlen=Module["_deque_get_maxlen"]=function(){return Module["asm"]["_deque_get_maxlen"].apply(null,arguments)};var _deque_index=Module["_deque_index"]=function(){return Module["asm"]["_deque_index"].apply(null,arguments)};var _deque_init=Module["_deque_init"]=function(){return Module["asm"]["_deque_init"].apply(null,arguments)};var _deque_inplace_concat=Module["_deque_inplace_concat"]=function(){return Module["asm"]["_deque_inplace_concat"].apply(null,arguments)};var _deque_inplace_repeat=Module["_deque_inplace_repeat"]=function(){return Module["asm"]["_deque_inplace_repeat"].apply(null,arguments)};var _deque_insert=Module["_deque_insert"]=function(){return Module["asm"]["_deque_insert"].apply(null,arguments)};var _deque_item=Module["_deque_item"]=function(){return Module["asm"]["_deque_item"].apply(null,arguments)};var _deque_iter=Module["_deque_iter"]=function(){return Module["asm"]["_deque_iter"].apply(null,arguments)};var _deque_len=Module["_deque_len"]=function(){return Module["asm"]["_deque_len"].apply(null,arguments)};var _deque_new=Module["_deque_new"]=function(){return Module["asm"]["_deque_new"].apply(null,arguments)};var _deque_pop=Module["_deque_pop"]=function(){return Module["asm"]["_deque_pop"].apply(null,arguments)};var _deque_popleft=Module["_deque_popleft"]=function(){return Module["asm"]["_deque_popleft"].apply(null,arguments)};var _deque_reduce=Module["_deque_reduce"]=function(){return Module["asm"]["_deque_reduce"].apply(null,arguments)};var _deque_remove=Module["_deque_remove"]=function(){return Module["asm"]["_deque_remove"].apply(null,arguments)};var _deque_repeat=Module["_deque_repeat"]=function(){return Module["asm"]["_deque_repeat"].apply(null,arguments)};var _deque_repr=Module["_deque_repr"]=function(){return Module["asm"]["_deque_repr"].apply(null,arguments)};var _deque_reverse=Module["_deque_reverse"]=function(){return Module["asm"]["_deque_reverse"].apply(null,arguments)};var _deque_reviter=Module["_deque_reviter"]=function(){return Module["asm"]["_deque_reviter"].apply(null,arguments)};var _deque_richcompare=Module["_deque_richcompare"]=function(){return Module["asm"]["_deque_richcompare"].apply(null,arguments)};var _deque_rotate=Module["_deque_rotate"]=function(){return Module["asm"]["_deque_rotate"].apply(null,arguments)};var _deque_sizeof=Module["_deque_sizeof"]=function(){return Module["asm"]["_deque_sizeof"].apply(null,arguments)};var _deque_traverse=Module["_deque_traverse"]=function(){return Module["asm"]["_deque_traverse"].apply(null,arguments)};var _dequeiter_dealloc=Module["_dequeiter_dealloc"]=function(){return Module["asm"]["_dequeiter_dealloc"].apply(null,arguments)};var _dequeiter_len=Module["_dequeiter_len"]=function(){return Module["asm"]["_dequeiter_len"].apply(null,arguments)};var _dequeiter_new=Module["_dequeiter_new"]=function(){return Module["asm"]["_dequeiter_new"].apply(null,arguments)};var _dequeiter_next=Module["_dequeiter_next"]=function(){return Module["asm"]["_dequeiter_next"].apply(null,arguments)};var _dequeiter_reduce=Module["_dequeiter_reduce"]=function(){return Module["asm"]["_dequeiter_reduce"].apply(null,arguments)};var _dequeiter_traverse=Module["_dequeiter_traverse"]=function(){return Module["asm"]["_dequeiter_traverse"].apply(null,arguments)};var _dequereviter_new=Module["_dequereviter_new"]=function(){return Module["asm"]["_dequereviter_new"].apply(null,arguments)};var _dequereviter_next=Module["_dequereviter_next"]=function(){return Module["asm"]["_dequereviter_next"].apply(null,arguments)};var _des_cipher=Module["_des_cipher"]=function(){return Module["asm"]["_des_cipher"].apply(null,arguments)};var _descr_dealloc=Module["_descr_dealloc"]=function(){return Module["asm"]["_descr_dealloc"].apply(null,arguments)};var _descr_get_qualname=Module["_descr_get_qualname"]=function(){return Module["asm"]["_descr_get_qualname"].apply(null,arguments)};var _descr_reduce=Module["_descr_reduce"]=function(){return Module["asm"]["_descr_reduce"].apply(null,arguments)};var _descr_traverse=Module["_descr_traverse"]=function(){return Module["asm"]["_descr_traverse"].apply(null,arguments)};var _deserializeGeometry=Module["_deserializeGeometry"]=function(){return Module["asm"]["_deserializeGeometry"].apply(null,arguments)};var _destroyRootPage=Module["_destroyRootPage"]=function(){return Module["asm"]["_destroyRootPage"].apply(null,arguments)};var _destroyTable=Module["_destroyTable"]=function(){return Module["asm"]["_destroyTable"].apply(null,arguments)};var _destroy_face=Module["_destroy_face"]=function(){return Module["asm"]["_destroy_face"].apply(null,arguments)};var _destroy_size=Module["_destroy_size"]=function(){return Module["asm"]["_destroy_size"].apply(null,arguments)};var _detachFunc=Module["_detachFunc"]=function(){return Module["asm"]["_detachFunc"].apply(null,arguments)};var _dfs=Module["_dfs"]=function(){return Module["asm"]["_dfs"].apply(null,arguments)};var _dgettext=Module["_dgettext"]=function(){return Module["asm"]["_dgettext"].apply(null,arguments)};var _dialect_new=Module["_dialect_new"]=function(){return Module["asm"]["_dialect_new"].apply(null,arguments)};var _dict___contains__=Module["_dict___contains__"]=function(){return Module["asm"]["_dict___contains__"].apply(null,arguments)};var _dict_as_flags=Module["_dict_as_flags"]=function(){return Module["asm"]["_dict_as_flags"].apply(null,arguments)};var _dict_ass_sub=Module["_dict_ass_sub"]=function(){return Module["asm"]["_dict_ass_sub"].apply(null,arguments)};var _dict_clear=Module["_dict_clear"]=function(){return Module["asm"]["_dict_clear"].apply(null,arguments)};var _dict_copy=Module["_dict_copy"]=function(){return Module["asm"]["_dict_copy"].apply(null,arguments)};var _dict_dealloc=Module["_dict_dealloc"]=function(){return Module["asm"]["_dict_dealloc"].apply(null,arguments)};var _dict_fromkeys=Module["_dict_fromkeys"]=function(){return Module["asm"]["_dict_fromkeys"].apply(null,arguments)};var _dict_get=Module["_dict_get"]=function(){return Module["asm"]["_dict_get"].apply(null,arguments)};var _dict_init=Module["_dict_init"]=function(){return Module["asm"]["_dict_init"].apply(null,arguments)};var _dict_iter=Module["_dict_iter"]=function(){return Module["asm"]["_dict_iter"].apply(null,arguments)};var _dict_length=Module["_dict_length"]=function(){return Module["asm"]["_dict_length"].apply(null,arguments)};var _dict_merge=Module["_dict_merge"]=function(){return Module["asm"]["_dict_merge"].apply(null,arguments)};var _dict_new=Module["_dict_new"]=function(){return Module["asm"]["_dict_new"].apply(null,arguments)};var _dict_pop=Module["_dict_pop"]=function(){return Module["asm"]["_dict_pop"].apply(null,arguments)};var _dict_popitem=Module["_dict_popitem"]=function(){return Module["asm"]["_dict_popitem"].apply(null,arguments)};var _dict_repr=Module["_dict_repr"]=function(){return Module["asm"]["_dict_repr"].apply(null,arguments)};var _dict_richcompare=Module["_dict_richcompare"]=function(){return Module["asm"]["_dict_richcompare"].apply(null,arguments)};var _dict_setdefault=Module["_dict_setdefault"]=function(){return Module["asm"]["_dict_setdefault"].apply(null,arguments)};var _dict_sizeof=Module["_dict_sizeof"]=function(){return Module["asm"]["_dict_sizeof"].apply(null,arguments)};var _dict_subscript=Module["_dict_subscript"]=function(){return Module["asm"]["_dict_subscript"].apply(null,arguments)};var _dict_to_map=Module["_dict_to_map"]=function(){return Module["asm"]["_dict_to_map"].apply(null,arguments)};var _dict_tp_clear=Module["_dict_tp_clear"]=function(){return Module["asm"]["_dict_tp_clear"].apply(null,arguments)};var _dict_traverse=Module["_dict_traverse"]=function(){return Module["asm"]["_dict_traverse"].apply(null,arguments)};var _dict_update=Module["_dict_update"]=function(){return Module["asm"]["_dict_update"].apply(null,arguments)};var _dict_update_common=Module["_dict_update_common"]=function(){return Module["asm"]["_dict_update_common"].apply(null,arguments)};var _dictbytype=Module["_dictbytype"]=function(){return Module["asm"]["_dictbytype"].apply(null,arguments)};var _dictitems_contains=Module["_dictitems_contains"]=function(){return Module["asm"]["_dictitems_contains"].apply(null,arguments)};var _dictitems_iter=Module["_dictitems_iter"]=function(){return Module["asm"]["_dictitems_iter"].apply(null,arguments)};var _dictitems_new=Module["_dictitems_new"]=function(){return Module["asm"]["_dictitems_new"].apply(null,arguments)};var _dictiter_dealloc=Module["_dictiter_dealloc"]=function(){return Module["asm"]["_dictiter_dealloc"].apply(null,arguments)};var _dictiter_iternextitem=Module["_dictiter_iternextitem"]=function(){return Module["asm"]["_dictiter_iternextitem"].apply(null,arguments)};var _dictiter_iternextkey=Module["_dictiter_iternextkey"]=function(){return Module["asm"]["_dictiter_iternextkey"].apply(null,arguments)};var _dictiter_iternextvalue=Module["_dictiter_iternextvalue"]=function(){return Module["asm"]["_dictiter_iternextvalue"].apply(null,arguments)};var _dictiter_len=Module["_dictiter_len"]=function(){return Module["asm"]["_dictiter_len"].apply(null,arguments)};var _dictiter_new=Module["_dictiter_new"]=function(){return Module["asm"]["_dictiter_new"].apply(null,arguments)};var _dictiter_reduce=Module["_dictiter_reduce"]=function(){return Module["asm"]["_dictiter_reduce"].apply(null,arguments)};var _dictiter_traverse=Module["_dictiter_traverse"]=function(){return Module["asm"]["_dictiter_traverse"].apply(null,arguments)};var _dictkeys_contains=Module["_dictkeys_contains"]=function(){return Module["asm"]["_dictkeys_contains"].apply(null,arguments)};var _dictkeys_iter=Module["_dictkeys_iter"]=function(){return Module["asm"]["_dictkeys_iter"].apply(null,arguments)};var _dictkeys_new=Module["_dictkeys_new"]=function(){return Module["asm"]["_dictkeys_new"].apply(null,arguments)};var _dictresize=Module["_dictresize"]=function(){return Module["asm"]["_dictresize"].apply(null,arguments)};var _dictvalues_iter=Module["_dictvalues_iter"]=function(){return Module["asm"]["_dictvalues_iter"].apply(null,arguments)};var _dictvalues_new=Module["_dictvalues_new"]=function(){return Module["asm"]["_dictvalues_new"].apply(null,arguments)};var _dictview_dealloc=Module["_dictview_dealloc"]=function(){return Module["asm"]["_dictview_dealloc"].apply(null,arguments)};var _dictview_len=Module["_dictview_len"]=function(){return Module["asm"]["_dictview_len"].apply(null,arguments)};var _dictview_repr=Module["_dictview_repr"]=function(){return Module["asm"]["_dictview_repr"].apply(null,arguments)};var _dictview_richcompare=Module["_dictview_richcompare"]=function(){return Module["asm"]["_dictview_richcompare"].apply(null,arguments)};var _dictview_traverse=Module["_dictview_traverse"]=function(){return Module["asm"]["_dictview_traverse"].apply(null,arguments)};var _dictviews_isdisjoint=Module["_dictviews_isdisjoint"]=function(){return Module["asm"]["_dictviews_isdisjoint"].apply(null,arguments)};var _dictviews_or=Module["_dictviews_or"]=function(){return Module["asm"]["_dictviews_or"].apply(null,arguments)};var _dictviews_sub=Module["_dictviews_sub"]=function(){return Module["asm"]["_dictviews_sub"].apply(null,arguments)};var _dictviews_xor=Module["_dictviews_xor"]=function(){return Module["asm"]["_dictviews_xor"].apply(null,arguments)};var _diff=Module["_diff"]=function(){return Module["asm"]["_diff"].apply(null,arguments)};var _diff_to_bool=Module["_diff_to_bool"]=function(){return Module["asm"]["_diff_to_bool"].apply(null,arguments)};var _dir_fd_converter=Module["_dir_fd_converter"]=function(){return Module["asm"]["_dir_fd_converter"].apply(null,arguments)};var _dir_fd_unavailable=Module["_dir_fd_unavailable"]=function(){return Module["asm"]["_dir_fd_unavailable"].apply(null,arguments)};var _dirfd=Module["_dirfd"]=function(){return Module["asm"]["_dirfd"].apply(null,arguments)};var _dirname=Module["_dirname"]=function(){return Module["asm"]["_dirname"].apply(null,arguments)};var _disableLookaside=Module["_disableLookaside"]=function(){return Module["asm"]["_disableLookaside"].apply(null,arguments)};var _disableTerm=Module["_disableTerm"]=function(){return Module["asm"]["_disableTerm"].apply(null,arguments)};var _disconnectAllVtab=Module["_disconnectAllVtab"]=function(){return Module["asm"]["_disconnectAllVtab"].apply(null,arguments)};var _displayP4=Module["_displayP4"]=function(){return Module["asm"]["_displayP4"].apply(null,arguments)};var _dispose_chunk=Module["_dispose_chunk"]=function(){return Module["asm"]["_dispose_chunk"].apply(null,arguments)};var _div=Module["_div"]=function(){return Module["asm"]["_div"].apply(null,arguments)};var _divmod_shift=Module["_divmod_shift"]=function(){return Module["asm"]["_divmod_shift"].apply(null,arguments)};var _dn_skipname=Module["_dn_skipname"]=function(){return Module["asm"]["_dn_skipname"].apply(null,arguments)};var _dngettext=Module["_dngettext"]=function(){return Module["asm"]["_dngettext"].apply(null,arguments)};var _dns_parse_callback=Module["_dns_parse_callback"]=function(){return Module["asm"]["_dns_parse_callback"].apply(null,arguments)};var _doCdataSection=Module["_doCdataSection"]=function(){return Module["asm"]["_doCdataSection"].apply(null,arguments)};var _doContent=Module["_doContent"]=function(){return Module["asm"]["_doContent"].apply(null,arguments)};var _doIgnoreSection=Module["_doIgnoreSection"]=function(){return Module["asm"]["_doIgnoreSection"].apply(null,arguments)};var _doParseXmlDecl=Module["_doParseXmlDecl"]=function(){return Module["asm"]["_doParseXmlDecl"].apply(null,arguments)};var _doProlog=Module["_doProlog"]=function(){return Module["asm"]["_doProlog"].apply(null,arguments)};var _doWalCallbacks=Module["_doWalCallbacks"]=function(){return Module["asm"]["_doWalCallbacks"].apply(null,arguments)};var _do_append=Module["_do_append"]=function(){return Module["asm"]["_do_append"].apply(null,arguments)};var _do_argstrip=Module["_do_argstrip"]=function(){return Module["asm"]["_do_argstrip"].apply(null,arguments)};var _do_argstrip_2710=Module["_do_argstrip_2710"]=function(){return Module["asm"]["_do_argstrip_2710"].apply(null,arguments)};var _do_capitalize=Module["_do_capitalize"]=function(){return Module["asm"]["_do_capitalize"].apply(null,arguments)};var _do_casefold=Module["_do_casefold"]=function(){return Module["asm"]["_do_casefold"].apply(null,arguments)};var _do_ignore=Module["_do_ignore"]=function(){return Module["asm"]["_do_ignore"].apply(null,arguments)};var _do_lower=Module["_do_lower"]=function(){return Module["asm"]["_do_lower"].apply(null,arguments)};var _do_mktuple=Module["_do_mktuple"]=function(){return Module["asm"]["_do_mktuple"].apply(null,arguments)};var _do_mkvalue=Module["_do_mkvalue"]=function(){return Module["asm"]["_do_mkvalue"].apply(null,arguments)};var _do_nftw=Module["_do_nftw"]=function(){return Module["asm"]["_do_nftw"].apply(null,arguments)};var _do_read=Module["_do_read"]=function(){return Module["asm"]["_do_read"].apply(null,arguments)};var _do_read_149=Module["_do_read_149"]=function(){return Module["asm"]["_do_read_149"].apply(null,arguments)};var _do_read_827=Module["_do_read_827"]=function(){return Module["asm"]["_do_read_827"].apply(null,arguments)};var _do_setitems=Module["_do_setitems"]=function(){return Module["asm"]["_do_setitems"].apply(null,arguments)};var _do_setrlimit=Module["_do_setrlimit"]=function(){return Module["asm"]["_do_setrlimit"].apply(null,arguments)};var _do_setxid=Module["_do_setxid"]=function(){return Module["asm"]["_do_setxid"].apply(null,arguments)};var _do_string_format=Module["_do_string_format"]=function(){return Module["asm"]["_do_string_format"].apply(null,arguments)};var _do_string_format_map=Module["_do_string_format_map"]=function(){return Module["asm"]["_do_string_format_map"].apply(null,arguments)};var _do_swapcase=Module["_do_swapcase"]=function(){return Module["asm"]["_do_swapcase"].apply(null,arguments)};var _do_title=Module["_do_title"]=function(){return Module["asm"]["_do_title"].apply(null,arguments)};var _do_upper=Module["_do_upper"]=function(){return Module["asm"]["_do_upper"].apply(null,arguments)};var _do_upper_or_lower=Module["_do_upper_or_lower"]=function(){return Module["asm"]["_do_upper_or_lower"].apply(null,arguments)};var _do_warn=Module["_do_warn"]=function(){return Module["asm"]["_do_warn"].apply(null,arguments)};var _doctype0=Module["_doctype0"]=function(){return Module["asm"]["_doctype0"].apply(null,arguments)};var _doctype1=Module["_doctype1"]=function(){return Module["asm"]["_doctype1"].apply(null,arguments)};var _doctype2=Module["_doctype2"]=function(){return Module["asm"]["_doctype2"].apply(null,arguments)};var _doctype3=Module["_doctype3"]=function(){return Module["asm"]["_doctype3"].apply(null,arguments)};var _doctype4=Module["_doctype4"]=function(){return Module["asm"]["_doctype4"].apply(null,arguments)};var _doctype5=Module["_doctype5"]=function(){return Module["asm"]["_doctype5"].apply(null,arguments)};var _dotlockCheckReservedLock=Module["_dotlockCheckReservedLock"]=function(){return Module["asm"]["_dotlockCheckReservedLock"].apply(null,arguments)};var _dotlockClose=Module["_dotlockClose"]=function(){return Module["asm"]["_dotlockClose"].apply(null,arguments)};var _dotlockIoFinderImpl=Module["_dotlockIoFinderImpl"]=function(){return Module["asm"]["_dotlockIoFinderImpl"].apply(null,arguments)};var _dotlockLock=Module["_dotlockLock"]=function(){return Module["asm"]["_dotlockLock"].apply(null,arguments)};var _dotlockUnlock=Module["_dotlockUnlock"]=function(){return Module["asm"]["_dotlockUnlock"].apply(null,arguments)};var _doubleConsonant=Module["_doubleConsonant"]=function(){return Module["asm"]["_doubleConsonant"].apply(null,arguments)};var _doubleToInt64=Module["_doubleToInt64"]=function(){return Module["asm"]["_doubleToInt64"].apply(null,arguments)};var _downgradeAllSharedCacheTableLocks=Module["_downgradeAllSharedCacheTableLocks"]=function(){return Module["asm"]["_downgradeAllSharedCacheTableLocks"].apply(null,arguments)};var _dprintf=Module["_dprintf"]=function(){return Module["asm"]["_dprintf"].apply(null,arguments)};var _drand48=Module["_drand48"]=function(){return Module["asm"]["_drand48"].apply(null,arguments)};var _dropCell=Module["_dropCell"]=function(){return Module["asm"]["_dropCell"].apply(null,arguments)};var _drop_gil=Module["_drop_gil"]=function(){return Module["asm"]["_drop_gil"].apply(null,arguments)};var _dropwhile_dealloc=Module["_dropwhile_dealloc"]=function(){return Module["asm"]["_dropwhile_dealloc"].apply(null,arguments)};var _dropwhile_new=Module["_dropwhile_new"]=function(){return Module["asm"]["_dropwhile_new"].apply(null,arguments)};var _dropwhile_next=Module["_dropwhile_next"]=function(){return Module["asm"]["_dropwhile_next"].apply(null,arguments)};var _dropwhile_reduce=Module["_dropwhile_reduce"]=function(){return Module["asm"]["_dropwhile_reduce"].apply(null,arguments)};var _dropwhile_setstate=Module["_dropwhile_setstate"]=function(){return Module["asm"]["_dropwhile_setstate"].apply(null,arguments)};var _dropwhile_traverse=Module["_dropwhile_traverse"]=function(){return Module["asm"]["_dropwhile_traverse"].apply(null,arguments)};var _dummy=Module["_dummy"]=function(){return Module["asm"]["_dummy"].apply(null,arguments)};var _dummy_459=Module["_dummy_459"]=function(){return Module["asm"]["_dummy_459"].apply(null,arguments)};var _dummy_dealloc=Module["_dummy_dealloc"]=function(){return Module["asm"]["_dummy_dealloc"].apply(null,arguments)};var _dummy_decoder=Module["_dummy_decoder"]=function(){return Module["asm"]["_dummy_decoder"].apply(null,arguments)};var _dummy_encoder=Module["_dummy_encoder"]=function(){return Module["asm"]["_dummy_encoder"].apply(null,arguments)};var _dummy_repr=Module["_dummy_repr"]=function(){return Module["asm"]["_dummy_repr"].apply(null,arguments)};var _dump=Module["_dump"]=function(){return Module["asm"]["_dump"].apply(null,arguments)};var _dump_traceback=Module["_dump_traceback"]=function(){return Module["asm"]["_dump_traceback"].apply(null,arguments)};var _dup=Module["_dup"]=function(){return Module["asm"]["_dup"].apply(null,arguments)};var _dup2=Module["_dup2"]=function(){return Module["asm"]["_dup2"].apply(null,arguments)};var _dupedExprNodeSize=Module["_dupedExprNodeSize"]=function(){return Module["asm"]["_dupedExprNodeSize"].apply(null,arguments)};var _dupedExprSize=Module["_dupedExprSize"]=function(){return Module["asm"]["_dupedExprSize"].apply(null,arguments)};var _dupedExprStructSize=Module["_dupedExprStructSize"]=function(){return Module["asm"]["_dupedExprStructSize"].apply(null,arguments)};var _ecvt=Module["_ecvt"]=function(){return Module["asm"]["_ecvt"].apply(null,arguments)};var _editPage=Module["_editPage"]=function(){return Module["asm"]["_editPage"].apply(null,arguments)};var _element0=Module["_element0"]=function(){return Module["asm"]["_element0"].apply(null,arguments)};var _element1=Module["_element1"]=function(){return Module["asm"]["_element1"].apply(null,arguments)};var _element2=Module["_element2"]=function(){return Module["asm"]["_element2"].apply(null,arguments)};var _element3=Module["_element3"]=function(){return Module["asm"]["_element3"].apply(null,arguments)};var _element4=Module["_element4"]=function(){return Module["asm"]["_element4"].apply(null,arguments)};var _element5=Module["_element5"]=function(){return Module["asm"]["_element5"].apply(null,arguments)};var _element6=Module["_element6"]=function(){return Module["asm"]["_element6"].apply(null,arguments)};var _element7=Module["_element7"]=function(){return Module["asm"]["_element7"].apply(null,arguments)};var _ellipsis_new=Module["_ellipsis_new"]=function(){return Module["asm"]["_ellipsis_new"].apply(null,arguments)};var _ellipsis_reduce=Module["_ellipsis_reduce"]=function(){return Module["asm"]["_ellipsis_reduce"].apply(null,arguments)};var _ellipsis_repr=Module["_ellipsis_repr"]=function(){return Module["asm"]["_ellipsis_repr"].apply(null,arguments)};var _emscripten_atomic_add_u16=Module["_emscripten_atomic_add_u16"]=function(){return Module["asm"]["_emscripten_atomic_add_u16"].apply(null,arguments)};var _emscripten_atomic_add_u32=Module["_emscripten_atomic_add_u32"]=function(){return Module["asm"]["_emscripten_atomic_add_u32"].apply(null,arguments)};var _emscripten_atomic_add_u64=Module["_emscripten_atomic_add_u64"]=function(){return Module["asm"]["_emscripten_atomic_add_u64"].apply(null,arguments)};var _emscripten_atomic_add_u8=Module["_emscripten_atomic_add_u8"]=function(){return Module["asm"]["_emscripten_atomic_add_u8"].apply(null,arguments)};var _emscripten_atomic_and_u16=Module["_emscripten_atomic_and_u16"]=function(){return Module["asm"]["_emscripten_atomic_and_u16"].apply(null,arguments)};var _emscripten_atomic_and_u32=Module["_emscripten_atomic_and_u32"]=function(){return Module["asm"]["_emscripten_atomic_and_u32"].apply(null,arguments)};var _emscripten_atomic_and_u64=Module["_emscripten_atomic_and_u64"]=function(){return Module["asm"]["_emscripten_atomic_and_u64"].apply(null,arguments)};var _emscripten_atomic_and_u8=Module["_emscripten_atomic_and_u8"]=function(){return Module["asm"]["_emscripten_atomic_and_u8"].apply(null,arguments)};var _emscripten_atomic_cas_u16=Module["_emscripten_atomic_cas_u16"]=function(){return Module["asm"]["_emscripten_atomic_cas_u16"].apply(null,arguments)};var _emscripten_atomic_cas_u32=Module["_emscripten_atomic_cas_u32"]=function(){return Module["asm"]["_emscripten_atomic_cas_u32"].apply(null,arguments)};var _emscripten_atomic_cas_u64=Module["_emscripten_atomic_cas_u64"]=function(){return Module["asm"]["_emscripten_atomic_cas_u64"].apply(null,arguments)};var _emscripten_atomic_cas_u8=Module["_emscripten_atomic_cas_u8"]=function(){return Module["asm"]["_emscripten_atomic_cas_u8"].apply(null,arguments)};var _emscripten_atomic_exchange_u16=Module["_emscripten_atomic_exchange_u16"]=function(){return Module["asm"]["_emscripten_atomic_exchange_u16"].apply(null,arguments)};var _emscripten_atomic_exchange_u32=Module["_emscripten_atomic_exchange_u32"]=function(){return Module["asm"]["_emscripten_atomic_exchange_u32"].apply(null,arguments)};var _emscripten_atomic_exchange_u64=Module["_emscripten_atomic_exchange_u64"]=function(){return Module["asm"]["_emscripten_atomic_exchange_u64"].apply(null,arguments)};var _emscripten_atomic_exchange_u8=Module["_emscripten_atomic_exchange_u8"]=function(){return Module["asm"]["_emscripten_atomic_exchange_u8"].apply(null,arguments)};var _emscripten_atomic_fence=Module["_emscripten_atomic_fence"]=function(){return Module["asm"]["_emscripten_atomic_fence"].apply(null,arguments)};var _emscripten_atomic_load_f32=Module["_emscripten_atomic_load_f32"]=function(){return Module["asm"]["_emscripten_atomic_load_f32"].apply(null,arguments)};var _emscripten_atomic_load_f64=Module["_emscripten_atomic_load_f64"]=function(){return Module["asm"]["_emscripten_atomic_load_f64"].apply(null,arguments)};var _emscripten_atomic_load_u16=Module["_emscripten_atomic_load_u16"]=function(){return Module["asm"]["_emscripten_atomic_load_u16"].apply(null,arguments)};var _emscripten_atomic_load_u32=Module["_emscripten_atomic_load_u32"]=function(){return Module["asm"]["_emscripten_atomic_load_u32"].apply(null,arguments)};var _emscripten_atomic_load_u64=Module["_emscripten_atomic_load_u64"]=function(){return Module["asm"]["_emscripten_atomic_load_u64"].apply(null,arguments)};var _emscripten_atomic_load_u8=Module["_emscripten_atomic_load_u8"]=function(){return Module["asm"]["_emscripten_atomic_load_u8"].apply(null,arguments)};var _emscripten_atomic_or_u16=Module["_emscripten_atomic_or_u16"]=function(){return Module["asm"]["_emscripten_atomic_or_u16"].apply(null,arguments)};var _emscripten_atomic_or_u32=Module["_emscripten_atomic_or_u32"]=function(){return Module["asm"]["_emscripten_atomic_or_u32"].apply(null,arguments)};var _emscripten_atomic_or_u64=Module["_emscripten_atomic_or_u64"]=function(){return Module["asm"]["_emscripten_atomic_or_u64"].apply(null,arguments)};var _emscripten_atomic_or_u8=Module["_emscripten_atomic_or_u8"]=function(){return Module["asm"]["_emscripten_atomic_or_u8"].apply(null,arguments)};var _emscripten_atomic_store_f32=Module["_emscripten_atomic_store_f32"]=function(){return Module["asm"]["_emscripten_atomic_store_f32"].apply(null,arguments)};var _emscripten_atomic_store_f64=Module["_emscripten_atomic_store_f64"]=function(){return Module["asm"]["_emscripten_atomic_store_f64"].apply(null,arguments)};var _emscripten_atomic_store_u16=Module["_emscripten_atomic_store_u16"]=function(){return Module["asm"]["_emscripten_atomic_store_u16"].apply(null,arguments)};var _emscripten_atomic_store_u32=Module["_emscripten_atomic_store_u32"]=function(){return Module["asm"]["_emscripten_atomic_store_u32"].apply(null,arguments)};var _emscripten_atomic_store_u64=Module["_emscripten_atomic_store_u64"]=function(){return Module["asm"]["_emscripten_atomic_store_u64"].apply(null,arguments)};var _emscripten_atomic_store_u8=Module["_emscripten_atomic_store_u8"]=function(){return Module["asm"]["_emscripten_atomic_store_u8"].apply(null,arguments)};var _emscripten_atomic_sub_u16=Module["_emscripten_atomic_sub_u16"]=function(){return Module["asm"]["_emscripten_atomic_sub_u16"].apply(null,arguments)};var _emscripten_atomic_sub_u32=Module["_emscripten_atomic_sub_u32"]=function(){return Module["asm"]["_emscripten_atomic_sub_u32"].apply(null,arguments)};var _emscripten_atomic_sub_u64=Module["_emscripten_atomic_sub_u64"]=function(){return Module["asm"]["_emscripten_atomic_sub_u64"].apply(null,arguments)};var _emscripten_atomic_sub_u8=Module["_emscripten_atomic_sub_u8"]=function(){return Module["asm"]["_emscripten_atomic_sub_u8"].apply(null,arguments)};var _emscripten_atomic_xor_u16=Module["_emscripten_atomic_xor_u16"]=function(){return Module["asm"]["_emscripten_atomic_xor_u16"].apply(null,arguments)};var _emscripten_atomic_xor_u32=Module["_emscripten_atomic_xor_u32"]=function(){return Module["asm"]["_emscripten_atomic_xor_u32"].apply(null,arguments)};var _emscripten_atomic_xor_u64=Module["_emscripten_atomic_xor_u64"]=function(){return Module["asm"]["_emscripten_atomic_xor_u64"].apply(null,arguments)};var _emscripten_atomic_xor_u8=Module["_emscripten_atomic_xor_u8"]=function(){return Module["asm"]["_emscripten_atomic_xor_u8"].apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=function(){return Module["asm"]["_emscripten_current_thread_process_queued_calls"].apply(null,arguments)};var _emscripten_force_num_logical_cores=Module["_emscripten_force_num_logical_cores"]=function(){return Module["asm"]["_emscripten_force_num_logical_cores"].apply(null,arguments)};var _emscripten_futex_wait=Module["_emscripten_futex_wait"]=function(){return Module["asm"]["_emscripten_futex_wait"].apply(null,arguments)};var _emscripten_futex_wake=Module["_emscripten_futex_wake"]=function(){return Module["asm"]["_emscripten_futex_wake"].apply(null,arguments)};var _emscripten_has_threading_support=Module["_emscripten_has_threading_support"]=function(){return Module["asm"]["_emscripten_has_threading_support"].apply(null,arguments)};var _emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=function(){return Module["asm"]["_emscripten_is_main_runtime_thread"].apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return Module["asm"]["_emscripten_main_thread_process_queued_calls"].apply(null,arguments)};var _emscripten_num_logical_cores=Module["_emscripten_num_logical_cores"]=function(){return Module["asm"]["_emscripten_num_logical_cores"].apply(null,arguments)};var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=function(){return Module["asm"]["_emscripten_replace_memory"].apply(null,arguments)};var _enable_callback_tracebacks=Module["_enable_callback_tracebacks"]=function(){return Module["asm"]["_enable_callback_tracebacks"].apply(null,arguments)};var _encode_current_locale=Module["_encode_current_locale"]=function(){return Module["asm"]["_encode_current_locale"].apply(null,arguments)};var _encode_locale_ex=Module["_encode_locale_ex"]=function(){return Module["asm"]["_encode_locale_ex"].apply(null,arguments)};var _encoder_call=Module["_encoder_call"]=function(){return Module["asm"]["_encoder_call"].apply(null,arguments)};var _encoder_clear=Module["_encoder_clear"]=function(){return Module["asm"]["_encoder_clear"].apply(null,arguments)};var _encoder_dealloc=Module["_encoder_dealloc"]=function(){return Module["asm"]["_encoder_dealloc"].apply(null,arguments)};var _encoder_encode_stateful=Module["_encoder_encode_stateful"]=function(){return Module["asm"]["_encoder_encode_stateful"].apply(null,arguments)};var _encoder_listencode_obj=Module["_encoder_listencode_obj"]=function(){return Module["asm"]["_encoder_listencode_obj"].apply(null,arguments)};var _encoder_new=Module["_encoder_new"]=function(){return Module["asm"]["_encoder_new"].apply(null,arguments)};var _encoder_traverse=Module["_encoder_traverse"]=function(){return Module["asm"]["_encoder_traverse"].apply(null,arguments)};var _encoding_map_dealloc=Module["_encoding_map_dealloc"]=function(){return Module["asm"]["_encoding_map_dealloc"].apply(null,arguments)};var _encoding_map_size=Module["_encoding_map_size"]=function(){return Module["asm"]["_encoding_map_size"].apply(null,arguments)};var _encrypt=Module["_encrypt"]=function(){return Module["asm"]["_encrypt"].apply(null,arguments)};var _endhostent=Module["_endhostent"]=function(){return Module["asm"]["_endhostent"].apply(null,arguments)};var _endmntent=Module["_endmntent"]=function(){return Module["asm"]["_endmntent"].apply(null,arguments)};var _endservent=Module["_endservent"]=function(){return Module["asm"]["_endservent"].apply(null,arguments)};var _enlargeAndAppend=Module["_enlargeAndAppend"]=function(){return Module["asm"]["_enlargeAndAppend"].apply(null,arguments)};var _entity0=Module["_entity0"]=function(){return Module["asm"]["_entity0"].apply(null,arguments)};var _entity1=Module["_entity1"]=function(){return Module["asm"]["_entity1"].apply(null,arguments)};var _entity10=Module["_entity10"]=function(){return Module["asm"]["_entity10"].apply(null,arguments)};var _entity2=Module["_entity2"]=function(){return Module["asm"]["_entity2"].apply(null,arguments)};var _entity3=Module["_entity3"]=function(){return Module["asm"]["_entity3"].apply(null,arguments)};var _entity4=Module["_entity4"]=function(){return Module["asm"]["_entity4"].apply(null,arguments)};var _entity5=Module["_entity5"]=function(){return Module["asm"]["_entity5"].apply(null,arguments)};var _entity6=Module["_entity6"]=function(){return Module["asm"]["_entity6"].apply(null,arguments)};var _entity7=Module["_entity7"]=function(){return Module["asm"]["_entity7"].apply(null,arguments)};var _entity8=Module["_entity8"]=function(){return Module["asm"]["_entity8"].apply(null,arguments)};var _entity9=Module["_entity9"]=function(){return Module["asm"]["_entity9"].apply(null,arguments)};var _entityValueInitProcessor=Module["_entityValueInitProcessor"]=function(){return Module["asm"]["_entityValueInitProcessor"].apply(null,arguments)};var _entityValueProcessor=Module["_entityValueProcessor"]=function(){return Module["asm"]["_entityValueProcessor"].apply(null,arguments)};var _enum_dealloc=Module["_enum_dealloc"]=function(){return Module["asm"]["_enum_dealloc"].apply(null,arguments)};var _enum_new=Module["_enum_new"]=function(){return Module["asm"]["_enum_new"].apply(null,arguments)};var _enum_next=Module["_enum_next"]=function(){return Module["asm"]["_enum_next"].apply(null,arguments)};var _enum_reduce=Module["_enum_reduce"]=function(){return Module["asm"]["_enum_reduce"].apply(null,arguments)};var _enum_traverse=Module["_enum_traverse"]=function(){return Module["asm"]["_enum_traverse"].apply(null,arguments)};var _epilogProcessor=Module["_epilogProcessor"]=function(){return Module["asm"]["_epilogProcessor"].apply(null,arguments)};var _erand48=Module["_erand48"]=function(){return Module["asm"]["_erand48"].apply(null,arguments)};var _erf=Module["_erf"]=function(){return Module["asm"]["_erf"].apply(null,arguments)};var _erfc=Module["_erfc"]=function(){return Module["asm"]["_erfc"].apply(null,arguments)};var _erfc1=Module["_erfc1"]=function(){return Module["asm"]["_erfc1"].apply(null,arguments)};var _erfc1_302=Module["_erfc1_302"]=function(){return Module["asm"]["_erfc1_302"].apply(null,arguments)};var _erfc2=Module["_erfc2"]=function(){return Module["asm"]["_erfc2"].apply(null,arguments)};var _erfc2_301=Module["_erfc2_301"]=function(){return Module["asm"]["_erfc2_301"].apply(null,arguments)};var _erfcf=Module["_erfcf"]=function(){return Module["asm"]["_erfcf"].apply(null,arguments)};var _erfcl=Module["_erfcl"]=function(){return Module["asm"]["_erfcl"].apply(null,arguments)};var _erff=Module["_erff"]=function(){return Module["asm"]["_erff"].apply(null,arguments)};var _erfl=Module["_erfl"]=function(){return Module["asm"]["_erfl"].apply(null,arguments)};var _err0r=Module["_err0r"]=function(){return Module["asm"]["_err0r"].apply(null,arguments)};var _err_input=Module["_err_input"]=function(){return Module["asm"]["_err_input"].apply(null,arguments)};var _errlogFunc=Module["_errlogFunc"]=function(){return Module["asm"]["_errlogFunc"].apply(null,arguments)};var _error=Module["_error"]=function(){return Module["asm"]["_error"].apply(null,arguments)};var _errorProcessor=Module["_errorProcessor"]=function(){return Module["asm"]["_errorProcessor"].apply(null,arguments)};var _error_at_directive=Module["_error_at_directive"]=function(){return Module["asm"]["_error_at_directive"].apply(null,arguments)};var _error_external_entity_ref_handler=Module["_error_external_entity_ref_handler"]=function(){return Module["asm"]["_error_external_entity_ref_handler"].apply(null,arguments)};var _estLog=Module["_estLog"]=function(){return Module["asm"]["_estLog"].apply(null,arguments)};var _estimateIndexWidth=Module["_estimateIndexWidth"]=function(){return Module["asm"]["_estimateIndexWidth"].apply(null,arguments)};var _estimateTableWidth=Module["_estimateTableWidth"]=function(){return Module["asm"]["_estimateTableWidth"].apply(null,arguments)};var _et_getdigit=Module["_et_getdigit"]=function(){return Module["asm"]["_et_getdigit"].apply(null,arguments)};var _ether_aton=Module["_ether_aton"]=function(){return Module["asm"]["_ether_aton"].apply(null,arguments)};var _ether_aton_r=Module["_ether_aton_r"]=function(){return Module["asm"]["_ether_aton_r"].apply(null,arguments)};var _ether_hostton=Module["_ether_hostton"]=function(){return Module["asm"]["_ether_hostton"].apply(null,arguments)};var _ether_line=Module["_ether_line"]=function(){return Module["asm"]["_ether_line"].apply(null,arguments)};var _ether_ntoa=Module["_ether_ntoa"]=function(){return Module["asm"]["_ether_ntoa"].apply(null,arguments)};var _ether_ntoa_r=Module["_ether_ntoa_r"]=function(){return Module["asm"]["_ether_ntoa_r"].apply(null,arguments)};var _ether_ntohost=Module["_ether_ntohost"]=function(){return Module["asm"]["_ether_ntohost"].apply(null,arguments)};var _euc_jis_2004_decode=Module["_euc_jis_2004_decode"]=function(){return Module["asm"]["_euc_jis_2004_decode"].apply(null,arguments)};var _euc_jis_2004_encode=Module["_euc_jis_2004_encode"]=function(){return Module["asm"]["_euc_jis_2004_encode"].apply(null,arguments)};var _euc_jp_decode=Module["_euc_jp_decode"]=function(){return Module["asm"]["_euc_jp_decode"].apply(null,arguments)};var _euc_jp_encode=Module["_euc_jp_encode"]=function(){return Module["asm"]["_euc_jp_encode"].apply(null,arguments)};var _euc_kr_decode=Module["_euc_kr_decode"]=function(){return Module["asm"]["_euc_kr_decode"].apply(null,arguments)};var _euc_kr_encode=Module["_euc_kr_encode"]=function(){return Module["asm"]["_euc_kr_encode"].apply(null,arguments)};var _evalbinop=Module["_evalbinop"]=function(){return Module["asm"]["_evalbinop"].apply(null,arguments)};var _evalexpr=Module["_evalexpr"]=function(){return Module["asm"]["_evalexpr"].apply(null,arguments)};var _evalprim=Module["_evalprim"]=function(){return Module["asm"]["_evalprim"].apply(null,arguments)};var _execSql=Module["_execSql"]=function(){return Module["asm"]["_execSql"].apply(null,arguments)};var _execSqlF=Module["_execSqlF"]=function(){return Module["asm"]["_execSqlF"].apply(null,arguments)};var _exp=Module["_exp"]=function(){return Module["asm"]["_exp"].apply(null,arguments)};var _exp10=Module["_exp10"]=function(){return Module["asm"]["_exp10"].apply(null,arguments)};var _exp10f=Module["_exp10f"]=function(){return Module["asm"]["_exp10f"].apply(null,arguments)};var _exp10l=Module["_exp10l"]=function(){return Module["asm"]["_exp10l"].apply(null,arguments)};var _exp2=Module["_exp2"]=function(){return Module["asm"]["_exp2"].apply(null,arguments)};var _exp2f=Module["_exp2f"]=function(){return Module["asm"]["_exp2f"].apply(null,arguments)};var _exp2l=Module["_exp2l"]=function(){return Module["asm"]["_exp2l"].apply(null,arguments)};var _expf=Module["_expf"]=function(){return Module["asm"]["_expf"].apply(null,arguments)};var _expl=Module["_expl"]=function(){return Module["asm"]["_expl"].apply(null,arguments)};var _explainAppendTerm=Module["_explainAppendTerm"]=function(){return Module["asm"]["_explainAppendTerm"].apply(null,arguments)};var _explainIndexColumnName=Module["_explainIndexColumnName"]=function(){return Module["asm"]["_explainIndexColumnName"].apply(null,arguments)};var _explainIndexRange=Module["_explainIndexRange"]=function(){return Module["asm"]["_explainIndexRange"].apply(null,arguments)};var _explainSimpleCount=Module["_explainSimpleCount"]=function(){return Module["asm"]["_explainSimpleCount"].apply(null,arguments)};var _explainTempTable=Module["_explainTempTable"]=function(){return Module["asm"]["_explainTempTable"].apply(null,arguments)};var _expm1=Module["_expm1"]=function(){return Module["asm"]["_expm1"].apply(null,arguments)};var _expm1f=Module["_expm1f"]=function(){return Module["asm"]["_expm1f"].apply(null,arguments)};var _expm1l=Module["_expm1l"]=function(){return Module["asm"]["_expm1l"].apply(null,arguments)};var _exprAlwaysFalse=Module["_exprAlwaysFalse"]=function(){return Module["asm"]["_exprAlwaysFalse"].apply(null,arguments)};var _exprAlwaysTrue=Module["_exprAlwaysTrue"]=function(){return Module["asm"]["_exprAlwaysTrue"].apply(null,arguments)};var _exprAnalyze=Module["_exprAnalyze"]=function(){return Module["asm"]["_exprAnalyze"].apply(null,arguments)};var _exprAnalyzeOrTerm=Module["_exprAnalyzeOrTerm"]=function(){return Module["asm"]["_exprAnalyzeOrTerm"].apply(null,arguments)};var _exprCodeBetween=Module["_exprCodeBetween"]=function(){return Module["asm"]["_exprCodeBetween"].apply(null,arguments)};var _exprCodeSubselect=Module["_exprCodeSubselect"]=function(){return Module["asm"]["_exprCodeSubselect"].apply(null,arguments)};var _exprCodeVector=Module["_exprCodeVector"]=function(){return Module["asm"]["_exprCodeVector"].apply(null,arguments)};var _exprCommute=Module["_exprCommute"]=function(){return Module["asm"]["_exprCommute"].apply(null,arguments)};var _exprCompareVariable=Module["_exprCompareVariable"]=function(){return Module["asm"]["_exprCompareVariable"].apply(null,arguments)};var _exprDup=Module["_exprDup"]=function(){return Module["asm"]["_exprDup"].apply(null,arguments)};var _exprINAffinity=Module["_exprINAffinity"]=function(){return Module["asm"]["_exprINAffinity"].apply(null,arguments)};var _exprIdxCover=Module["_exprIdxCover"]=function(){return Module["asm"]["_exprIdxCover"].apply(null,arguments)};var _exprIsConst=Module["_exprIsConst"]=function(){return Module["asm"]["_exprIsConst"].apply(null,arguments)};var _exprIsDeterministic=Module["_exprIsDeterministic"]=function(){return Module["asm"]["_exprIsDeterministic"].apply(null,arguments)};var _exprListAppendList=Module["_exprListAppendList"]=function(){return Module["asm"]["_exprListAppendList"].apply(null,arguments)};var _exprListDeleteNN=Module["_exprListDeleteNN"]=function(){return Module["asm"]["_exprListDeleteNN"].apply(null,arguments)};var _exprMightBeIndexed=Module["_exprMightBeIndexed"]=function(){return Module["asm"]["_exprMightBeIndexed"].apply(null,arguments)};var _exprMightBeIndexed2=Module["_exprMightBeIndexed2"]=function(){return Module["asm"]["_exprMightBeIndexed2"].apply(null,arguments)};var _exprNodeCopy=Module["_exprNodeCopy"]=function(){return Module["asm"]["_exprNodeCopy"].apply(null,arguments)};var _exprNodeIsConstant=Module["_exprNodeIsConstant"]=function(){return Module["asm"]["_exprNodeIsConstant"].apply(null,arguments)};var _exprNodeIsConstantOrGroupBy=Module["_exprNodeIsConstantOrGroupBy"]=function(){return Module["asm"]["_exprNodeIsConstantOrGroupBy"].apply(null,arguments)};var _exprNodeIsDeterministic=Module["_exprNodeIsDeterministic"]=function(){return Module["asm"]["_exprNodeIsDeterministic"].apply(null,arguments)};var _exprProbability=Module["_exprProbability"]=function(){return Module["asm"]["_exprProbability"].apply(null,arguments)};var _exprSelectUsage=Module["_exprSelectUsage"]=function(){return Module["asm"]["_exprSelectUsage"].apply(null,arguments)};var _exprSetHeight=Module["_exprSetHeight"]=function(){return Module["asm"]["_exprSetHeight"].apply(null,arguments)};var _exprSrcCount=Module["_exprSrcCount"]=function(){return Module["asm"]["_exprSrcCount"].apply(null,arguments)};var _exprStructSize=Module["_exprStructSize"]=function(){return Module["asm"]["_exprStructSize"].apply(null,arguments)};var _exprTableColumn=Module["_exprTableColumn"]=function(){return Module["asm"]["_exprTableColumn"].apply(null,arguments)};var _exprTableRegister=Module["_exprTableRegister"]=function(){return Module["asm"]["_exprTableRegister"].apply(null,arguments)};var _exprToRegister=Module["_exprToRegister"]=function(){return Module["asm"]["_exprToRegister"].apply(null,arguments)};var _exprVectorRegister=Module["_exprVectorRegister"]=function(){return Module["asm"]["_exprVectorRegister"].apply(null,arguments)};var _expr_as_unicode=Module["_expr_as_unicode"]=function(){return Module["asm"]["_expr_as_unicode"].apply(null,arguments)};var _externalEntityContentProcessor=Module["_externalEntityContentProcessor"]=function(){return Module["asm"]["_externalEntityContentProcessor"].apply(null,arguments)};var _externalEntityInitProcessor=Module["_externalEntityInitProcessor"]=function(){return Module["asm"]["_externalEntityInitProcessor"].apply(null,arguments)};var _externalEntityInitProcessor2=Module["_externalEntityInitProcessor2"]=function(){return Module["asm"]["_externalEntityInitProcessor2"].apply(null,arguments)};var _externalEntityInitProcessor3=Module["_externalEntityInitProcessor3"]=function(){return Module["asm"]["_externalEntityInitProcessor3"].apply(null,arguments)};var _externalParEntInitProcessor=Module["_externalParEntInitProcessor"]=function(){return Module["asm"]["_externalParEntInitProcessor"].apply(null,arguments)};var _externalParEntProcessor=Module["_externalParEntProcessor"]=function(){return Module["asm"]["_externalParEntProcessor"].apply(null,arguments)};var _externalSubset0=Module["_externalSubset0"]=function(){return Module["asm"]["_externalSubset0"].apply(null,arguments)};var _externalSubset1=Module["_externalSubset1"]=function(){return Module["asm"]["_externalSubset1"].apply(null,arguments)};var _f_getitem=Module["_f_getitem"]=function(){return Module["asm"]["_f_getitem"].apply(null,arguments)};var _f_setitem=Module["_f_setitem"]=function(){return Module["asm"]["_f_setitem"].apply(null,arguments)};var _factorial_partial_product=Module["_factorial_partial_product"]=function(){return Module["asm"]["_factorial_partial_product"].apply(null,arguments)};var _fake_getnameinfo=Module["_fake_getnameinfo"]=function(){return Module["asm"]["_fake_getnameinfo"].apply(null,arguments)};var _fallbackSort=Module["_fallbackSort"]=function(){return Module["asm"]["_fallbackSort"].apply(null,arguments)};var _fast_save_enter=Module["_fast_save_enter"]=function(){return Module["asm"]["_fast_save_enter"].apply(null,arguments)};var _fastsearch=Module["_fastsearch"]=function(){return Module["asm"]["_fastsearch"].apply(null,arguments)};var _fastsearch_450=Module["_fastsearch_450"]=function(){return Module["asm"]["_fastsearch_450"].apply(null,arguments)};var _fastsearch_572=Module["_fastsearch_572"]=function(){return Module["asm"]["_fastsearch_572"].apply(null,arguments)};var _fatal_error=Module["_fatal_error"]=function(){return Module["asm"]["_fatal_error"].apply(null,arguments)};var _faulthandler_cancel_dump_traceback_later_py=Module["_faulthandler_cancel_dump_traceback_later_py"]=function(){return Module["asm"]["_faulthandler_cancel_dump_traceback_later_py"].apply(null,arguments)};var _faulthandler_disable=Module["_faulthandler_disable"]=function(){return Module["asm"]["_faulthandler_disable"].apply(null,arguments)};var _faulthandler_disable_py=Module["_faulthandler_disable_py"]=function(){return Module["asm"]["_faulthandler_disable_py"].apply(null,arguments)};var _faulthandler_dump_traceback_later=Module["_faulthandler_dump_traceback_later"]=function(){return Module["asm"]["_faulthandler_dump_traceback_later"].apply(null,arguments)};var _faulthandler_dump_traceback_py=Module["_faulthandler_dump_traceback_py"]=function(){return Module["asm"]["_faulthandler_dump_traceback_py"].apply(null,arguments)};var _faulthandler_fatal_error=Module["_faulthandler_fatal_error"]=function(){return Module["asm"]["_faulthandler_fatal_error"].apply(null,arguments)};var _faulthandler_fatal_error_c_thread=Module["_faulthandler_fatal_error_c_thread"]=function(){return Module["asm"]["_faulthandler_fatal_error_c_thread"].apply(null,arguments)};var _faulthandler_fatal_error_py=Module["_faulthandler_fatal_error_py"]=function(){return Module["asm"]["_faulthandler_fatal_error_py"].apply(null,arguments)};var _faulthandler_fatal_error_thread=Module["_faulthandler_fatal_error_thread"]=function(){return Module["asm"]["_faulthandler_fatal_error_thread"].apply(null,arguments)};var _faulthandler_get_fileno=Module["_faulthandler_get_fileno"]=function(){return Module["asm"]["_faulthandler_get_fileno"].apply(null,arguments)};var _faulthandler_is_enabled=Module["_faulthandler_is_enabled"]=function(){return Module["asm"]["_faulthandler_is_enabled"].apply(null,arguments)};var _faulthandler_py_enable=Module["_faulthandler_py_enable"]=function(){return Module["asm"]["_faulthandler_py_enable"].apply(null,arguments)};var _faulthandler_read_null=Module["_faulthandler_read_null"]=function(){return Module["asm"]["_faulthandler_read_null"].apply(null,arguments)};var _faulthandler_register_py=Module["_faulthandler_register_py"]=function(){return Module["asm"]["_faulthandler_register_py"].apply(null,arguments)};var _faulthandler_sigabrt=Module["_faulthandler_sigabrt"]=function(){return Module["asm"]["_faulthandler_sigabrt"].apply(null,arguments)};var _faulthandler_sigfpe=Module["_faulthandler_sigfpe"]=function(){return Module["asm"]["_faulthandler_sigfpe"].apply(null,arguments)};var _faulthandler_sigsegv=Module["_faulthandler_sigsegv"]=function(){return Module["asm"]["_faulthandler_sigsegv"].apply(null,arguments)};var _faulthandler_suppress_crash_report=Module["_faulthandler_suppress_crash_report"]=function(){return Module["asm"]["_faulthandler_suppress_crash_report"].apply(null,arguments)};var _faulthandler_thread=Module["_faulthandler_thread"]=function(){return Module["asm"]["_faulthandler_thread"].apply(null,arguments)};var _faulthandler_traverse=Module["_faulthandler_traverse"]=function(){return Module["asm"]["_faulthandler_traverse"].apply(null,arguments)};var _faulthandler_unregister_py=Module["_faulthandler_unregister_py"]=function(){return Module["asm"]["_faulthandler_unregister_py"].apply(null,arguments)};var _faulthandler_user=Module["_faulthandler_user"]=function(){return Module["asm"]["_faulthandler_user"].apply(null,arguments)};var _fchdir=Module["_fchdir"]=function(){return Module["asm"]["_fchdir"].apply(null,arguments)};var _fchmod=Module["_fchmod"]=function(){return Module["asm"]["_fchmod"].apply(null,arguments)};var _fchmodat=Module["_fchmodat"]=function(){return Module["asm"]["_fchmodat"].apply(null,arguments)};var _fchown=Module["_fchown"]=function(){return Module["asm"]["_fchown"].apply(null,arguments)};var _fchownat=Module["_fchownat"]=function(){return Module["asm"]["_fchownat"].apply(null,arguments)};var _fclose=Module["_fclose"]=function(){return Module["asm"]["_fclose"].apply(null,arguments)};var _fcntl=Module["_fcntl"]=function(){return Module["asm"]["_fcntl"].apply(null,arguments)};var _fcntlSizeHint=Module["_fcntlSizeHint"]=function(){return Module["asm"]["_fcntlSizeHint"].apply(null,arguments)};var _fcvt=Module["_fcvt"]=function(){return Module["asm"]["_fcvt"].apply(null,arguments)};var _fdatasync=Module["_fdatasync"]=function(){return Module["asm"]["_fdatasync"].apply(null,arguments)};var _fdim=Module["_fdim"]=function(){return Module["asm"]["_fdim"].apply(null,arguments)};var _fdimf=Module["_fdimf"]=function(){return Module["asm"]["_fdimf"].apply(null,arguments)};var _fdiml=Module["_fdiml"]=function(){return Module["asm"]["_fdiml"].apply(null,arguments)};var _fdopendir=Module["_fdopendir"]=function(){return Module["asm"]["_fdopendir"].apply(null,arguments)};var _feclearexcept=Module["_feclearexcept"]=function(){return Module["asm"]["_feclearexcept"].apply(null,arguments)};var _fegetenv=Module["_fegetenv"]=function(){return Module["asm"]["_fegetenv"].apply(null,arguments)};var _fegetexceptflag=Module["_fegetexceptflag"]=function(){return Module["asm"]["_fegetexceptflag"].apply(null,arguments)};var _fegetround=Module["_fegetround"]=function(){return Module["asm"]["_fegetround"].apply(null,arguments)};var _feholdexcept=Module["_feholdexcept"]=function(){return Module["asm"]["_feholdexcept"].apply(null,arguments)};var _feof=Module["_feof"]=function(){return Module["asm"]["_feof"].apply(null,arguments)};var _feraiseexcept=Module["_feraiseexcept"]=function(){return Module["asm"]["_feraiseexcept"].apply(null,arguments)};var _ferror=Module["_ferror"]=function(){return Module["asm"]["_ferror"].apply(null,arguments)};var _fesetenv=Module["_fesetenv"]=function(){return Module["asm"]["_fesetenv"].apply(null,arguments)};var _fesetexceptflag=Module["_fesetexceptflag"]=function(){return Module["asm"]["_fesetexceptflag"].apply(null,arguments)};var _fesetround=Module["_fesetround"]=function(){return Module["asm"]["_fesetround"].apply(null,arguments)};var _fetchPayload=Module["_fetchPayload"]=function(){return Module["asm"]["_fetchPayload"].apply(null,arguments)};var _fetestexcept=Module["_fetestexcept"]=function(){return Module["asm"]["_fetestexcept"].apply(null,arguments)};var _feupdateenv=Module["_feupdateenv"]=function(){return Module["asm"]["_feupdateenv"].apply(null,arguments)};var _fflush=Module["_fflush"]=function(){return Module["asm"]["_fflush"].apply(null,arguments)};var _ffs=Module["_ffs"]=function(){return Module["asm"]["_ffs"].apply(null,arguments)};var _ffsl=Module["_ffsl"]=function(){return Module["asm"]["_ffsl"].apply(null,arguments)};var _ffsll=Module["_ffsll"]=function(){return Module["asm"]["_ffsll"].apply(null,arguments)};var _fgetc=Module["_fgetc"]=function(){return Module["asm"]["_fgetc"].apply(null,arguments)};var _fgetln=Module["_fgetln"]=function(){return Module["asm"]["_fgetln"].apply(null,arguments)};var _fgetpos=Module["_fgetpos"]=function(){return Module["asm"]["_fgetpos"].apply(null,arguments)};var _fgets=Module["_fgets"]=function(){return Module["asm"]["_fgets"].apply(null,arguments)};var _fgetwc=Module["_fgetwc"]=function(){return Module["asm"]["_fgetwc"].apply(null,arguments)};var _fgetws=Module["_fgetws"]=function(){return Module["asm"]["_fgetws"].apply(null,arguments)};var _field_name_split=Module["_field_name_split"]=function(){return Module["asm"]["_field_name_split"].apply(null,arguments)};var _fieldnameiter_dealloc=Module["_fieldnameiter_dealloc"]=function(){return Module["asm"]["_fieldnameiter_dealloc"].apply(null,arguments)};var _fieldnameiter_next=Module["_fieldnameiter_next"]=function(){return Module["asm"]["_fieldnameiter_next"].apply(null,arguments)};var _fildes_converter=Module["_fildes_converter"]=function(){return Module["asm"]["_fildes_converter"].apply(null,arguments)};var _fileHasMoved=Module["_fileHasMoved"]=function(){return Module["asm"]["_fileHasMoved"].apply(null,arguments)};var _fileio_clear=Module["_fileio_clear"]=function(){return Module["asm"]["_fileio_clear"].apply(null,arguments)};var _fileio_dealloc=Module["_fileio_dealloc"]=function(){return Module["asm"]["_fileio_dealloc"].apply(null,arguments)};var _fileio_dealloc_warn=Module["_fileio_dealloc_warn"]=function(){return Module["asm"]["_fileio_dealloc_warn"].apply(null,arguments)};var _fileio_getstate=Module["_fileio_getstate"]=function(){return Module["asm"]["_fileio_getstate"].apply(null,arguments)};var _fileio_new=Module["_fileio_new"]=function(){return Module["asm"]["_fileio_new"].apply(null,arguments)};var _fileio_repr=Module["_fileio_repr"]=function(){return Module["asm"]["_fileio_repr"].apply(null,arguments)};var _fileio_traverse=Module["_fileio_traverse"]=function(){return Module["asm"]["_fileio_traverse"].apply(null,arguments)};var _fileno=Module["_fileno"]=function(){return Module["asm"]["_fileno"].apply(null,arguments)};var _fillInCell=Module["_fillInCell"]=function(){return Module["asm"]["_fillInCell"].apply(null,arguments)};var _fillInUnixFile=Module["_fillInUnixFile"]=function(){return Module["asm"]["_fillInUnixFile"].apply(null,arguments)};var _fill_number=Module["_fill_number"]=function(){return Module["asm"]["_fill_number"].apply(null,arguments)};var _fill_time=Module["_fill_time"]=function(){return Module["asm"]["_fill_time"].apply(null,arguments)};var _fill_window=Module["_fill_window"]=function(){return Module["asm"]["_fill_window"].apply(null,arguments)};var _filter_dealloc=Module["_filter_dealloc"]=function(){return Module["asm"]["_filter_dealloc"].apply(null,arguments)};var _filter_new=Module["_filter_new"]=function(){return Module["asm"]["_filter_new"].apply(null,arguments)};var _filter_next=Module["_filter_next"]=function(){return Module["asm"]["_filter_next"].apply(null,arguments)};var _filter_reduce=Module["_filter_reduce"]=function(){return Module["asm"]["_filter_reduce"].apply(null,arguments)};var _filter_traverse=Module["_filter_traverse"]=function(){return Module["asm"]["_filter_traverse"].apply(null,arguments)};var _filterfalse_dealloc=Module["_filterfalse_dealloc"]=function(){return Module["asm"]["_filterfalse_dealloc"].apply(null,arguments)};var _filterfalse_new=Module["_filterfalse_new"]=function(){return Module["asm"]["_filterfalse_new"].apply(null,arguments)};var _filterfalse_next=Module["_filterfalse_next"]=function(){return Module["asm"]["_filterfalse_next"].apply(null,arguments)};var _filterfalse_reduce=Module["_filterfalse_reduce"]=function(){return Module["asm"]["_filterfalse_reduce"].apply(null,arguments)};var _filterfalse_traverse=Module["_filterfalse_traverse"]=function(){return Module["asm"]["_filterfalse_traverse"].apply(null,arguments)};var _finalDbSize=Module["_finalDbSize"]=function(){return Module["asm"]["_finalDbSize"].apply(null,arguments)};var _finalizeAggFunctions=Module["_finalizeAggFunctions"]=function(){return Module["asm"]["_finalizeAggFunctions"].apply(null,arguments)};var _findBtree=Module["_findBtree"]=function(){return Module["asm"]["_findBtree"].apply(null,arguments)};var _findCollSeqEntry=Module["_findCollSeqEntry"]=function(){return Module["asm"]["_findCollSeqEntry"].apply(null,arguments)};var _findConstInWhere=Module["_findConstInWhere"]=function(){return Module["asm"]["_findConstInWhere"].apply(null,arguments)};var _findCreateFileMode=Module["_findCreateFileMode"]=function(){return Module["asm"]["_findCreateFileMode"].apply(null,arguments)};var _findElementWithHash=Module["_findElementWithHash"]=function(){return Module["asm"]["_findElementWithHash"].apply(null,arguments)};var _findEncoding=Module["_findEncoding"]=function(){return Module["asm"]["_findEncoding"].apply(null,arguments)};var _findEncodingNS=Module["_findEncodingNS"]=function(){return Module["asm"]["_findEncodingNS"].apply(null,arguments)};var _findIndexCol=Module["_findIndexCol"]=function(){return Module["asm"]["_findIndexCol"].apply(null,arguments)};var _findInodeInfo=Module["_findInodeInfo"]=function(){return Module["asm"]["_findInodeInfo"].apply(null,arguments)};var _findLeafNode=Module["_findLeafNode"]=function(){return Module["asm"]["_findLeafNode"].apply(null,arguments)};var _findNextHostParameter=Module["_findNextHostParameter"]=function(){return Module["asm"]["_findNextHostParameter"].apply(null,arguments)};var _findReusableFd=Module["_findReusableFd"]=function(){return Module["asm"]["_findReusableFd"].apply(null,arguments)};var _findRightmost=Module["_findRightmost"]=function(){return Module["asm"]["_findRightmost"].apply(null,arguments)};var _find_ann=Module["_find_ann"]=function(){return Module["asm"]["_find_ann"].apply(null,arguments)};var _find_charmap=Module["_find_charmap"]=function(){return Module["asm"]["_find_charmap"].apply(null,arguments)};var _find_internal=Module["_find_internal"]=function(){return Module["asm"]["_find_internal"].apply(null,arguments)};var _find_loader=Module["_find_loader"]=function(){return Module["asm"]["_find_loader"].apply(null,arguments)};var _find_name_in_mro=Module["_find_name_in_mro"]=function(){return Module["asm"]["_find_name_in_mro"].apply(null,arguments)};var _findchar=Module["_findchar"]=function(){return Module["asm"]["_findchar"].apply(null,arguments)};var _finite=Module["_finite"]=function(){return Module["asm"]["_finite"].apply(null,arguments)};var _finitef=Module["_finitef"]=function(){return Module["asm"]["_finitef"].apply(null,arguments)};var _fixBoundingBox=Module["_fixBoundingBox"]=function(){return Module["asm"]["_fixBoundingBox"].apply(null,arguments)};var _fixLeafParent=Module["_fixLeafParent"]=function(){return Module["asm"]["_fixLeafParent"].apply(null,arguments)};var _fixup=Module["_fixup"]=function(){return Module["asm"]["_fixup"].apply(null,arguments)};var _fkActionTrigger=Module["_fkActionTrigger"]=function(){return Module["asm"]["_fkActionTrigger"].apply(null,arguments)};var _fkChildIsModified=Module["_fkChildIsModified"]=function(){return Module["asm"]["_fkChildIsModified"].apply(null,arguments)};var _fkLookupParent=Module["_fkLookupParent"]=function(){return Module["asm"]["_fkLookupParent"].apply(null,arguments)};var _fkParentIsModified=Module["_fkParentIsModified"]=function(){return Module["asm"]["_fkParentIsModified"].apply(null,arguments)};var _fkScanChildren=Module["_fkScanChildren"]=function(){return Module["asm"]["_fkScanChildren"].apply(null,arguments)};var _fkTriggerDelete=Module["_fkTriggerDelete"]=function(){return Module["asm"]["_fkTriggerDelete"].apply(null,arguments)};var _flattenSubquery=Module["_flattenSubquery"]=function(){return Module["asm"]["_flattenSubquery"].apply(null,arguments)};var _float___format__=Module["_float___format__"]=function(){return Module["asm"]["_float___format__"].apply(null,arguments)};var _float___getformat__=Module["_float___getformat__"]=function(){return Module["asm"]["_float___getformat__"].apply(null,arguments)};var _float___getnewargs__=Module["_float___getnewargs__"]=function(){return Module["asm"]["_float___getnewargs__"].apply(null,arguments)};var _float___round__=Module["_float___round__"]=function(){return Module["asm"]["_float___round__"].apply(null,arguments)};var _float___set_format__=Module["_float___set_format__"]=function(){return Module["asm"]["_float___set_format__"].apply(null,arguments)};var _float___trunc__=Module["_float___trunc__"]=function(){return Module["asm"]["_float___trunc__"].apply(null,arguments)};var _float___trunc___impl=Module["_float___trunc___impl"]=function(){return Module["asm"]["_float___trunc___impl"].apply(null,arguments)};var _float_abs=Module["_float_abs"]=function(){return Module["asm"]["_float_abs"].apply(null,arguments)};var _float_add=Module["_float_add"]=function(){return Module["asm"]["_float_add"].apply(null,arguments)};var _float_as_integer_ratio=Module["_float_as_integer_ratio"]=function(){return Module["asm"]["_float_as_integer_ratio"].apply(null,arguments)};var _float_bool=Module["_float_bool"]=function(){return Module["asm"]["_float_bool"].apply(null,arguments)};var _float_conjugate=Module["_float_conjugate"]=function(){return Module["asm"]["_float_conjugate"].apply(null,arguments)};var _float_dealloc=Module["_float_dealloc"]=function(){return Module["asm"]["_float_dealloc"].apply(null,arguments)};var _float_div=Module["_float_div"]=function(){return Module["asm"]["_float_div"].apply(null,arguments)};var _float_divmod=Module["_float_divmod"]=function(){return Module["asm"]["_float_divmod"].apply(null,arguments)};var _float_float=Module["_float_float"]=function(){return Module["asm"]["_float_float"].apply(null,arguments)};var _float_floor_div=Module["_float_floor_div"]=function(){return Module["asm"]["_float_floor_div"].apply(null,arguments)};var _float_from_string_inner=Module["_float_from_string_inner"]=function(){return Module["asm"]["_float_from_string_inner"].apply(null,arguments)};var _float_fromhex=Module["_float_fromhex"]=function(){return Module["asm"]["_float_fromhex"].apply(null,arguments)};var _float_getimag=Module["_float_getimag"]=function(){return Module["asm"]["_float_getimag"].apply(null,arguments)};var _float_getreal=Module["_float_getreal"]=function(){return Module["asm"]["_float_getreal"].apply(null,arguments)};var _float_hash=Module["_float_hash"]=function(){return Module["asm"]["_float_hash"].apply(null,arguments)};var _float_hex=Module["_float_hex"]=function(){return Module["asm"]["_float_hex"].apply(null,arguments)};var _float_is_integer=Module["_float_is_integer"]=function(){return Module["asm"]["_float_is_integer"].apply(null,arguments)};var _float_mul=Module["_float_mul"]=function(){return Module["asm"]["_float_mul"].apply(null,arguments)};var _float_neg=Module["_float_neg"]=function(){return Module["asm"]["_float_neg"].apply(null,arguments)};var _float_new=Module["_float_new"]=function(){return Module["asm"]["_float_new"].apply(null,arguments)};var _float_pow=Module["_float_pow"]=function(){return Module["asm"]["_float_pow"].apply(null,arguments)};var _float_rem=Module["_float_rem"]=function(){return Module["asm"]["_float_rem"].apply(null,arguments)};var _float_repr=Module["_float_repr"]=function(){return Module["asm"]["_float_repr"].apply(null,arguments)};var _float_richcompare=Module["_float_richcompare"]=function(){return Module["asm"]["_float_richcompare"].apply(null,arguments)};var _float_sub=Module["_float_sub"]=function(){return Module["asm"]["_float_sub"].apply(null,arguments)};var _flockfile=Module["_flockfile"]=function(){return Module["asm"]["_flockfile"].apply(null,arguments)};var _flush_accumulator=Module["_flush_accumulator"]=function(){return Module["asm"]["_flush_accumulator"].apply(null,arguments)};var _flush_io=Module["_flush_io"]=function(){return Module["asm"]["_flush_io"].apply(null,arguments)};var _flush_std_files=Module["_flush_std_files"]=function(){return Module["asm"]["_flush_std_files"].apply(null,arguments)};var _fma=Module["_fma"]=function(){return Module["asm"]["_fma"].apply(null,arguments)};var _fmaf=Module["_fmaf"]=function(){return Module["asm"]["_fmaf"].apply(null,arguments)};var _fmal=Module["_fmal"]=function(){return Module["asm"]["_fmal"].apply(null,arguments)};var _fmax=Module["_fmax"]=function(){return Module["asm"]["_fmax"].apply(null,arguments)};var _fmaxf=Module["_fmaxf"]=function(){return Module["asm"]["_fmaxf"].apply(null,arguments)};var _fmaxl=Module["_fmaxl"]=function(){return Module["asm"]["_fmaxl"].apply(null,arguments)};var _fmemopen=Module["_fmemopen"]=function(){return Module["asm"]["_fmemopen"].apply(null,arguments)};var _fmin=Module["_fmin"]=function(){return Module["asm"]["_fmin"].apply(null,arguments)};var _fminf=Module["_fminf"]=function(){return Module["asm"]["_fminf"].apply(null,arguments)};var _fminl=Module["_fminl"]=function(){return Module["asm"]["_fminl"].apply(null,arguments)};var _fmod=Module["_fmod"]=function(){return Module["asm"]["_fmod"].apply(null,arguments)};var _fmodf=Module["_fmodf"]=function(){return Module["asm"]["_fmodf"].apply(null,arguments)};var _fmodl=Module["_fmodl"]=function(){return Module["asm"]["_fmodl"].apply(null,arguments)};var _fmt_fp=Module["_fmt_fp"]=function(){return Module["asm"]["_fmt_fp"].apply(null,arguments)};var _fmt_o=Module["_fmt_o"]=function(){return Module["asm"]["_fmt_o"].apply(null,arguments)};var _fmt_u=Module["_fmt_u"]=function(){return Module["asm"]["_fmt_u"].apply(null,arguments)};var _fmt_x=Module["_fmt_x"]=function(){return Module["asm"]["_fmt_x"].apply(null,arguments)};var _fmtmsg=Module["_fmtmsg"]=function(){return Module["asm"]["_fmtmsg"].apply(null,arguments)};var _fnmatch=Module["_fnmatch"]=function(){return Module["asm"]["_fnmatch"].apply(null,arguments)};var _fnmatch_internal=Module["_fnmatch_internal"]=function(){return Module["asm"]["_fnmatch_internal"].apply(null,arguments)};var _fnt_autoconvolute=Module["_fnt_autoconvolute"]=function(){return Module["asm"]["_fnt_autoconvolute"].apply(null,arguments)};var _fnt_cmap_char_index=Module["_fnt_cmap_char_index"]=function(){return Module["asm"]["_fnt_cmap_char_index"].apply(null,arguments)};var _fnt_cmap_char_next=Module["_fnt_cmap_char_next"]=function(){return Module["asm"]["_fnt_cmap_char_next"].apply(null,arguments)};var _fnt_cmap_init=Module["_fnt_cmap_init"]=function(){return Module["asm"]["_fnt_cmap_init"].apply(null,arguments)};var _fnt_convolute=Module["_fnt_convolute"]=function(){return Module["asm"]["_fnt_convolute"].apply(null,arguments)};var _fnt_dif2=Module["_fnt_dif2"]=function(){return Module["asm"]["_fnt_dif2"].apply(null,arguments)};var _fnt_font_load=Module["_fnt_font_load"]=function(){return Module["asm"]["_fnt_font_load"].apply(null,arguments)};var _fnv=Module["_fnv"]=function(){return Module["asm"]["_fnv"].apply(null,arguments)};var _fopen=Module["_fopen"]=function(){return Module["asm"]["_fopen"].apply(null,arguments)};var _forkpty=Module["_forkpty"]=function(){return Module["asm"]["_forkpty"].apply(null,arguments)};var _format_float_internal=Module["_format_float_internal"]=function(){return Module["asm"]["_format_float_internal"].apply(null,arguments)};var _format_utcoffset=Module["_format_utcoffset"]=function(){return Module["asm"]["_format_utcoffset"].apply(null,arguments)};var _formatfloat=Module["_formatfloat"]=function(){return Module["asm"]["_formatfloat"].apply(null,arguments)};var _formatter_field_name_split=Module["_formatter_field_name_split"]=function(){return Module["asm"]["_formatter_field_name_split"].apply(null,arguments)};var _formatter_parser=Module["_formatter_parser"]=function(){return Module["asm"]["_formatter_parser"].apply(null,arguments)};var _formatteriter_dealloc=Module["_formatteriter_dealloc"]=function(){return Module["asm"]["_formatteriter_dealloc"].apply(null,arguments)};var _formatteriter_next=Module["_formatteriter_next"]=function(){return Module["asm"]["_formatteriter_next"].apply(null,arguments)};var _four_step_fnt=Module["_four_step_fnt"]=function(){return Module["asm"]["_four_step_fnt"].apply(null,arguments)};var _fourbyte_memmem=Module["_fourbyte_memmem"]=function(){return Module["asm"]["_fourbyte_memmem"].apply(null,arguments)};var _fourbyte_strstr=Module["_fourbyte_strstr"]=function(){return Module["asm"]["_fourbyte_strstr"].apply(null,arguments)};var _fp_setreadl=Module["_fp_setreadl"]=function(){return Module["asm"]["_fp_setreadl"].apply(null,arguments)};var _fprintf=Module["_fprintf"]=function(){return Module["asm"]["_fprintf"].apply(null,arguments)};var _fputc=Module["_fputc"]=function(){return Module["asm"]["_fputc"].apply(null,arguments)};var _fputs=Module["_fputs"]=function(){return Module["asm"]["_fputs"].apply(null,arguments)};var _fputwc=Module["_fputwc"]=function(){return Module["asm"]["_fputwc"].apply(null,arguments)};var _fputws=Module["_fputws"]=function(){return Module["asm"]["_fputws"].apply(null,arguments)};var _frame_clear=Module["_frame_clear"]=function(){return Module["asm"]["_frame_clear"].apply(null,arguments)};var _frame_dealloc=Module["_frame_dealloc"]=function(){return Module["asm"]["_frame_dealloc"].apply(null,arguments)};var _frame_getlineno=Module["_frame_getlineno"]=function(){return Module["asm"]["_frame_getlineno"].apply(null,arguments)};var _frame_getlocals=Module["_frame_getlocals"]=function(){return Module["asm"]["_frame_getlocals"].apply(null,arguments)};var _frame_gettrace=Module["_frame_gettrace"]=function(){return Module["asm"]["_frame_gettrace"].apply(null,arguments)};var _frame_repr=Module["_frame_repr"]=function(){return Module["asm"]["_frame_repr"].apply(null,arguments)};var _frame_setlineno=Module["_frame_setlineno"]=function(){return Module["asm"]["_frame_setlineno"].apply(null,arguments)};var _frame_settrace=Module["_frame_settrace"]=function(){return Module["asm"]["_frame_settrace"].apply(null,arguments)};var _frame_sizeof=Module["_frame_sizeof"]=function(){return Module["asm"]["_frame_sizeof"].apply(null,arguments)};var _frame_tp_clear=Module["_frame_tp_clear"]=function(){return Module["asm"]["_frame_tp_clear"].apply(null,arguments)};var _frame_traverse=Module["_frame_traverse"]=function(){return Module["asm"]["_frame_traverse"].apply(null,arguments)};var _fread=Module["_fread"]=function(){return Module["asm"]["_fread"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["_free"].apply(null,arguments)};var _freeCursorConstraints=Module["_freeCursorConstraints"]=function(){return Module["asm"]["_freeCursorConstraints"].apply(null,arguments)};var _freeEntry=Module["_freeEntry"]=function(){return Module["asm"]["_freeEntry"].apply(null,arguments)};var _freeEphemeralFunction=Module["_freeEphemeralFunction"]=function(){return Module["asm"]["_freeEphemeralFunction"].apply(null,arguments)};var _freeP4=Module["_freeP4"]=function(){return Module["asm"]["_freeP4"].apply(null,arguments)};var _freeP4FuncCtx=Module["_freeP4FuncCtx"]=function(){return Module["asm"]["_freeP4FuncCtx"].apply(null,arguments)};var _freeP4Mem=Module["_freeP4Mem"]=function(){return Module["asm"]["_freeP4Mem"].apply(null,arguments)};var _freePage=Module["_freePage"]=function(){return Module["asm"]["_freePage"].apply(null,arguments)};var _freePage2=Module["_freePage2"]=function(){return Module["asm"]["_freePage2"].apply(null,arguments)};var _freeSpace=Module["_freeSpace"]=function(){return Module["asm"]["_freeSpace"].apply(null,arguments)};var _freeSubEntry=Module["_freeSubEntry"]=function(){return Module["asm"]["_freeSubEntry"].apply(null,arguments)};var _freeTempSpace=Module["_freeTempSpace"]=function(){return Module["asm"]["_freeTempSpace"].apply(null,arguments)};var _freeaddrinfo=Module["_freeaddrinfo"]=function(){return Module["asm"]["_freeaddrinfo"].apply(null,arguments)};var _freechildren=Module["_freechildren"]=function(){return Module["asm"]["_freechildren"].apply(null,arguments)};var _freeifaddrs=Module["_freeifaddrs"]=function(){return Module["asm"]["_freeifaddrs"].apply(null,arguments)};var _freelist_14689=Module["_freelist_14689"]=function(){return Module["asm"]["_freelist_14689"].apply(null,arguments)};var _freelocale=Module["_freelocale"]=function(){return Module["asm"]["_freelocale"].apply(null,arguments)};var _freopen=Module["_freopen"]=function(){return Module["asm"]["_freopen"].apply(null,arguments)};var _frexp=Module["_frexp"]=function(){return Module["asm"]["_frexp"].apply(null,arguments)};var _frexpf=Module["_frexpf"]=function(){return Module["asm"]["_frexpf"].apply(null,arguments)};var _frexpl=Module["_frexpl"]=function(){return Module["asm"]["_frexpl"].apply(null,arguments)};var _frombytes=Module["_frombytes"]=function(){return Module["asm"]["_frombytes"].apply(null,arguments)};var _frozenset_copy=Module["_frozenset_copy"]=function(){return Module["asm"]["_frozenset_copy"].apply(null,arguments)};var _frozenset_hash=Module["_frozenset_hash"]=function(){return Module["asm"]["_frozenset_hash"].apply(null,arguments)};var _frozenset_new=Module["_frozenset_new"]=function(){return Module["asm"]["_frozenset_new"].apply(null,arguments)};var _fscanf=Module["_fscanf"]=function(){return Module["asm"]["_fscanf"].apply(null,arguments)};var _fseek=Module["_fseek"]=function(){return Module["asm"]["_fseek"].apply(null,arguments)};var _fsetpos=Module["_fsetpos"]=function(){return Module["asm"]["_fsetpos"].apply(null,arguments)};var _fstat=Module["_fstat"]=function(){return Module["asm"]["_fstat"].apply(null,arguments)};var _fstatat=Module["_fstatat"]=function(){return Module["asm"]["_fstatat"].apply(null,arguments)};var _fstatvfs=Module["_fstatvfs"]=function(){return Module["asm"]["_fstatvfs"].apply(null,arguments)};var _fstring_shift_node_locations=Module["_fstring_shift_node_locations"]=function(){return Module["asm"]["_fstring_shift_node_locations"].apply(null,arguments)};var _fsync=Module["_fsync"]=function(){return Module["asm"]["_fsync"].apply(null,arguments)};var _ft_alloc=Module["_ft_alloc"]=function(){return Module["asm"]["_ft_alloc"].apply(null,arguments)};var _ft_ansi_stream_close=Module["_ft_ansi_stream_close"]=function(){return Module["asm"]["_ft_ansi_stream_close"].apply(null,arguments)};var _ft_ansi_stream_io=Module["_ft_ansi_stream_io"]=function(){return Module["asm"]["_ft_ansi_stream_io"].apply(null,arguments)};var _ft_bitmap_glyph_bbox=Module["_ft_bitmap_glyph_bbox"]=function(){return Module["asm"]["_ft_bitmap_glyph_bbox"].apply(null,arguments)};var _ft_bitmap_glyph_copy=Module["_ft_bitmap_glyph_copy"]=function(){return Module["asm"]["_ft_bitmap_glyph_copy"].apply(null,arguments)};var _ft_bitmap_glyph_done=Module["_ft_bitmap_glyph_done"]=function(){return Module["asm"]["_ft_bitmap_glyph_done"].apply(null,arguments)};var _ft_bitmap_glyph_init=Module["_ft_bitmap_glyph_init"]=function(){return Module["asm"]["_ft_bitmap_glyph_init"].apply(null,arguments)};var _ft_black_done=Module["_ft_black_done"]=function(){return Module["asm"]["_ft_black_done"].apply(null,arguments)};var _ft_black_new=Module["_ft_black_new"]=function(){return Module["asm"]["_ft_black_new"].apply(null,arguments)};var _ft_black_render=Module["_ft_black_render"]=function(){return Module["asm"]["_ft_black_render"].apply(null,arguments)};var _ft_black_reset=Module["_ft_black_reset"]=function(){return Module["asm"]["_ft_black_reset"].apply(null,arguments)};var _ft_black_set_mode=Module["_ft_black_set_mode"]=function(){return Module["asm"]["_ft_black_set_mode"].apply(null,arguments)};var _ft_corner_is_flat=Module["_ft_corner_is_flat"]=function(){return Module["asm"]["_ft_corner_is_flat"].apply(null,arguments)};var _ft_corner_orientation=Module["_ft_corner_orientation"]=function(){return Module["asm"]["_ft_corner_orientation"].apply(null,arguments)};var _ft_debug_init=Module["_ft_debug_init"]=function(){return Module["asm"]["_ft_debug_init"].apply(null,arguments)};var _ft_free=Module["_ft_free"]=function(){return Module["asm"]["_ft_free"].apply(null,arguments)};var _ft_get_adobe_glyph_index=Module["_ft_get_adobe_glyph_index"]=function(){return Module["asm"]["_ft_get_adobe_glyph_index"].apply(null,arguments)};var _ft_glyphslot_alloc_bitmap=Module["_ft_glyphslot_alloc_bitmap"]=function(){return Module["asm"]["_ft_glyphslot_alloc_bitmap"].apply(null,arguments)};var _ft_glyphslot_free_bitmap=Module["_ft_glyphslot_free_bitmap"]=function(){return Module["asm"]["_ft_glyphslot_free_bitmap"].apply(null,arguments)};var _ft_glyphslot_set_bitmap=Module["_ft_glyphslot_set_bitmap"]=function(){return Module["asm"]["_ft_glyphslot_set_bitmap"].apply(null,arguments)};var _ft_gzip_alloc=Module["_ft_gzip_alloc"]=function(){return Module["asm"]["_ft_gzip_alloc"].apply(null,arguments)};var _ft_gzip_check_header=Module["_ft_gzip_check_header"]=function(){return Module["asm"]["_ft_gzip_check_header"].apply(null,arguments)};var _ft_gzip_file_io=Module["_ft_gzip_file_io"]=function(){return Module["asm"]["_ft_gzip_file_io"].apply(null,arguments)};var _ft_gzip_free=Module["_ft_gzip_free"]=function(){return Module["asm"]["_ft_gzip_free"].apply(null,arguments)};var _ft_gzip_stream_close=Module["_ft_gzip_stream_close"]=function(){return Module["asm"]["_ft_gzip_stream_close"].apply(null,arguments)};var _ft_gzip_stream_io=Module["_ft_gzip_stream_io"]=function(){return Module["asm"]["_ft_gzip_stream_io"].apply(null,arguments)};var _ft_lzw_stream_close=Module["_ft_lzw_stream_close"]=function(){return Module["asm"]["_ft_lzw_stream_close"].apply(null,arguments)};var _ft_lzw_stream_io=Module["_ft_lzw_stream_io"]=function(){return Module["asm"]["_ft_lzw_stream_io"].apply(null,arguments)};var _ft_lzwstate_done=Module["_ft_lzwstate_done"]=function(){return Module["asm"]["_ft_lzwstate_done"].apply(null,arguments)};var _ft_lzwstate_get_code=Module["_ft_lzwstate_get_code"]=function(){return Module["asm"]["_ft_lzwstate_get_code"].apply(null,arguments)};var _ft_lzwstate_init=Module["_ft_lzwstate_init"]=function(){return Module["asm"]["_ft_lzwstate_init"].apply(null,arguments)};var _ft_lzwstate_io=Module["_ft_lzwstate_io"]=function(){return Module["asm"]["_ft_lzwstate_io"].apply(null,arguments)};var _ft_lzwstate_reset=Module["_ft_lzwstate_reset"]=function(){return Module["asm"]["_ft_lzwstate_reset"].apply(null,arguments)};var _ft_mem_alloc=Module["_ft_mem_alloc"]=function(){return Module["asm"]["_ft_mem_alloc"].apply(null,arguments)};var _ft_mem_dup=Module["_ft_mem_dup"]=function(){return Module["asm"]["_ft_mem_dup"].apply(null,arguments)};var _ft_mem_free=Module["_ft_mem_free"]=function(){return Module["asm"]["_ft_mem_free"].apply(null,arguments)};var _ft_mem_qalloc=Module["_ft_mem_qalloc"]=function(){return Module["asm"]["_ft_mem_qalloc"].apply(null,arguments)};var _ft_mem_qrealloc=Module["_ft_mem_qrealloc"]=function(){return Module["asm"]["_ft_mem_qrealloc"].apply(null,arguments)};var _ft_mem_realloc=Module["_ft_mem_realloc"]=function(){return Module["asm"]["_ft_mem_realloc"].apply(null,arguments)};var _ft_mem_strcpyn=Module["_ft_mem_strcpyn"]=function(){return Module["asm"]["_ft_mem_strcpyn"].apply(null,arguments)};var _ft_mem_strdup=Module["_ft_mem_strdup"]=function(){return Module["asm"]["_ft_mem_strdup"].apply(null,arguments)};var _ft_module_get_service=Module["_ft_module_get_service"]=function(){return Module["asm"]["_ft_module_get_service"].apply(null,arguments)};var _ft_outline_glyph_bbox=Module["_ft_outline_glyph_bbox"]=function(){return Module["asm"]["_ft_outline_glyph_bbox"].apply(null,arguments)};var _ft_outline_glyph_copy=Module["_ft_outline_glyph_copy"]=function(){return Module["asm"]["_ft_outline_glyph_copy"].apply(null,arguments)};var _ft_outline_glyph_done=Module["_ft_outline_glyph_done"]=function(){return Module["asm"]["_ft_outline_glyph_done"].apply(null,arguments)};var _ft_outline_glyph_init=Module["_ft_outline_glyph_init"]=function(){return Module["asm"]["_ft_outline_glyph_init"].apply(null,arguments)};var _ft_outline_glyph_prepare=Module["_ft_outline_glyph_prepare"]=function(){return Module["asm"]["_ft_outline_glyph_prepare"].apply(null,arguments)};var _ft_outline_glyph_transform=Module["_ft_outline_glyph_transform"]=function(){return Module["asm"]["_ft_outline_glyph_transform"].apply(null,arguments)};var _ft_raccess_rule_by_darwin_vfs=Module["_ft_raccess_rule_by_darwin_vfs"]=function(){return Module["asm"]["_ft_raccess_rule_by_darwin_vfs"].apply(null,arguments)};var _ft_raccess_sort_ref_by_id=Module["_ft_raccess_sort_ref_by_id"]=function(){return Module["asm"]["_ft_raccess_sort_ref_by_id"].apply(null,arguments)};var _ft_raster1_get_cbox=Module["_ft_raster1_get_cbox"]=function(){return Module["asm"]["_ft_raster1_get_cbox"].apply(null,arguments)};var _ft_raster1_init=Module["_ft_raster1_init"]=function(){return Module["asm"]["_ft_raster1_init"].apply(null,arguments)};var _ft_raster1_render=Module["_ft_raster1_render"]=function(){return Module["asm"]["_ft_raster1_render"].apply(null,arguments)};var _ft_raster1_set_mode=Module["_ft_raster1_set_mode"]=function(){return Module["asm"]["_ft_raster1_set_mode"].apply(null,arguments)};var _ft_raster1_transform=Module["_ft_raster1_transform"]=function(){return Module["asm"]["_ft_raster1_transform"].apply(null,arguments)};var _ft_realloc=Module["_ft_realloc"]=function(){return Module["asm"]["_ft_realloc"].apply(null,arguments)};var _ft_service_list_lookup=Module["_ft_service_list_lookup"]=function(){return Module["asm"]["_ft_service_list_lookup"].apply(null,arguments)};var _ft_smooth_get_cbox=Module["_ft_smooth_get_cbox"]=function(){return Module["asm"]["_ft_smooth_get_cbox"].apply(null,arguments)};var _ft_smooth_init=Module["_ft_smooth_init"]=function(){return Module["asm"]["_ft_smooth_init"].apply(null,arguments)};var _ft_smooth_render=Module["_ft_smooth_render"]=function(){return Module["asm"]["_ft_smooth_render"].apply(null,arguments)};var _ft_smooth_render_generic=Module["_ft_smooth_render_generic"]=function(){return Module["asm"]["_ft_smooth_render_generic"].apply(null,arguments)};var _ft_smooth_render_lcd=Module["_ft_smooth_render_lcd"]=function(){return Module["asm"]["_ft_smooth_render_lcd"].apply(null,arguments)};var _ft_smooth_render_lcd_v=Module["_ft_smooth_render_lcd_v"]=function(){return Module["asm"]["_ft_smooth_render_lcd_v"].apply(null,arguments)};var _ft_smooth_set_mode=Module["_ft_smooth_set_mode"]=function(){return Module["asm"]["_ft_smooth_set_mode"].apply(null,arguments)};var _ft_smooth_transform=Module["_ft_smooth_transform"]=function(){return Module["asm"]["_ft_smooth_transform"].apply(null,arguments)};var _ft_stroker_arcto=Module["_ft_stroker_arcto"]=function(){return Module["asm"]["_ft_stroker_arcto"].apply(null,arguments)};var _ft_stroker_cap=Module["_ft_stroker_cap"]=function(){return Module["asm"]["_ft_stroker_cap"].apply(null,arguments)};var _ft_stroker_inside=Module["_ft_stroker_inside"]=function(){return Module["asm"]["_ft_stroker_inside"].apply(null,arguments)};var _ft_stroker_outside=Module["_ft_stroker_outside"]=function(){return Module["asm"]["_ft_stroker_outside"].apply(null,arguments)};var _ft_synthesize_vertical_metrics=Module["_ft_synthesize_vertical_metrics"]=function(){return Module["asm"]["_ft_synthesize_vertical_metrics"].apply(null,arguments)};var _ft_validator_error=Module["_ft_validator_error"]=function(){return Module["asm"]["_ft_validator_error"].apply(null,arguments)};var _ft_validator_init=Module["_ft_validator_init"]=function(){return Module["asm"]["_ft_validator_init"].apply(null,arguments)};var _ft_validator_run=Module["_ft_validator_run"]=function(){return Module["asm"]["_ft_validator_run"].apply(null,arguments)};var _ft_var_apply_tuple=Module["_ft_var_apply_tuple"]=function(){return Module["asm"]["_ft_var_apply_tuple"].apply(null,arguments)};var _ft_var_readpackeddeltas=Module["_ft_var_readpackeddeltas"]=function(){return Module["asm"]["_ft_var_readpackeddeltas"].apply(null,arguments)};var _ft_var_readpackedpoints=Module["_ft_var_readpackedpoints"]=function(){return Module["asm"]["_ft_var_readpackedpoints"].apply(null,arguments)};var _ftc_basic_family_compare=Module["_ftc_basic_family_compare"]=function(){return Module["asm"]["_ftc_basic_family_compare"].apply(null,arguments)};var _ftc_basic_family_get_count=Module["_ftc_basic_family_get_count"]=function(){return Module["asm"]["_ftc_basic_family_get_count"].apply(null,arguments)};var _ftc_basic_family_init=Module["_ftc_basic_family_init"]=function(){return Module["asm"]["_ftc_basic_family_init"].apply(null,arguments)};var _ftc_basic_family_load_bitmap=Module["_ftc_basic_family_load_bitmap"]=function(){return Module["asm"]["_ftc_basic_family_load_bitmap"].apply(null,arguments)};var _ftc_basic_family_load_glyph=Module["_ftc_basic_family_load_glyph"]=function(){return Module["asm"]["_ftc_basic_family_load_glyph"].apply(null,arguments)};var _ftc_basic_gnode_compare_faceid=Module["_ftc_basic_gnode_compare_faceid"]=function(){return Module["asm"]["_ftc_basic_gnode_compare_faceid"].apply(null,arguments)};var _ftc_cache_done=Module["_ftc_cache_done"]=function(){return Module["asm"]["_ftc_cache_done"].apply(null,arguments)};var _ftc_cache_init=Module["_ftc_cache_init"]=function(){return Module["asm"]["_ftc_cache_init"].apply(null,arguments)};var _ftc_cache_resize=Module["_ftc_cache_resize"]=function(){return Module["asm"]["_ftc_cache_resize"].apply(null,arguments)};var _ftc_cmap_node_compare=Module["_ftc_cmap_node_compare"]=function(){return Module["asm"]["_ftc_cmap_node_compare"].apply(null,arguments)};var _ftc_cmap_node_free=Module["_ftc_cmap_node_free"]=function(){return Module["asm"]["_ftc_cmap_node_free"].apply(null,arguments)};var _ftc_cmap_node_new=Module["_ftc_cmap_node_new"]=function(){return Module["asm"]["_ftc_cmap_node_new"].apply(null,arguments)};var _ftc_cmap_node_remove_faceid=Module["_ftc_cmap_node_remove_faceid"]=function(){return Module["asm"]["_ftc_cmap_node_remove_faceid"].apply(null,arguments)};var _ftc_cmap_node_weight=Module["_ftc_cmap_node_weight"]=function(){return Module["asm"]["_ftc_cmap_node_weight"].apply(null,arguments)};var _ftc_face_node_compare=Module["_ftc_face_node_compare"]=function(){return Module["asm"]["_ftc_face_node_compare"].apply(null,arguments)};var _ftc_face_node_done=Module["_ftc_face_node_done"]=function(){return Module["asm"]["_ftc_face_node_done"].apply(null,arguments)};var _ftc_face_node_init=Module["_ftc_face_node_init"]=function(){return Module["asm"]["_ftc_face_node_init"].apply(null,arguments)};var _ftc_gcache_done=Module["_ftc_gcache_done"]=function(){return Module["asm"]["_ftc_gcache_done"].apply(null,arguments)};var _ftc_gcache_init=Module["_ftc_gcache_init"]=function(){return Module["asm"]["_ftc_gcache_init"].apply(null,arguments)};var _ftc_gnode_compare=Module["_ftc_gnode_compare"]=function(){return Module["asm"]["_ftc_gnode_compare"].apply(null,arguments)};var _ftc_inode_free=Module["_ftc_inode_free"]=function(){return Module["asm"]["_ftc_inode_free"].apply(null,arguments)};var _ftc_inode_new=Module["_ftc_inode_new"]=function(){return Module["asm"]["_ftc_inode_new"].apply(null,arguments)};var _ftc_inode_weight=Module["_ftc_inode_weight"]=function(){return Module["asm"]["_ftc_inode_weight"].apply(null,arguments)};var _ftc_node_destroy=Module["_ftc_node_destroy"]=function(){return Module["asm"]["_ftc_node_destroy"].apply(null,arguments)};var _ftc_scaler_lookup_size=Module["_ftc_scaler_lookup_size"]=function(){return Module["asm"]["_ftc_scaler_lookup_size"].apply(null,arguments)};var _ftc_size_node_compare=Module["_ftc_size_node_compare"]=function(){return Module["asm"]["_ftc_size_node_compare"].apply(null,arguments)};var _ftc_size_node_done=Module["_ftc_size_node_done"]=function(){return Module["asm"]["_ftc_size_node_done"].apply(null,arguments)};var _ftc_size_node_init=Module["_ftc_size_node_init"]=function(){return Module["asm"]["_ftc_size_node_init"].apply(null,arguments)};var _ftc_size_node_reset=Module["_ftc_size_node_reset"]=function(){return Module["asm"]["_ftc_size_node_reset"].apply(null,arguments)};var _ftc_snode_compare=Module["_ftc_snode_compare"]=function(){return Module["asm"]["_ftc_snode_compare"].apply(null,arguments)};var _ftc_snode_free=Module["_ftc_snode_free"]=function(){return Module["asm"]["_ftc_snode_free"].apply(null,arguments)};var _ftc_snode_load=Module["_ftc_snode_load"]=function(){return Module["asm"]["_ftc_snode_load"].apply(null,arguments)};var _ftc_snode_new=Module["_ftc_snode_new"]=function(){return Module["asm"]["_ftc_snode_new"].apply(null,arguments)};var _ftc_snode_weight=Module["_ftc_snode_weight"]=function(){return Module["asm"]["_ftc_snode_weight"].apply(null,arguments)};var _ftell=Module["_ftell"]=function(){return Module["asm"]["_ftell"].apply(null,arguments)};var _ftruncate=Module["_ftruncate"]=function(){return Module["asm"]["_ftruncate"].apply(null,arguments)};var _ftrylockfile=Module["_ftrylockfile"]=function(){return Module["asm"]["_ftrylockfile"].apply(null,arguments)};var _fts3AllocateSegdirIdx=Module["_fts3AllocateSegdirIdx"]=function(){return Module["asm"]["_fts3AllocateSegdirIdx"].apply(null,arguments)};var _fts3AppendToNode=Module["_fts3AppendToNode"]=function(){return Module["asm"]["_fts3AppendToNode"].apply(null,arguments)};var _fts3Appendf=Module["_fts3Appendf"]=function(){return Module["asm"]["_fts3Appendf"].apply(null,arguments)};var _fts3BeginMethod=Module["_fts3BeginMethod"]=function(){return Module["asm"]["_fts3BeginMethod"].apply(null,arguments)};var _fts3BestIndexMethod=Module["_fts3BestIndexMethod"]=function(){return Module["asm"]["_fts3BestIndexMethod"].apply(null,arguments)};var _fts3BestSnippet=Module["_fts3BestSnippet"]=function(){return Module["asm"]["_fts3BestSnippet"].apply(null,arguments)};var _fts3BinCompare=Module["_fts3BinCompare"]=function(){return Module["asm"]["_fts3BinCompare"].apply(null,arguments)};var _fts3BinHash=Module["_fts3BinHash"]=function(){return Module["asm"]["_fts3BinHash"].apply(null,arguments)};var _fts3ChecksumEntry=Module["_fts3ChecksumEntry"]=function(){return Module["asm"]["_fts3ChecksumEntry"].apply(null,arguments)};var _fts3ChecksumIndex=Module["_fts3ChecksumIndex"]=function(){return Module["asm"]["_fts3ChecksumIndex"].apply(null,arguments)};var _fts3ClearCursor=Module["_fts3ClearCursor"]=function(){return Module["asm"]["_fts3ClearCursor"].apply(null,arguments)};var _fts3CloseMethod=Module["_fts3CloseMethod"]=function(){return Module["asm"]["_fts3CloseMethod"].apply(null,arguments)};var _fts3ColumnFilter=Module["_fts3ColumnFilter"]=function(){return Module["asm"]["_fts3ColumnFilter"].apply(null,arguments)};var _fts3ColumnMethod=Module["_fts3ColumnMethod"]=function(){return Module["asm"]["_fts3ColumnMethod"].apply(null,arguments)};var _fts3ColumnlistCopy=Module["_fts3ColumnlistCopy"]=function(){return Module["asm"]["_fts3ColumnlistCopy"].apply(null,arguments)};var _fts3ColumnlistCount=Module["_fts3ColumnlistCount"]=function(){return Module["asm"]["_fts3ColumnlistCount"].apply(null,arguments)};var _fts3CommitMethod=Module["_fts3CommitMethod"]=function(){return Module["asm"]["_fts3CommitMethod"].apply(null,arguments)};var _fts3CompareElemByTerm=Module["_fts3CompareElemByTerm"]=function(){return Module["asm"]["_fts3CompareElemByTerm"].apply(null,arguments)};var _fts3ConnectMethod=Module["_fts3ConnectMethod"]=function(){return Module["asm"]["_fts3ConnectMethod"].apply(null,arguments)};var _fts3ContentColumns=Module["_fts3ContentColumns"]=function(){return Module["asm"]["_fts3ContentColumns"].apply(null,arguments)};var _fts3CreateMethod=Module["_fts3CreateMethod"]=function(){return Module["asm"]["_fts3CreateMethod"].apply(null,arguments)};var _fts3CreateTables=Module["_fts3CreateTables"]=function(){return Module["asm"]["_fts3CreateTables"].apply(null,arguments)};var _fts3CursorFinalizeStmt=Module["_fts3CursorFinalizeStmt"]=function(){return Module["asm"]["_fts3CursorFinalizeStmt"].apply(null,arguments)};var _fts3CursorSeek=Module["_fts3CursorSeek"]=function(){return Module["asm"]["_fts3CursorSeek"].apply(null,arguments)};var _fts3CursorSeekStmt=Module["_fts3CursorSeekStmt"]=function(){return Module["asm"]["_fts3CursorSeekStmt"].apply(null,arguments)};var _fts3DatabasePageSize=Module["_fts3DatabasePageSize"]=function(){return Module["asm"]["_fts3DatabasePageSize"].apply(null,arguments)};var _fts3DbExec=Module["_fts3DbExec"]=function(){return Module["asm"]["_fts3DbExec"].apply(null,arguments)};var _fts3DeclareVtab=Module["_fts3DeclareVtab"]=function(){return Module["asm"]["_fts3DeclareVtab"].apply(null,arguments)};var _fts3DecodeIntArray=Module["_fts3DecodeIntArray"]=function(){return Module["asm"]["_fts3DecodeIntArray"].apply(null,arguments)};var _fts3DeleteAll=Module["_fts3DeleteAll"]=function(){return Module["asm"]["_fts3DeleteAll"].apply(null,arguments)};var _fts3DeleteByRowid=Module["_fts3DeleteByRowid"]=function(){return Module["asm"]["_fts3DeleteByRowid"].apply(null,arguments)};var _fts3DeleteSegdir=Module["_fts3DeleteSegdir"]=function(){return Module["asm"]["_fts3DeleteSegdir"].apply(null,arguments)};var _fts3DeleteSegment=Module["_fts3DeleteSegment"]=function(){return Module["asm"]["_fts3DeleteSegment"].apply(null,arguments)};var _fts3DeleteTerms=Module["_fts3DeleteTerms"]=function(){return Module["asm"]["_fts3DeleteTerms"].apply(null,arguments)};var _fts3DestroyMethod=Module["_fts3DestroyMethod"]=function(){return Module["asm"]["_fts3DestroyMethod"].apply(null,arguments)};var _fts3DisconnectMethod=Module["_fts3DisconnectMethod"]=function(){return Module["asm"]["_fts3DisconnectMethod"].apply(null,arguments)};var _fts3DoAutoincrmerge=Module["_fts3DoAutoincrmerge"]=function(){return Module["asm"]["_fts3DoAutoincrmerge"].apply(null,arguments)};var _fts3DoIncrmerge=Module["_fts3DoIncrmerge"]=function(){return Module["asm"]["_fts3DoIncrmerge"].apply(null,arguments)};var _fts3DoIntegrityCheck=Module["_fts3DoIntegrityCheck"]=function(){return Module["asm"]["_fts3DoIntegrityCheck"].apply(null,arguments)};var _fts3DoOptimize=Module["_fts3DoOptimize"]=function(){return Module["asm"]["_fts3DoOptimize"].apply(null,arguments)};var _fts3DoRebuild=Module["_fts3DoRebuild"]=function(){return Module["asm"]["_fts3DoRebuild"].apply(null,arguments)};var _fts3DocidRange=Module["_fts3DocidRange"]=function(){return Module["asm"]["_fts3DocidRange"].apply(null,arguments)};var _fts3DoclistCountDocids=Module["_fts3DoclistCountDocids"]=function(){return Module["asm"]["_fts3DoclistCountDocids"].apply(null,arguments)};var _fts3DoclistOrMerge=Module["_fts3DoclistOrMerge"]=function(){return Module["asm"]["_fts3DoclistOrMerge"].apply(null,arguments)};var _fts3DoclistPhraseMerge=Module["_fts3DoclistPhraseMerge"]=function(){return Module["asm"]["_fts3DoclistPhraseMerge"].apply(null,arguments)};var _fts3EncodeIntArray=Module["_fts3EncodeIntArray"]=function(){return Module["asm"]["_fts3EncodeIntArray"].apply(null,arguments)};var _fts3EofMethod=Module["_fts3EofMethod"]=function(){return Module["asm"]["_fts3EofMethod"].apply(null,arguments)};var _fts3EvalAllocateReaders=Module["_fts3EvalAllocateReaders"]=function(){return Module["asm"]["_fts3EvalAllocateReaders"].apply(null,arguments)};var _fts3EvalAverageDocsize=Module["_fts3EvalAverageDocsize"]=function(){return Module["asm"]["_fts3EvalAverageDocsize"].apply(null,arguments)};var _fts3EvalDeferredPhrase=Module["_fts3EvalDeferredPhrase"]=function(){return Module["asm"]["_fts3EvalDeferredPhrase"].apply(null,arguments)};var _fts3EvalDlPhraseNext=Module["_fts3EvalDlPhraseNext"]=function(){return Module["asm"]["_fts3EvalDlPhraseNext"].apply(null,arguments)};var _fts3EvalGatherStats=Module["_fts3EvalGatherStats"]=function(){return Module["asm"]["_fts3EvalGatherStats"].apply(null,arguments)};var _fts3EvalIncrPhraseNext=Module["_fts3EvalIncrPhraseNext"]=function(){return Module["asm"]["_fts3EvalIncrPhraseNext"].apply(null,arguments)};var _fts3EvalInvalidatePoslist=Module["_fts3EvalInvalidatePoslist"]=function(){return Module["asm"]["_fts3EvalInvalidatePoslist"].apply(null,arguments)};var _fts3EvalNearTest=Module["_fts3EvalNearTest"]=function(){return Module["asm"]["_fts3EvalNearTest"].apply(null,arguments)};var _fts3EvalNearTrim=Module["_fts3EvalNearTrim"]=function(){return Module["asm"]["_fts3EvalNearTrim"].apply(null,arguments)};var _fts3EvalNext=Module["_fts3EvalNext"]=function(){return Module["asm"]["_fts3EvalNext"].apply(null,arguments)};var _fts3EvalNextRow=Module["_fts3EvalNextRow"]=function(){return Module["asm"]["_fts3EvalNextRow"].apply(null,arguments)};var _fts3EvalPhraseLoad=Module["_fts3EvalPhraseLoad"]=function(){return Module["asm"]["_fts3EvalPhraseLoad"].apply(null,arguments)};var _fts3EvalPhraseMergeToken=Module["_fts3EvalPhraseMergeToken"]=function(){return Module["asm"]["_fts3EvalPhraseMergeToken"].apply(null,arguments)};var _fts3EvalPhraseNext=Module["_fts3EvalPhraseNext"]=function(){return Module["asm"]["_fts3EvalPhraseNext"].apply(null,arguments)};var _fts3EvalPhraseStart=Module["_fts3EvalPhraseStart"]=function(){return Module["asm"]["_fts3EvalPhraseStart"].apply(null,arguments)};var _fts3EvalRestart=Module["_fts3EvalRestart"]=function(){return Module["asm"]["_fts3EvalRestart"].apply(null,arguments)};var _fts3EvalSelectDeferred=Module["_fts3EvalSelectDeferred"]=function(){return Module["asm"]["_fts3EvalSelectDeferred"].apply(null,arguments)};var _fts3EvalStart=Module["_fts3EvalStart"]=function(){return Module["asm"]["_fts3EvalStart"].apply(null,arguments)};var _fts3EvalStartReaders=Module["_fts3EvalStartReaders"]=function(){return Module["asm"]["_fts3EvalStartReaders"].apply(null,arguments)};var _fts3EvalTestExpr=Module["_fts3EvalTestExpr"]=function(){return Module["asm"]["_fts3EvalTestExpr"].apply(null,arguments)};var _fts3EvalTokenCosts=Module["_fts3EvalTokenCosts"]=function(){return Module["asm"]["_fts3EvalTokenCosts"].apply(null,arguments)};var _fts3EvalUpdateCounts=Module["_fts3EvalUpdateCounts"]=function(){return Module["asm"]["_fts3EvalUpdateCounts"].apply(null,arguments)};var _fts3ExprBalance=Module["_fts3ExprBalance"]=function(){return Module["asm"]["_fts3ExprBalance"].apply(null,arguments)};var _fts3ExprCheckDepth=Module["_fts3ExprCheckDepth"]=function(){return Module["asm"]["_fts3ExprCheckDepth"].apply(null,arguments)};var _fts3ExprGlobalHitsCb=Module["_fts3ExprGlobalHitsCb"]=function(){return Module["asm"]["_fts3ExprGlobalHitsCb"].apply(null,arguments)};var _fts3ExprIterate=Module["_fts3ExprIterate"]=function(){return Module["asm"]["_fts3ExprIterate"].apply(null,arguments)};var _fts3ExprIterate2=Module["_fts3ExprIterate2"]=function(){return Module["asm"]["_fts3ExprIterate2"].apply(null,arguments)};var _fts3ExprLHitGather=Module["_fts3ExprLHitGather"]=function(){return Module["asm"]["_fts3ExprLHitGather"].apply(null,arguments)};var _fts3ExprLHits=Module["_fts3ExprLHits"]=function(){return Module["asm"]["_fts3ExprLHits"].apply(null,arguments)};var _fts3ExprLoadDoclists=Module["_fts3ExprLoadDoclists"]=function(){return Module["asm"]["_fts3ExprLoadDoclists"].apply(null,arguments)};var _fts3ExprLoadDoclistsCb=Module["_fts3ExprLoadDoclistsCb"]=function(){return Module["asm"]["_fts3ExprLoadDoclistsCb"].apply(null,arguments)};var _fts3ExprLocalHitsCb=Module["_fts3ExprLocalHitsCb"]=function(){return Module["asm"]["_fts3ExprLocalHitsCb"].apply(null,arguments)};var _fts3ExprParse=Module["_fts3ExprParse"]=function(){return Module["asm"]["_fts3ExprParse"].apply(null,arguments)};var _fts3ExprParseUnbalanced=Module["_fts3ExprParseUnbalanced"]=function(){return Module["asm"]["_fts3ExprParseUnbalanced"].apply(null,arguments)};var _fts3ExprPhraseCount=Module["_fts3ExprPhraseCount"]=function(){return Module["asm"]["_fts3ExprPhraseCount"].apply(null,arguments)};var _fts3ExprPhraseCountCb=Module["_fts3ExprPhraseCountCb"]=function(){return Module["asm"]["_fts3ExprPhraseCountCb"].apply(null,arguments)};var _fts3ExprTermOffsetInit=Module["_fts3ExprTermOffsetInit"]=function(){return Module["asm"]["_fts3ExprTermOffsetInit"].apply(null,arguments)};var _fts3FilterMethod=Module["_fts3FilterMethod"]=function(){return Module["asm"]["_fts3FilterMethod"].apply(null,arguments)};var _fts3FindElementByHash=Module["_fts3FindElementByHash"]=function(){return Module["asm"]["_fts3FindElementByHash"].apply(null,arguments)};var _fts3FindFunctionMethod=Module["_fts3FindFunctionMethod"]=function(){return Module["asm"]["_fts3FindFunctionMethod"].apply(null,arguments)};var _fts3FreeExprNode=Module["_fts3FreeExprNode"]=function(){return Module["asm"]["_fts3FreeExprNode"].apply(null,arguments)};var _fts3FunctionArg=Module["_fts3FunctionArg"]=function(){return Module["asm"]["_fts3FunctionArg"].apply(null,arguments)};var _fts3GetDeltaPosition=Module["_fts3GetDeltaPosition"]=function(){return Module["asm"]["_fts3GetDeltaPosition"].apply(null,arguments)};var _fts3GetDeltaVarint=Module["_fts3GetDeltaVarint"]=function(){return Module["asm"]["_fts3GetDeltaVarint"].apply(null,arguments)};var _fts3GetDeltaVarint3=Module["_fts3GetDeltaVarint3"]=function(){return Module["asm"]["_fts3GetDeltaVarint3"].apply(null,arguments)};var _fts3GetMatchinfo=Module["_fts3GetMatchinfo"]=function(){return Module["asm"]["_fts3GetMatchinfo"].apply(null,arguments)};var _fts3GetReverseVarint=Module["_fts3GetReverseVarint"]=function(){return Module["asm"]["_fts3GetReverseVarint"].apply(null,arguments)};var _fts3Getint=Module["_fts3Getint"]=function(){return Module["asm"]["_fts3Getint"].apply(null,arguments)};var _fts3GobbleInt=Module["_fts3GobbleInt"]=function(){return Module["asm"]["_fts3GobbleInt"].apply(null,arguments)};var _fts3HashFree=Module["_fts3HashFree"]=function(){return Module["asm"]["_fts3HashFree"].apply(null,arguments)};var _fts3HashInsertElement=Module["_fts3HashInsertElement"]=function(){return Module["asm"]["_fts3HashInsertElement"].apply(null,arguments)};var _fts3HashMalloc=Module["_fts3HashMalloc"]=function(){return Module["asm"]["_fts3HashMalloc"].apply(null,arguments)};var _fts3IncrmergeAppend=Module["_fts3IncrmergeAppend"]=function(){return Module["asm"]["_fts3IncrmergeAppend"].apply(null,arguments)};var _fts3IncrmergeChomp=Module["_fts3IncrmergeChomp"]=function(){return Module["asm"]["_fts3IncrmergeChomp"].apply(null,arguments)};var _fts3IncrmergeCsr=Module["_fts3IncrmergeCsr"]=function(){return Module["asm"]["_fts3IncrmergeCsr"].apply(null,arguments)};var _fts3IncrmergeHintLoad=Module["_fts3IncrmergeHintLoad"]=function(){return Module["asm"]["_fts3IncrmergeHintLoad"].apply(null,arguments)};var _fts3IncrmergeHintPop=Module["_fts3IncrmergeHintPop"]=function(){return Module["asm"]["_fts3IncrmergeHintPop"].apply(null,arguments)};var _fts3IncrmergeHintPush=Module["_fts3IncrmergeHintPush"]=function(){return Module["asm"]["_fts3IncrmergeHintPush"].apply(null,arguments)};var _fts3IncrmergeHintStore=Module["_fts3IncrmergeHintStore"]=function(){return Module["asm"]["_fts3IncrmergeHintStore"].apply(null,arguments)};var _fts3IncrmergeLoad=Module["_fts3IncrmergeLoad"]=function(){return Module["asm"]["_fts3IncrmergeLoad"].apply(null,arguments)};var _fts3IncrmergeOutputIdx=Module["_fts3IncrmergeOutputIdx"]=function(){return Module["asm"]["_fts3IncrmergeOutputIdx"].apply(null,arguments)};var _fts3IncrmergePush=Module["_fts3IncrmergePush"]=function(){return Module["asm"]["_fts3IncrmergePush"].apply(null,arguments)};var _fts3IncrmergeRelease=Module["_fts3IncrmergeRelease"]=function(){return Module["asm"]["_fts3IncrmergeRelease"].apply(null,arguments)};var _fts3IncrmergeWriter=Module["_fts3IncrmergeWriter"]=function(){return Module["asm"]["_fts3IncrmergeWriter"].apply(null,arguments)};var _fts3InitVtab=Module["_fts3InitVtab"]=function(){return Module["asm"]["_fts3InitVtab"].apply(null,arguments)};var _fts3InsertData=Module["_fts3InsertData"]=function(){return Module["asm"]["_fts3InsertData"].apply(null,arguments)};var _fts3InsertDocsize=Module["_fts3InsertDocsize"]=function(){return Module["asm"]["_fts3InsertDocsize"].apply(null,arguments)};var _fts3InsertTerms=Module["_fts3InsertTerms"]=function(){return Module["asm"]["_fts3InsertTerms"].apply(null,arguments)};var _fts3IntegrityCheck=Module["_fts3IntegrityCheck"]=function(){return Module["asm"]["_fts3IntegrityCheck"].apply(null,arguments)};var _fts3IsAppendable=Module["_fts3IsAppendable"]=function(){return Module["asm"]["_fts3IsAppendable"].apply(null,arguments)};var _fts3IsEmpty=Module["_fts3IsEmpty"]=function(){return Module["asm"]["_fts3IsEmpty"].apply(null,arguments)};var _fts3IsSpecialColumn=Module["_fts3IsSpecialColumn"]=function(){return Module["asm"]["_fts3IsSpecialColumn"].apply(null,arguments)};var _fts3LcsIteratorAdvance=Module["_fts3LcsIteratorAdvance"]=function(){return Module["asm"]["_fts3LcsIteratorAdvance"].apply(null,arguments)};var _fts3MIBufferAlloc=Module["_fts3MIBufferAlloc"]=function(){return Module["asm"]["_fts3MIBufferAlloc"].apply(null,arguments)};var _fts3MIBufferFree=Module["_fts3MIBufferFree"]=function(){return Module["asm"]["_fts3MIBufferFree"].apply(null,arguments)};var _fts3MIBufferNew=Module["_fts3MIBufferNew"]=function(){return Module["asm"]["_fts3MIBufferNew"].apply(null,arguments)};var _fts3MIBufferSetGlobal=Module["_fts3MIBufferSetGlobal"]=function(){return Module["asm"]["_fts3MIBufferSetGlobal"].apply(null,arguments)};var _fts3MallocZero=Module["_fts3MallocZero"]=function(){return Module["asm"]["_fts3MallocZero"].apply(null,arguments)};var _fts3MatchinfoCheck=Module["_fts3MatchinfoCheck"]=function(){return Module["asm"]["_fts3MatchinfoCheck"].apply(null,arguments)};var _fts3MatchinfoFunc=Module["_fts3MatchinfoFunc"]=function(){return Module["asm"]["_fts3MatchinfoFunc"].apply(null,arguments)};var _fts3MatchinfoLcs=Module["_fts3MatchinfoLcs"]=function(){return Module["asm"]["_fts3MatchinfoLcs"].apply(null,arguments)};var _fts3MatchinfoLcsCb=Module["_fts3MatchinfoLcsCb"]=function(){return Module["asm"]["_fts3MatchinfoLcsCb"].apply(null,arguments)};var _fts3MatchinfoSelectDoctotal=Module["_fts3MatchinfoSelectDoctotal"]=function(){return Module["asm"]["_fts3MatchinfoSelectDoctotal"].apply(null,arguments)};var _fts3MatchinfoSize=Module["_fts3MatchinfoSize"]=function(){return Module["asm"]["_fts3MatchinfoSize"].apply(null,arguments)};var _fts3MatchinfoValues=Module["_fts3MatchinfoValues"]=function(){return Module["asm"]["_fts3MatchinfoValues"].apply(null,arguments)};var _fts3MsrBufferData=Module["_fts3MsrBufferData"]=function(){return Module["asm"]["_fts3MsrBufferData"].apply(null,arguments)};var _fts3NextMethod=Module["_fts3NextMethod"]=function(){return Module["asm"]["_fts3NextMethod"].apply(null,arguments)};var _fts3NodeAddTerm=Module["_fts3NodeAddTerm"]=function(){return Module["asm"]["_fts3NodeAddTerm"].apply(null,arguments)};var _fts3NodeFree=Module["_fts3NodeFree"]=function(){return Module["asm"]["_fts3NodeFree"].apply(null,arguments)};var _fts3NodeWrite=Module["_fts3NodeWrite"]=function(){return Module["asm"]["_fts3NodeWrite"].apply(null,arguments)};var _fts3OffsetsFunc=Module["_fts3OffsetsFunc"]=function(){return Module["asm"]["_fts3OffsetsFunc"].apply(null,arguments)};var _fts3OpenMethod=Module["_fts3OpenMethod"]=function(){return Module["asm"]["_fts3OpenMethod"].apply(null,arguments)};var _fts3OptimizeFunc=Module["_fts3OptimizeFunc"]=function(){return Module["asm"]["_fts3OptimizeFunc"].apply(null,arguments)};var _fts3PendingListAppend=Module["_fts3PendingListAppend"]=function(){return Module["asm"]["_fts3PendingListAppend"].apply(null,arguments)};var _fts3PendingListAppendVarint=Module["_fts3PendingListAppendVarint"]=function(){return Module["asm"]["_fts3PendingListAppendVarint"].apply(null,arguments)};var _fts3PendingListDelete=Module["_fts3PendingListDelete"]=function(){return Module["asm"]["_fts3PendingListDelete"].apply(null,arguments)};var _fts3PendingTermsAdd=Module["_fts3PendingTermsAdd"]=function(){return Module["asm"]["_fts3PendingTermsAdd"].apply(null,arguments)};var _fts3PendingTermsAddOne=Module["_fts3PendingTermsAddOne"]=function(){return Module["asm"]["_fts3PendingTermsAddOne"].apply(null,arguments)};var _fts3PendingTermsDocid=Module["_fts3PendingTermsDocid"]=function(){return Module["asm"]["_fts3PendingTermsDocid"].apply(null,arguments)};var _fts3PoslistCopy=Module["_fts3PoslistCopy"]=function(){return Module["asm"]["_fts3PoslistCopy"].apply(null,arguments)};var _fts3PoslistMerge=Module["_fts3PoslistMerge"]=function(){return Module["asm"]["_fts3PoslistMerge"].apply(null,arguments)};var _fts3PoslistNearMerge=Module["_fts3PoslistNearMerge"]=function(){return Module["asm"]["_fts3PoslistNearMerge"].apply(null,arguments)};var _fts3PoslistPhraseMerge=Module["_fts3PoslistPhraseMerge"]=function(){return Module["asm"]["_fts3PoslistPhraseMerge"].apply(null,arguments)};var _fts3PrefixCompress=Module["_fts3PrefixCompress"]=function(){return Module["asm"]["_fts3PrefixCompress"].apply(null,arguments)};var _fts3PrefixParameter=Module["_fts3PrefixParameter"]=function(){return Module["asm"]["_fts3PrefixParameter"].apply(null,arguments)};var _fts3PromoteSegments=Module["_fts3PromoteSegments"]=function(){return Module["asm"]["_fts3PromoteSegments"].apply(null,arguments)};var _fts3PutColNumber=Module["_fts3PutColNumber"]=function(){return Module["asm"]["_fts3PutColNumber"].apply(null,arguments)};var _fts3PutDeltaVarint=Module["_fts3PutDeltaVarint"]=function(){return Module["asm"]["_fts3PutDeltaVarint"].apply(null,arguments)};var _fts3PutDeltaVarint3=Module["_fts3PutDeltaVarint3"]=function(){return Module["asm"]["_fts3PutDeltaVarint3"].apply(null,arguments)};var _fts3QuoteId=Module["_fts3QuoteId"]=function(){return Module["asm"]["_fts3QuoteId"].apply(null,arguments)};var _fts3ReadEndBlockField=Module["_fts3ReadEndBlockField"]=function(){return Module["asm"]["_fts3ReadEndBlockField"].apply(null,arguments)};var _fts3ReadExprList=Module["_fts3ReadExprList"]=function(){return Module["asm"]["_fts3ReadExprList"].apply(null,arguments)};var _fts3ReadNextPos=Module["_fts3ReadNextPos"]=function(){return Module["asm"]["_fts3ReadNextPos"].apply(null,arguments)};var _fts3ReallocOrFree=Module["_fts3ReallocOrFree"]=function(){return Module["asm"]["_fts3ReallocOrFree"].apply(null,arguments)};var _fts3Rehash=Module["_fts3Rehash"]=function(){return Module["asm"]["_fts3Rehash"].apply(null,arguments)};var _fts3ReleaseMethod=Module["_fts3ReleaseMethod"]=function(){return Module["asm"]["_fts3ReleaseMethod"].apply(null,arguments)};var _fts3RemoveElementByHash=Module["_fts3RemoveElementByHash"]=function(){return Module["asm"]["_fts3RemoveElementByHash"].apply(null,arguments)};var _fts3RemoveSegdirEntry=Module["_fts3RemoveSegdirEntry"]=function(){return Module["asm"]["_fts3RemoveSegdirEntry"].apply(null,arguments)};var _fts3RenameMethod=Module["_fts3RenameMethod"]=function(){return Module["asm"]["_fts3RenameMethod"].apply(null,arguments)};var _fts3RepackSegdirLevel=Module["_fts3RepackSegdirLevel"]=function(){return Module["asm"]["_fts3RepackSegdirLevel"].apply(null,arguments)};var _fts3ReversePoslist=Module["_fts3ReversePoslist"]=function(){return Module["asm"]["_fts3ReversePoslist"].apply(null,arguments)};var _fts3RollbackMethod=Module["_fts3RollbackMethod"]=function(){return Module["asm"]["_fts3RollbackMethod"].apply(null,arguments)};var _fts3RollbackToMethod=Module["_fts3RollbackToMethod"]=function(){return Module["asm"]["_fts3RollbackToMethod"].apply(null,arguments)};var _fts3RowidMethod=Module["_fts3RowidMethod"]=function(){return Module["asm"]["_fts3RowidMethod"].apply(null,arguments)};var _fts3SavepointMethod=Module["_fts3SavepointMethod"]=function(){return Module["asm"]["_fts3SavepointMethod"].apply(null,arguments)};var _fts3ScanInteriorNode=Module["_fts3ScanInteriorNode"]=function(){return Module["asm"]["_fts3ScanInteriorNode"].apply(null,arguments)};var _fts3SegReaderCmp=Module["_fts3SegReaderCmp"]=function(){return Module["asm"]["_fts3SegReaderCmp"].apply(null,arguments)};var _fts3SegReaderCursor=Module["_fts3SegReaderCursor"]=function(){return Module["asm"]["_fts3SegReaderCursor"].apply(null,arguments)};var _fts3SegReaderCursorAddZero=Module["_fts3SegReaderCursorAddZero"]=function(){return Module["asm"]["_fts3SegReaderCursorAddZero"].apply(null,arguments)};var _fts3SegReaderCursorAppend=Module["_fts3SegReaderCursorAppend"]=function(){return Module["asm"]["_fts3SegReaderCursorAppend"].apply(null,arguments)};var _fts3SegReaderCursorFree=Module["_fts3SegReaderCursorFree"]=function(){return Module["asm"]["_fts3SegReaderCursorFree"].apply(null,arguments)};var _fts3SegReaderDoclistCmp=Module["_fts3SegReaderDoclistCmp"]=function(){return Module["asm"]["_fts3SegReaderDoclistCmp"].apply(null,arguments)};var _fts3SegReaderDoclistCmpRev=Module["_fts3SegReaderDoclistCmpRev"]=function(){return Module["asm"]["_fts3SegReaderDoclistCmpRev"].apply(null,arguments)};var _fts3SegReaderFirstDocid=Module["_fts3SegReaderFirstDocid"]=function(){return Module["asm"]["_fts3SegReaderFirstDocid"].apply(null,arguments)};var _fts3SegReaderIncrRead=Module["_fts3SegReaderIncrRead"]=function(){return Module["asm"]["_fts3SegReaderIncrRead"].apply(null,arguments)};var _fts3SegReaderNext=Module["_fts3SegReaderNext"]=function(){return Module["asm"]["_fts3SegReaderNext"].apply(null,arguments)};var _fts3SegReaderNextDocid=Module["_fts3SegReaderNextDocid"]=function(){return Module["asm"]["_fts3SegReaderNextDocid"].apply(null,arguments)};var _fts3SegReaderRequire=Module["_fts3SegReaderRequire"]=function(){return Module["asm"]["_fts3SegReaderRequire"].apply(null,arguments)};var _fts3SegReaderSetEof=Module["_fts3SegReaderSetEof"]=function(){return Module["asm"]["_fts3SegReaderSetEof"].apply(null,arguments)};var _fts3SegReaderSort=Module["_fts3SegReaderSort"]=function(){return Module["asm"]["_fts3SegReaderSort"].apply(null,arguments)};var _fts3SegReaderStart=Module["_fts3SegReaderStart"]=function(){return Module["asm"]["_fts3SegReaderStart"].apply(null,arguments)};var _fts3SegReaderTermCmp=Module["_fts3SegReaderTermCmp"]=function(){return Module["asm"]["_fts3SegReaderTermCmp"].apply(null,arguments)};var _fts3SegWriterAdd=Module["_fts3SegWriterAdd"]=function(){return Module["asm"]["_fts3SegWriterAdd"].apply(null,arguments)};var _fts3SegWriterFlush=Module["_fts3SegWriterFlush"]=function(){return Module["asm"]["_fts3SegWriterFlush"].apply(null,arguments)};var _fts3SegWriterFree=Module["_fts3SegWriterFree"]=function(){return Module["asm"]["_fts3SegWriterFree"].apply(null,arguments)};var _fts3SegmentIsMaxLevel=Module["_fts3SegmentIsMaxLevel"]=function(){return Module["asm"]["_fts3SegmentIsMaxLevel"].apply(null,arguments)};var _fts3SegmentMaxLevel=Module["_fts3SegmentMaxLevel"]=function(){return Module["asm"]["_fts3SegmentMaxLevel"].apply(null,arguments)};var _fts3SegmentMerge=Module["_fts3SegmentMerge"]=function(){return Module["asm"]["_fts3SegmentMerge"].apply(null,arguments)};var _fts3SelectDocsize=Module["_fts3SelectDocsize"]=function(){return Module["asm"]["_fts3SelectDocsize"].apply(null,arguments)};var _fts3SelectLeaf=Module["_fts3SelectLeaf"]=function(){return Module["asm"]["_fts3SelectLeaf"].apply(null,arguments)};var _fts3SetEstimatedRows=Module["_fts3SetEstimatedRows"]=function(){return Module["asm"]["_fts3SetEstimatedRows"].apply(null,arguments)};var _fts3SetHasStat=Module["_fts3SetHasStat"]=function(){return Module["asm"]["_fts3SetHasStat"].apply(null,arguments)};var _fts3SetUniqueFlag=Module["_fts3SetUniqueFlag"]=function(){return Module["asm"]["_fts3SetUniqueFlag"].apply(null,arguments)};var _fts3ShadowName=Module["_fts3ShadowName"]=function(){return Module["asm"]["_fts3ShadowName"].apply(null,arguments)};var _fts3SnippetAdvance=Module["_fts3SnippetAdvance"]=function(){return Module["asm"]["_fts3SnippetAdvance"].apply(null,arguments)};var _fts3SnippetDetails=Module["_fts3SnippetDetails"]=function(){return Module["asm"]["_fts3SnippetDetails"].apply(null,arguments)};var _fts3SnippetFindPositions=Module["_fts3SnippetFindPositions"]=function(){return Module["asm"]["_fts3SnippetFindPositions"].apply(null,arguments)};var _fts3SnippetFunc=Module["_fts3SnippetFunc"]=function(){return Module["asm"]["_fts3SnippetFunc"].apply(null,arguments)};var _fts3SnippetNextCandidate=Module["_fts3SnippetNextCandidate"]=function(){return Module["asm"]["_fts3SnippetNextCandidate"].apply(null,arguments)};var _fts3SnippetShift=Module["_fts3SnippetShift"]=function(){return Module["asm"]["_fts3SnippetShift"].apply(null,arguments)};var _fts3SnippetText=Module["_fts3SnippetText"]=function(){return Module["asm"]["_fts3SnippetText"].apply(null,arguments)};var _fts3SpecialInsert=Module["_fts3SpecialInsert"]=function(){return Module["asm"]["_fts3SpecialInsert"].apply(null,arguments)};var _fts3SqlExec=Module["_fts3SqlExec"]=function(){return Module["asm"]["_fts3SqlExec"].apply(null,arguments)};var _fts3SqlStmt=Module["_fts3SqlStmt"]=function(){return Module["asm"]["_fts3SqlStmt"].apply(null,arguments)};var _fts3StartNode=Module["_fts3StartNode"]=function(){return Module["asm"]["_fts3StartNode"].apply(null,arguments)};var _fts3StrCompare=Module["_fts3StrCompare"]=function(){return Module["asm"]["_fts3StrCompare"].apply(null,arguments)};var _fts3StrHash=Module["_fts3StrHash"]=function(){return Module["asm"]["_fts3StrHash"].apply(null,arguments)};var _fts3StringAppend=Module["_fts3StringAppend"]=function(){return Module["asm"]["_fts3StringAppend"].apply(null,arguments)};var _fts3SyncMethod=Module["_fts3SyncMethod"]=function(){return Module["asm"]["_fts3SyncMethod"].apply(null,arguments)};var _fts3TermCmp=Module["_fts3TermCmp"]=function(){return Module["asm"]["_fts3TermCmp"].apply(null,arguments)};var _fts3TermSegReaderCursor=Module["_fts3TermSegReaderCursor"]=function(){return Module["asm"]["_fts3TermSegReaderCursor"].apply(null,arguments)};var _fts3TermSelect=Module["_fts3TermSelect"]=function(){return Module["asm"]["_fts3TermSelect"].apply(null,arguments)};var _fts3TermSelectFinishMerge=Module["_fts3TermSelectFinishMerge"]=function(){return Module["asm"]["_fts3TermSelectFinishMerge"].apply(null,arguments)};var _fts3TermSelectMerge=Module["_fts3TermSelectMerge"]=function(){return Module["asm"]["_fts3TermSelectMerge"].apply(null,arguments)};var _fts3TokenizerEnabled=Module["_fts3TokenizerEnabled"]=function(){return Module["asm"]["_fts3TokenizerEnabled"].apply(null,arguments)};var _fts3TokenizerFunc=Module["_fts3TokenizerFunc"]=function(){return Module["asm"]["_fts3TokenizerFunc"].apply(null,arguments)};var _fts3TreeFinishNode=Module["_fts3TreeFinishNode"]=function(){return Module["asm"]["_fts3TreeFinishNode"].apply(null,arguments)};var _fts3TruncateNode=Module["_fts3TruncateNode"]=function(){return Module["asm"]["_fts3TruncateNode"].apply(null,arguments)};var _fts3TruncateSegment=Module["_fts3TruncateSegment"]=function(){return Module["asm"]["_fts3TruncateSegment"].apply(null,arguments)};var _fts3UpdateDocTotals=Module["_fts3UpdateDocTotals"]=function(){return Module["asm"]["_fts3UpdateDocTotals"].apply(null,arguments)};var _fts3UpdateMethod=Module["_fts3UpdateMethod"]=function(){return Module["asm"]["_fts3UpdateMethod"].apply(null,arguments)};var _fts3WriteExprList=Module["_fts3WriteExprList"]=function(){return Module["asm"]["_fts3WriteExprList"].apply(null,arguments)};var _fts3WriteSegdir=Module["_fts3WriteSegdir"]=function(){return Module["asm"]["_fts3WriteSegdir"].apply(null,arguments)};var _fts3WriteSegment=Module["_fts3WriteSegment"]=function(){return Module["asm"]["_fts3WriteSegment"].apply(null,arguments)};var _fts3Writelock=Module["_fts3Writelock"]=function(){return Module["asm"]["_fts3Writelock"].apply(null,arguments)};var _fts3_isalnum=Module["_fts3_isalnum"]=function(){return Module["asm"]["_fts3_isalnum"].apply(null,arguments)};var _fts3auxBestIndexMethod=Module["_fts3auxBestIndexMethod"]=function(){return Module["asm"]["_fts3auxBestIndexMethod"].apply(null,arguments)};var _fts3auxCloseMethod=Module["_fts3auxCloseMethod"]=function(){return Module["asm"]["_fts3auxCloseMethod"].apply(null,arguments)};var _fts3auxColumnMethod=Module["_fts3auxColumnMethod"]=function(){return Module["asm"]["_fts3auxColumnMethod"].apply(null,arguments)};var _fts3auxConnectMethod=Module["_fts3auxConnectMethod"]=function(){return Module["asm"]["_fts3auxConnectMethod"].apply(null,arguments)};var _fts3auxDisconnectMethod=Module["_fts3auxDisconnectMethod"]=function(){return Module["asm"]["_fts3auxDisconnectMethod"].apply(null,arguments)};var _fts3auxEofMethod=Module["_fts3auxEofMethod"]=function(){return Module["asm"]["_fts3auxEofMethod"].apply(null,arguments)};var _fts3auxFilterMethod=Module["_fts3auxFilterMethod"]=function(){return Module["asm"]["_fts3auxFilterMethod"].apply(null,arguments)};var _fts3auxGrowStatArray=Module["_fts3auxGrowStatArray"]=function(){return Module["asm"]["_fts3auxGrowStatArray"].apply(null,arguments)};var _fts3auxNextMethod=Module["_fts3auxNextMethod"]=function(){return Module["asm"]["_fts3auxNextMethod"].apply(null,arguments)};var _fts3auxOpenMethod=Module["_fts3auxOpenMethod"]=function(){return Module["asm"]["_fts3auxOpenMethod"].apply(null,arguments)};var _fts3auxRowidMethod=Module["_fts3auxRowidMethod"]=function(){return Module["asm"]["_fts3auxRowidMethod"].apply(null,arguments)};var _fts3isspace=Module["_fts3isspace"]=function(){return Module["asm"]["_fts3isspace"].apply(null,arguments)};var _fts3tokBestIndexMethod=Module["_fts3tokBestIndexMethod"]=function(){return Module["asm"]["_fts3tokBestIndexMethod"].apply(null,arguments)};var _fts3tokCloseMethod=Module["_fts3tokCloseMethod"]=function(){return Module["asm"]["_fts3tokCloseMethod"].apply(null,arguments)};var _fts3tokColumnMethod=Module["_fts3tokColumnMethod"]=function(){return Module["asm"]["_fts3tokColumnMethod"].apply(null,arguments)};var _fts3tokConnectMethod=Module["_fts3tokConnectMethod"]=function(){return Module["asm"]["_fts3tokConnectMethod"].apply(null,arguments)};var _fts3tokDequoteArray=Module["_fts3tokDequoteArray"]=function(){return Module["asm"]["_fts3tokDequoteArray"].apply(null,arguments)};var _fts3tokDisconnectMethod=Module["_fts3tokDisconnectMethod"]=function(){return Module["asm"]["_fts3tokDisconnectMethod"].apply(null,arguments)};var _fts3tokEofMethod=Module["_fts3tokEofMethod"]=function(){return Module["asm"]["_fts3tokEofMethod"].apply(null,arguments)};var _fts3tokFilterMethod=Module["_fts3tokFilterMethod"]=function(){return Module["asm"]["_fts3tokFilterMethod"].apply(null,arguments)};var _fts3tokNextMethod=Module["_fts3tokNextMethod"]=function(){return Module["asm"]["_fts3tokNextMethod"].apply(null,arguments)};var _fts3tokOpenMethod=Module["_fts3tokOpenMethod"]=function(){return Module["asm"]["_fts3tokOpenMethod"].apply(null,arguments)};var _fts3tokQueryTokenizer=Module["_fts3tokQueryTokenizer"]=function(){return Module["asm"]["_fts3tokQueryTokenizer"].apply(null,arguments)};var _fts3tokResetCursor=Module["_fts3tokResetCursor"]=function(){return Module["asm"]["_fts3tokResetCursor"].apply(null,arguments)};var _fts3tokRowidMethod=Module["_fts3tokRowidMethod"]=function(){return Module["asm"]["_fts3tokRowidMethod"].apply(null,arguments)};var _fts5AllocateSegid=Module["_fts5AllocateSegid"]=function(){return Module["asm"]["_fts5AllocateSegid"].apply(null,arguments)};var _fts5ApiCallback=Module["_fts5ApiCallback"]=function(){return Module["asm"]["_fts5ApiCallback"].apply(null,arguments)};var _fts5ApiColumnCount=Module["_fts5ApiColumnCount"]=function(){return Module["asm"]["_fts5ApiColumnCount"].apply(null,arguments)};var _fts5ApiColumnSize=Module["_fts5ApiColumnSize"]=function(){return Module["asm"]["_fts5ApiColumnSize"].apply(null,arguments)};var _fts5ApiColumnText=Module["_fts5ApiColumnText"]=function(){return Module["asm"]["_fts5ApiColumnText"].apply(null,arguments)};var _fts5ApiColumnTotalSize=Module["_fts5ApiColumnTotalSize"]=function(){return Module["asm"]["_fts5ApiColumnTotalSize"].apply(null,arguments)};var _fts5ApiGetAuxdata=Module["_fts5ApiGetAuxdata"]=function(){return Module["asm"]["_fts5ApiGetAuxdata"].apply(null,arguments)};var _fts5ApiInst=Module["_fts5ApiInst"]=function(){return Module["asm"]["_fts5ApiInst"].apply(null,arguments)};var _fts5ApiInstCount=Module["_fts5ApiInstCount"]=function(){return Module["asm"]["_fts5ApiInstCount"].apply(null,arguments)};var _fts5ApiInvoke=Module["_fts5ApiInvoke"]=function(){return Module["asm"]["_fts5ApiInvoke"].apply(null,arguments)};var _fts5ApiPhraseCount=Module["_fts5ApiPhraseCount"]=function(){return Module["asm"]["_fts5ApiPhraseCount"].apply(null,arguments)};var _fts5ApiPhraseFirst=Module["_fts5ApiPhraseFirst"]=function(){return Module["asm"]["_fts5ApiPhraseFirst"].apply(null,arguments)};var _fts5ApiPhraseFirstColumn=Module["_fts5ApiPhraseFirstColumn"]=function(){return Module["asm"]["_fts5ApiPhraseFirstColumn"].apply(null,arguments)};var _fts5ApiPhraseNext=Module["_fts5ApiPhraseNext"]=function(){return Module["asm"]["_fts5ApiPhraseNext"].apply(null,arguments)};var _fts5ApiPhraseNextColumn=Module["_fts5ApiPhraseNextColumn"]=function(){return Module["asm"]["_fts5ApiPhraseNextColumn"].apply(null,arguments)};var _fts5ApiPhraseSize=Module["_fts5ApiPhraseSize"]=function(){return Module["asm"]["_fts5ApiPhraseSize"].apply(null,arguments)};var _fts5ApiQueryPhrase=Module["_fts5ApiQueryPhrase"]=function(){return Module["asm"]["_fts5ApiQueryPhrase"].apply(null,arguments)};var _fts5ApiRowCount=Module["_fts5ApiRowCount"]=function(){return Module["asm"]["_fts5ApiRowCount"].apply(null,arguments)};var _fts5ApiRowid=Module["_fts5ApiRowid"]=function(){return Module["asm"]["_fts5ApiRowid"].apply(null,arguments)};var _fts5ApiSetAuxdata=Module["_fts5ApiSetAuxdata"]=function(){return Module["asm"]["_fts5ApiSetAuxdata"].apply(null,arguments)};var _fts5ApiTokenize=Module["_fts5ApiTokenize"]=function(){return Module["asm"]["_fts5ApiTokenize"].apply(null,arguments)};var _fts5ApiUserData=Module["_fts5ApiUserData"]=function(){return Module["asm"]["_fts5ApiUserData"].apply(null,arguments)};var _fts5AppendPoslist=Module["_fts5AppendPoslist"]=function(){return Module["asm"]["_fts5AppendPoslist"].apply(null,arguments)};var _fts5AppendRowid=Module["_fts5AppendRowid"]=function(){return Module["asm"]["_fts5AppendRowid"].apply(null,arguments)};var _fts5AsciiAddExceptions=Module["_fts5AsciiAddExceptions"]=function(){return Module["asm"]["_fts5AsciiAddExceptions"].apply(null,arguments)};var _fts5AsciiCreate=Module["_fts5AsciiCreate"]=function(){return Module["asm"]["_fts5AsciiCreate"].apply(null,arguments)};var _fts5AsciiDelete=Module["_fts5AsciiDelete"]=function(){return Module["asm"]["_fts5AsciiDelete"].apply(null,arguments)};var _fts5AsciiTokenize=Module["_fts5AsciiTokenize"]=function(){return Module["asm"]["_fts5AsciiTokenize"].apply(null,arguments)};var _fts5BeginMethod=Module["_fts5BeginMethod"]=function(){return Module["asm"]["_fts5BeginMethod"].apply(null,arguments)};var _fts5BestIndexMethod=Module["_fts5BestIndexMethod"]=function(){return Module["asm"]["_fts5BestIndexMethod"].apply(null,arguments)};var _fts5Bm25Function=Module["_fts5Bm25Function"]=function(){return Module["asm"]["_fts5Bm25Function"].apply(null,arguments)};var _fts5Bm25GetData=Module["_fts5Bm25GetData"]=function(){return Module["asm"]["_fts5Bm25GetData"].apply(null,arguments)};var _fts5BufferCompare=Module["_fts5BufferCompare"]=function(){return Module["asm"]["_fts5BufferCompare"].apply(null,arguments)};var _fts5BufferSwap=Module["_fts5BufferSwap"]=function(){return Module["asm"]["_fts5BufferSwap"].apply(null,arguments)};var _fts5CInstIterInit=Module["_fts5CInstIterInit"]=function(){return Module["asm"]["_fts5CInstIterInit"].apply(null,arguments)};var _fts5CInstIterNext=Module["_fts5CInstIterNext"]=function(){return Module["asm"]["_fts5CInstIterNext"].apply(null,arguments)};var _fts5CacheInstArray=Module["_fts5CacheInstArray"]=function(){return Module["asm"]["_fts5CacheInstArray"].apply(null,arguments)};var _fts5ChunkIterate=Module["_fts5ChunkIterate"]=function(){return Module["asm"]["_fts5ChunkIterate"].apply(null,arguments)};var _fts5CloneColset=Module["_fts5CloneColset"]=function(){return Module["asm"]["_fts5CloneColset"].apply(null,arguments)};var _fts5CloseMethod=Module["_fts5CloseMethod"]=function(){return Module["asm"]["_fts5CloseMethod"].apply(null,arguments)};var _fts5CloseReader=Module["_fts5CloseReader"]=function(){return Module["asm"]["_fts5CloseReader"].apply(null,arguments)};var _fts5ColumnMethod=Module["_fts5ColumnMethod"]=function(){return Module["asm"]["_fts5ColumnMethod"].apply(null,arguments)};var _fts5ColumnSizeCb=Module["_fts5ColumnSizeCb"]=function(){return Module["asm"]["_fts5ColumnSizeCb"].apply(null,arguments)};var _fts5CommitMethod=Module["_fts5CommitMethod"]=function(){return Module["asm"]["_fts5CommitMethod"].apply(null,arguments)};var _fts5ConfigDefaultTokenizer=Module["_fts5ConfigDefaultTokenizer"]=function(){return Module["asm"]["_fts5ConfigDefaultTokenizer"].apply(null,arguments)};var _fts5ConfigGobbleWord=Module["_fts5ConfigGobbleWord"]=function(){return Module["asm"]["_fts5ConfigGobbleWord"].apply(null,arguments)};var _fts5ConfigMakeExprlist=Module["_fts5ConfigMakeExprlist"]=function(){return Module["asm"]["_fts5ConfigMakeExprlist"].apply(null,arguments)};var _fts5ConfigParseColumn=Module["_fts5ConfigParseColumn"]=function(){return Module["asm"]["_fts5ConfigParseColumn"].apply(null,arguments)};var _fts5ConfigParseSpecial=Module["_fts5ConfigParseSpecial"]=function(){return Module["asm"]["_fts5ConfigParseSpecial"].apply(null,arguments)};var _fts5ConfigSetEnum=Module["_fts5ConfigSetEnum"]=function(){return Module["asm"]["_fts5ConfigSetEnum"].apply(null,arguments)};var _fts5ConfigSkipArgs=Module["_fts5ConfigSkipArgs"]=function(){return Module["asm"]["_fts5ConfigSkipArgs"].apply(null,arguments)};var _fts5ConfigSkipBareword=Module["_fts5ConfigSkipBareword"]=function(){return Module["asm"]["_fts5ConfigSkipBareword"].apply(null,arguments)};var _fts5ConfigSkipLiteral=Module["_fts5ConfigSkipLiteral"]=function(){return Module["asm"]["_fts5ConfigSkipLiteral"].apply(null,arguments)};var _fts5ConfigSkipWhitespace=Module["_fts5ConfigSkipWhitespace"]=function(){return Module["asm"]["_fts5ConfigSkipWhitespace"].apply(null,arguments)};var _fts5ConnectMethod=Module["_fts5ConnectMethod"]=function(){return Module["asm"]["_fts5ConnectMethod"].apply(null,arguments)};var _fts5CountCb=Module["_fts5CountCb"]=function(){return Module["asm"]["_fts5CountCb"].apply(null,arguments)};var _fts5CreateAux=Module["_fts5CreateAux"]=function(){return Module["asm"]["_fts5CreateAux"].apply(null,arguments)};var _fts5CreateMethod=Module["_fts5CreateMethod"]=function(){return Module["asm"]["_fts5CreateMethod"].apply(null,arguments)};var _fts5CreateTokenizer=Module["_fts5CreateTokenizer"]=function(){return Module["asm"]["_fts5CreateTokenizer"].apply(null,arguments)};var _fts5CsrNewrow=Module["_fts5CsrNewrow"]=function(){return Module["asm"]["_fts5CsrNewrow"].apply(null,arguments)};var _fts5CsrPoslist=Module["_fts5CsrPoslist"]=function(){return Module["asm"]["_fts5CsrPoslist"].apply(null,arguments)};var _fts5CursorFirst=Module["_fts5CursorFirst"]=function(){return Module["asm"]["_fts5CursorFirst"].apply(null,arguments)};var _fts5CursorFirstSorted=Module["_fts5CursorFirstSorted"]=function(){return Module["asm"]["_fts5CursorFirstSorted"].apply(null,arguments)};var _fts5CursorFromCsrid=Module["_fts5CursorFromCsrid"]=function(){return Module["asm"]["_fts5CursorFromCsrid"].apply(null,arguments)};var _fts5CursorParseRank=Module["_fts5CursorParseRank"]=function(){return Module["asm"]["_fts5CursorParseRank"].apply(null,arguments)};var _fts5CursorReseek=Module["_fts5CursorReseek"]=function(){return Module["asm"]["_fts5CursorReseek"].apply(null,arguments)};var _fts5CursorRowid=Module["_fts5CursorRowid"]=function(){return Module["asm"]["_fts5CursorRowid"].apply(null,arguments)};var _fts5DataDelete=Module["_fts5DataDelete"]=function(){return Module["asm"]["_fts5DataDelete"].apply(null,arguments)};var _fts5DataRead=Module["_fts5DataRead"]=function(){return Module["asm"]["_fts5DataRead"].apply(null,arguments)};var _fts5DataRelease=Module["_fts5DataRelease"]=function(){return Module["asm"]["_fts5DataRelease"].apply(null,arguments)};var _fts5DataRemoveSegment=Module["_fts5DataRemoveSegment"]=function(){return Module["asm"]["_fts5DataRemoveSegment"].apply(null,arguments)};var _fts5DataWrite=Module["_fts5DataWrite"]=function(){return Module["asm"]["_fts5DataWrite"].apply(null,arguments)};var _fts5DebugRowid=Module["_fts5DebugRowid"]=function(){return Module["asm"]["_fts5DebugRowid"].apply(null,arguments)};var _fts5DebugStructure=Module["_fts5DebugStructure"]=function(){return Module["asm"]["_fts5DebugStructure"].apply(null,arguments)};var _fts5DecodeAverages=Module["_fts5DecodeAverages"]=function(){return Module["asm"]["_fts5DecodeAverages"].apply(null,arguments)};var _fts5DecodeDoclist=Module["_fts5DecodeDoclist"]=function(){return Module["asm"]["_fts5DecodeDoclist"].apply(null,arguments)};var _fts5DecodeFunction=Module["_fts5DecodeFunction"]=function(){return Module["asm"]["_fts5DecodeFunction"].apply(null,arguments)};var _fts5DecodePoslist=Module["_fts5DecodePoslist"]=function(){return Module["asm"]["_fts5DecodePoslist"].apply(null,arguments)};var _fts5DecodeRowid=Module["_fts5DecodeRowid"]=function(){return Module["asm"]["_fts5DecodeRowid"].apply(null,arguments)};var _fts5DecodeRowidList=Module["_fts5DecodeRowidList"]=function(){return Module["asm"]["_fts5DecodeRowidList"].apply(null,arguments)};var _fts5DecodeStructure=Module["_fts5DecodeStructure"]=function(){return Module["asm"]["_fts5DecodeStructure"].apply(null,arguments)};var _fts5Dequote=Module["_fts5Dequote"]=function(){return Module["asm"]["_fts5Dequote"].apply(null,arguments)};var _fts5DestroyMethod=Module["_fts5DestroyMethod"]=function(){return Module["asm"]["_fts5DestroyMethod"].apply(null,arguments)};var _fts5DisconnectMethod=Module["_fts5DisconnectMethod"]=function(){return Module["asm"]["_fts5DisconnectMethod"].apply(null,arguments)};var _fts5DlidxExtractFirstRowid=Module["_fts5DlidxExtractFirstRowid"]=function(){return Module["asm"]["_fts5DlidxExtractFirstRowid"].apply(null,arguments)};var _fts5DlidxIterEof=Module["_fts5DlidxIterEof"]=function(){return Module["asm"]["_fts5DlidxIterEof"].apply(null,arguments)};var _fts5DlidxIterFirst=Module["_fts5DlidxIterFirst"]=function(){return Module["asm"]["_fts5DlidxIterFirst"].apply(null,arguments)};var _fts5DlidxIterFree=Module["_fts5DlidxIterFree"]=function(){return Module["asm"]["_fts5DlidxIterFree"].apply(null,arguments)};var _fts5DlidxIterInit=Module["_fts5DlidxIterInit"]=function(){return Module["asm"]["_fts5DlidxIterInit"].apply(null,arguments)};var _fts5DlidxIterLast=Module["_fts5DlidxIterLast"]=function(){return Module["asm"]["_fts5DlidxIterLast"].apply(null,arguments)};var _fts5DlidxIterNext=Module["_fts5DlidxIterNext"]=function(){return Module["asm"]["_fts5DlidxIterNext"].apply(null,arguments)};var _fts5DlidxIterNextR=Module["_fts5DlidxIterNextR"]=function(){return Module["asm"]["_fts5DlidxIterNextR"].apply(null,arguments)};var _fts5DlidxIterPgno=Module["_fts5DlidxIterPgno"]=function(){return Module["asm"]["_fts5DlidxIterPgno"].apply(null,arguments)};var _fts5DlidxIterPrev=Module["_fts5DlidxIterPrev"]=function(){return Module["asm"]["_fts5DlidxIterPrev"].apply(null,arguments)};var _fts5DlidxIterPrevR=Module["_fts5DlidxIterPrevR"]=function(){return Module["asm"]["_fts5DlidxIterPrevR"].apply(null,arguments)};var _fts5DlidxIterRowid=Module["_fts5DlidxIterRowid"]=function(){return Module["asm"]["_fts5DlidxIterRowid"].apply(null,arguments)};var _fts5DlidxLvlNext=Module["_fts5DlidxLvlNext"]=function(){return Module["asm"]["_fts5DlidxLvlNext"].apply(null,arguments)};var _fts5DlidxLvlPrev=Module["_fts5DlidxLvlPrev"]=function(){return Module["asm"]["_fts5DlidxLvlPrev"].apply(null,arguments)};var _fts5DoclistIterInit=Module["_fts5DoclistIterInit"]=function(){return Module["asm"]["_fts5DoclistIterInit"].apply(null,arguments)};var _fts5DoclistIterNext=Module["_fts5DoclistIterNext"]=function(){return Module["asm"]["_fts5DoclistIterNext"].apply(null,arguments)};var _fts5EofMethod=Module["_fts5EofMethod"]=function(){return Module["asm"]["_fts5EofMethod"].apply(null,arguments)};var _fts5ExecPrintf=Module["_fts5ExecPrintf"]=function(){return Module["asm"]["_fts5ExecPrintf"].apply(null,arguments)};var _fts5ExprAddChildren=Module["_fts5ExprAddChildren"]=function(){return Module["asm"]["_fts5ExprAddChildren"].apply(null,arguments)};var _fts5ExprAdvanceto=Module["_fts5ExprAdvanceto"]=function(){return Module["asm"]["_fts5ExprAdvanceto"].apply(null,arguments)};var _fts5ExprAssignXNext=Module["_fts5ExprAssignXNext"]=function(){return Module["asm"]["_fts5ExprAssignXNext"].apply(null,arguments)};var _fts5ExprCheckPoslists=Module["_fts5ExprCheckPoslists"]=function(){return Module["asm"]["_fts5ExprCheckPoslists"].apply(null,arguments)};var _fts5ExprClearPoslists=Module["_fts5ExprClearPoslists"]=function(){return Module["asm"]["_fts5ExprClearPoslists"].apply(null,arguments)};var _fts5ExprColsetTest=Module["_fts5ExprColsetTest"]=function(){return Module["asm"]["_fts5ExprColsetTest"].apply(null,arguments)};var _fts5ExprFold=Module["_fts5ExprFold"]=function(){return Module["asm"]["_fts5ExprFold"].apply(null,arguments)};var _fts5ExprFunction=Module["_fts5ExprFunction"]=function(){return Module["asm"]["_fts5ExprFunction"].apply(null,arguments)};var _fts5ExprFunctionHr=Module["_fts5ExprFunctionHr"]=function(){return Module["asm"]["_fts5ExprFunctionHr"].apply(null,arguments)};var _fts5ExprFunctionTcl=Module["_fts5ExprFunctionTcl"]=function(){return Module["asm"]["_fts5ExprFunctionTcl"].apply(null,arguments)};var _fts5ExprGetToken=Module["_fts5ExprGetToken"]=function(){return Module["asm"]["_fts5ExprGetToken"].apply(null,arguments)};var _fts5ExprIsAlnum=Module["_fts5ExprIsAlnum"]=function(){return Module["asm"]["_fts5ExprIsAlnum"].apply(null,arguments)};var _fts5ExprIsspace=Module["_fts5ExprIsspace"]=function(){return Module["asm"]["_fts5ExprIsspace"].apply(null,arguments)};var _fts5ExprNearInitAll=Module["_fts5ExprNearInitAll"]=function(){return Module["asm"]["_fts5ExprNearInitAll"].apply(null,arguments)};var _fts5ExprNearIsMatch=Module["_fts5ExprNearIsMatch"]=function(){return Module["asm"]["_fts5ExprNearIsMatch"].apply(null,arguments)};var _fts5ExprNearTest=Module["_fts5ExprNearTest"]=function(){return Module["asm"]["_fts5ExprNearTest"].apply(null,arguments)};var _fts5ExprNodeFirst=Module["_fts5ExprNodeFirst"]=function(){return Module["asm"]["_fts5ExprNodeFirst"].apply(null,arguments)};var _fts5ExprNodeNext_AND=Module["_fts5ExprNodeNext_AND"]=function(){return Module["asm"]["_fts5ExprNodeNext_AND"].apply(null,arguments)};var _fts5ExprNodeNext_NOT=Module["_fts5ExprNodeNext_NOT"]=function(){return Module["asm"]["_fts5ExprNodeNext_NOT"].apply(null,arguments)};var _fts5ExprNodeNext_OR=Module["_fts5ExprNodeNext_OR"]=function(){return Module["asm"]["_fts5ExprNodeNext_OR"].apply(null,arguments)};var _fts5ExprNodeNext_STRING=Module["_fts5ExprNodeNext_STRING"]=function(){return Module["asm"]["_fts5ExprNodeNext_STRING"].apply(null,arguments)};var _fts5ExprNodeNext_TERM=Module["_fts5ExprNodeNext_TERM"]=function(){return Module["asm"]["_fts5ExprNodeNext_TERM"].apply(null,arguments)};var _fts5ExprNodeTest=Module["_fts5ExprNodeTest"]=function(){return Module["asm"]["_fts5ExprNodeTest"].apply(null,arguments)};var _fts5ExprNodeTest_AND=Module["_fts5ExprNodeTest_AND"]=function(){return Module["asm"]["_fts5ExprNodeTest_AND"].apply(null,arguments)};var _fts5ExprNodeTest_NOT=Module["_fts5ExprNodeTest_NOT"]=function(){return Module["asm"]["_fts5ExprNodeTest_NOT"].apply(null,arguments)};var _fts5ExprNodeTest_OR=Module["_fts5ExprNodeTest_OR"]=function(){return Module["asm"]["_fts5ExprNodeTest_OR"].apply(null,arguments)};var _fts5ExprNodeTest_STRING=Module["_fts5ExprNodeTest_STRING"]=function(){return Module["asm"]["_fts5ExprNodeTest_STRING"].apply(null,arguments)};var _fts5ExprNodeTest_TERM=Module["_fts5ExprNodeTest_TERM"]=function(){return Module["asm"]["_fts5ExprNodeTest_TERM"].apply(null,arguments)};var _fts5ExprNodeZeroPoslist=Module["_fts5ExprNodeZeroPoslist"]=function(){return Module["asm"]["_fts5ExprNodeZeroPoslist"].apply(null,arguments)};var _fts5ExprPhraseFree=Module["_fts5ExprPhraseFree"]=function(){return Module["asm"]["_fts5ExprPhraseFree"].apply(null,arguments)};var _fts5ExprPhraseIsMatch=Module["_fts5ExprPhraseIsMatch"]=function(){return Module["asm"]["_fts5ExprPhraseIsMatch"].apply(null,arguments)};var _fts5ExprPopulatePoslistsCb=Module["_fts5ExprPopulatePoslistsCb"]=function(){return Module["asm"]["_fts5ExprPopulatePoslistsCb"].apply(null,arguments)};var _fts5ExprPrint=Module["_fts5ExprPrint"]=function(){return Module["asm"]["_fts5ExprPrint"].apply(null,arguments)};var _fts5ExprPrintTcl=Module["_fts5ExprPrintTcl"]=function(){return Module["asm"]["_fts5ExprPrintTcl"].apply(null,arguments)};var _fts5ExprSetEof=Module["_fts5ExprSetEof"]=function(){return Module["asm"]["_fts5ExprSetEof"].apply(null,arguments)};var _fts5ExprSynonymAdvanceto=Module["_fts5ExprSynonymAdvanceto"]=function(){return Module["asm"]["_fts5ExprSynonymAdvanceto"].apply(null,arguments)};var _fts5ExprSynonymList=Module["_fts5ExprSynonymList"]=function(){return Module["asm"]["_fts5ExprSynonymList"].apply(null,arguments)};var _fts5ExprSynonymRowid=Module["_fts5ExprSynonymRowid"]=function(){return Module["asm"]["_fts5ExprSynonymRowid"].apply(null,arguments)};var _fts5ExprTermPrint=Module["_fts5ExprTermPrint"]=function(){return Module["asm"]["_fts5ExprTermPrint"].apply(null,arguments)};var _fts5FilterMethod=Module["_fts5FilterMethod"]=function(){return Module["asm"]["_fts5FilterMethod"].apply(null,arguments)};var _fts5FindAuxiliary=Module["_fts5FindAuxiliary"]=function(){return Module["asm"]["_fts5FindAuxiliary"].apply(null,arguments)};var _fts5FindFunctionMethod=Module["_fts5FindFunctionMethod"]=function(){return Module["asm"]["_fts5FindFunctionMethod"].apply(null,arguments)};var _fts5FindRankFunction=Module["_fts5FindRankFunction"]=function(){return Module["asm"]["_fts5FindRankFunction"].apply(null,arguments)};var _fts5FindTokenizer=Module["_fts5FindTokenizer"]=function(){return Module["asm"]["_fts5FindTokenizer"].apply(null,arguments)};var _fts5FlushOneHash=Module["_fts5FlushOneHash"]=function(){return Module["asm"]["_fts5FlushOneHash"].apply(null,arguments)};var _fts5FreeCursorComponents=Module["_fts5FreeCursorComponents"]=function(){return Module["asm"]["_fts5FreeCursorComponents"].apply(null,arguments)};var _fts5FreeVtab=Module["_fts5FreeVtab"]=function(){return Module["asm"]["_fts5FreeVtab"].apply(null,arguments)};var _fts5Fts5Func=Module["_fts5Fts5Func"]=function(){return Module["asm"]["_fts5Fts5Func"].apply(null,arguments)};var _fts5GetPoslistSize=Module["_fts5GetPoslistSize"]=function(){return Module["asm"]["_fts5GetPoslistSize"].apply(null,arguments)};var _fts5GetRowidLimit=Module["_fts5GetRowidLimit"]=function(){return Module["asm"]["_fts5GetRowidLimit"].apply(null,arguments)};var _fts5GetU16=Module["_fts5GetU16"]=function(){return Module["asm"]["_fts5GetU16"].apply(null,arguments)};var _fts5HashAddPoslistSize=Module["_fts5HashAddPoslistSize"]=function(){return Module["asm"]["_fts5HashAddPoslistSize"].apply(null,arguments)};var _fts5HashEntryMerge=Module["_fts5HashEntryMerge"]=function(){return Module["asm"]["_fts5HashEntryMerge"].apply(null,arguments)};var _fts5HashEntrySort=Module["_fts5HashEntrySort"]=function(){return Module["asm"]["_fts5HashEntrySort"].apply(null,arguments)};var _fts5HashKey=Module["_fts5HashKey"]=function(){return Module["asm"]["_fts5HashKey"].apply(null,arguments)};var _fts5HashKey2=Module["_fts5HashKey2"]=function(){return Module["asm"]["_fts5HashKey2"].apply(null,arguments)};var _fts5HashResize=Module["_fts5HashResize"]=function(){return Module["asm"]["_fts5HashResize"].apply(null,arguments)};var _fts5HighlightAppend=Module["_fts5HighlightAppend"]=function(){return Module["asm"]["_fts5HighlightAppend"].apply(null,arguments)};var _fts5HighlightCb=Module["_fts5HighlightCb"]=function(){return Module["asm"]["_fts5HighlightCb"].apply(null,arguments)};var _fts5HighlightFunction=Module["_fts5HighlightFunction"]=function(){return Module["asm"]["_fts5HighlightFunction"].apply(null,arguments)};var _fts5IdxMalloc=Module["_fts5IdxMalloc"]=function(){return Module["asm"]["_fts5IdxMalloc"].apply(null,arguments)};var _fts5IdxSelectStmt=Module["_fts5IdxSelectStmt"]=function(){return Module["asm"]["_fts5IdxSelectStmt"].apply(null,arguments)};var _fts5IndexAutomerge=Module["_fts5IndexAutomerge"]=function(){return Module["asm"]["_fts5IndexAutomerge"].apply(null,arguments)};var _fts5IndexCharlen=Module["_fts5IndexCharlen"]=function(){return Module["asm"]["_fts5IndexCharlen"].apply(null,arguments)};var _fts5IndexColsetTest=Module["_fts5IndexColsetTest"]=function(){return Module["asm"]["_fts5IndexColsetTest"].apply(null,arguments)};var _fts5IndexCrisismerge=Module["_fts5IndexCrisismerge"]=function(){return Module["asm"]["_fts5IndexCrisismerge"].apply(null,arguments)};var _fts5IndexDataVersion=Module["_fts5IndexDataVersion"]=function(){return Module["asm"]["_fts5IndexDataVersion"].apply(null,arguments)};var _fts5IndexDiscardData=Module["_fts5IndexDiscardData"]=function(){return Module["asm"]["_fts5IndexDiscardData"].apply(null,arguments)};var _fts5IndexExtractCol=Module["_fts5IndexExtractCol"]=function(){return Module["asm"]["_fts5IndexExtractCol"].apply(null,arguments)};var _fts5IndexExtractColset=Module["_fts5IndexExtractColset"]=function(){return Module["asm"]["_fts5IndexExtractColset"].apply(null,arguments)};var _fts5IndexFlush=Module["_fts5IndexFlush"]=function(){return Module["asm"]["_fts5IndexFlush"].apply(null,arguments)};var _fts5IndexIntegrityCheckEmpty=Module["_fts5IndexIntegrityCheckEmpty"]=function(){return Module["asm"]["_fts5IndexIntegrityCheckEmpty"].apply(null,arguments)};var _fts5IndexIntegrityCheckSegment=Module["_fts5IndexIntegrityCheckSegment"]=function(){return Module["asm"]["_fts5IndexIntegrityCheckSegment"].apply(null,arguments)};var _fts5IndexMerge=Module["_fts5IndexMerge"]=function(){return Module["asm"]["_fts5IndexMerge"].apply(null,arguments)};var _fts5IndexMergeLevel=Module["_fts5IndexMergeLevel"]=function(){return Module["asm"]["_fts5IndexMergeLevel"].apply(null,arguments)};var _fts5IndexOptimizeStruct=Module["_fts5IndexOptimizeStruct"]=function(){return Module["asm"]["_fts5IndexOptimizeStruct"].apply(null,arguments)};var _fts5IndexPrepareStmt=Module["_fts5IndexPrepareStmt"]=function(){return Module["asm"]["_fts5IndexPrepareStmt"].apply(null,arguments)};var _fts5IndexReturn=Module["_fts5IndexReturn"]=function(){return Module["asm"]["_fts5IndexReturn"].apply(null,arguments)};var _fts5Init=Module["_fts5Init"]=function(){return Module["asm"]["_fts5Init"].apply(null,arguments)};var _fts5InitVtab=Module["_fts5InitVtab"]=function(){return Module["asm"]["_fts5InitVtab"].apply(null,arguments)};var _fts5IntegrityCheckPgidx=Module["_fts5IntegrityCheckPgidx"]=function(){return Module["asm"]["_fts5IntegrityCheckPgidx"].apply(null,arguments)};var _fts5IsContentless=Module["_fts5IsContentless"]=function(){return Module["asm"]["_fts5IsContentless"].apply(null,arguments)};var _fts5IterSetOutputCb=Module["_fts5IterSetOutputCb"]=function(){return Module["asm"]["_fts5IterSetOutputCb"].apply(null,arguments)};var _fts5IterSetOutputs_Col=Module["_fts5IterSetOutputs_Col"]=function(){return Module["asm"]["_fts5IterSetOutputs_Col"].apply(null,arguments)};var _fts5IterSetOutputs_Col100=Module["_fts5IterSetOutputs_Col100"]=function(){return Module["asm"]["_fts5IterSetOutputs_Col100"].apply(null,arguments)};var _fts5IterSetOutputs_Full=Module["_fts5IterSetOutputs_Full"]=function(){return Module["asm"]["_fts5IterSetOutputs_Full"].apply(null,arguments)};var _fts5IterSetOutputs_Nocolset=Module["_fts5IterSetOutputs_Nocolset"]=function(){return Module["asm"]["_fts5IterSetOutputs_Nocolset"].apply(null,arguments)};var _fts5IterSetOutputs_None=Module["_fts5IterSetOutputs_None"]=function(){return Module["asm"]["_fts5IterSetOutputs_None"].apply(null,arguments)};var _fts5IterSetOutputs_Noop=Module["_fts5IterSetOutputs_Noop"]=function(){return Module["asm"]["_fts5IterSetOutputs_Noop"].apply(null,arguments)};var _fts5IterSetOutputs_ZeroColset=Module["_fts5IterSetOutputs_ZeroColset"]=function(){return Module["asm"]["_fts5IterSetOutputs_ZeroColset"].apply(null,arguments)};var _fts5LeafFirstTermOff=Module["_fts5LeafFirstTermOff"]=function(){return Module["asm"]["_fts5LeafFirstTermOff"].apply(null,arguments)};var _fts5LeafRead=Module["_fts5LeafRead"]=function(){return Module["asm"]["_fts5LeafRead"].apply(null,arguments)};var _fts5LeafSeek=Module["_fts5LeafSeek"]=function(){return Module["asm"]["_fts5LeafSeek"].apply(null,arguments)};var _fts5LocateTokenizer=Module["_fts5LocateTokenizer"]=function(){return Module["asm"]["_fts5LocateTokenizer"].apply(null,arguments)};var _fts5LookaheadReaderInit=Module["_fts5LookaheadReaderInit"]=function(){return Module["asm"]["_fts5LookaheadReaderInit"].apply(null,arguments)};var _fts5LookaheadReaderNext=Module["_fts5LookaheadReaderNext"]=function(){return Module["asm"]["_fts5LookaheadReaderNext"].apply(null,arguments)};var _fts5MergeChunkCallback=Module["_fts5MergeChunkCallback"]=function(){return Module["asm"]["_fts5MergeChunkCallback"].apply(null,arguments)};var _fts5MergeColset=Module["_fts5MergeColset"]=function(){return Module["asm"]["_fts5MergeColset"].apply(null,arguments)};var _fts5MergePrefixLists=Module["_fts5MergePrefixLists"]=function(){return Module["asm"]["_fts5MergePrefixLists"].apply(null,arguments)};var _fts5MergeRowidLists=Module["_fts5MergeRowidLists"]=function(){return Module["asm"]["_fts5MergeRowidLists"].apply(null,arguments)};var _fts5ModuleDestroy=Module["_fts5ModuleDestroy"]=function(){return Module["asm"]["_fts5ModuleDestroy"].apply(null,arguments)};var _fts5MultiIterAdvanceRowid=Module["_fts5MultiIterAdvanceRowid"]=function(){return Module["asm"]["_fts5MultiIterAdvanceRowid"].apply(null,arguments)};var _fts5MultiIterAdvanced=Module["_fts5MultiIterAdvanced"]=function(){return Module["asm"]["_fts5MultiIterAdvanced"].apply(null,arguments)};var _fts5MultiIterAlloc=Module["_fts5MultiIterAlloc"]=function(){return Module["asm"]["_fts5MultiIterAlloc"].apply(null,arguments)};var _fts5MultiIterDoCompare=Module["_fts5MultiIterDoCompare"]=function(){return Module["asm"]["_fts5MultiIterDoCompare"].apply(null,arguments)};var _fts5MultiIterEof=Module["_fts5MultiIterEof"]=function(){return Module["asm"]["_fts5MultiIterEof"].apply(null,arguments)};var _fts5MultiIterFree=Module["_fts5MultiIterFree"]=function(){return Module["asm"]["_fts5MultiIterFree"].apply(null,arguments)};var _fts5MultiIterIsEmpty=Module["_fts5MultiIterIsEmpty"]=function(){return Module["asm"]["_fts5MultiIterIsEmpty"].apply(null,arguments)};var _fts5MultiIterNew=Module["_fts5MultiIterNew"]=function(){return Module["asm"]["_fts5MultiIterNew"].apply(null,arguments)};var _fts5MultiIterNew2=Module["_fts5MultiIterNew2"]=function(){return Module["asm"]["_fts5MultiIterNew2"].apply(null,arguments)};var _fts5MultiIterNext=Module["_fts5MultiIterNext"]=function(){return Module["asm"]["_fts5MultiIterNext"].apply(null,arguments)};var _fts5MultiIterNext2=Module["_fts5MultiIterNext2"]=function(){return Module["asm"]["_fts5MultiIterNext2"].apply(null,arguments)};var _fts5MultiIterNextFrom=Module["_fts5MultiIterNextFrom"]=function(){return Module["asm"]["_fts5MultiIterNextFrom"].apply(null,arguments)};var _fts5MultiIterRowid=Module["_fts5MultiIterRowid"]=function(){return Module["asm"]["_fts5MultiIterRowid"].apply(null,arguments)};var _fts5MultiIterSetEof=Module["_fts5MultiIterSetEof"]=function(){return Module["asm"]["_fts5MultiIterSetEof"].apply(null,arguments)};var _fts5MultiIterTerm=Module["_fts5MultiIterTerm"]=function(){return Module["asm"]["_fts5MultiIterTerm"].apply(null,arguments)};var _fts5NewTransaction=Module["_fts5NewTransaction"]=function(){return Module["asm"]["_fts5NewTransaction"].apply(null,arguments)};var _fts5NextMethod=Module["_fts5NextMethod"]=function(){return Module["asm"]["_fts5NextMethod"].apply(null,arguments)};var _fts5NextRowid=Module["_fts5NextRowid"]=function(){return Module["asm"]["_fts5NextRowid"].apply(null,arguments)};var _fts5NodeCompare=Module["_fts5NodeCompare"]=function(){return Module["asm"]["_fts5NodeCompare"].apply(null,arguments)};var _fts5OpenMethod=Module["_fts5OpenMethod"]=function(){return Module["asm"]["_fts5OpenMethod"].apply(null,arguments)};var _fts5ParseAlloc=Module["_fts5ParseAlloc"]=function(){return Module["asm"]["_fts5ParseAlloc"].apply(null,arguments)};var _fts5ParseColset=Module["_fts5ParseColset"]=function(){return Module["asm"]["_fts5ParseColset"].apply(null,arguments)};var _fts5ParseFree=Module["_fts5ParseFree"]=function(){return Module["asm"]["_fts5ParseFree"].apply(null,arguments)};var _fts5ParseSetColset=Module["_fts5ParseSetColset"]=function(){return Module["asm"]["_fts5ParseSetColset"].apply(null,arguments)};var _fts5ParseStringFromToken=Module["_fts5ParseStringFromToken"]=function(){return Module["asm"]["_fts5ParseStringFromToken"].apply(null,arguments)};var _fts5ParseTokenize=Module["_fts5ParseTokenize"]=function(){return Module["asm"]["_fts5ParseTokenize"].apply(null,arguments)};var _fts5PorterCb=Module["_fts5PorterCb"]=function(){return Module["asm"]["_fts5PorterCb"].apply(null,arguments)};var _fts5PorterCreate=Module["_fts5PorterCreate"]=function(){return Module["asm"]["_fts5PorterCreate"].apply(null,arguments)};var _fts5PorterDelete=Module["_fts5PorterDelete"]=function(){return Module["asm"]["_fts5PorterDelete"].apply(null,arguments)};var _fts5PorterGobbleVC=Module["_fts5PorterGobbleVC"]=function(){return Module["asm"]["_fts5PorterGobbleVC"].apply(null,arguments)};var _fts5PorterIsVowel=Module["_fts5PorterIsVowel"]=function(){return Module["asm"]["_fts5PorterIsVowel"].apply(null,arguments)};var _fts5PorterStep1A=Module["_fts5PorterStep1A"]=function(){return Module["asm"]["_fts5PorterStep1A"].apply(null,arguments)};var _fts5PorterStep1B=Module["_fts5PorterStep1B"]=function(){return Module["asm"]["_fts5PorterStep1B"].apply(null,arguments)};var _fts5PorterStep1B2=Module["_fts5PorterStep1B2"]=function(){return Module["asm"]["_fts5PorterStep1B2"].apply(null,arguments)};var _fts5PorterStep2=Module["_fts5PorterStep2"]=function(){return Module["asm"]["_fts5PorterStep2"].apply(null,arguments)};var _fts5PorterStep3=Module["_fts5PorterStep3"]=function(){return Module["asm"]["_fts5PorterStep3"].apply(null,arguments)};var _fts5PorterStep4=Module["_fts5PorterStep4"]=function(){return Module["asm"]["_fts5PorterStep4"].apply(null,arguments)};var _fts5PorterTokenize=Module["_fts5PorterTokenize"]=function(){return Module["asm"]["_fts5PorterTokenize"].apply(null,arguments)};var _fts5Porter_MEq1=Module["_fts5Porter_MEq1"]=function(){return Module["asm"]["_fts5Porter_MEq1"].apply(null,arguments)};var _fts5Porter_MGt0=Module["_fts5Porter_MGt0"]=function(){return Module["asm"]["_fts5Porter_MGt0"].apply(null,arguments)};var _fts5Porter_MGt1=Module["_fts5Porter_MGt1"]=function(){return Module["asm"]["_fts5Porter_MGt1"].apply(null,arguments)};var _fts5Porter_MGt1_and_S_or_T=Module["_fts5Porter_MGt1_and_S_or_T"]=function(){return Module["asm"]["_fts5Porter_MGt1_and_S_or_T"].apply(null,arguments)};var _fts5Porter_Ostar=Module["_fts5Porter_Ostar"]=function(){return Module["asm"]["_fts5Porter_Ostar"].apply(null,arguments)};var _fts5Porter_Vowel=Module["_fts5Porter_Vowel"]=function(){return Module["asm"]["_fts5Porter_Vowel"].apply(null,arguments)};var _fts5PoslistBlob=Module["_fts5PoslistBlob"]=function(){return Module["asm"]["_fts5PoslistBlob"].apply(null,arguments)};var _fts5PoslistCallback=Module["_fts5PoslistCallback"]=function(){return Module["asm"]["_fts5PoslistCallback"].apply(null,arguments)};var _fts5PoslistFilterCallback=Module["_fts5PoslistFilterCallback"]=function(){return Module["asm"]["_fts5PoslistFilterCallback"].apply(null,arguments)};var _fts5PoslistOffsetsCallback=Module["_fts5PoslistOffsetsCallback"]=function(){return Module["asm"]["_fts5PoslistOffsetsCallback"].apply(null,arguments)};var _fts5PoslistPrefix=Module["_fts5PoslistPrefix"]=function(){return Module["asm"]["_fts5PoslistPrefix"].apply(null,arguments)};var _fts5PrefixCompress=Module["_fts5PrefixCompress"]=function(){return Module["asm"]["_fts5PrefixCompress"].apply(null,arguments)};var _fts5PrepareStatement=Module["_fts5PrepareStatement"]=function(){return Module["asm"]["_fts5PrepareStatement"].apply(null,arguments)};var _fts5PrintfAppend=Module["_fts5PrintfAppend"]=function(){return Module["asm"]["_fts5PrintfAppend"].apply(null,arguments)};var _fts5PutU16=Module["_fts5PutU16"]=function(){return Module["asm"]["_fts5PutU16"].apply(null,arguments)};var _fts5PutVarint64=Module["_fts5PutVarint64"]=function(){return Module["asm"]["_fts5PutVarint64"].apply(null,arguments)};var _fts5ReleaseMethod=Module["_fts5ReleaseMethod"]=function(){return Module["asm"]["_fts5ReleaseMethod"].apply(null,arguments)};var _fts5RenameMethod=Module["_fts5RenameMethod"]=function(){return Module["asm"]["_fts5RenameMethod"].apply(null,arguments)};var _fts5RollbackMethod=Module["_fts5RollbackMethod"]=function(){return Module["asm"]["_fts5RollbackMethod"].apply(null,arguments)};var _fts5RollbackToMethod=Module["_fts5RollbackToMethod"]=function(){return Module["asm"]["_fts5RollbackToMethod"].apply(null,arguments)};var _fts5RowidCmp=Module["_fts5RowidCmp"]=function(){return Module["asm"]["_fts5RowidCmp"].apply(null,arguments)};var _fts5RowidFunction=Module["_fts5RowidFunction"]=function(){return Module["asm"]["_fts5RowidFunction"].apply(null,arguments)};var _fts5RowidMethod=Module["_fts5RowidMethod"]=function(){return Module["asm"]["_fts5RowidMethod"].apply(null,arguments)};var _fts5SavepointMethod=Module["_fts5SavepointMethod"]=function(){return Module["asm"]["_fts5SavepointMethod"].apply(null,arguments)};var _fts5SeekCursor=Module["_fts5SeekCursor"]=function(){return Module["asm"]["_fts5SeekCursor"].apply(null,arguments)};var _fts5SegIterClear=Module["_fts5SegIterClear"]=function(){return Module["asm"]["_fts5SegIterClear"].apply(null,arguments)};var _fts5SegIterGotoPage=Module["_fts5SegIterGotoPage"]=function(){return Module["asm"]["_fts5SegIterGotoPage"].apply(null,arguments)};var _fts5SegIterHashInit=Module["_fts5SegIterHashInit"]=function(){return Module["asm"]["_fts5SegIterHashInit"].apply(null,arguments)};var _fts5SegIterInit=Module["_fts5SegIterInit"]=function(){return Module["asm"]["_fts5SegIterInit"].apply(null,arguments)};var _fts5SegIterLoadDlidx=Module["_fts5SegIterLoadDlidx"]=function(){return Module["asm"]["_fts5SegIterLoadDlidx"].apply(null,arguments)};var _fts5SegIterLoadNPos=Module["_fts5SegIterLoadNPos"]=function(){return Module["asm"]["_fts5SegIterLoadNPos"].apply(null,arguments)};var _fts5SegIterLoadRowid=Module["_fts5SegIterLoadRowid"]=function(){return Module["asm"]["_fts5SegIterLoadRowid"].apply(null,arguments)};var _fts5SegIterLoadTerm=Module["_fts5SegIterLoadTerm"]=function(){return Module["asm"]["_fts5SegIterLoadTerm"].apply(null,arguments)};var _fts5SegIterNext=Module["_fts5SegIterNext"]=function(){return Module["asm"]["_fts5SegIterNext"].apply(null,arguments)};var _fts5SegIterNextFrom=Module["_fts5SegIterNextFrom"]=function(){return Module["asm"]["_fts5SegIterNextFrom"].apply(null,arguments)};var _fts5SegIterNextPage=Module["_fts5SegIterNextPage"]=function(){return Module["asm"]["_fts5SegIterNextPage"].apply(null,arguments)};var _fts5SegIterNext_None=Module["_fts5SegIterNext_None"]=function(){return Module["asm"]["_fts5SegIterNext_None"].apply(null,arguments)};var _fts5SegIterNext_Reverse=Module["_fts5SegIterNext_Reverse"]=function(){return Module["asm"]["_fts5SegIterNext_Reverse"].apply(null,arguments)};var _fts5SegIterReverse=Module["_fts5SegIterReverse"]=function(){return Module["asm"]["_fts5SegIterReverse"].apply(null,arguments)};var _fts5SegIterReverseInitPage=Module["_fts5SegIterReverseInitPage"]=function(){return Module["asm"]["_fts5SegIterReverseInitPage"].apply(null,arguments)};var _fts5SegIterReverseNewPage=Module["_fts5SegIterReverseNewPage"]=function(){return Module["asm"]["_fts5SegIterReverseNewPage"].apply(null,arguments)};var _fts5SegIterSeekInit=Module["_fts5SegIterSeekInit"]=function(){return Module["asm"]["_fts5SegIterSeekInit"].apply(null,arguments)};var _fts5SegIterSetNext=Module["_fts5SegIterSetNext"]=function(){return Module["asm"]["_fts5SegIterSetNext"].apply(null,arguments)};var _fts5SegiterPoslist=Module["_fts5SegiterPoslist"]=function(){return Module["asm"]["_fts5SegiterPoslist"].apply(null,arguments)};var _fts5SegmentSize=Module["_fts5SegmentSize"]=function(){return Module["asm"]["_fts5SegmentSize"].apply(null,arguments)};var _fts5SentenceFinderAdd=Module["_fts5SentenceFinderAdd"]=function(){return Module["asm"]["_fts5SentenceFinderAdd"].apply(null,arguments)};var _fts5SentenceFinderCb=Module["_fts5SentenceFinderCb"]=function(){return Module["asm"]["_fts5SentenceFinderCb"].apply(null,arguments)};var _fts5SetUniqueFlag=Module["_fts5SetUniqueFlag"]=function(){return Module["asm"]["_fts5SetUniqueFlag"].apply(null,arguments)};var _fts5SetVtabError=Module["_fts5SetVtabError"]=function(){return Module["asm"]["_fts5SetVtabError"].apply(null,arguments)};var _fts5SetupPrefixIter=Module["_fts5SetupPrefixIter"]=function(){return Module["asm"]["_fts5SetupPrefixIter"].apply(null,arguments)};var _fts5ShadowName=Module["_fts5ShadowName"]=function(){return Module["asm"]["_fts5ShadowName"].apply(null,arguments)};var _fts5SnippetFunction=Module["_fts5SnippetFunction"]=function(){return Module["asm"]["_fts5SnippetFunction"].apply(null,arguments)};var _fts5SnippetScore=Module["_fts5SnippetScore"]=function(){return Module["asm"]["_fts5SnippetScore"].apply(null,arguments)};var _fts5SorterNext=Module["_fts5SorterNext"]=function(){return Module["asm"]["_fts5SorterNext"].apply(null,arguments)};var _fts5SourceIdFunc=Module["_fts5SourceIdFunc"]=function(){return Module["asm"]["_fts5SourceIdFunc"].apply(null,arguments)};var _fts5SpecialDelete=Module["_fts5SpecialDelete"]=function(){return Module["asm"]["_fts5SpecialDelete"].apply(null,arguments)};var _fts5SpecialInsert=Module["_fts5SpecialInsert"]=function(){return Module["asm"]["_fts5SpecialInsert"].apply(null,arguments)};var _fts5SpecialMatch=Module["_fts5SpecialMatch"]=function(){return Module["asm"]["_fts5SpecialMatch"].apply(null,arguments)};var _fts5StmtType=Module["_fts5StmtType"]=function(){return Module["asm"]["_fts5StmtType"].apply(null,arguments)};var _fts5StorageCount=Module["_fts5StorageCount"]=function(){return Module["asm"]["_fts5StorageCount"].apply(null,arguments)};var _fts5StorageDecodeSizeArray=Module["_fts5StorageDecodeSizeArray"]=function(){return Module["asm"]["_fts5StorageDecodeSizeArray"].apply(null,arguments)};var _fts5StorageDeleteFromIndex=Module["_fts5StorageDeleteFromIndex"]=function(){return Module["asm"]["_fts5StorageDeleteFromIndex"].apply(null,arguments)};var _fts5StorageGetStmt=Module["_fts5StorageGetStmt"]=function(){return Module["asm"]["_fts5StorageGetStmt"].apply(null,arguments)};var _fts5StorageInsert=Module["_fts5StorageInsert"]=function(){return Module["asm"]["_fts5StorageInsert"].apply(null,arguments)};var _fts5StorageInsertCallback=Module["_fts5StorageInsertCallback"]=function(){return Module["asm"]["_fts5StorageInsertCallback"].apply(null,arguments)};var _fts5StorageInsertDocsize=Module["_fts5StorageInsertDocsize"]=function(){return Module["asm"]["_fts5StorageInsertDocsize"].apply(null,arguments)};var _fts5StorageIntegrityCallback=Module["_fts5StorageIntegrityCallback"]=function(){return Module["asm"]["_fts5StorageIntegrityCallback"].apply(null,arguments)};var _fts5StorageLoadTotals=Module["_fts5StorageLoadTotals"]=function(){return Module["asm"]["_fts5StorageLoadTotals"].apply(null,arguments)};var _fts5StorageNewRowid=Module["_fts5StorageNewRowid"]=function(){return Module["asm"]["_fts5StorageNewRowid"].apply(null,arguments)};var _fts5StorageRenameOne=Module["_fts5StorageRenameOne"]=function(){return Module["asm"]["_fts5StorageRenameOne"].apply(null,arguments)};var _fts5StorageSaveTotals=Module["_fts5StorageSaveTotals"]=function(){return Module["asm"]["_fts5StorageSaveTotals"].apply(null,arguments)};var _fts5StructureAddLevel=Module["_fts5StructureAddLevel"]=function(){return Module["asm"]["_fts5StructureAddLevel"].apply(null,arguments)};var _fts5StructureDecode=Module["_fts5StructureDecode"]=function(){return Module["asm"]["_fts5StructureDecode"].apply(null,arguments)};var _fts5StructureExtendLevel=Module["_fts5StructureExtendLevel"]=function(){return Module["asm"]["_fts5StructureExtendLevel"].apply(null,arguments)};var _fts5StructureInvalidate=Module["_fts5StructureInvalidate"]=function(){return Module["asm"]["_fts5StructureInvalidate"].apply(null,arguments)};var _fts5StructurePromote=Module["_fts5StructurePromote"]=function(){return Module["asm"]["_fts5StructurePromote"].apply(null,arguments)};var _fts5StructurePromoteTo=Module["_fts5StructurePromoteTo"]=function(){return Module["asm"]["_fts5StructurePromoteTo"].apply(null,arguments)};var _fts5StructureRead=Module["_fts5StructureRead"]=function(){return Module["asm"]["_fts5StructureRead"].apply(null,arguments)};var _fts5StructureReadUncached=Module["_fts5StructureReadUncached"]=function(){return Module["asm"]["_fts5StructureReadUncached"].apply(null,arguments)};var _fts5StructureRef=Module["_fts5StructureRef"]=function(){return Module["asm"]["_fts5StructureRef"].apply(null,arguments)};var _fts5StructureRelease=Module["_fts5StructureRelease"]=function(){return Module["asm"]["_fts5StructureRelease"].apply(null,arguments)};var _fts5StructureWrite=Module["_fts5StructureWrite"]=function(){return Module["asm"]["_fts5StructureWrite"].apply(null,arguments)};var _fts5SyncMethod=Module["_fts5SyncMethod"]=function(){return Module["asm"]["_fts5SyncMethod"].apply(null,arguments)};var _fts5TrimSegments=Module["_fts5TrimSegments"]=function(){return Module["asm"]["_fts5TrimSegments"].apply(null,arguments)};var _fts5TripCursors=Module["_fts5TripCursors"]=function(){return Module["asm"]["_fts5TripCursors"].apply(null,arguments)};var _fts5UnicodeAddExceptions=Module["_fts5UnicodeAddExceptions"]=function(){return Module["asm"]["_fts5UnicodeAddExceptions"].apply(null,arguments)};var _fts5UnicodeCreate=Module["_fts5UnicodeCreate"]=function(){return Module["asm"]["_fts5UnicodeCreate"].apply(null,arguments)};var _fts5UnicodeDelete=Module["_fts5UnicodeDelete"]=function(){return Module["asm"]["_fts5UnicodeDelete"].apply(null,arguments)};var _fts5UnicodeIsAlnum=Module["_fts5UnicodeIsAlnum"]=function(){return Module["asm"]["_fts5UnicodeIsAlnum"].apply(null,arguments)};var _fts5UnicodeIsException=Module["_fts5UnicodeIsException"]=function(){return Module["asm"]["_fts5UnicodeIsException"].apply(null,arguments)};var _fts5UnicodeTokenize=Module["_fts5UnicodeTokenize"]=function(){return Module["asm"]["_fts5UnicodeTokenize"].apply(null,arguments)};var _fts5UpdateMethod=Module["_fts5UpdateMethod"]=function(){return Module["asm"]["_fts5UpdateMethod"].apply(null,arguments)};var _fts5ValueToText=Module["_fts5ValueToText"]=function(){return Module["asm"]["_fts5ValueToText"].apply(null,arguments)};var _fts5VocabBestIndexMethod=Module["_fts5VocabBestIndexMethod"]=function(){return Module["asm"]["_fts5VocabBestIndexMethod"].apply(null,arguments)};var _fts5VocabCloseMethod=Module["_fts5VocabCloseMethod"]=function(){return Module["asm"]["_fts5VocabCloseMethod"].apply(null,arguments)};var _fts5VocabColumnMethod=Module["_fts5VocabColumnMethod"]=function(){return Module["asm"]["_fts5VocabColumnMethod"].apply(null,arguments)};var _fts5VocabConnectMethod=Module["_fts5VocabConnectMethod"]=function(){return Module["asm"]["_fts5VocabConnectMethod"].apply(null,arguments)};var _fts5VocabCreateMethod=Module["_fts5VocabCreateMethod"]=function(){return Module["asm"]["_fts5VocabCreateMethod"].apply(null,arguments)};var _fts5VocabDestroyMethod=Module["_fts5VocabDestroyMethod"]=function(){return Module["asm"]["_fts5VocabDestroyMethod"].apply(null,arguments)};var _fts5VocabDisconnectMethod=Module["_fts5VocabDisconnectMethod"]=function(){return Module["asm"]["_fts5VocabDisconnectMethod"].apply(null,arguments)};var _fts5VocabEofMethod=Module["_fts5VocabEofMethod"]=function(){return Module["asm"]["_fts5VocabEofMethod"].apply(null,arguments)};var _fts5VocabFilterMethod=Module["_fts5VocabFilterMethod"]=function(){return Module["asm"]["_fts5VocabFilterMethod"].apply(null,arguments)};var _fts5VocabInitVtab=Module["_fts5VocabInitVtab"]=function(){return Module["asm"]["_fts5VocabInitVtab"].apply(null,arguments)};var _fts5VocabInstanceNewTerm=Module["_fts5VocabInstanceNewTerm"]=function(){return Module["asm"]["_fts5VocabInstanceNewTerm"].apply(null,arguments)};var _fts5VocabInstanceNext=Module["_fts5VocabInstanceNext"]=function(){return Module["asm"]["_fts5VocabInstanceNext"].apply(null,arguments)};var _fts5VocabNextMethod=Module["_fts5VocabNextMethod"]=function(){return Module["asm"]["_fts5VocabNextMethod"].apply(null,arguments)};var _fts5VocabOpenMethod=Module["_fts5VocabOpenMethod"]=function(){return Module["asm"]["_fts5VocabOpenMethod"].apply(null,arguments)};var _fts5VocabResetCursor=Module["_fts5VocabResetCursor"]=function(){return Module["asm"]["_fts5VocabResetCursor"].apply(null,arguments)};var _fts5VocabRowidMethod=Module["_fts5VocabRowidMethod"]=function(){return Module["asm"]["_fts5VocabRowidMethod"].apply(null,arguments)};var _fts5VocabTableType=Module["_fts5VocabTableType"]=function(){return Module["asm"]["_fts5VocabTableType"].apply(null,arguments)};var _fts5WriteAppendPoslistData=Module["_fts5WriteAppendPoslistData"]=function(){return Module["asm"]["_fts5WriteAppendPoslistData"].apply(null,arguments)};var _fts5WriteAppendRowid=Module["_fts5WriteAppendRowid"]=function(){return Module["asm"]["_fts5WriteAppendRowid"].apply(null,arguments)};var _fts5WriteAppendTerm=Module["_fts5WriteAppendTerm"]=function(){return Module["asm"]["_fts5WriteAppendTerm"].apply(null,arguments)};var _fts5WriteBtreeNoTerm=Module["_fts5WriteBtreeNoTerm"]=function(){return Module["asm"]["_fts5WriteBtreeNoTerm"].apply(null,arguments)};var _fts5WriteBtreeTerm=Module["_fts5WriteBtreeTerm"]=function(){return Module["asm"]["_fts5WriteBtreeTerm"].apply(null,arguments)};var _fts5WriteDlidxAppend=Module["_fts5WriteDlidxAppend"]=function(){return Module["asm"]["_fts5WriteDlidxAppend"].apply(null,arguments)};var _fts5WriteDlidxClear=Module["_fts5WriteDlidxClear"]=function(){return Module["asm"]["_fts5WriteDlidxClear"].apply(null,arguments)};var _fts5WriteDlidxGrow=Module["_fts5WriteDlidxGrow"]=function(){return Module["asm"]["_fts5WriteDlidxGrow"].apply(null,arguments)};var _fts5WriteFinish=Module["_fts5WriteFinish"]=function(){return Module["asm"]["_fts5WriteFinish"].apply(null,arguments)};var _fts5WriteFlushBtree=Module["_fts5WriteFlushBtree"]=function(){return Module["asm"]["_fts5WriteFlushBtree"].apply(null,arguments)};var _fts5WriteFlushDlidx=Module["_fts5WriteFlushDlidx"]=function(){return Module["asm"]["_fts5WriteFlushDlidx"].apply(null,arguments)};var _fts5WriteFlushLeaf=Module["_fts5WriteFlushLeaf"]=function(){return Module["asm"]["_fts5WriteFlushLeaf"].apply(null,arguments)};var _fts5WriteInit=Module["_fts5WriteInit"]=function(){return Module["asm"]["_fts5WriteInit"].apply(null,arguments)};var _fts5_isdigit=Module["_fts5_isdigit"]=function(){return Module["asm"]["_fts5_isdigit"].apply(null,arguments)};var _fts5_isopenquote=Module["_fts5_isopenquote"]=function(){return Module["asm"]["_fts5_isopenquote"].apply(null,arguments)};var _fts5_iswhitespace=Module["_fts5_iswhitespace"]=function(){return Module["asm"]["_fts5_iswhitespace"].apply(null,arguments)};var _fts5_remove_diacritic=Module["_fts5_remove_diacritic"]=function(){return Module["asm"]["_fts5_remove_diacritic"].apply(null,arguments)};var _fts5yyStackOverflow=Module["_fts5yyStackOverflow"]=function(){return Module["asm"]["_fts5yyStackOverflow"].apply(null,arguments)};var _fts5yy_accept=Module["_fts5yy_accept"]=function(){return Module["asm"]["_fts5yy_accept"].apply(null,arguments)};var _fts5yy_destructor=Module["_fts5yy_destructor"]=function(){return Module["asm"]["_fts5yy_destructor"].apply(null,arguments)};var _fts5yy_find_reduce_action=Module["_fts5yy_find_reduce_action"]=function(){return Module["asm"]["_fts5yy_find_reduce_action"].apply(null,arguments)};var _fts5yy_find_shift_action=Module["_fts5yy_find_shift_action"]=function(){return Module["asm"]["_fts5yy_find_shift_action"].apply(null,arguments)};var _fts5yy_pop_parser_stack=Module["_fts5yy_pop_parser_stack"]=function(){return Module["asm"]["_fts5yy_pop_parser_stack"].apply(null,arguments)};var _fts5yy_reduce=Module["_fts5yy_reduce"]=function(){return Module["asm"]["_fts5yy_reduce"].apply(null,arguments)};var _fts5yy_shift=Module["_fts5yy_shift"]=function(){return Module["asm"]["_fts5yy_shift"].apply(null,arguments)};var _fts5yy_syntax_error=Module["_fts5yy_syntax_error"]=function(){return Module["asm"]["_fts5yy_syntax_error"].apply(null,arguments)};var _ftsCompareFunction=Module["_ftsCompareFunction"]=function(){return Module["asm"]["_ftsCompareFunction"].apply(null,arguments)};var _ftsHashFunction=Module["_ftsHashFunction"]=function(){return Module["asm"]["_ftsHashFunction"].apply(null,arguments)};var _full_fsync=Module["_full_fsync"]=function(){return Module["asm"]["_full_fsync"].apply(null,arguments)};var _func_dealloc=Module["_func_dealloc"]=function(){return Module["asm"]["_func_dealloc"].apply(null,arguments)};var _func_descr_get=Module["_func_descr_get"]=function(){return Module["asm"]["_func_descr_get"].apply(null,arguments)};var _func_get_annotations=Module["_func_get_annotations"]=function(){return Module["asm"]["_func_get_annotations"].apply(null,arguments)};var _func_get_code=Module["_func_get_code"]=function(){return Module["asm"]["_func_get_code"].apply(null,arguments)};var _func_get_defaults=Module["_func_get_defaults"]=function(){return Module["asm"]["_func_get_defaults"].apply(null,arguments)};var _func_get_kwdefaults=Module["_func_get_kwdefaults"]=function(){return Module["asm"]["_func_get_kwdefaults"].apply(null,arguments)};var _func_get_name=Module["_func_get_name"]=function(){return Module["asm"]["_func_get_name"].apply(null,arguments)};var _func_get_qualname=Module["_func_get_qualname"]=function(){return Module["asm"]["_func_get_qualname"].apply(null,arguments)};var _func_new=Module["_func_new"]=function(){return Module["asm"]["_func_new"].apply(null,arguments)};var _func_repr=Module["_func_repr"]=function(){return Module["asm"]["_func_repr"].apply(null,arguments)};var _func_set_annotations=Module["_func_set_annotations"]=function(){return Module["asm"]["_func_set_annotations"].apply(null,arguments)};var _func_set_code=Module["_func_set_code"]=function(){return Module["asm"]["_func_set_code"].apply(null,arguments)};var _func_set_defaults=Module["_func_set_defaults"]=function(){return Module["asm"]["_func_set_defaults"].apply(null,arguments)};var _func_set_kwdefaults=Module["_func_set_kwdefaults"]=function(){return Module["asm"]["_func_set_kwdefaults"].apply(null,arguments)};var _func_set_name=Module["_func_set_name"]=function(){return Module["asm"]["_func_set_name"].apply(null,arguments)};var _func_set_qualname=Module["_func_set_qualname"]=function(){return Module["asm"]["_func_set_qualname"].apply(null,arguments)};var _func_traverse=Module["_func_traverse"]=function(){return Module["asm"]["_func_traverse"].apply(null,arguments)};var _functionDestroy=Module["_functionDestroy"]=function(){return Module["asm"]["_functionDestroy"].apply(null,arguments)};var _function_call=Module["_function_call"]=function(){return Module["asm"]["_function_call"].apply(null,arguments)};var _function_code_fastcall=Module["_function_code_fastcall"]=function(){return Module["asm"]["_function_code_fastcall"].apply(null,arguments)};var _functools_cmp_to_key=Module["_functools_cmp_to_key"]=function(){return Module["asm"]["_functools_cmp_to_key"].apply(null,arguments)};var _functools_reduce=Module["_functools_reduce"]=function(){return Module["asm"]["_functools_reduce"].apply(null,arguments)};var _funlockfile=Module["_funlockfile"]=function(){return Module["asm"]["_funlockfile"].apply(null,arguments)};var _futimens=Module["_futimens"]=function(){return Module["asm"]["_futimens"].apply(null,arguments)};var _fuzzycmp=Module["_fuzzycmp"]=function(){return Module["asm"]["_fuzzycmp"].apply(null,arguments)};var _fwide=Module["_fwide"]=function(){return Module["asm"]["_fwide"].apply(null,arguments)};var _fwprintf=Module["_fwprintf"]=function(){return Module["asm"]["_fwprintf"].apply(null,arguments)};var _fwrite=Module["_fwrite"]=function(){return Module["asm"]["_fwrite"].apply(null,arguments)};var _fwscanf=Module["_fwscanf"]=function(){return Module["asm"]["_fwscanf"].apply(null,arguments)};var _gallop_left=Module["_gallop_left"]=function(){return Module["asm"]["_gallop_left"].apply(null,arguments)};var _gatherSelectWindows=Module["_gatherSelectWindows"]=function(){return Module["asm"]["_gatherSelectWindows"].apply(null,arguments)};var _gatherSelectWindowsCallback=Module["_gatherSelectWindowsCallback"]=function(){return Module["asm"]["_gatherSelectWindowsCallback"].apply(null,arguments)};var _gatherSelectWindowsSelectCallback=Module["_gatherSelectWindowsSelectCallback"]=function(){return Module["asm"]["_gatherSelectWindowsSelectCallback"].apply(null,arguments)};var _gb18030_decode=Module["_gb18030_decode"]=function(){return Module["asm"]["_gb18030_decode"].apply(null,arguments)};var _gb18030_encode=Module["_gb18030_encode"]=function(){return Module["asm"]["_gb18030_encode"].apply(null,arguments)};var _gb2312_decode=Module["_gb2312_decode"]=function(){return Module["asm"]["_gb2312_decode"].apply(null,arguments)};var _gb2312_decoder=Module["_gb2312_decoder"]=function(){return Module["asm"]["_gb2312_decoder"].apply(null,arguments)};var _gb2312_encode=Module["_gb2312_encode"]=function(){return Module["asm"]["_gb2312_encode"].apply(null,arguments)};var _gb2312_encoder=Module["_gb2312_encoder"]=function(){return Module["asm"]["_gb2312_encoder"].apply(null,arguments)};var _gb2312_init=Module["_gb2312_init"]=function(){return Module["asm"]["_gb2312_init"].apply(null,arguments)};var _gbk_decode=Module["_gbk_decode"]=function(){return Module["asm"]["_gbk_decode"].apply(null,arguments)};var _gbk_encode=Module["_gbk_encode"]=function(){return Module["asm"]["_gbk_encode"].apply(null,arguments)};var _gc_clear=Module["_gc_clear"]=function(){return Module["asm"]["_gc_clear"].apply(null,arguments)};var _gc_collect=Module["_gc_collect"]=function(){return Module["asm"]["_gc_collect"].apply(null,arguments)};var _gc_disable=Module["_gc_disable"]=function(){return Module["asm"]["_gc_disable"].apply(null,arguments)};var _gc_enable=Module["_gc_enable"]=function(){return Module["asm"]["_gc_enable"].apply(null,arguments)};var _gc_freeze=Module["_gc_freeze"]=function(){return Module["asm"]["_gc_freeze"].apply(null,arguments)};var _gc_get_count=Module["_gc_get_count"]=function(){return Module["asm"]["_gc_get_count"].apply(null,arguments)};var _gc_get_debug=Module["_gc_get_debug"]=function(){return Module["asm"]["_gc_get_debug"].apply(null,arguments)};var _gc_get_freeze_count=Module["_gc_get_freeze_count"]=function(){return Module["asm"]["_gc_get_freeze_count"].apply(null,arguments)};var _gc_get_objects=Module["_gc_get_objects"]=function(){return Module["asm"]["_gc_get_objects"].apply(null,arguments)};var _gc_get_referents=Module["_gc_get_referents"]=function(){return Module["asm"]["_gc_get_referents"].apply(null,arguments)};var _gc_get_referrers=Module["_gc_get_referrers"]=function(){return Module["asm"]["_gc_get_referrers"].apply(null,arguments)};var _gc_get_stats=Module["_gc_get_stats"]=function(){return Module["asm"]["_gc_get_stats"].apply(null,arguments)};var _gc_get_threshold=Module["_gc_get_threshold"]=function(){return Module["asm"]["_gc_get_threshold"].apply(null,arguments)};var _gc_is_tracked=Module["_gc_is_tracked"]=function(){return Module["asm"]["_gc_is_tracked"].apply(null,arguments)};var _gc_isenabled=Module["_gc_isenabled"]=function(){return Module["asm"]["_gc_isenabled"].apply(null,arguments)};var _gc_set_debug=Module["_gc_set_debug"]=function(){return Module["asm"]["_gc_set_debug"].apply(null,arguments)};var _gc_set_thresh=Module["_gc_set_thresh"]=function(){return Module["asm"]["_gc_set_thresh"].apply(null,arguments)};var _gc_traverse=Module["_gc_traverse"]=function(){return Module["asm"]["_gc_traverse"].apply(null,arguments)};var _gc_unfreeze=Module["_gc_unfreeze"]=function(){return Module["asm"]["_gc_unfreeze"].apply(null,arguments)};var _gcvt=Module["_gcvt"]=function(){return Module["asm"]["_gcvt"].apply(null,arguments)};var _gen_close=Module["_gen_close"]=function(){return Module["asm"]["_gen_close"].apply(null,arguments)};var _gen_close_iter=Module["_gen_close_iter"]=function(){return Module["asm"]["_gen_close_iter"].apply(null,arguments)};var _gen_dealloc=Module["_gen_dealloc"]=function(){return Module["asm"]["_gen_dealloc"].apply(null,arguments)};var _gen_get_name=Module["_gen_get_name"]=function(){return Module["asm"]["_gen_get_name"].apply(null,arguments)};var _gen_get_qualname=Module["_gen_get_qualname"]=function(){return Module["asm"]["_gen_get_qualname"].apply(null,arguments)};var _gen_getyieldfrom=Module["_gen_getyieldfrom"]=function(){return Module["asm"]["_gen_getyieldfrom"].apply(null,arguments)};var _gen_iternext=Module["_gen_iternext"]=function(){return Module["asm"]["_gen_iternext"].apply(null,arguments)};var _gen_netmask=Module["_gen_netmask"]=function(){return Module["asm"]["_gen_netmask"].apply(null,arguments)};var _gen_new_with_qualname=Module["_gen_new_with_qualname"]=function(){return Module["asm"]["_gen_new_with_qualname"].apply(null,arguments)};var _gen_repr=Module["_gen_repr"]=function(){return Module["asm"]["_gen_repr"].apply(null,arguments)};var _gen_send_ex=Module["_gen_send_ex"]=function(){return Module["asm"]["_gen_send_ex"].apply(null,arguments)};var _gen_set_name=Module["_gen_set_name"]=function(){return Module["asm"]["_gen_set_name"].apply(null,arguments)};var _gen_set_qualname=Module["_gen_set_qualname"]=function(){return Module["asm"]["_gen_set_qualname"].apply(null,arguments)};var _gen_throw=Module["_gen_throw"]=function(){return Module["asm"]["_gen_throw"].apply(null,arguments)};var _gen_traverse=Module["_gen_traverse"]=function(){return Module["asm"]["_gen_traverse"].apply(null,arguments)};var _generateColumnNames=Module["_generateColumnNames"]=function(){return Module["asm"]["_generateColumnNames"].apply(null,arguments)};var _generateColumnTypes=Module["_generateColumnTypes"]=function(){return Module["asm"]["_generateColumnTypes"].apply(null,arguments)};var _generateOutputSubroutine=Module["_generateOutputSubroutine"]=function(){return Module["asm"]["_generateOutputSubroutine"].apply(null,arguments)};var _generateSortTail=Module["_generateSortTail"]=function(){return Module["asm"]["_generateSortTail"].apply(null,arguments)};var _generateWithRecursiveQuery=Module["_generateWithRecursiveQuery"]=function(){return Module["asm"]["_generateWithRecursiveQuery"].apply(null,arguments)};var _genrand_int32=Module["_genrand_int32"]=function(){return Module["asm"]["_genrand_int32"].apply(null,arguments)};var _geomCallback=Module["_geomCallback"]=function(){return Module["asm"]["_geomCallback"].apply(null,arguments)};var _getAbsoluteLevel=Module["_getAbsoluteLevel"]=function(){return Module["asm"]["_getAbsoluteLevel"].apply(null,arguments)};var _getAndInitPage=Module["_getAndInitPage"]=function(){return Module["asm"]["_getAndInitPage"].apply(null,arguments)};var _getAttributeId=Module["_getAttributeId"]=function(){return Module["asm"]["_getAttributeId"].apply(null,arguments)};var _getAutoVacuum=Module["_getAutoVacuum"]=function(){return Module["asm"]["_getAutoVacuum"].apply(null,arguments)};var _getCellInfo=Module["_getCellInfo"]=function(){return Module["asm"]["_getCellInfo"].apply(null,arguments)};var _getDigits=Module["_getDigits"]=function(){return Module["asm"]["_getDigits"].apply(null,arguments)};var _getDoubleArg=Module["_getDoubleArg"]=function(){return Module["asm"]["_getDoubleArg"].apply(null,arguments)};var _getEncodingIndex=Module["_getEncodingIndex"]=function(){return Module["asm"]["_getEncodingIndex"].apply(null,arguments)};var _getFileMode=Module["_getFileMode"]=function(){return Module["asm"]["_getFileMode"].apply(null,arguments)};var _getIntArg=Module["_getIntArg"]=function(){return Module["asm"]["_getIntArg"].apply(null,arguments)};var _getIntFromStmt=Module["_getIntFromStmt"]=function(){return Module["asm"]["_getIntFromStmt"].apply(null,arguments)};var _getLockingMode=Module["_getLockingMode"]=function(){return Module["asm"]["_getLockingMode"].apply(null,arguments)};var _getNextNode=Module["_getNextNode"]=function(){return Module["asm"]["_getNextNode"].apply(null,arguments)};var _getNextString=Module["_getNextString"]=function(){return Module["asm"]["_getNextString"].apply(null,arguments)};var _getNextToken=Module["_getNextToken"]=function(){return Module["asm"]["_getNextToken"].apply(null,arguments)};var _getNodeSize=Module["_getNodeSize"]=function(){return Module["asm"]["_getNodeSize"].apply(null,arguments)};var _getOverflowPage=Module["_getOverflowPage"]=function(){return Module["asm"]["_getOverflowPage"].apply(null,arguments)};var _getPageError=Module["_getPageError"]=function(){return Module["asm"]["_getPageError"].apply(null,arguments)};var _getPageNormal=Module["_getPageNormal"]=function(){return Module["asm"]["_getPageNormal"].apply(null,arguments)};var _getPageReferenced=Module["_getPageReferenced"]=function(){return Module["asm"]["_getPageReferenced"].apply(null,arguments)};var _getRowTrigger=Module["_getRowTrigger"]=function(){return Module["asm"]["_getRowTrigger"].apply(null,arguments)};var _getSafetyLevel=Module["_getSafetyLevel"]=function(){return Module["asm"]["_getSafetyLevel"].apply(null,arguments)};var _getTempStore=Module["_getTempStore"]=function(){return Module["asm"]["_getTempStore"].apply(null,arguments)};var _getTextArg=Module["_getTextArg"]=function(){return Module["asm"]["_getTextArg"].apply(null,arguments)};var _getToken=Module["_getToken"]=function(){return Module["asm"]["_getToken"].apply(null,arguments)};var _get_16=Module["_get_16"]=function(){return Module["asm"]["_get_16"].apply(null,arguments)};var _get_32=Module["_get_32"]=function(){return Module["asm"]["_get_32"].apply(null,arguments)};var _get_change_3_2_0=Module["_get_change_3_2_0"]=function(){return Module["asm"]["_get_change_3_2_0"].apply(null,arguments)};var _get_closed=Module["_get_closed"]=function(){return Module["asm"]["_get_closed"].apply(null,arguments)};var _get_closed_11678=Module["_get_closed_11678"]=function(){return Module["asm"]["_get_closed_11678"].apply(null,arguments)};var _get_closefd=Module["_get_closefd"]=function(){return Module["asm"]["_get_closefd"].apply(null,arguments)};var _get_crc_table=Module["_get_crc_table"]=function(){return Module["asm"]["_get_crc_table"].apply(null,arguments)};var _get_current_dir_name=Module["_get_current_dir_name"]=function(){return Module["asm"]["_get_current_dir_name"].apply(null,arguments)};var _get_data=Module["_get_data"]=function(){return Module["asm"]["_get_data"].apply(null,arguments)};var _get_deep_attribute=Module["_get_deep_attribute"]=function(){return Module["asm"]["_get_deep_attribute"].apply(null,arguments)};var _get_dialect_from_registry=Module["_get_dialect_from_registry"]=function(){return Module["asm"]["_get_dialect_from_registry"].apply(null,arguments)};var _get_encoding=Module["_get_encoding"]=function(){return Module["asm"]["_get_encoding"].apply(null,arguments)};var _get_error_handler=Module["_get_error_handler"]=function(){return Module["asm"]["_get_error_handler"].apply(null,arguments)};var _get_flip_fold_offset=Module["_get_flip_fold_offset"]=function(){return Module["asm"]["_get_flip_fold_offset"].apply(null,arguments)};var _get_integer=Module["_get_integer"]=function(){return Module["asm"]["_get_integer"].apply(null,arguments)};var _get_integer_5675=Module["_get_integer_5675"]=function(){return Module["asm"]["_get_integer_5675"].apply(null,arguments)};var _get_locale_info=Module["_get_locale_info"]=function(){return Module["asm"]["_get_locale_info"].apply(null,arguments)};var _get_mode=Module["_get_mode"]=function(){return Module["asm"]["_get_mode"].apply(null,arguments)};var _get_mode_11681=Module["_get_mode_11681"]=function(){return Module["asm"]["_get_mode_11681"].apply(null,arguments)};var _get_module_code=Module["_get_module_code"]=function(){return Module["asm"]["_get_module_code"].apply(null,arguments)};var _get_module_info=Module["_get_module_info"]=function(){return Module["asm"]["_get_module_info"].apply(null,arguments)};var _get_sfnt_table=Module["_get_sfnt_table"]=function(){return Module["asm"]["_get_sfnt_table"].apply(null,arguments)};var _get_standard_encoding=Module["_get_standard_encoding"]=function(){return Module["asm"]["_get_standard_encoding"].apply(null,arguments)};var _get_warnings_attr=Module["_get_warnings_attr"]=function(){return Module["asm"]["_get_warnings_attr"].apply(null,arguments)};var _get_warnoptions=Module["_get_warnoptions"]=function(){return Module["asm"]["_get_warnoptions"].apply(null,arguments)};var _get_xoptions=Module["_get_xoptions"]=function(){return Module["asm"]["_get_xoptions"].apply(null,arguments)};var _getauxval=Module["_getauxval"]=function(){return Module["asm"]["_getauxval"].apply(null,arguments)};var _getc=Module["_getc"]=function(){return Module["asm"]["_getc"].apply(null,arguments)};var _getc_unlocked=Module["_getc_unlocked"]=function(){return Module["asm"]["_getc_unlocked"].apply(null,arguments)};var _getchar=Module["_getchar"]=function(){return Module["asm"]["_getchar"].apply(null,arguments)};var _getchar_unlocked=Module["_getchar_unlocked"]=function(){return Module["asm"]["_getchar_unlocked"].apply(null,arguments)};var _getcodec=Module["_getcodec"]=function(){return Module["asm"]["_getcodec"].apply(null,arguments)};var _getcodec_8925=Module["_getcodec_8925"]=function(){return Module["asm"]["_getcodec_8925"].apply(null,arguments)};var _getcodec_8941=Module["_getcodec_8941"]=function(){return Module["asm"]["_getcodec_8941"].apply(null,arguments)};var _getcodec_9008=Module["_getcodec_9008"]=function(){return Module["asm"]["_getcodec_9008"].apply(null,arguments)};var _getcodec_9036=Module["_getcodec_9036"]=function(){return Module["asm"]["_getcodec_9036"].apply(null,arguments)};var _getcodec_9058=Module["_getcodec_9058"]=function(){return Module["asm"]["_getcodec_9058"].apply(null,arguments)};var _getcwd=Module["_getcwd"]=function(){return Module["asm"]["_getcwd"].apply(null,arguments)};var _getdelim=Module["_getdelim"]=function(){return Module["asm"]["_getdelim"].apply(null,arguments)};var _getdomainname=Module["_getdomainname"]=function(){return Module["asm"]["_getdomainname"].apply(null,arguments)};var _getegid=Module["_getegid"]=function(){return Module["asm"]["_getegid"].apply(null,arguments)};var _geteuid=Module["_geteuid"]=function(){return Module["asm"]["_geteuid"].apply(null,arguments)};var _getgid=Module["_getgid"]=function(){return Module["asm"]["_getgid"].apply(null,arguments)};var _getgroups=Module["_getgroups"]=function(){return Module["asm"]["_getgroups"].apply(null,arguments)};var _gethost_common=Module["_gethost_common"]=function(){return Module["asm"]["_gethost_common"].apply(null,arguments)};var _gethostent=Module["_gethostent"]=function(){return Module["asm"]["_gethostent"].apply(null,arguments)};var _gethostid=Module["_gethostid"]=function(){return Module["asm"]["_gethostid"].apply(null,arguments)};var _gethostname=Module["_gethostname"]=function(){return Module["asm"]["_gethostname"].apply(null,arguments)};var _getifaddrs=Module["_getifaddrs"]=function(){return Module["asm"]["_getifaddrs"].apply(null,arguments)};var _getint=Module["_getint"]=function(){return Module["asm"]["_getint"].apply(null,arguments)};var _getint_699=Module["_getint_699"]=function(){return Module["asm"]["_getint_699"].apply(null,arguments)};var _getlens=Module["_getlens"]=function(){return Module["asm"]["_getlens"].apply(null,arguments)};var _getline=Module["_getline"]=function(){return Module["asm"]["_getline"].apply(null,arguments)};var _getlogin=Module["_getlogin"]=function(){return Module["asm"]["_getlogin"].apply(null,arguments)};var _getlogin_r=Module["_getlogin_r"]=function(){return Module["asm"]["_getlogin_r"].apply(null,arguments)};var _getmntent=Module["_getmntent"]=function(){return Module["asm"]["_getmntent"].apply(null,arguments)};var _getmntent_r=Module["_getmntent_r"]=function(){return Module["asm"]["_getmntent_r"].apply(null,arguments)};var _getnetbyaddr=Module["_getnetbyaddr"]=function(){return Module["asm"]["_getnetbyaddr"].apply(null,arguments)};var _getnetbyname=Module["_getnetbyname"]=function(){return Module["asm"]["_getnetbyname"].apply(null,arguments)};var _getoffs=Module["_getoffs"]=function(){return Module["asm"]["_getoffs"].apply(null,arguments)};var _getopt=Module["_getopt"]=function(){return Module["asm"]["_getopt"].apply(null,arguments)};var _getopt_long=Module["_getopt_long"]=function(){return Module["asm"]["_getopt_long"].apply(null,arguments)};var _getopt_long_only=Module["_getopt_long_only"]=function(){return Module["asm"]["_getopt_long_only"].apply(null,arguments)};var _getpeername=Module["_getpeername"]=function(){return Module["asm"]["_getpeername"].apply(null,arguments)};var _getpgid=Module["_getpgid"]=function(){return Module["asm"]["_getpgid"].apply(null,arguments)};var _getpgrp=Module["_getpgrp"]=function(){return Module["asm"]["_getpgrp"].apply(null,arguments)};var _getpid=Module["_getpid"]=function(){return Module["asm"]["_getpid"].apply(null,arguments)};var _getppid=Module["_getppid"]=function(){return Module["asm"]["_getppid"].apply(null,arguments)};var _getpriority=Module["_getpriority"]=function(){return Module["asm"]["_getpriority"].apply(null,arguments)};var _getresgid=Module["_getresgid"]=function(){return Module["asm"]["_getresgid"].apply(null,arguments)};var _getresuid=Module["_getresuid"]=function(){return Module["asm"]["_getresuid"].apply(null,arguments)};var _getrlimit=Module["_getrlimit"]=function(){return Module["asm"]["_getrlimit"].apply(null,arguments)};var _getround=Module["_getround"]=function(){return Module["asm"]["_getround"].apply(null,arguments)};var _getrusage=Module["_getrusage"]=function(){return Module["asm"]["_getrusage"].apply(null,arguments)};var _gets=Module["_gets"]=function(){return Module["asm"]["_gets"].apply(null,arguments)};var _getservbyname=Module["_getservbyname"]=function(){return Module["asm"]["_getservbyname"].apply(null,arguments)};var _getservbyname_r=Module["_getservbyname_r"]=function(){return Module["asm"]["_getservbyname_r"].apply(null,arguments)};var _getservbyport=Module["_getservbyport"]=function(){return Module["asm"]["_getservbyport"].apply(null,arguments)};var _getservbyport_r=Module["_getservbyport_r"]=function(){return Module["asm"]["_getservbyport_r"].apply(null,arguments)};var _getservent=Module["_getservent"]=function(){return Module["asm"]["_getservent"].apply(null,arguments)};var _getset_get=Module["_getset_get"]=function(){return Module["asm"]["_getset_get"].apply(null,arguments)};var _getset_get_doc=Module["_getset_get_doc"]=function(){return Module["asm"]["_getset_get_doc"].apply(null,arguments)};var _getset_repr=Module["_getset_repr"]=function(){return Module["asm"]["_getset_repr"].apply(null,arguments)};var _getset_set=Module["_getset_set"]=function(){return Module["asm"]["_getset_set"].apply(null,arguments)};var _getsid=Module["_getsid"]=function(){return Module["asm"]["_getsid"].apply(null,arguments)};var _getsockaddrarg=Module["_getsockaddrarg"]=function(){return Module["asm"]["_getsockaddrarg"].apply(null,arguments)};var _getsockname=Module["_getsockname"]=function(){return Module["asm"]["_getsockname"].apply(null,arguments)};var _getsockopt=Module["_getsockopt"]=function(){return Module["asm"]["_getsockopt"].apply(null,arguments)};var _getstring=Module["_getstring"]=function(){return Module["asm"]["_getstring"].apply(null,arguments)};var _getsubopt=Module["_getsubopt"]=function(){return Module["asm"]["_getsubopt"].apply(null,arguments)};var _gettext=Module["_gettext"]=function(){return Module["asm"]["_gettext"].apply(null,arguments)};var _gettextdir=Module["_gettextdir"]=function(){return Module["asm"]["_gettextdir"].apply(null,arguments)};var _gettmarg=Module["_gettmarg"]=function(){return Module["asm"]["_gettmarg"].apply(null,arguments)};var _getuid=Module["_getuid"]=function(){return Module["asm"]["_getuid"].apply(null,arguments)};var _getw=Module["_getw"]=function(){return Module["asm"]["_getw"].apply(null,arguments)};var _getwc=Module["_getwc"]=function(){return Module["asm"]["_getwc"].apply(null,arguments)};var _getwchar=Module["_getwchar"]=function(){return Module["asm"]["_getwchar"].apply(null,arguments)};var _glob=Module["_glob"]=function(){return Module["asm"]["_glob"].apply(null,arguments)};var _globfree=Module["_globfree"]=function(){return Module["asm"]["_globfree"].apply(null,arguments)};var _grantpt=Module["_grantpt"]=function(){return Module["asm"]["_grantpt"].apply(null,arguments)};var _gray_conic_to=Module["_gray_conic_to"]=function(){return Module["asm"]["_gray_conic_to"].apply(null,arguments)};var _gray_convert_glyph_inner=Module["_gray_convert_glyph_inner"]=function(){return Module["asm"]["_gray_convert_glyph_inner"].apply(null,arguments)};var _gray_cubic_to=Module["_gray_cubic_to"]=function(){return Module["asm"]["_gray_cubic_to"].apply(null,arguments)};var _gray_hline=Module["_gray_hline"]=function(){return Module["asm"]["_gray_hline"].apply(null,arguments)};var _gray_line_to=Module["_gray_line_to"]=function(){return Module["asm"]["_gray_line_to"].apply(null,arguments)};var _gray_move_to=Module["_gray_move_to"]=function(){return Module["asm"]["_gray_move_to"].apply(null,arguments)};var _gray_raster_done=Module["_gray_raster_done"]=function(){return Module["asm"]["_gray_raster_done"].apply(null,arguments)};var _gray_raster_new=Module["_gray_raster_new"]=function(){return Module["asm"]["_gray_raster_new"].apply(null,arguments)};var _gray_raster_render=Module["_gray_raster_render"]=function(){return Module["asm"]["_gray_raster_render"].apply(null,arguments)};var _gray_raster_reset=Module["_gray_raster_reset"]=function(){return Module["asm"]["_gray_raster_reset"].apply(null,arguments)};var _gray_raster_set_mode=Module["_gray_raster_set_mode"]=function(){return Module["asm"]["_gray_raster_set_mode"].apply(null,arguments)};var _gray_render_line=Module["_gray_render_line"]=function(){return Module["asm"]["_gray_render_line"].apply(null,arguments)};var _gray_render_scanline=Module["_gray_render_scanline"]=function(){return Module["asm"]["_gray_render_scanline"].apply(null,arguments)};var _gray_render_span=Module["_gray_render_span"]=function(){return Module["asm"]["_gray_render_span"].apply(null,arguments)};var _groupConcatFinalize=Module["_groupConcatFinalize"]=function(){return Module["asm"]["_groupConcatFinalize"].apply(null,arguments)};var _groupConcatInverse=Module["_groupConcatInverse"]=function(){return Module["asm"]["_groupConcatInverse"].apply(null,arguments)};var _groupConcatStep=Module["_groupConcatStep"]=function(){return Module["asm"]["_groupConcatStep"].apply(null,arguments)};var _groupConcatValue=Module["_groupConcatValue"]=function(){return Module["asm"]["_groupConcatValue"].apply(null,arguments)};var _groupby_dealloc=Module["_groupby_dealloc"]=function(){return Module["asm"]["_groupby_dealloc"].apply(null,arguments)};var _groupby_new=Module["_groupby_new"]=function(){return Module["asm"]["_groupby_new"].apply(null,arguments)};var _groupby_next=Module["_groupby_next"]=function(){return Module["asm"]["_groupby_next"].apply(null,arguments)};var _groupby_reduce=Module["_groupby_reduce"]=function(){return Module["asm"]["_groupby_reduce"].apply(null,arguments)};var _groupby_setstate=Module["_groupby_setstate"]=function(){return Module["asm"]["_groupby_setstate"].apply(null,arguments)};var _groupby_traverse=Module["_groupby_traverse"]=function(){return Module["asm"]["_groupby_traverse"].apply(null,arguments)};var _growOp3=Module["_growOp3"]=function(){return Module["asm"]["_growOp3"].apply(null,arguments)};var _growOpArray=Module["_growOpArray"]=function(){return Module["asm"]["_growOpArray"].apply(null,arguments)};var _growVTrans=Module["_growVTrans"]=function(){return Module["asm"]["_growVTrans"].apply(null,arguments)};var _gz_comp=Module["_gz_comp"]=function(){return Module["asm"]["_gz_comp"].apply(null,arguments)};var _gz_decomp=Module["_gz_decomp"]=function(){return Module["asm"]["_gz_decomp"].apply(null,arguments)};var _gz_error=Module["_gz_error"]=function(){return Module["asm"]["_gz_error"].apply(null,arguments)};var _gz_fetch=Module["_gz_fetch"]=function(){return Module["asm"]["_gz_fetch"].apply(null,arguments)};var _gz_init=Module["_gz_init"]=function(){return Module["asm"]["_gz_init"].apply(null,arguments)};var _gz_look=Module["_gz_look"]=function(){return Module["asm"]["_gz_look"].apply(null,arguments)};var _gz_open=Module["_gz_open"]=function(){return Module["asm"]["_gz_open"].apply(null,arguments)};var _gzbuffer=Module["_gzbuffer"]=function(){return Module["asm"]["_gzbuffer"].apply(null,arguments)};var _gzclearerr=Module["_gzclearerr"]=function(){return Module["asm"]["_gzclearerr"].apply(null,arguments)};var _gzclose=Module["_gzclose"]=function(){return Module["asm"]["_gzclose"].apply(null,arguments)};var _gzclose_r=Module["_gzclose_r"]=function(){return Module["asm"]["_gzclose_r"].apply(null,arguments)};var _gzclose_w=Module["_gzclose_w"]=function(){return Module["asm"]["_gzclose_w"].apply(null,arguments)};var _gzdirect=Module["_gzdirect"]=function(){return Module["asm"]["_gzdirect"].apply(null,arguments)};var _gzdopen=Module["_gzdopen"]=function(){return Module["asm"]["_gzdopen"].apply(null,arguments)};var _gzeof=Module["_gzeof"]=function(){return Module["asm"]["_gzeof"].apply(null,arguments)};var _gzerror=Module["_gzerror"]=function(){return Module["asm"]["_gzerror"].apply(null,arguments)};var _gzflush=Module["_gzflush"]=function(){return Module["asm"]["_gzflush"].apply(null,arguments)};var _gzgetc=Module["_gzgetc"]=function(){return Module["asm"]["_gzgetc"].apply(null,arguments)};var _gzgetc_=Module["_gzgetc_"]=function(){return Module["asm"]["_gzgetc_"].apply(null,arguments)};var _gzgets=Module["_gzgets"]=function(){return Module["asm"]["_gzgets"].apply(null,arguments)};var _gzoffset=Module["_gzoffset"]=function(){return Module["asm"]["_gzoffset"].apply(null,arguments)};var _gzoffset64=Module["_gzoffset64"]=function(){return Module["asm"]["_gzoffset64"].apply(null,arguments)};var _gzopen=Module["_gzopen"]=function(){return Module["asm"]["_gzopen"].apply(null,arguments)};var _gzopen64=Module["_gzopen64"]=function(){return Module["asm"]["_gzopen64"].apply(null,arguments)};var _gzprintf=Module["_gzprintf"]=function(){return Module["asm"]["_gzprintf"].apply(null,arguments)};var _gzputc=Module["_gzputc"]=function(){return Module["asm"]["_gzputc"].apply(null,arguments)};var _gzputs=Module["_gzputs"]=function(){return Module["asm"]["_gzputs"].apply(null,arguments)};var _gzread=Module["_gzread"]=function(){return Module["asm"]["_gzread"].apply(null,arguments)};var _gzrewind=Module["_gzrewind"]=function(){return Module["asm"]["_gzrewind"].apply(null,arguments)};var _gzseek=Module["_gzseek"]=function(){return Module["asm"]["_gzseek"].apply(null,arguments)};var _gzseek64=Module["_gzseek64"]=function(){return Module["asm"]["_gzseek64"].apply(null,arguments)};var _gzsetparams=Module["_gzsetparams"]=function(){return Module["asm"]["_gzsetparams"].apply(null,arguments)};var _gztell=Module["_gztell"]=function(){return Module["asm"]["_gztell"].apply(null,arguments)};var _gztell64=Module["_gztell64"]=function(){return Module["asm"]["_gztell64"].apply(null,arguments)};var _gzungetc=Module["_gzungetc"]=function(){return Module["asm"]["_gzungetc"].apply(null,arguments)};var _gzvprintf=Module["_gzvprintf"]=function(){return Module["asm"]["_gzvprintf"].apply(null,arguments)};var _gzwrite=Module["_gzwrite"]=function(){return Module["asm"]["_gzwrite"].apply(null,arguments)};var _h_compareitems=Module["_h_compareitems"]=function(){return Module["asm"]["_h_compareitems"].apply(null,arguments)};var _h_getitem=Module["_h_getitem"]=function(){return Module["asm"]["_h_getitem"].apply(null,arguments)};var _h_setitem=Module["_h_setitem"]=function(){return Module["asm"]["_h_setitem"].apply(null,arguments)};var _hamt_baseiter_tp_clear=Module["_hamt_baseiter_tp_clear"]=function(){return Module["asm"]["_hamt_baseiter_tp_clear"].apply(null,arguments)};var _hamt_baseiter_tp_dealloc=Module["_hamt_baseiter_tp_dealloc"]=function(){return Module["asm"]["_hamt_baseiter_tp_dealloc"].apply(null,arguments)};var _hamt_baseiter_tp_iternext=Module["_hamt_baseiter_tp_iternext"]=function(){return Module["asm"]["_hamt_baseiter_tp_iternext"].apply(null,arguments)};var _hamt_baseiter_tp_len=Module["_hamt_baseiter_tp_len"]=function(){return Module["asm"]["_hamt_baseiter_tp_len"].apply(null,arguments)};var _hamt_baseiter_tp_traverse=Module["_hamt_baseiter_tp_traverse"]=function(){return Module["asm"]["_hamt_baseiter_tp_traverse"].apply(null,arguments)};var _hamt_iter_yield_items=Module["_hamt_iter_yield_items"]=function(){return Module["asm"]["_hamt_iter_yield_items"].apply(null,arguments)};var _hamt_iter_yield_keys=Module["_hamt_iter_yield_keys"]=function(){return Module["asm"]["_hamt_iter_yield_keys"].apply(null,arguments)};var _hamt_iter_yield_values=Module["_hamt_iter_yield_values"]=function(){return Module["asm"]["_hamt_iter_yield_values"].apply(null,arguments)};var _hamt_iterator_array_next=Module["_hamt_iterator_array_next"]=function(){return Module["asm"]["_hamt_iterator_array_next"].apply(null,arguments)};var _hamt_iterator_next=Module["_hamt_iterator_next"]=function(){return Module["asm"]["_hamt_iterator_next"].apply(null,arguments)};var _hamt_node_array_assoc=Module["_hamt_node_array_assoc"]=function(){return Module["asm"]["_hamt_node_array_assoc"].apply(null,arguments)};var _hamt_node_array_dealloc=Module["_hamt_node_array_dealloc"]=function(){return Module["asm"]["_hamt_node_array_dealloc"].apply(null,arguments)};var _hamt_node_array_traverse=Module["_hamt_node_array_traverse"]=function(){return Module["asm"]["_hamt_node_array_traverse"].apply(null,arguments)};var _hamt_node_bitmap_assoc=Module["_hamt_node_bitmap_assoc"]=function(){return Module["asm"]["_hamt_node_bitmap_assoc"].apply(null,arguments)};var _hamt_node_bitmap_dealloc=Module["_hamt_node_bitmap_dealloc"]=function(){return Module["asm"]["_hamt_node_bitmap_dealloc"].apply(null,arguments)};var _hamt_node_bitmap_traverse=Module["_hamt_node_bitmap_traverse"]=function(){return Module["asm"]["_hamt_node_bitmap_traverse"].apply(null,arguments)};var _hamt_node_collision_assoc=Module["_hamt_node_collision_assoc"]=function(){return Module["asm"]["_hamt_node_collision_assoc"].apply(null,arguments)};var _hamt_node_collision_dealloc=Module["_hamt_node_collision_dealloc"]=function(){return Module["asm"]["_hamt_node_collision_dealloc"].apply(null,arguments)};var _hamt_node_collision_traverse=Module["_hamt_node_collision_traverse"]=function(){return Module["asm"]["_hamt_node_collision_traverse"].apply(null,arguments)};var _hamt_node_find=Module["_hamt_node_find"]=function(){return Module["asm"]["_hamt_node_find"].apply(null,arguments)};var _hamt_node_without=Module["_hamt_node_without"]=function(){return Module["asm"]["_hamt_node_without"].apply(null,arguments)};var _hamt_py_delete=Module["_hamt_py_delete"]=function(){return Module["asm"]["_hamt_py_delete"].apply(null,arguments)};var _hamt_py_get=Module["_hamt_py_get"]=function(){return Module["asm"]["_hamt_py_get"].apply(null,arguments)};var _hamt_py_items=Module["_hamt_py_items"]=function(){return Module["asm"]["_hamt_py_items"].apply(null,arguments)};var _hamt_py_keys=Module["_hamt_py_keys"]=function(){return Module["asm"]["_hamt_py_keys"].apply(null,arguments)};var _hamt_py_set=Module["_hamt_py_set"]=function(){return Module["asm"]["_hamt_py_set"].apply(null,arguments)};var _hamt_py_values=Module["_hamt_py_values"]=function(){return Module["asm"]["_hamt_py_values"].apply(null,arguments)};var _hamt_tp_clear=Module["_hamt_tp_clear"]=function(){return Module["asm"]["_hamt_tp_clear"].apply(null,arguments)};var _hamt_tp_contains=Module["_hamt_tp_contains"]=function(){return Module["asm"]["_hamt_tp_contains"].apply(null,arguments)};var _hamt_tp_dealloc=Module["_hamt_tp_dealloc"]=function(){return Module["asm"]["_hamt_tp_dealloc"].apply(null,arguments)};var _hamt_tp_iter=Module["_hamt_tp_iter"]=function(){return Module["asm"]["_hamt_tp_iter"].apply(null,arguments)};var _hamt_tp_len=Module["_hamt_tp_len"]=function(){return Module["asm"]["_hamt_tp_len"].apply(null,arguments)};var _hamt_tp_new=Module["_hamt_tp_new"]=function(){return Module["asm"]["_hamt_tp_new"].apply(null,arguments)};var _hamt_tp_richcompare=Module["_hamt_tp_richcompare"]=function(){return Module["asm"]["_hamt_tp_richcompare"].apply(null,arguments)};var _hamt_tp_subscript=Module["_hamt_tp_subscript"]=function(){return Module["asm"]["_hamt_tp_subscript"].apply(null,arguments)};var _hamt_tp_traverse=Module["_hamt_tp_traverse"]=function(){return Module["asm"]["_hamt_tp_traverse"].apply(null,arguments)};var _handleDeferredMoveto=Module["_handleDeferredMoveto"]=function(){return Module["asm"]["_handleDeferredMoveto"].apply(null,arguments)};var _handleMovedCursor=Module["_handleMovedCursor"]=function(){return Module["asm"]["_handleMovedCursor"].apply(null,arguments)};var _handle_compress=Module["_handle_compress"]=function(){return Module["asm"]["_handle_compress"].apply(null,arguments)};var _handle_keywordonly_args=Module["_handle_keywordonly_args"]=function(){return Module["asm"]["_handle_keywordonly_args"].apply(null,arguments)};var _handle_system_exit=Module["_handle_system_exit"]=function(){return Module["asm"]["_handle_system_exit"].apply(null,arguments)};var _hasColumn=Module["_hasColumn"]=function(){return Module["asm"]["_hasColumn"].apply(null,arguments)};var _hasHotJournal=Module["_hasHotJournal"]=function(){return Module["asm"]["_hasHotJournal"].apply(null,arguments)};var _hasVowel=Module["_hasVowel"]=function(){return Module["asm"]["_hasVowel"].apply(null,arguments)};var _hashDestroy=Module["_hashDestroy"]=function(){return Module["asm"]["_hashDestroy"].apply(null,arguments)};var _hash_insert=Module["_hash_insert"]=function(){return Module["asm"]["_hash_insert"].apply(null,arguments)};var _hashmd=Module["_hashmd"]=function(){return Module["asm"]["_hashmd"].apply(null,arguments)};var _hashmd_55=Module["_hashmd_55"]=function(){return Module["asm"]["_hashmd_55"].apply(null,arguments)};var _hashtable_compare_pointer_t=Module["_hashtable_compare_pointer_t"]=function(){return Module["asm"]["_hashtable_compare_pointer_t"].apply(null,arguments)};var _hashtable_compare_traceback=Module["_hashtable_compare_traceback"]=function(){return Module["asm"]["_hashtable_compare_traceback"].apply(null,arguments)};var _hashtable_compare_unicode=Module["_hashtable_compare_unicode"]=function(){return Module["asm"]["_hashtable_compare_unicode"].apply(null,arguments)};var _hashtable_hash_pointer_t=Module["_hashtable_hash_pointer_t"]=function(){return Module["asm"]["_hashtable_hash_pointer_t"].apply(null,arguments)};var _hashtable_hash_pyobject=Module["_hashtable_hash_pyobject"]=function(){return Module["asm"]["_hashtable_hash_pyobject"].apply(null,arguments)};var _hashtable_hash_traceback=Module["_hashtable_hash_traceback"]=function(){return Module["asm"]["_hashtable_hash_traceback"].apply(null,arguments)};var _hasmntopt=Module["_hasmntopt"]=function(){return Module["asm"]["_hasmntopt"].apply(null,arguments)};var _havingToWhere=Module["_havingToWhere"]=function(){return Module["asm"]["_havingToWhere"].apply(null,arguments)};var _havingToWhereExprCb=Module["_havingToWhereExprCb"]=function(){return Module["asm"]["_havingToWhereExprCb"].apply(null,arguments)};var _heapify=Module["_heapify"]=function(){return Module["asm"]["_heapify"].apply(null,arguments)};var _heapify_internal=Module["_heapify_internal"]=function(){return Module["asm"]["_heapify_internal"].apply(null,arguments)};var _heapify_max=Module["_heapify_max"]=function(){return Module["asm"]["_heapify_max"].apply(null,arguments)};var _heappop=Module["_heappop"]=function(){return Module["asm"]["_heappop"].apply(null,arguments)};var _heappop_internal=Module["_heappop_internal"]=function(){return Module["asm"]["_heappop_internal"].apply(null,arguments)};var _heappop_max=Module["_heappop_max"]=function(){return Module["asm"]["_heappop_max"].apply(null,arguments)};var _heappush=Module["_heappush"]=function(){return Module["asm"]["_heappush"].apply(null,arguments)};var _heappushpop=Module["_heappushpop"]=function(){return Module["asm"]["_heappushpop"].apply(null,arguments)};var _heapreplace=Module["_heapreplace"]=function(){return Module["asm"]["_heapreplace"].apply(null,arguments)};var _heapreplace_internal=Module["_heapreplace_internal"]=function(){return Module["asm"]["_heapreplace_internal"].apply(null,arguments)};var _heapreplace_max=Module["_heapreplace_max"]=function(){return Module["asm"]["_heapreplace_max"].apply(null,arguments)};var _heightOfExpr=Module["_heightOfExpr"]=function(){return Module["asm"]["_heightOfExpr"].apply(null,arguments)};var _heightOfExprList=Module["_heightOfExprList"]=function(){return Module["asm"]["_heightOfExprList"].apply(null,arguments)};var _heightOfSelect=Module["_heightOfSelect"]=function(){return Module["asm"]["_heightOfSelect"].apply(null,arguments)};var _herror=Module["_herror"]=function(){return Module["asm"]["_herror"].apply(null,arguments)};var _hexFunc=Module["_hexFunc"]=function(){return Module["asm"]["_hexFunc"].apply(null,arguments)};var _hex_from_char=Module["_hex_from_char"]=function(){return Module["asm"]["_hex_from_char"].apply(null,arguments)};var _hexfloat=Module["_hexfloat"]=function(){return Module["asm"]["_hexfloat"].apply(null,arguments)};var _hexval=Module["_hexval"]=function(){return Module["asm"]["_hexval"].apply(null,arguments)};var _hexval_859=Module["_hexval_859"]=function(){return Module["asm"]["_hexval_859"].apply(null,arguments)};var _hiwire_false=Module["_hiwire_false"]=function(){return Module["asm"]["_hiwire_false"].apply(null,arguments)};var _hiwire_null=Module["_hiwire_null"]=function(){return Module["asm"]["_hiwire_null"].apply(null,arguments)};var _hiwire_true=Module["_hiwire_true"]=function(){return Module["asm"]["_hiwire_true"].apply(null,arguments)};var _hiwire_undefined=Module["_hiwire_undefined"]=function(){return Module["asm"]["_hiwire_undefined"].apply(null,arguments)};var _hstrerror=Module["_hstrerror"]=function(){return Module["asm"]["_hstrerror"].apply(null,arguments)};var _htonl=Module["_htonl"]=function(){return Module["asm"]["_htonl"].apply(null,arguments)};var _htons=Module["_htons"]=function(){return Module["asm"]["_htons"].apply(null,arguments)};var _huft_build=Module["_huft_build"]=function(){return Module["asm"]["_huft_build"].apply(null,arguments)};var _hypot=Module["_hypot"]=function(){return Module["asm"]["_hypot"].apply(null,arguments)};var _hypotf=Module["_hypotf"]=function(){return Module["asm"]["_hypotf"].apply(null,arguments)};var _hypotl=Module["_hypotl"]=function(){return Module["asm"]["_hypotl"].apply(null,arguments)};var _hz_decode=Module["_hz_decode"]=function(){return Module["asm"]["_hz_decode"].apply(null,arguments)};var _hz_decode_init=Module["_hz_decode_init"]=function(){return Module["asm"]["_hz_decode_init"].apply(null,arguments)};var _hz_decode_reset=Module["_hz_decode_reset"]=function(){return Module["asm"]["_hz_decode_reset"].apply(null,arguments)};var _hz_encode=Module["_hz_encode"]=function(){return Module["asm"]["_hz_encode"].apply(null,arguments)};var _hz_encode_init=Module["_hz_encode_init"]=function(){return Module["asm"]["_hz_encode_init"].apply(null,arguments)};var _hz_encode_reset=Module["_hz_encode_reset"]=function(){return Module["asm"]["_hz_encode_reset"].apply(null,arguments)};var _i64Add=Module["_i64Add"]=function(){return Module["asm"]["_i64Add"].apply(null,arguments)};var _i64Subtract=Module["_i64Subtract"]=function(){return Module["asm"]["_i64Subtract"].apply(null,arguments)};var _i_compareitems=Module["_i_compareitems"]=function(){return Module["asm"]["_i_compareitems"].apply(null,arguments)};var _i_getitem=Module["_i_getitem"]=function(){return Module["asm"]["_i_getitem"].apply(null,arguments)};var _i_setitem=Module["_i_setitem"]=function(){return Module["asm"]["_i_setitem"].apply(null,arguments)};var _ialloc=Module["_ialloc"]=function(){return Module["asm"]["_ialloc"].apply(null,arguments)};var _iconv=Module["_iconv"]=function(){return Module["asm"]["_iconv"].apply(null,arguments)};var _iconv_close=Module["_iconv_close"]=function(){return Module["asm"]["_iconv_close"].apply(null,arguments)};var _iconv_open=Module["_iconv_open"]=function(){return Module["asm"]["_iconv_open"].apply(null,arguments)};var _identLength=Module["_identLength"]=function(){return Module["asm"]["_identLength"].apply(null,arguments)};var _identPut=Module["_identPut"]=function(){return Module["asm"]["_identPut"].apply(null,arguments)};var _idna_converter=Module["_idna_converter"]=function(){return Module["asm"]["_idna_converter"].apply(null,arguments)};var _if_freenameindex=Module["_if_freenameindex"]=function(){return Module["asm"]["_if_freenameindex"].apply(null,arguments)};var _if_indextoname=Module["_if_indextoname"]=function(){return Module["asm"]["_if_indextoname"].apply(null,arguments)};var _if_nameindex=Module["_if_nameindex"]=function(){return Module["asm"]["_if_nameindex"].apply(null,arguments)};var _if_nametoindex=Module["_if_nametoindex"]=function(){return Module["asm"]["_if_nametoindex"].apply(null,arguments)};var _ignoreSectionProcessor=Module["_ignoreSectionProcessor"]=function(){return Module["asm"]["_ignoreSectionProcessor"].apply(null,arguments)};var _ignore_err=Module["_ignore_err"]=function(){return Module["asm"]["_ignore_err"].apply(null,arguments)};var _ignore_errors=Module["_ignore_errors"]=function(){return Module["asm"]["_ignore_errors"].apply(null,arguments)};var _ilogb=Module["_ilogb"]=function(){return Module["asm"]["_ilogb"].apply(null,arguments)};var _ilogbf=Module["_ilogbf"]=function(){return Module["asm"]["_ilogbf"].apply(null,arguments)};var _ilogbl=Module["_ilogbl"]=function(){return Module["asm"]["_ilogbl"].apply(null,arguments)};var _imaxabs=Module["_imaxabs"]=function(){return Module["asm"]["_imaxabs"].apply(null,arguments)};var _imaxdiv=Module["_imaxdiv"]=function(){return Module["asm"]["_imaxdiv"].apply(null,arguments)};var _impliesNotNullRow=Module["_impliesNotNullRow"]=function(){return Module["asm"]["_impliesNotNullRow"].apply(null,arguments)};var _importmap=Module["_importmap"]=function(){return Module["asm"]["_importmap"].apply(null,arguments)};var _in_set=Module["_in_set"]=function(){return Module["asm"]["_in_set"].apply(null,arguments)};var _incrAggDepth=Module["_incrAggDepth"]=function(){return Module["asm"]["_incrAggDepth"].apply(null,arguments)};var _incrAggFunctionDepth=Module["_incrAggFunctionDepth"]=function(){return Module["asm"]["_incrAggFunctionDepth"].apply(null,arguments)};var _incrPhraseTokenNext=Module["_incrPhraseTokenNext"]=function(){return Module["asm"]["_incrPhraseTokenNext"].apply(null,arguments)};var _incrVacuumStep=Module["_incrVacuumStep"]=function(){return Module["asm"]["_incrVacuumStep"].apply(null,arguments)};var _incrementalnewlinedecoder_dealloc=Module["_incrementalnewlinedecoder_dealloc"]=function(){return Module["asm"]["_incrementalnewlinedecoder_dealloc"].apply(null,arguments)};var _incrementalnewlinedecoder_newlines_get=Module["_incrementalnewlinedecoder_newlines_get"]=function(){return Module["asm"]["_incrementalnewlinedecoder_newlines_get"].apply(null,arguments)};var _independent_calloc=Module["_independent_calloc"]=function(){return Module["asm"]["_independent_calloc"].apply(null,arguments)};var _independent_comalloc=Module["_independent_comalloc"]=function(){return Module["asm"]["_independent_comalloc"].apply(null,arguments)};var _index=Module["_index"]=function(){return Module["asm"]["_index"].apply(null,arguments)};var _indexColumnIsBeingUpdated=Module["_indexColumnIsBeingUpdated"]=function(){return Module["asm"]["_indexColumnIsBeingUpdated"].apply(null,arguments)};var _indexColumnNotNull=Module["_indexColumnNotNull"]=function(){return Module["asm"]["_indexColumnNotNull"].apply(null,arguments)};var _indexMightHelpWithOrderBy=Module["_indexMightHelpWithOrderBy"]=function(){return Module["asm"]["_indexMightHelpWithOrderBy"].apply(null,arguments)};var _indexWhereClauseMightChange=Module["_indexWhereClauseMightChange"]=function(){return Module["asm"]["_indexWhereClauseMightChange"].apply(null,arguments)};var _inet_lnaof=Module["_inet_lnaof"]=function(){return Module["asm"]["_inet_lnaof"].apply(null,arguments)};var _inet_makeaddr=Module["_inet_makeaddr"]=function(){return Module["asm"]["_inet_makeaddr"].apply(null,arguments)};var _inet_netof=Module["_inet_netof"]=function(){return Module["asm"]["_inet_netof"].apply(null,arguments)};var _inet_network=Module["_inet_network"]=function(){return Module["asm"]["_inet_network"].apply(null,arguments)};var _inet_ntoa=Module["_inet_ntoa"]=function(){return Module["asm"]["_inet_ntoa"].apply(null,arguments)};var _inet_ntop=Module["_inet_ntop"]=function(){return Module["asm"]["_inet_ntop"].apply(null,arguments)};var _inet_pton=Module["_inet_pton"]=function(){return Module["asm"]["_inet_pton"].apply(null,arguments)};var _infinite_lru_cache_wrapper=Module["_infinite_lru_cache_wrapper"]=function(){return Module["asm"]["_infinite_lru_cache_wrapper"].apply(null,arguments)};var _inflate=Module["_inflate"]=function(){return Module["asm"]["_inflate"].apply(null,arguments)};var _inflateBack=Module["_inflateBack"]=function(){return Module["asm"]["_inflateBack"].apply(null,arguments)};var _inflateBackEnd=Module["_inflateBackEnd"]=function(){return Module["asm"]["_inflateBackEnd"].apply(null,arguments)};var _inflateBackInit_=Module["_inflateBackInit_"]=function(){return Module["asm"]["_inflateBackInit_"].apply(null,arguments)};var _inflateCopy=Module["_inflateCopy"]=function(){return Module["asm"]["_inflateCopy"].apply(null,arguments)};var _inflateEnd=Module["_inflateEnd"]=function(){return Module["asm"]["_inflateEnd"].apply(null,arguments)};var _inflateEnd_13627=Module["_inflateEnd_13627"]=function(){return Module["asm"]["_inflateEnd_13627"].apply(null,arguments)};var _inflateGetDictionary=Module["_inflateGetDictionary"]=function(){return Module["asm"]["_inflateGetDictionary"].apply(null,arguments)};var _inflateGetHeader=Module["_inflateGetHeader"]=function(){return Module["asm"]["_inflateGetHeader"].apply(null,arguments)};var _inflateInit2_=Module["_inflateInit2_"]=function(){return Module["asm"]["_inflateInit2_"].apply(null,arguments)};var _inflateInit2__13626=Module["_inflateInit2__13626"]=function(){return Module["asm"]["_inflateInit2__13626"].apply(null,arguments)};var _inflateInit_=Module["_inflateInit_"]=function(){return Module["asm"]["_inflateInit_"].apply(null,arguments)};var _inflateMark=Module["_inflateMark"]=function(){return Module["asm"]["_inflateMark"].apply(null,arguments)};var _inflatePrime=Module["_inflatePrime"]=function(){return Module["asm"]["_inflatePrime"].apply(null,arguments)};var _inflateReset=Module["_inflateReset"]=function(){return Module["asm"]["_inflateReset"].apply(null,arguments)};var _inflateReset2=Module["_inflateReset2"]=function(){return Module["asm"]["_inflateReset2"].apply(null,arguments)};var _inflateResetKeep=Module["_inflateResetKeep"]=function(){return Module["asm"]["_inflateResetKeep"].apply(null,arguments)};var _inflateSetDictionary=Module["_inflateSetDictionary"]=function(){return Module["asm"]["_inflateSetDictionary"].apply(null,arguments)};var _inflateSync=Module["_inflateSync"]=function(){return Module["asm"]["_inflateSync"].apply(null,arguments)};var _inflateSyncPoint=Module["_inflateSyncPoint"]=function(){return Module["asm"]["_inflateSyncPoint"].apply(null,arguments)};var _inflateUndermine=Module["_inflateUndermine"]=function(){return Module["asm"]["_inflateUndermine"].apply(null,arguments)};var _inflate_13628=Module["_inflate_13628"]=function(){return Module["asm"]["_inflate_13628"].apply(null,arguments)};var _inflate_fast=Module["_inflate_fast"]=function(){return Module["asm"]["_inflate_fast"].apply(null,arguments)};var _inflate_flush=Module["_inflate_flush"]=function(){return Module["asm"]["_inflate_flush"].apply(null,arguments)};var _inflate_table=Module["_inflate_table"]=function(){return Module["asm"]["_inflate_table"].apply(null,arguments)};var _initMemArray=Module["_initMemArray"]=function(){return Module["asm"]["_initMemArray"].apply(null,arguments)};var _initScan=Module["_initScan"]=function(){return Module["asm"]["_initScan"].apply(null,arguments)};var _initScanContent=Module["_initScanContent"]=function(){return Module["asm"]["_initScanContent"].apply(null,arguments)};var _initScanContentNS=Module["_initScanContentNS"]=function(){return Module["asm"]["_initScanContentNS"].apply(null,arguments)};var _initScanProlog=Module["_initScanProlog"]=function(){return Module["asm"]["_initScanProlog"].apply(null,arguments)};var _initScanPrologNS=Module["_initScanPrologNS"]=function(){return Module["asm"]["_initScanPrologNS"].apply(null,arguments)};var _initUpdatePosition=Module["_initUpdatePosition"]=function(){return Module["asm"]["_initUpdatePosition"].apply(null,arguments)};var _init_block=Module["_init_block"]=function(){return Module["asm"]["_init_block"].apply(null,arguments)};var _init_method_ref=Module["_init_method_ref"]=function(){return Module["asm"]["_init_method_ref"].apply(null,arguments)};var _init_sys_streams=Module["_init_sys_streams"]=function(){return Module["asm"]["_init_sys_streams"].apply(null,arguments)};var _init_types=Module["_init_types"]=function(){return Module["asm"]["_init_types"].apply(null,arguments)};var _initfsencoding=Module["_initfsencoding"]=function(){return Module["asm"]["_initfsencoding"].apply(null,arguments)};var _initimport=Module["_initimport"]=function(){return Module["asm"]["_initimport"].apply(null,arguments)};var _initstate=Module["_initstate"]=function(){return Module["asm"]["_initstate"].apply(null,arguments)};var _innerLoopLoadRow=Module["_innerLoopLoadRow"]=function(){return Module["asm"]["_innerLoopLoadRow"].apply(null,arguments)};var _ins=Module["_ins"]=function(){return Module["asm"]["_ins"].apply(null,arguments)};var _insertBinaryOperator=Module["_insertBinaryOperator"]=function(){return Module["asm"]["_insertBinaryOperator"].apply(null,arguments)};var _insertCell=Module["_insertCell"]=function(){return Module["asm"]["_insertCell"].apply(null,arguments)};var _insertElement=Module["_insertElement"]=function(){return Module["asm"]["_insertElement"].apply(null,arguments)};var _insertdict=Module["_insertdict"]=function(){return Module["asm"]["_insertdict"].apply(null,arguments)};var _insort_left=Module["_insort_left"]=function(){return Module["asm"]["_insort_left"].apply(null,arguments)};var _insort_right=Module["_insort_right"]=function(){return Module["asm"]["_insort_right"].apply(null,arguments)};var _instancemethod_call=Module["_instancemethod_call"]=function(){return Module["asm"]["_instancemethod_call"].apply(null,arguments)};var _instancemethod_dealloc=Module["_instancemethod_dealloc"]=function(){return Module["asm"]["_instancemethod_dealloc"].apply(null,arguments)};var _instancemethod_descr_get=Module["_instancemethod_descr_get"]=function(){return Module["asm"]["_instancemethod_descr_get"].apply(null,arguments)};var _instancemethod_get_doc=Module["_instancemethod_get_doc"]=function(){return Module["asm"]["_instancemethod_get_doc"].apply(null,arguments)};var _instancemethod_getattro=Module["_instancemethod_getattro"]=function(){return Module["asm"]["_instancemethod_getattro"].apply(null,arguments)};var _instancemethod_new=Module["_instancemethod_new"]=function(){return Module["asm"]["_instancemethod_new"].apply(null,arguments)};var _instancemethod_repr=Module["_instancemethod_repr"]=function(){return Module["asm"]["_instancemethod_repr"].apply(null,arguments)};var _instancemethod_richcompare=Module["_instancemethod_richcompare"]=function(){return Module["asm"]["_instancemethod_richcompare"].apply(null,arguments)};var _instancemethod_traverse=Module["_instancemethod_traverse"]=function(){return Module["asm"]["_instancemethod_traverse"].apply(null,arguments)};var _instrFunc=Module["_instrFunc"]=function(){return Module["asm"]["_instrFunc"].apply(null,arguments)};var _int___format__=Module["_int___format__"]=function(){return Module["asm"]["_int___format__"].apply(null,arguments)};var _int___getnewargs__=Module["_int___getnewargs__"]=function(){return Module["asm"]["_int___getnewargs__"].apply(null,arguments)};var _int___sizeof__=Module["_int___sizeof__"]=function(){return Module["asm"]["_int___sizeof__"].apply(null,arguments)};var _int_bit_length=Module["_int_bit_length"]=function(){return Module["asm"]["_int_bit_length"].apply(null,arguments)};var _int_from_bytes=Module["_int_from_bytes"]=function(){return Module["asm"]["_int_from_bytes"].apply(null,arguments)};var _int_to_bytes=Module["_int_to_bytes"]=function(){return Module["asm"]["_int_to_bytes"].apply(null,arguments)};var _integrityCheckResultRow=Module["_integrityCheckResultRow"]=function(){return Module["asm"]["_integrityCheckResultRow"].apply(null,arguments)};var _intern_string_constants=Module["_intern_string_constants"]=function(){return Module["asm"]["_intern_string_constants"].apply(null,arguments)};var _internalEntityProcessor=Module["_internalEntityProcessor"]=function(){return Module["asm"]["_internalEntityProcessor"].apply(null,arguments)};var _internalSubset=Module["_internalSubset"]=function(){return Module["asm"]["_internalSubset"].apply(null,arguments)};var _internal_bisect_left=Module["_internal_bisect_left"]=function(){return Module["asm"]["_internal_bisect_left"].apply(null,arguments)};var _internal_bisect_right=Module["_internal_bisect_right"]=function(){return Module["asm"]["_internal_bisect_right"].apply(null,arguments)};var _internal_connect=Module["_internal_connect"]=function(){return Module["asm"]["_internal_connect"].apply(null,arguments)};var _internal_memalign=Module["_internal_memalign"]=function(){return Module["asm"]["_internal_memalign"].apply(null,arguments)};var _internal_rename=Module["_internal_rename"]=function(){return Module["asm"]["_internal_rename"].apply(null,arguments)};var _internal_setblocking=Module["_internal_setblocking"]=function(){return Module["asm"]["_internal_setblocking"].apply(null,arguments)};var _inv_four_step_fnt=Module["_inv_four_step_fnt"]=function(){return Module["asm"]["_inv_four_step_fnt"].apply(null,arguments)};var _inv_six_step_fnt=Module["_inv_six_step_fnt"]=function(){return Module["asm"]["_inv_six_step_fnt"].apply(null,arguments)};var _invalidateAllOverflowCache=Module["_invalidateAllOverflowCache"]=function(){return Module["asm"]["_invalidateAllOverflowCache"].apply(null,arguments)};var _invalidateIncrblobCursors=Module["_invalidateIncrblobCursors"]=function(){return Module["asm"]["_invalidateIncrblobCursors"].apply(null,arguments)};var _invalidateTempStorage=Module["_invalidateTempStorage"]=function(){return Module["asm"]["_invalidateTempStorage"].apply(null,arguments)};var _invokeProfileCallback=Module["_invokeProfileCallback"]=function(){return Module["asm"]["_invokeProfileCallback"].apply(null,arguments)};var _invokeValueDestructor=Module["_invokeValueDestructor"]=function(){return Module["asm"]["_invokeValueDestructor"].apply(null,arguments)};var _invoke_gc_callback=Module["_invoke_gc_callback"]=function(){return Module["asm"]["_invoke_gc_callback"].apply(null,arguments)};var _iobase_clear=Module["_iobase_clear"]=function(){return Module["asm"]["_iobase_clear"].apply(null,arguments)};var _iobase_closed_get=Module["_iobase_closed_get"]=function(){return Module["asm"]["_iobase_closed_get"].apply(null,arguments)};var _iobase_dealloc=Module["_iobase_dealloc"]=function(){return Module["asm"]["_iobase_dealloc"].apply(null,arguments)};var _iobase_enter=Module["_iobase_enter"]=function(){return Module["asm"]["_iobase_enter"].apply(null,arguments)};var _iobase_exit=Module["_iobase_exit"]=function(){return Module["asm"]["_iobase_exit"].apply(null,arguments)};var _iobase_finalize=Module["_iobase_finalize"]=function(){return Module["asm"]["_iobase_finalize"].apply(null,arguments)};var _iobase_iter=Module["_iobase_iter"]=function(){return Module["asm"]["_iobase_iter"].apply(null,arguments)};var _iobase_iternext=Module["_iobase_iternext"]=function(){return Module["asm"]["_iobase_iternext"].apply(null,arguments)};var _iobase_seek=Module["_iobase_seek"]=function(){return Module["asm"]["_iobase_seek"].apply(null,arguments)};var _iobase_traverse=Module["_iobase_traverse"]=function(){return Module["asm"]["_iobase_traverse"].apply(null,arguments)};var _iobase_truncate=Module["_iobase_truncate"]=function(){return Module["asm"]["_iobase_truncate"].apply(null,arguments)};var _ioctl=Module["_ioctl"]=function(){return Module["asm"]["_ioctl"].apply(null,arguments)};var _iomodule_clear=Module["_iomodule_clear"]=function(){return Module["asm"]["_iomodule_clear"].apply(null,arguments)};var _iomodule_free=Module["_iomodule_free"]=function(){return Module["asm"]["_iomodule_free"].apply(null,arguments)};var _iomodule_traverse=Module["_iomodule_traverse"]=function(){return Module["asm"]["_iomodule_traverse"].apply(null,arguments)};var _iov_setup=Module["_iov_setup"]=function(){return Module["asm"]["_iov_setup"].apply(null,arguments)};var _isAllZero=Module["_isAllZero"]=function(){return Module["asm"]["_isAllZero"].apply(null,arguments)};var _isAlterableTable=Module["_isAlterableTable"]=function(){return Module["asm"]["_isAlterableTable"].apply(null,arguments)};var _isAuxiliaryVtabOperator=Module["_isAuxiliaryVtabOperator"]=function(){return Module["asm"]["_isAuxiliaryVtabOperator"].apply(null,arguments)};var _isCandidateForInOpt=Module["_isCandidateForInOpt"]=function(){return Module["asm"]["_isCandidateForInOpt"].apply(null,arguments)};var _isConsonant=Module["_isConsonant"]=function(){return Module["asm"]["_isConsonant"].apply(null,arguments)};var _isDate=Module["_isDate"]=function(){return Module["asm"]["_isDate"].apply(null,arguments)};var _isDistinctRedundant=Module["_isDistinctRedundant"]=function(){return Module["asm"]["_isDistinctRedundant"].apply(null,arguments)};var _isFatalError=Module["_isFatalError"]=function(){return Module["asm"]["_isFatalError"].apply(null,arguments)};var _isLikeOrGlob=Module["_isLikeOrGlob"]=function(){return Module["asm"]["_isLikeOrGlob"].apply(null,arguments)};var _isLookaside=Module["_isLookaside"]=function(){return Module["asm"]["_isLookaside"].apply(null,arguments)};var _isNever=Module["_isNever"]=function(){return Module["asm"]["_isNever"].apply(null,arguments)};var _isRealTable=Module["_isRealTable"]=function(){return Module["asm"]["_isRealTable"].apply(null,arguments)};var _isSelfJoinView=Module["_isSelfJoinView"]=function(){return Module["asm"]["_isSelfJoinView"].apply(null,arguments)};var _isSetNullAction=Module["_isSetNullAction"]=function(){return Module["asm"]["_isSetNullAction"].apply(null,arguments)};var _isShadowTableName=Module["_isShadowTableName"]=function(){return Module["asm"]["_isShadowTableName"].apply(null,arguments)};var _isSimpleCount=Module["_isSimpleCount"]=function(){return Module["asm"]["_isSimpleCount"].apply(null,arguments)};var _isVowel=Module["_isVowel"]=function(){return Module["asm"]["_isVowel"].apply(null,arguments)};var _is_dead_weakref=Module["_is_dead_weakref"]=function(){return Module["asm"]["_is_dead_weakref"].apply(null,arguments)};var _is_internal_frame=Module["_is_internal_frame"]=function(){return Module["asm"]["_is_internal_frame"].apply(null,arguments)};var _is_literal=Module["_is_literal"]=function(){return Module["asm"]["_is_literal"].apply(null,arguments)};var _is_lost_conn=Module["_is_lost_conn"]=function(){return Module["asm"]["_is_lost_conn"].apply(null,arguments)};var _is_normalized=Module["_is_normalized"]=function(){return Module["asm"]["_is_normalized"].apply(null,arguments)};var _is_valid_hostname=Module["_is_valid_hostname"]=function(){return Module["asm"]["_is_valid_hostname"].apply(null,arguments)};var _isalnum=Module["_isalnum"]=function(){return Module["asm"]["_isalnum"].apply(null,arguments)};var _isalnum_l=Module["_isalnum_l"]=function(){return Module["asm"]["_isalnum_l"].apply(null,arguments)};var _isalpha=Module["_isalpha"]=function(){return Module["asm"]["_isalpha"].apply(null,arguments)};var _isalpha_l=Module["_isalpha_l"]=function(){return Module["asm"]["_isalpha_l"].apply(null,arguments)};var _isascii=Module["_isascii"]=function(){return Module["asm"]["_isascii"].apply(null,arguments)};var _isatty=Module["_isatty"]=function(){return Module["asm"]["_isatty"].apply(null,arguments)};var _isblank=Module["_isblank"]=function(){return Module["asm"]["_isblank"].apply(null,arguments)};var _isblank_l=Module["_isblank_l"]=function(){return Module["asm"]["_isblank_l"].apply(null,arguments)};var _iscntrl=Module["_iscntrl"]=function(){return Module["asm"]["_iscntrl"].apply(null,arguments)};var _iscntrl_l=Module["_iscntrl_l"]=function(){return Module["asm"]["_iscntrl_l"].apply(null,arguments)};var _isdigit=Module["_isdigit"]=function(){return Module["asm"]["_isdigit"].apply(null,arguments)};var _isdigit_l=Module["_isdigit_l"]=function(){return Module["asm"]["_isdigit_l"].apply(null,arguments)};var _isgraph=Module["_isgraph"]=function(){return Module["asm"]["_isgraph"].apply(null,arguments)};var _isgraph_l=Module["_isgraph_l"]=function(){return Module["asm"]["_isgraph_l"].apply(null,arguments)};var _islice_dealloc=Module["_islice_dealloc"]=function(){return Module["asm"]["_islice_dealloc"].apply(null,arguments)};var _islice_new=Module["_islice_new"]=function(){return Module["asm"]["_islice_new"].apply(null,arguments)};var _islice_next=Module["_islice_next"]=function(){return Module["asm"]["_islice_next"].apply(null,arguments)};var _islice_reduce=Module["_islice_reduce"]=function(){return Module["asm"]["_islice_reduce"].apply(null,arguments)};var _islice_setstate=Module["_islice_setstate"]=function(){return Module["asm"]["_islice_setstate"].apply(null,arguments)};var _islice_traverse=Module["_islice_traverse"]=function(){return Module["asm"]["_islice_traverse"].apply(null,arguments)};var _islower=Module["_islower"]=function(){return Module["asm"]["_islower"].apply(null,arguments)};var _islower_l=Module["_islower_l"]=function(){return Module["asm"]["_islower_l"].apply(null,arguments)};var _iso2022_codec_init=Module["_iso2022_codec_init"]=function(){return Module["asm"]["_iso2022_codec_init"].apply(null,arguments)};var _iso2022_decode=Module["_iso2022_decode"]=function(){return Module["asm"]["_iso2022_decode"].apply(null,arguments)};var _iso2022_decode_init=Module["_iso2022_decode_init"]=function(){return Module["asm"]["_iso2022_decode_init"].apply(null,arguments)};var _iso2022_decode_reset=Module["_iso2022_decode_reset"]=function(){return Module["asm"]["_iso2022_decode_reset"].apply(null,arguments)};var _iso2022_encode=Module["_iso2022_encode"]=function(){return Module["asm"]["_iso2022_encode"].apply(null,arguments)};var _iso2022_encode_init=Module["_iso2022_encode_init"]=function(){return Module["asm"]["_iso2022_encode_init"].apply(null,arguments)};var _iso2022_encode_reset=Module["_iso2022_encode_reset"]=function(){return Module["asm"]["_iso2022_encode_reset"].apply(null,arguments)};var _isprint=Module["_isprint"]=function(){return Module["asm"]["_isprint"].apply(null,arguments)};var _isprint_l=Module["_isprint_l"]=function(){return Module["asm"]["_isprint_l"].apply(null,arguments)};var _ispunct=Module["_ispunct"]=function(){return Module["asm"]["_ispunct"].apply(null,arguments)};var _ispunct_l=Module["_ispunct_l"]=function(){return Module["asm"]["_ispunct_l"].apply(null,arguments)};var _issetugid=Module["_issetugid"]=function(){return Module["asm"]["_issetugid"].apply(null,arguments)};var _isspace=Module["_isspace"]=function(){return Module["asm"]["_isspace"].apply(null,arguments)};var _isspace_l=Module["_isspace_l"]=function(){return Module["asm"]["_isspace_l"].apply(null,arguments)};var _isupper=Module["_isupper"]=function(){return Module["asm"]["_isupper"].apply(null,arguments)};var _isupper_l=Module["_isupper_l"]=function(){return Module["asm"]["_isupper_l"].apply(null,arguments)};var _iswalnum=Module["_iswalnum"]=function(){return Module["asm"]["_iswalnum"].apply(null,arguments)};var _iswalnum_l=Module["_iswalnum_l"]=function(){return Module["asm"]["_iswalnum_l"].apply(null,arguments)};var _iswalpha=Module["_iswalpha"]=function(){return Module["asm"]["_iswalpha"].apply(null,arguments)};var _iswalpha_l=Module["_iswalpha_l"]=function(){return Module["asm"]["_iswalpha_l"].apply(null,arguments)};var _iswblank=Module["_iswblank"]=function(){return Module["asm"]["_iswblank"].apply(null,arguments)};var _iswblank_l=Module["_iswblank_l"]=function(){return Module["asm"]["_iswblank_l"].apply(null,arguments)};var _iswcntrl=Module["_iswcntrl"]=function(){return Module["asm"]["_iswcntrl"].apply(null,arguments)};var _iswcntrl_l=Module["_iswcntrl_l"]=function(){return Module["asm"]["_iswcntrl_l"].apply(null,arguments)};var _iswctype=Module["_iswctype"]=function(){return Module["asm"]["_iswctype"].apply(null,arguments)};var _iswctype_l=Module["_iswctype_l"]=function(){return Module["asm"]["_iswctype_l"].apply(null,arguments)};var _iswdigit=Module["_iswdigit"]=function(){return Module["asm"]["_iswdigit"].apply(null,arguments)};var _iswdigit_l=Module["_iswdigit_l"]=function(){return Module["asm"]["_iswdigit_l"].apply(null,arguments)};var _iswgraph=Module["_iswgraph"]=function(){return Module["asm"]["_iswgraph"].apply(null,arguments)};var _iswgraph_l=Module["_iswgraph_l"]=function(){return Module["asm"]["_iswgraph_l"].apply(null,arguments)};var _iswlower=Module["_iswlower"]=function(){return Module["asm"]["_iswlower"].apply(null,arguments)};var _iswlower_l=Module["_iswlower_l"]=function(){return Module["asm"]["_iswlower_l"].apply(null,arguments)};var _iswprint=Module["_iswprint"]=function(){return Module["asm"]["_iswprint"].apply(null,arguments)};var _iswprint_l=Module["_iswprint_l"]=function(){return Module["asm"]["_iswprint_l"].apply(null,arguments)};var _iswpunct=Module["_iswpunct"]=function(){return Module["asm"]["_iswpunct"].apply(null,arguments)};var _iswpunct_l=Module["_iswpunct_l"]=function(){return Module["asm"]["_iswpunct_l"].apply(null,arguments)};var _iswspace=Module["_iswspace"]=function(){return Module["asm"]["_iswspace"].apply(null,arguments)};var _iswspace_l=Module["_iswspace_l"]=function(){return Module["asm"]["_iswspace_l"].apply(null,arguments)};var _iswupper=Module["_iswupper"]=function(){return Module["asm"]["_iswupper"].apply(null,arguments)};var _iswupper_l=Module["_iswupper_l"]=function(){return Module["asm"]["_iswupper_l"].apply(null,arguments)};var _iswxdigit=Module["_iswxdigit"]=function(){return Module["asm"]["_iswxdigit"].apply(null,arguments)};var _iswxdigit_l=Module["_iswxdigit_l"]=function(){return Module["asm"]["_iswxdigit_l"].apply(null,arguments)};var _isxdigit=Module["_isxdigit"]=function(){return Module["asm"]["_isxdigit"].apply(null,arguments)};var _isxdigit_l=Module["_isxdigit_l"]=function(){return Module["asm"]["_isxdigit_l"].apply(null,arguments)};var _itemgetter_call=Module["_itemgetter_call"]=function(){return Module["asm"]["_itemgetter_call"].apply(null,arguments)};var _itemgetter_dealloc=Module["_itemgetter_dealloc"]=function(){return Module["asm"]["_itemgetter_dealloc"].apply(null,arguments)};var _itemgetter_new=Module["_itemgetter_new"]=function(){return Module["asm"]["_itemgetter_new"].apply(null,arguments)};var _itemgetter_reduce=Module["_itemgetter_reduce"]=function(){return Module["asm"]["_itemgetter_reduce"].apply(null,arguments)};var _itemgetter_repr=Module["_itemgetter_repr"]=function(){return Module["asm"]["_itemgetter_repr"].apply(null,arguments)};var _itemgetter_traverse=Module["_itemgetter_traverse"]=function(){return Module["asm"]["_itemgetter_traverse"].apply(null,arguments)};var _iter_dealloc=Module["_iter_dealloc"]=function(){return Module["asm"]["_iter_dealloc"].apply(null,arguments)};var _iter_iternext=Module["_iter_iternext"]=function(){return Module["asm"]["_iter_iternext"].apply(null,arguments)};var _iter_len=Module["_iter_len"]=function(){return Module["asm"]["_iter_len"].apply(null,arguments)};var _iter_reduce=Module["_iter_reduce"]=function(){return Module["asm"]["_iter_reduce"].apply(null,arguments)};var _iter_setstate=Module["_iter_setstate"]=function(){return Module["asm"]["_iter_setstate"].apply(null,arguments)};var _iter_traverse=Module["_iter_traverse"]=function(){return Module["asm"]["_iter_traverse"].apply(null,arguments)};var _iter_unpack=Module["_iter_unpack"]=function(){return Module["asm"]["_iter_unpack"].apply(null,arguments)};var _j0=Module["_j0"]=function(){return Module["asm"]["_j0"].apply(null,arguments)};var _j0f=Module["_j0f"]=function(){return Module["asm"]["_j0f"].apply(null,arguments)};var _j1=Module["_j1"]=function(){return Module["asm"]["_j1"].apply(null,arguments)};var _j1f=Module["_j1f"]=function(){return Module["asm"]["_j1f"].apply(null,arguments)};var _jisx0201_k_decoder=Module["_jisx0201_k_decoder"]=function(){return Module["asm"]["_jisx0201_k_decoder"].apply(null,arguments)};var _jisx0201_k_encoder=Module["_jisx0201_k_encoder"]=function(){return Module["asm"]["_jisx0201_k_encoder"].apply(null,arguments)};var _jisx0201_r_decoder=Module["_jisx0201_r_decoder"]=function(){return Module["asm"]["_jisx0201_r_decoder"].apply(null,arguments)};var _jisx0201_r_encoder=Module["_jisx0201_r_encoder"]=function(){return Module["asm"]["_jisx0201_r_encoder"].apply(null,arguments)};var _jisx0208_decoder=Module["_jisx0208_decoder"]=function(){return Module["asm"]["_jisx0208_decoder"].apply(null,arguments)};var _jisx0208_encoder=Module["_jisx0208_encoder"]=function(){return Module["asm"]["_jisx0208_encoder"].apply(null,arguments)};var _jisx0208_init=Module["_jisx0208_init"]=function(){return Module["asm"]["_jisx0208_init"].apply(null,arguments)};var _jisx0212_decoder=Module["_jisx0212_decoder"]=function(){return Module["asm"]["_jisx0212_decoder"].apply(null,arguments)};var _jisx0212_encoder=Module["_jisx0212_encoder"]=function(){return Module["asm"]["_jisx0212_encoder"].apply(null,arguments)};var _jisx0212_init=Module["_jisx0212_init"]=function(){return Module["asm"]["_jisx0212_init"].apply(null,arguments)};var _jisx0213_2000_1_decoder=Module["_jisx0213_2000_1_decoder"]=function(){return Module["asm"]["_jisx0213_2000_1_decoder"].apply(null,arguments)};var _jisx0213_2000_1_encoder=Module["_jisx0213_2000_1_encoder"]=function(){return Module["asm"]["_jisx0213_2000_1_encoder"].apply(null,arguments)};var _jisx0213_2000_1_encoder_paironly=Module["_jisx0213_2000_1_encoder_paironly"]=function(){return Module["asm"]["_jisx0213_2000_1_encoder_paironly"].apply(null,arguments)};var _jisx0213_2000_2_decoder=Module["_jisx0213_2000_2_decoder"]=function(){return Module["asm"]["_jisx0213_2000_2_decoder"].apply(null,arguments)};var _jisx0213_2000_2_encoder=Module["_jisx0213_2000_2_encoder"]=function(){return Module["asm"]["_jisx0213_2000_2_encoder"].apply(null,arguments)};var _jisx0213_2004_1_decoder=Module["_jisx0213_2004_1_decoder"]=function(){return Module["asm"]["_jisx0213_2004_1_decoder"].apply(null,arguments)};var _jisx0213_2004_1_encoder=Module["_jisx0213_2004_1_encoder"]=function(){return Module["asm"]["_jisx0213_2004_1_encoder"].apply(null,arguments)};var _jisx0213_2004_1_encoder_paironly=Module["_jisx0213_2004_1_encoder_paironly"]=function(){return Module["asm"]["_jisx0213_2004_1_encoder_paironly"].apply(null,arguments)};var _jisx0213_2004_2_decoder=Module["_jisx0213_2004_2_decoder"]=function(){return Module["asm"]["_jisx0213_2004_2_decoder"].apply(null,arguments)};var _jisx0213_2004_2_encoder=Module["_jisx0213_2004_2_encoder"]=function(){return Module["asm"]["_jisx0213_2004_2_encoder"].apply(null,arguments)};var _jisx0213_encoder=Module["_jisx0213_encoder"]=function(){return Module["asm"]["_jisx0213_encoder"].apply(null,arguments)};var _jisx0213_init=Module["_jisx0213_init"]=function(){return Module["asm"]["_jisx0213_init"].apply(null,arguments)};var _jn=Module["_jn"]=function(){return Module["asm"]["_jn"].apply(null,arguments)};var _jnf=Module["_jnf"]=function(){return Module["asm"]["_jnf"].apply(null,arguments)};var _johab_decode=Module["_johab_decode"]=function(){return Module["asm"]["_johab_decode"].apply(null,arguments)};var _johab_encode=Module["_johab_encode"]=function(){return Module["asm"]["_johab_encode"].apply(null,arguments)};var _join_append=Module["_join_append"]=function(){return Module["asm"]["_join_append"].apply(null,arguments)};var _join_append_data=Module["_join_append_data"]=function(){return Module["asm"]["_join_append_data"].apply(null,arguments)};var _join_check_rec_size=Module["_join_check_rec_size"]=function(){return Module["asm"]["_join_check_rec_size"].apply(null,arguments)};var _journalHdrOffset=Module["_journalHdrOffset"]=function(){return Module["asm"]["_journalHdrOffset"].apply(null,arguments)};var _jrand48=Module["_jrand48"]=function(){return Module["asm"]["_jrand48"].apply(null,arguments)};var _jrnlBufferSize=Module["_jrnlBufferSize"]=function(){return Module["asm"]["_jrnlBufferSize"].apply(null,arguments)};var _js2python=Module["_js2python"]=function(){return Module["asm"]["_js2python"].apply(null,arguments)};var _js2python_init=Module["_js2python_init"]=function(){return Module["asm"]["_js2python_init"].apply(null,arguments)};var _jsonAppendChar=Module["_jsonAppendChar"]=function(){return Module["asm"]["_jsonAppendChar"].apply(null,arguments)};var _jsonAppendRaw=Module["_jsonAppendRaw"]=function(){return Module["asm"]["_jsonAppendRaw"].apply(null,arguments)};var _jsonAppendSeparator=Module["_jsonAppendSeparator"]=function(){return Module["asm"]["_jsonAppendSeparator"].apply(null,arguments)};var _jsonAppendString=Module["_jsonAppendString"]=function(){return Module["asm"]["_jsonAppendString"].apply(null,arguments)};var _jsonAppendValue=Module["_jsonAppendValue"]=function(){return Module["asm"]["_jsonAppendValue"].apply(null,arguments)};var _jsonArrayCompute=Module["_jsonArrayCompute"]=function(){return Module["asm"]["_jsonArrayCompute"].apply(null,arguments)};var _jsonArrayFinal=Module["_jsonArrayFinal"]=function(){return Module["asm"]["_jsonArrayFinal"].apply(null,arguments)};var _jsonArrayFunc=Module["_jsonArrayFunc"]=function(){return Module["asm"]["_jsonArrayFunc"].apply(null,arguments)};var _jsonArrayLengthFunc=Module["_jsonArrayLengthFunc"]=function(){return Module["asm"]["_jsonArrayLengthFunc"].apply(null,arguments)};var _jsonArrayStep=Module["_jsonArrayStep"]=function(){return Module["asm"]["_jsonArrayStep"].apply(null,arguments)};var _jsonArrayValue=Module["_jsonArrayValue"]=function(){return Module["asm"]["_jsonArrayValue"].apply(null,arguments)};var _jsonEachBestIndex=Module["_jsonEachBestIndex"]=function(){return Module["asm"]["_jsonEachBestIndex"].apply(null,arguments)};var _jsonEachClose=Module["_jsonEachClose"]=function(){return Module["asm"]["_jsonEachClose"].apply(null,arguments)};var _jsonEachColumn=Module["_jsonEachColumn"]=function(){return Module["asm"]["_jsonEachColumn"].apply(null,arguments)};var _jsonEachComputePath=Module["_jsonEachComputePath"]=function(){return Module["asm"]["_jsonEachComputePath"].apply(null,arguments)};var _jsonEachConnect=Module["_jsonEachConnect"]=function(){return Module["asm"]["_jsonEachConnect"].apply(null,arguments)};var _jsonEachCursorReset=Module["_jsonEachCursorReset"]=function(){return Module["asm"]["_jsonEachCursorReset"].apply(null,arguments)};var _jsonEachDisconnect=Module["_jsonEachDisconnect"]=function(){return Module["asm"]["_jsonEachDisconnect"].apply(null,arguments)};var _jsonEachEof=Module["_jsonEachEof"]=function(){return Module["asm"]["_jsonEachEof"].apply(null,arguments)};var _jsonEachFilter=Module["_jsonEachFilter"]=function(){return Module["asm"]["_jsonEachFilter"].apply(null,arguments)};var _jsonEachNext=Module["_jsonEachNext"]=function(){return Module["asm"]["_jsonEachNext"].apply(null,arguments)};var _jsonEachOpenEach=Module["_jsonEachOpenEach"]=function(){return Module["asm"]["_jsonEachOpenEach"].apply(null,arguments)};var _jsonEachOpenTree=Module["_jsonEachOpenTree"]=function(){return Module["asm"]["_jsonEachOpenTree"].apply(null,arguments)};var _jsonEachRowid=Module["_jsonEachRowid"]=function(){return Module["asm"]["_jsonEachRowid"].apply(null,arguments)};var _jsonExtractFunc=Module["_jsonExtractFunc"]=function(){return Module["asm"]["_jsonExtractFunc"].apply(null,arguments)};var _jsonGroupInverse=Module["_jsonGroupInverse"]=function(){return Module["asm"]["_jsonGroupInverse"].apply(null,arguments)};var _jsonGrow=Module["_jsonGrow"]=function(){return Module["asm"]["_jsonGrow"].apply(null,arguments)};var _jsonInit=Module["_jsonInit"]=function(){return Module["asm"]["_jsonInit"].apply(null,arguments)};var _jsonIs4Hex=Module["_jsonIs4Hex"]=function(){return Module["asm"]["_jsonIs4Hex"].apply(null,arguments)};var _jsonLabelCompare=Module["_jsonLabelCompare"]=function(){return Module["asm"]["_jsonLabelCompare"].apply(null,arguments)};var _jsonLookup=Module["_jsonLookup"]=function(){return Module["asm"]["_jsonLookup"].apply(null,arguments)};var _jsonLookupAppend=Module["_jsonLookupAppend"]=function(){return Module["asm"]["_jsonLookupAppend"].apply(null,arguments)};var _jsonLookupStep=Module["_jsonLookupStep"]=function(){return Module["asm"]["_jsonLookupStep"].apply(null,arguments)};var _jsonMergePatch=Module["_jsonMergePatch"]=function(){return Module["asm"]["_jsonMergePatch"].apply(null,arguments)};var _jsonNodeSize=Module["_jsonNodeSize"]=function(){return Module["asm"]["_jsonNodeSize"].apply(null,arguments)};var _jsonObjectCompute=Module["_jsonObjectCompute"]=function(){return Module["asm"]["_jsonObjectCompute"].apply(null,arguments)};var _jsonObjectFinal=Module["_jsonObjectFinal"]=function(){return Module["asm"]["_jsonObjectFinal"].apply(null,arguments)};var _jsonObjectFunc=Module["_jsonObjectFunc"]=function(){return Module["asm"]["_jsonObjectFunc"].apply(null,arguments)};var _jsonObjectStep=Module["_jsonObjectStep"]=function(){return Module["asm"]["_jsonObjectStep"].apply(null,arguments)};var _jsonObjectValue=Module["_jsonObjectValue"]=function(){return Module["asm"]["_jsonObjectValue"].apply(null,arguments)};var _jsonOom=Module["_jsonOom"]=function(){return Module["asm"]["_jsonOom"].apply(null,arguments)};var _jsonParse=Module["_jsonParse"]=function(){return Module["asm"]["_jsonParse"].apply(null,arguments)};var _jsonParseAddNode=Module["_jsonParseAddNode"]=function(){return Module["asm"]["_jsonParseAddNode"].apply(null,arguments)};var _jsonParseAddNodeExpand=Module["_jsonParseAddNodeExpand"]=function(){return Module["asm"]["_jsonParseAddNodeExpand"].apply(null,arguments)};var _jsonParseCached=Module["_jsonParseCached"]=function(){return Module["asm"]["_jsonParseCached"].apply(null,arguments)};var _jsonParseFillInParentage=Module["_jsonParseFillInParentage"]=function(){return Module["asm"]["_jsonParseFillInParentage"].apply(null,arguments)};var _jsonParseFindParents=Module["_jsonParseFindParents"]=function(){return Module["asm"]["_jsonParseFindParents"].apply(null,arguments)};var _jsonParseFree=Module["_jsonParseFree"]=function(){return Module["asm"]["_jsonParseFree"].apply(null,arguments)};var _jsonParseReset=Module["_jsonParseReset"]=function(){return Module["asm"]["_jsonParseReset"].apply(null,arguments)};var _jsonParseValue=Module["_jsonParseValue"]=function(){return Module["asm"]["_jsonParseValue"].apply(null,arguments)};var _jsonPatchFunc=Module["_jsonPatchFunc"]=function(){return Module["asm"]["_jsonPatchFunc"].apply(null,arguments)};var _jsonPathSyntaxError=Module["_jsonPathSyntaxError"]=function(){return Module["asm"]["_jsonPathSyntaxError"].apply(null,arguments)};var _jsonPrintf=Module["_jsonPrintf"]=function(){return Module["asm"]["_jsonPrintf"].apply(null,arguments)};var _jsonQuoteFunc=Module["_jsonQuoteFunc"]=function(){return Module["asm"]["_jsonQuoteFunc"].apply(null,arguments)};var _jsonRemoveAllNulls=Module["_jsonRemoveAllNulls"]=function(){return Module["asm"]["_jsonRemoveAllNulls"].apply(null,arguments)};var _jsonRemoveFunc=Module["_jsonRemoveFunc"]=function(){return Module["asm"]["_jsonRemoveFunc"].apply(null,arguments)};var _jsonRenderNode=Module["_jsonRenderNode"]=function(){return Module["asm"]["_jsonRenderNode"].apply(null,arguments)};var _jsonReplaceFunc=Module["_jsonReplaceFunc"]=function(){return Module["asm"]["_jsonReplaceFunc"].apply(null,arguments)};var _jsonReset=Module["_jsonReset"]=function(){return Module["asm"]["_jsonReset"].apply(null,arguments)};var _jsonResult=Module["_jsonResult"]=function(){return Module["asm"]["_jsonResult"].apply(null,arguments)};var _jsonReturn=Module["_jsonReturn"]=function(){return Module["asm"]["_jsonReturn"].apply(null,arguments)};var _jsonReturnJson=Module["_jsonReturnJson"]=function(){return Module["asm"]["_jsonReturnJson"].apply(null,arguments)};var _jsonSetFunc=Module["_jsonSetFunc"]=function(){return Module["asm"]["_jsonSetFunc"].apply(null,arguments)};var _jsonTypeFunc=Module["_jsonTypeFunc"]=function(){return Module["asm"]["_jsonTypeFunc"].apply(null,arguments)};var _jsonValidFunc=Module["_jsonValidFunc"]=function(){return Module["asm"]["_jsonValidFunc"].apply(null,arguments)};var _jsonWrongNumArgs=Module["_jsonWrongNumArgs"]=function(){return Module["asm"]["_jsonWrongNumArgs"].apply(null,arguments)};var _jsonZero=Module["_jsonZero"]=function(){return Module["asm"]["_jsonZero"].apply(null,arguments)};var _juliandayFunc=Module["_juliandayFunc"]=function(){return Module["asm"]["_juliandayFunc"].apply(null,arguments)};var _k_mul=Module["_k_mul"]=function(){return Module["asm"]["_k_mul"].apply(null,arguments)};var _keyobject_call=Module["_keyobject_call"]=function(){return Module["asm"]["_keyobject_call"].apply(null,arguments)};var _keyobject_clear=Module["_keyobject_clear"]=function(){return Module["asm"]["_keyobject_clear"].apply(null,arguments)};var _keyobject_dealloc=Module["_keyobject_dealloc"]=function(){return Module["asm"]["_keyobject_dealloc"].apply(null,arguments)};var _keyobject_richcompare=Module["_keyobject_richcompare"]=function(){return Module["asm"]["_keyobject_richcompare"].apply(null,arguments)};var _keyobject_traverse=Module["_keyobject_traverse"]=function(){return Module["asm"]["_keyobject_traverse"].apply(null,arguments)};var _keywordCode=Module["_keywordCode"]=function(){return Module["asm"]["_keywordCode"].apply(null,arguments)};var _ksx1001_decoder=Module["_ksx1001_decoder"]=function(){return Module["asm"]["_ksx1001_decoder"].apply(null,arguments)};var _ksx1001_encoder=Module["_ksx1001_encoder"]=function(){return Module["asm"]["_ksx1001_encoder"].apply(null,arguments)};var _ksx1001_init=Module["_ksx1001_init"]=function(){return Module["asm"]["_ksx1001_init"].apply(null,arguments)};var _l64a=Module["_l64a"]=function(){return Module["asm"]["_l64a"].apply(null,arguments)};var _l_compareitems=Module["_l_compareitems"]=function(){return Module["asm"]["_l_compareitems"].apply(null,arguments)};var _l_divmod=Module["_l_divmod"]=function(){return Module["asm"]["_l_divmod"].apply(null,arguments)};var _l_getitem=Module["_l_getitem"]=function(){return Module["asm"]["_l_getitem"].apply(null,arguments)};var _l_setitem=Module["_l_setitem"]=function(){return Module["asm"]["_l_setitem"].apply(null,arguments)};var _labelof=Module["_labelof"]=function(){return Module["asm"]["_labelof"].apply(null,arguments)};var _labs=Module["_labs"]=function(){return Module["asm"]["_labs"].apply(null,arguments)};var _langidFromSelect=Module["_langidFromSelect"]=function(){return Module["asm"]["_langidFromSelect"].apply(null,arguments)};var _last_insert_rowid=Module["_last_insert_rowid"]=function(){return Module["asm"]["_last_insert_rowid"].apply(null,arguments)};var _last_valueFinalizeFunc=Module["_last_valueFinalizeFunc"]=function(){return Module["asm"]["_last_valueFinalizeFunc"].apply(null,arguments)};var _last_valueInvFunc=Module["_last_valueInvFunc"]=function(){return Module["asm"]["_last_valueInvFunc"].apply(null,arguments)};var _last_valueStepFunc=Module["_last_valueStepFunc"]=function(){return Module["asm"]["_last_valueStepFunc"].apply(null,arguments)};var _last_valueValueFunc=Module["_last_valueValueFunc"]=function(){return Module["asm"]["_last_valueValueFunc"].apply(null,arguments)};var _latin1_encode=Module["_latin1_encode"]=function(){return Module["asm"]["_latin1_encode"].apply(null,arguments)};var _latin1_toUtf16=Module["_latin1_toUtf16"]=function(){return Module["asm"]["_latin1_toUtf16"].apply(null,arguments)};var _latin1_toUtf8=Module["_latin1_toUtf8"]=function(){return Module["asm"]["_latin1_toUtf8"].apply(null,arguments)};var _lcg31=Module["_lcg31"]=function(){return Module["asm"]["_lcg31"].apply(null,arguments)};var _lcg64=Module["_lcg64"]=function(){return Module["asm"]["_lcg64"].apply(null,arguments)};var _lchmod=Module["_lchmod"]=function(){return Module["asm"]["_lchmod"].apply(null,arguments)};var _lchown=Module["_lchown"]=function(){return Module["asm"]["_lchown"].apply(null,arguments)};var _lcong48=Module["_lcong48"]=function(){return Module["asm"]["_lcong48"].apply(null,arguments)};var _ldexp=Module["_ldexp"]=function(){return Module["asm"]["_ldexp"].apply(null,arguments)};var _ldexpf=Module["_ldexpf"]=function(){return Module["asm"]["_ldexpf"].apply(null,arguments)};var _ldexpl=Module["_ldexpl"]=function(){return Module["asm"]["_ldexpl"].apply(null,arguments)};var _ldiv=Module["_ldiv"]=function(){return Module["asm"]["_ldiv"].apply(null,arguments)};var _lengthFunc=Module["_lengthFunc"]=function(){return Module["asm"]["_lengthFunc"].apply(null,arguments)};var _lgamma=Module["_lgamma"]=function(){return Module["asm"]["_lgamma"].apply(null,arguments)};var _lgammaf=Module["_lgammaf"]=function(){return Module["asm"]["_lgammaf"].apply(null,arguments)};var _lgammal=Module["_lgammal"]=function(){return Module["asm"]["_lgammal"].apply(null,arguments)};var _likeFunc=Module["_likeFunc"]=function(){return Module["asm"]["_likeFunc"].apply(null,arguments)};var _link=Module["_link"]=function(){return Module["asm"]["_link"].apply(null,arguments)};var _linkat=Module["_linkat"]=function(){return Module["asm"]["_linkat"].apply(null,arguments)};var _list1node=Module["_list1node"]=function(){return Module["asm"]["_list1node"].apply(null,arguments)};var _list___init__=Module["_list___init__"]=function(){return Module["asm"]["_list___init__"].apply(null,arguments)};var _list___reversed__=Module["_list___reversed__"]=function(){return Module["asm"]["_list___reversed__"].apply(null,arguments)};var _list___sizeof__=Module["_list___sizeof__"]=function(){return Module["asm"]["_list___sizeof__"].apply(null,arguments)};var _list_append=Module["_list_append"]=function(){return Module["asm"]["_list_append"].apply(null,arguments)};var _list_ass_item=Module["_list_ass_item"]=function(){return Module["asm"]["_list_ass_item"].apply(null,arguments)};var _list_ass_slice=Module["_list_ass_slice"]=function(){return Module["asm"]["_list_ass_slice"].apply(null,arguments)};var _list_ass_subscript=Module["_list_ass_subscript"]=function(){return Module["asm"]["_list_ass_subscript"].apply(null,arguments)};var _list_clear=Module["_list_clear"]=function(){return Module["asm"]["_list_clear"].apply(null,arguments)};var _list_concat=Module["_list_concat"]=function(){return Module["asm"]["_list_concat"].apply(null,arguments)};var _list_contains=Module["_list_contains"]=function(){return Module["asm"]["_list_contains"].apply(null,arguments)};var _list_copy=Module["_list_copy"]=function(){return Module["asm"]["_list_copy"].apply(null,arguments)};var _list_count=Module["_list_count"]=function(){return Module["asm"]["_list_count"].apply(null,arguments)};var _list_dealloc=Module["_list_dealloc"]=function(){return Module["asm"]["_list_dealloc"].apply(null,arguments)};var _list_extend=Module["_list_extend"]=function(){return Module["asm"]["_list_extend"].apply(null,arguments)};var _list_index=Module["_list_index"]=function(){return Module["asm"]["_list_index"].apply(null,arguments)};var _list_inplace_concat=Module["_list_inplace_concat"]=function(){return Module["asm"]["_list_inplace_concat"].apply(null,arguments)};var _list_inplace_repeat=Module["_list_inplace_repeat"]=function(){return Module["asm"]["_list_inplace_repeat"].apply(null,arguments)};var _list_insert=Module["_list_insert"]=function(){return Module["asm"]["_list_insert"].apply(null,arguments)};var _list_item=Module["_list_item"]=function(){return Module["asm"]["_list_item"].apply(null,arguments)};var _list_iter=Module["_list_iter"]=function(){return Module["asm"]["_list_iter"].apply(null,arguments)};var _list_length=Module["_list_length"]=function(){return Module["asm"]["_list_length"].apply(null,arguments)};var _list_pop=Module["_list_pop"]=function(){return Module["asm"]["_list_pop"].apply(null,arguments)};var _list_remove=Module["_list_remove"]=function(){return Module["asm"]["_list_remove"].apply(null,arguments)};var _list_repeat=Module["_list_repeat"]=function(){return Module["asm"]["_list_repeat"].apply(null,arguments)};var _list_repr=Module["_list_repr"]=function(){return Module["asm"]["_list_repr"].apply(null,arguments)};var _list_reverse=Module["_list_reverse"]=function(){return Module["asm"]["_list_reverse"].apply(null,arguments)};var _list_richcompare=Module["_list_richcompare"]=function(){return Module["asm"]["_list_richcompare"].apply(null,arguments)};var _list_sort=Module["_list_sort"]=function(){return Module["asm"]["_list_sort"].apply(null,arguments)};var _list_sort_impl=Module["_list_sort_impl"]=function(){return Module["asm"]["_list_sort_impl"].apply(null,arguments)};var _list_subscript=Module["_list_subscript"]=function(){return Module["asm"]["_list_subscript"].apply(null,arguments)};var _list_traverse=Module["_list_traverse"]=function(){return Module["asm"]["_list_traverse"].apply(null,arguments)};var _listen=Module["_listen"]=function(){return Module["asm"]["_listen"].apply(null,arguments)};var _listiter_dealloc=Module["_listiter_dealloc"]=function(){return Module["asm"]["_listiter_dealloc"].apply(null,arguments)};var _listiter_len=Module["_listiter_len"]=function(){return Module["asm"]["_listiter_len"].apply(null,arguments)};var _listiter_next=Module["_listiter_next"]=function(){return Module["asm"]["_listiter_next"].apply(null,arguments)};var _listiter_reduce=Module["_listiter_reduce"]=function(){return Module["asm"]["_listiter_reduce"].apply(null,arguments)};var _listiter_setstate=Module["_listiter_setstate"]=function(){return Module["asm"]["_listiter_setstate"].apply(null,arguments)};var _listiter_traverse=Module["_listiter_traverse"]=function(){return Module["asm"]["_listiter_traverse"].apply(null,arguments)};var _listreviter_dealloc=Module["_listreviter_dealloc"]=function(){return Module["asm"]["_listreviter_dealloc"].apply(null,arguments)};var _listreviter_len=Module["_listreviter_len"]=function(){return Module["asm"]["_listreviter_len"].apply(null,arguments)};var _listreviter_next=Module["_listreviter_next"]=function(){return Module["asm"]["_listreviter_next"].apply(null,arguments)};var _listreviter_reduce=Module["_listreviter_reduce"]=function(){return Module["asm"]["_listreviter_reduce"].apply(null,arguments)};var _listreviter_setstate=Module["_listreviter_setstate"]=function(){return Module["asm"]["_listreviter_setstate"].apply(null,arguments)};var _listreviter_traverse=Module["_listreviter_traverse"]=function(){return Module["asm"]["_listreviter_traverse"].apply(null,arguments)};var _little2_attributeValueTok=Module["_little2_attributeValueTok"]=function(){return Module["asm"]["_little2_attributeValueTok"].apply(null,arguments)};var _little2_cdataSectionTok=Module["_little2_cdataSectionTok"]=function(){return Module["asm"]["_little2_cdataSectionTok"].apply(null,arguments)};var _little2_charRefNumber=Module["_little2_charRefNumber"]=function(){return Module["asm"]["_little2_charRefNumber"].apply(null,arguments)};var _little2_contentTok=Module["_little2_contentTok"]=function(){return Module["asm"]["_little2_contentTok"].apply(null,arguments)};var _little2_entityValueTok=Module["_little2_entityValueTok"]=function(){return Module["asm"]["_little2_entityValueTok"].apply(null,arguments)};var _little2_getAtts=Module["_little2_getAtts"]=function(){return Module["asm"]["_little2_getAtts"].apply(null,arguments)};var _little2_ignoreSectionTok=Module["_little2_ignoreSectionTok"]=function(){return Module["asm"]["_little2_ignoreSectionTok"].apply(null,arguments)};var _little2_isPublicId=Module["_little2_isPublicId"]=function(){return Module["asm"]["_little2_isPublicId"].apply(null,arguments)};var _little2_nameLength=Module["_little2_nameLength"]=function(){return Module["asm"]["_little2_nameLength"].apply(null,arguments)};var _little2_nameMatchesAscii=Module["_little2_nameMatchesAscii"]=function(){return Module["asm"]["_little2_nameMatchesAscii"].apply(null,arguments)};var _little2_predefinedEntityName=Module["_little2_predefinedEntityName"]=function(){return Module["asm"]["_little2_predefinedEntityName"].apply(null,arguments)};var _little2_prologTok=Module["_little2_prologTok"]=function(){return Module["asm"]["_little2_prologTok"].apply(null,arguments)};var _little2_sameName=Module["_little2_sameName"]=function(){return Module["asm"]["_little2_sameName"].apply(null,arguments)};var _little2_scanComment=Module["_little2_scanComment"]=function(){return Module["asm"]["_little2_scanComment"].apply(null,arguments)};var _little2_scanLit=Module["_little2_scanLit"]=function(){return Module["asm"]["_little2_scanLit"].apply(null,arguments)};var _little2_scanPercent=Module["_little2_scanPercent"]=function(){return Module["asm"]["_little2_scanPercent"].apply(null,arguments)};var _little2_scanPi=Module["_little2_scanPi"]=function(){return Module["asm"]["_little2_scanPi"].apply(null,arguments)};var _little2_scanRef=Module["_little2_scanRef"]=function(){return Module["asm"]["_little2_scanRef"].apply(null,arguments)};var _little2_skipS=Module["_little2_skipS"]=function(){return Module["asm"]["_little2_skipS"].apply(null,arguments)};var _little2_toUtf16=Module["_little2_toUtf16"]=function(){return Module["asm"]["_little2_toUtf16"].apply(null,arguments)};var _little2_toUtf8=Module["_little2_toUtf8"]=function(){return Module["asm"]["_little2_toUtf8"].apply(null,arguments)};var _little2_updatePosition=Module["_little2_updatePosition"]=function(){return Module["asm"]["_little2_updatePosition"].apply(null,arguments)};var _llabs=Module["_llabs"]=function(){return Module["asm"]["_llabs"].apply(null,arguments)};var _lldiv=Module["_lldiv"]=function(){return Module["asm"]["_lldiv"].apply(null,arguments)};var _llrint=Module["_llrint"]=function(){return Module["asm"]["_llrint"].apply(null,arguments)};var _llrintf=Module["_llrintf"]=function(){return Module["asm"]["_llrintf"].apply(null,arguments)};var _llrintl=Module["_llrintl"]=function(){return Module["asm"]["_llrintl"].apply(null,arguments)};var _llround=Module["_llround"]=function(){return Module["asm"]["_llround"].apply(null,arguments)};var _llroundf=Module["_llroundf"]=function(){return Module["asm"]["_llroundf"].apply(null,arguments)};var _llroundl=Module["_llroundl"]=function(){return Module["asm"]["_llroundl"].apply(null,arguments)};var _llvm_bitreverse_i32=Module["_llvm_bitreverse_i32"]=function(){return Module["asm"]["_llvm_bitreverse_i32"].apply(null,arguments)};var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=function(){return Module["asm"]["_llvm_bswap_i16"].apply(null,arguments)};var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=function(){return Module["asm"]["_llvm_bswap_i32"].apply(null,arguments)};var _llvm_ctlz_i16=Module["_llvm_ctlz_i16"]=function(){return Module["asm"]["_llvm_ctlz_i16"].apply(null,arguments)};var _llvm_ctlz_i64=Module["_llvm_ctlz_i64"]=function(){return Module["asm"]["_llvm_ctlz_i64"].apply(null,arguments)};var _llvm_ctlz_i8=Module["_llvm_ctlz_i8"]=function(){return Module["asm"]["_llvm_ctlz_i8"].apply(null,arguments)};var _llvm_ctpop_i32=Module["_llvm_ctpop_i32"]=function(){return Module["asm"]["_llvm_ctpop_i32"].apply(null,arguments)};var _llvm_ctpop_i64=Module["_llvm_ctpop_i64"]=function(){return Module["asm"]["_llvm_ctpop_i64"].apply(null,arguments)};var _llvm_maxnum_f32=Module["_llvm_maxnum_f32"]=function(){return Module["asm"]["_llvm_maxnum_f32"].apply(null,arguments)};var _llvm_maxnum_f64=Module["_llvm_maxnum_f64"]=function(){return Module["asm"]["_llvm_maxnum_f64"].apply(null,arguments)};var _llvm_minnum_f32=Module["_llvm_minnum_f32"]=function(){return Module["asm"]["_llvm_minnum_f32"].apply(null,arguments)};var _llvm_minnum_f64=Module["_llvm_minnum_f64"]=function(){return Module["asm"]["_llvm_minnum_f64"].apply(null,arguments)};var _llvm_nearbyint_f32=Module["_llvm_nearbyint_f32"]=function(){return Module["asm"]["_llvm_nearbyint_f32"].apply(null,arguments)};var _llvm_nearbyint_f64=Module["_llvm_nearbyint_f64"]=function(){return Module["asm"]["_llvm_nearbyint_f64"].apply(null,arguments)};var _llvm_rint_f32=Module["_llvm_rint_f32"]=function(){return Module["asm"]["_llvm_rint_f32"].apply(null,arguments)};var _llvm_rint_f64=Module["_llvm_rint_f64"]=function(){return Module["asm"]["_llvm_rint_f64"].apply(null,arguments)};var _llvm_round_f32=Module["_llvm_round_f32"]=function(){return Module["asm"]["_llvm_round_f32"].apply(null,arguments)};var _llvm_round_f64=Module["_llvm_round_f64"]=function(){return Module["asm"]["_llvm_round_f64"].apply(null,arguments)};var _load=Module["_load"]=function(){return Module["asm"]["_load"].apply(null,arguments)};var _loadAnalysis=Module["_loadAnalysis"]=function(){return Module["asm"]["_loadAnalysis"].apply(null,arguments)};var _loadExt=Module["_loadExt"]=function(){return Module["asm"]["_loadExt"].apply(null,arguments)};var _load_counted_binbytes=Module["_load_counted_binbytes"]=function(){return Module["asm"]["_load_counted_binbytes"].apply(null,arguments)};var _load_counted_binstring=Module["_load_counted_binstring"]=function(){return Module["asm"]["_load_counted_binstring"].apply(null,arguments)};var _load_counted_binunicode=Module["_load_counted_binunicode"]=function(){return Module["asm"]["_load_counted_binunicode"].apply(null,arguments)};var _load_counted_long=Module["_load_counted_long"]=function(){return Module["asm"]["_load_counted_long"].apply(null,arguments)};var _load_extension=Module["_load_extension"]=function(){return Module["asm"]["_load_extension"].apply(null,arguments)};var _load_post_names=Module["_load_post_names"]=function(){return Module["asm"]["_load_post_names"].apply(null,arguments)};var _load_truetype_glyph=Module["_load_truetype_glyph"]=function(){return Module["asm"]["_load_truetype_glyph"].apply(null,arguments)};var _loadstate=Module["_loadstate"]=function(){return Module["asm"]["_loadstate"].apply(null,arguments)};var _local_clear=Module["_local_clear"]=function(){return Module["asm"]["_local_clear"].apply(null,arguments)};var _local_dealloc=Module["_local_dealloc"]=function(){return Module["asm"]["_local_dealloc"].apply(null,arguments)};var _local_getattro=Module["_local_getattro"]=function(){return Module["asm"]["_local_getattro"].apply(null,arguments)};var _local_new=Module["_local_new"]=function(){return Module["asm"]["_local_new"].apply(null,arguments)};var _local_setattro=Module["_local_setattro"]=function(){return Module["asm"]["_local_setattro"].apply(null,arguments)};var _local_timezone_from_timestamp=Module["_local_timezone_from_timestamp"]=function(){return Module["asm"]["_local_timezone_from_timestamp"].apply(null,arguments)};var _local_to_seconds=Module["_local_to_seconds"]=function(){return Module["asm"]["_local_to_seconds"].apply(null,arguments)};var _local_traverse=Module["_local_traverse"]=function(){return Module["asm"]["_local_traverse"].apply(null,arguments)};var _localdummy_dealloc=Module["_localdummy_dealloc"]=function(){return Module["asm"]["_localdummy_dealloc"].apply(null,arguments)};var _localeconv=Module["_localeconv"]=function(){return Module["asm"]["_localeconv"].apply(null,arguments)};var _localtimeOffset=Module["_localtimeOffset"]=function(){return Module["asm"]["_localtimeOffset"].apply(null,arguments)};var _lockBtree=Module["_lockBtree"]=function(){return Module["asm"]["_lockBtree"].apply(null,arguments)};var _lockBtreeMutex=Module["_lockBtreeMutex"]=function(){return Module["asm"]["_lockBtreeMutex"].apply(null,arguments)};var _lock_PyThread_acquire_lock=Module["_lock_PyThread_acquire_lock"]=function(){return Module["asm"]["_lock_PyThread_acquire_lock"].apply(null,arguments)};var _lock_PyThread_release_lock=Module["_lock_PyThread_release_lock"]=function(){return Module["asm"]["_lock_PyThread_release_lock"].apply(null,arguments)};var _lock_acquire_parse_args=Module["_lock_acquire_parse_args"]=function(){return Module["asm"]["_lock_acquire_parse_args"].apply(null,arguments)};var _lock_dealloc=Module["_lock_dealloc"]=function(){return Module["asm"]["_lock_dealloc"].apply(null,arguments)};var _lock_locked_lock=Module["_lock_locked_lock"]=function(){return Module["asm"]["_lock_locked_lock"].apply(null,arguments)};var _lock_repr=Module["_lock_repr"]=function(){return Module["asm"]["_lock_repr"].apply(null,arguments)};var _lockf=Module["_lockf"]=function(){return Module["asm"]["_lockf"].apply(null,arguments)};var _log=Module["_log"]=function(){return Module["asm"]["_log"].apply(null,arguments)};var _log10=Module["_log10"]=function(){return Module["asm"]["_log10"].apply(null,arguments)};var _log10f=Module["_log10f"]=function(){return Module["asm"]["_log10f"].apply(null,arguments)};var _log10l=Module["_log10l"]=function(){return Module["asm"]["_log10l"].apply(null,arguments)};var _log1p=Module["_log1p"]=function(){return Module["asm"]["_log1p"].apply(null,arguments)};var _log1pf=Module["_log1pf"]=function(){return Module["asm"]["_log1pf"].apply(null,arguments)};var _log1pl=Module["_log1pl"]=function(){return Module["asm"]["_log1pl"].apply(null,arguments)};var _log2=Module["_log2"]=function(){return Module["asm"]["_log2"].apply(null,arguments)};var _log2f=Module["_log2f"]=function(){return Module["asm"]["_log2f"].apply(null,arguments)};var _log2l=Module["_log2l"]=function(){return Module["asm"]["_log2l"].apply(null,arguments)};var _logBadConnection=Module["_logBadConnection"]=function(){return Module["asm"]["_logBadConnection"].apply(null,arguments)};var _logb=Module["_logb"]=function(){return Module["asm"]["_logb"].apply(null,arguments)};var _logbf=Module["_logbf"]=function(){return Module["asm"]["_logbf"].apply(null,arguments)};var _logbl=Module["_logbl"]=function(){return Module["asm"]["_logbl"].apply(null,arguments)};var _logf=Module["_logf"]=function(){return Module["asm"]["_logf"].apply(null,arguments)};var _loghelper=Module["_loghelper"]=function(){return Module["asm"]["_loghelper"].apply(null,arguments)};var _login_tty=Module["_login_tty"]=function(){return Module["asm"]["_login_tty"].apply(null,arguments)};var _logl=Module["_logl"]=function(){return Module["asm"]["_logl"].apply(null,arguments)};var _long_abs=Module["_long_abs"]=function(){return Module["asm"]["_long_abs"].apply(null,arguments)};var _long_add=Module["_long_add"]=function(){return Module["asm"]["_long_add"].apply(null,arguments)};var _long_and=Module["_long_and"]=function(){return Module["asm"]["_long_and"].apply(null,arguments)};var _long_bitwise=Module["_long_bitwise"]=function(){return Module["asm"]["_long_bitwise"].apply(null,arguments)};var _long_bool=Module["_long_bool"]=function(){return Module["asm"]["_long_bool"].apply(null,arguments)};var _long_dealloc=Module["_long_dealloc"]=function(){return Module["asm"]["_long_dealloc"].apply(null,arguments)};var _long_div=Module["_long_div"]=function(){return Module["asm"]["_long_div"].apply(null,arguments)};var _long_divmod=Module["_long_divmod"]=function(){return Module["asm"]["_long_divmod"].apply(null,arguments)};var _long_divrem=Module["_long_divrem"]=function(){return Module["asm"]["_long_divrem"].apply(null,arguments)};var _long_float=Module["_long_float"]=function(){return Module["asm"]["_long_float"].apply(null,arguments)};var _long_format_binary=Module["_long_format_binary"]=function(){return Module["asm"]["_long_format_binary"].apply(null,arguments)};var _long_get0=Module["_long_get0"]=function(){return Module["asm"]["_long_get0"].apply(null,arguments)};var _long_get1=Module["_long_get1"]=function(){return Module["asm"]["_long_get1"].apply(null,arguments)};var _long_hash=Module["_long_hash"]=function(){return Module["asm"]["_long_hash"].apply(null,arguments)};var _long_invert=Module["_long_invert"]=function(){return Module["asm"]["_long_invert"].apply(null,arguments)};var _long_long=Module["_long_long"]=function(){return Module["asm"]["_long_long"].apply(null,arguments)};var _long_lshift=Module["_long_lshift"]=function(){return Module["asm"]["_long_lshift"].apply(null,arguments)};var _long_mod=Module["_long_mod"]=function(){return Module["asm"]["_long_mod"].apply(null,arguments)};var _long_mul=Module["_long_mul"]=function(){return Module["asm"]["_long_mul"].apply(null,arguments)};var _long_neg=Module["_long_neg"]=function(){return Module["asm"]["_long_neg"].apply(null,arguments)};var _long_new=Module["_long_new"]=function(){return Module["asm"]["_long_new"].apply(null,arguments)};var _long_new_impl=Module["_long_new_impl"]=function(){return Module["asm"]["_long_new_impl"].apply(null,arguments)};var _long_or=Module["_long_or"]=function(){return Module["asm"]["_long_or"].apply(null,arguments)};var _long_pow=Module["_long_pow"]=function(){return Module["asm"]["_long_pow"].apply(null,arguments)};var _long_richcompare=Module["_long_richcompare"]=function(){return Module["asm"]["_long_richcompare"].apply(null,arguments)};var _long_round=Module["_long_round"]=function(){return Module["asm"]["_long_round"].apply(null,arguments)};var _long_rshift=Module["_long_rshift"]=function(){return Module["asm"]["_long_rshift"].apply(null,arguments)};var _long_sub=Module["_long_sub"]=function(){return Module["asm"]["_long_sub"].apply(null,arguments)};var _long_to_decimal_string=Module["_long_to_decimal_string"]=function(){return Module["asm"]["_long_to_decimal_string"].apply(null,arguments)};var _long_to_decimal_string_internal=Module["_long_to_decimal_string_internal"]=function(){return Module["asm"]["_long_to_decimal_string_internal"].apply(null,arguments)};var _long_true_divide=Module["_long_true_divide"]=function(){return Module["asm"]["_long_true_divide"].apply(null,arguments)};var _long_xor=Module["_long_xor"]=function(){return Module["asm"]["_long_xor"].apply(null,arguments)};var _longest_match=Module["_longest_match"]=function(){return Module["asm"]["_longest_match"].apply(null,arguments)};var _longrangeiter_dealloc=Module["_longrangeiter_dealloc"]=function(){return Module["asm"]["_longrangeiter_dealloc"].apply(null,arguments)};var _longrangeiter_len=Module["_longrangeiter_len"]=function(){return Module["asm"]["_longrangeiter_len"].apply(null,arguments)};var _longrangeiter_next=Module["_longrangeiter_next"]=function(){return Module["asm"]["_longrangeiter_next"].apply(null,arguments)};var _longrangeiter_reduce=Module["_longrangeiter_reduce"]=function(){return Module["asm"]["_longrangeiter_reduce"].apply(null,arguments)};var _longrangeiter_setstate=Module["_longrangeiter_setstate"]=function(){return Module["asm"]["_longrangeiter_setstate"].apply(null,arguments)};var _lookdict=Module["_lookdict"]=function(){return Module["asm"]["_lookdict"].apply(null,arguments)};var _lookdict_split=Module["_lookdict_split"]=function(){return Module["asm"]["_lookdict_split"].apply(null,arguments)};var _lookdict_unicode=Module["_lookdict_unicode"]=function(){return Module["asm"]["_lookdict_unicode"].apply(null,arguments)};var _lookdict_unicode_nodummy=Module["_lookdict_unicode_nodummy"]=function(){return Module["asm"]["_lookdict_unicode_nodummy"].apply(null,arguments)};var _lookup=Module["_lookup"]=function(){return Module["asm"]["_lookup"].apply(null,arguments)};var _lookupName=Module["_lookupName"]=function(){return Module["asm"]["_lookupName"].apply(null,arguments)};var _lookup_method=Module["_lookup_method"]=function(){return Module["asm"]["_lookup_method"].apply(null,arguments)};var _lowerFunc=Module["_lowerFunc"]=function(){return Module["asm"]["_lowerFunc"].apply(null,arguments)};var _lower_ucs4=Module["_lower_ucs4"]=function(){return Module["asm"]["_lower_ucs4"].apply(null,arguments)};var _lp_double=Module["_lp_double"]=function(){return Module["asm"]["_lp_double"].apply(null,arguments)};var _lp_float=Module["_lp_float"]=function(){return Module["asm"]["_lp_float"].apply(null,arguments)};var _lp_halffloat=Module["_lp_halffloat"]=function(){return Module["asm"]["_lp_halffloat"].apply(null,arguments)};var _lp_int=Module["_lp_int"]=function(){return Module["asm"]["_lp_int"].apply(null,arguments)};var _lp_longlong=Module["_lp_longlong"]=function(){return Module["asm"]["_lp_longlong"].apply(null,arguments)};var _lp_uint=Module["_lp_uint"]=function(){return Module["asm"]["_lp_uint"].apply(null,arguments)};var _lp_ulonglong=Module["_lp_ulonglong"]=function(){return Module["asm"]["_lp_ulonglong"].apply(null,arguments)};var _lrand48=Module["_lrand48"]=function(){return Module["asm"]["_lrand48"].apply(null,arguments)};var _lrint=Module["_lrint"]=function(){return Module["asm"]["_lrint"].apply(null,arguments)};var _lrintf=Module["_lrintf"]=function(){return Module["asm"]["_lrintf"].apply(null,arguments)};var _lrintl=Module["_lrintl"]=function(){return Module["asm"]["_lrintl"].apply(null,arguments)};var _lround=Module["_lround"]=function(){return Module["asm"]["_lround"].apply(null,arguments)};var _lroundf=Module["_lroundf"]=function(){return Module["asm"]["_lroundf"].apply(null,arguments)};var _lroundl=Module["_lroundl"]=function(){return Module["asm"]["_lroundl"].apply(null,arguments)};var _lru_cache_cache_clear=Module["_lru_cache_cache_clear"]=function(){return Module["asm"]["_lru_cache_cache_clear"].apply(null,arguments)};var _lru_cache_cache_info=Module["_lru_cache_cache_info"]=function(){return Module["asm"]["_lru_cache_cache_info"].apply(null,arguments)};var _lru_cache_call=Module["_lru_cache_call"]=function(){return Module["asm"]["_lru_cache_call"].apply(null,arguments)};var _lru_cache_copy=Module["_lru_cache_copy"]=function(){return Module["asm"]["_lru_cache_copy"].apply(null,arguments)};var _lru_cache_dealloc=Module["_lru_cache_dealloc"]=function(){return Module["asm"]["_lru_cache_dealloc"].apply(null,arguments)};var _lru_cache_deepcopy=Module["_lru_cache_deepcopy"]=function(){return Module["asm"]["_lru_cache_deepcopy"].apply(null,arguments)};var _lru_cache_descr_get=Module["_lru_cache_descr_get"]=function(){return Module["asm"]["_lru_cache_descr_get"].apply(null,arguments)};var _lru_cache_make_key=Module["_lru_cache_make_key"]=function(){return Module["asm"]["_lru_cache_make_key"].apply(null,arguments)};var _lru_cache_new=Module["_lru_cache_new"]=function(){return Module["asm"]["_lru_cache_new"].apply(null,arguments)};var _lru_cache_reduce=Module["_lru_cache_reduce"]=function(){return Module["asm"]["_lru_cache_reduce"].apply(null,arguments)};var _lru_cache_tp_clear=Module["_lru_cache_tp_clear"]=function(){return Module["asm"]["_lru_cache_tp_clear"].apply(null,arguments)};var _lru_cache_tp_traverse=Module["_lru_cache_tp_traverse"]=function(){return Module["asm"]["_lru_cache_tp_traverse"].apply(null,arguments)};var _lru_list_elem_dealloc=Module["_lru_list_elem_dealloc"]=function(){return Module["asm"]["_lru_list_elem_dealloc"].apply(null,arguments)};var _lseek=Module["_lseek"]=function(){return Module["asm"]["_lseek"].apply(null,arguments)};var _lshift=Module["_lshift"]=function(){return Module["asm"]["_lshift"].apply(null,arguments)};var _lstat=Module["_lstat"]=function(){return Module["asm"]["_lstat"].apply(null,arguments)};var _lu_double=Module["_lu_double"]=function(){return Module["asm"]["_lu_double"].apply(null,arguments)};var _lu_float=Module["_lu_float"]=function(){return Module["asm"]["_lu_float"].apply(null,arguments)};var _lu_halffloat=Module["_lu_halffloat"]=function(){return Module["asm"]["_lu_halffloat"].apply(null,arguments)};var _lu_int=Module["_lu_int"]=function(){return Module["asm"]["_lu_int"].apply(null,arguments)};var _lu_longlong=Module["_lu_longlong"]=function(){return Module["asm"]["_lu_longlong"].apply(null,arguments)};var _lu_uint=Module["_lu_uint"]=function(){return Module["asm"]["_lu_uint"].apply(null,arguments)};var _lu_ulonglong=Module["_lu_ulonglong"]=function(){return Module["asm"]["_lu_ulonglong"].apply(null,arguments)};var _m_atan2=Module["_m_atan2"]=function(){return Module["asm"]["_m_atan2"].apply(null,arguments)};var _m_eq_1=Module["_m_eq_1"]=function(){return Module["asm"]["_m_eq_1"].apply(null,arguments)};var _m_gt_0=Module["_m_gt_0"]=function(){return Module["asm"]["_m_gt_0"].apply(null,arguments)};var _m_gt_1=Module["_m_gt_1"]=function(){return Module["asm"]["_m_gt_1"].apply(null,arguments)};var _m_log=Module["_m_log"]=function(){return Module["asm"]["_m_log"].apply(null,arguments)};var _m_log10=Module["_m_log10"]=function(){return Module["asm"]["_m_log10"].apply(null,arguments)};var _m_log2=Module["_m_log2"]=function(){return Module["asm"]["_m_log2"].apply(null,arguments)};var _m_remainder=Module["_m_remainder"]=function(){return Module["asm"]["_m_remainder"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["_main"].apply(null,arguments)};var _mainGtU=Module["_mainGtU"]=function(){return Module["asm"]["_mainGtU"].apply(null,arguments)};var _makeSorterRecord=Module["_makeSorterRecord"]=function(){return Module["asm"]["_makeSorterRecord"].apply(null,arguments)};var _make_encode_exception=Module["_make_encode_exception"]=function(){return Module["asm"]["_make_encode_exception"].apply(null,arguments)};var _make_filename=Module["_make_filename"]=function(){return Module["asm"]["_make_filename"].apply(null,arguments)};var _make_flags=Module["_make_flags"]=function(){return Module["asm"]["_make_flags"].apply(null,arguments)};var _make_ga_colormap=Module["_make_ga_colormap"]=function(){return Module["asm"]["_make_ga_colormap"].apply(null,arguments)};var _make_range_object=Module["_make_range_object"]=function(){return Module["asm"]["_make_range_object"].apply(null,arguments)};var _make_rgb_colormap=Module["_make_rgb_colormap"]=function(){return Module["asm"]["_make_rgb_colormap"].apply(null,arguments)};var _make_type=Module["_make_type"]=function(){return Module["asm"]["_make_type"].apply(null,arguments)};var _makesockaddr=Module["_makesockaddr"]=function(){return Module["asm"]["_makesockaddr"].apply(null,arguments)};var _makeval_recvmsg=Module["_makeval_recvmsg"]=function(){return Module["asm"]["_makeval_recvmsg"].apply(null,arguments)};var _makeval_recvmsg_into=Module["_makeval_recvmsg_into"]=function(){return Module["asm"]["_makeval_recvmsg_into"].apply(null,arguments)};var _mallinfo=Module["_mallinfo"]=function(){return Module["asm"]["_mallinfo"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["_malloc"].apply(null,arguments)};var _mallocWithAlarm=Module["_mallocWithAlarm"]=function(){return Module["asm"]["_mallocWithAlarm"].apply(null,arguments)};var _malloc_footprint=Module["_malloc_footprint"]=function(){return Module["asm"]["_malloc_footprint"].apply(null,arguments)};var _malloc_footprint_limit=Module["_malloc_footprint_limit"]=function(){return Module["asm"]["_malloc_footprint_limit"].apply(null,arguments)};var _malloc_max_footprint=Module["_malloc_max_footprint"]=function(){return Module["asm"]["_malloc_max_footprint"].apply(null,arguments)};var _malloc_set_footprint_limit=Module["_malloc_set_footprint_limit"]=function(){return Module["asm"]["_malloc_set_footprint_limit"].apply(null,arguments)};var _malloc_stats=Module["_malloc_stats"]=function(){return Module["asm"]["_malloc_stats"].apply(null,arguments)};var _malloc_trim=Module["_malloc_trim"]=function(){return Module["asm"]["_malloc_trim"].apply(null,arguments)};var _malloc_usable_size=Module["_malloc_usable_size"]=function(){return Module["asm"]["_malloc_usable_size"].apply(null,arguments)};var _mallopt=Module["_mallopt"]=function(){return Module["asm"]["_mallopt"].apply(null,arguments)};var _map_dealloc=Module["_map_dealloc"]=function(){return Module["asm"]["_map_dealloc"].apply(null,arguments)};var _map_new=Module["_map_new"]=function(){return Module["asm"]["_map_new"].apply(null,arguments)};var _map_next=Module["_map_next"]=function(){return Module["asm"]["_map_next"].apply(null,arguments)};var _map_reduce=Module["_map_reduce"]=function(){return Module["asm"]["_map_reduce"].apply(null,arguments)};var _map_traverse=Module["_map_traverse"]=function(){return Module["asm"]["_map_traverse"].apply(null,arguments)};var _mappingproxy_contains=Module["_mappingproxy_contains"]=function(){return Module["asm"]["_mappingproxy_contains"].apply(null,arguments)};var _mappingproxy_copy=Module["_mappingproxy_copy"]=function(){return Module["asm"]["_mappingproxy_copy"].apply(null,arguments)};var _mappingproxy_dealloc=Module["_mappingproxy_dealloc"]=function(){return Module["asm"]["_mappingproxy_dealloc"].apply(null,arguments)};var _mappingproxy_get=Module["_mappingproxy_get"]=function(){return Module["asm"]["_mappingproxy_get"].apply(null,arguments)};var _mappingproxy_getitem=Module["_mappingproxy_getitem"]=function(){return Module["asm"]["_mappingproxy_getitem"].apply(null,arguments)};var _mappingproxy_getiter=Module["_mappingproxy_getiter"]=function(){return Module["asm"]["_mappingproxy_getiter"].apply(null,arguments)};var _mappingproxy_items=Module["_mappingproxy_items"]=function(){return Module["asm"]["_mappingproxy_items"].apply(null,arguments)};var _mappingproxy_keys=Module["_mappingproxy_keys"]=function(){return Module["asm"]["_mappingproxy_keys"].apply(null,arguments)};var _mappingproxy_len=Module["_mappingproxy_len"]=function(){return Module["asm"]["_mappingproxy_len"].apply(null,arguments)};var _mappingproxy_new=Module["_mappingproxy_new"]=function(){return Module["asm"]["_mappingproxy_new"].apply(null,arguments)};var _mappingproxy_repr=Module["_mappingproxy_repr"]=function(){return Module["asm"]["_mappingproxy_repr"].apply(null,arguments)};var _mappingproxy_richcompare=Module["_mappingproxy_richcompare"]=function(){return Module["asm"]["_mappingproxy_richcompare"].apply(null,arguments)};var _mappingproxy_str=Module["_mappingproxy_str"]=function(){return Module["asm"]["_mappingproxy_str"].apply(null,arguments)};var _mappingproxy_traverse=Module["_mappingproxy_traverse"]=function(){return Module["asm"]["_mappingproxy_traverse"].apply(null,arguments)};var _mappingproxy_values=Module["_mappingproxy_values"]=function(){return Module["asm"]["_mappingproxy_values"].apply(null,arguments)};var _markTermAsChild=Module["_markTermAsChild"]=function(){return Module["asm"]["_markTermAsChild"].apply(null,arguments)};var _marksub=Module["_marksub"]=function(){return Module["asm"]["_marksub"].apply(null,arguments)};var _marshal_dump=Module["_marshal_dump"]=function(){return Module["asm"]["_marshal_dump"].apply(null,arguments)};var _marshal_dumps=Module["_marshal_dumps"]=function(){return Module["asm"]["_marshal_dumps"].apply(null,arguments)};var _marshal_load=Module["_marshal_load"]=function(){return Module["asm"]["_marshal_load"].apply(null,arguments)};var _marshal_loads=Module["_marshal_loads"]=function(){return Module["asm"]["_marshal_loads"].apply(null,arguments)};var _match=Module["_match"]=function(){return Module["asm"]["_match"].apply(null,arguments)};var _matchQuality=Module["_matchQuality"]=function(){return Module["asm"]["_matchQuality"].apply(null,arguments)};var _match_bracket=Module["_match_bracket"]=function(){return Module["asm"]["_match_bracket"].apply(null,arguments)};var _match_dealloc=Module["_match_dealloc"]=function(){return Module["asm"]["_match_dealloc"].apply(null,arguments)};var _match_getitem=Module["_match_getitem"]=function(){return Module["asm"]["_match_getitem"].apply(null,arguments)};var _match_getslice_by_index=Module["_match_getslice_by_index"]=function(){return Module["asm"]["_match_getslice_by_index"].apply(null,arguments)};var _match_group=Module["_match_group"]=function(){return Module["asm"]["_match_group"].apply(null,arguments)};var _match_in_dir=Module["_match_in_dir"]=function(){return Module["asm"]["_match_in_dir"].apply(null,arguments)};var _match_lastgroup_get=Module["_match_lastgroup_get"]=function(){return Module["asm"]["_match_lastgroup_get"].apply(null,arguments)};var _match_lastindex_get=Module["_match_lastindex_get"]=function(){return Module["asm"]["_match_lastindex_get"].apply(null,arguments)};var _match_regs_get=Module["_match_regs_get"]=function(){return Module["asm"]["_match_regs_get"].apply(null,arguments)};var _match_repr=Module["_match_repr"]=function(){return Module["asm"]["_match_repr"].apply(null,arguments)};var _math_1=Module["_math_1"]=function(){return Module["asm"]["_math_1"].apply(null,arguments)};var _math_2=Module["_math_2"]=function(){return Module["asm"]["_math_2"].apply(null,arguments)};var _math_acos=Module["_math_acos"]=function(){return Module["asm"]["_math_acos"].apply(null,arguments)};var _math_acosh=Module["_math_acosh"]=function(){return Module["asm"]["_math_acosh"].apply(null,arguments)};var _math_asin=Module["_math_asin"]=function(){return Module["asm"]["_math_asin"].apply(null,arguments)};var _math_asinh=Module["_math_asinh"]=function(){return Module["asm"]["_math_asinh"].apply(null,arguments)};var _math_atan=Module["_math_atan"]=function(){return Module["asm"]["_math_atan"].apply(null,arguments)};var _math_atan2=Module["_math_atan2"]=function(){return Module["asm"]["_math_atan2"].apply(null,arguments)};var _math_atanh=Module["_math_atanh"]=function(){return Module["asm"]["_math_atanh"].apply(null,arguments)};var _math_ceil=Module["_math_ceil"]=function(){return Module["asm"]["_math_ceil"].apply(null,arguments)};var _math_copysign=Module["_math_copysign"]=function(){return Module["asm"]["_math_copysign"].apply(null,arguments)};var _math_cos=Module["_math_cos"]=function(){return Module["asm"]["_math_cos"].apply(null,arguments)};var _math_cosh=Module["_math_cosh"]=function(){return Module["asm"]["_math_cosh"].apply(null,arguments)};var _math_degrees=Module["_math_degrees"]=function(){return Module["asm"]["_math_degrees"].apply(null,arguments)};var _math_erf=Module["_math_erf"]=function(){return Module["asm"]["_math_erf"].apply(null,arguments)};var _math_erfc=Module["_math_erfc"]=function(){return Module["asm"]["_math_erfc"].apply(null,arguments)};var _math_exp=Module["_math_exp"]=function(){return Module["asm"]["_math_exp"].apply(null,arguments)};var _math_expm1=Module["_math_expm1"]=function(){return Module["asm"]["_math_expm1"].apply(null,arguments)};var _math_fabs=Module["_math_fabs"]=function(){return Module["asm"]["_math_fabs"].apply(null,arguments)};var _math_factorial=Module["_math_factorial"]=function(){return Module["asm"]["_math_factorial"].apply(null,arguments)};var _math_floor=Module["_math_floor"]=function(){return Module["asm"]["_math_floor"].apply(null,arguments)};var _math_fmod=Module["_math_fmod"]=function(){return Module["asm"]["_math_fmod"].apply(null,arguments)};var _math_frexp=Module["_math_frexp"]=function(){return Module["asm"]["_math_frexp"].apply(null,arguments)};var _math_fsum=Module["_math_fsum"]=function(){return Module["asm"]["_math_fsum"].apply(null,arguments)};var _math_gamma=Module["_math_gamma"]=function(){return Module["asm"]["_math_gamma"].apply(null,arguments)};var _math_gcd=Module["_math_gcd"]=function(){return Module["asm"]["_math_gcd"].apply(null,arguments)};var _math_hypot=Module["_math_hypot"]=function(){return Module["asm"]["_math_hypot"].apply(null,arguments)};var _math_isclose=Module["_math_isclose"]=function(){return Module["asm"]["_math_isclose"].apply(null,arguments)};var _math_isfinite=Module["_math_isfinite"]=function(){return Module["asm"]["_math_isfinite"].apply(null,arguments)};var _math_isinf=Module["_math_isinf"]=function(){return Module["asm"]["_math_isinf"].apply(null,arguments)};var _math_isnan=Module["_math_isnan"]=function(){return Module["asm"]["_math_isnan"].apply(null,arguments)};var _math_ldexp=Module["_math_ldexp"]=function(){return Module["asm"]["_math_ldexp"].apply(null,arguments)};var _math_lgamma=Module["_math_lgamma"]=function(){return Module["asm"]["_math_lgamma"].apply(null,arguments)};var _math_log=Module["_math_log"]=function(){return Module["asm"]["_math_log"].apply(null,arguments)};var _math_log10=Module["_math_log10"]=function(){return Module["asm"]["_math_log10"].apply(null,arguments)};var _math_log1p=Module["_math_log1p"]=function(){return Module["asm"]["_math_log1p"].apply(null,arguments)};var _math_log2=Module["_math_log2"]=function(){return Module["asm"]["_math_log2"].apply(null,arguments)};var _math_modf=Module["_math_modf"]=function(){return Module["asm"]["_math_modf"].apply(null,arguments)};var _math_pow=Module["_math_pow"]=function(){return Module["asm"]["_math_pow"].apply(null,arguments)};var _math_radians=Module["_math_radians"]=function(){return Module["asm"]["_math_radians"].apply(null,arguments)};var _math_remainder=Module["_math_remainder"]=function(){return Module["asm"]["_math_remainder"].apply(null,arguments)};var _math_sin=Module["_math_sin"]=function(){return Module["asm"]["_math_sin"].apply(null,arguments)};var _math_sinh=Module["_math_sinh"]=function(){return Module["asm"]["_math_sinh"].apply(null,arguments)};var _math_sqrt=Module["_math_sqrt"]=function(){return Module["asm"]["_math_sqrt"].apply(null,arguments)};var _math_tan=Module["_math_tan"]=function(){return Module["asm"]["_math_tan"].apply(null,arguments)};var _math_tanh=Module["_math_tanh"]=function(){return Module["asm"]["_math_tanh"].apply(null,arguments)};var _math_trunc=Module["_math_trunc"]=function(){return Module["asm"]["_math_trunc"].apply(null,arguments)};var _mbidecoder_dealloc=Module["_mbidecoder_dealloc"]=function(){return Module["asm"]["_mbidecoder_dealloc"].apply(null,arguments)};var _mbidecoder_init=Module["_mbidecoder_init"]=function(){return Module["asm"]["_mbidecoder_init"].apply(null,arguments)};var _mbidecoder_new=Module["_mbidecoder_new"]=function(){return Module["asm"]["_mbidecoder_new"].apply(null,arguments)};var _mbidecoder_traverse=Module["_mbidecoder_traverse"]=function(){return Module["asm"]["_mbidecoder_traverse"].apply(null,arguments)};var _mbiencoder_dealloc=Module["_mbiencoder_dealloc"]=function(){return Module["asm"]["_mbiencoder_dealloc"].apply(null,arguments)};var _mbiencoder_init=Module["_mbiencoder_init"]=function(){return Module["asm"]["_mbiencoder_init"].apply(null,arguments)};var _mbiencoder_new=Module["_mbiencoder_new"]=function(){return Module["asm"]["_mbiencoder_new"].apply(null,arguments)};var _mbiencoder_traverse=Module["_mbiencoder_traverse"]=function(){return Module["asm"]["_mbiencoder_traverse"].apply(null,arguments)};var _mblen=Module["_mblen"]=function(){return Module["asm"]["_mblen"].apply(null,arguments)};var _mbrlen=Module["_mbrlen"]=function(){return Module["asm"]["_mbrlen"].apply(null,arguments)};var _mbrtoc16=Module["_mbrtoc16"]=function(){return Module["asm"]["_mbrtoc16"].apply(null,arguments)};var _mbrtoc32=Module["_mbrtoc32"]=function(){return Module["asm"]["_mbrtoc32"].apply(null,arguments)};var _mbrtowc=Module["_mbrtowc"]=function(){return Module["asm"]["_mbrtowc"].apply(null,arguments)};var _mbsinit=Module["_mbsinit"]=function(){return Module["asm"]["_mbsinit"].apply(null,arguments)};var _mbsnrtowcs=Module["_mbsnrtowcs"]=function(){return Module["asm"]["_mbsnrtowcs"].apply(null,arguments)};var _mbsrtowcs=Module["_mbsrtowcs"]=function(){return Module["asm"]["_mbsrtowcs"].apply(null,arguments)};var _mbstowcs=Module["_mbstowcs"]=function(){return Module["asm"]["_mbstowcs"].apply(null,arguments)};var _mbstreamreader_dealloc=Module["_mbstreamreader_dealloc"]=function(){return Module["asm"]["_mbstreamreader_dealloc"].apply(null,arguments)};var _mbstreamreader_init=Module["_mbstreamreader_init"]=function(){return Module["asm"]["_mbstreamreader_init"].apply(null,arguments)};var _mbstreamreader_iread=Module["_mbstreamreader_iread"]=function(){return Module["asm"]["_mbstreamreader_iread"].apply(null,arguments)};var _mbstreamreader_new=Module["_mbstreamreader_new"]=function(){return Module["asm"]["_mbstreamreader_new"].apply(null,arguments)};var _mbstreamreader_traverse=Module["_mbstreamreader_traverse"]=function(){return Module["asm"]["_mbstreamreader_traverse"].apply(null,arguments)};var _mbstreamwriter_dealloc=Module["_mbstreamwriter_dealloc"]=function(){return Module["asm"]["_mbstreamwriter_dealloc"].apply(null,arguments)};var _mbstreamwriter_init=Module["_mbstreamwriter_init"]=function(){return Module["asm"]["_mbstreamwriter_init"].apply(null,arguments)};var _mbstreamwriter_new=Module["_mbstreamwriter_new"]=function(){return Module["asm"]["_mbstreamwriter_new"].apply(null,arguments)};var _mbstreamwriter_traverse=Module["_mbstreamwriter_traverse"]=function(){return Module["asm"]["_mbstreamwriter_traverse"].apply(null,arguments)};var _mbtowc=Module["_mbtowc"]=function(){return Module["asm"]["_mbtowc"].apply(null,arguments)};var _mbuf_add_incomplete_view=Module["_mbuf_add_incomplete_view"]=function(){return Module["asm"]["_mbuf_add_incomplete_view"].apply(null,arguments)};var _mbuf_add_view=Module["_mbuf_add_view"]=function(){return Module["asm"]["_mbuf_add_view"].apply(null,arguments)};var _mbuf_clear=Module["_mbuf_clear"]=function(){return Module["asm"]["_mbuf_clear"].apply(null,arguments)};var _mbuf_dealloc=Module["_mbuf_dealloc"]=function(){return Module["asm"]["_mbuf_dealloc"].apply(null,arguments)};var _mbuf_traverse=Module["_mbuf_traverse"]=function(){return Module["asm"]["_mbuf_traverse"].apply(null,arguments)};var _mclose=Module["_mclose"]=function(){return Module["asm"]["_mclose"].apply(null,arguments)};var _md5_compress=Module["_md5_compress"]=function(){return Module["asm"]["_md5_compress"].apply(null,arguments)};var _md5_done=Module["_md5_done"]=function(){return Module["asm"]["_md5_done"].apply(null,arguments)};var _md5_get_digest_size=Module["_md5_get_digest_size"]=function(){return Module["asm"]["_md5_get_digest_size"].apply(null,arguments)};var _md5_init=Module["_md5_init"]=function(){return Module["asm"]["_md5_init"].apply(null,arguments)};var _md5_sum=Module["_md5_sum"]=function(){return Module["asm"]["_md5_sum"].apply(null,arguments)};var _md5_update=Module["_md5_update"]=function(){return Module["asm"]["_md5_update"].apply(null,arguments)};var _md5crypt=Module["_md5crypt"]=function(){return Module["asm"]["_md5crypt"].apply(null,arguments)};var _measureAllocationSize=Module["_measureAllocationSize"]=function(){return Module["asm"]["_measureAllocationSize"].apply(null,arguments)};var _memIntValue=Module["_memIntValue"]=function(){return Module["asm"]["_memIntValue"].apply(null,arguments)};var _memRealValue=Module["_memRealValue"]=function(){return Module["asm"]["_memRealValue"].apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return Module["asm"]["_memalign"].apply(null,arguments)};var _member_get=Module["_member_get"]=function(){return Module["asm"]["_member_get"].apply(null,arguments)};var _member_get_doc=Module["_member_get_doc"]=function(){return Module["asm"]["_member_get_doc"].apply(null,arguments)};var _member_repr=Module["_member_repr"]=function(){return Module["asm"]["_member_repr"].apply(null,arguments)};var _member_set=Module["_member_set"]=function(){return Module["asm"]["_member_set"].apply(null,arguments)};var _memccpy=Module["_memccpy"]=function(){return Module["asm"]["_memccpy"].apply(null,arguments)};var _memchr=Module["_memchr"]=function(){return Module["asm"]["_memchr"].apply(null,arguments)};var _memcmp=Module["_memcmp"]=function(){return Module["asm"]["_memcmp"].apply(null,arguments)};var _memcpy=Module["_memcpy"]=function(){return Module["asm"]["_memcpy"].apply(null,arguments)};var _memjrnlClose=Module["_memjrnlClose"]=function(){return Module["asm"]["_memjrnlClose"].apply(null,arguments)};var _memjrnlCreateFile=Module["_memjrnlCreateFile"]=function(){return Module["asm"]["_memjrnlCreateFile"].apply(null,arguments)};var _memjrnlFileSize=Module["_memjrnlFileSize"]=function(){return Module["asm"]["_memjrnlFileSize"].apply(null,arguments)};var _memjrnlFreeChunks=Module["_memjrnlFreeChunks"]=function(){return Module["asm"]["_memjrnlFreeChunks"].apply(null,arguments)};var _memjrnlRead=Module["_memjrnlRead"]=function(){return Module["asm"]["_memjrnlRead"].apply(null,arguments)};var _memjrnlSync=Module["_memjrnlSync"]=function(){return Module["asm"]["_memjrnlSync"].apply(null,arguments)};var _memjrnlTruncate=Module["_memjrnlTruncate"]=function(){return Module["asm"]["_memjrnlTruncate"].apply(null,arguments)};var _memjrnlWrite=Module["_memjrnlWrite"]=function(){return Module["asm"]["_memjrnlWrite"].apply(null,arguments)};var _memmem=Module["_memmem"]=function(){return Module["asm"]["_memmem"].apply(null,arguments)};var _memmove=Module["_memmove"]=function(){return Module["asm"]["_memmove"].apply(null,arguments)};var _memo_get=Module["_memo_get"]=function(){return Module["asm"]["_memo_get"].apply(null,arguments)};var _memo_put=Module["_memo_put"]=function(){return Module["asm"]["_memo_put"].apply(null,arguments)};var _memory_ass_sub=Module["_memory_ass_sub"]=function(){return Module["asm"]["_memory_ass_sub"].apply(null,arguments)};var _memory_c_contiguous=Module["_memory_c_contiguous"]=function(){return Module["asm"]["_memory_c_contiguous"].apply(null,arguments)};var _memory_cast=Module["_memory_cast"]=function(){return Module["asm"]["_memory_cast"].apply(null,arguments)};var _memory_clear=Module["_memory_clear"]=function(){return Module["asm"]["_memory_clear"].apply(null,arguments)};var _memory_contiguous=Module["_memory_contiguous"]=function(){return Module["asm"]["_memory_contiguous"].apply(null,arguments)};var _memory_dealloc=Module["_memory_dealloc"]=function(){return Module["asm"]["_memory_dealloc"].apply(null,arguments)};var _memory_enter=Module["_memory_enter"]=function(){return Module["asm"]["_memory_enter"].apply(null,arguments)};var _memory_exit=Module["_memory_exit"]=function(){return Module["asm"]["_memory_exit"].apply(null,arguments)};var _memory_f_contiguous=Module["_memory_f_contiguous"]=function(){return Module["asm"]["_memory_f_contiguous"].apply(null,arguments)};var _memory_format_get=Module["_memory_format_get"]=function(){return Module["asm"]["_memory_format_get"].apply(null,arguments)};var _memory_getbuf=Module["_memory_getbuf"]=function(){return Module["asm"]["_memory_getbuf"].apply(null,arguments)};var _memory_hash=Module["_memory_hash"]=function(){return Module["asm"]["_memory_hash"].apply(null,arguments)};var _memory_hex=Module["_memory_hex"]=function(){return Module["asm"]["_memory_hex"].apply(null,arguments)};var _memory_item=Module["_memory_item"]=function(){return Module["asm"]["_memory_item"].apply(null,arguments)};var _memory_itemsize_get=Module["_memory_itemsize_get"]=function(){return Module["asm"]["_memory_itemsize_get"].apply(null,arguments)};var _memory_length=Module["_memory_length"]=function(){return Module["asm"]["_memory_length"].apply(null,arguments)};var _memory_nbytes_get=Module["_memory_nbytes_get"]=function(){return Module["asm"]["_memory_nbytes_get"].apply(null,arguments)};var _memory_ndim_get=Module["_memory_ndim_get"]=function(){return Module["asm"]["_memory_ndim_get"].apply(null,arguments)};var _memory_new=Module["_memory_new"]=function(){return Module["asm"]["_memory_new"].apply(null,arguments)};var _memory_obj_get=Module["_memory_obj_get"]=function(){return Module["asm"]["_memory_obj_get"].apply(null,arguments)};var _memory_readonly_get=Module["_memory_readonly_get"]=function(){return Module["asm"]["_memory_readonly_get"].apply(null,arguments)};var _memory_release=Module["_memory_release"]=function(){return Module["asm"]["_memory_release"].apply(null,arguments)};var _memory_releasebuf=Module["_memory_releasebuf"]=function(){return Module["asm"]["_memory_releasebuf"].apply(null,arguments)};var _memory_repr=Module["_memory_repr"]=function(){return Module["asm"]["_memory_repr"].apply(null,arguments)};var _memory_richcompare=Module["_memory_richcompare"]=function(){return Module["asm"]["_memory_richcompare"].apply(null,arguments)};var _memory_shape_get=Module["_memory_shape_get"]=function(){return Module["asm"]["_memory_shape_get"].apply(null,arguments)};var _memory_stream_close=Module["_memory_stream_close"]=function(){return Module["asm"]["_memory_stream_close"].apply(null,arguments)};var _memory_strides_get=Module["_memory_strides_get"]=function(){return Module["asm"]["_memory_strides_get"].apply(null,arguments)};var _memory_suboffsets_get=Module["_memory_suboffsets_get"]=function(){return Module["asm"]["_memory_suboffsets_get"].apply(null,arguments)};var _memory_subscript=Module["_memory_subscript"]=function(){return Module["asm"]["_memory_subscript"].apply(null,arguments)};var _memory_tobytes=Module["_memory_tobytes"]=function(){return Module["asm"]["_memory_tobytes"].apply(null,arguments)};var _memory_tolist=Module["_memory_tolist"]=function(){return Module["asm"]["_memory_tolist"].apply(null,arguments)};var _memory_traverse=Module["_memory_traverse"]=function(){return Module["asm"]["_memory_traverse"].apply(null,arguments)};var _mempcpy=Module["_mempcpy"]=function(){return Module["asm"]["_mempcpy"].apply(null,arguments)};var _memset=Module["_memset"]=function(){return Module["asm"]["_memset"].apply(null,arguments)};var _merge_at=Module["_merge_at"]=function(){return Module["asm"]["_merge_at"].apply(null,arguments)};var _merge_class_dict=Module["_merge_class_dict"]=function(){return Module["asm"]["_merge_class_dict"].apply(null,arguments)};var _meth_dealloc=Module["_meth_dealloc"]=function(){return Module["asm"]["_meth_dealloc"].apply(null,arguments)};var _meth_get__doc__=Module["_meth_get__doc__"]=function(){return Module["asm"]["_meth_get__doc__"].apply(null,arguments)};var _meth_get__name__=Module["_meth_get__name__"]=function(){return Module["asm"]["_meth_get__name__"].apply(null,arguments)};var _meth_get__qualname__=Module["_meth_get__qualname__"]=function(){return Module["asm"]["_meth_get__qualname__"].apply(null,arguments)};var _meth_get__self__=Module["_meth_get__self__"]=function(){return Module["asm"]["_meth_get__self__"].apply(null,arguments)};var _meth_get__text_signature__=Module["_meth_get__text_signature__"]=function(){return Module["asm"]["_meth_get__text_signature__"].apply(null,arguments)};var _meth_hash=Module["_meth_hash"]=function(){return Module["asm"]["_meth_hash"].apply(null,arguments)};var _meth_reduce=Module["_meth_reduce"]=function(){return Module["asm"]["_meth_reduce"].apply(null,arguments)};var _meth_repr=Module["_meth_repr"]=function(){return Module["asm"]["_meth_repr"].apply(null,arguments)};var _meth_richcompare=Module["_meth_richcompare"]=function(){return Module["asm"]["_meth_richcompare"].apply(null,arguments)};var _meth_traverse=Module["_meth_traverse"]=function(){return Module["asm"]["_meth_traverse"].apply(null,arguments)};var _method_call=Module["_method_call"]=function(){return Module["asm"]["_method_call"].apply(null,arguments)};var _method_dealloc=Module["_method_dealloc"]=function(){return Module["asm"]["_method_dealloc"].apply(null,arguments)};var _method_descr_get=Module["_method_descr_get"]=function(){return Module["asm"]["_method_descr_get"].apply(null,arguments)};var _method_get=Module["_method_get"]=function(){return Module["asm"]["_method_get"].apply(null,arguments)};var _method_get_doc=Module["_method_get_doc"]=function(){return Module["asm"]["_method_get_doc"].apply(null,arguments)};var _method_get_doc_772=Module["_method_get_doc_772"]=function(){return Module["asm"]["_method_get_doc_772"].apply(null,arguments)};var _method_get_text_signature=Module["_method_get_text_signature"]=function(){return Module["asm"]["_method_get_text_signature"].apply(null,arguments)};var _method_getattro=Module["_method_getattro"]=function(){return Module["asm"]["_method_getattro"].apply(null,arguments)};var _method_hash=Module["_method_hash"]=function(){return Module["asm"]["_method_hash"].apply(null,arguments)};var _method_is_overloaded=Module["_method_is_overloaded"]=function(){return Module["asm"]["_method_is_overloaded"].apply(null,arguments)};var _method_new=Module["_method_new"]=function(){return Module["asm"]["_method_new"].apply(null,arguments)};var _method_output_as_list=Module["_method_output_as_list"]=function(){return Module["asm"]["_method_output_as_list"].apply(null,arguments)};var _method_reduce=Module["_method_reduce"]=function(){return Module["asm"]["_method_reduce"].apply(null,arguments)};var _method_repr=Module["_method_repr"]=function(){return Module["asm"]["_method_repr"].apply(null,arguments)};var _method_repr_767=Module["_method_repr_767"]=function(){return Module["asm"]["_method_repr_767"].apply(null,arguments)};var _method_richcompare=Module["_method_richcompare"]=function(){return Module["asm"]["_method_richcompare"].apply(null,arguments)};var _method_traverse=Module["_method_traverse"]=function(){return Module["asm"]["_method_traverse"].apply(null,arguments)};var _methodcaller_call=Module["_methodcaller_call"]=function(){return Module["asm"]["_methodcaller_call"].apply(null,arguments)};var _methodcaller_dealloc=Module["_methodcaller_dealloc"]=function(){return Module["asm"]["_methodcaller_dealloc"].apply(null,arguments)};var _methodcaller_new=Module["_methodcaller_new"]=function(){return Module["asm"]["_methodcaller_new"].apply(null,arguments)};var _methodcaller_reduce=Module["_methodcaller_reduce"]=function(){return Module["asm"]["_methodcaller_reduce"].apply(null,arguments)};var _methodcaller_repr=Module["_methodcaller_repr"]=function(){return Module["asm"]["_methodcaller_repr"].apply(null,arguments)};var _methodcaller_traverse=Module["_methodcaller_traverse"]=function(){return Module["asm"]["_methodcaller_traverse"].apply(null,arguments)};var _methoddescr_call=Module["_methoddescr_call"]=function(){return Module["asm"]["_methoddescr_call"].apply(null,arguments)};var _microseconds_to_delta_ex=Module["_microseconds_to_delta_ex"]=function(){return Module["asm"]["_microseconds_to_delta_ex"].apply(null,arguments)};var _minMaxFinalize=Module["_minMaxFinalize"]=function(){return Module["asm"]["_minMaxFinalize"].apply(null,arguments)};var _minMaxQuery=Module["_minMaxQuery"]=function(){return Module["asm"]["_minMaxQuery"].apply(null,arguments)};var _minMaxValue=Module["_minMaxValue"]=function(){return Module["asm"]["_minMaxValue"].apply(null,arguments)};var _minMaxValueFinalize=Module["_minMaxValueFinalize"]=function(){return Module["asm"]["_minMaxValueFinalize"].apply(null,arguments)};var _min_max=Module["_min_max"]=function(){return Module["asm"]["_min_max"].apply(null,arguments)};var _mincore=Module["_mincore"]=function(){return Module["asm"]["_mincore"].apply(null,arguments)};var _minmaxFunc=Module["_minmaxFunc"]=function(){return Module["asm"]["_minmaxFunc"].apply(null,arguments)};var _minmaxStep=Module["_minmaxStep"]=function(){return Module["asm"]["_minmaxStep"].apply(null,arguments)};var _missing_arguments=Module["_missing_arguments"]=function(){return Module["asm"]["_missing_arguments"].apply(null,arguments)};var _mkFullPathname=Module["_mkFullPathname"]=function(){return Module["asm"]["_mkFullPathname"].apply(null,arguments)};var _mkdir=Module["_mkdir"]=function(){return Module["asm"]["_mkdir"].apply(null,arguments)};var _mkdirat=Module["_mkdirat"]=function(){return Module["asm"]["_mkdirat"].apply(null,arguments)};var _mkdtemp=Module["_mkdtemp"]=function(){return Module["asm"]["_mkdtemp"].apply(null,arguments)};var _mkfifo=Module["_mkfifo"]=function(){return Module["asm"]["_mkfifo"].apply(null,arguments)};var _mkfifoat=Module["_mkfifoat"]=function(){return Module["asm"]["_mkfifoat"].apply(null,arguments)};var _mknod=Module["_mknod"]=function(){return Module["asm"]["_mknod"].apply(null,arguments)};var _mknodat=Module["_mknodat"]=function(){return Module["asm"]["_mknodat"].apply(null,arguments)};var _mkostemp=Module["_mkostemp"]=function(){return Module["asm"]["_mkostemp"].apply(null,arguments)};var _mkptr4=Module["_mkptr4"]=function(){return Module["asm"]["_mkptr4"].apply(null,arguments)};var _mkptr6=Module["_mkptr6"]=function(){return Module["asm"]["_mkptr6"].apply(null,arguments)};var _mkpwent=Module["_mkpwent"]=function(){return Module["asm"]["_mkpwent"].apply(null,arguments)};var _mkstemp=Module["_mkstemp"]=function(){return Module["asm"]["_mkstemp"].apply(null,arguments)};var _mkstemps=Module["_mkstemps"]=function(){return Module["asm"]["_mkstemps"].apply(null,arguments)};var _mktemp=Module["_mktemp"]=function(){return Module["asm"]["_mktemp"].apply(null,arguments)};var _mlock=Module["_mlock"]=function(){return Module["asm"]["_mlock"].apply(null,arguments)};var _mlockall=Module["_mlockall"]=function(){return Module["asm"]["_mlockall"].apply(null,arguments)};var _mmap__enter__method=Module["_mmap__enter__method"]=function(){return Module["asm"]["_mmap__enter__method"].apply(null,arguments)};var _mmap__exit__method=Module["_mmap__exit__method"]=function(){return Module["asm"]["_mmap__exit__method"].apply(null,arguments)};var _mmap_ass_item=Module["_mmap_ass_item"]=function(){return Module["asm"]["_mmap_ass_item"].apply(null,arguments)};var _mmap_ass_subscript=Module["_mmap_ass_subscript"]=function(){return Module["asm"]["_mmap_ass_subscript"].apply(null,arguments)};var _mmap_buffer_getbuf=Module["_mmap_buffer_getbuf"]=function(){return Module["asm"]["_mmap_buffer_getbuf"].apply(null,arguments)};var _mmap_buffer_releasebuf=Module["_mmap_buffer_releasebuf"]=function(){return Module["asm"]["_mmap_buffer_releasebuf"].apply(null,arguments)};var _mmap_close_method=Module["_mmap_close_method"]=function(){return Module["asm"]["_mmap_close_method"].apply(null,arguments)};var _mmap_closed_get=Module["_mmap_closed_get"]=function(){return Module["asm"]["_mmap_closed_get"].apply(null,arguments)};var _mmap_find_method=Module["_mmap_find_method"]=function(){return Module["asm"]["_mmap_find_method"].apply(null,arguments)};var _mmap_flush_method=Module["_mmap_flush_method"]=function(){return Module["asm"]["_mmap_flush_method"].apply(null,arguments)};var _mmap_gfind=Module["_mmap_gfind"]=function(){return Module["asm"]["_mmap_gfind"].apply(null,arguments)};var _mmap_item=Module["_mmap_item"]=function(){return Module["asm"]["_mmap_item"].apply(null,arguments)};var _mmap_length=Module["_mmap_length"]=function(){return Module["asm"]["_mmap_length"].apply(null,arguments)};var _mmap_move_method=Module["_mmap_move_method"]=function(){return Module["asm"]["_mmap_move_method"].apply(null,arguments)};var _mmap_object_dealloc=Module["_mmap_object_dealloc"]=function(){return Module["asm"]["_mmap_object_dealloc"].apply(null,arguments)};var _mmap_read_byte_method=Module["_mmap_read_byte_method"]=function(){return Module["asm"]["_mmap_read_byte_method"].apply(null,arguments)};var _mmap_read_line_method=Module["_mmap_read_line_method"]=function(){return Module["asm"]["_mmap_read_line_method"].apply(null,arguments)};var _mmap_read_method=Module["_mmap_read_method"]=function(){return Module["asm"]["_mmap_read_method"].apply(null,arguments)};var _mmap_resize_method=Module["_mmap_resize_method"]=function(){return Module["asm"]["_mmap_resize_method"].apply(null,arguments)};var _mmap_rfind_method=Module["_mmap_rfind_method"]=function(){return Module["asm"]["_mmap_rfind_method"].apply(null,arguments)};var _mmap_seek_method=Module["_mmap_seek_method"]=function(){return Module["asm"]["_mmap_seek_method"].apply(null,arguments)};var _mmap_size_method=Module["_mmap_size_method"]=function(){return Module["asm"]["_mmap_size_method"].apply(null,arguments)};var _mmap_subscript=Module["_mmap_subscript"]=function(){return Module["asm"]["_mmap_subscript"].apply(null,arguments)};var _mmap_tell_method=Module["_mmap_tell_method"]=function(){return Module["asm"]["_mmap_tell_method"].apply(null,arguments)};var _mmap_write_byte_method=Module["_mmap_write_byte_method"]=function(){return Module["asm"]["_mmap_write_byte_method"].apply(null,arguments)};var _mmap_write_method=Module["_mmap_write_method"]=function(){return Module["asm"]["_mmap_write_method"].apply(null,arguments)};var _modf=Module["_modf"]=function(){return Module["asm"]["_modf"].apply(null,arguments)};var _modff=Module["_modff"]=function(){return Module["asm"]["_modff"].apply(null,arguments)};var _modfl=Module["_modfl"]=function(){return Module["asm"]["_modfl"].apply(null,arguments)};var _modifyPagePointer=Module["_modifyPagePointer"]=function(){return Module["asm"]["_modifyPagePointer"].apply(null,arguments)};var _module___init__=Module["_module___init__"]=function(){return Module["asm"]["_module___init__"].apply(null,arguments)};var _module_clear=Module["_module_clear"]=function(){return Module["asm"]["_module_clear"].apply(null,arguments)};var _module_complete=Module["_module_complete"]=function(){return Module["asm"]["_module_complete"].apply(null,arguments)};var _module_connect=Module["_module_connect"]=function(){return Module["asm"]["_module_connect"].apply(null,arguments)};var _module_dealloc=Module["_module_dealloc"]=function(){return Module["asm"]["_module_dealloc"].apply(null,arguments)};var _module_dir=Module["_module_dir"]=function(){return Module["asm"]["_module_dir"].apply(null,arguments)};var _module_enable_shared_cache=Module["_module_enable_shared_cache"]=function(){return Module["asm"]["_module_enable_shared_cache"].apply(null,arguments)};var _module_free=Module["_module_free"]=function(){return Module["asm"]["_module_free"].apply(null,arguments)};var _module_getattro=Module["_module_getattro"]=function(){return Module["asm"]["_module_getattro"].apply(null,arguments)};var _module_init_dict=Module["_module_init_dict"]=function(){return Module["asm"]["_module_init_dict"].apply(null,arguments)};var _module_register_adapter=Module["_module_register_adapter"]=function(){return Module["asm"]["_module_register_adapter"].apply(null,arguments)};var _module_register_converter=Module["_module_register_converter"]=function(){return Module["asm"]["_module_register_converter"].apply(null,arguments)};var _module_repr=Module["_module_repr"]=function(){return Module["asm"]["_module_repr"].apply(null,arguments)};var _module_traverse=Module["_module_traverse"]=function(){return Module["asm"]["_module_traverse"].apply(null,arguments)};var _moveToChild=Module["_moveToChild"]=function(){return Module["asm"]["_moveToChild"].apply(null,arguments)};var _moveToLeftmost=Module["_moveToLeftmost"]=function(){return Module["asm"]["_moveToLeftmost"].apply(null,arguments)};var _moveToParent=Module["_moveToParent"]=function(){return Module["asm"]["_moveToParent"].apply(null,arguments)};var _moveToRightmost=Module["_moveToRightmost"]=function(){return Module["asm"]["_moveToRightmost"].apply(null,arguments)};var _moveToRoot=Module["_moveToRoot"]=function(){return Module["asm"]["_moveToRoot"].apply(null,arguments)};var _mpd_addstatus_raise=Module["_mpd_addstatus_raise"]=function(){return Module["asm"]["_mpd_addstatus_raise"].apply(null,arguments)};var _mpd_adjexp=Module["_mpd_adjexp"]=function(){return Module["asm"]["_mpd_adjexp"].apply(null,arguments)};var _mpd_alloc=Module["_mpd_alloc"]=function(){return Module["asm"]["_mpd_alloc"].apply(null,arguments)};var _mpd_arith_sign=Module["_mpd_arith_sign"]=function(){return Module["asm"]["_mpd_arith_sign"].apply(null,arguments)};var _mpd_basiccontext=Module["_mpd_basiccontext"]=function(){return Module["asm"]["_mpd_basiccontext"].apply(null,arguments)};var _mpd_calloc=Module["_mpd_calloc"]=function(){return Module["asm"]["_mpd_calloc"].apply(null,arguments)};var _mpd_callocfunc_em=Module["_mpd_callocfunc_em"]=function(){return Module["asm"]["_mpd_callocfunc_em"].apply(null,arguments)};var _mpd_class=Module["_mpd_class"]=function(){return Module["asm"]["_mpd_class"].apply(null,arguments)};var _mpd_clear_flags=Module["_mpd_clear_flags"]=function(){return Module["asm"]["_mpd_clear_flags"].apply(null,arguments)};var _mpd_cmp_total=Module["_mpd_cmp_total"]=function(){return Module["asm"]["_mpd_cmp_total"].apply(null,arguments)};var _mpd_cmp_total_mag=Module["_mpd_cmp_total_mag"]=function(){return Module["asm"]["_mpd_cmp_total_mag"].apply(null,arguments)};var _mpd_compare_total=Module["_mpd_compare_total"]=function(){return Module["asm"]["_mpd_compare_total"].apply(null,arguments)};var _mpd_compare_total_mag=Module["_mpd_compare_total_mag"]=function(){return Module["asm"]["_mpd_compare_total_mag"].apply(null,arguments)};var _mpd_copy_flags=Module["_mpd_copy_flags"]=function(){return Module["asm"]["_mpd_copy_flags"].apply(null,arguments)};var _mpd_defaultcontext=Module["_mpd_defaultcontext"]=function(){return Module["asm"]["_mpd_defaultcontext"].apply(null,arguments)};var _mpd_del=Module["_mpd_del"]=function(){return Module["asm"]["_mpd_del"].apply(null,arguments)};var _mpd_dflt_traphandler=Module["_mpd_dflt_traphandler"]=function(){return Module["asm"]["_mpd_dflt_traphandler"].apply(null,arguments)};var _mpd_digits_to_size=Module["_mpd_digits_to_size"]=function(){return Module["asm"]["_mpd_digits_to_size"].apply(null,arguments)};var _mpd_etiny=Module["_mpd_etiny"]=function(){return Module["asm"]["_mpd_etiny"].apply(null,arguments)};var _mpd_etop=Module["_mpd_etop"]=function(){return Module["asm"]["_mpd_etop"].apply(null,arguments)};var _mpd_exp_digits=Module["_mpd_exp_digits"]=function(){return Module["asm"]["_mpd_exp_digits"].apply(null,arguments)};var _mpd_fprint=Module["_mpd_fprint"]=function(){return Module["asm"]["_mpd_fprint"].apply(null,arguments)};var _mpd_getclamp=Module["_mpd_getclamp"]=function(){return Module["asm"]["_mpd_getclamp"].apply(null,arguments)};var _mpd_getcr=Module["_mpd_getcr"]=function(){return Module["asm"]["_mpd_getcr"].apply(null,arguments)};var _mpd_getemax=Module["_mpd_getemax"]=function(){return Module["asm"]["_mpd_getemax"].apply(null,arguments)};var _mpd_getemin=Module["_mpd_getemin"]=function(){return Module["asm"]["_mpd_getemin"].apply(null,arguments)};var _mpd_getprec=Module["_mpd_getprec"]=function(){return Module["asm"]["_mpd_getprec"].apply(null,arguments)};var _mpd_getround=Module["_mpd_getround"]=function(){return Module["asm"]["_mpd_getround"].apply(null,arguments)};var _mpd_getstatus=Module["_mpd_getstatus"]=function(){return Module["asm"]["_mpd_getstatus"].apply(null,arguments)};var _mpd_gettraps=Module["_mpd_gettraps"]=function(){return Module["asm"]["_mpd_gettraps"].apply(null,arguments)};var _mpd_ieee_context=Module["_mpd_ieee_context"]=function(){return Module["asm"]["_mpd_ieee_context"].apply(null,arguments)};var _mpd_init=Module["_mpd_init"]=function(){return Module["asm"]["_mpd_init"].apply(null,arguments)};var _mpd_iscanonical=Module["_mpd_iscanonical"]=function(){return Module["asm"]["_mpd_iscanonical"].apply(null,arguments)};var _mpd_isconst_data=Module["_mpd_isconst_data"]=function(){return Module["asm"]["_mpd_isconst_data"].apply(null,arguments)};var _mpd_isdynamic=Module["_mpd_isdynamic"]=function(){return Module["asm"]["_mpd_isdynamic"].apply(null,arguments)};var _mpd_isdynamic_data=Module["_mpd_isdynamic_data"]=function(){return Module["asm"]["_mpd_isdynamic_data"].apply(null,arguments)};var _mpd_iseven=Module["_mpd_iseven"]=function(){return Module["asm"]["_mpd_iseven"].apply(null,arguments)};var _mpd_isfinite=Module["_mpd_isfinite"]=function(){return Module["asm"]["_mpd_isfinite"].apply(null,arguments)};var _mpd_isinfinite=Module["_mpd_isinfinite"]=function(){return Module["asm"]["_mpd_isinfinite"].apply(null,arguments)};var _mpd_isinteger=Module["_mpd_isinteger"]=function(){return Module["asm"]["_mpd_isinteger"].apply(null,arguments)};var _mpd_isnan=Module["_mpd_isnan"]=function(){return Module["asm"]["_mpd_isnan"].apply(null,arguments)};var _mpd_isnegative=Module["_mpd_isnegative"]=function(){return Module["asm"]["_mpd_isnegative"].apply(null,arguments)};var _mpd_isnormal=Module["_mpd_isnormal"]=function(){return Module["asm"]["_mpd_isnormal"].apply(null,arguments)};var _mpd_isodd=Module["_mpd_isodd"]=function(){return Module["asm"]["_mpd_isodd"].apply(null,arguments)};var _mpd_isoddcoeff=Module["_mpd_isoddcoeff"]=function(){return Module["asm"]["_mpd_isoddcoeff"].apply(null,arguments)};var _mpd_isoddword=Module["_mpd_isoddword"]=function(){return Module["asm"]["_mpd_isoddword"].apply(null,arguments)};var _mpd_ispositive=Module["_mpd_ispositive"]=function(){return Module["asm"]["_mpd_ispositive"].apply(null,arguments)};var _mpd_isqnan=Module["_mpd_isqnan"]=function(){return Module["asm"]["_mpd_isqnan"].apply(null,arguments)};var _mpd_isshared_data=Module["_mpd_isshared_data"]=function(){return Module["asm"]["_mpd_isshared_data"].apply(null,arguments)};var _mpd_issigned=Module["_mpd_issigned"]=function(){return Module["asm"]["_mpd_issigned"].apply(null,arguments)};var _mpd_issnan=Module["_mpd_issnan"]=function(){return Module["asm"]["_mpd_issnan"].apply(null,arguments)};var _mpd_isspecial=Module["_mpd_isspecial"]=function(){return Module["asm"]["_mpd_isspecial"].apply(null,arguments)};var _mpd_isstatic=Module["_mpd_isstatic"]=function(){return Module["asm"]["_mpd_isstatic"].apply(null,arguments)};var _mpd_isstatic_data=Module["_mpd_isstatic_data"]=function(){return Module["asm"]["_mpd_isstatic_data"].apply(null,arguments)};var _mpd_issubnormal=Module["_mpd_issubnormal"]=function(){return Module["asm"]["_mpd_issubnormal"].apply(null,arguments)};var _mpd_iszero=Module["_mpd_iszero"]=function(){return Module["asm"]["_mpd_iszero"].apply(null,arguments)};var _mpd_iszerocoeff=Module["_mpd_iszerocoeff"]=function(){return Module["asm"]["_mpd_iszerocoeff"].apply(null,arguments)};var _mpd_lsd=Module["_mpd_lsd"]=function(){return Module["asm"]["_mpd_lsd"].apply(null,arguments)};var _mpd_lsnprint_flags=Module["_mpd_lsnprint_flags"]=function(){return Module["asm"]["_mpd_lsnprint_flags"].apply(null,arguments)};var _mpd_lsnprint_signals=Module["_mpd_lsnprint_signals"]=function(){return Module["asm"]["_mpd_lsnprint_signals"].apply(null,arguments)};var _mpd_maxcontext=Module["_mpd_maxcontext"]=function(){return Module["asm"]["_mpd_maxcontext"].apply(null,arguments)};var _mpd_minalloc=Module["_mpd_minalloc"]=function(){return Module["asm"]["_mpd_minalloc"].apply(null,arguments)};var _mpd_msd=Module["_mpd_msd"]=function(){return Module["asm"]["_mpd_msd"].apply(null,arguments)};var _mpd_msword=Module["_mpd_msword"]=function(){return Module["asm"]["_mpd_msword"].apply(null,arguments)};var _mpd_new=Module["_mpd_new"]=function(){return Module["asm"]["_mpd_new"].apply(null,arguments)};var _mpd_parse_fmt_str=Module["_mpd_parse_fmt_str"]=function(){return Module["asm"]["_mpd_parse_fmt_str"].apply(null,arguments)};var _mpd_print=Module["_mpd_print"]=function(){return Module["asm"]["_mpd_print"].apply(null,arguments)};var _mpd_qabs=Module["_mpd_qabs"]=function(){return Module["asm"]["_mpd_qabs"].apply(null,arguments)};var _mpd_qabs_uint=Module["_mpd_qabs_uint"]=function(){return Module["asm"]["_mpd_qabs_uint"].apply(null,arguments)};var _mpd_qadd=Module["_mpd_qadd"]=function(){return Module["asm"]["_mpd_qadd"].apply(null,arguments)};var _mpd_qadd_i32=Module["_mpd_qadd_i32"]=function(){return Module["asm"]["_mpd_qadd_i32"].apply(null,arguments)};var _mpd_qadd_i64=Module["_mpd_qadd_i64"]=function(){return Module["asm"]["_mpd_qadd_i64"].apply(null,arguments)};var _mpd_qadd_ssize=Module["_mpd_qadd_ssize"]=function(){return Module["asm"]["_mpd_qadd_ssize"].apply(null,arguments)};var _mpd_qadd_u32=Module["_mpd_qadd_u32"]=function(){return Module["asm"]["_mpd_qadd_u32"].apply(null,arguments)};var _mpd_qadd_u64=Module["_mpd_qadd_u64"]=function(){return Module["asm"]["_mpd_qadd_u64"].apply(null,arguments)};var _mpd_qadd_uint=Module["_mpd_qadd_uint"]=function(){return Module["asm"]["_mpd_qadd_uint"].apply(null,arguments)};var _mpd_qand=Module["_mpd_qand"]=function(){return Module["asm"]["_mpd_qand"].apply(null,arguments)};var _mpd_qceil=Module["_mpd_qceil"]=function(){return Module["asm"]["_mpd_qceil"].apply(null,arguments)};var _mpd_qcheck_nan=Module["_mpd_qcheck_nan"]=function(){return Module["asm"]["_mpd_qcheck_nan"].apply(null,arguments)};var _mpd_qcheck_nans=Module["_mpd_qcheck_nans"]=function(){return Module["asm"]["_mpd_qcheck_nans"].apply(null,arguments)};var _mpd_qcmp=Module["_mpd_qcmp"]=function(){return Module["asm"]["_mpd_qcmp"].apply(null,arguments)};var _mpd_qcompare=Module["_mpd_qcompare"]=function(){return Module["asm"]["_mpd_qcompare"].apply(null,arguments)};var _mpd_qcompare_signal=Module["_mpd_qcompare_signal"]=function(){return Module["asm"]["_mpd_qcompare_signal"].apply(null,arguments)};var _mpd_qcopy=Module["_mpd_qcopy"]=function(){return Module["asm"]["_mpd_qcopy"].apply(null,arguments)};var _mpd_qcopy_abs=Module["_mpd_qcopy_abs"]=function(){return Module["asm"]["_mpd_qcopy_abs"].apply(null,arguments)};var _mpd_qcopy_negate=Module["_mpd_qcopy_negate"]=function(){return Module["asm"]["_mpd_qcopy_negate"].apply(null,arguments)};var _mpd_qcopy_sign=Module["_mpd_qcopy_sign"]=function(){return Module["asm"]["_mpd_qcopy_sign"].apply(null,arguments)};var _mpd_qdiv=Module["_mpd_qdiv"]=function(){return Module["asm"]["_mpd_qdiv"].apply(null,arguments)};var _mpd_qdiv_i32=Module["_mpd_qdiv_i32"]=function(){return Module["asm"]["_mpd_qdiv_i32"].apply(null,arguments)};var _mpd_qdiv_i64=Module["_mpd_qdiv_i64"]=function(){return Module["asm"]["_mpd_qdiv_i64"].apply(null,arguments)};var _mpd_qdiv_ssize=Module["_mpd_qdiv_ssize"]=function(){return Module["asm"]["_mpd_qdiv_ssize"].apply(null,arguments)};var _mpd_qdiv_u32=Module["_mpd_qdiv_u32"]=function(){return Module["asm"]["_mpd_qdiv_u32"].apply(null,arguments)};var _mpd_qdiv_u64=Module["_mpd_qdiv_u64"]=function(){return Module["asm"]["_mpd_qdiv_u64"].apply(null,arguments)};var _mpd_qdiv_uint=Module["_mpd_qdiv_uint"]=function(){return Module["asm"]["_mpd_qdiv_uint"].apply(null,arguments)};var _mpd_qdivint=Module["_mpd_qdivint"]=function(){return Module["asm"]["_mpd_qdivint"].apply(null,arguments)};var _mpd_qdivmod=Module["_mpd_qdivmod"]=function(){return Module["asm"]["_mpd_qdivmod"].apply(null,arguments)};var _mpd_qexp=Module["_mpd_qexp"]=function(){return Module["asm"]["_mpd_qexp"].apply(null,arguments)};var _mpd_qexport_u16=Module["_mpd_qexport_u16"]=function(){return Module["asm"]["_mpd_qexport_u16"].apply(null,arguments)};var _mpd_qexport_u32=Module["_mpd_qexport_u32"]=function(){return Module["asm"]["_mpd_qexport_u32"].apply(null,arguments)};var _mpd_qfinalize=Module["_mpd_qfinalize"]=function(){return Module["asm"]["_mpd_qfinalize"].apply(null,arguments)};var _mpd_qfloor=Module["_mpd_qfloor"]=function(){return Module["asm"]["_mpd_qfloor"].apply(null,arguments)};var _mpd_qfma=Module["_mpd_qfma"]=function(){return Module["asm"]["_mpd_qfma"].apply(null,arguments)};var _mpd_qformat=Module["_mpd_qformat"]=function(){return Module["asm"]["_mpd_qformat"].apply(null,arguments)};var _mpd_qformat_spec=Module["_mpd_qformat_spec"]=function(){return Module["asm"]["_mpd_qformat_spec"].apply(null,arguments)};var _mpd_qget_i32=Module["_mpd_qget_i32"]=function(){return Module["asm"]["_mpd_qget_i32"].apply(null,arguments)};var _mpd_qget_i64=Module["_mpd_qget_i64"]=function(){return Module["asm"]["_mpd_qget_i64"].apply(null,arguments)};var _mpd_qget_ssize=Module["_mpd_qget_ssize"]=function(){return Module["asm"]["_mpd_qget_ssize"].apply(null,arguments)};var _mpd_qget_u32=Module["_mpd_qget_u32"]=function(){return Module["asm"]["_mpd_qget_u32"].apply(null,arguments)};var _mpd_qget_u64=Module["_mpd_qget_u64"]=function(){return Module["asm"]["_mpd_qget_u64"].apply(null,arguments)};var _mpd_qget_uint=Module["_mpd_qget_uint"]=function(){return Module["asm"]["_mpd_qget_uint"].apply(null,arguments)};var _mpd_qimport_u16=Module["_mpd_qimport_u16"]=function(){return Module["asm"]["_mpd_qimport_u16"].apply(null,arguments)};var _mpd_qimport_u32=Module["_mpd_qimport_u32"]=function(){return Module["asm"]["_mpd_qimport_u32"].apply(null,arguments)};var _mpd_qinvert=Module["_mpd_qinvert"]=function(){return Module["asm"]["_mpd_qinvert"].apply(null,arguments)};var _mpd_qinvroot=Module["_mpd_qinvroot"]=function(){return Module["asm"]["_mpd_qinvroot"].apply(null,arguments)};var _mpd_qln=Module["_mpd_qln"]=function(){return Module["asm"]["_mpd_qln"].apply(null,arguments)};var _mpd_qln10=Module["_mpd_qln10"]=function(){return Module["asm"]["_mpd_qln10"].apply(null,arguments)};var _mpd_qlog10=Module["_mpd_qlog10"]=function(){return Module["asm"]["_mpd_qlog10"].apply(null,arguments)};var _mpd_qlogb=Module["_mpd_qlogb"]=function(){return Module["asm"]["_mpd_qlogb"].apply(null,arguments)};var _mpd_qmax=Module["_mpd_qmax"]=function(){return Module["asm"]["_mpd_qmax"].apply(null,arguments)};var _mpd_qmax_mag=Module["_mpd_qmax_mag"]=function(){return Module["asm"]["_mpd_qmax_mag"].apply(null,arguments)};var _mpd_qmaxcoeff=Module["_mpd_qmaxcoeff"]=function(){return Module["asm"]["_mpd_qmaxcoeff"].apply(null,arguments)};var _mpd_qmin=Module["_mpd_qmin"]=function(){return Module["asm"]["_mpd_qmin"].apply(null,arguments)};var _mpd_qmin_mag=Module["_mpd_qmin_mag"]=function(){return Module["asm"]["_mpd_qmin_mag"].apply(null,arguments)};var _mpd_qminus=Module["_mpd_qminus"]=function(){return Module["asm"]["_mpd_qminus"].apply(null,arguments)};var _mpd_qmul=Module["_mpd_qmul"]=function(){return Module["asm"]["_mpd_qmul"].apply(null,arguments)};var _mpd_qmul_i32=Module["_mpd_qmul_i32"]=function(){return Module["asm"]["_mpd_qmul_i32"].apply(null,arguments)};var _mpd_qmul_i64=Module["_mpd_qmul_i64"]=function(){return Module["asm"]["_mpd_qmul_i64"].apply(null,arguments)};var _mpd_qmul_ssize=Module["_mpd_qmul_ssize"]=function(){return Module["asm"]["_mpd_qmul_ssize"].apply(null,arguments)};var _mpd_qmul_u32=Module["_mpd_qmul_u32"]=function(){return Module["asm"]["_mpd_qmul_u32"].apply(null,arguments)};var _mpd_qmul_u64=Module["_mpd_qmul_u64"]=function(){return Module["asm"]["_mpd_qmul_u64"].apply(null,arguments)};var _mpd_qmul_uint=Module["_mpd_qmul_uint"]=function(){return Module["asm"]["_mpd_qmul_uint"].apply(null,arguments)};var _mpd_qncopy=Module["_mpd_qncopy"]=function(){return Module["asm"]["_mpd_qncopy"].apply(null,arguments)};var _mpd_qnew=Module["_mpd_qnew"]=function(){return Module["asm"]["_mpd_qnew"].apply(null,arguments)};var _mpd_qnew_size=Module["_mpd_qnew_size"]=function(){return Module["asm"]["_mpd_qnew_size"].apply(null,arguments)};var _mpd_qnext_minus=Module["_mpd_qnext_minus"]=function(){return Module["asm"]["_mpd_qnext_minus"].apply(null,arguments)};var _mpd_qnext_plus=Module["_mpd_qnext_plus"]=function(){return Module["asm"]["_mpd_qnext_plus"].apply(null,arguments)};var _mpd_qnext_toward=Module["_mpd_qnext_toward"]=function(){return Module["asm"]["_mpd_qnext_toward"].apply(null,arguments)};var _mpd_qor=Module["_mpd_qor"]=function(){return Module["asm"]["_mpd_qor"].apply(null,arguments)};var _mpd_qplus=Module["_mpd_qplus"]=function(){return Module["asm"]["_mpd_qplus"].apply(null,arguments)};var _mpd_qpow=Module["_mpd_qpow"]=function(){return Module["asm"]["_mpd_qpow"].apply(null,arguments)};var _mpd_qpowmod=Module["_mpd_qpowmod"]=function(){return Module["asm"]["_mpd_qpowmod"].apply(null,arguments)};var _mpd_qquantize=Module["_mpd_qquantize"]=function(){return Module["asm"]["_mpd_qquantize"].apply(null,arguments)};var _mpd_qreduce=Module["_mpd_qreduce"]=function(){return Module["asm"]["_mpd_qreduce"].apply(null,arguments)};var _mpd_qrem=Module["_mpd_qrem"]=function(){return Module["asm"]["_mpd_qrem"].apply(null,arguments)};var _mpd_qrem_near=Module["_mpd_qrem_near"]=function(){return Module["asm"]["_mpd_qrem_near"].apply(null,arguments)};var _mpd_qrescale=Module["_mpd_qrescale"]=function(){return Module["asm"]["_mpd_qrescale"].apply(null,arguments)};var _mpd_qrescale_fmt=Module["_mpd_qrescale_fmt"]=function(){return Module["asm"]["_mpd_qrescale_fmt"].apply(null,arguments)};var _mpd_qresize=Module["_mpd_qresize"]=function(){return Module["asm"]["_mpd_qresize"].apply(null,arguments)};var _mpd_qresize_zero=Module["_mpd_qresize_zero"]=function(){return Module["asm"]["_mpd_qresize_zero"].apply(null,arguments)};var _mpd_qrotate=Module["_mpd_qrotate"]=function(){return Module["asm"]["_mpd_qrotate"].apply(null,arguments)};var _mpd_qround_to_int=Module["_mpd_qround_to_int"]=function(){return Module["asm"]["_mpd_qround_to_int"].apply(null,arguments)};var _mpd_qround_to_intx=Module["_mpd_qround_to_intx"]=function(){return Module["asm"]["_mpd_qround_to_intx"].apply(null,arguments)};var _mpd_qscaleb=Module["_mpd_qscaleb"]=function(){return Module["asm"]["_mpd_qscaleb"].apply(null,arguments)};var _mpd_qset_i32=Module["_mpd_qset_i32"]=function(){return Module["asm"]["_mpd_qset_i32"].apply(null,arguments)};var _mpd_qset_i64=Module["_mpd_qset_i64"]=function(){return Module["asm"]["_mpd_qset_i64"].apply(null,arguments)};var _mpd_qset_ssize=Module["_mpd_qset_ssize"]=function(){return Module["asm"]["_mpd_qset_ssize"].apply(null,arguments)};var _mpd_qset_string=Module["_mpd_qset_string"]=function(){return Module["asm"]["_mpd_qset_string"].apply(null,arguments)};var _mpd_qset_u32=Module["_mpd_qset_u32"]=function(){return Module["asm"]["_mpd_qset_u32"].apply(null,arguments)};var _mpd_qset_u64=Module["_mpd_qset_u64"]=function(){return Module["asm"]["_mpd_qset_u64"].apply(null,arguments)};var _mpd_qset_uint=Module["_mpd_qset_uint"]=function(){return Module["asm"]["_mpd_qset_uint"].apply(null,arguments)};var _mpd_qsetclamp=Module["_mpd_qsetclamp"]=function(){return Module["asm"]["_mpd_qsetclamp"].apply(null,arguments)};var _mpd_qsetcr=Module["_mpd_qsetcr"]=function(){return Module["asm"]["_mpd_qsetcr"].apply(null,arguments)};var _mpd_qsetemax=Module["_mpd_qsetemax"]=function(){return Module["asm"]["_mpd_qsetemax"].apply(null,arguments)};var _mpd_qsetemin=Module["_mpd_qsetemin"]=function(){return Module["asm"]["_mpd_qsetemin"].apply(null,arguments)};var _mpd_qsetprec=Module["_mpd_qsetprec"]=function(){return Module["asm"]["_mpd_qsetprec"].apply(null,arguments)};var _mpd_qsetround=Module["_mpd_qsetround"]=function(){return Module["asm"]["_mpd_qsetround"].apply(null,arguments)};var _mpd_qsetstatus=Module["_mpd_qsetstatus"]=function(){return Module["asm"]["_mpd_qsetstatus"].apply(null,arguments)};var _mpd_qsettraps=Module["_mpd_qsettraps"]=function(){return Module["asm"]["_mpd_qsettraps"].apply(null,arguments)};var _mpd_qshift=Module["_mpd_qshift"]=function(){return Module["asm"]["_mpd_qshift"].apply(null,arguments)};var _mpd_qshiftl=Module["_mpd_qshiftl"]=function(){return Module["asm"]["_mpd_qshiftl"].apply(null,arguments)};var _mpd_qshiftn=Module["_mpd_qshiftn"]=function(){return Module["asm"]["_mpd_qshiftn"].apply(null,arguments)};var _mpd_qshiftr=Module["_mpd_qshiftr"]=function(){return Module["asm"]["_mpd_qshiftr"].apply(null,arguments)};var _mpd_qshiftr_inplace=Module["_mpd_qshiftr_inplace"]=function(){return Module["asm"]["_mpd_qshiftr_inplace"].apply(null,arguments)};var _mpd_qsqrt=Module["_mpd_qsqrt"]=function(){return Module["asm"]["_mpd_qsqrt"].apply(null,arguments)};var _mpd_qsset_i32=Module["_mpd_qsset_i32"]=function(){return Module["asm"]["_mpd_qsset_i32"].apply(null,arguments)};var _mpd_qsset_ssize=Module["_mpd_qsset_ssize"]=function(){return Module["asm"]["_mpd_qsset_ssize"].apply(null,arguments)};var _mpd_qsset_u32=Module["_mpd_qsset_u32"]=function(){return Module["asm"]["_mpd_qsset_u32"].apply(null,arguments)};var _mpd_qsset_uint=Module["_mpd_qsset_uint"]=function(){return Module["asm"]["_mpd_qsset_uint"].apply(null,arguments)};var _mpd_qsub=Module["_mpd_qsub"]=function(){return Module["asm"]["_mpd_qsub"].apply(null,arguments)};var _mpd_qsub_i32=Module["_mpd_qsub_i32"]=function(){return Module["asm"]["_mpd_qsub_i32"].apply(null,arguments)};var _mpd_qsub_i64=Module["_mpd_qsub_i64"]=function(){return Module["asm"]["_mpd_qsub_i64"].apply(null,arguments)};var _mpd_qsub_ssize=Module["_mpd_qsub_ssize"]=function(){return Module["asm"]["_mpd_qsub_ssize"].apply(null,arguments)};var _mpd_qsub_u32=Module["_mpd_qsub_u32"]=function(){return Module["asm"]["_mpd_qsub_u32"].apply(null,arguments)};var _mpd_qsub_u64=Module["_mpd_qsub_u64"]=function(){return Module["asm"]["_mpd_qsub_u64"].apply(null,arguments)};var _mpd_qsub_uint=Module["_mpd_qsub_uint"]=function(){return Module["asm"]["_mpd_qsub_uint"].apply(null,arguments)};var _mpd_qtrunc=Module["_mpd_qtrunc"]=function(){return Module["asm"]["_mpd_qtrunc"].apply(null,arguments)};var _mpd_qxor=Module["_mpd_qxor"]=function(){return Module["asm"]["_mpd_qxor"].apply(null,arguments)};var _mpd_radix=Module["_mpd_radix"]=function(){return Module["asm"]["_mpd_radix"].apply(null,arguments)};var _mpd_realloc=Module["_mpd_realloc"]=function(){return Module["asm"]["_mpd_realloc"].apply(null,arguments)};var _mpd_realloc_dyn=Module["_mpd_realloc_dyn"]=function(){return Module["asm"]["_mpd_realloc_dyn"].apply(null,arguments)};var _mpd_resize=Module["_mpd_resize"]=function(){return Module["asm"]["_mpd_resize"].apply(null,arguments)};var _mpd_resize_zero=Module["_mpd_resize_zero"]=function(){return Module["asm"]["_mpd_resize_zero"].apply(null,arguments)};var _mpd_same_quantum=Module["_mpd_same_quantum"]=function(){return Module["asm"]["_mpd_same_quantum"].apply(null,arguments)};var _mpd_set_const_data=Module["_mpd_set_const_data"]=function(){return Module["asm"]["_mpd_set_const_data"].apply(null,arguments)};var _mpd_set_dynamic=Module["_mpd_set_dynamic"]=function(){return Module["asm"]["_mpd_set_dynamic"].apply(null,arguments)};var _mpd_set_dynamic_data=Module["_mpd_set_dynamic_data"]=function(){return Module["asm"]["_mpd_set_dynamic_data"].apply(null,arguments)};var _mpd_set_flags=Module["_mpd_set_flags"]=function(){return Module["asm"]["_mpd_set_flags"].apply(null,arguments)};var _mpd_set_infinity=Module["_mpd_set_infinity"]=function(){return Module["asm"]["_mpd_set_infinity"].apply(null,arguments)};var _mpd_set_negative=Module["_mpd_set_negative"]=function(){return Module["asm"]["_mpd_set_negative"].apply(null,arguments)};var _mpd_set_positive=Module["_mpd_set_positive"]=function(){return Module["asm"]["_mpd_set_positive"].apply(null,arguments)};var _mpd_set_qnan=Module["_mpd_set_qnan"]=function(){return Module["asm"]["_mpd_set_qnan"].apply(null,arguments)};var _mpd_set_shared_data=Module["_mpd_set_shared_data"]=function(){return Module["asm"]["_mpd_set_shared_data"].apply(null,arguments)};var _mpd_set_sign=Module["_mpd_set_sign"]=function(){return Module["asm"]["_mpd_set_sign"].apply(null,arguments)};var _mpd_set_snan=Module["_mpd_set_snan"]=function(){return Module["asm"]["_mpd_set_snan"].apply(null,arguments)};var _mpd_set_static=Module["_mpd_set_static"]=function(){return Module["asm"]["_mpd_set_static"].apply(null,arguments)};var _mpd_set_static_data=Module["_mpd_set_static_data"]=function(){return Module["asm"]["_mpd_set_static_data"].apply(null,arguments)};var _mpd_setdigits=Module["_mpd_setdigits"]=function(){return Module["asm"]["_mpd_setdigits"].apply(null,arguments)};var _mpd_seterror=Module["_mpd_seterror"]=function(){return Module["asm"]["_mpd_seterror"].apply(null,arguments)};var _mpd_setminalloc=Module["_mpd_setminalloc"]=function(){return Module["asm"]["_mpd_setminalloc"].apply(null,arguments)};var _mpd_setspecial=Module["_mpd_setspecial"]=function(){return Module["asm"]["_mpd_setspecial"].apply(null,arguments)};var _mpd_sh_alloc=Module["_mpd_sh_alloc"]=function(){return Module["asm"]["_mpd_sh_alloc"].apply(null,arguments)};var _mpd_sign=Module["_mpd_sign"]=function(){return Module["asm"]["_mpd_sign"].apply(null,arguments)};var _mpd_signcpy=Module["_mpd_signcpy"]=function(){return Module["asm"]["_mpd_signcpy"].apply(null,arguments)};var _mpd_sizeinbase=Module["_mpd_sizeinbase"]=function(){return Module["asm"]["_mpd_sizeinbase"].apply(null,arguments)};var _mpd_snprint_flags=Module["_mpd_snprint_flags"]=function(){return Module["asm"]["_mpd_snprint_flags"].apply(null,arguments)};var _mpd_switch_to_dyn=Module["_mpd_switch_to_dyn"]=function(){return Module["asm"]["_mpd_switch_to_dyn"].apply(null,arguments)};var _mpd_switch_to_dyn_zero=Module["_mpd_switch_to_dyn_zero"]=function(){return Module["asm"]["_mpd_switch_to_dyn_zero"].apply(null,arguments)};var _mpd_to_eng=Module["_mpd_to_eng"]=function(){return Module["asm"]["_mpd_to_eng"].apply(null,arguments)};var _mpd_to_eng_size=Module["_mpd_to_eng_size"]=function(){return Module["asm"]["_mpd_to_eng_size"].apply(null,arguments)};var _mpd_to_sci=Module["_mpd_to_sci"]=function(){return Module["asm"]["_mpd_to_sci"].apply(null,arguments)};var _mpd_to_sci_size=Module["_mpd_to_sci_size"]=function(){return Module["asm"]["_mpd_to_sci_size"].apply(null,arguments)};var _mpd_trail_zeros=Module["_mpd_trail_zeros"]=function(){return Module["asm"]["_mpd_trail_zeros"].apply(null,arguments)};var _mpd_uint_zero=Module["_mpd_uint_zero"]=function(){return Module["asm"]["_mpd_uint_zero"].apply(null,arguments)};var _mpd_validate_lconv=Module["_mpd_validate_lconv"]=function(){return Module["asm"]["_mpd_validate_lconv"].apply(null,arguments)};var _mpd_version=Module["_mpd_version"]=function(){return Module["asm"]["_mpd_version"].apply(null,arguments)};var _mpd_word_digits=Module["_mpd_word_digits"]=function(){return Module["asm"]["_mpd_word_digits"].apply(null,arguments)};var _mpd_zerocoeff=Module["_mpd_zerocoeff"]=function(){return Module["asm"]["_mpd_zerocoeff"].apply(null,arguments)};var _mrand48=Module["_mrand48"]=function(){return Module["asm"]["_mrand48"].apply(null,arguments)};var _mread=Module["_mread"]=function(){return Module["asm"]["_mread"].apply(null,arguments)};var _mro_hierarchy=Module["_mro_hierarchy"]=function(){return Module["asm"]["_mro_hierarchy"].apply(null,arguments)};var _mro_implementation=Module["_mro_implementation"]=function(){return Module["asm"]["_mro_implementation"].apply(null,arguments)};var _mro_internal=Module["_mro_internal"]=function(){return Module["asm"]["_mro_internal"].apply(null,arguments)};var _ms_close=Module["_ms_close"]=function(){return Module["asm"]["_ms_close"].apply(null,arguments)};var _ms_seek=Module["_ms_seek"]=function(){return Module["asm"]["_ms_seek"].apply(null,arguments)};var _ms_write=Module["_ms_write"]=function(){return Module["asm"]["_ms_write"].apply(null,arguments)};var _mseek=Module["_mseek"]=function(){return Module["asm"]["_mseek"].apply(null,arguments)};var _msync=Module["_msync"]=function(){return Module["asm"]["_msync"].apply(null,arguments)};var _mtime=Module["_mtime"]=function(){return Module["asm"]["_mtime"].apply(null,arguments)};var _mult=Module["_mult"]=function(){return Module["asm"]["_mult"].apply(null,arguments)};var _multadd=Module["_multadd"]=function(){return Module["asm"]["_multadd"].apply(null,arguments)};var _multiSelect=Module["_multiSelect"]=function(){return Module["asm"]["_multiSelect"].apply(null,arguments)};var _multiSelectCollSeq=Module["_multiSelectCollSeq"]=function(){return Module["asm"]["_multiSelectCollSeq"].apply(null,arguments)};var _multiSelectOrderBy=Module["_multiSelectOrderBy"]=function(){return Module["asm"]["_multiSelectOrderBy"].apply(null,arguments)};var _multiSelectOrderByKeyInfo=Module["_multiSelectOrderByKeyInfo"]=function(){return Module["asm"]["_multiSelectOrderByKeyInfo"].apply(null,arguments)};var _multiSelectValues=Module["_multiSelectValues"]=function(){return Module["asm"]["_multiSelectValues"].apply(null,arguments)};var _multibytecodec_dealloc=Module["_multibytecodec_dealloc"]=function(){return Module["asm"]["_multibytecodec_dealloc"].apply(null,arguments)};var _multibytecodec_decerror=Module["_multibytecodec_decerror"]=function(){return Module["asm"]["_multibytecodec_decerror"].apply(null,arguments)};var _multibytecodec_encerror=Module["_multibytecodec_encerror"]=function(){return Module["asm"]["_multibytecodec_encerror"].apply(null,arguments)};var _multibytecodec_encode=Module["_multibytecodec_encode"]=function(){return Module["asm"]["_multibytecodec_encode"].apply(null,arguments)};var _multiply_truedivide_timedelta_float=Module["_multiply_truedivide_timedelta_float"]=function(){return Module["asm"]["_multiply_truedivide_timedelta_float"].apply(null,arguments)};var _munlock=Module["_munlock"]=function(){return Module["asm"]["_munlock"].apply(null,arguments)};var _munlockall=Module["_munlockall"]=function(){return Module["asm"]["_munlockall"].apply(null,arguments)};var _mutablemapping_add_pairs=Module["_mutablemapping_add_pairs"]=function(){return Module["asm"]["_mutablemapping_add_pairs"].apply(null,arguments)};var _mutablemapping_update=Module["_mutablemapping_update"]=function(){return Module["asm"]["_mutablemapping_update"].apply(null,arguments)};var _mwrite=Module["_mwrite"]=function(){return Module["asm"]["_mwrite"].apply(null,arguments)};var _my_AttlistDeclHandler=Module["_my_AttlistDeclHandler"]=function(){return Module["asm"]["_my_AttlistDeclHandler"].apply(null,arguments)};var _my_CharacterDataHandler=Module["_my_CharacterDataHandler"]=function(){return Module["asm"]["_my_CharacterDataHandler"].apply(null,arguments)};var _my_CommentHandler=Module["_my_CommentHandler"]=function(){return Module["asm"]["_my_CommentHandler"].apply(null,arguments)};var _my_DefaultHandler=Module["_my_DefaultHandler"]=function(){return Module["asm"]["_my_DefaultHandler"].apply(null,arguments)};var _my_DefaultHandlerExpandHandler=Module["_my_DefaultHandlerExpandHandler"]=function(){return Module["asm"]["_my_DefaultHandlerExpandHandler"].apply(null,arguments)};var _my_ElementDeclHandler=Module["_my_ElementDeclHandler"]=function(){return Module["asm"]["_my_ElementDeclHandler"].apply(null,arguments)};var _my_EndCdataSectionHandler=Module["_my_EndCdataSectionHandler"]=function(){return Module["asm"]["_my_EndCdataSectionHandler"].apply(null,arguments)};var _my_EndDoctypeDeclHandler=Module["_my_EndDoctypeDeclHandler"]=function(){return Module["asm"]["_my_EndDoctypeDeclHandler"].apply(null,arguments)};var _my_EndElementHandler=Module["_my_EndElementHandler"]=function(){return Module["asm"]["_my_EndElementHandler"].apply(null,arguments)};var _my_EndNamespaceDeclHandler=Module["_my_EndNamespaceDeclHandler"]=function(){return Module["asm"]["_my_EndNamespaceDeclHandler"].apply(null,arguments)};var _my_EntityDeclHandler=Module["_my_EntityDeclHandler"]=function(){return Module["asm"]["_my_EntityDeclHandler"].apply(null,arguments)};var _my_ExternalEntityRefHandler=Module["_my_ExternalEntityRefHandler"]=function(){return Module["asm"]["_my_ExternalEntityRefHandler"].apply(null,arguments)};var _my_NotStandaloneHandler=Module["_my_NotStandaloneHandler"]=function(){return Module["asm"]["_my_NotStandaloneHandler"].apply(null,arguments)};var _my_NotationDeclHandler=Module["_my_NotationDeclHandler"]=function(){return Module["asm"]["_my_NotationDeclHandler"].apply(null,arguments)};var _my_ProcessingInstructionHandler=Module["_my_ProcessingInstructionHandler"]=function(){return Module["asm"]["_my_ProcessingInstructionHandler"].apply(null,arguments)};var _my_SkippedEntityHandler=Module["_my_SkippedEntityHandler"]=function(){return Module["asm"]["_my_SkippedEntityHandler"].apply(null,arguments)};var _my_StartCdataSectionHandler=Module["_my_StartCdataSectionHandler"]=function(){return Module["asm"]["_my_StartCdataSectionHandler"].apply(null,arguments)};var _my_StartDoctypeDeclHandler=Module["_my_StartDoctypeDeclHandler"]=function(){return Module["asm"]["_my_StartDoctypeDeclHandler"].apply(null,arguments)};var _my_StartElementHandler=Module["_my_StartElementHandler"]=function(){return Module["asm"]["_my_StartElementHandler"].apply(null,arguments)};var _my_StartNamespaceDeclHandler=Module["_my_StartNamespaceDeclHandler"]=function(){return Module["asm"]["_my_StartNamespaceDeclHandler"].apply(null,arguments)};var _my_UnparsedEntityDeclHandler=Module["_my_UnparsedEntityDeclHandler"]=function(){return Module["asm"]["_my_UnparsedEntityDeclHandler"].apply(null,arguments)};var _my_XmlDeclHandler=Module["_my_XmlDeclHandler"]=function(){return Module["asm"]["_my_XmlDeclHandler"].apply(null,arguments)};var _my_fgets=Module["_my_fgets"]=function(){return Module["asm"]["_my_fgets"].apply(null,arguments)};var _nameInUsingClause=Module["_nameInUsingClause"]=function(){return Module["asm"]["_nameInUsingClause"].apply(null,arguments)};var _name_from_dns=Module["_name_from_dns"]=function(){return Module["asm"]["_name_from_dns"].apply(null,arguments)};var _name_from_dns_search=Module["_name_from_dns_search"]=function(){return Module["asm"]["_name_from_dns_search"].apply(null,arguments)};var _name_from_hosts=Module["_name_from_hosts"]=function(){return Module["asm"]["_name_from_hosts"].apply(null,arguments)};var _name_from_null=Module["_name_from_null"]=function(){return Module["asm"]["_name_from_null"].apply(null,arguments)};var _name_from_numeric=Module["_name_from_numeric"]=function(){return Module["asm"]["_name_from_numeric"].apply(null,arguments)};var _namereplace_errors=Module["_namereplace_errors"]=function(){return Module["asm"]["_namereplace_errors"].apply(null,arguments)};var _namespace_clear=Module["_namespace_clear"]=function(){return Module["asm"]["_namespace_clear"].apply(null,arguments)};var _namespace_dealloc=Module["_namespace_dealloc"]=function(){return Module["asm"]["_namespace_dealloc"].apply(null,arguments)};var _namespace_init=Module["_namespace_init"]=function(){return Module["asm"]["_namespace_init"].apply(null,arguments)};var _namespace_new=Module["_namespace_new"]=function(){return Module["asm"]["_namespace_new"].apply(null,arguments)};var _namespace_reduce=Module["_namespace_reduce"]=function(){return Module["asm"]["_namespace_reduce"].apply(null,arguments)};var _namespace_repr=Module["_namespace_repr"]=function(){return Module["asm"]["_namespace_repr"].apply(null,arguments)};var _namespace_richcompare=Module["_namespace_richcompare"]=function(){return Module["asm"]["_namespace_richcompare"].apply(null,arguments)};var _namespace_traverse=Module["_namespace_traverse"]=function(){return Module["asm"]["_namespace_traverse"].apply(null,arguments)};var _nan=Module["_nan"]=function(){return Module["asm"]["_nan"].apply(null,arguments)};var _nanf=Module["_nanf"]=function(){return Module["asm"]["_nanf"].apply(null,arguments)};var _nanl=Module["_nanl"]=function(){return Module["asm"]["_nanl"].apply(null,arguments)};var _nearbyint=Module["_nearbyint"]=function(){return Module["asm"]["_nearbyint"].apply(null,arguments)};var _nearbyintf=Module["_nearbyintf"]=function(){return Module["asm"]["_nearbyintf"].apply(null,arguments)};var _nearbyintl=Module["_nearbyintl"]=function(){return Module["asm"]["_nearbyintl"].apply(null,arguments)};var _netlink_msg_to_ifaddr=Module["_netlink_msg_to_ifaddr"]=function(){return Module["asm"]["_netlink_msg_to_ifaddr"].apply(null,arguments)};var _netlink_msg_to_nameindex=Module["_netlink_msg_to_nameindex"]=function(){return Module["asm"]["_netlink_msg_to_nameindex"].apply(null,arguments)};var _newDatabase=Module["_newDatabase"]=function(){return Module["asm"]["_newDatabase"].apply(null,arguments)};var _new_date_ex=Module["_new_date_ex"]=function(){return Module["asm"]["_new_date_ex"].apply(null,arguments)};var _new_datetime_ex=Module["_new_datetime_ex"]=function(){return Module["asm"]["_new_datetime_ex"].apply(null,arguments)};var _new_datetime_ex2=Module["_new_datetime_ex2"]=function(){return Module["asm"]["_new_datetime_ex2"].apply(null,arguments)};var _new_delta_ex=Module["_new_delta_ex"]=function(){return Module["asm"]["_new_delta_ex"].apply(null,arguments)};var _new_dict_with_shared_keys=Module["_new_dict_with_shared_keys"]=function(){return Module["asm"]["_new_dict_with_shared_keys"].apply(null,arguments)};var _new_identifier=Module["_new_identifier"]=function(){return Module["asm"]["_new_identifier"].apply(null,arguments)};var _new_mmap_object=Module["_new_mmap_object"]=function(){return Module["asm"]["_new_mmap_object"].apply(null,arguments)};var _new_threadstate=Module["_new_threadstate"]=function(){return Module["asm"]["_new_threadstate"].apply(null,arguments)};var _new_time_ex=Module["_new_time_ex"]=function(){return Module["asm"]["_new_time_ex"].apply(null,arguments)};var _new_time_ex2=Module["_new_time_ex2"]=function(){return Module["asm"]["_new_time_ex2"].apply(null,arguments)};var _new_timezone=Module["_new_timezone"]=function(){return Module["asm"]["_new_timezone"].apply(null,arguments)};var _newarrayobject=Module["_newarrayobject"]=function(){return Module["asm"]["_newarrayobject"].apply(null,arguments)};var _newcompobject=Module["_newcompobject"]=function(){return Module["asm"]["_newcompobject"].apply(null,arguments)};var _nextScaffoldPart=Module["_nextScaffoldPart"]=function(){return Module["asm"]["_nextScaffoldPart"].apply(null,arguments)};var _nextafter=Module["_nextafter"]=function(){return Module["asm"]["_nextafter"].apply(null,arguments)};var _nextafterf=Module["_nextafterf"]=function(){return Module["asm"]["_nextafterf"].apply(null,arguments)};var _nextafterl=Module["_nextafterl"]=function(){return Module["asm"]["_nextafterl"].apply(null,arguments)};var _nexttoward=Module["_nexttoward"]=function(){return Module["asm"]["_nexttoward"].apply(null,arguments)};var _nexttowardf=Module["_nexttowardf"]=function(){return Module["asm"]["_nexttowardf"].apply(null,arguments)};var _nexttowardl=Module["_nexttowardl"]=function(){return Module["asm"]["_nexttowardl"].apply(null,arguments)};var _nfc_nfkc=Module["_nfc_nfkc"]=function(){return Module["asm"]["_nfc_nfkc"].apply(null,arguments)};var _nfd_nfkd=Module["_nfd_nfkd"]=function(){return Module["asm"]["_nfd_nfkd"].apply(null,arguments)};var _nftw=Module["_nftw"]=function(){return Module["asm"]["_nftw"].apply(null,arguments)};var _ngettext=Module["_ngettext"]=function(){return Module["asm"]["_ngettext"].apply(null,arguments)};var _nice=Module["_nice"]=function(){return Module["asm"]["_nice"].apply(null,arguments)};var _nm_dec_as_long=Module["_nm_dec_as_long"]=function(){return Module["asm"]["_nm_dec_as_long"].apply(null,arguments)};var _nm_mpd_qabs=Module["_nm_mpd_qabs"]=function(){return Module["asm"]["_nm_mpd_qabs"].apply(null,arguments)};var _nm_mpd_qadd=Module["_nm_mpd_qadd"]=function(){return Module["asm"]["_nm_mpd_qadd"].apply(null,arguments)};var _nm_mpd_qdiv=Module["_nm_mpd_qdiv"]=function(){return Module["asm"]["_nm_mpd_qdiv"].apply(null,arguments)};var _nm_mpd_qdivint=Module["_nm_mpd_qdivint"]=function(){return Module["asm"]["_nm_mpd_qdivint"].apply(null,arguments)};var _nm_mpd_qdivmod=Module["_nm_mpd_qdivmod"]=function(){return Module["asm"]["_nm_mpd_qdivmod"].apply(null,arguments)};var _nm_mpd_qminus=Module["_nm_mpd_qminus"]=function(){return Module["asm"]["_nm_mpd_qminus"].apply(null,arguments)};var _nm_mpd_qmul=Module["_nm_mpd_qmul"]=function(){return Module["asm"]["_nm_mpd_qmul"].apply(null,arguments)};var _nm_mpd_qplus=Module["_nm_mpd_qplus"]=function(){return Module["asm"]["_nm_mpd_qplus"].apply(null,arguments)};var _nm_mpd_qpow=Module["_nm_mpd_qpow"]=function(){return Module["asm"]["_nm_mpd_qpow"].apply(null,arguments)};var _nm_mpd_qrem=Module["_nm_mpd_qrem"]=function(){return Module["asm"]["_nm_mpd_qrem"].apply(null,arguments)};var _nm_mpd_qsub=Module["_nm_mpd_qsub"]=function(){return Module["asm"]["_nm_mpd_qsub"].apply(null,arguments)};var _nm_nonzero=Module["_nm_nonzero"]=function(){return Module["asm"]["_nm_nonzero"].apply(null,arguments)};var _nocaseCollatingFunc=Module["_nocaseCollatingFunc"]=function(){return Module["asm"]["_nocaseCollatingFunc"].apply(null,arguments)};var _node2tuple=Module["_node2tuple"]=function(){return Module["asm"]["_node2tuple"].apply(null,arguments)};var _nodeAcquire=Module["_nodeAcquire"]=function(){return Module["asm"]["_nodeAcquire"].apply(null,arguments)};var _nodeBlobReset=Module["_nodeBlobReset"]=function(){return Module["asm"]["_nodeBlobReset"].apply(null,arguments)};var _nodeDeleteCell=Module["_nodeDeleteCell"]=function(){return Module["asm"]["_nodeDeleteCell"].apply(null,arguments)};var _nodeGetCell=Module["_nodeGetCell"]=function(){return Module["asm"]["_nodeGetCell"].apply(null,arguments)};var _nodeGetCoord=Module["_nodeGetCoord"]=function(){return Module["asm"]["_nodeGetCoord"].apply(null,arguments)};var _nodeGetRowid=Module["_nodeGetRowid"]=function(){return Module["asm"]["_nodeGetRowid"].apply(null,arguments)};var _nodeHash=Module["_nodeHash"]=function(){return Module["asm"]["_nodeHash"].apply(null,arguments)};var _nodeHashDelete=Module["_nodeHashDelete"]=function(){return Module["asm"]["_nodeHashDelete"].apply(null,arguments)};var _nodeHashInsert=Module["_nodeHashInsert"]=function(){return Module["asm"]["_nodeHashInsert"].apply(null,arguments)};var _nodeHashLookup=Module["_nodeHashLookup"]=function(){return Module["asm"]["_nodeHashLookup"].apply(null,arguments)};var _nodeInParentChain=Module["_nodeInParentChain"]=function(){return Module["asm"]["_nodeInParentChain"].apply(null,arguments)};var _nodeInsertCell=Module["_nodeInsertCell"]=function(){return Module["asm"]["_nodeInsertCell"].apply(null,arguments)};var _nodeNew=Module["_nodeNew"]=function(){return Module["asm"]["_nodeNew"].apply(null,arguments)};var _nodeOverwriteCell=Module["_nodeOverwriteCell"]=function(){return Module["asm"]["_nodeOverwriteCell"].apply(null,arguments)};var _nodeParentIndex=Module["_nodeParentIndex"]=function(){return Module["asm"]["_nodeParentIndex"].apply(null,arguments)};var _nodeReaderInit=Module["_nodeReaderInit"]=function(){return Module["asm"]["_nodeReaderInit"].apply(null,arguments)};var _nodeReaderNext=Module["_nodeReaderNext"]=function(){return Module["asm"]["_nodeReaderNext"].apply(null,arguments)};var _nodeReaderRelease=Module["_nodeReaderRelease"]=function(){return Module["asm"]["_nodeReaderRelease"].apply(null,arguments)};var _nodeReference=Module["_nodeReference"]=function(){return Module["asm"]["_nodeReference"].apply(null,arguments)};var _nodeRelease=Module["_nodeRelease"]=function(){return Module["asm"]["_nodeRelease"].apply(null,arguments)};var _nodeRowidIndex=Module["_nodeRowidIndex"]=function(){return Module["asm"]["_nodeRowidIndex"].apply(null,arguments)};var _nodeWrite=Module["_nodeWrite"]=function(){return Module["asm"]["_nodeWrite"].apply(null,arguments)};var _nodeZero=Module["_nodeZero"]=function(){return Module["asm"]["_nodeZero"].apply(null,arguments)};var _nolockCheckReservedLock=Module["_nolockCheckReservedLock"]=function(){return Module["asm"]["_nolockCheckReservedLock"].apply(null,arguments)};var _nolockClose=Module["_nolockClose"]=function(){return Module["asm"]["_nolockClose"].apply(null,arguments)};var _nolockIoFinderImpl=Module["_nolockIoFinderImpl"]=function(){return Module["asm"]["_nolockIoFinderImpl"].apply(null,arguments)};var _nolockLock=Module["_nolockLock"]=function(){return Module["asm"]["_nolockLock"].apply(null,arguments)};var _nolockUnlock=Module["_nolockUnlock"]=function(){return Module["asm"]["_nolockUnlock"].apply(null,arguments)};var _none_bool=Module["_none_bool"]=function(){return Module["asm"]["_none_bool"].apply(null,arguments)};var _none_dealloc=Module["_none_dealloc"]=function(){return Module["asm"]["_none_dealloc"].apply(null,arguments)};var _none_new=Module["_none_new"]=function(){return Module["asm"]["_none_new"].apply(null,arguments)};var _none_repr=Module["_none_repr"]=function(){return Module["asm"]["_none_repr"].apply(null,arguments)};var _noopMutexAlloc=Module["_noopMutexAlloc"]=function(){return Module["asm"]["_noopMutexAlloc"].apply(null,arguments)};var _noopMutexEnd=Module["_noopMutexEnd"]=function(){return Module["asm"]["_noopMutexEnd"].apply(null,arguments)};var _noopMutexEnter=Module["_noopMutexEnter"]=function(){return Module["asm"]["_noopMutexEnter"].apply(null,arguments)};var _noopMutexFree=Module["_noopMutexFree"]=function(){return Module["asm"]["_noopMutexFree"].apply(null,arguments)};var _noopMutexInit=Module["_noopMutexInit"]=function(){return Module["asm"]["_noopMutexInit"].apply(null,arguments)};var _noopMutexLeave=Module["_noopMutexLeave"]=function(){return Module["asm"]["_noopMutexLeave"].apply(null,arguments)};var _noopMutexTry=Module["_noopMutexTry"]=function(){return Module["asm"]["_noopMutexTry"].apply(null,arguments)};var _noopStepFunc=Module["_noopStepFunc"]=function(){return Module["asm"]["_noopStepFunc"].apply(null,arguments)};var _noopValueFunc=Module["_noopValueFunc"]=function(){return Module["asm"]["_noopValueFunc"].apply(null,arguments)};var _noop_character_data_handler=Module["_noop_character_data_handler"]=function(){return Module["asm"]["_noop_character_data_handler"].apply(null,arguments)};var _normal_attributeValueTok=Module["_normal_attributeValueTok"]=function(){return Module["asm"]["_normal_attributeValueTok"].apply(null,arguments)};var _normal_cdataSectionTok=Module["_normal_cdataSectionTok"]=function(){return Module["asm"]["_normal_cdataSectionTok"].apply(null,arguments)};var _normal_charRefNumber=Module["_normal_charRefNumber"]=function(){return Module["asm"]["_normal_charRefNumber"].apply(null,arguments)};var _normal_contentTok=Module["_normal_contentTok"]=function(){return Module["asm"]["_normal_contentTok"].apply(null,arguments)};var _normal_entityValueTok=Module["_normal_entityValueTok"]=function(){return Module["asm"]["_normal_entityValueTok"].apply(null,arguments)};var _normal_getAtts=Module["_normal_getAtts"]=function(){return Module["asm"]["_normal_getAtts"].apply(null,arguments)};var _normal_ignoreSectionTok=Module["_normal_ignoreSectionTok"]=function(){return Module["asm"]["_normal_ignoreSectionTok"].apply(null,arguments)};var _normal_isPublicId=Module["_normal_isPublicId"]=function(){return Module["asm"]["_normal_isPublicId"].apply(null,arguments)};var _normal_nameLength=Module["_normal_nameLength"]=function(){return Module["asm"]["_normal_nameLength"].apply(null,arguments)};var _normal_nameMatchesAscii=Module["_normal_nameMatchesAscii"]=function(){return Module["asm"]["_normal_nameMatchesAscii"].apply(null,arguments)};var _normal_predefinedEntityName=Module["_normal_predefinedEntityName"]=function(){return Module["asm"]["_normal_predefinedEntityName"].apply(null,arguments)};var _normal_prologTok=Module["_normal_prologTok"]=function(){return Module["asm"]["_normal_prologTok"].apply(null,arguments)};var _normal_sameName=Module["_normal_sameName"]=function(){return Module["asm"]["_normal_sameName"].apply(null,arguments)};var _normal_scanComment=Module["_normal_scanComment"]=function(){return Module["asm"]["_normal_scanComment"].apply(null,arguments)};var _normal_scanLit=Module["_normal_scanLit"]=function(){return Module["asm"]["_normal_scanLit"].apply(null,arguments)};var _normal_scanPercent=Module["_normal_scanPercent"]=function(){return Module["asm"]["_normal_scanPercent"].apply(null,arguments)};var _normal_scanPi=Module["_normal_scanPi"]=function(){return Module["asm"]["_normal_scanPi"].apply(null,arguments)};var _normal_scanRef=Module["_normal_scanRef"]=function(){return Module["asm"]["_normal_scanRef"].apply(null,arguments)};var _normal_skipS=Module["_normal_skipS"]=function(){return Module["asm"]["_normal_skipS"].apply(null,arguments)};var _normal_updatePosition=Module["_normal_updatePosition"]=function(){return Module["asm"]["_normal_updatePosition"].apply(null,arguments)};var _normalization_3_2_0=Module["_normalization_3_2_0"]=function(){return Module["asm"]["_normalization_3_2_0"].apply(null,arguments)};var _normalize_date=Module["_normalize_date"]=function(){return Module["asm"]["_normalize_date"].apply(null,arguments)};var _normalizestring=Module["_normalizestring"]=function(){return Module["asm"]["_normalizestring"].apply(null,arguments)};var _notValid=Module["_notValid"]=function(){return Module["asm"]["_notValid"].apply(null,arguments)};var _notation0=Module["_notation0"]=function(){return Module["asm"]["_notation0"].apply(null,arguments)};var _notation1=Module["_notation1"]=function(){return Module["asm"]["_notation1"].apply(null,arguments)};var _notation2=Module["_notation2"]=function(){return Module["asm"]["_notation2"].apply(null,arguments)};var _notation3=Module["_notation3"]=function(){return Module["asm"]["_notation3"].apply(null,arguments)};var _notation4=Module["_notation4"]=function(){return Module["asm"]["_notation4"].apply(null,arguments)};var _notimplemented_dealloc=Module["_notimplemented_dealloc"]=function(){return Module["asm"]["_notimplemented_dealloc"].apply(null,arguments)};var _notimplemented_new=Module["_notimplemented_new"]=function(){return Module["asm"]["_notimplemented_new"].apply(null,arguments)};var _np_bool=Module["_np_bool"]=function(){return Module["asm"]["_np_bool"].apply(null,arguments)};var _np_byte=Module["_np_byte"]=function(){return Module["asm"]["_np_byte"].apply(null,arguments)};var _np_char=Module["_np_char"]=function(){return Module["asm"]["_np_char"].apply(null,arguments)};var _np_double=Module["_np_double"]=function(){return Module["asm"]["_np_double"].apply(null,arguments)};var _np_float=Module["_np_float"]=function(){return Module["asm"]["_np_float"].apply(null,arguments)};var _np_halffloat=Module["_np_halffloat"]=function(){return Module["asm"]["_np_halffloat"].apply(null,arguments)};var _np_int=Module["_np_int"]=function(){return Module["asm"]["_np_int"].apply(null,arguments)};var _np_long=Module["_np_long"]=function(){return Module["asm"]["_np_long"].apply(null,arguments)};var _np_longlong=Module["_np_longlong"]=function(){return Module["asm"]["_np_longlong"].apply(null,arguments)};var _np_short=Module["_np_short"]=function(){return Module["asm"]["_np_short"].apply(null,arguments)};var _np_size_t=Module["_np_size_t"]=function(){return Module["asm"]["_np_size_t"].apply(null,arguments)};var _np_ssize_t=Module["_np_ssize_t"]=function(){return Module["asm"]["_np_ssize_t"].apply(null,arguments)};var _np_ubyte=Module["_np_ubyte"]=function(){return Module["asm"]["_np_ubyte"].apply(null,arguments)};var _np_uint=Module["_np_uint"]=function(){return Module["asm"]["_np_uint"].apply(null,arguments)};var _np_ulong=Module["_np_ulong"]=function(){return Module["asm"]["_np_ulong"].apply(null,arguments)};var _np_ulonglong=Module["_np_ulonglong"]=function(){return Module["asm"]["_np_ulonglong"].apply(null,arguments)};var _np_ushort=Module["_np_ushort"]=function(){return Module["asm"]["_np_ushort"].apply(null,arguments)};var _np_void_p=Module["_np_void_p"]=function(){return Module["asm"]["_np_void_p"].apply(null,arguments)};var _nrand48=Module["_nrand48"]=function(){return Module["asm"]["_nrand48"].apply(null,arguments)};var _ns_get16=Module["_ns_get16"]=function(){return Module["asm"]["_ns_get16"].apply(null,arguments)};var _ns_get32=Module["_ns_get32"]=function(){return Module["asm"]["_ns_get32"].apply(null,arguments)};var _ns_initparse=Module["_ns_initparse"]=function(){return Module["asm"]["_ns_initparse"].apply(null,arguments)};var _ns_name_uncompress=Module["_ns_name_uncompress"]=function(){return Module["asm"]["_ns_name_uncompress"].apply(null,arguments)};var _ns_parserr=Module["_ns_parserr"]=function(){return Module["asm"]["_ns_parserr"].apply(null,arguments)};var _ns_put16=Module["_ns_put16"]=function(){return Module["asm"]["_ns_put16"].apply(null,arguments)};var _ns_put32=Module["_ns_put32"]=function(){return Module["asm"]["_ns_put32"].apply(null,arguments)};var _ns_skiprr=Module["_ns_skiprr"]=function(){return Module["asm"]["_ns_skiprr"].apply(null,arguments)};var _ntileStepFunc=Module["_ntileStepFunc"]=function(){return Module["asm"]["_ntileStepFunc"].apply(null,arguments)};var _ntileValueFunc=Module["_ntileValueFunc"]=function(){return Module["asm"]["_ntileValueFunc"].apply(null,arguments)};var _ntohl=Module["_ntohl"]=function(){return Module["asm"]["_ntohl"].apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return Module["asm"]["_ntohs"].apply(null,arguments)};var _nu_bool=Module["_nu_bool"]=function(){return Module["asm"]["_nu_bool"].apply(null,arguments)};var _nu_byte=Module["_nu_byte"]=function(){return Module["asm"]["_nu_byte"].apply(null,arguments)};var _nu_char=Module["_nu_char"]=function(){return Module["asm"]["_nu_char"].apply(null,arguments)};var _nu_double=Module["_nu_double"]=function(){return Module["asm"]["_nu_double"].apply(null,arguments)};var _nu_float=Module["_nu_float"]=function(){return Module["asm"]["_nu_float"].apply(null,arguments)};var _nu_halffloat=Module["_nu_halffloat"]=function(){return Module["asm"]["_nu_halffloat"].apply(null,arguments)};var _nu_int=Module["_nu_int"]=function(){return Module["asm"]["_nu_int"].apply(null,arguments)};var _nu_long=Module["_nu_long"]=function(){return Module["asm"]["_nu_long"].apply(null,arguments)};var _nu_longlong=Module["_nu_longlong"]=function(){return Module["asm"]["_nu_longlong"].apply(null,arguments)};var _nu_short=Module["_nu_short"]=function(){return Module["asm"]["_nu_short"].apply(null,arguments)};var _nu_size_t=Module["_nu_size_t"]=function(){return Module["asm"]["_nu_size_t"].apply(null,arguments)};var _nu_ssize_t=Module["_nu_ssize_t"]=function(){return Module["asm"]["_nu_ssize_t"].apply(null,arguments)};var _nu_ubyte=Module["_nu_ubyte"]=function(){return Module["asm"]["_nu_ubyte"].apply(null,arguments)};var _nu_uint=Module["_nu_uint"]=function(){return Module["asm"]["_nu_uint"].apply(null,arguments)};var _nu_ulong=Module["_nu_ulong"]=function(){return Module["asm"]["_nu_ulong"].apply(null,arguments)};var _nu_ulonglong=Module["_nu_ulonglong"]=function(){return Module["asm"]["_nu_ulonglong"].apply(null,arguments)};var _nu_ushort=Module["_nu_ushort"]=function(){return Module["asm"]["_nu_ushort"].apply(null,arguments)};var _nu_void_p=Module["_nu_void_p"]=function(){return Module["asm"]["_nu_void_p"].apply(null,arguments)};var _nullifFunc=Module["_nullifFunc"]=function(){return Module["asm"]["_nullifFunc"].apply(null,arguments)};var _num_stmts=Module["_num_stmts"]=function(){return Module["asm"]["_num_stmts"].apply(null,arguments)};var _numberOfCachePages=Module["_numberOfCachePages"]=function(){return Module["asm"]["_numberOfCachePages"].apply(null,arguments)};var _numericType=Module["_numericType"]=function(){return Module["asm"]["_numericType"].apply(null,arguments)};var _numeric_as_ascii=Module["_numeric_as_ascii"]=function(){return Module["asm"]["_numeric_as_ascii"].apply(null,arguments)};var _obj2ast_alias=Module["_obj2ast_alias"]=function(){return Module["asm"]["_obj2ast_alias"].apply(null,arguments)};var _obj2ast_arg=Module["_obj2ast_arg"]=function(){return Module["asm"]["_obj2ast_arg"].apply(null,arguments)};var _obj2ast_arguments=Module["_obj2ast_arguments"]=function(){return Module["asm"]["_obj2ast_arguments"].apply(null,arguments)};var _obj2ast_comprehension=Module["_obj2ast_comprehension"]=function(){return Module["asm"]["_obj2ast_comprehension"].apply(null,arguments)};var _obj2ast_expr=Module["_obj2ast_expr"]=function(){return Module["asm"]["_obj2ast_expr"].apply(null,arguments)};var _obj2ast_expr_context=Module["_obj2ast_expr_context"]=function(){return Module["asm"]["_obj2ast_expr_context"].apply(null,arguments)};var _obj2ast_keyword=Module["_obj2ast_keyword"]=function(){return Module["asm"]["_obj2ast_keyword"].apply(null,arguments)};var _obj2ast_operator=Module["_obj2ast_operator"]=function(){return Module["asm"]["_obj2ast_operator"].apply(null,arguments)};var _obj2ast_slice=Module["_obj2ast_slice"]=function(){return Module["asm"]["_obj2ast_slice"].apply(null,arguments)};var _obj2ast_stmt=Module["_obj2ast_stmt"]=function(){return Module["asm"]["_obj2ast_stmt"].apply(null,arguments)};var _obj2ast_withitem=Module["_obj2ast_withitem"]=function(){return Module["asm"]["_obj2ast_withitem"].apply(null,arguments)};var _object___dir__=Module["_object___dir__"]=function(){return Module["asm"]["_object___dir__"].apply(null,arguments)};var _object___format__=Module["_object___format__"]=function(){return Module["asm"]["_object___format__"].apply(null,arguments)};var _object___reduce__=Module["_object___reduce__"]=function(){return Module["asm"]["_object___reduce__"].apply(null,arguments)};var _object___reduce_ex__=Module["_object___reduce_ex__"]=function(){return Module["asm"]["_object___reduce_ex__"].apply(null,arguments)};var _object___sizeof__=Module["_object___sizeof__"]=function(){return Module["asm"]["_object___sizeof__"].apply(null,arguments)};var _object_dealloc=Module["_object_dealloc"]=function(){return Module["asm"]["_object_dealloc"].apply(null,arguments)};var _object_get_class=Module["_object_get_class"]=function(){return Module["asm"]["_object_get_class"].apply(null,arguments)};var _object_init=Module["_object_init"]=function(){return Module["asm"]["_object_init"].apply(null,arguments)};var _object_init_subclass=Module["_object_init_subclass"]=function(){return Module["asm"]["_object_init_subclass"].apply(null,arguments)};var _object_new=Module["_object_new"]=function(){return Module["asm"]["_object_new"].apply(null,arguments)};var _object_repr=Module["_object_repr"]=function(){return Module["asm"]["_object_repr"].apply(null,arguments)};var _object_richcompare=Module["_object_richcompare"]=function(){return Module["asm"]["_object_richcompare"].apply(null,arguments)};var _object_set_class=Module["_object_set_class"]=function(){return Module["asm"]["_object_set_class"].apply(null,arguments)};var _object_str=Module["_object_str"]=function(){return Module["asm"]["_object_str"].apply(null,arguments)};var _object_subclasshook=Module["_object_subclasshook"]=function(){return Module["asm"]["_object_subclasshook"].apply(null,arguments)};var _object_vacall=Module["_object_vacall"]=function(){return Module["asm"]["_object_vacall"].apply(null,arguments)};var _odict_clear=Module["_odict_clear"]=function(){return Module["asm"]["_odict_clear"].apply(null,arguments)};var _odict_copy=Module["_odict_copy"]=function(){return Module["asm"]["_odict_copy"].apply(null,arguments)};var _odict_dealloc=Module["_odict_dealloc"]=function(){return Module["asm"]["_odict_dealloc"].apply(null,arguments)};var _odict_init=Module["_odict_init"]=function(){return Module["asm"]["_odict_init"].apply(null,arguments)};var _odict_iter=Module["_odict_iter"]=function(){return Module["asm"]["_odict_iter"].apply(null,arguments)};var _odict_mp_ass_sub=Module["_odict_mp_ass_sub"]=function(){return Module["asm"]["_odict_mp_ass_sub"].apply(null,arguments)};var _odict_new=Module["_odict_new"]=function(){return Module["asm"]["_odict_new"].apply(null,arguments)};var _odict_pop=Module["_odict_pop"]=function(){return Module["asm"]["_odict_pop"].apply(null,arguments)};var _odict_reduce=Module["_odict_reduce"]=function(){return Module["asm"]["_odict_reduce"].apply(null,arguments)};var _odict_repr=Module["_odict_repr"]=function(){return Module["asm"]["_odict_repr"].apply(null,arguments)};var _odict_reversed=Module["_odict_reversed"]=function(){return Module["asm"]["_odict_reversed"].apply(null,arguments)};var _odict_richcompare=Module["_odict_richcompare"]=function(){return Module["asm"]["_odict_richcompare"].apply(null,arguments)};var _odict_sizeof=Module["_odict_sizeof"]=function(){return Module["asm"]["_odict_sizeof"].apply(null,arguments)};var _odict_tp_clear=Module["_odict_tp_clear"]=function(){return Module["asm"]["_odict_tp_clear"].apply(null,arguments)};var _odict_traverse=Module["_odict_traverse"]=function(){return Module["asm"]["_odict_traverse"].apply(null,arguments)};var _odictitems_iter=Module["_odictitems_iter"]=function(){return Module["asm"]["_odictitems_iter"].apply(null,arguments)};var _odictitems_new=Module["_odictitems_new"]=function(){return Module["asm"]["_odictitems_new"].apply(null,arguments)};var _odictitems_reversed=Module["_odictitems_reversed"]=function(){return Module["asm"]["_odictitems_reversed"].apply(null,arguments)};var _odictiter_dealloc=Module["_odictiter_dealloc"]=function(){return Module["asm"]["_odictiter_dealloc"].apply(null,arguments)};var _odictiter_iternext=Module["_odictiter_iternext"]=function(){return Module["asm"]["_odictiter_iternext"].apply(null,arguments)};var _odictiter_new=Module["_odictiter_new"]=function(){return Module["asm"]["_odictiter_new"].apply(null,arguments)};var _odictiter_reduce=Module["_odictiter_reduce"]=function(){return Module["asm"]["_odictiter_reduce"].apply(null,arguments)};var _odictiter_traverse=Module["_odictiter_traverse"]=function(){return Module["asm"]["_odictiter_traverse"].apply(null,arguments)};var _odictkeys_iter=Module["_odictkeys_iter"]=function(){return Module["asm"]["_odictkeys_iter"].apply(null,arguments)};var _odictkeys_new=Module["_odictkeys_new"]=function(){return Module["asm"]["_odictkeys_new"].apply(null,arguments)};var _odictkeys_reversed=Module["_odictkeys_reversed"]=function(){return Module["asm"]["_odictkeys_reversed"].apply(null,arguments)};var _odictvalues_iter=Module["_odictvalues_iter"]=function(){return Module["asm"]["_odictvalues_iter"].apply(null,arguments)};var _odictvalues_new=Module["_odictvalues_new"]=function(){return Module["asm"]["_odictvalues_new"].apply(null,arguments)};var _odictvalues_reversed=Module["_odictvalues_reversed"]=function(){return Module["asm"]["_odictvalues_reversed"].apply(null,arguments)};var _opPrecedence=Module["_opPrecedence"]=function(){return Module["asm"]["_opPrecedence"].apply(null,arguments)};var _open=Module["_open"]=function(){return Module["asm"]["_open"].apply(null,arguments)};var _openDatabase=Module["_openDatabase"]=function(){return Module["asm"]["_openDatabase"].apply(null,arguments)};var _openDirectory=Module["_openDirectory"]=function(){return Module["asm"]["_openDirectory"].apply(null,arguments)};var _openStatTable=Module["_openStatTable"]=function(){return Module["asm"]["_openStatTable"].apply(null,arguments)};var _openSubJournal=Module["_openSubJournal"]=function(){return Module["asm"]["_openSubJournal"].apply(null,arguments)};var _open_face=Module["_open_face"]=function(){return Module["asm"]["_open_face"].apply(null,arguments)};var _open_face_PS_from_sfnt_stream=Module["_open_face_PS_from_sfnt_stream"]=function(){return Module["asm"]["_open_face_PS_from_sfnt_stream"].apply(null,arguments)};var _open_face_from_buffer=Module["_open_face_from_buffer"]=function(){return Module["asm"]["_open_face_from_buffer"].apply(null,arguments)};var _open_memstream=Module["_open_memstream"]=function(){return Module["asm"]["_open_memstream"].apply(null,arguments)};var _open_wmemstream=Module["_open_wmemstream"]=function(){return Module["asm"]["_open_wmemstream"].apply(null,arguments)};var _openat=Module["_openat"]=function(){return Module["asm"]["_openat"].apply(null,arguments)};var _opendir=Module["_opendir"]=function(){return Module["asm"]["_opendir"].apply(null,arguments)};var _openlog=Module["_openlog"]=function(){return Module["asm"]["_openlog"].apply(null,arguments)};var _openpty=Module["_openpty"]=function(){return Module["asm"]["_openpty"].apply(null,arguments)};var _operatorMask=Module["_operatorMask"]=function(){return Module["asm"]["_operatorMask"].apply(null,arguments)};var _ord_to_ymd=Module["_ord_to_ymd"]=function(){return Module["asm"]["_ord_to_ymd"].apply(null,arguments)};var _osLocaltime=Module["_osLocaltime"]=function(){return Module["asm"]["_osLocaltime"].apply(null,arguments)};var _os_DirEntry___fspath__=Module["_os_DirEntry___fspath__"]=function(){return Module["asm"]["_os_DirEntry___fspath__"].apply(null,arguments)};var _os_DirEntry_inode=Module["_os_DirEntry_inode"]=function(){return Module["asm"]["_os_DirEntry_inode"].apply(null,arguments)};var _os_DirEntry_is_dir=Module["_os_DirEntry_is_dir"]=function(){return Module["asm"]["_os_DirEntry_is_dir"].apply(null,arguments)};var _os_DirEntry_is_file=Module["_os_DirEntry_is_file"]=function(){return Module["asm"]["_os_DirEntry_is_file"].apply(null,arguments)};var _os_DirEntry_is_symlink=Module["_os_DirEntry_is_symlink"]=function(){return Module["asm"]["_os_DirEntry_is_symlink"].apply(null,arguments)};var _os_DirEntry_stat=Module["_os_DirEntry_stat"]=function(){return Module["asm"]["_os_DirEntry_stat"].apply(null,arguments)};var _os_DirEntry_stat_impl=Module["_os_DirEntry_stat_impl"]=function(){return Module["asm"]["_os_DirEntry_stat_impl"].apply(null,arguments)};var _os_WCOREDUMP=Module["_os_WCOREDUMP"]=function(){return Module["asm"]["_os_WCOREDUMP"].apply(null,arguments)};var _os_WEXITSTATUS=Module["_os_WEXITSTATUS"]=function(){return Module["asm"]["_os_WEXITSTATUS"].apply(null,arguments)};var _os_WIFCONTINUED=Module["_os_WIFCONTINUED"]=function(){return Module["asm"]["_os_WIFCONTINUED"].apply(null,arguments)};var _os_WIFEXITED=Module["_os_WIFEXITED"]=function(){return Module["asm"]["_os_WIFEXITED"].apply(null,arguments)};var _os_WIFSIGNALED=Module["_os_WIFSIGNALED"]=function(){return Module["asm"]["_os_WIFSIGNALED"].apply(null,arguments)};var _os_WIFSTOPPED=Module["_os_WIFSTOPPED"]=function(){return Module["asm"]["_os_WIFSTOPPED"].apply(null,arguments)};var _os_WSTOPSIG=Module["_os_WSTOPSIG"]=function(){return Module["asm"]["_os_WSTOPSIG"].apply(null,arguments)};var _os_WTERMSIG=Module["_os_WTERMSIG"]=function(){return Module["asm"]["_os_WTERMSIG"].apply(null,arguments)};var _os__exit=Module["_os__exit"]=function(){return Module["asm"]["_os__exit"].apply(null,arguments)};var _os__exit_impl=Module["_os__exit_impl"]=function(){return Module["asm"]["_os__exit_impl"].apply(null,arguments)};var _os_abort=Module["_os_abort"]=function(){return Module["asm"]["_os_abort"].apply(null,arguments)};var _os_abort_impl=Module["_os_abort_impl"]=function(){return Module["asm"]["_os_abort_impl"].apply(null,arguments)};var _os_access=Module["_os_access"]=function(){return Module["asm"]["_os_access"].apply(null,arguments)};var _os_chdir=Module["_os_chdir"]=function(){return Module["asm"]["_os_chdir"].apply(null,arguments)};var _os_chmod=Module["_os_chmod"]=function(){return Module["asm"]["_os_chmod"].apply(null,arguments)};var _os_chown=Module["_os_chown"]=function(){return Module["asm"]["_os_chown"].apply(null,arguments)};var _os_chroot=Module["_os_chroot"]=function(){return Module["asm"]["_os_chroot"].apply(null,arguments)};var _os_close=Module["_os_close"]=function(){return Module["asm"]["_os_close"].apply(null,arguments)};var _os_closerange=Module["_os_closerange"]=function(){return Module["asm"]["_os_closerange"].apply(null,arguments)};var _os_confstr=Module["_os_confstr"]=function(){return Module["asm"]["_os_confstr"].apply(null,arguments)};var _os_cpu_count=Module["_os_cpu_count"]=function(){return Module["asm"]["_os_cpu_count"].apply(null,arguments)};var _os_ctermid=Module["_os_ctermid"]=function(){return Module["asm"]["_os_ctermid"].apply(null,arguments)};var _os_device_encoding=Module["_os_device_encoding"]=function(){return Module["asm"]["_os_device_encoding"].apply(null,arguments)};var _os_dup=Module["_os_dup"]=function(){return Module["asm"]["_os_dup"].apply(null,arguments)};var _os_dup2=Module["_os_dup2"]=function(){return Module["asm"]["_os_dup2"].apply(null,arguments)};var _os_execv=Module["_os_execv"]=function(){return Module["asm"]["_os_execv"].apply(null,arguments)};var _os_execve=Module["_os_execve"]=function(){return Module["asm"]["_os_execve"].apply(null,arguments)};var _os_fchdir=Module["_os_fchdir"]=function(){return Module["asm"]["_os_fchdir"].apply(null,arguments)};var _os_fchmod=Module["_os_fchmod"]=function(){return Module["asm"]["_os_fchmod"].apply(null,arguments)};var _os_fchown=Module["_os_fchown"]=function(){return Module["asm"]["_os_fchown"].apply(null,arguments)};var _os_fdatasync=Module["_os_fdatasync"]=function(){return Module["asm"]["_os_fdatasync"].apply(null,arguments)};var _os_fork=Module["_os_fork"]=function(){return Module["asm"]["_os_fork"].apply(null,arguments)};var _os_forkpty=Module["_os_forkpty"]=function(){return Module["asm"]["_os_forkpty"].apply(null,arguments)};var _os_fpathconf=Module["_os_fpathconf"]=function(){return Module["asm"]["_os_fpathconf"].apply(null,arguments)};var _os_fspath=Module["_os_fspath"]=function(){return Module["asm"]["_os_fspath"].apply(null,arguments)};var _os_fstat=Module["_os_fstat"]=function(){return Module["asm"]["_os_fstat"].apply(null,arguments)};var _os_fstatvfs=Module["_os_fstatvfs"]=function(){return Module["asm"]["_os_fstatvfs"].apply(null,arguments)};var _os_fsync=Module["_os_fsync"]=function(){return Module["asm"]["_os_fsync"].apply(null,arguments)};var _os_ftruncate=Module["_os_ftruncate"]=function(){return Module["asm"]["_os_ftruncate"].apply(null,arguments)};var _os_get_inheritable=Module["_os_get_inheritable"]=function(){return Module["asm"]["_os_get_inheritable"].apply(null,arguments)};var _os_getcwd=Module["_os_getcwd"]=function(){return Module["asm"]["_os_getcwd"].apply(null,arguments)};var _os_getcwdb=Module["_os_getcwdb"]=function(){return Module["asm"]["_os_getcwdb"].apply(null,arguments)};var _os_getegid=Module["_os_getegid"]=function(){return Module["asm"]["_os_getegid"].apply(null,arguments)};var _os_geteuid=Module["_os_geteuid"]=function(){return Module["asm"]["_os_geteuid"].apply(null,arguments)};var _os_getgid=Module["_os_getgid"]=function(){return Module["asm"]["_os_getgid"].apply(null,arguments)};var _os_getgroups=Module["_os_getgroups"]=function(){return Module["asm"]["_os_getgroups"].apply(null,arguments)};var _os_getloadavg=Module["_os_getloadavg"]=function(){return Module["asm"]["_os_getloadavg"].apply(null,arguments)};var _os_getlogin=Module["_os_getlogin"]=function(){return Module["asm"]["_os_getlogin"].apply(null,arguments)};var _os_getpgid=Module["_os_getpgid"]=function(){return Module["asm"]["_os_getpgid"].apply(null,arguments)};var _os_getpgrp=Module["_os_getpgrp"]=function(){return Module["asm"]["_os_getpgrp"].apply(null,arguments)};var _os_getpid=Module["_os_getpid"]=function(){return Module["asm"]["_os_getpid"].apply(null,arguments)};var _os_getppid=Module["_os_getppid"]=function(){return Module["asm"]["_os_getppid"].apply(null,arguments)};var _os_getpriority=Module["_os_getpriority"]=function(){return Module["asm"]["_os_getpriority"].apply(null,arguments)};var _os_getresgid=Module["_os_getresgid"]=function(){return Module["asm"]["_os_getresgid"].apply(null,arguments)};var _os_getresuid=Module["_os_getresuid"]=function(){return Module["asm"]["_os_getresuid"].apply(null,arguments)};var _os_getsid=Module["_os_getsid"]=function(){return Module["asm"]["_os_getsid"].apply(null,arguments)};var _os_getuid=Module["_os_getuid"]=function(){return Module["asm"]["_os_getuid"].apply(null,arguments)};var _os_isatty=Module["_os_isatty"]=function(){return Module["asm"]["_os_isatty"].apply(null,arguments)};var _os_kill=Module["_os_kill"]=function(){return Module["asm"]["_os_kill"].apply(null,arguments)};var _os_killpg=Module["_os_killpg"]=function(){return Module["asm"]["_os_killpg"].apply(null,arguments)};var _os_lchmod=Module["_os_lchmod"]=function(){return Module["asm"]["_os_lchmod"].apply(null,arguments)};var _os_lchown=Module["_os_lchown"]=function(){return Module["asm"]["_os_lchown"].apply(null,arguments)};var _os_link=Module["_os_link"]=function(){return Module["asm"]["_os_link"].apply(null,arguments)};var _os_listdir=Module["_os_listdir"]=function(){return Module["asm"]["_os_listdir"].apply(null,arguments)};var _os_lockf=Module["_os_lockf"]=function(){return Module["asm"]["_os_lockf"].apply(null,arguments)};var _os_lseek=Module["_os_lseek"]=function(){return Module["asm"]["_os_lseek"].apply(null,arguments)};var _os_lstat=Module["_os_lstat"]=function(){return Module["asm"]["_os_lstat"].apply(null,arguments)};var _os_major=Module["_os_major"]=function(){return Module["asm"]["_os_major"].apply(null,arguments)};var _os_makedev=Module["_os_makedev"]=function(){return Module["asm"]["_os_makedev"].apply(null,arguments)};var _os_minor=Module["_os_minor"]=function(){return Module["asm"]["_os_minor"].apply(null,arguments)};var _os_mkdir=Module["_os_mkdir"]=function(){return Module["asm"]["_os_mkdir"].apply(null,arguments)};var _os_mkfifo=Module["_os_mkfifo"]=function(){return Module["asm"]["_os_mkfifo"].apply(null,arguments)};var _os_mknod=Module["_os_mknod"]=function(){return Module["asm"]["_os_mknod"].apply(null,arguments)};var _os_open=Module["_os_open"]=function(){return Module["asm"]["_os_open"].apply(null,arguments)};var _os_openpty=Module["_os_openpty"]=function(){return Module["asm"]["_os_openpty"].apply(null,arguments)};var _os_pathconf=Module["_os_pathconf"]=function(){return Module["asm"]["_os_pathconf"].apply(null,arguments)};var _os_pipe=Module["_os_pipe"]=function(){return Module["asm"]["_os_pipe"].apply(null,arguments)};var _os_posix_fadvise=Module["_os_posix_fadvise"]=function(){return Module["asm"]["_os_posix_fadvise"].apply(null,arguments)};var _os_posix_fallocate=Module["_os_posix_fallocate"]=function(){return Module["asm"]["_os_posix_fallocate"].apply(null,arguments)};var _os_pread=Module["_os_pread"]=function(){return Module["asm"]["_os_pread"].apply(null,arguments)};var _os_putenv=Module["_os_putenv"]=function(){return Module["asm"]["_os_putenv"].apply(null,arguments)};var _os_pwrite=Module["_os_pwrite"]=function(){return Module["asm"]["_os_pwrite"].apply(null,arguments)};var _os_read=Module["_os_read"]=function(){return Module["asm"]["_os_read"].apply(null,arguments)};var _os_readv=Module["_os_readv"]=function(){return Module["asm"]["_os_readv"].apply(null,arguments)};var _os_register_at_fork=Module["_os_register_at_fork"]=function(){return Module["asm"]["_os_register_at_fork"].apply(null,arguments)};var _os_remove=Module["_os_remove"]=function(){return Module["asm"]["_os_remove"].apply(null,arguments)};var _os_rename=Module["_os_rename"]=function(){return Module["asm"]["_os_rename"].apply(null,arguments)};var _os_replace=Module["_os_replace"]=function(){return Module["asm"]["_os_replace"].apply(null,arguments)};var _os_rmdir=Module["_os_rmdir"]=function(){return Module["asm"]["_os_rmdir"].apply(null,arguments)};var _os_scandir=Module["_os_scandir"]=function(){return Module["asm"]["_os_scandir"].apply(null,arguments)};var _os_sched_yield=Module["_os_sched_yield"]=function(){return Module["asm"]["_os_sched_yield"].apply(null,arguments)};var _os_set_inheritable=Module["_os_set_inheritable"]=function(){return Module["asm"]["_os_set_inheritable"].apply(null,arguments)};var _os_setegid=Module["_os_setegid"]=function(){return Module["asm"]["_os_setegid"].apply(null,arguments)};var _os_seteuid=Module["_os_seteuid"]=function(){return Module["asm"]["_os_seteuid"].apply(null,arguments)};var _os_setgid=Module["_os_setgid"]=function(){return Module["asm"]["_os_setgid"].apply(null,arguments)};var _os_setgroups=Module["_os_setgroups"]=function(){return Module["asm"]["_os_setgroups"].apply(null,arguments)};var _os_setpgid=Module["_os_setpgid"]=function(){return Module["asm"]["_os_setpgid"].apply(null,arguments)};var _os_setpgrp=Module["_os_setpgrp"]=function(){return Module["asm"]["_os_setpgrp"].apply(null,arguments)};var _os_setpriority=Module["_os_setpriority"]=function(){return Module["asm"]["_os_setpriority"].apply(null,arguments)};var _os_setregid=Module["_os_setregid"]=function(){return Module["asm"]["_os_setregid"].apply(null,arguments)};var _os_setresgid=Module["_os_setresgid"]=function(){return Module["asm"]["_os_setresgid"].apply(null,arguments)};var _os_setresuid=Module["_os_setresuid"]=function(){return Module["asm"]["_os_setresuid"].apply(null,arguments)};var _os_setreuid=Module["_os_setreuid"]=function(){return Module["asm"]["_os_setreuid"].apply(null,arguments)};var _os_setsid=Module["_os_setsid"]=function(){return Module["asm"]["_os_setsid"].apply(null,arguments)};var _os_setuid=Module["_os_setuid"]=function(){return Module["asm"]["_os_setuid"].apply(null,arguments)};var _os_stat=Module["_os_stat"]=function(){return Module["asm"]["_os_stat"].apply(null,arguments)};var _os_statvfs=Module["_os_statvfs"]=function(){return Module["asm"]["_os_statvfs"].apply(null,arguments)};var _os_strerror=Module["_os_strerror"]=function(){return Module["asm"]["_os_strerror"].apply(null,arguments)};var _os_symlink=Module["_os_symlink"]=function(){return Module["asm"]["_os_symlink"].apply(null,arguments)};var _os_sync=Module["_os_sync"]=function(){return Module["asm"]["_os_sync"].apply(null,arguments)};var _os_sysconf=Module["_os_sysconf"]=function(){return Module["asm"]["_os_sysconf"].apply(null,arguments)};var _os_system=Module["_os_system"]=function(){return Module["asm"]["_os_system"].apply(null,arguments)};var _os_tcgetpgrp=Module["_os_tcgetpgrp"]=function(){return Module["asm"]["_os_tcgetpgrp"].apply(null,arguments)};var _os_tcsetpgrp=Module["_os_tcsetpgrp"]=function(){return Module["asm"]["_os_tcsetpgrp"].apply(null,arguments)};var _os_times=Module["_os_times"]=function(){return Module["asm"]["_os_times"].apply(null,arguments)};var _os_truncate=Module["_os_truncate"]=function(){return Module["asm"]["_os_truncate"].apply(null,arguments)};var _os_ttyname=Module["_os_ttyname"]=function(){return Module["asm"]["_os_ttyname"].apply(null,arguments)};var _os_umask=Module["_os_umask"]=function(){return Module["asm"]["_os_umask"].apply(null,arguments)};var _os_uname=Module["_os_uname"]=function(){return Module["asm"]["_os_uname"].apply(null,arguments)};var _os_unlink=Module["_os_unlink"]=function(){return Module["asm"]["_os_unlink"].apply(null,arguments)};var _os_unsetenv=Module["_os_unsetenv"]=function(){return Module["asm"]["_os_unsetenv"].apply(null,arguments)};var _os_urandom=Module["_os_urandom"]=function(){return Module["asm"]["_os_urandom"].apply(null,arguments)};var _os_utime=Module["_os_utime"]=function(){return Module["asm"]["_os_utime"].apply(null,arguments)};var _os_wait=Module["_os_wait"]=function(){return Module["asm"]["_os_wait"].apply(null,arguments)};var _os_wait3=Module["_os_wait3"]=function(){return Module["asm"]["_os_wait3"].apply(null,arguments)};var _os_wait4=Module["_os_wait4"]=function(){return Module["asm"]["_os_wait4"].apply(null,arguments)};var _os_waitid=Module["_os_waitid"]=function(){return Module["asm"]["_os_waitid"].apply(null,arguments)};var _os_waitpid=Module["_os_waitpid"]=function(){return Module["asm"]["_os_waitpid"].apply(null,arguments)};var _os_write=Module["_os_write"]=function(){return Module["asm"]["_os_write"].apply(null,arguments)};var _os_writev=Module["_os_writev"]=function(){return Module["asm"]["_os_writev"].apply(null,arguments)};var _oserror_init=Module["_oserror_init"]=function(){return Module["asm"]["_oserror_init"].apply(null,arguments)};var _out=Module["_out"]=function(){return Module["asm"]["_out"].apply(null,arguments)};var _out2Prerelease=Module["_out2Prerelease"]=function(){return Module["asm"]["_out2Prerelease"].apply(null,arguments)};var _out2PrereleaseWithClear=Module["_out2PrereleaseWithClear"]=function(){return Module["asm"]["_out2PrereleaseWithClear"].apply(null,arguments)};var _out_698=Module["_out_698"]=function(){return Module["asm"]["_out_698"].apply(null,arguments)};var _output_markup=Module["_output_markup"]=function(){return Module["asm"]["_output_markup"].apply(null,arguments)};var _pack=Module["_pack"]=function(){return Module["asm"]["_pack"].apply(null,arguments)};var _pack_into=Module["_pack_into"]=function(){return Module["asm"]["_pack_into"].apply(null,arguments)};var _pack_single=Module["_pack_single"]=function(){return Module["asm"]["_pack_single"].apply(null,arguments)};var _pad=Module["_pad"]=function(){return Module["asm"]["_pad"].apply(null,arguments)};var _pad_14218=Module["_pad_14218"]=function(){return Module["asm"]["_pad_14218"].apply(null,arguments)};var _pad_41=Module["_pad_41"]=function(){return Module["asm"]["_pad_41"].apply(null,arguments)};var _pad_59=Module["_pad_59"]=function(){return Module["asm"]["_pad_59"].apply(null,arguments)};var _pad_704=Module["_pad_704"]=function(){return Module["asm"]["_pad_704"].apply(null,arguments)};var _pageFindSlot=Module["_pageFindSlot"]=function(){return Module["asm"]["_pageFindSlot"].apply(null,arguments)};var _pageFreeArray=Module["_pageFreeArray"]=function(){return Module["asm"]["_pageFreeArray"].apply(null,arguments)};var _pageInsertArray=Module["_pageInsertArray"]=function(){return Module["asm"]["_pageInsertArray"].apply(null,arguments)};var _pageReinit=Module["_pageReinit"]=function(){return Module["asm"]["_pageReinit"].apply(null,arguments)};var _pagerAddPageToRollbackJournal=Module["_pagerAddPageToRollbackJournal"]=function(){return Module["asm"]["_pagerAddPageToRollbackJournal"].apply(null,arguments)};var _pagerBeginReadTransaction=Module["_pagerBeginReadTransaction"]=function(){return Module["asm"]["_pagerBeginReadTransaction"].apply(null,arguments)};var _pagerExclusiveLock=Module["_pagerExclusiveLock"]=function(){return Module["asm"]["_pagerExclusiveLock"].apply(null,arguments)};var _pagerFixMaplimit=Module["_pagerFixMaplimit"]=function(){return Module["asm"]["_pagerFixMaplimit"].apply(null,arguments)};var _pagerFlushOnCommit=Module["_pagerFlushOnCommit"]=function(){return Module["asm"]["_pagerFlushOnCommit"].apply(null,arguments)};var _pagerFreeMapHdrs=Module["_pagerFreeMapHdrs"]=function(){return Module["asm"]["_pagerFreeMapHdrs"].apply(null,arguments)};var _pagerLockDb=Module["_pagerLockDb"]=function(){return Module["asm"]["_pagerLockDb"].apply(null,arguments)};var _pagerOpenSavepoint=Module["_pagerOpenSavepoint"]=function(){return Module["asm"]["_pagerOpenSavepoint"].apply(null,arguments)};var _pagerOpenWal=Module["_pagerOpenWal"]=function(){return Module["asm"]["_pagerOpenWal"].apply(null,arguments)};var _pagerOpenWalIfPresent=Module["_pagerOpenWalIfPresent"]=function(){return Module["asm"]["_pagerOpenWalIfPresent"].apply(null,arguments)};var _pagerOpentemp=Module["_pagerOpentemp"]=function(){return Module["asm"]["_pagerOpentemp"].apply(null,arguments)};var _pagerPagecount=Module["_pagerPagecount"]=function(){return Module["asm"]["_pagerPagecount"].apply(null,arguments)};var _pagerPlaybackSavepoint=Module["_pagerPlaybackSavepoint"]=function(){return Module["asm"]["_pagerPlaybackSavepoint"].apply(null,arguments)};var _pagerReleaseMapPage=Module["_pagerReleaseMapPage"]=function(){return Module["asm"]["_pagerReleaseMapPage"].apply(null,arguments)};var _pagerRollbackWal=Module["_pagerRollbackWal"]=function(){return Module["asm"]["_pagerRollbackWal"].apply(null,arguments)};var _pagerStress=Module["_pagerStress"]=function(){return Module["asm"]["_pagerStress"].apply(null,arguments)};var _pagerSyncHotJournal=Module["_pagerSyncHotJournal"]=function(){return Module["asm"]["_pagerSyncHotJournal"].apply(null,arguments)};var _pagerUndoCallback=Module["_pagerUndoCallback"]=function(){return Module["asm"]["_pagerUndoCallback"].apply(null,arguments)};var _pagerUnlockAndRollback=Module["_pagerUnlockAndRollback"]=function(){return Module["asm"]["_pagerUnlockAndRollback"].apply(null,arguments)};var _pagerUnlockDb=Module["_pagerUnlockDb"]=function(){return Module["asm"]["_pagerUnlockDb"].apply(null,arguments)};var _pagerUnlockIfUnused=Module["_pagerUnlockIfUnused"]=function(){return Module["asm"]["_pagerUnlockIfUnused"].apply(null,arguments)};var _pagerWalFrames=Module["_pagerWalFrames"]=function(){return Module["asm"]["_pagerWalFrames"].apply(null,arguments)};var _pagerWriteLargeSector=Module["_pagerWriteLargeSector"]=function(){return Module["asm"]["_pagerWriteLargeSector"].apply(null,arguments)};var _pager_cksum=Module["_pager_cksum"]=function(){return Module["asm"]["_pager_cksum"].apply(null,arguments)};var _pager_delmaster=Module["_pager_delmaster"]=function(){return Module["asm"]["_pager_delmaster"].apply(null,arguments)};var _pager_end_transaction=Module["_pager_end_transaction"]=function(){return Module["asm"]["_pager_end_transaction"].apply(null,arguments)};var _pager_error=Module["_pager_error"]=function(){return Module["asm"]["_pager_error"].apply(null,arguments)};var _pager_incr_changecounter=Module["_pager_incr_changecounter"]=function(){return Module["asm"]["_pager_incr_changecounter"].apply(null,arguments)};var _pager_open_journal=Module["_pager_open_journal"]=function(){return Module["asm"]["_pager_open_journal"].apply(null,arguments)};var _pager_playback=Module["_pager_playback"]=function(){return Module["asm"]["_pager_playback"].apply(null,arguments)};var _pager_playback_one_page=Module["_pager_playback_one_page"]=function(){return Module["asm"]["_pager_playback_one_page"].apply(null,arguments)};var _pager_reset=Module["_pager_reset"]=function(){return Module["asm"]["_pager_reset"].apply(null,arguments)};var _pager_truncate=Module["_pager_truncate"]=function(){return Module["asm"]["_pager_truncate"].apply(null,arguments)};var _pager_unlock=Module["_pager_unlock"]=function(){return Module["asm"]["_pager_unlock"].apply(null,arguments)};var _pager_wait_on_lock=Module["_pager_wait_on_lock"]=function(){return Module["asm"]["_pager_wait_on_lock"].apply(null,arguments)};var _pager_write=Module["_pager_write"]=function(){return Module["asm"]["_pager_write"].apply(null,arguments)};var _pager_write_changecounter=Module["_pager_write_changecounter"]=function(){return Module["asm"]["_pager_write_changecounter"].apply(null,arguments)};var _pager_write_pagelist=Module["_pager_write_pagelist"]=function(){return Module["asm"]["_pager_write_pagelist"].apply(null,arguments)};var _parentWrite=Module["_parentWrite"]=function(){return Module["asm"]["_parentWrite"].apply(null,arguments)};var _parseDateOrTime=Module["_parseDateOrTime"]=function(){return Module["asm"]["_parseDateOrTime"].apply(null,arguments)};var _parseHhMmSs=Module["_parseHhMmSs"]=function(){return Module["asm"]["_parseHhMmSs"].apply(null,arguments)};var _parseModifier=Module["_parseModifier"]=function(){return Module["asm"]["_parseModifier"].apply(null,arguments)};var _parsePseudoAttribute=Module["_parsePseudoAttribute"]=function(){return Module["asm"]["_parsePseudoAttribute"].apply(null,arguments)};var _parseTimezone=Module["_parseTimezone"]=function(){return Module["asm"]["_parseTimezone"].apply(null,arguments)};var _parseYyyyMmDd=Module["_parseYyyyMmDd"]=function(){return Module["asm"]["_parseYyyyMmDd"].apply(null,arguments)};var _parse_add_char=Module["_parse_add_char"]=function(){return Module["asm"]["_parse_add_char"].apply(null,arguments)};var _parse_arglist=Module["_parse_arglist"]=function(){return Module["asm"]["_parse_arglist"].apply(null,arguments)};var _parse_atom=Module["_parse_atom"]=function(){return Module["asm"]["_parse_atom"].apply(null,arguments)};var _parse_blend_axis_types=Module["_parse_blend_axis_types"]=function(){return Module["asm"]["_parse_blend_axis_types"].apply(null,arguments)};var _parse_blend_design_map=Module["_parse_blend_design_map"]=function(){return Module["asm"]["_parse_blend_design_map"].apply(null,arguments)};var _parse_blend_design_positions=Module["_parse_blend_design_positions"]=function(){return Module["asm"]["_parse_blend_design_positions"].apply(null,arguments)};var _parse_bracket=Module["_parse_bracket"]=function(){return Module["asm"]["_parse_bracket"].apply(null,arguments)};var _parse_bracket_terms=Module["_parse_bracket_terms"]=function(){return Module["asm"]["_parse_bracket_terms"].apply(null,arguments)};var _parse_buildchar=Module["_parse_buildchar"]=function(){return Module["asm"]["_parse_buildchar"].apply(null,arguments)};var _parse_charstrings=Module["_parse_charstrings"]=function(){return Module["asm"]["_parse_charstrings"].apply(null,arguments)};var _parse_dict=Module["_parse_dict"]=function(){return Module["asm"]["_parse_dict"].apply(null,arguments)};var _parse_dup=Module["_parse_dup"]=function(){return Module["asm"]["_parse_dup"].apply(null,arguments)};var _parse_dup_count=Module["_parse_dup_count"]=function(){return Module["asm"]["_parse_dup_count"].apply(null,arguments)};var _parse_encoding=Module["_parse_encoding"]=function(){return Module["asm"]["_parse_encoding"].apply(null,arguments)};var _parse_expansion_factor=Module["_parse_expansion_factor"]=function(){return Module["asm"]["_parse_expansion_factor"].apply(null,arguments)};var _parse_fd_array=Module["_parse_fd_array"]=function(){return Module["asm"]["_parse_fd_array"].apply(null,arguments)};var _parse_hh_mm_ss_ff=Module["_parse_hh_mm_ss_ff"]=function(){return Module["asm"]["_parse_hh_mm_ss_ff"].apply(null,arguments)};var _parse_internal_render_format_spec=Module["_parse_internal_render_format_spec"]=function(){return Module["asm"]["_parse_internal_render_format_spec"].apply(null,arguments)};var _parse_isoformat_time=Module["_parse_isoformat_time"]=function(){return Module["asm"]["_parse_isoformat_time"].apply(null,arguments)};var _parse_number=Module["_parse_number"]=function(){return Module["asm"]["_parse_number"].apply(null,arguments)};var _parse_private=Module["_parse_private"]=function(){return Module["asm"]["_parse_private"].apply(null,arguments)};var _parse_process_char=Module["_parse_process_char"]=function(){return Module["asm"]["_parse_process_char"].apply(null,arguments)};var _parse_save_field=Module["_parse_save_field"]=function(){return Module["asm"]["_parse_save_field"].apply(null,arguments)};var _parse_subrs=Module["_parse_subrs"]=function(){return Module["asm"]["_parse_subrs"].apply(null,arguments)};var _parse_weight_vector=Module["_parse_weight_vector"]=function(){return Module["asm"]["_parse_weight_vector"].apply(null,arguments)};var _parsenumber_raw=Module["_parsenumber_raw"]=function(){return Module["asm"]["_parsenumber_raw"].apply(null,arguments)};var _parseop=Module["_parseop"]=function(){return Module["asm"]["_parseop"].apply(null,arguments)};var _parserAddExprIdListTerm=Module["_parserAddExprIdListTerm"]=function(){return Module["asm"]["_parserAddExprIdListTerm"].apply(null,arguments)};var _parserCreate=Module["_parserCreate"]=function(){return Module["asm"]["_parserCreate"].apply(null,arguments)};var _parserDoubleLinkSelect=Module["_parserDoubleLinkSelect"]=function(){return Module["asm"]["_parserDoubleLinkSelect"].apply(null,arguments)};var _parserInit=Module["_parserInit"]=function(){return Module["asm"]["_parserInit"].apply(null,arguments)};var _parser__pickler=Module["_parser__pickler"]=function(){return Module["asm"]["_parser__pickler"].apply(null,arguments)};var _parser_compare_nodes=Module["_parser_compare_nodes"]=function(){return Module["asm"]["_parser_compare_nodes"].apply(null,arguments)};var _parser_compilest=Module["_parser_compilest"]=function(){return Module["asm"]["_parser_compilest"].apply(null,arguments)};var _parser_do_parse=Module["_parser_do_parse"]=function(){return Module["asm"]["_parser_do_parse"].apply(null,arguments)};var _parser_expr=Module["_parser_expr"]=function(){return Module["asm"]["_parser_expr"].apply(null,arguments)};var _parser_free=Module["_parser_free"]=function(){return Module["asm"]["_parser_free"].apply(null,arguments)};var _parser_init=Module["_parser_init"]=function(){return Module["asm"]["_parser_init"].apply(null,arguments)};var _parser_isexpr=Module["_parser_isexpr"]=function(){return Module["asm"]["_parser_isexpr"].apply(null,arguments)};var _parser_issuite=Module["_parser_issuite"]=function(){return Module["asm"]["_parser_issuite"].apply(null,arguments)};var _parser_richcompare=Module["_parser_richcompare"]=function(){return Module["asm"]["_parser_richcompare"].apply(null,arguments)};var _parser_sizeof=Module["_parser_sizeof"]=function(){return Module["asm"]["_parser_sizeof"].apply(null,arguments)};var _parser_st2list=Module["_parser_st2list"]=function(){return Module["asm"]["_parser_st2list"].apply(null,arguments)};var _parser_st2tuple=Module["_parser_st2tuple"]=function(){return Module["asm"]["_parser_st2tuple"].apply(null,arguments)};var _parser_suite=Module["_parser_suite"]=function(){return Module["asm"]["_parser_suite"].apply(null,arguments)};var _parser_tuple2st=Module["_parser_tuple2st"]=function(){return Module["asm"]["_parser_tuple2st"].apply(null,arguments)};var _parsetok=Module["_parsetok"]=function(){return Module["asm"]["_parsetok"].apply(null,arguments)};var _partial_call=Module["_partial_call"]=function(){return Module["asm"]["_partial_call"].apply(null,arguments)};var _partial_dealloc=Module["_partial_dealloc"]=function(){return Module["asm"]["_partial_dealloc"].apply(null,arguments)};var _partial_new=Module["_partial_new"]=function(){return Module["asm"]["_partial_new"].apply(null,arguments)};var _partial_reduce=Module["_partial_reduce"]=function(){return Module["asm"]["_partial_reduce"].apply(null,arguments)};var _partial_repr=Module["_partial_repr"]=function(){return Module["asm"]["_partial_repr"].apply(null,arguments)};var _partial_setstate=Module["_partial_setstate"]=function(){return Module["asm"]["_partial_setstate"].apply(null,arguments)};var _partial_traverse=Module["_partial_traverse"]=function(){return Module["asm"]["_partial_traverse"].apply(null,arguments)};var _pat_next=Module["_pat_next"]=function(){return Module["asm"]["_pat_next"].apply(null,arguments)};var _path_converter=Module["_path_converter"]=function(){return Module["asm"]["_path_converter"].apply(null,arguments)};var _pathconfig_global_init=Module["_pathconfig_global_init"]=function(){return Module["asm"]["_pathconfig_global_init"].apply(null,arguments)};var _patternCompare=Module["_patternCompare"]=function(){return Module["asm"]["_patternCompare"].apply(null,arguments)};var _pattern_dealloc=Module["_pattern_dealloc"]=function(){return Module["asm"]["_pattern_dealloc"].apply(null,arguments)};var _pattern_groupindex=Module["_pattern_groupindex"]=function(){return Module["asm"]["_pattern_groupindex"].apply(null,arguments)};var _pattern_hash=Module["_pattern_hash"]=function(){return Module["asm"]["_pattern_hash"].apply(null,arguments)};var _pattern_new_match=Module["_pattern_new_match"]=function(){return Module["asm"]["_pattern_new_match"].apply(null,arguments)};var _pattern_repr=Module["_pattern_repr"]=function(){return Module["asm"]["_pattern_repr"].apply(null,arguments)};var _pattern_richcompare=Module["_pattern_richcompare"]=function(){return Module["asm"]["_pattern_richcompare"].apply(null,arguments)};var _pattern_subx=Module["_pattern_subx"]=function(){return Module["asm"]["_pattern_subx"].apply(null,arguments)};var _pause=Module["_pause"]=function(){return Module["asm"]["_pause"].apply(null,arguments)};var _pcache1Alloc=Module["_pcache1Alloc"]=function(){return Module["asm"]["_pcache1Alloc"].apply(null,arguments)};var _pcache1AllocPage=Module["_pcache1AllocPage"]=function(){return Module["asm"]["_pcache1AllocPage"].apply(null,arguments)};var _pcache1Cachesize=Module["_pcache1Cachesize"]=function(){return Module["asm"]["_pcache1Cachesize"].apply(null,arguments)};var _pcache1Create=Module["_pcache1Create"]=function(){return Module["asm"]["_pcache1Create"].apply(null,arguments)};var _pcache1Destroy=Module["_pcache1Destroy"]=function(){return Module["asm"]["_pcache1Destroy"].apply(null,arguments)};var _pcache1EnforceMaxPage=Module["_pcache1EnforceMaxPage"]=function(){return Module["asm"]["_pcache1EnforceMaxPage"].apply(null,arguments)};var _pcache1Fetch=Module["_pcache1Fetch"]=function(){return Module["asm"]["_pcache1Fetch"].apply(null,arguments)};var _pcache1FetchNoMutex=Module["_pcache1FetchNoMutex"]=function(){return Module["asm"]["_pcache1FetchNoMutex"].apply(null,arguments)};var _pcache1FetchStage2=Module["_pcache1FetchStage2"]=function(){return Module["asm"]["_pcache1FetchStage2"].apply(null,arguments)};var _pcache1Free=Module["_pcache1Free"]=function(){return Module["asm"]["_pcache1Free"].apply(null,arguments)};var _pcache1FreePage=Module["_pcache1FreePage"]=function(){return Module["asm"]["_pcache1FreePage"].apply(null,arguments)};var _pcache1Init=Module["_pcache1Init"]=function(){return Module["asm"]["_pcache1Init"].apply(null,arguments)};var _pcache1InitBulk=Module["_pcache1InitBulk"]=function(){return Module["asm"]["_pcache1InitBulk"].apply(null,arguments)};var _pcache1Pagecount=Module["_pcache1Pagecount"]=function(){return Module["asm"]["_pcache1Pagecount"].apply(null,arguments)};var _pcache1PinPage=Module["_pcache1PinPage"]=function(){return Module["asm"]["_pcache1PinPage"].apply(null,arguments)};var _pcache1Rekey=Module["_pcache1Rekey"]=function(){return Module["asm"]["_pcache1Rekey"].apply(null,arguments)};var _pcache1RemoveFromHash=Module["_pcache1RemoveFromHash"]=function(){return Module["asm"]["_pcache1RemoveFromHash"].apply(null,arguments)};var _pcache1ResizeHash=Module["_pcache1ResizeHash"]=function(){return Module["asm"]["_pcache1ResizeHash"].apply(null,arguments)};var _pcache1Shrink=Module["_pcache1Shrink"]=function(){return Module["asm"]["_pcache1Shrink"].apply(null,arguments)};var _pcache1Shutdown=Module["_pcache1Shutdown"]=function(){return Module["asm"]["_pcache1Shutdown"].apply(null,arguments)};var _pcache1Truncate=Module["_pcache1Truncate"]=function(){return Module["asm"]["_pcache1Truncate"].apply(null,arguments)};var _pcache1TruncateUnsafe=Module["_pcache1TruncateUnsafe"]=function(){return Module["asm"]["_pcache1TruncateUnsafe"].apply(null,arguments)};var _pcache1UnderMemoryPressure=Module["_pcache1UnderMemoryPressure"]=function(){return Module["asm"]["_pcache1UnderMemoryPressure"].apply(null,arguments)};var _pcache1Unpin=Module["_pcache1Unpin"]=function(){return Module["asm"]["_pcache1Unpin"].apply(null,arguments)};var _pcacheFetchFinishWithInit=Module["_pcacheFetchFinishWithInit"]=function(){return Module["asm"]["_pcacheFetchFinishWithInit"].apply(null,arguments)};var _pcacheManageDirtyList=Module["_pcacheManageDirtyList"]=function(){return Module["asm"]["_pcacheManageDirtyList"].apply(null,arguments)};var _pcacheMergeDirtyList=Module["_pcacheMergeDirtyList"]=function(){return Module["asm"]["_pcacheMergeDirtyList"].apply(null,arguments)};var _pcacheSortDirtyList=Module["_pcacheSortDirtyList"]=function(){return Module["asm"]["_pcacheSortDirtyList"].apply(null,arguments)};var _pcacheUnpin=Module["_pcacheUnpin"]=function(){return Module["asm"]["_pcacheUnpin"].apply(null,arguments)};var _pcf_cmap_char_index=Module["_pcf_cmap_char_index"]=function(){return Module["asm"]["_pcf_cmap_char_index"].apply(null,arguments)};var _pcf_cmap_char_next=Module["_pcf_cmap_char_next"]=function(){return Module["asm"]["_pcf_cmap_char_next"].apply(null,arguments)};var _pcf_cmap_done=Module["_pcf_cmap_done"]=function(){return Module["asm"]["_pcf_cmap_done"].apply(null,arguments)};var _pcf_cmap_init=Module["_pcf_cmap_init"]=function(){return Module["asm"]["_pcf_cmap_init"].apply(null,arguments)};var _pcf_driver_requester=Module["_pcf_driver_requester"]=function(){return Module["asm"]["_pcf_driver_requester"].apply(null,arguments)};var _pcf_get_accel=Module["_pcf_get_accel"]=function(){return Module["asm"]["_pcf_get_accel"].apply(null,arguments)};var _pcf_get_bdf_property=Module["_pcf_get_bdf_property"]=function(){return Module["asm"]["_pcf_get_bdf_property"].apply(null,arguments)};var _pcf_get_charset_id=Module["_pcf_get_charset_id"]=function(){return Module["asm"]["_pcf_get_charset_id"].apply(null,arguments)};var _pcf_load_font=Module["_pcf_load_font"]=function(){return Module["asm"]["_pcf_load_font"].apply(null,arguments)};var _pclose=Module["_pclose"]=function(){return Module["asm"]["_pclose"].apply(null,arguments)};var _pep495_eq_exception=Module["_pep495_eq_exception"]=function(){return Module["asm"]["_pep495_eq_exception"].apply(null,arguments)};var _percent_rankStepFunc=Module["_percent_rankStepFunc"]=function(){return Module["asm"]["_percent_rankStepFunc"].apply(null,arguments)};var _percent_rankValueFunc=Module["_percent_rankValueFunc"]=function(){return Module["asm"]["_percent_rankValueFunc"].apply(null,arguments)};var _permutations_dealloc=Module["_permutations_dealloc"]=function(){return Module["asm"]["_permutations_dealloc"].apply(null,arguments)};var _permutations_new=Module["_permutations_new"]=function(){return Module["asm"]["_permutations_new"].apply(null,arguments)};var _permutations_next=Module["_permutations_next"]=function(){return Module["asm"]["_permutations_next"].apply(null,arguments)};var _permutations_reduce=Module["_permutations_reduce"]=function(){return Module["asm"]["_permutations_reduce"].apply(null,arguments)};var _permutations_setstate=Module["_permutations_setstate"]=function(){return Module["asm"]["_permutations_setstate"].apply(null,arguments)};var _permutations_sizeof=Module["_permutations_sizeof"]=function(){return Module["asm"]["_permutations_sizeof"].apply(null,arguments)};var _permutations_traverse=Module["_permutations_traverse"]=function(){return Module["asm"]["_permutations_traverse"].apply(null,arguments)};var _permute=Module["_permute"]=function(){return Module["asm"]["_permute"].apply(null,arguments)};var _perror=Module["_perror"]=function(){return Module["asm"]["_perror"].apply(null,arguments)};var _pfr_cmap_char_index=Module["_pfr_cmap_char_index"]=function(){return Module["asm"]["_pfr_cmap_char_index"].apply(null,arguments)};var _pfr_cmap_char_next=Module["_pfr_cmap_char_next"]=function(){return Module["asm"]["_pfr_cmap_char_next"].apply(null,arguments)};var _pfr_cmap_done=Module["_pfr_cmap_done"]=function(){return Module["asm"]["_pfr_cmap_done"].apply(null,arguments)};var _pfr_cmap_init=Module["_pfr_cmap_init"]=function(){return Module["asm"]["_pfr_cmap_init"].apply(null,arguments)};var _pfr_extra_item_load_bitmap_info=Module["_pfr_extra_item_load_bitmap_info"]=function(){return Module["asm"]["_pfr_extra_item_load_bitmap_info"].apply(null,arguments)};var _pfr_extra_item_load_font_id=Module["_pfr_extra_item_load_font_id"]=function(){return Module["asm"]["_pfr_extra_item_load_font_id"].apply(null,arguments)};var _pfr_extra_item_load_kerning_pairs=Module["_pfr_extra_item_load_kerning_pairs"]=function(){return Module["asm"]["_pfr_extra_item_load_kerning_pairs"].apply(null,arguments)};var _pfr_extra_item_load_stem_snaps=Module["_pfr_extra_item_load_stem_snaps"]=function(){return Module["asm"]["_pfr_extra_item_load_stem_snaps"].apply(null,arguments)};var _pfr_face_done=Module["_pfr_face_done"]=function(){return Module["asm"]["_pfr_face_done"].apply(null,arguments)};var _pfr_face_get_kerning=Module["_pfr_face_get_kerning"]=function(){return Module["asm"]["_pfr_face_get_kerning"].apply(null,arguments)};var _pfr_face_init=Module["_pfr_face_init"]=function(){return Module["asm"]["_pfr_face_init"].apply(null,arguments)};var _pfr_get_advance=Module["_pfr_get_advance"]=function(){return Module["asm"]["_pfr_get_advance"].apply(null,arguments)};var _pfr_get_kerning=Module["_pfr_get_kerning"]=function(){return Module["asm"]["_pfr_get_kerning"].apply(null,arguments)};var _pfr_get_metrics=Module["_pfr_get_metrics"]=function(){return Module["asm"]["_pfr_get_metrics"].apply(null,arguments)};var _pfr_get_service=Module["_pfr_get_service"]=function(){return Module["asm"]["_pfr_get_service"].apply(null,arguments)};var _pfr_glyph_load_rec=Module["_pfr_glyph_load_rec"]=function(){return Module["asm"]["_pfr_glyph_load_rec"].apply(null,arguments)};var _pfr_slot_done=Module["_pfr_slot_done"]=function(){return Module["asm"]["_pfr_slot_done"].apply(null,arguments)};var _pfr_slot_init=Module["_pfr_slot_init"]=function(){return Module["asm"]["_pfr_slot_init"].apply(null,arguments)};var _pfr_slot_load=Module["_pfr_slot_load"]=function(){return Module["asm"]["_pfr_slot_load"].apply(null,arguments)};var _pickle_clear=Module["_pickle_clear"]=function(){return Module["asm"]["_pickle_clear"].apply(null,arguments)};var _pickle_free=Module["_pickle_free"]=function(){return Module["asm"]["_pickle_free"].apply(null,arguments)};var _pickle_traverse=Module["_pickle_traverse"]=function(){return Module["asm"]["_pickle_traverse"].apply(null,arguments)};var _pipe=Module["_pipe"]=function(){return Module["asm"]["_pipe"].apply(null,arguments)};var _pipe2=Module["_pipe2"]=function(){return Module["asm"]["_pipe2"].apply(null,arguments)};var _png_access_version_number=Module["_png_access_version_number"]=function(){return Module["asm"]["_png_access_version_number"].apply(null,arguments)};var _png_app_error=Module["_png_app_error"]=function(){return Module["asm"]["_png_app_error"].apply(null,arguments)};var _png_app_warning=Module["_png_app_warning"]=function(){return Module["asm"]["_png_app_warning"].apply(null,arguments)};var _png_ascii_from_fixed=Module["_png_ascii_from_fixed"]=function(){return Module["asm"]["_png_ascii_from_fixed"].apply(null,arguments)};var _png_ascii_from_fp=Module["_png_ascii_from_fp"]=function(){return Module["asm"]["_png_ascii_from_fp"].apply(null,arguments)};var _png_benign_error=Module["_png_benign_error"]=function(){return Module["asm"]["_png_benign_error"].apply(null,arguments)};var _png_build_16bit_table=Module["_png_build_16bit_table"]=function(){return Module["asm"]["_png_build_16bit_table"].apply(null,arguments)};var _png_build_gamma_table=Module["_png_build_gamma_table"]=function(){return Module["asm"]["_png_build_gamma_table"].apply(null,arguments)};var _png_build_grayscale_palette=Module["_png_build_grayscale_palette"]=function(){return Module["asm"]["_png_build_grayscale_palette"].apply(null,arguments)};var _png_cache_unknown_chunk=Module["_png_cache_unknown_chunk"]=function(){return Module["asm"]["_png_cache_unknown_chunk"].apply(null,arguments)};var _png_calculate_crc=Module["_png_calculate_crc"]=function(){return Module["asm"]["_png_calculate_crc"].apply(null,arguments)};var _png_calloc=Module["_png_calloc"]=function(){return Module["asm"]["_png_calloc"].apply(null,arguments)};var _png_check_IHDR=Module["_png_check_IHDR"]=function(){return Module["asm"]["_png_check_IHDR"].apply(null,arguments)};var _png_check_chunk_name=Module["_png_check_chunk_name"]=function(){return Module["asm"]["_png_check_chunk_name"].apply(null,arguments)};var _png_check_fp_number=Module["_png_check_fp_number"]=function(){return Module["asm"]["_png_check_fp_number"].apply(null,arguments)};var _png_check_fp_string=Module["_png_check_fp_string"]=function(){return Module["asm"]["_png_check_fp_string"].apply(null,arguments)};var _png_check_keyword=Module["_png_check_keyword"]=function(){return Module["asm"]["_png_check_keyword"].apply(null,arguments)};var _png_chunk_benign_error=Module["_png_chunk_benign_error"]=function(){return Module["asm"]["_png_chunk_benign_error"].apply(null,arguments)};var _png_chunk_error=Module["_png_chunk_error"]=function(){return Module["asm"]["_png_chunk_error"].apply(null,arguments)};var _png_chunk_report=Module["_png_chunk_report"]=function(){return Module["asm"]["_png_chunk_report"].apply(null,arguments)};var _png_chunk_unknown_handling=Module["_png_chunk_unknown_handling"]=function(){return Module["asm"]["_png_chunk_unknown_handling"].apply(null,arguments)};var _png_chunk_warning=Module["_png_chunk_warning"]=function(){return Module["asm"]["_png_chunk_warning"].apply(null,arguments)};var _png_colorspace_check_xy=Module["_png_colorspace_check_xy"]=function(){return Module["asm"]["_png_colorspace_check_xy"].apply(null,arguments)};var _png_colorspace_endpoints_match=Module["_png_colorspace_endpoints_match"]=function(){return Module["asm"]["_png_colorspace_endpoints_match"].apply(null,arguments)};var _png_colorspace_set_ICC=Module["_png_colorspace_set_ICC"]=function(){return Module["asm"]["_png_colorspace_set_ICC"].apply(null,arguments)};var _png_colorspace_set_chromaticities=Module["_png_colorspace_set_chromaticities"]=function(){return Module["asm"]["_png_colorspace_set_chromaticities"].apply(null,arguments)};var _png_colorspace_set_endpoints=Module["_png_colorspace_set_endpoints"]=function(){return Module["asm"]["_png_colorspace_set_endpoints"].apply(null,arguments)};var _png_colorspace_set_gamma=Module["_png_colorspace_set_gamma"]=function(){return Module["asm"]["_png_colorspace_set_gamma"].apply(null,arguments)};var _png_colorspace_set_rgb_coefficients=Module["_png_colorspace_set_rgb_coefficients"]=function(){return Module["asm"]["_png_colorspace_set_rgb_coefficients"].apply(null,arguments)};var _png_colorspace_set_sRGB=Module["_png_colorspace_set_sRGB"]=function(){return Module["asm"]["_png_colorspace_set_sRGB"].apply(null,arguments)};var _png_colorspace_sync=Module["_png_colorspace_sync"]=function(){return Module["asm"]["_png_colorspace_sync"].apply(null,arguments)};var _png_colorspace_sync_info=Module["_png_colorspace_sync_info"]=function(){return Module["asm"]["_png_colorspace_sync_info"].apply(null,arguments)};var _png_combine_row=Module["_png_combine_row"]=function(){return Module["asm"]["_png_combine_row"].apply(null,arguments)};var _png_compress_IDAT=Module["_png_compress_IDAT"]=function(){return Module["asm"]["_png_compress_IDAT"].apply(null,arguments)};var _png_convert_from_struct_tm=Module["_png_convert_from_struct_tm"]=function(){return Module["asm"]["_png_convert_from_struct_tm"].apply(null,arguments)};var _png_convert_from_time_t=Module["_png_convert_from_time_t"]=function(){return Module["asm"]["_png_convert_from_time_t"].apply(null,arguments)};var _png_convert_to_rfc1123=Module["_png_convert_to_rfc1123"]=function(){return Module["asm"]["_png_convert_to_rfc1123"].apply(null,arguments)};var _png_convert_to_rfc1123_buffer=Module["_png_convert_to_rfc1123_buffer"]=function(){return Module["asm"]["_png_convert_to_rfc1123_buffer"].apply(null,arguments)};var _png_crc_error=Module["_png_crc_error"]=function(){return Module["asm"]["_png_crc_error"].apply(null,arguments)};var _png_crc_finish=Module["_png_crc_finish"]=function(){return Module["asm"]["_png_crc_finish"].apply(null,arguments)};var _png_crc_read=Module["_png_crc_read"]=function(){return Module["asm"]["_png_crc_read"].apply(null,arguments)};var _png_create_colormap_entry=Module["_png_create_colormap_entry"]=function(){return Module["asm"]["_png_create_colormap_entry"].apply(null,arguments)};var _png_create_info_struct=Module["_png_create_info_struct"]=function(){return Module["asm"]["_png_create_info_struct"].apply(null,arguments)};var _png_create_png_struct=Module["_png_create_png_struct"]=function(){return Module["asm"]["_png_create_png_struct"].apply(null,arguments)};var _png_create_read_struct=Module["_png_create_read_struct"]=function(){return Module["asm"]["_png_create_read_struct"].apply(null,arguments)};var _png_create_read_struct_2=Module["_png_create_read_struct_2"]=function(){return Module["asm"]["_png_create_read_struct_2"].apply(null,arguments)};var _png_create_write_struct=Module["_png_create_write_struct"]=function(){return Module["asm"]["_png_create_write_struct"].apply(null,arguments)};var _png_create_write_struct_2=Module["_png_create_write_struct_2"]=function(){return Module["asm"]["_png_create_write_struct_2"].apply(null,arguments)};var _png_data_freer=Module["_png_data_freer"]=function(){return Module["asm"]["_png_data_freer"].apply(null,arguments)};var _png_decompress_chunk=Module["_png_decompress_chunk"]=function(){return Module["asm"]["_png_decompress_chunk"].apply(null,arguments)};var _png_default_error=Module["_png_default_error"]=function(){return Module["asm"]["_png_default_error"].apply(null,arguments)};var _png_default_flush=Module["_png_default_flush"]=function(){return Module["asm"]["_png_default_flush"].apply(null,arguments)};var _png_default_read_data=Module["_png_default_read_data"]=function(){return Module["asm"]["_png_default_read_data"].apply(null,arguments)};var _png_default_write_data=Module["_png_default_write_data"]=function(){return Module["asm"]["_png_default_write_data"].apply(null,arguments)};var _png_deflate_claim=Module["_png_deflate_claim"]=function(){return Module["asm"]["_png_deflate_claim"].apply(null,arguments)};var _png_destroy_gamma_table=Module["_png_destroy_gamma_table"]=function(){return Module["asm"]["_png_destroy_gamma_table"].apply(null,arguments)};var _png_destroy_info_struct=Module["_png_destroy_info_struct"]=function(){return Module["asm"]["_png_destroy_info_struct"].apply(null,arguments)};var _png_destroy_png_struct=Module["_png_destroy_png_struct"]=function(){return Module["asm"]["_png_destroy_png_struct"].apply(null,arguments)};var _png_destroy_read_struct=Module["_png_destroy_read_struct"]=function(){return Module["asm"]["_png_destroy_read_struct"].apply(null,arguments)};var _png_destroy_write_struct=Module["_png_destroy_write_struct"]=function(){return Module["asm"]["_png_destroy_write_struct"].apply(null,arguments)};var _png_do_bgr=Module["_png_do_bgr"]=function(){return Module["asm"]["_png_do_bgr"].apply(null,arguments)};var _png_do_check_palette_indexes=Module["_png_do_check_palette_indexes"]=function(){return Module["asm"]["_png_do_check_palette_indexes"].apply(null,arguments)};var _png_do_expand=Module["_png_do_expand"]=function(){return Module["asm"]["_png_do_expand"].apply(null,arguments)};var _png_do_gray_to_rgb=Module["_png_do_gray_to_rgb"]=function(){return Module["asm"]["_png_do_gray_to_rgb"].apply(null,arguments)};var _png_do_invert=Module["_png_do_invert"]=function(){return Module["asm"]["_png_do_invert"].apply(null,arguments)};var _png_do_packswap=Module["_png_do_packswap"]=function(){return Module["asm"]["_png_do_packswap"].apply(null,arguments)};var _png_do_read_interlace=Module["_png_do_read_interlace"]=function(){return Module["asm"]["_png_do_read_interlace"].apply(null,arguments)};var _png_do_read_transformations=Module["_png_do_read_transformations"]=function(){return Module["asm"]["_png_do_read_transformations"].apply(null,arguments)};var _png_do_strip_channel=Module["_png_do_strip_channel"]=function(){return Module["asm"]["_png_do_strip_channel"].apply(null,arguments)};var _png_do_swap=Module["_png_do_swap"]=function(){return Module["asm"]["_png_do_swap"].apply(null,arguments)};var _png_do_write_interlace=Module["_png_do_write_interlace"]=function(){return Module["asm"]["_png_do_write_interlace"].apply(null,arguments)};var _png_do_write_transformations=Module["_png_do_write_transformations"]=function(){return Module["asm"]["_png_do_write_transformations"].apply(null,arguments)};var _png_error=Module["_png_error"]=function(){return Module["asm"]["_png_error"].apply(null,arguments)};var _png_fixed=Module["_png_fixed"]=function(){return Module["asm"]["_png_fixed"].apply(null,arguments)};var _png_fixed_error=Module["_png_fixed_error"]=function(){return Module["asm"]["_png_fixed_error"].apply(null,arguments)};var _png_flush=Module["_png_flush"]=function(){return Module["asm"]["_png_flush"].apply(null,arguments)};var _png_format_buffer=Module["_png_format_buffer"]=function(){return Module["asm"]["_png_format_buffer"].apply(null,arguments)};var _png_format_number=Module["_png_format_number"]=function(){return Module["asm"]["_png_format_number"].apply(null,arguments)};var _png_formatted_warning=Module["_png_formatted_warning"]=function(){return Module["asm"]["_png_formatted_warning"].apply(null,arguments)};var _png_free=Module["_png_free"]=function(){return Module["asm"]["_png_free"].apply(null,arguments)};var _png_free_buffer_list=Module["_png_free_buffer_list"]=function(){return Module["asm"]["_png_free_buffer_list"].apply(null,arguments)};var _png_free_data=Module["_png_free_data"]=function(){return Module["asm"]["_png_free_data"].apply(null,arguments)};var _png_free_default=Module["_png_free_default"]=function(){return Module["asm"]["_png_free_default"].apply(null,arguments)};var _png_free_jmpbuf=Module["_png_free_jmpbuf"]=function(){return Module["asm"]["_png_free_jmpbuf"].apply(null,arguments)};var _png_gamma_16bit_correct=Module["_png_gamma_16bit_correct"]=function(){return Module["asm"]["_png_gamma_16bit_correct"].apply(null,arguments)};var _png_gamma_8bit_correct=Module["_png_gamma_8bit_correct"]=function(){return Module["asm"]["_png_gamma_8bit_correct"].apply(null,arguments)};var _png_gamma_correct=Module["_png_gamma_correct"]=function(){return Module["asm"]["_png_gamma_correct"].apply(null,arguments)};var _png_gamma_significant=Module["_png_gamma_significant"]=function(){return Module["asm"]["_png_gamma_significant"].apply(null,arguments)};var _png_get_IHDR=Module["_png_get_IHDR"]=function(){return Module["asm"]["_png_get_IHDR"].apply(null,arguments)};var _png_get_PLTE=Module["_png_get_PLTE"]=function(){return Module["asm"]["_png_get_PLTE"].apply(null,arguments)};var _png_get_bKGD=Module["_png_get_bKGD"]=function(){return Module["asm"]["_png_get_bKGD"].apply(null,arguments)};var _png_get_bit_depth=Module["_png_get_bit_depth"]=function(){return Module["asm"]["_png_get_bit_depth"].apply(null,arguments)};var _png_get_cHRM=Module["_png_get_cHRM"]=function(){return Module["asm"]["_png_get_cHRM"].apply(null,arguments)};var _png_get_cHRM_XYZ=Module["_png_get_cHRM_XYZ"]=function(){return Module["asm"]["_png_get_cHRM_XYZ"].apply(null,arguments)};var _png_get_cHRM_XYZ_fixed=Module["_png_get_cHRM_XYZ_fixed"]=function(){return Module["asm"]["_png_get_cHRM_XYZ_fixed"].apply(null,arguments)};var _png_get_cHRM_fixed=Module["_png_get_cHRM_fixed"]=function(){return Module["asm"]["_png_get_cHRM_fixed"].apply(null,arguments)};var _png_get_channels=Module["_png_get_channels"]=function(){return Module["asm"]["_png_get_channels"].apply(null,arguments)};var _png_get_chunk_cache_max=Module["_png_get_chunk_cache_max"]=function(){return Module["asm"]["_png_get_chunk_cache_max"].apply(null,arguments)};var _png_get_chunk_malloc_max=Module["_png_get_chunk_malloc_max"]=function(){return Module["asm"]["_png_get_chunk_malloc_max"].apply(null,arguments)};var _png_get_color_type=Module["_png_get_color_type"]=function(){return Module["asm"]["_png_get_color_type"].apply(null,arguments)};var _png_get_compression_buffer_size=Module["_png_get_compression_buffer_size"]=function(){return Module["asm"]["_png_get_compression_buffer_size"].apply(null,arguments)};var _png_get_compression_type=Module["_png_get_compression_type"]=function(){return Module["asm"]["_png_get_compression_type"].apply(null,arguments)};var _png_get_copyright=Module["_png_get_copyright"]=function(){return Module["asm"]["_png_get_copyright"].apply(null,arguments)};var _png_get_current_pass_number=Module["_png_get_current_pass_number"]=function(){return Module["asm"]["_png_get_current_pass_number"].apply(null,arguments)};var _png_get_current_row_number=Module["_png_get_current_row_number"]=function(){return Module["asm"]["_png_get_current_row_number"].apply(null,arguments)};var _png_get_error_ptr=Module["_png_get_error_ptr"]=function(){return Module["asm"]["_png_get_error_ptr"].apply(null,arguments)};var _png_get_filter_type=Module["_png_get_filter_type"]=function(){return Module["asm"]["_png_get_filter_type"].apply(null,arguments)};var _png_get_gAMA=Module["_png_get_gAMA"]=function(){return Module["asm"]["_png_get_gAMA"].apply(null,arguments)};var _png_get_gAMA_fixed=Module["_png_get_gAMA_fixed"]=function(){return Module["asm"]["_png_get_gAMA_fixed"].apply(null,arguments)};var _png_get_hIST=Module["_png_get_hIST"]=function(){return Module["asm"]["_png_get_hIST"].apply(null,arguments)};var _png_get_header_ver=Module["_png_get_header_ver"]=function(){return Module["asm"]["_png_get_header_ver"].apply(null,arguments)};var _png_get_header_version=Module["_png_get_header_version"]=function(){return Module["asm"]["_png_get_header_version"].apply(null,arguments)};var _png_get_iCCP=Module["_png_get_iCCP"]=function(){return Module["asm"]["_png_get_iCCP"].apply(null,arguments)};var _png_get_image_height=Module["_png_get_image_height"]=function(){return Module["asm"]["_png_get_image_height"].apply(null,arguments)};var _png_get_image_width=Module["_png_get_image_width"]=function(){return Module["asm"]["_png_get_image_width"].apply(null,arguments)};var _png_get_int_32=Module["_png_get_int_32"]=function(){return Module["asm"]["_png_get_int_32"].apply(null,arguments)};var _png_get_interlace_type=Module["_png_get_interlace_type"]=function(){return Module["asm"]["_png_get_interlace_type"].apply(null,arguments)};var _png_get_io_chunk_type=Module["_png_get_io_chunk_type"]=function(){return Module["asm"]["_png_get_io_chunk_type"].apply(null,arguments)};var _png_get_io_ptr=Module["_png_get_io_ptr"]=function(){return Module["asm"]["_png_get_io_ptr"].apply(null,arguments)};var _png_get_io_state=Module["_png_get_io_state"]=function(){return Module["asm"]["_png_get_io_state"].apply(null,arguments)};var _png_get_libpng_ver=Module["_png_get_libpng_ver"]=function(){return Module["asm"]["_png_get_libpng_ver"].apply(null,arguments)};var _png_get_mem_ptr=Module["_png_get_mem_ptr"]=function(){return Module["asm"]["_png_get_mem_ptr"].apply(null,arguments)};var _png_get_oFFs=Module["_png_get_oFFs"]=function(){return Module["asm"]["_png_get_oFFs"].apply(null,arguments)};var _png_get_pCAL=Module["_png_get_pCAL"]=function(){return Module["asm"]["_png_get_pCAL"].apply(null,arguments)};var _png_get_pHYs=Module["_png_get_pHYs"]=function(){return Module["asm"]["_png_get_pHYs"].apply(null,arguments)};var _png_get_pHYs_dpi=Module["_png_get_pHYs_dpi"]=function(){return Module["asm"]["_png_get_pHYs_dpi"].apply(null,arguments)};var _png_get_palette_max=Module["_png_get_palette_max"]=function(){return Module["asm"]["_png_get_palette_max"].apply(null,arguments)};var _png_get_pixel_aspect_ratio=Module["_png_get_pixel_aspect_ratio"]=function(){return Module["asm"]["_png_get_pixel_aspect_ratio"].apply(null,arguments)};var _png_get_pixel_aspect_ratio_fixed=Module["_png_get_pixel_aspect_ratio_fixed"]=function(){return Module["asm"]["_png_get_pixel_aspect_ratio_fixed"].apply(null,arguments)};var _png_get_pixels_per_inch=Module["_png_get_pixels_per_inch"]=function(){return Module["asm"]["_png_get_pixels_per_inch"].apply(null,arguments)};var _png_get_pixels_per_meter=Module["_png_get_pixels_per_meter"]=function(){return Module["asm"]["_png_get_pixels_per_meter"].apply(null,arguments)};var _png_get_progressive_ptr=Module["_png_get_progressive_ptr"]=function(){return Module["asm"]["_png_get_progressive_ptr"].apply(null,arguments)};var _png_get_rgb_to_gray_status=Module["_png_get_rgb_to_gray_status"]=function(){return Module["asm"]["_png_get_rgb_to_gray_status"].apply(null,arguments)};var _png_get_rowbytes=Module["_png_get_rowbytes"]=function(){return Module["asm"]["_png_get_rowbytes"].apply(null,arguments)};var _png_get_rows=Module["_png_get_rows"]=function(){return Module["asm"]["_png_get_rows"].apply(null,arguments)};var _png_get_sBIT=Module["_png_get_sBIT"]=function(){return Module["asm"]["_png_get_sBIT"].apply(null,arguments)};var _png_get_sCAL=Module["_png_get_sCAL"]=function(){return Module["asm"]["_png_get_sCAL"].apply(null,arguments)};var _png_get_sCAL_fixed=Module["_png_get_sCAL_fixed"]=function(){return Module["asm"]["_png_get_sCAL_fixed"].apply(null,arguments)};var _png_get_sCAL_s=Module["_png_get_sCAL_s"]=function(){return Module["asm"]["_png_get_sCAL_s"].apply(null,arguments)};var _png_get_sPLT=Module["_png_get_sPLT"]=function(){return Module["asm"]["_png_get_sPLT"].apply(null,arguments)};var _png_get_sRGB=Module["_png_get_sRGB"]=function(){return Module["asm"]["_png_get_sRGB"].apply(null,arguments)};var _png_get_signature=Module["_png_get_signature"]=function(){return Module["asm"]["_png_get_signature"].apply(null,arguments)};var _png_get_tIME=Module["_png_get_tIME"]=function(){return Module["asm"]["_png_get_tIME"].apply(null,arguments)};var _png_get_tRNS=Module["_png_get_tRNS"]=function(){return Module["asm"]["_png_get_tRNS"].apply(null,arguments)};var _png_get_text=Module["_png_get_text"]=function(){return Module["asm"]["_png_get_text"].apply(null,arguments)};var _png_get_uint_16=Module["_png_get_uint_16"]=function(){return Module["asm"]["_png_get_uint_16"].apply(null,arguments)};var _png_get_uint_31=Module["_png_get_uint_31"]=function(){return Module["asm"]["_png_get_uint_31"].apply(null,arguments)};var _png_get_uint_32=Module["_png_get_uint_32"]=function(){return Module["asm"]["_png_get_uint_32"].apply(null,arguments)};var _png_get_unknown_chunks=Module["_png_get_unknown_chunks"]=function(){return Module["asm"]["_png_get_unknown_chunks"].apply(null,arguments)};var _png_get_user_chunk_ptr=Module["_png_get_user_chunk_ptr"]=function(){return Module["asm"]["_png_get_user_chunk_ptr"].apply(null,arguments)};var _png_get_user_height_max=Module["_png_get_user_height_max"]=function(){return Module["asm"]["_png_get_user_height_max"].apply(null,arguments)};var _png_get_user_transform_ptr=Module["_png_get_user_transform_ptr"]=function(){return Module["asm"]["_png_get_user_transform_ptr"].apply(null,arguments)};var _png_get_user_width_max=Module["_png_get_user_width_max"]=function(){return Module["asm"]["_png_get_user_width_max"].apply(null,arguments)};var _png_get_valid=Module["_png_get_valid"]=function(){return Module["asm"]["_png_get_valid"].apply(null,arguments)};var _png_get_x_offset_inches=Module["_png_get_x_offset_inches"]=function(){return Module["asm"]["_png_get_x_offset_inches"].apply(null,arguments)};var _png_get_x_offset_inches_fixed=Module["_png_get_x_offset_inches_fixed"]=function(){return Module["asm"]["_png_get_x_offset_inches_fixed"].apply(null,arguments)};var _png_get_x_offset_microns=Module["_png_get_x_offset_microns"]=function(){return Module["asm"]["_png_get_x_offset_microns"].apply(null,arguments)};var _png_get_x_offset_pixels=Module["_png_get_x_offset_pixels"]=function(){return Module["asm"]["_png_get_x_offset_pixels"].apply(null,arguments)};var _png_get_x_pixels_per_inch=Module["_png_get_x_pixels_per_inch"]=function(){return Module["asm"]["_png_get_x_pixels_per_inch"].apply(null,arguments)};var _png_get_x_pixels_per_meter=Module["_png_get_x_pixels_per_meter"]=function(){return Module["asm"]["_png_get_x_pixels_per_meter"].apply(null,arguments)};var _png_get_y_offset_inches=Module["_png_get_y_offset_inches"]=function(){return Module["asm"]["_png_get_y_offset_inches"].apply(null,arguments)};var _png_get_y_offset_inches_fixed=Module["_png_get_y_offset_inches_fixed"]=function(){return Module["asm"]["_png_get_y_offset_inches_fixed"].apply(null,arguments)};var _png_get_y_offset_microns=Module["_png_get_y_offset_microns"]=function(){return Module["asm"]["_png_get_y_offset_microns"].apply(null,arguments)};var _png_get_y_offset_pixels=Module["_png_get_y_offset_pixels"]=function(){return Module["asm"]["_png_get_y_offset_pixels"].apply(null,arguments)};var _png_get_y_pixels_per_inch=Module["_png_get_y_pixels_per_inch"]=function(){return Module["asm"]["_png_get_y_pixels_per_inch"].apply(null,arguments)};var _png_get_y_pixels_per_meter=Module["_png_get_y_pixels_per_meter"]=function(){return Module["asm"]["_png_get_y_pixels_per_meter"].apply(null,arguments)};var _png_handle_IEND=Module["_png_handle_IEND"]=function(){return Module["asm"]["_png_handle_IEND"].apply(null,arguments)};var _png_handle_IHDR=Module["_png_handle_IHDR"]=function(){return Module["asm"]["_png_handle_IHDR"].apply(null,arguments)};var _png_handle_PLTE=Module["_png_handle_PLTE"]=function(){return Module["asm"]["_png_handle_PLTE"].apply(null,arguments)};var _png_handle_as_unknown=Module["_png_handle_as_unknown"]=function(){return Module["asm"]["_png_handle_as_unknown"].apply(null,arguments)};var _png_handle_bKGD=Module["_png_handle_bKGD"]=function(){return Module["asm"]["_png_handle_bKGD"].apply(null,arguments)};var _png_handle_cHRM=Module["_png_handle_cHRM"]=function(){return Module["asm"]["_png_handle_cHRM"].apply(null,arguments)};var _png_handle_gAMA=Module["_png_handle_gAMA"]=function(){return Module["asm"]["_png_handle_gAMA"].apply(null,arguments)};var _png_handle_hIST=Module["_png_handle_hIST"]=function(){return Module["asm"]["_png_handle_hIST"].apply(null,arguments)};var _png_handle_iCCP=Module["_png_handle_iCCP"]=function(){return Module["asm"]["_png_handle_iCCP"].apply(null,arguments)};var _png_handle_iTXt=Module["_png_handle_iTXt"]=function(){return Module["asm"]["_png_handle_iTXt"].apply(null,arguments)};var _png_handle_oFFs=Module["_png_handle_oFFs"]=function(){return Module["asm"]["_png_handle_oFFs"].apply(null,arguments)};var _png_handle_pCAL=Module["_png_handle_pCAL"]=function(){return Module["asm"]["_png_handle_pCAL"].apply(null,arguments)};var _png_handle_pHYs=Module["_png_handle_pHYs"]=function(){return Module["asm"]["_png_handle_pHYs"].apply(null,arguments)};var _png_handle_sBIT=Module["_png_handle_sBIT"]=function(){return Module["asm"]["_png_handle_sBIT"].apply(null,arguments)};var _png_handle_sCAL=Module["_png_handle_sCAL"]=function(){return Module["asm"]["_png_handle_sCAL"].apply(null,arguments)};var _png_handle_sPLT=Module["_png_handle_sPLT"]=function(){return Module["asm"]["_png_handle_sPLT"].apply(null,arguments)};var _png_handle_sRGB=Module["_png_handle_sRGB"]=function(){return Module["asm"]["_png_handle_sRGB"].apply(null,arguments)};var _png_handle_tEXt=Module["_png_handle_tEXt"]=function(){return Module["asm"]["_png_handle_tEXt"].apply(null,arguments)};var _png_handle_tIME=Module["_png_handle_tIME"]=function(){return Module["asm"]["_png_handle_tIME"].apply(null,arguments)};var _png_handle_tRNS=Module["_png_handle_tRNS"]=function(){return Module["asm"]["_png_handle_tRNS"].apply(null,arguments)};var _png_handle_unknown=Module["_png_handle_unknown"]=function(){return Module["asm"]["_png_handle_unknown"].apply(null,arguments)};var _png_handle_zTXt=Module["_png_handle_zTXt"]=function(){return Module["asm"]["_png_handle_zTXt"].apply(null,arguments)};var _png_icc_check_header=Module["_png_icc_check_header"]=function(){return Module["asm"]["_png_icc_check_header"].apply(null,arguments)};var _png_icc_check_length=Module["_png_icc_check_length"]=function(){return Module["asm"]["_png_icc_check_length"].apply(null,arguments)};var _png_icc_check_tag_table=Module["_png_icc_check_tag_table"]=function(){return Module["asm"]["_png_icc_check_tag_table"].apply(null,arguments)};var _png_icc_profile_error=Module["_png_icc_profile_error"]=function(){return Module["asm"]["_png_icc_profile_error"].apply(null,arguments)};var _png_icc_set_sRGB=Module["_png_icc_set_sRGB"]=function(){return Module["asm"]["_png_icc_set_sRGB"].apply(null,arguments)};var _png_image_begin_read_from_file=Module["_png_image_begin_read_from_file"]=function(){return Module["asm"]["_png_image_begin_read_from_file"].apply(null,arguments)};var _png_image_begin_read_from_memory=Module["_png_image_begin_read_from_memory"]=function(){return Module["asm"]["_png_image_begin_read_from_memory"].apply(null,arguments)};var _png_image_begin_read_from_stdio=Module["_png_image_begin_read_from_stdio"]=function(){return Module["asm"]["_png_image_begin_read_from_stdio"].apply(null,arguments)};var _png_image_error=Module["_png_image_error"]=function(){return Module["asm"]["_png_image_error"].apply(null,arguments)};var _png_image_finish_read=Module["_png_image_finish_read"]=function(){return Module["asm"]["_png_image_finish_read"].apply(null,arguments)};var _png_image_free=Module["_png_image_free"]=function(){return Module["asm"]["_png_image_free"].apply(null,arguments)};var _png_image_free_function=Module["_png_image_free_function"]=function(){return Module["asm"]["_png_image_free_function"].apply(null,arguments)};var _png_image_memory_read=Module["_png_image_memory_read"]=function(){return Module["asm"]["_png_image_memory_read"].apply(null,arguments)};var _png_image_read_and_map=Module["_png_image_read_and_map"]=function(){return Module["asm"]["_png_image_read_and_map"].apply(null,arguments)};var _png_image_read_background=Module["_png_image_read_background"]=function(){return Module["asm"]["_png_image_read_background"].apply(null,arguments)};var _png_image_read_colormap=Module["_png_image_read_colormap"]=function(){return Module["asm"]["_png_image_read_colormap"].apply(null,arguments)};var _png_image_read_colormapped=Module["_png_image_read_colormapped"]=function(){return Module["asm"]["_png_image_read_colormapped"].apply(null,arguments)};var _png_image_read_composite=Module["_png_image_read_composite"]=function(){return Module["asm"]["_png_image_read_composite"].apply(null,arguments)};var _png_image_read_direct=Module["_png_image_read_direct"]=function(){return Module["asm"]["_png_image_read_direct"].apply(null,arguments)};var _png_image_read_header=Module["_png_image_read_header"]=function(){return Module["asm"]["_png_image_read_header"].apply(null,arguments)};var _png_image_read_init=Module["_png_image_read_init"]=function(){return Module["asm"]["_png_image_read_init"].apply(null,arguments)};var _png_image_size=Module["_png_image_size"]=function(){return Module["asm"]["_png_image_size"].apply(null,arguments)};var _png_image_write_main=Module["_png_image_write_main"]=function(){return Module["asm"]["_png_image_write_main"].apply(null,arguments)};var _png_image_write_to_file=Module["_png_image_write_to_file"]=function(){return Module["asm"]["_png_image_write_to_file"].apply(null,arguments)};var _png_image_write_to_stdio=Module["_png_image_write_to_stdio"]=function(){return Module["asm"]["_png_image_write_to_stdio"].apply(null,arguments)};var _png_inflate_claim=Module["_png_inflate_claim"]=function(){return Module["asm"]["_png_inflate_claim"].apply(null,arguments)};var _png_info_init_3=Module["_png_info_init_3"]=function(){return Module["asm"]["_png_info_init_3"].apply(null,arguments)};var _png_init_filter_heuristics=Module["_png_init_filter_heuristics"]=function(){return Module["asm"]["_png_init_filter_heuristics"].apply(null,arguments)};var _png_init_io=Module["_png_init_io"]=function(){return Module["asm"]["_png_init_io"].apply(null,arguments)};var _png_init_read_transformations=Module["_png_init_read_transformations"]=function(){return Module["asm"]["_png_init_read_transformations"].apply(null,arguments)};var _png_longjmp=Module["_png_longjmp"]=function(){return Module["asm"]["_png_longjmp"].apply(null,arguments)};var _png_malloc=Module["_png_malloc"]=function(){return Module["asm"]["_png_malloc"].apply(null,arguments)};var _png_malloc_array=Module["_png_malloc_array"]=function(){return Module["asm"]["_png_malloc_array"].apply(null,arguments)};var _png_malloc_base=Module["_png_malloc_base"]=function(){return Module["asm"]["_png_malloc_base"].apply(null,arguments)};var _png_malloc_default=Module["_png_malloc_default"]=function(){return Module["asm"]["_png_malloc_default"].apply(null,arguments)};var _png_malloc_warn=Module["_png_malloc_warn"]=function(){return Module["asm"]["_png_malloc_warn"].apply(null,arguments)};var _png_muldiv=Module["_png_muldiv"]=function(){return Module["asm"]["_png_muldiv"].apply(null,arguments)};var _png_muldiv_warn=Module["_png_muldiv_warn"]=function(){return Module["asm"]["_png_muldiv_warn"].apply(null,arguments)};var _png_permit_mng_features=Module["_png_permit_mng_features"]=function(){return Module["asm"]["_png_permit_mng_features"].apply(null,arguments)};var _png_process_IDAT_data=Module["_png_process_IDAT_data"]=function(){return Module["asm"]["_png_process_IDAT_data"].apply(null,arguments)};var _png_process_data=Module["_png_process_data"]=function(){return Module["asm"]["_png_process_data"].apply(null,arguments)};var _png_process_data_pause=Module["_png_process_data_pause"]=function(){return Module["asm"]["_png_process_data_pause"].apply(null,arguments)};var _png_process_data_skip=Module["_png_process_data_skip"]=function(){return Module["asm"]["_png_process_data_skip"].apply(null,arguments)};var _png_process_some_data=Module["_png_process_some_data"]=function(){return Module["asm"]["_png_process_some_data"].apply(null,arguments)};var _png_progressive_combine_row=Module["_png_progressive_combine_row"]=function(){return Module["asm"]["_png_progressive_combine_row"].apply(null,arguments)};var _png_push_crc_finish=Module["_png_push_crc_finish"]=function(){return Module["asm"]["_png_push_crc_finish"].apply(null,arguments)};var _png_push_crc_skip=Module["_png_push_crc_skip"]=function(){return Module["asm"]["_png_push_crc_skip"].apply(null,arguments)};var _png_push_fill_buffer=Module["_png_push_fill_buffer"]=function(){return Module["asm"]["_png_push_fill_buffer"].apply(null,arguments)};var _png_push_have_end=Module["_png_push_have_end"]=function(){return Module["asm"]["_png_push_have_end"].apply(null,arguments)};var _png_push_have_info=Module["_png_push_have_info"]=function(){return Module["asm"]["_png_push_have_info"].apply(null,arguments)};var _png_push_have_row=Module["_png_push_have_row"]=function(){return Module["asm"]["_png_push_have_row"].apply(null,arguments)};var _png_push_process_row=Module["_png_push_process_row"]=function(){return Module["asm"]["_png_push_process_row"].apply(null,arguments)};var _png_push_read_IDAT=Module["_png_push_read_IDAT"]=function(){return Module["asm"]["_png_push_read_IDAT"].apply(null,arguments)};var _png_push_read_chunk=Module["_png_push_read_chunk"]=function(){return Module["asm"]["_png_push_read_chunk"].apply(null,arguments)};var _png_push_read_sig=Module["_png_push_read_sig"]=function(){return Module["asm"]["_png_push_read_sig"].apply(null,arguments)};var _png_push_restore_buffer=Module["_png_push_restore_buffer"]=function(){return Module["asm"]["_png_push_restore_buffer"].apply(null,arguments)};var _png_push_save_buffer=Module["_png_push_save_buffer"]=function(){return Module["asm"]["_png_push_save_buffer"].apply(null,arguments)};var _png_read_IDAT_data=Module["_png_read_IDAT_data"]=function(){return Module["asm"]["_png_read_IDAT_data"].apply(null,arguments)};var _png_read_chunk_header=Module["_png_read_chunk_header"]=function(){return Module["asm"]["_png_read_chunk_header"].apply(null,arguments)};var _png_read_data=Module["_png_read_data"]=function(){return Module["asm"]["_png_read_data"].apply(null,arguments)};var _png_read_end=Module["_png_read_end"]=function(){return Module["asm"]["_png_read_end"].apply(null,arguments)};var _png_read_filter_row=Module["_png_read_filter_row"]=function(){return Module["asm"]["_png_read_filter_row"].apply(null,arguments)};var _png_read_filter_row_avg=Module["_png_read_filter_row_avg"]=function(){return Module["asm"]["_png_read_filter_row_avg"].apply(null,arguments)};var _png_read_filter_row_paeth_1byte_pixel=Module["_png_read_filter_row_paeth_1byte_pixel"]=function(){return Module["asm"]["_png_read_filter_row_paeth_1byte_pixel"].apply(null,arguments)};var _png_read_filter_row_paeth_multibyte_pixel=Module["_png_read_filter_row_paeth_multibyte_pixel"]=function(){return Module["asm"]["_png_read_filter_row_paeth_multibyte_pixel"].apply(null,arguments)};var _png_read_filter_row_sub=Module["_png_read_filter_row_sub"]=function(){return Module["asm"]["_png_read_filter_row_sub"].apply(null,arguments)};var _png_read_filter_row_up=Module["_png_read_filter_row_up"]=function(){return Module["asm"]["_png_read_filter_row_up"].apply(null,arguments)};var _png_read_finish_IDAT=Module["_png_read_finish_IDAT"]=function(){return Module["asm"]["_png_read_finish_IDAT"].apply(null,arguments)};var _png_read_finish_row=Module["_png_read_finish_row"]=function(){return Module["asm"]["_png_read_finish_row"].apply(null,arguments)};var _png_read_image=Module["_png_read_image"]=function(){return Module["asm"]["_png_read_image"].apply(null,arguments)};var _png_read_info=Module["_png_read_info"]=function(){return Module["asm"]["_png_read_info"].apply(null,arguments)};var _png_read_png=Module["_png_read_png"]=function(){return Module["asm"]["_png_read_png"].apply(null,arguments)};var _png_read_push_finish_row=Module["_png_read_push_finish_row"]=function(){return Module["asm"]["_png_read_push_finish_row"].apply(null,arguments)};var _png_read_row=Module["_png_read_row"]=function(){return Module["asm"]["_png_read_row"].apply(null,arguments)};var _png_read_rows=Module["_png_read_rows"]=function(){return Module["asm"]["_png_read_rows"].apply(null,arguments)};var _png_read_sig=Module["_png_read_sig"]=function(){return Module["asm"]["_png_read_sig"].apply(null,arguments)};var _png_read_start_row=Module["_png_read_start_row"]=function(){return Module["asm"]["_png_read_start_row"].apply(null,arguments)};var _png_read_transform_info=Module["_png_read_transform_info"]=function(){return Module["asm"]["_png_read_transform_info"].apply(null,arguments)};var _png_read_update_info=Module["_png_read_update_info"]=function(){return Module["asm"]["_png_read_update_info"].apply(null,arguments)};var _png_realloc_array=Module["_png_realloc_array"]=function(){return Module["asm"]["_png_realloc_array"].apply(null,arguments)};var _png_reciprocal=Module["_png_reciprocal"]=function(){return Module["asm"]["_png_reciprocal"].apply(null,arguments)};var _png_reciprocal2=Module["_png_reciprocal2"]=function(){return Module["asm"]["_png_reciprocal2"].apply(null,arguments)};var _png_reset_crc=Module["_png_reset_crc"]=function(){return Module["asm"]["_png_reset_crc"].apply(null,arguments)};var _png_reset_zstream=Module["_png_reset_zstream"]=function(){return Module["asm"]["_png_reset_zstream"].apply(null,arguments)};var _png_safe_error=Module["_png_safe_error"]=function(){return Module["asm"]["_png_safe_error"].apply(null,arguments)};var _png_safe_execute=Module["_png_safe_execute"]=function(){return Module["asm"]["_png_safe_execute"].apply(null,arguments)};var _png_safe_warning=Module["_png_safe_warning"]=function(){return Module["asm"]["_png_safe_warning"].apply(null,arguments)};var _png_safecat=Module["_png_safecat"]=function(){return Module["asm"]["_png_safecat"].apply(null,arguments)};var _png_save_int_32=Module["_png_save_int_32"]=function(){return Module["asm"]["_png_save_int_32"].apply(null,arguments)};var _png_save_uint_16=Module["_png_save_uint_16"]=function(){return Module["asm"]["_png_save_uint_16"].apply(null,arguments)};var _png_save_uint_32=Module["_png_save_uint_32"]=function(){return Module["asm"]["_png_save_uint_32"].apply(null,arguments)};var _png_set_IHDR=Module["_png_set_IHDR"]=function(){return Module["asm"]["_png_set_IHDR"].apply(null,arguments)};var _png_set_PLTE=Module["_png_set_PLTE"]=function(){return Module["asm"]["_png_set_PLTE"].apply(null,arguments)};var _png_set_add_alpha=Module["_png_set_add_alpha"]=function(){return Module["asm"]["_png_set_add_alpha"].apply(null,arguments)};var _png_set_alpha_mode=Module["_png_set_alpha_mode"]=function(){return Module["asm"]["_png_set_alpha_mode"].apply(null,arguments)};var _png_set_alpha_mode_fixed=Module["_png_set_alpha_mode_fixed"]=function(){return Module["asm"]["_png_set_alpha_mode_fixed"].apply(null,arguments)};var _png_set_bKGD=Module["_png_set_bKGD"]=function(){return Module["asm"]["_png_set_bKGD"].apply(null,arguments)};var _png_set_background=Module["_png_set_background"]=function(){return Module["asm"]["_png_set_background"].apply(null,arguments)};var _png_set_background_fixed=Module["_png_set_background_fixed"]=function(){return Module["asm"]["_png_set_background_fixed"].apply(null,arguments)};var _png_set_benign_errors=Module["_png_set_benign_errors"]=function(){return Module["asm"]["_png_set_benign_errors"].apply(null,arguments)};var _png_set_bgr=Module["_png_set_bgr"]=function(){return Module["asm"]["_png_set_bgr"].apply(null,arguments)};var _png_set_cHRM=Module["_png_set_cHRM"]=function(){return Module["asm"]["_png_set_cHRM"].apply(null,arguments)};var _png_set_cHRM_XYZ=Module["_png_set_cHRM_XYZ"]=function(){return Module["asm"]["_png_set_cHRM_XYZ"].apply(null,arguments)};var _png_set_cHRM_XYZ_fixed=Module["_png_set_cHRM_XYZ_fixed"]=function(){return Module["asm"]["_png_set_cHRM_XYZ_fixed"].apply(null,arguments)};var _png_set_cHRM_fixed=Module["_png_set_cHRM_fixed"]=function(){return Module["asm"]["_png_set_cHRM_fixed"].apply(null,arguments)};var _png_set_check_for_invalid_index=Module["_png_set_check_for_invalid_index"]=function(){return Module["asm"]["_png_set_check_for_invalid_index"].apply(null,arguments)};var _png_set_chunk_cache_max=Module["_png_set_chunk_cache_max"]=function(){return Module["asm"]["_png_set_chunk_cache_max"].apply(null,arguments)};var _png_set_chunk_malloc_max=Module["_png_set_chunk_malloc_max"]=function(){return Module["asm"]["_png_set_chunk_malloc_max"].apply(null,arguments)};var _png_set_compression_buffer_size=Module["_png_set_compression_buffer_size"]=function(){return Module["asm"]["_png_set_compression_buffer_size"].apply(null,arguments)};var _png_set_compression_level=Module["_png_set_compression_level"]=function(){return Module["asm"]["_png_set_compression_level"].apply(null,arguments)};var _png_set_compression_mem_level=Module["_png_set_compression_mem_level"]=function(){return Module["asm"]["_png_set_compression_mem_level"].apply(null,arguments)};var _png_set_compression_method=Module["_png_set_compression_method"]=function(){return Module["asm"]["_png_set_compression_method"].apply(null,arguments)};var _png_set_compression_strategy=Module["_png_set_compression_strategy"]=function(){return Module["asm"]["_png_set_compression_strategy"].apply(null,arguments)};var _png_set_compression_window_bits=Module["_png_set_compression_window_bits"]=function(){return Module["asm"]["_png_set_compression_window_bits"].apply(null,arguments)};var _png_set_crc_action=Module["_png_set_crc_action"]=function(){return Module["asm"]["_png_set_crc_action"].apply(null,arguments)};var _png_set_error_fn=Module["_png_set_error_fn"]=function(){return Module["asm"]["_png_set_error_fn"].apply(null,arguments)};var _png_set_expand=Module["_png_set_expand"]=function(){return Module["asm"]["_png_set_expand"].apply(null,arguments)};var _png_set_expand_16=Module["_png_set_expand_16"]=function(){return Module["asm"]["_png_set_expand_16"].apply(null,arguments)};var _png_set_expand_gray_1_2_4_to_8=Module["_png_set_expand_gray_1_2_4_to_8"]=function(){return Module["asm"]["_png_set_expand_gray_1_2_4_to_8"].apply(null,arguments)};var _png_set_filler=Module["_png_set_filler"]=function(){return Module["asm"]["_png_set_filler"].apply(null,arguments)};var _png_set_filter=Module["_png_set_filter"]=function(){return Module["asm"]["_png_set_filter"].apply(null,arguments)};var _png_set_filter_heuristics=Module["_png_set_filter_heuristics"]=function(){return Module["asm"]["_png_set_filter_heuristics"].apply(null,arguments)};var _png_set_filter_heuristics_fixed=Module["_png_set_filter_heuristics_fixed"]=function(){return Module["asm"]["_png_set_filter_heuristics_fixed"].apply(null,arguments)};var _png_set_flush=Module["_png_set_flush"]=function(){return Module["asm"]["_png_set_flush"].apply(null,arguments)};var _png_set_gAMA=Module["_png_set_gAMA"]=function(){return Module["asm"]["_png_set_gAMA"].apply(null,arguments)};var _png_set_gAMA_fixed=Module["_png_set_gAMA_fixed"]=function(){return Module["asm"]["_png_set_gAMA_fixed"].apply(null,arguments)};var _png_set_gamma=Module["_png_set_gamma"]=function(){return Module["asm"]["_png_set_gamma"].apply(null,arguments)};var _png_set_gamma_fixed=Module["_png_set_gamma_fixed"]=function(){return Module["asm"]["_png_set_gamma_fixed"].apply(null,arguments)};var _png_set_gray_to_rgb=Module["_png_set_gray_to_rgb"]=function(){return Module["asm"]["_png_set_gray_to_rgb"].apply(null,arguments)};var _png_set_hIST=Module["_png_set_hIST"]=function(){return Module["asm"]["_png_set_hIST"].apply(null,arguments)};var _png_set_iCCP=Module["_png_set_iCCP"]=function(){return Module["asm"]["_png_set_iCCP"].apply(null,arguments)};var _png_set_interlace_handling=Module["_png_set_interlace_handling"]=function(){return Module["asm"]["_png_set_interlace_handling"].apply(null,arguments)};var _png_set_invalid=Module["_png_set_invalid"]=function(){return Module["asm"]["_png_set_invalid"].apply(null,arguments)};var _png_set_invert_alpha=Module["_png_set_invert_alpha"]=function(){return Module["asm"]["_png_set_invert_alpha"].apply(null,arguments)};var _png_set_invert_mono=Module["_png_set_invert_mono"]=function(){return Module["asm"]["_png_set_invert_mono"].apply(null,arguments)};var _png_set_keep_unknown_chunks=Module["_png_set_keep_unknown_chunks"]=function(){return Module["asm"]["_png_set_keep_unknown_chunks"].apply(null,arguments)};var _png_set_longjmp_fn=Module["_png_set_longjmp_fn"]=function(){return Module["asm"]["_png_set_longjmp_fn"].apply(null,arguments)};var _png_set_mem_fn=Module["_png_set_mem_fn"]=function(){return Module["asm"]["_png_set_mem_fn"].apply(null,arguments)};var _png_set_oFFs=Module["_png_set_oFFs"]=function(){return Module["asm"]["_png_set_oFFs"].apply(null,arguments)};var _png_set_option=Module["_png_set_option"]=function(){return Module["asm"]["_png_set_option"].apply(null,arguments)};var _png_set_pCAL=Module["_png_set_pCAL"]=function(){return Module["asm"]["_png_set_pCAL"].apply(null,arguments)};var _png_set_pHYs=Module["_png_set_pHYs"]=function(){return Module["asm"]["_png_set_pHYs"].apply(null,arguments)};var _png_set_packing=Module["_png_set_packing"]=function(){return Module["asm"]["_png_set_packing"].apply(null,arguments)};var _png_set_packswap=Module["_png_set_packswap"]=function(){return Module["asm"]["_png_set_packswap"].apply(null,arguments)};var _png_set_palette_to_rgb=Module["_png_set_palette_to_rgb"]=function(){return Module["asm"]["_png_set_palette_to_rgb"].apply(null,arguments)};var _png_set_progressive_read_fn=Module["_png_set_progressive_read_fn"]=function(){return Module["asm"]["_png_set_progressive_read_fn"].apply(null,arguments)};var _png_set_quantize=Module["_png_set_quantize"]=function(){return Module["asm"]["_png_set_quantize"].apply(null,arguments)};var _png_set_read_fn=Module["_png_set_read_fn"]=function(){return Module["asm"]["_png_set_read_fn"].apply(null,arguments)};var _png_set_read_status_fn=Module["_png_set_read_status_fn"]=function(){return Module["asm"]["_png_set_read_status_fn"].apply(null,arguments)};var _png_set_read_user_chunk_fn=Module["_png_set_read_user_chunk_fn"]=function(){return Module["asm"]["_png_set_read_user_chunk_fn"].apply(null,arguments)};var _png_set_read_user_transform_fn=Module["_png_set_read_user_transform_fn"]=function(){return Module["asm"]["_png_set_read_user_transform_fn"].apply(null,arguments)};var _png_set_rgb_to_gray=Module["_png_set_rgb_to_gray"]=function(){return Module["asm"]["_png_set_rgb_to_gray"].apply(null,arguments)};var _png_set_rgb_to_gray_fixed=Module["_png_set_rgb_to_gray_fixed"]=function(){return Module["asm"]["_png_set_rgb_to_gray_fixed"].apply(null,arguments)};var _png_set_rows=Module["_png_set_rows"]=function(){return Module["asm"]["_png_set_rows"].apply(null,arguments)};var _png_set_sBIT=Module["_png_set_sBIT"]=function(){return Module["asm"]["_png_set_sBIT"].apply(null,arguments)};var _png_set_sCAL=Module["_png_set_sCAL"]=function(){return Module["asm"]["_png_set_sCAL"].apply(null,arguments)};var _png_set_sCAL_fixed=Module["_png_set_sCAL_fixed"]=function(){return Module["asm"]["_png_set_sCAL_fixed"].apply(null,arguments)};var _png_set_sCAL_s=Module["_png_set_sCAL_s"]=function(){return Module["asm"]["_png_set_sCAL_s"].apply(null,arguments)};var _png_set_sPLT=Module["_png_set_sPLT"]=function(){return Module["asm"]["_png_set_sPLT"].apply(null,arguments)};var _png_set_sRGB=Module["_png_set_sRGB"]=function(){return Module["asm"]["_png_set_sRGB"].apply(null,arguments)};var _png_set_sRGB_gAMA_and_cHRM=Module["_png_set_sRGB_gAMA_and_cHRM"]=function(){return Module["asm"]["_png_set_sRGB_gAMA_and_cHRM"].apply(null,arguments)};var _png_set_scale_16=Module["_png_set_scale_16"]=function(){return Module["asm"]["_png_set_scale_16"].apply(null,arguments)};var _png_set_shift=Module["_png_set_shift"]=function(){return Module["asm"]["_png_set_shift"].apply(null,arguments)};var _png_set_sig_bytes=Module["_png_set_sig_bytes"]=function(){return Module["asm"]["_png_set_sig_bytes"].apply(null,arguments)};var _png_set_strip_16=Module["_png_set_strip_16"]=function(){return Module["asm"]["_png_set_strip_16"].apply(null,arguments)};var _png_set_strip_alpha=Module["_png_set_strip_alpha"]=function(){return Module["asm"]["_png_set_strip_alpha"].apply(null,arguments)};var _png_set_swap=Module["_png_set_swap"]=function(){return Module["asm"]["_png_set_swap"].apply(null,arguments)};var _png_set_swap_alpha=Module["_png_set_swap_alpha"]=function(){return Module["asm"]["_png_set_swap_alpha"].apply(null,arguments)};var _png_set_tIME=Module["_png_set_tIME"]=function(){return Module["asm"]["_png_set_tIME"].apply(null,arguments)};var _png_set_tRNS=Module["_png_set_tRNS"]=function(){return Module["asm"]["_png_set_tRNS"].apply(null,arguments)};var _png_set_tRNS_to_alpha=Module["_png_set_tRNS_to_alpha"]=function(){return Module["asm"]["_png_set_tRNS_to_alpha"].apply(null,arguments)};var _png_set_text=Module["_png_set_text"]=function(){return Module["asm"]["_png_set_text"].apply(null,arguments)};var _png_set_text_2=Module["_png_set_text_2"]=function(){return Module["asm"]["_png_set_text_2"].apply(null,arguments)};var _png_set_text_compression_level=Module["_png_set_text_compression_level"]=function(){return Module["asm"]["_png_set_text_compression_level"].apply(null,arguments)};var _png_set_text_compression_mem_level=Module["_png_set_text_compression_mem_level"]=function(){return Module["asm"]["_png_set_text_compression_mem_level"].apply(null,arguments)};var _png_set_text_compression_method=Module["_png_set_text_compression_method"]=function(){return Module["asm"]["_png_set_text_compression_method"].apply(null,arguments)};var _png_set_text_compression_strategy=Module["_png_set_text_compression_strategy"]=function(){return Module["asm"]["_png_set_text_compression_strategy"].apply(null,arguments)};var _png_set_text_compression_window_bits=Module["_png_set_text_compression_window_bits"]=function(){return Module["asm"]["_png_set_text_compression_window_bits"].apply(null,arguments)};var _png_set_unknown_chunk_location=Module["_png_set_unknown_chunk_location"]=function(){return Module["asm"]["_png_set_unknown_chunk_location"].apply(null,arguments)};var _png_set_unknown_chunks=Module["_png_set_unknown_chunks"]=function(){return Module["asm"]["_png_set_unknown_chunks"].apply(null,arguments)};var _png_set_user_limits=Module["_png_set_user_limits"]=function(){return Module["asm"]["_png_set_user_limits"].apply(null,arguments)};var _png_set_user_transform_info=Module["_png_set_user_transform_info"]=function(){return Module["asm"]["_png_set_user_transform_info"].apply(null,arguments)};var _png_set_write_fn=Module["_png_set_write_fn"]=function(){return Module["asm"]["_png_set_write_fn"].apply(null,arguments)};var _png_set_write_status_fn=Module["_png_set_write_status_fn"]=function(){return Module["asm"]["_png_set_write_status_fn"].apply(null,arguments)};var _png_set_write_user_transform_fn=Module["_png_set_write_user_transform_fn"]=function(){return Module["asm"]["_png_set_write_user_transform_fn"].apply(null,arguments)};var _png_sig_cmp=Module["_png_sig_cmp"]=function(){return Module["asm"]["_png_sig_cmp"].apply(null,arguments)};var _png_start_read_image=Module["_png_start_read_image"]=function(){return Module["asm"]["_png_start_read_image"].apply(null,arguments)};var _png_text_compress=Module["_png_text_compress"]=function(){return Module["asm"]["_png_text_compress"].apply(null,arguments)};var _png_user_version_check=Module["_png_user_version_check"]=function(){return Module["asm"]["_png_user_version_check"].apply(null,arguments)};var _png_warning=Module["_png_warning"]=function(){return Module["asm"]["_png_warning"].apply(null,arguments)};var _png_warning_parameter=Module["_png_warning_parameter"]=function(){return Module["asm"]["_png_warning_parameter"].apply(null,arguments)};var _png_warning_parameter_signed=Module["_png_warning_parameter_signed"]=function(){return Module["asm"]["_png_warning_parameter_signed"].apply(null,arguments)};var _png_warning_parameter_unsigned=Module["_png_warning_parameter_unsigned"]=function(){return Module["asm"]["_png_warning_parameter_unsigned"].apply(null,arguments)};var _png_write_IEND=Module["_png_write_IEND"]=function(){return Module["asm"]["_png_write_IEND"].apply(null,arguments)};var _png_write_IHDR=Module["_png_write_IHDR"]=function(){return Module["asm"]["_png_write_IHDR"].apply(null,arguments)};var _png_write_PLTE=Module["_png_write_PLTE"]=function(){return Module["asm"]["_png_write_PLTE"].apply(null,arguments)};var _png_write_bKGD=Module["_png_write_bKGD"]=function(){return Module["asm"]["_png_write_bKGD"].apply(null,arguments)};var _png_write_cHRM_fixed=Module["_png_write_cHRM_fixed"]=function(){return Module["asm"]["_png_write_cHRM_fixed"].apply(null,arguments)};var _png_write_chunk=Module["_png_write_chunk"]=function(){return Module["asm"]["_png_write_chunk"].apply(null,arguments)};var _png_write_chunk_data=Module["_png_write_chunk_data"]=function(){return Module["asm"]["_png_write_chunk_data"].apply(null,arguments)};var _png_write_chunk_end=Module["_png_write_chunk_end"]=function(){return Module["asm"]["_png_write_chunk_end"].apply(null,arguments)};var _png_write_chunk_start=Module["_png_write_chunk_start"]=function(){return Module["asm"]["_png_write_chunk_start"].apply(null,arguments)};var _png_write_data=Module["_png_write_data"]=function(){return Module["asm"]["_png_write_data"].apply(null,arguments)};var _png_write_end=Module["_png_write_end"]=function(){return Module["asm"]["_png_write_end"].apply(null,arguments)};var _png_write_find_filter=Module["_png_write_find_filter"]=function(){return Module["asm"]["_png_write_find_filter"].apply(null,arguments)};var _png_write_finish_row=Module["_png_write_finish_row"]=function(){return Module["asm"]["_png_write_finish_row"].apply(null,arguments)};var _png_write_flush=Module["_png_write_flush"]=function(){return Module["asm"]["_png_write_flush"].apply(null,arguments)};var _png_write_gAMA_fixed=Module["_png_write_gAMA_fixed"]=function(){return Module["asm"]["_png_write_gAMA_fixed"].apply(null,arguments)};var _png_write_hIST=Module["_png_write_hIST"]=function(){return Module["asm"]["_png_write_hIST"].apply(null,arguments)};var _png_write_iCCP=Module["_png_write_iCCP"]=function(){return Module["asm"]["_png_write_iCCP"].apply(null,arguments)};var _png_write_iTXt=Module["_png_write_iTXt"]=function(){return Module["asm"]["_png_write_iTXt"].apply(null,arguments)};var _png_write_image=Module["_png_write_image"]=function(){return Module["asm"]["_png_write_image"].apply(null,arguments)};var _png_write_image_16bit=Module["_png_write_image_16bit"]=function(){return Module["asm"]["_png_write_image_16bit"].apply(null,arguments)};var _png_write_image_8bit=Module["_png_write_image_8bit"]=function(){return Module["asm"]["_png_write_image_8bit"].apply(null,arguments)};var _png_write_info=Module["_png_write_info"]=function(){return Module["asm"]["_png_write_info"].apply(null,arguments)};var _png_write_info_before_PLTE=Module["_png_write_info_before_PLTE"]=function(){return Module["asm"]["_png_write_info_before_PLTE"].apply(null,arguments)};var _png_write_oFFs=Module["_png_write_oFFs"]=function(){return Module["asm"]["_png_write_oFFs"].apply(null,arguments)};var _png_write_pCAL=Module["_png_write_pCAL"]=function(){return Module["asm"]["_png_write_pCAL"].apply(null,arguments)};var _png_write_pHYs=Module["_png_write_pHYs"]=function(){return Module["asm"]["_png_write_pHYs"].apply(null,arguments)};var _png_write_png=Module["_png_write_png"]=function(){return Module["asm"]["_png_write_png"].apply(null,arguments)};var _png_write_row=Module["_png_write_row"]=function(){return Module["asm"]["_png_write_row"].apply(null,arguments)};var _png_write_rows=Module["_png_write_rows"]=function(){return Module["asm"]["_png_write_rows"].apply(null,arguments)};var _png_write_sBIT=Module["_png_write_sBIT"]=function(){return Module["asm"]["_png_write_sBIT"].apply(null,arguments)};var _png_write_sCAL_s=Module["_png_write_sCAL_s"]=function(){return Module["asm"]["_png_write_sCAL_s"].apply(null,arguments)};var _png_write_sPLT=Module["_png_write_sPLT"]=function(){return Module["asm"]["_png_write_sPLT"].apply(null,arguments)};var _png_write_sRGB=Module["_png_write_sRGB"]=function(){return Module["asm"]["_png_write_sRGB"].apply(null,arguments)};var _png_write_sig=Module["_png_write_sig"]=function(){return Module["asm"]["_png_write_sig"].apply(null,arguments)};var _png_write_start_row=Module["_png_write_start_row"]=function(){return Module["asm"]["_png_write_start_row"].apply(null,arguments)};var _png_write_tEXt=Module["_png_write_tEXt"]=function(){return Module["asm"]["_png_write_tEXt"].apply(null,arguments)};var _png_write_tIME=Module["_png_write_tIME"]=function(){return Module["asm"]["_png_write_tIME"].apply(null,arguments)};var _png_write_tRNS=Module["_png_write_tRNS"]=function(){return Module["asm"]["_png_write_tRNS"].apply(null,arguments)};var _png_write_zTXt=Module["_png_write_zTXt"]=function(){return Module["asm"]["_png_write_zTXt"].apply(null,arguments)};var _png_xy_from_XYZ=Module["_png_xy_from_XYZ"]=function(){return Module["asm"]["_png_xy_from_XYZ"].apply(null,arguments)};var _png_zalloc=Module["_png_zalloc"]=function(){return Module["asm"]["_png_zalloc"].apply(null,arguments)};var _png_zfree=Module["_png_zfree"]=function(){return Module["asm"]["_png_zfree"].apply(null,arguments)};var _png_zstream_error=Module["_png_zstream_error"]=function(){return Module["asm"]["_png_zstream_error"].apply(null,arguments)};var _pntz=Module["_pntz"]=function(){return Module["asm"]["_pntz"].apply(null,arguments)};var _policyof=Module["_policyof"]=function(){return Module["asm"]["_policyof"].apply(null,arguments)};var _poll=Module["_poll"]=function(){return Module["asm"]["_poll"].apply(null,arguments)};var _poll_dealloc=Module["_poll_dealloc"]=function(){return Module["asm"]["_poll_dealloc"].apply(null,arguments)};var _poll_modify=Module["_poll_modify"]=function(){return Module["asm"]["_poll_modify"].apply(null,arguments)};var _poll_poll=Module["_poll_poll"]=function(){return Module["asm"]["_poll_poll"].apply(null,arguments)};var _poll_register=Module["_poll_register"]=function(){return Module["asm"]["_poll_register"].apply(null,arguments)};var _poll_unregister=Module["_poll_unregister"]=function(){return Module["asm"]["_poll_unregister"].apply(null,arguments)};var _pone=Module["_pone"]=function(){return Module["asm"]["_pone"].apply(null,arguments)};var _ponef=Module["_ponef"]=function(){return Module["asm"]["_ponef"].apply(null,arguments)};var _poolGrow=Module["_poolGrow"]=function(){return Module["asm"]["_poolGrow"].apply(null,arguments)};var _pop_arg=Module["_pop_arg"]=function(){return Module["asm"]["_pop_arg"].apply(null,arguments)};var _pop_arg_701=Module["_pop_arg_701"]=function(){return Module["asm"]["_pop_arg_701"].apply(null,arguments)};var _populateCellCache=Module["_populateCellCache"]=function(){return Module["asm"]["_populateCellCache"].apply(null,arguments)};var _portable_lseek=Module["_portable_lseek"]=function(){return Module["asm"]["_portable_lseek"].apply(null,arguments)};var _porterClose=Module["_porterClose"]=function(){return Module["asm"]["_porterClose"].apply(null,arguments)};var _porterCreate=Module["_porterCreate"]=function(){return Module["asm"]["_porterCreate"].apply(null,arguments)};var _porterDestroy=Module["_porterDestroy"]=function(){return Module["asm"]["_porterDestroy"].apply(null,arguments)};var _porterNext=Module["_porterNext"]=function(){return Module["asm"]["_porterNext"].apply(null,arguments)};var _porterOpen=Module["_porterOpen"]=function(){return Module["asm"]["_porterOpen"].apply(null,arguments)};var _porter_stemmer=Module["_porter_stemmer"]=function(){return Module["asm"]["_porter_stemmer"].apply(null,arguments)};var _posixIoFinderImpl=Module["_posixIoFinderImpl"]=function(){return Module["asm"]["_posixIoFinderImpl"].apply(null,arguments)};var _posixOpen=Module["_posixOpen"]=function(){return Module["asm"]["_posixOpen"].apply(null,arguments)};var _posixUnlock=Module["_posixUnlock"]=function(){return Module["asm"]["_posixUnlock"].apply(null,arguments)};var _posix_close=Module["_posix_close"]=function(){return Module["asm"]["_posix_close"].apply(null,arguments)};var _posix_do_stat=Module["_posix_do_stat"]=function(){return Module["asm"]["_posix_do_stat"].apply(null,arguments)};var _posix_fadvise=Module["_posix_fadvise"]=function(){return Module["asm"]["_posix_fadvise"].apply(null,arguments)};var _posix_fallocate=Module["_posix_fallocate"]=function(){return Module["asm"]["_posix_fallocate"].apply(null,arguments)};var _posix_get_blocking=Module["_posix_get_blocking"]=function(){return Module["asm"]["_posix_get_blocking"].apply(null,arguments)};var _posix_getcwd=Module["_posix_getcwd"]=function(){return Module["asm"]["_posix_getcwd"].apply(null,arguments)};var _posix_madvise=Module["_posix_madvise"]=function(){return Module["asm"]["_posix_madvise"].apply(null,arguments)};var _posix_memalign=Module["_posix_memalign"]=function(){return Module["asm"]["_posix_memalign"].apply(null,arguments)};var _posix_openpt=Module["_posix_openpt"]=function(){return Module["asm"]["_posix_openpt"].apply(null,arguments)};var _posix_readlink=Module["_posix_readlink"]=function(){return Module["asm"]["_posix_readlink"].apply(null,arguments)};var _posix_set_blocking=Module["_posix_set_blocking"]=function(){return Module["asm"]["_posix_set_blocking"].apply(null,arguments)};var _pow=Module["_pow"]=function(){return Module["asm"]["_pow"].apply(null,arguments)};var _pow5mult=Module["_pow5mult"]=function(){return Module["asm"]["_pow5mult"].apply(null,arguments)};var _powf=Module["_powf"]=function(){return Module["asm"]["_powf"].apply(null,arguments)};var _powl=Module["_powl"]=function(){return Module["asm"]["_powl"].apply(null,arguments)};var _pragmaLocate=Module["_pragmaLocate"]=function(){return Module["asm"]["_pragmaLocate"].apply(null,arguments)};var _pragmaVtabBestIndex=Module["_pragmaVtabBestIndex"]=function(){return Module["asm"]["_pragmaVtabBestIndex"].apply(null,arguments)};var _pragmaVtabClose=Module["_pragmaVtabClose"]=function(){return Module["asm"]["_pragmaVtabClose"].apply(null,arguments)};var _pragmaVtabColumn=Module["_pragmaVtabColumn"]=function(){return Module["asm"]["_pragmaVtabColumn"].apply(null,arguments)};var _pragmaVtabConnect=Module["_pragmaVtabConnect"]=function(){return Module["asm"]["_pragmaVtabConnect"].apply(null,arguments)};var _pragmaVtabCursorClear=Module["_pragmaVtabCursorClear"]=function(){return Module["asm"]["_pragmaVtabCursorClear"].apply(null,arguments)};var _pragmaVtabDisconnect=Module["_pragmaVtabDisconnect"]=function(){return Module["asm"]["_pragmaVtabDisconnect"].apply(null,arguments)};var _pragmaVtabEof=Module["_pragmaVtabEof"]=function(){return Module["asm"]["_pragmaVtabEof"].apply(null,arguments)};var _pragmaVtabFilter=Module["_pragmaVtabFilter"]=function(){return Module["asm"]["_pragmaVtabFilter"].apply(null,arguments)};var _pragmaVtabNext=Module["_pragmaVtabNext"]=function(){return Module["asm"]["_pragmaVtabNext"].apply(null,arguments)};var _pragmaVtabOpen=Module["_pragmaVtabOpen"]=function(){return Module["asm"]["_pragmaVtabOpen"].apply(null,arguments)};var _pragmaVtabRowid=Module["_pragmaVtabRowid"]=function(){return Module["asm"]["_pragmaVtabRowid"].apply(null,arguments)};var _pread=Module["_pread"]=function(){return Module["asm"]["_pread"].apply(null,arguments)};var _preadv=Module["_preadv"]=function(){return Module["asm"]["_preadv"].apply(null,arguments)};var _prefixmatch=Module["_prefixmatch"]=function(){return Module["asm"]["_prefixmatch"].apply(null,arguments)};var _print_exception_recursive=Module["_print_exception_recursive"]=function(){return Module["asm"]["_print_exception_recursive"].apply(null,arguments)};var _printf=Module["_printf"]=function(){return Module["asm"]["_printf"].apply(null,arguments)};var _printfFunc=Module["_printfFunc"]=function(){return Module["asm"]["_printfFunc"].apply(null,arguments)};var _printfTempBuf=Module["_printfTempBuf"]=function(){return Module["asm"]["_printfTempBuf"].apply(null,arguments)};var _printf_core=Module["_printf_core"]=function(){return Module["asm"]["_printf_core"].apply(null,arguments)};var _printssdfa=Module["_printssdfa"]=function(){return Module["asm"]["_printssdfa"].apply(null,arguments)};var _processInternalEntity=Module["_processInternalEntity"]=function(){return Module["asm"]["_processInternalEntity"].apply(null,arguments)};var _processXmlDecl=Module["_processXmlDecl"]=function(){return Module["asm"]["_processXmlDecl"].apply(null,arguments)};var _processblock=Module["_processblock"]=function(){return Module["asm"]["_processblock"].apply(null,arguments)};var _processblock_42=Module["_processblock_42"]=function(){return Module["asm"]["_processblock_42"].apply(null,arguments)};var _processblock_60=Module["_processblock_60"]=function(){return Module["asm"]["_processblock_60"].apply(null,arguments)};var _product_dealloc=Module["_product_dealloc"]=function(){return Module["asm"]["_product_dealloc"].apply(null,arguments)};var _product_new=Module["_product_new"]=function(){return Module["asm"]["_product_new"].apply(null,arguments)};var _product_next=Module["_product_next"]=function(){return Module["asm"]["_product_next"].apply(null,arguments)};var _product_reduce=Module["_product_reduce"]=function(){return Module["asm"]["_product_reduce"].apply(null,arguments)};var _product_setstate=Module["_product_setstate"]=function(){return Module["asm"]["_product_setstate"].apply(null,arguments)};var _product_sizeof=Module["_product_sizeof"]=function(){return Module["asm"]["_product_sizeof"].apply(null,arguments)};var _product_traverse=Module["_product_traverse"]=function(){return Module["asm"]["_product_traverse"].apply(null,arguments)};var _profile_trampoline=Module["_profile_trampoline"]=function(){return Module["asm"]["_profile_trampoline"].apply(null,arguments)};var _profiler_callback=Module["_profiler_callback"]=function(){return Module["asm"]["_profiler_callback"].apply(null,arguments)};var _profiler_clear=Module["_profiler_clear"]=function(){return Module["asm"]["_profiler_clear"].apply(null,arguments)};var _profiler_dealloc=Module["_profiler_dealloc"]=function(){return Module["asm"]["_profiler_dealloc"].apply(null,arguments)};var _profiler_disable=Module["_profiler_disable"]=function(){return Module["asm"]["_profiler_disable"].apply(null,arguments)};var _profiler_enable=Module["_profiler_enable"]=function(){return Module["asm"]["_profiler_enable"].apply(null,arguments)};var _profiler_getstats=Module["_profiler_getstats"]=function(){return Module["asm"]["_profiler_getstats"].apply(null,arguments)};var _profiler_init=Module["_profiler_init"]=function(){return Module["asm"]["_profiler_init"].apply(null,arguments)};var _prolog0=Module["_prolog0"]=function(){return Module["asm"]["_prolog0"].apply(null,arguments)};var _prolog1=Module["_prolog1"]=function(){return Module["asm"]["_prolog1"].apply(null,arguments)};var _prolog2=Module["_prolog2"]=function(){return Module["asm"]["_prolog2"].apply(null,arguments)};var _prologInitProcessor=Module["_prologInitProcessor"]=function(){return Module["asm"]["_prologInitProcessor"].apply(null,arguments)};var _prologProcessor=Module["_prologProcessor"]=function(){return Module["asm"]["_prologProcessor"].apply(null,arguments)};var _propagateConstantExprRewrite=Module["_propagateConstantExprRewrite"]=function(){return Module["asm"]["_propagateConstantExprRewrite"].apply(null,arguments)};var _propagateConstants=Module["_propagateConstants"]=function(){return Module["asm"]["_propagateConstants"].apply(null,arguments)};var _property_clear=Module["_property_clear"]=function(){return Module["asm"]["_property_clear"].apply(null,arguments)};var _property_copy=Module["_property_copy"]=function(){return Module["asm"]["_property_copy"].apply(null,arguments)};var _property_dealloc=Module["_property_dealloc"]=function(){return Module["asm"]["_property_dealloc"].apply(null,arguments)};var _property_deleter=Module["_property_deleter"]=function(){return Module["asm"]["_property_deleter"].apply(null,arguments)};var _property_descr_get=Module["_property_descr_get"]=function(){return Module["asm"]["_property_descr_get"].apply(null,arguments)};var _property_descr_set=Module["_property_descr_set"]=function(){return Module["asm"]["_property_descr_set"].apply(null,arguments)};var _property_get___isabstractmethod__=Module["_property_get___isabstractmethod__"]=function(){return Module["asm"]["_property_get___isabstractmethod__"].apply(null,arguments)};var _property_getter=Module["_property_getter"]=function(){return Module["asm"]["_property_getter"].apply(null,arguments)};var _property_init=Module["_property_init"]=function(){return Module["asm"]["_property_init"].apply(null,arguments)};var _property_setter=Module["_property_setter"]=function(){return Module["asm"]["_property_setter"].apply(null,arguments)};var _property_traverse=Module["_property_traverse"]=function(){return Module["asm"]["_property_traverse"].apply(null,arguments)};var _proxy_abs=Module["_proxy_abs"]=function(){return Module["asm"]["_proxy_abs"].apply(null,arguments)};var _proxy_add=Module["_proxy_add"]=function(){return Module["asm"]["_proxy_add"].apply(null,arguments)};var _proxy_and=Module["_proxy_and"]=function(){return Module["asm"]["_proxy_and"].apply(null,arguments)};var _proxy_bool=Module["_proxy_bool"]=function(){return Module["asm"]["_proxy_bool"].apply(null,arguments)};var _proxy_bytes=Module["_proxy_bytes"]=function(){return Module["asm"]["_proxy_bytes"].apply(null,arguments)};var _proxy_call=Module["_proxy_call"]=function(){return Module["asm"]["_proxy_call"].apply(null,arguments)};var _proxy_contains=Module["_proxy_contains"]=function(){return Module["asm"]["_proxy_contains"].apply(null,arguments)};var _proxy_dealloc=Module["_proxy_dealloc"]=function(){return Module["asm"]["_proxy_dealloc"].apply(null,arguments)};var _proxy_divmod=Module["_proxy_divmod"]=function(){return Module["asm"]["_proxy_divmod"].apply(null,arguments)};var _proxy_float=Module["_proxy_float"]=function(){return Module["asm"]["_proxy_float"].apply(null,arguments)};var _proxy_floor_div=Module["_proxy_floor_div"]=function(){return Module["asm"]["_proxy_floor_div"].apply(null,arguments)};var _proxy_getattr=Module["_proxy_getattr"]=function(){return Module["asm"]["_proxy_getattr"].apply(null,arguments)};var _proxy_getitem=Module["_proxy_getitem"]=function(){return Module["asm"]["_proxy_getitem"].apply(null,arguments)};var _proxy_iadd=Module["_proxy_iadd"]=function(){return Module["asm"]["_proxy_iadd"].apply(null,arguments)};var _proxy_iand=Module["_proxy_iand"]=function(){return Module["asm"]["_proxy_iand"].apply(null,arguments)};var _proxy_ifloor_div=Module["_proxy_ifloor_div"]=function(){return Module["asm"]["_proxy_ifloor_div"].apply(null,arguments)};var _proxy_ilshift=Module["_proxy_ilshift"]=function(){return Module["asm"]["_proxy_ilshift"].apply(null,arguments)};var _proxy_imod=Module["_proxy_imod"]=function(){return Module["asm"]["_proxy_imod"].apply(null,arguments)};var _proxy_imul=Module["_proxy_imul"]=function(){return Module["asm"]["_proxy_imul"].apply(null,arguments)};var _proxy_index=Module["_proxy_index"]=function(){return Module["asm"]["_proxy_index"].apply(null,arguments)};var _proxy_int=Module["_proxy_int"]=function(){return Module["asm"]["_proxy_int"].apply(null,arguments)};var _proxy_invert=Module["_proxy_invert"]=function(){return Module["asm"]["_proxy_invert"].apply(null,arguments)};var _proxy_ior=Module["_proxy_ior"]=function(){return Module["asm"]["_proxy_ior"].apply(null,arguments)};var _proxy_ipow=Module["_proxy_ipow"]=function(){return Module["asm"]["_proxy_ipow"].apply(null,arguments)};var _proxy_irshift=Module["_proxy_irshift"]=function(){return Module["asm"]["_proxy_irshift"].apply(null,arguments)};var _proxy_isub=Module["_proxy_isub"]=function(){return Module["asm"]["_proxy_isub"].apply(null,arguments)};var _proxy_iter=Module["_proxy_iter"]=function(){return Module["asm"]["_proxy_iter"].apply(null,arguments)};var _proxy_iternext=Module["_proxy_iternext"]=function(){return Module["asm"]["_proxy_iternext"].apply(null,arguments)};var _proxy_itrue_div=Module["_proxy_itrue_div"]=function(){return Module["asm"]["_proxy_itrue_div"].apply(null,arguments)};var _proxy_ixor=Module["_proxy_ixor"]=function(){return Module["asm"]["_proxy_ixor"].apply(null,arguments)};var _proxy_length=Module["_proxy_length"]=function(){return Module["asm"]["_proxy_length"].apply(null,arguments)};var _proxy_lshift=Module["_proxy_lshift"]=function(){return Module["asm"]["_proxy_lshift"].apply(null,arguments)};var _proxy_mod=Module["_proxy_mod"]=function(){return Module["asm"]["_proxy_mod"].apply(null,arguments)};var _proxy_mul=Module["_proxy_mul"]=function(){return Module["asm"]["_proxy_mul"].apply(null,arguments)};var _proxy_neg=Module["_proxy_neg"]=function(){return Module["asm"]["_proxy_neg"].apply(null,arguments)};var _proxy_or=Module["_proxy_or"]=function(){return Module["asm"]["_proxy_or"].apply(null,arguments)};var _proxy_pos=Module["_proxy_pos"]=function(){return Module["asm"]["_proxy_pos"].apply(null,arguments)};var _proxy_pow=Module["_proxy_pow"]=function(){return Module["asm"]["_proxy_pow"].apply(null,arguments)};var _proxy_repr=Module["_proxy_repr"]=function(){return Module["asm"]["_proxy_repr"].apply(null,arguments)};var _proxy_richcompare=Module["_proxy_richcompare"]=function(){return Module["asm"]["_proxy_richcompare"].apply(null,arguments)};var _proxy_rshift=Module["_proxy_rshift"]=function(){return Module["asm"]["_proxy_rshift"].apply(null,arguments)};var _proxy_setattr=Module["_proxy_setattr"]=function(){return Module["asm"]["_proxy_setattr"].apply(null,arguments)};var _proxy_setitem=Module["_proxy_setitem"]=function(){return Module["asm"]["_proxy_setitem"].apply(null,arguments)};var _proxy_str=Module["_proxy_str"]=function(){return Module["asm"]["_proxy_str"].apply(null,arguments)};var _proxy_sub=Module["_proxy_sub"]=function(){return Module["asm"]["_proxy_sub"].apply(null,arguments)};var _proxy_true_div=Module["_proxy_true_div"]=function(){return Module["asm"]["_proxy_true_div"].apply(null,arguments)};var _proxy_xor=Module["_proxy_xor"]=function(){return Module["asm"]["_proxy_xor"].apply(null,arguments)};var _ps_dimension_add_t1stem=Module["_ps_dimension_add_t1stem"]=function(){return Module["asm"]["_ps_dimension_add_t1stem"].apply(null,arguments)};var _ps_dimension_done=Module["_ps_dimension_done"]=function(){return Module["asm"]["_ps_dimension_done"].apply(null,arguments)};var _ps_dimension_end=Module["_ps_dimension_end"]=function(){return Module["asm"]["_ps_dimension_end"].apply(null,arguments)};var _ps_dimension_set_mask_bits=Module["_ps_dimension_set_mask_bits"]=function(){return Module["asm"]["_ps_dimension_set_mask_bits"].apply(null,arguments)};var _ps_get_macintosh_name=Module["_ps_get_macintosh_name"]=function(){return Module["asm"]["_ps_get_macintosh_name"].apply(null,arguments)};var _ps_get_standard_strings=Module["_ps_get_standard_strings"]=function(){return Module["asm"]["_ps_get_standard_strings"].apply(null,arguments)};var _ps_hinter_done=Module["_ps_hinter_done"]=function(){return Module["asm"]["_ps_hinter_done"].apply(null,arguments)};var _ps_hinter_init=Module["_ps_hinter_init"]=function(){return Module["asm"]["_ps_hinter_init"].apply(null,arguments)};var _ps_hints_apply=Module["_ps_hints_apply"]=function(){return Module["asm"]["_ps_hints_apply"].apply(null,arguments)};var _ps_hints_close=Module["_ps_hints_close"]=function(){return Module["asm"]["_ps_hints_close"].apply(null,arguments)};var _ps_hints_t1reset=Module["_ps_hints_t1reset"]=function(){return Module["asm"]["_ps_hints_t1reset"].apply(null,arguments)};var _ps_hints_t1stem3=Module["_ps_hints_t1stem3"]=function(){return Module["asm"]["_ps_hints_t1stem3"].apply(null,arguments)};var _ps_hints_t2counter=Module["_ps_hints_t2counter"]=function(){return Module["asm"]["_ps_hints_t2counter"].apply(null,arguments)};var _ps_hints_t2mask=Module["_ps_hints_t2mask"]=function(){return Module["asm"]["_ps_hints_t2mask"].apply(null,arguments)};var _ps_parser_done=Module["_ps_parser_done"]=function(){return Module["asm"]["_ps_parser_done"].apply(null,arguments)};var _ps_parser_init=Module["_ps_parser_init"]=function(){return Module["asm"]["_ps_parser_init"].apply(null,arguments)};var _ps_parser_load_field=Module["_ps_parser_load_field"]=function(){return Module["asm"]["_ps_parser_load_field"].apply(null,arguments)};var _ps_parser_load_field_table=Module["_ps_parser_load_field_table"]=function(){return Module["asm"]["_ps_parser_load_field_table"].apply(null,arguments)};var _ps_parser_skip_PS_token=Module["_ps_parser_skip_PS_token"]=function(){return Module["asm"]["_ps_parser_skip_PS_token"].apply(null,arguments)};var _ps_parser_skip_spaces=Module["_ps_parser_skip_spaces"]=function(){return Module["asm"]["_ps_parser_skip_spaces"].apply(null,arguments)};var _ps_parser_to_bytes=Module["_ps_parser_to_bytes"]=function(){return Module["asm"]["_ps_parser_to_bytes"].apply(null,arguments)};var _ps_parser_to_coord_array=Module["_ps_parser_to_coord_array"]=function(){return Module["asm"]["_ps_parser_to_coord_array"].apply(null,arguments)};var _ps_parser_to_fixed=Module["_ps_parser_to_fixed"]=function(){return Module["asm"]["_ps_parser_to_fixed"].apply(null,arguments)};var _ps_parser_to_fixed_array=Module["_ps_parser_to_fixed_array"]=function(){return Module["asm"]["_ps_parser_to_fixed_array"].apply(null,arguments)};var _ps_parser_to_int=Module["_ps_parser_to_int"]=function(){return Module["asm"]["_ps_parser_to_int"].apply(null,arguments)};var _ps_parser_to_token=Module["_ps_parser_to_token"]=function(){return Module["asm"]["_ps_parser_to_token"].apply(null,arguments)};var _ps_parser_to_token_array=Module["_ps_parser_to_token_array"]=function(){return Module["asm"]["_ps_parser_to_token_array"].apply(null,arguments)};var _ps_table_add=Module["_ps_table_add"]=function(){return Module["asm"]["_ps_table_add"].apply(null,arguments)};var _ps_table_done=Module["_ps_table_done"]=function(){return Module["asm"]["_ps_table_done"].apply(null,arguments)};var _ps_table_new=Module["_ps_table_new"]=function(){return Module["asm"]["_ps_table_new"].apply(null,arguments)};var _ps_table_release=Module["_ps_table_release"]=function(){return Module["asm"]["_ps_table_release"].apply(null,arguments)};var _ps_tofixedarray=Module["_ps_tofixedarray"]=function(){return Module["asm"]["_ps_tofixedarray"].apply(null,arguments)};var _ps_unicode_value=Module["_ps_unicode_value"]=function(){return Module["asm"]["_ps_unicode_value"].apply(null,arguments)};var _ps_unicodes_char_index=Module["_ps_unicodes_char_index"]=function(){return Module["asm"]["_ps_unicodes_char_index"].apply(null,arguments)};var _ps_unicodes_char_next=Module["_ps_unicodes_char_next"]=function(){return Module["asm"]["_ps_unicodes_char_next"].apply(null,arguments)};var _ps_unicodes_init=Module["_ps_unicodes_init"]=function(){return Module["asm"]["_ps_unicodes_init"].apply(null,arguments)};var _psaux_get_glyph_name=Module["_psaux_get_glyph_name"]=function(){return Module["asm"]["_psaux_get_glyph_name"].apply(null,arguments)};var _pselect=Module["_pselect"]=function(){return Module["asm"]["_pselect"].apply(null,arguments)};var _psh_blues_set_zones=Module["_psh_blues_set_zones"]=function(){return Module["asm"]["_psh_blues_set_zones"].apply(null,arguments)};var _psh_globals_destroy=Module["_psh_globals_destroy"]=function(){return Module["asm"]["_psh_globals_destroy"].apply(null,arguments)};var _psh_globals_new=Module["_psh_globals_new"]=function(){return Module["asm"]["_psh_globals_new"].apply(null,arguments)};var _psh_globals_set_scale=Module["_psh_globals_set_scale"]=function(){return Module["asm"]["_psh_globals_set_scale"].apply(null,arguments)};var _psh_glyph_interpolate_normal_points=Module["_psh_glyph_interpolate_normal_points"]=function(){return Module["asm"]["_psh_glyph_interpolate_normal_points"].apply(null,arguments)};var _psh_glyph_interpolate_other_points=Module["_psh_glyph_interpolate_other_points"]=function(){return Module["asm"]["_psh_glyph_interpolate_other_points"].apply(null,arguments)};var _psh_glyph_interpolate_strong_points=Module["_psh_glyph_interpolate_strong_points"]=function(){return Module["asm"]["_psh_glyph_interpolate_strong_points"].apply(null,arguments)};var _psh_hint_align=Module["_psh_hint_align"]=function(){return Module["asm"]["_psh_hint_align"].apply(null,arguments)};var _psh_hint_table_activate_mask=Module["_psh_hint_table_activate_mask"]=function(){return Module["asm"]["_psh_hint_table_activate_mask"].apply(null,arguments)};var _psh_hint_table_find_strong_points=Module["_psh_hint_table_find_strong_points"]=function(){return Module["asm"]["_psh_hint_table_find_strong_points"].apply(null,arguments)};var _psh_hint_table_init=Module["_psh_hint_table_init"]=function(){return Module["asm"]["_psh_hint_table_init"].apply(null,arguments)};var _pshinter_get_globals_funcs=Module["_pshinter_get_globals_funcs"]=function(){return Module["asm"]["_pshinter_get_globals_funcs"].apply(null,arguments)};var _pshinter_get_t1_funcs=Module["_pshinter_get_t1_funcs"]=function(){return Module["asm"]["_pshinter_get_t1_funcs"].apply(null,arguments)};var _pshinter_get_t2_funcs=Module["_pshinter_get_t2_funcs"]=function(){return Module["asm"]["_pshinter_get_t2_funcs"].apply(null,arguments)};var _psnames_get_service=Module["_psnames_get_service"]=function(){return Module["asm"]["_psnames_get_service"].apply(null,arguments)};var _pthreadMutexAlloc=Module["_pthreadMutexAlloc"]=function(){return Module["asm"]["_pthreadMutexAlloc"].apply(null,arguments)};var _pthreadMutexEnd=Module["_pthreadMutexEnd"]=function(){return Module["asm"]["_pthreadMutexEnd"].apply(null,arguments)};var _pthreadMutexEnter=Module["_pthreadMutexEnter"]=function(){return Module["asm"]["_pthreadMutexEnter"].apply(null,arguments)};var _pthreadMutexFree=Module["_pthreadMutexFree"]=function(){return Module["asm"]["_pthreadMutexFree"].apply(null,arguments)};var _pthreadMutexInit=Module["_pthreadMutexInit"]=function(){return Module["asm"]["_pthreadMutexInit"].apply(null,arguments)};var _pthreadMutexLeave=Module["_pthreadMutexLeave"]=function(){return Module["asm"]["_pthreadMutexLeave"].apply(null,arguments)};var _pthreadMutexTry=Module["_pthreadMutexTry"]=function(){return Module["asm"]["_pthreadMutexTry"].apply(null,arguments)};var _pthread_barrier_destroy=Module["_pthread_barrier_destroy"]=function(){return Module["asm"]["_pthread_barrier_destroy"].apply(null,arguments)};var _pthread_barrier_init=Module["_pthread_barrier_init"]=function(){return Module["asm"]["_pthread_barrier_init"].apply(null,arguments)};var _pthread_barrier_wait=Module["_pthread_barrier_wait"]=function(){return Module["asm"]["_pthread_barrier_wait"].apply(null,arguments)};var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=function(){return Module["asm"]["_pthread_cond_broadcast"].apply(null,arguments)};var _pthread_getspecific=Module["_pthread_getspecific"]=function(){return Module["asm"]["_pthread_getspecific"].apply(null,arguments)};var _pthread_key_create=Module["_pthread_key_create"]=function(){return Module["asm"]["_pthread_key_create"].apply(null,arguments)};var _pthread_key_delete=Module["_pthread_key_delete"]=function(){return Module["asm"]["_pthread_key_delete"].apply(null,arguments)};var _pthread_mutex_consistent=Module["_pthread_mutex_consistent"]=function(){return Module["asm"]["_pthread_mutex_consistent"].apply(null,arguments)};var _pthread_mutex_destroy=Module["_pthread_mutex_destroy"]=function(){return Module["asm"]["_pthread_mutex_destroy"].apply(null,arguments)};var _pthread_mutex_init=Module["_pthread_mutex_init"]=function(){return Module["asm"]["_pthread_mutex_init"].apply(null,arguments)};var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=function(){return Module["asm"]["_pthread_mutex_lock"].apply(null,arguments)};var _pthread_mutex_timedlock=Module["_pthread_mutex_timedlock"]=function(){return Module["asm"]["_pthread_mutex_timedlock"].apply(null,arguments)};var _pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=function(){return Module["asm"]["_pthread_mutex_trylock"].apply(null,arguments)};var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=function(){return Module["asm"]["_pthread_mutex_unlock"].apply(null,arguments)};var _pthread_once=Module["_pthread_once"]=function(){return Module["asm"]["_pthread_once"].apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return Module["asm"]["_pthread_self"].apply(null,arguments)};var _pthread_setspecific=Module["_pthread_setspecific"]=function(){return Module["asm"]["_pthread_setspecific"].apply(null,arguments)};var _ptr_from_tuple=Module["_ptr_from_tuple"]=function(){return Module["asm"]["_ptr_from_tuple"].apply(null,arguments)};var _ptrace_enter_call=Module["_ptrace_enter_call"]=function(){return Module["asm"]["_ptrace_enter_call"].apply(null,arguments)};var _ptrmapGet=Module["_ptrmapGet"]=function(){return Module["asm"]["_ptrmapGet"].apply(null,arguments)};var _ptrmapPageno=Module["_ptrmapPageno"]=function(){return Module["asm"]["_ptrmapPageno"].apply(null,arguments)};var _ptrmapPut=Module["_ptrmapPut"]=function(){return Module["asm"]["_ptrmapPut"].apply(null,arguments)};var _ptrmapPutOvflPtr=Module["_ptrmapPutOvflPtr"]=function(){return Module["asm"]["_ptrmapPutOvflPtr"].apply(null,arguments)};var _ptsname=Module["_ptsname"]=function(){return Module["asm"]["_ptsname"].apply(null,arguments)};var _pushDownWhereTerms=Module["_pushDownWhereTerms"]=function(){return Module["asm"]["_pushDownWhereTerms"].apply(null,arguments)};var _pushOntoSorter=Module["_pushOntoSorter"]=function(){return Module["asm"]["_pushOntoSorter"].apply(null,arguments)};var _putVarint64=Module["_putVarint64"]=function(){return Module["asm"]["_putVarint64"].apply(null,arguments)};var _put_16=Module["_put_16"]=function(){return Module["asm"]["_put_16"].apply(null,arguments)};var _put_32=Module["_put_32"]=function(){return Module["asm"]["_put_32"].apply(null,arguments)};var _putc=Module["_putc"]=function(){return Module["asm"]["_putc"].apply(null,arguments)};var _putc_unlocked=Module["_putc_unlocked"]=function(){return Module["asm"]["_putc_unlocked"].apply(null,arguments)};var _putchar=Module["_putchar"]=function(){return Module["asm"]["_putchar"].apply(null,arguments)};var _putchar_unlocked=Module["_putchar_unlocked"]=function(){return Module["asm"]["_putchar_unlocked"].apply(null,arguments)};var _puts=Module["_puts"]=function(){return Module["asm"]["_puts"].apply(null,arguments)};var _putw=Module["_putw"]=function(){return Module["asm"]["_putw"].apply(null,arguments)};var _putwc=Module["_putwc"]=function(){return Module["asm"]["_putwc"].apply(null,arguments)};var _putwchar=Module["_putwchar"]=function(){return Module["asm"]["_putwchar"].apply(null,arguments)};var _pvalloc=Module["_pvalloc"]=function(){return Module["asm"]["_pvalloc"].apply(null,arguments)};var _pwd_getpwall=Module["_pwd_getpwall"]=function(){return Module["asm"]["_pwd_getpwall"].apply(null,arguments)};var _pwd_getpwnam=Module["_pwd_getpwnam"]=function(){return Module["asm"]["_pwd_getpwnam"].apply(null,arguments)};var _pwd_getpwuid=Module["_pwd_getpwuid"]=function(){return Module["asm"]["_pwd_getpwuid"].apply(null,arguments)};var _pwrite=Module["_pwrite"]=function(){return Module["asm"]["_pwrite"].apply(null,arguments)};var _pwritev=Module["_pwritev"]=function(){return Module["asm"]["_pwritev"].apply(null,arguments)};var _py_blake2b_dealloc=Module["_py_blake2b_dealloc"]=function(){return Module["asm"]["_py_blake2b_dealloc"].apply(null,arguments)};var _py_blake2b_get_block_size=Module["_py_blake2b_get_block_size"]=function(){return Module["asm"]["_py_blake2b_get_block_size"].apply(null,arguments)};var _py_blake2b_get_digest_size=Module["_py_blake2b_get_digest_size"]=function(){return Module["asm"]["_py_blake2b_get_digest_size"].apply(null,arguments)};var _py_blake2b_get_name=Module["_py_blake2b_get_name"]=function(){return Module["asm"]["_py_blake2b_get_name"].apply(null,arguments)};var _py_blake2b_new=Module["_py_blake2b_new"]=function(){return Module["asm"]["_py_blake2b_new"].apply(null,arguments)};var _py_blake2s_dealloc=Module["_py_blake2s_dealloc"]=function(){return Module["asm"]["_py_blake2s_dealloc"].apply(null,arguments)};var _py_blake2s_get_block_size=Module["_py_blake2s_get_block_size"]=function(){return Module["asm"]["_py_blake2s_get_block_size"].apply(null,arguments)};var _py_blake2s_get_digest_size=Module["_py_blake2s_get_digest_size"]=function(){return Module["asm"]["_py_blake2s_get_digest_size"].apply(null,arguments)};var _py_blake2s_get_name=Module["_py_blake2s_get_name"]=function(){return Module["asm"]["_py_blake2s_get_name"].apply(null,arguments)};var _py_blake2s_new=Module["_py_blake2s_new"]=function(){return Module["asm"]["_py_blake2s_new"].apply(null,arguments)};var _py_encode_basestring=Module["_py_encode_basestring"]=function(){return Module["asm"]["_py_encode_basestring"].apply(null,arguments)};var _py_encode_basestring_ascii=Module["_py_encode_basestring_ascii"]=function(){return Module["asm"]["_py_encode_basestring_ascii"].apply(null,arguments)};var _py_scanstring=Module["_py_scanstring"]=function(){return Module["asm"]["_py_scanstring"].apply(null,arguments)};var _py_sha3_new=Module["_py_sha3_new"]=function(){return Module["asm"]["_py_sha3_new"].apply(null,arguments)};var _py_time_second=Module["_py_time_second"]=function(){return Module["asm"]["_py_time_second"].apply(null,arguments)};var _pyexpat_ErrorString=Module["_pyexpat_ErrorString"]=function(){return Module["asm"]["_pyexpat_ErrorString"].apply(null,arguments)};var _pyexpat_ParserCreate=Module["_pyexpat_ParserCreate"]=function(){return Module["asm"]["_pyexpat_ParserCreate"].apply(null,arguments)};var _pyexpat_xmlparser_ExternalEntityParserCreate=Module["_pyexpat_xmlparser_ExternalEntityParserCreate"]=function(){return Module["asm"]["_pyexpat_xmlparser_ExternalEntityParserCreate"].apply(null,arguments)};var _pyexpat_xmlparser_GetBase=Module["_pyexpat_xmlparser_GetBase"]=function(){return Module["asm"]["_pyexpat_xmlparser_GetBase"].apply(null,arguments)};var _pyexpat_xmlparser_GetInputContext=Module["_pyexpat_xmlparser_GetInputContext"]=function(){return Module["asm"]["_pyexpat_xmlparser_GetInputContext"].apply(null,arguments)};var _pyexpat_xmlparser_Parse=Module["_pyexpat_xmlparser_Parse"]=function(){return Module["asm"]["_pyexpat_xmlparser_Parse"].apply(null,arguments)};var _pyexpat_xmlparser_ParseFile=Module["_pyexpat_xmlparser_ParseFile"]=function(){return Module["asm"]["_pyexpat_xmlparser_ParseFile"].apply(null,arguments)};var _pyexpat_xmlparser_SetBase=Module["_pyexpat_xmlparser_SetBase"]=function(){return Module["asm"]["_pyexpat_xmlparser_SetBase"].apply(null,arguments)};var _pyexpat_xmlparser_SetParamEntityParsing=Module["_pyexpat_xmlparser_SetParamEntityParsing"]=function(){return Module["asm"]["_pyexpat_xmlparser_SetParamEntityParsing"].apply(null,arguments)};var _pyexpat_xmlparser_UseForeignDTD=Module["_pyexpat_xmlparser_UseForeignDTD"]=function(){return Module["asm"]["_pyexpat_xmlparser_UseForeignDTD"].apply(null,arguments)};var _pyexpat_xmlparser___dir__=Module["_pyexpat_xmlparser___dir__"]=function(){return Module["asm"]["_pyexpat_xmlparser___dir__"].apply(null,arguments)};var _pymain_main=Module["_pymain_main"]=function(){return Module["asm"]["_pymain_main"].apply(null,arguments)};var _pymain_run_interactive_hook=Module["_pymain_run_interactive_hook"]=function(){return Module["asm"]["_pymain_run_interactive_hook"].apply(null,arguments)};var _pymain_run_module=Module["_pymain_run_module"]=function(){return Module["asm"]["_pymain_run_module"].apply(null,arguments)};var _pysqlite_adapt=Module["_pysqlite_adapt"]=function(){return Module["asm"]["_pysqlite_adapt"].apply(null,arguments)};var _pysqlite_build_row_cast_map=Module["_pysqlite_build_row_cast_map"]=function(){return Module["asm"]["_pysqlite_build_row_cast_map"].apply(null,arguments)};var _pysqlite_cache_dealloc=Module["_pysqlite_cache_dealloc"]=function(){return Module["asm"]["_pysqlite_cache_dealloc"].apply(null,arguments)};var _pysqlite_cache_display=Module["_pysqlite_cache_display"]=function(){return Module["asm"]["_pysqlite_cache_display"].apply(null,arguments)};var _pysqlite_cache_get=Module["_pysqlite_cache_get"]=function(){return Module["asm"]["_pysqlite_cache_get"].apply(null,arguments)};var _pysqlite_cache_init=Module["_pysqlite_cache_init"]=function(){return Module["asm"]["_pysqlite_cache_init"].apply(null,arguments)};var _pysqlite_cache_setup_types=Module["_pysqlite_cache_setup_types"]=function(){return Module["asm"]["_pysqlite_cache_setup_types"].apply(null,arguments)};var _pysqlite_check_connection=Module["_pysqlite_check_connection"]=function(){return Module["asm"]["_pysqlite_check_connection"].apply(null,arguments)};var _pysqlite_check_thread=Module["_pysqlite_check_thread"]=function(){return Module["asm"]["_pysqlite_check_thread"].apply(null,arguments)};var _pysqlite_collation_callback=Module["_pysqlite_collation_callback"]=function(){return Module["asm"]["_pysqlite_collation_callback"].apply(null,arguments)};var _pysqlite_connection_backup=Module["_pysqlite_connection_backup"]=function(){return Module["asm"]["_pysqlite_connection_backup"].apply(null,arguments)};var _pysqlite_connection_call=Module["_pysqlite_connection_call"]=function(){return Module["asm"]["_pysqlite_connection_call"].apply(null,arguments)};var _pysqlite_connection_close=Module["_pysqlite_connection_close"]=function(){return Module["asm"]["_pysqlite_connection_close"].apply(null,arguments)};var _pysqlite_connection_commit=Module["_pysqlite_connection_commit"]=function(){return Module["asm"]["_pysqlite_connection_commit"].apply(null,arguments)};var _pysqlite_connection_create_aggregate=Module["_pysqlite_connection_create_aggregate"]=function(){return Module["asm"]["_pysqlite_connection_create_aggregate"].apply(null,arguments)};var _pysqlite_connection_create_collation=Module["_pysqlite_connection_create_collation"]=function(){return Module["asm"]["_pysqlite_connection_create_collation"].apply(null,arguments)};var _pysqlite_connection_create_function=Module["_pysqlite_connection_create_function"]=function(){return Module["asm"]["_pysqlite_connection_create_function"].apply(null,arguments)};var _pysqlite_connection_cursor=Module["_pysqlite_connection_cursor"]=function(){return Module["asm"]["_pysqlite_connection_cursor"].apply(null,arguments)};var _pysqlite_connection_dealloc=Module["_pysqlite_connection_dealloc"]=function(){return Module["asm"]["_pysqlite_connection_dealloc"].apply(null,arguments)};var _pysqlite_connection_enter=Module["_pysqlite_connection_enter"]=function(){return Module["asm"]["_pysqlite_connection_enter"].apply(null,arguments)};var _pysqlite_connection_execute=Module["_pysqlite_connection_execute"]=function(){return Module["asm"]["_pysqlite_connection_execute"].apply(null,arguments)};var _pysqlite_connection_executemany=Module["_pysqlite_connection_executemany"]=function(){return Module["asm"]["_pysqlite_connection_executemany"].apply(null,arguments)};var _pysqlite_connection_executescript=Module["_pysqlite_connection_executescript"]=function(){return Module["asm"]["_pysqlite_connection_executescript"].apply(null,arguments)};var _pysqlite_connection_exit=Module["_pysqlite_connection_exit"]=function(){return Module["asm"]["_pysqlite_connection_exit"].apply(null,arguments)};var _pysqlite_connection_get_in_transaction=Module["_pysqlite_connection_get_in_transaction"]=function(){return Module["asm"]["_pysqlite_connection_get_in_transaction"].apply(null,arguments)};var _pysqlite_connection_get_isolation_level=Module["_pysqlite_connection_get_isolation_level"]=function(){return Module["asm"]["_pysqlite_connection_get_isolation_level"].apply(null,arguments)};var _pysqlite_connection_get_total_changes=Module["_pysqlite_connection_get_total_changes"]=function(){return Module["asm"]["_pysqlite_connection_get_total_changes"].apply(null,arguments)};var _pysqlite_connection_init=Module["_pysqlite_connection_init"]=function(){return Module["asm"]["_pysqlite_connection_init"].apply(null,arguments)};var _pysqlite_connection_interrupt=Module["_pysqlite_connection_interrupt"]=function(){return Module["asm"]["_pysqlite_connection_interrupt"].apply(null,arguments)};var _pysqlite_connection_iterdump=Module["_pysqlite_connection_iterdump"]=function(){return Module["asm"]["_pysqlite_connection_iterdump"].apply(null,arguments)};var _pysqlite_connection_register_cursor=Module["_pysqlite_connection_register_cursor"]=function(){return Module["asm"]["_pysqlite_connection_register_cursor"].apply(null,arguments)};var _pysqlite_connection_rollback=Module["_pysqlite_connection_rollback"]=function(){return Module["asm"]["_pysqlite_connection_rollback"].apply(null,arguments)};var _pysqlite_connection_set_authorizer=Module["_pysqlite_connection_set_authorizer"]=function(){return Module["asm"]["_pysqlite_connection_set_authorizer"].apply(null,arguments)};var _pysqlite_connection_set_isolation_level=Module["_pysqlite_connection_set_isolation_level"]=function(){return Module["asm"]["_pysqlite_connection_set_isolation_level"].apply(null,arguments)};var _pysqlite_connection_set_progress_handler=Module["_pysqlite_connection_set_progress_handler"]=function(){return Module["asm"]["_pysqlite_connection_set_progress_handler"].apply(null,arguments)};var _pysqlite_connection_set_trace_callback=Module["_pysqlite_connection_set_trace_callback"]=function(){return Module["asm"]["_pysqlite_connection_set_trace_callback"].apply(null,arguments)};var _pysqlite_connection_setup_types=Module["_pysqlite_connection_setup_types"]=function(){return Module["asm"]["_pysqlite_connection_setup_types"].apply(null,arguments)};var _pysqlite_cursor_close=Module["_pysqlite_cursor_close"]=function(){return Module["asm"]["_pysqlite_cursor_close"].apply(null,arguments)};var _pysqlite_cursor_dealloc=Module["_pysqlite_cursor_dealloc"]=function(){return Module["asm"]["_pysqlite_cursor_dealloc"].apply(null,arguments)};var _pysqlite_cursor_execute=Module["_pysqlite_cursor_execute"]=function(){return Module["asm"]["_pysqlite_cursor_execute"].apply(null,arguments)};var _pysqlite_cursor_executemany=Module["_pysqlite_cursor_executemany"]=function(){return Module["asm"]["_pysqlite_cursor_executemany"].apply(null,arguments)};var _pysqlite_cursor_executescript=Module["_pysqlite_cursor_executescript"]=function(){return Module["asm"]["_pysqlite_cursor_executescript"].apply(null,arguments)};var _pysqlite_cursor_fetchall=Module["_pysqlite_cursor_fetchall"]=function(){return Module["asm"]["_pysqlite_cursor_fetchall"].apply(null,arguments)};var _pysqlite_cursor_fetchmany=Module["_pysqlite_cursor_fetchmany"]=function(){return Module["asm"]["_pysqlite_cursor_fetchmany"].apply(null,arguments)};var _pysqlite_cursor_fetchone=Module["_pysqlite_cursor_fetchone"]=function(){return Module["asm"]["_pysqlite_cursor_fetchone"].apply(null,arguments)};var _pysqlite_cursor_getiter=Module["_pysqlite_cursor_getiter"]=function(){return Module["asm"]["_pysqlite_cursor_getiter"].apply(null,arguments)};var _pysqlite_cursor_init=Module["_pysqlite_cursor_init"]=function(){return Module["asm"]["_pysqlite_cursor_init"].apply(null,arguments)};var _pysqlite_cursor_iternext=Module["_pysqlite_cursor_iternext"]=function(){return Module["asm"]["_pysqlite_cursor_iternext"].apply(null,arguments)};var _pysqlite_cursor_setup_types=Module["_pysqlite_cursor_setup_types"]=function(){return Module["asm"]["_pysqlite_cursor_setup_types"].apply(null,arguments)};var _pysqlite_do_all_statements=Module["_pysqlite_do_all_statements"]=function(){return Module["asm"]["_pysqlite_do_all_statements"].apply(null,arguments)};var _pysqlite_enable_load_extension=Module["_pysqlite_enable_load_extension"]=function(){return Module["asm"]["_pysqlite_enable_load_extension"].apply(null,arguments)};var _pysqlite_iter=Module["_pysqlite_iter"]=function(){return Module["asm"]["_pysqlite_iter"].apply(null,arguments)};var _pysqlite_load_extension=Module["_pysqlite_load_extension"]=function(){return Module["asm"]["_pysqlite_load_extension"].apply(null,arguments)};var _pysqlite_microprotocols_adapt=Module["_pysqlite_microprotocols_adapt"]=function(){return Module["asm"]["_pysqlite_microprotocols_adapt"].apply(null,arguments)};var _pysqlite_microprotocols_add=Module["_pysqlite_microprotocols_add"]=function(){return Module["asm"]["_pysqlite_microprotocols_add"].apply(null,arguments)};var _pysqlite_microprotocols_init=Module["_pysqlite_microprotocols_init"]=function(){return Module["asm"]["_pysqlite_microprotocols_init"].apply(null,arguments)};var _pysqlite_new_node=Module["_pysqlite_new_node"]=function(){return Module["asm"]["_pysqlite_new_node"].apply(null,arguments)};var _pysqlite_node_dealloc=Module["_pysqlite_node_dealloc"]=function(){return Module["asm"]["_pysqlite_node_dealloc"].apply(null,arguments)};var _pysqlite_noop=Module["_pysqlite_noop"]=function(){return Module["asm"]["_pysqlite_noop"].apply(null,arguments)};var _pysqlite_prepare_protocol_dealloc=Module["_pysqlite_prepare_protocol_dealloc"]=function(){return Module["asm"]["_pysqlite_prepare_protocol_dealloc"].apply(null,arguments)};var _pysqlite_prepare_protocol_init=Module["_pysqlite_prepare_protocol_init"]=function(){return Module["asm"]["_pysqlite_prepare_protocol_init"].apply(null,arguments)};var _pysqlite_prepare_protocol_setup_types=Module["_pysqlite_prepare_protocol_setup_types"]=function(){return Module["asm"]["_pysqlite_prepare_protocol_setup_types"].apply(null,arguments)};var _pysqlite_row_dealloc=Module["_pysqlite_row_dealloc"]=function(){return Module["asm"]["_pysqlite_row_dealloc"].apply(null,arguments)};var _pysqlite_row_hash=Module["_pysqlite_row_hash"]=function(){return Module["asm"]["_pysqlite_row_hash"].apply(null,arguments)};var _pysqlite_row_item=Module["_pysqlite_row_item"]=function(){return Module["asm"]["_pysqlite_row_item"].apply(null,arguments)};var _pysqlite_row_keys=Module["_pysqlite_row_keys"]=function(){return Module["asm"]["_pysqlite_row_keys"].apply(null,arguments)};var _pysqlite_row_length=Module["_pysqlite_row_length"]=function(){return Module["asm"]["_pysqlite_row_length"].apply(null,arguments)};var _pysqlite_row_new=Module["_pysqlite_row_new"]=function(){return Module["asm"]["_pysqlite_row_new"].apply(null,arguments)};var _pysqlite_row_print=Module["_pysqlite_row_print"]=function(){return Module["asm"]["_pysqlite_row_print"].apply(null,arguments)};var _pysqlite_row_richcompare=Module["_pysqlite_row_richcompare"]=function(){return Module["asm"]["_pysqlite_row_richcompare"].apply(null,arguments)};var _pysqlite_row_setup_types=Module["_pysqlite_row_setup_types"]=function(){return Module["asm"]["_pysqlite_row_setup_types"].apply(null,arguments)};var _pysqlite_row_subscript=Module["_pysqlite_row_subscript"]=function(){return Module["asm"]["_pysqlite_row_subscript"].apply(null,arguments)};var _pysqlite_statement_bind_parameter=Module["_pysqlite_statement_bind_parameter"]=function(){return Module["asm"]["_pysqlite_statement_bind_parameter"].apply(null,arguments)};var _pysqlite_statement_bind_parameters=Module["_pysqlite_statement_bind_parameters"]=function(){return Module["asm"]["_pysqlite_statement_bind_parameters"].apply(null,arguments)};var _pysqlite_statement_create=Module["_pysqlite_statement_create"]=function(){return Module["asm"]["_pysqlite_statement_create"].apply(null,arguments)};var _pysqlite_statement_dealloc=Module["_pysqlite_statement_dealloc"]=function(){return Module["asm"]["_pysqlite_statement_dealloc"].apply(null,arguments)};var _pysqlite_statement_finalize=Module["_pysqlite_statement_finalize"]=function(){return Module["asm"]["_pysqlite_statement_finalize"].apply(null,arguments)};var _pysqlite_statement_mark_dirty=Module["_pysqlite_statement_mark_dirty"]=function(){return Module["asm"]["_pysqlite_statement_mark_dirty"].apply(null,arguments)};var _pysqlite_statement_reset=Module["_pysqlite_statement_reset"]=function(){return Module["asm"]["_pysqlite_statement_reset"].apply(null,arguments)};var _pysqlite_statement_setup_types=Module["_pysqlite_statement_setup_types"]=function(){return Module["asm"]["_pysqlite_statement_setup_types"].apply(null,arguments)};var _pysqlite_step=Module["_pysqlite_step"]=function(){return Module["asm"]["_pysqlite_step"].apply(null,arguments)};var _python2js=Module["_python2js"]=function(){return Module["asm"]["_python2js"].apply(null,arguments)};var _python2js_init=Module["_python2js_init"]=function(){return Module["asm"]["_python2js_init"].apply(null,arguments)};var _pythonexc2js=Module["_pythonexc2js"]=function(){return Module["asm"]["_pythonexc2js"].apply(null,arguments)};var _pyurandom=Module["_pyurandom"]=function(){return Module["asm"]["_pyurandom"].apply(null,arguments)};var _pzero=Module["_pzero"]=function(){return Module["asm"]["_pzero"].apply(null,arguments)};var _pzerof=Module["_pzerof"]=function(){return Module["asm"]["_pzerof"].apply(null,arguments)};var _q_compareitems=Module["_q_compareitems"]=function(){return Module["asm"]["_q_compareitems"].apply(null,arguments)};var _q_getitem=Module["_q_getitem"]=function(){return Module["asm"]["_q_getitem"].apply(null,arguments)};var _q_setitem=Module["_q_setitem"]=function(){return Module["asm"]["_q_setitem"].apply(null,arguments)};var _qone=Module["_qone"]=function(){return Module["asm"]["_qone"].apply(null,arguments)};var _qonef=Module["_qonef"]=function(){return Module["asm"]["_qonef"].apply(null,arguments)};var _qsort=Module["_qsort"]=function(){return Module["asm"]["_qsort"].apply(null,arguments)};var _querySharedCacheTableLock=Module["_querySharedCacheTableLock"]=function(){return Module["asm"]["_querySharedCacheTableLock"].apply(null,arguments)};var _quorem=Module["_quorem"]=function(){return Module["asm"]["_quorem"].apply(null,arguments)};var _quoteFunc=Module["_quoteFunc"]=function(){return Module["asm"]["_quoteFunc"].apply(null,arguments)};var _qzero=Module["_qzero"]=function(){return Module["asm"]["_qzero"].apply(null,arguments)};var _qzerof=Module["_qzerof"]=function(){return Module["asm"]["_qzerof"].apply(null,arguments)};var _r_object=Module["_r_object"]=function(){return Module["asm"]["_r_object"].apply(null,arguments)};var _r_string=Module["_r_string"]=function(){return Module["asm"]["_r_string"].apply(null,arguments)};var _raccess_guess_apple_double=Module["_raccess_guess_apple_double"]=function(){return Module["asm"]["_raccess_guess_apple_double"].apply(null,arguments)};var _raccess_guess_apple_generic=Module["_raccess_guess_apple_generic"]=function(){return Module["asm"]["_raccess_guess_apple_generic"].apply(null,arguments)};var _raccess_guess_apple_single=Module["_raccess_guess_apple_single"]=function(){return Module["asm"]["_raccess_guess_apple_single"].apply(null,arguments)};var _raccess_guess_darwin_hfsplus=Module["_raccess_guess_darwin_hfsplus"]=function(){return Module["asm"]["_raccess_guess_darwin_hfsplus"].apply(null,arguments)};var _raccess_guess_darwin_newvfs=Module["_raccess_guess_darwin_newvfs"]=function(){return Module["asm"]["_raccess_guess_darwin_newvfs"].apply(null,arguments)};var _raccess_guess_darwin_ufs_export=Module["_raccess_guess_darwin_ufs_export"]=function(){return Module["asm"]["_raccess_guess_darwin_ufs_export"].apply(null,arguments)};var _raccess_guess_linux_cap=Module["_raccess_guess_linux_cap"]=function(){return Module["asm"]["_raccess_guess_linux_cap"].apply(null,arguments)};var _raccess_guess_linux_double=Module["_raccess_guess_linux_double"]=function(){return Module["asm"]["_raccess_guess_linux_double"].apply(null,arguments)};var _raccess_guess_linux_netatalk=Module["_raccess_guess_linux_netatalk"]=function(){return Module["asm"]["_raccess_guess_linux_netatalk"].apply(null,arguments)};var _raccess_guess_vfat=Module["_raccess_guess_vfat"]=function(){return Module["asm"]["_raccess_guess_vfat"].apply(null,arguments)};var _raccess_make_file_name=Module["_raccess_make_file_name"]=function(){return Module["asm"]["_raccess_make_file_name"].apply(null,arguments)};var _raise_errmsg=Module["_raise_errmsg"]=function(){return Module["asm"]["_raise_errmsg"].apply(null,arguments)};var _rand=Module["_rand"]=function(){return Module["asm"]["_rand"].apply(null,arguments)};var _rand_r=Module["_rand_r"]=function(){return Module["asm"]["_rand_r"].apply(null,arguments)};var _random=Module["_random"]=function(){return Module["asm"]["_random"].apply(null,arguments)};var _randomBlob=Module["_randomBlob"]=function(){return Module["asm"]["_randomBlob"].apply(null,arguments)};var _randomFunc=Module["_randomFunc"]=function(){return Module["asm"]["_randomFunc"].apply(null,arguments)};var _random_getrandbits=Module["_random_getrandbits"]=function(){return Module["asm"]["_random_getrandbits"].apply(null,arguments)};var _random_getstate=Module["_random_getstate"]=function(){return Module["asm"]["_random_getstate"].apply(null,arguments)};var _random_new=Module["_random_new"]=function(){return Module["asm"]["_random_new"].apply(null,arguments)};var _random_random=Module["_random_random"]=function(){return Module["asm"]["_random_random"].apply(null,arguments)};var _random_seed=Module["_random_seed"]=function(){return Module["asm"]["_random_seed"].apply(null,arguments)};var _random_setstate=Module["_random_setstate"]=function(){return Module["asm"]["_random_setstate"].apply(null,arguments)};var _range_bool=Module["_range_bool"]=function(){return Module["asm"]["_range_bool"].apply(null,arguments)};var _range_contains=Module["_range_contains"]=function(){return Module["asm"]["_range_contains"].apply(null,arguments)};var _range_contains_long=Module["_range_contains_long"]=function(){return Module["asm"]["_range_contains_long"].apply(null,arguments)};var _range_count=Module["_range_count"]=function(){return Module["asm"]["_range_count"].apply(null,arguments)};var _range_dealloc=Module["_range_dealloc"]=function(){return Module["asm"]["_range_dealloc"].apply(null,arguments)};var _range_hash=Module["_range_hash"]=function(){return Module["asm"]["_range_hash"].apply(null,arguments)};var _range_index=Module["_range_index"]=function(){return Module["asm"]["_range_index"].apply(null,arguments)};var _range_item=Module["_range_item"]=function(){return Module["asm"]["_range_item"].apply(null,arguments)};var _range_iter=Module["_range_iter"]=function(){return Module["asm"]["_range_iter"].apply(null,arguments)};var _range_length=Module["_range_length"]=function(){return Module["asm"]["_range_length"].apply(null,arguments)};var _range_new=Module["_range_new"]=function(){return Module["asm"]["_range_new"].apply(null,arguments)};var _range_reduce=Module["_range_reduce"]=function(){return Module["asm"]["_range_reduce"].apply(null,arguments)};var _range_repr=Module["_range_repr"]=function(){return Module["asm"]["_range_repr"].apply(null,arguments)};var _range_reverse=Module["_range_reverse"]=function(){return Module["asm"]["_range_reverse"].apply(null,arguments)};var _range_richcompare=Module["_range_richcompare"]=function(){return Module["asm"]["_range_richcompare"].apply(null,arguments)};var _range_subscript=Module["_range_subscript"]=function(){return Module["asm"]["_range_subscript"].apply(null,arguments)};var _rangeiter_len=Module["_rangeiter_len"]=function(){return Module["asm"]["_rangeiter_len"].apply(null,arguments)};var _rangeiter_next=Module["_rangeiter_next"]=function(){return Module["asm"]["_rangeiter_next"].apply(null,arguments)};var _rangeiter_reduce=Module["_rangeiter_reduce"]=function(){return Module["asm"]["_rangeiter_reduce"].apply(null,arguments)};var _rangeiter_setstate=Module["_rangeiter_setstate"]=function(){return Module["asm"]["_rangeiter_setstate"].apply(null,arguments)};var _rankStepFunc=Module["_rankStepFunc"]=function(){return Module["asm"]["_rankStepFunc"].apply(null,arguments)};var _rankValueFunc=Module["_rankValueFunc"]=function(){return Module["asm"]["_rankValueFunc"].apply(null,arguments)};var _rawiobase_readinto=Module["_rawiobase_readinto"]=function(){return Module["asm"]["_rawiobase_readinto"].apply(null,arguments)};var _rawiobase_write=Module["_rawiobase_write"]=function(){return Module["asm"]["_rawiobase_write"].apply(null,arguments)};var _read=Module["_read"]=function(){return Module["asm"]["_read"].apply(null,arguments)};var _read32bits=Module["_read32bits"]=function(){return Module["asm"]["_read32bits"].apply(null,arguments)};var _readCoord=Module["_readCoord"]=function(){return Module["asm"]["_readCoord"].apply(null,arguments)};var _readDbPage=Module["_readDbPage"]=function(){return Module["asm"]["_readDbPage"].apply(null,arguments)};var _readInt16=Module["_readInt16"]=function(){return Module["asm"]["_readInt16"].apply(null,arguments)};var _readInt64=Module["_readInt64"]=function(){return Module["asm"]["_readInt64"].apply(null,arguments)};var _readJournalHdr=Module["_readJournalHdr"]=function(){return Module["asm"]["_readJournalHdr"].apply(null,arguments)};var _readMasterJournal=Module["_readMasterJournal"]=function(){return Module["asm"]["_readMasterJournal"].apply(null,arguments)};var _readdir=Module["_readdir"]=function(){return Module["asm"]["_readdir"].apply(null,arguments)};var _readdir_r=Module["_readdir_r"]=function(){return Module["asm"]["_readdir_r"].apply(null,arguments)};var _readlink=Module["_readlink"]=function(){return Module["asm"]["_readlink"].apply(null,arguments)};var _readlinkat=Module["_readlinkat"]=function(){return Module["asm"]["_readlinkat"].apply(null,arguments)};var _readsTable=Module["_readsTable"]=function(){return Module["asm"]["_readsTable"].apply(null,arguments)};var _readv=Module["_readv"]=function(){return Module["asm"]["_readv"].apply(null,arguments)};var _realize=Module["_realize"]=function(){return Module["asm"]["_realize"].apply(null,arguments)};var _realloc=Module["_realloc"]=function(){return Module["asm"]["_realloc"].apply(null,arguments)};var _realloc_in_place=Module["_realloc_in_place"]=function(){return Module["asm"]["_realloc_in_place"].apply(null,arguments)};var _realpath=Module["_realpath"]=function(){return Module["asm"]["_realpath"].apply(null,arguments)};var _rebuildPage=Module["_rebuildPage"]=function(){return Module["asm"]["_rebuildPage"].apply(null,arguments)};var _recomputeColumnsNotIndexed=Module["_recomputeColumnsNotIndexed"]=function(){return Module["asm"]["_recomputeColumnsNotIndexed"].apply(null,arguments)};var _recursive_isinstance=Module["_recursive_isinstance"]=function(){return Module["asm"]["_recursive_isinstance"].apply(null,arguments)};var _recv=Module["_recv"]=function(){return Module["asm"]["_recv"].apply(null,arguments)};var _recvfrom=Module["_recvfrom"]=function(){return Module["asm"]["_recvfrom"].apply(null,arguments)};var _recvmmsg=Module["_recvmmsg"]=function(){return Module["asm"]["_recvmmsg"].apply(null,arguments)};var _recvmsg=Module["_recvmsg"]=function(){return Module["asm"]["_recvmsg"].apply(null,arguments)};var _referentsvisit=Module["_referentsvisit"]=function(){return Module["asm"]["_referentsvisit"].apply(null,arguments)};var _referrersvisit=Module["_referrersvisit"]=function(){return Module["asm"]["_referrersvisit"].apply(null,arguments)};var _regcomp=Module["_regcomp"]=function(){return Module["asm"]["_regcomp"].apply(null,arguments)};var _regerror=Module["_regerror"]=function(){return Module["asm"]["_regerror"].apply(null,arguments)};var _regexec=Module["_regexec"]=function(){return Module["asm"]["_regexec"].apply(null,arguments)};var _regfree=Module["_regfree"]=function(){return Module["asm"]["_regfree"].apply(null,arguments)};var _rehash=Module["_rehash"]=function(){return Module["asm"]["_rehash"].apply(null,arguments)};var _reindexDatabases=Module["_reindexDatabases"]=function(){return Module["asm"]["_reindexDatabases"].apply(null,arguments)};var _reindexTable=Module["_reindexTable"]=function(){return Module["asm"]["_reindexTable"].apply(null,arguments)};var _reinsertNodeContent=Module["_reinsertNodeContent"]=function(){return Module["asm"]["_reinsertNodeContent"].apply(null,arguments)};var _releaseAllSavepoints=Module["_releaseAllSavepoints"]=function(){return Module["asm"]["_releaseAllSavepoints"].apply(null,arguments)};var _releaseInodeInfo=Module["_releaseInodeInfo"]=function(){return Module["asm"]["_releaseInodeInfo"].apply(null,arguments)};var _releaseMemArray=Module["_releaseMemArray"]=function(){return Module["asm"]["_releaseMemArray"].apply(null,arguments)};var _releasePage=Module["_releasePage"]=function(){return Module["asm"]["_releasePage"].apply(null,arguments)};var _releasePageNotNull=Module["_releasePageNotNull"]=function(){return Module["asm"]["_releasePageNotNull"].apply(null,arguments)};var _releasePageOne=Module["_releasePageOne"]=function(){return Module["asm"]["_releasePageOne"].apply(null,arguments)};var _release_sentinel=Module["_release_sentinel"]=function(){return Module["asm"]["_release_sentinel"].apply(null,arguments)};var _relocatePage=Module["_relocatePage"]=function(){return Module["asm"]["_relocatePage"].apply(null,arguments)};var _remainder=Module["_remainder"]=function(){return Module["asm"]["_remainder"].apply(null,arguments)};var _remainderf=Module["_remainderf"]=function(){return Module["asm"]["_remainderf"].apply(null,arguments)};var _remainderl=Module["_remainderl"]=function(){return Module["asm"]["_remainderl"].apply(null,arguments)};var _remove=Module["_remove"]=function(){return Module["asm"]["_remove"].apply(null,arguments)};var _removeElementGivenHash=Module["_removeElementGivenHash"]=function(){return Module["asm"]["_removeElementGivenHash"].apply(null,arguments)};var _removeFromSharingList=Module["_removeFromSharingList"]=function(){return Module["asm"]["_removeFromSharingList"].apply(null,arguments)};var _removeNode=Module["_removeNode"]=function(){return Module["asm"]["_removeNode"].apply(null,arguments)};var _removeUnindexableInClauseTerms=Module["_removeUnindexableInClauseTerms"]=function(){return Module["asm"]["_removeUnindexableInClauseTerms"].apply(null,arguments)};var _remove_all_subclasses=Module["_remove_all_subclasses"]=function(){return Module["asm"]["_remove_all_subclasses"].apply(null,arguments)};var _remove_diacritic=Module["_remove_diacritic"]=function(){return Module["asm"]["_remove_diacritic"].apply(null,arguments)};var _remquo=Module["_remquo"]=function(){return Module["asm"]["_remquo"].apply(null,arguments)};var _remquof=Module["_remquof"]=function(){return Module["asm"]["_remquof"].apply(null,arguments)};var _remquol=Module["_remquol"]=function(){return Module["asm"]["_remquol"].apply(null,arguments)};var _rename=Module["_rename"]=function(){return Module["asm"]["_rename"].apply(null,arguments)};var _renameColumnElistNames=Module["_renameColumnElistNames"]=function(){return Module["asm"]["_renameColumnElistNames"].apply(null,arguments)};var _renameColumnExprCb=Module["_renameColumnExprCb"]=function(){return Module["asm"]["_renameColumnExprCb"].apply(null,arguments)};var _renameColumnFunc=Module["_renameColumnFunc"]=function(){return Module["asm"]["_renameColumnFunc"].apply(null,arguments)};var _renameColumnIdlistNames=Module["_renameColumnIdlistNames"]=function(){return Module["asm"]["_renameColumnIdlistNames"].apply(null,arguments)};var _renameColumnParseError=Module["_renameColumnParseError"]=function(){return Module["asm"]["_renameColumnParseError"].apply(null,arguments)};var _renameColumnSelectCb=Module["_renameColumnSelectCb"]=function(){return Module["asm"]["_renameColumnSelectCb"].apply(null,arguments)};var _renameColumnTokenNext=Module["_renameColumnTokenNext"]=function(){return Module["asm"]["_renameColumnTokenNext"].apply(null,arguments)};var _renameEditSql=Module["_renameEditSql"]=function(){return Module["asm"]["_renameEditSql"].apply(null,arguments)};var _renameParseCleanup=Module["_renameParseCleanup"]=function(){return Module["asm"]["_renameParseCleanup"].apply(null,arguments)};var _renameParseSql=Module["_renameParseSql"]=function(){return Module["asm"]["_renameParseSql"].apply(null,arguments)};var _renameReloadSchema=Module["_renameReloadSchema"]=function(){return Module["asm"]["_renameReloadSchema"].apply(null,arguments)};var _renameResolveTrigger=Module["_renameResolveTrigger"]=function(){return Module["asm"]["_renameResolveTrigger"].apply(null,arguments)};var _renameTableExprCb=Module["_renameTableExprCb"]=function(){return Module["asm"]["_renameTableExprCb"].apply(null,arguments)};var _renameTableFunc=Module["_renameTableFunc"]=function(){return Module["asm"]["_renameTableFunc"].apply(null,arguments)};var _renameTableSelectCb=Module["_renameTableSelectCb"]=function(){return Module["asm"]["_renameTableSelectCb"].apply(null,arguments)};var _renameTableTest=Module["_renameTableTest"]=function(){return Module["asm"]["_renameTableTest"].apply(null,arguments)};var _renameTestSchema=Module["_renameTestSchema"]=function(){return Module["asm"]["_renameTestSchema"].apply(null,arguments)};var _renameTokenFind=Module["_renameTokenFind"]=function(){return Module["asm"]["_renameTokenFind"].apply(null,arguments)};var _renameTokenFree=Module["_renameTokenFree"]=function(){return Module["asm"]["_renameTokenFree"].apply(null,arguments)};var _renameUnmapExprCb=Module["_renameUnmapExprCb"]=function(){return Module["asm"]["_renameUnmapExprCb"].apply(null,arguments)};var _renameWalkTrigger=Module["_renameWalkTrigger"]=function(){return Module["asm"]["_renameWalkTrigger"].apply(null,arguments)};var _renameWalkWith=Module["_renameWalkWith"]=function(){return Module["asm"]["_renameWalkWith"].apply(null,arguments)};var _renameat=Module["_renameat"]=function(){return Module["asm"]["_renameat"].apply(null,arguments)};var _renderLogMsg=Module["_renderLogMsg"]=function(){return Module["asm"]["_renderLogMsg"].apply(null,arguments)};var _repeat_dealloc=Module["_repeat_dealloc"]=function(){return Module["asm"]["_repeat_dealloc"].apply(null,arguments)};var _repeat_len=Module["_repeat_len"]=function(){return Module["asm"]["_repeat_len"].apply(null,arguments)};var _repeat_new=Module["_repeat_new"]=function(){return Module["asm"]["_repeat_new"].apply(null,arguments)};var _repeat_next=Module["_repeat_next"]=function(){return Module["asm"]["_repeat_next"].apply(null,arguments)};var _repeat_reduce=Module["_repeat_reduce"]=function(){return Module["asm"]["_repeat_reduce"].apply(null,arguments)};var _repeat_repr=Module["_repeat_repr"]=function(){return Module["asm"]["_repeat_repr"].apply(null,arguments)};var _repeat_traverse=Module["_repeat_traverse"]=function(){return Module["asm"]["_repeat_traverse"].apply(null,arguments)};var _replace=Module["_replace"]=function(){return Module["asm"]["_replace"].apply(null,arguments)};var _replaceFunc=Module["_replaceFunc"]=function(){return Module["asm"]["_replaceFunc"].apply(null,arguments)};var _replace_errors=Module["_replace_errors"]=function(){return Module["asm"]["_replace_errors"].apply(null,arguments)};var _reportComment=Module["_reportComment"]=function(){return Module["asm"]["_reportComment"].apply(null,arguments)};var _reportProcessingInstruction=Module["_reportProcessingInstruction"]=function(){return Module["asm"]["_reportProcessingInstruction"].apply(null,arguments)};var _report_wakeup_write_error=Module["_report_wakeup_write_error"]=function(){return Module["asm"]["_report_wakeup_write_error"].apply(null,arguments)};var _res_init=Module["_res_init"]=function(){return Module["asm"]["_res_init"].apply(null,arguments)};var _resetAccumulator=Module["_resetAccumulator"]=function(){return Module["asm"]["_resetAccumulator"].apply(null,arguments)};var _resizeIndexObject=Module["_resizeIndexObject"]=function(){return Module["asm"]["_resizeIndexObject"].apply(null,arguments)};var _resizeResolveLabel=Module["_resizeResolveLabel"]=function(){return Module["asm"]["_resizeResolveLabel"].apply(null,arguments)};var _resize_compact=Module["_resize_compact"]=function(){return Module["asm"]["_resize_compact"].apply(null,arguments)};var _resolveAlias=Module["_resolveAlias"]=function(){return Module["asm"]["_resolveAlias"].apply(null,arguments)};var _resolveAsName=Module["_resolveAsName"]=function(){return Module["asm"]["_resolveAsName"].apply(null,arguments)};var _resolveAttachExpr=Module["_resolveAttachExpr"]=function(){return Module["asm"]["_resolveAttachExpr"].apply(null,arguments)};var _resolveCompoundOrderBy=Module["_resolveCompoundOrderBy"]=function(){return Module["asm"]["_resolveCompoundOrderBy"].apply(null,arguments)};var _resolveExprStep=Module["_resolveExprStep"]=function(){return Module["asm"]["_resolveExprStep"].apply(null,arguments)};var _resolveOrderByTermToExprList=Module["_resolveOrderByTermToExprList"]=function(){return Module["asm"]["_resolveOrderByTermToExprList"].apply(null,arguments)};var _resolveOrderGroupBy=Module["_resolveOrderGroupBy"]=function(){return Module["asm"]["_resolveOrderGroupBy"].apply(null,arguments)};var _resolveOutOfRangeError=Module["_resolveOutOfRangeError"]=function(){return Module["asm"]["_resolveOutOfRangeError"].apply(null,arguments)};var _resolveP2Values=Module["_resolveP2Values"]=function(){return Module["asm"]["_resolveP2Values"].apply(null,arguments)};var _resolveRemoveWindows=Module["_resolveRemoveWindows"]=function(){return Module["asm"]["_resolveRemoveWindows"].apply(null,arguments)};var _resolveRemoveWindowsCb=Module["_resolveRemoveWindowsCb"]=function(){return Module["asm"]["_resolveRemoveWindowsCb"].apply(null,arguments)};var _resolveSelectStep=Module["_resolveSelectStep"]=function(){return Module["asm"]["_resolveSelectStep"].apply(null,arguments)};var _returnSingleInt=Module["_returnSingleInt"]=function(){return Module["asm"]["_returnSingleInt"].apply(null,arguments)};var _returnSingleText=Module["_returnSingleText"]=function(){return Module["asm"]["_returnSingleText"].apply(null,arguments)};var _reversed_dealloc=Module["_reversed_dealloc"]=function(){return Module["asm"]["_reversed_dealloc"].apply(null,arguments)};var _reversed_len=Module["_reversed_len"]=function(){return Module["asm"]["_reversed_len"].apply(null,arguments)};var _reversed_new=Module["_reversed_new"]=function(){return Module["asm"]["_reversed_new"].apply(null,arguments)};var _reversed_next=Module["_reversed_next"]=function(){return Module["asm"]["_reversed_next"].apply(null,arguments)};var _reversed_reduce=Module["_reversed_reduce"]=function(){return Module["asm"]["_reversed_reduce"].apply(null,arguments)};var _reversed_setstate=Module["_reversed_setstate"]=function(){return Module["asm"]["_reversed_setstate"].apply(null,arguments)};var _reversed_traverse=Module["_reversed_traverse"]=function(){return Module["asm"]["_reversed_traverse"].apply(null,arguments)};var _rewind=Module["_rewind"]=function(){return Module["asm"]["_rewind"].apply(null,arguments)};var _rewinddir=Module["_rewinddir"]=function(){return Module["asm"]["_rewinddir"].apply(null,arguments)};var _richcmp_eq=Module["_richcmp_eq"]=function(){return Module["asm"]["_richcmp_eq"].apply(null,arguments)};var _richcmp_ge=Module["_richcmp_ge"]=function(){return Module["asm"]["_richcmp_ge"].apply(null,arguments)};var _richcmp_gt=Module["_richcmp_gt"]=function(){return Module["asm"]["_richcmp_gt"].apply(null,arguments)};var _richcmp_le=Module["_richcmp_le"]=function(){return Module["asm"]["_richcmp_le"].apply(null,arguments)};var _richcmp_lt=Module["_richcmp_lt"]=function(){return Module["asm"]["_richcmp_lt"].apply(null,arguments)};var _richcmp_ne=Module["_richcmp_ne"]=function(){return Module["asm"]["_richcmp_ne"].apply(null,arguments)};var _rindex=Module["_rindex"]=function(){return Module["asm"]["_rindex"].apply(null,arguments)};var _rint=Module["_rint"]=function(){return Module["asm"]["_rint"].apply(null,arguments)};var _rintf=Module["_rintf"]=function(){return Module["asm"]["_rintf"].apply(null,arguments)};var _rintl=Module["_rintl"]=function(){return Module["asm"]["_rintl"].apply(null,arguments)};var _rlock_acquire=Module["_rlock_acquire"]=function(){return Module["asm"]["_rlock_acquire"].apply(null,arguments)};var _rlock_acquire_restore=Module["_rlock_acquire_restore"]=function(){return Module["asm"]["_rlock_acquire_restore"].apply(null,arguments)};var _rlock_dealloc=Module["_rlock_dealloc"]=function(){return Module["asm"]["_rlock_dealloc"].apply(null,arguments)};var _rlock_is_owned=Module["_rlock_is_owned"]=function(){return Module["asm"]["_rlock_is_owned"].apply(null,arguments)};var _rlock_new=Module["_rlock_new"]=function(){return Module["asm"]["_rlock_new"].apply(null,arguments)};var _rlock_release=Module["_rlock_release"]=function(){return Module["asm"]["_rlock_release"].apply(null,arguments)};var _rlock_release_save=Module["_rlock_release_save"]=function(){return Module["asm"]["_rlock_release_save"].apply(null,arguments)};var _rlock_repr=Module["_rlock_repr"]=function(){return Module["asm"]["_rlock_repr"].apply(null,arguments)};var _rmdir=Module["_rmdir"]=function(){return Module["asm"]["_rmdir"].apply(null,arguments)};var _robustFchown=Module["_robustFchown"]=function(){return Module["asm"]["_robustFchown"].apply(null,arguments)};var _robust_close=Module["_robust_close"]=function(){return Module["asm"]["_robust_close"].apply(null,arguments)};var _robust_ftruncate=Module["_robust_ftruncate"]=function(){return Module["asm"]["_robust_ftruncate"].apply(null,arguments)};var _robust_open=Module["_robust_open"]=function(){return Module["asm"]["_robust_open"].apply(null,arguments)};var _rol=Module["_rol"]=function(){return Module["asm"]["_rol"].apply(null,arguments)};var _ror=Module["_ror"]=function(){return Module["asm"]["_ror"].apply(null,arguments)};var _ror_61=Module["_ror_61"]=function(){return Module["asm"]["_ror_61"].apply(null,arguments)};var _round=Module["_round"]=function(){return Module["asm"]["_round"].apply(null,arguments)};var _roundFunc=Module["_roundFunc"]=function(){return Module["asm"]["_roundFunc"].apply(null,arguments)};var _roundf=Module["_roundf"]=function(){return Module["asm"]["_roundf"].apply(null,arguments)};var _roundl=Module["_roundl"]=function(){return Module["asm"]["_roundl"].apply(null,arguments)};var _rowSetEntryAlloc=Module["_rowSetEntryAlloc"]=function(){return Module["asm"]["_rowSetEntryAlloc"].apply(null,arguments)};var _rowSetEntryMerge=Module["_rowSetEntryMerge"]=function(){return Module["asm"]["_rowSetEntryMerge"].apply(null,arguments)};var _rowSetEntrySort=Module["_rowSetEntrySort"]=function(){return Module["asm"]["_rowSetEntrySort"].apply(null,arguments)};var _rowSetListToTree=Module["_rowSetListToTree"]=function(){return Module["asm"]["_rowSetListToTree"].apply(null,arguments)};var _rowSetNDeepTree=Module["_rowSetNDeepTree"]=function(){return Module["asm"]["_rowSetNDeepTree"].apply(null,arguments)};var _rowSetTreeToList=Module["_rowSetTreeToList"]=function(){return Module["asm"]["_rowSetTreeToList"].apply(null,arguments)};var _row_numberStepFunc=Module["_row_numberStepFunc"]=function(){return Module["asm"]["_row_numberStepFunc"].apply(null,arguments)};var _row_numberValueFunc=Module["_row_numberValueFunc"]=function(){return Module["asm"]["_row_numberValueFunc"].apply(null,arguments)};var _rowidWrite=Module["_rowidWrite"]=function(){return Module["asm"]["_rowidWrite"].apply(null,arguments)};var _rsplit=Module["_rsplit"]=function(){return Module["asm"]["_rsplit"].apply(null,arguments)};var _rtreeBeginTransaction=Module["_rtreeBeginTransaction"]=function(){return Module["asm"]["_rtreeBeginTransaction"].apply(null,arguments)};var _rtreeBestIndex=Module["_rtreeBestIndex"]=function(){return Module["asm"]["_rtreeBestIndex"].apply(null,arguments)};var _rtreeCallbackConstraint=Module["_rtreeCallbackConstraint"]=function(){return Module["asm"]["_rtreeCallbackConstraint"].apply(null,arguments)};var _rtreeCheckAppendMsg=Module["_rtreeCheckAppendMsg"]=function(){return Module["asm"]["_rtreeCheckAppendMsg"].apply(null,arguments)};var _rtreeCheckCellCoord=Module["_rtreeCheckCellCoord"]=function(){return Module["asm"]["_rtreeCheckCellCoord"].apply(null,arguments)};var _rtreeCheckCount=Module["_rtreeCheckCount"]=function(){return Module["asm"]["_rtreeCheckCount"].apply(null,arguments)};var _rtreeCheckGetNode=Module["_rtreeCheckGetNode"]=function(){return Module["asm"]["_rtreeCheckGetNode"].apply(null,arguments)};var _rtreeCheckMapping=Module["_rtreeCheckMapping"]=function(){return Module["asm"]["_rtreeCheckMapping"].apply(null,arguments)};var _rtreeCheckNode=Module["_rtreeCheckNode"]=function(){return Module["asm"]["_rtreeCheckNode"].apply(null,arguments)};var _rtreeCheckPrepare=Module["_rtreeCheckPrepare"]=function(){return Module["asm"]["_rtreeCheckPrepare"].apply(null,arguments)};var _rtreeCheckReset=Module["_rtreeCheckReset"]=function(){return Module["asm"]["_rtreeCheckReset"].apply(null,arguments)};var _rtreeCheckTable=Module["_rtreeCheckTable"]=function(){return Module["asm"]["_rtreeCheckTable"].apply(null,arguments)};var _rtreeClose=Module["_rtreeClose"]=function(){return Module["asm"]["_rtreeClose"].apply(null,arguments)};var _rtreeColumn=Module["_rtreeColumn"]=function(){return Module["asm"]["_rtreeColumn"].apply(null,arguments)};var _rtreeConnect=Module["_rtreeConnect"]=function(){return Module["asm"]["_rtreeConnect"].apply(null,arguments)};var _rtreeConstraintError=Module["_rtreeConstraintError"]=function(){return Module["asm"]["_rtreeConstraintError"].apply(null,arguments)};var _rtreeCreate=Module["_rtreeCreate"]=function(){return Module["asm"]["_rtreeCreate"].apply(null,arguments)};var _rtreeDeleteRowid=Module["_rtreeDeleteRowid"]=function(){return Module["asm"]["_rtreeDeleteRowid"].apply(null,arguments)};var _rtreeDestroy=Module["_rtreeDestroy"]=function(){return Module["asm"]["_rtreeDestroy"].apply(null,arguments)};var _rtreeDisconnect=Module["_rtreeDisconnect"]=function(){return Module["asm"]["_rtreeDisconnect"].apply(null,arguments)};var _rtreeEndTransaction=Module["_rtreeEndTransaction"]=function(){return Module["asm"]["_rtreeEndTransaction"].apply(null,arguments)};var _rtreeEnqueue=Module["_rtreeEnqueue"]=function(){return Module["asm"]["_rtreeEnqueue"].apply(null,arguments)};var _rtreeEof=Module["_rtreeEof"]=function(){return Module["asm"]["_rtreeEof"].apply(null,arguments)};var _rtreeFilter=Module["_rtreeFilter"]=function(){return Module["asm"]["_rtreeFilter"].apply(null,arguments)};var _rtreeFreeCallback=Module["_rtreeFreeCallback"]=function(){return Module["asm"]["_rtreeFreeCallback"].apply(null,arguments)};var _rtreeInit=Module["_rtreeInit"]=function(){return Module["asm"]["_rtreeInit"].apply(null,arguments)};var _rtreeInsertCell=Module["_rtreeInsertCell"]=function(){return Module["asm"]["_rtreeInsertCell"].apply(null,arguments)};var _rtreeLeafConstraint=Module["_rtreeLeafConstraint"]=function(){return Module["asm"]["_rtreeLeafConstraint"].apply(null,arguments)};var _rtreeMatchArgFree=Module["_rtreeMatchArgFree"]=function(){return Module["asm"]["_rtreeMatchArgFree"].apply(null,arguments)};var _rtreeNewRowid=Module["_rtreeNewRowid"]=function(){return Module["asm"]["_rtreeNewRowid"].apply(null,arguments)};var _rtreeNext=Module["_rtreeNext"]=function(){return Module["asm"]["_rtreeNext"].apply(null,arguments)};var _rtreeNodeOfFirstSearchPoint=Module["_rtreeNodeOfFirstSearchPoint"]=function(){return Module["asm"]["_rtreeNodeOfFirstSearchPoint"].apply(null,arguments)};var _rtreeNonleafConstraint=Module["_rtreeNonleafConstraint"]=function(){return Module["asm"]["_rtreeNonleafConstraint"].apply(null,arguments)};var _rtreeOpen=Module["_rtreeOpen"]=function(){return Module["asm"]["_rtreeOpen"].apply(null,arguments)};var _rtreeQueryStat1=Module["_rtreeQueryStat1"]=function(){return Module["asm"]["_rtreeQueryStat1"].apply(null,arguments)};var _rtreeReference=Module["_rtreeReference"]=function(){return Module["asm"]["_rtreeReference"].apply(null,arguments)};var _rtreeRelease=Module["_rtreeRelease"]=function(){return Module["asm"]["_rtreeRelease"].apply(null,arguments)};var _rtreeRename=Module["_rtreeRename"]=function(){return Module["asm"]["_rtreeRename"].apply(null,arguments)};var _rtreeRowid=Module["_rtreeRowid"]=function(){return Module["asm"]["_rtreeRowid"].apply(null,arguments)};var _rtreeSavepoint=Module["_rtreeSavepoint"]=function(){return Module["asm"]["_rtreeSavepoint"].apply(null,arguments)};var _rtreeSearchPointCompare=Module["_rtreeSearchPointCompare"]=function(){return Module["asm"]["_rtreeSearchPointCompare"].apply(null,arguments)};var _rtreeSearchPointFirst=Module["_rtreeSearchPointFirst"]=function(){return Module["asm"]["_rtreeSearchPointFirst"].apply(null,arguments)};var _rtreeSearchPointNew=Module["_rtreeSearchPointNew"]=function(){return Module["asm"]["_rtreeSearchPointNew"].apply(null,arguments)};var _rtreeSearchPointPop=Module["_rtreeSearchPointPop"]=function(){return Module["asm"]["_rtreeSearchPointPop"].apply(null,arguments)};var _rtreeSearchPointSwap=Module["_rtreeSearchPointSwap"]=function(){return Module["asm"]["_rtreeSearchPointSwap"].apply(null,arguments)};var _rtreeShadowName=Module["_rtreeShadowName"]=function(){return Module["asm"]["_rtreeShadowName"].apply(null,arguments)};var _rtreeSqlInit=Module["_rtreeSqlInit"]=function(){return Module["asm"]["_rtreeSqlInit"].apply(null,arguments)};var _rtreeStepToLeaf=Module["_rtreeStepToLeaf"]=function(){return Module["asm"]["_rtreeStepToLeaf"].apply(null,arguments)};var _rtreeUpdate=Module["_rtreeUpdate"]=function(){return Module["asm"]["_rtreeUpdate"].apply(null,arguments)};var _rtreeValueDown=Module["_rtreeValueDown"]=function(){return Module["asm"]["_rtreeValueDown"].apply(null,arguments)};var _rtreeValueUp=Module["_rtreeValueUp"]=function(){return Module["asm"]["_rtreeValueUp"].apply(null,arguments)};var _rtreecheck=Module["_rtreecheck"]=function(){return Module["asm"]["_rtreecheck"].apply(null,arguments)};var _rtreedepth=Module["_rtreedepth"]=function(){return Module["asm"]["_rtreedepth"].apply(null,arguments)};var _rtreenode=Module["_rtreenode"]=function(){return Module["asm"]["_rtreenode"].apply(null,arguments)};var _run_at_forkers=Module["_run_at_forkers"]=function(){return Module["asm"]["_run_at_forkers"].apply(null,arguments)};var _runpython_init_py=Module["_runpython_init_py"]=function(){return Module["asm"]["_runpython_init_py"].apply(null,arguments)};var _s_dealloc=Module["_s_dealloc"]=function(){return Module["asm"]["_s_dealloc"].apply(null,arguments)};var _s_get_format=Module["_s_get_format"]=function(){return Module["asm"]["_s_get_format"].apply(null,arguments)};var _s_get_size=Module["_s_get_size"]=function(){return Module["asm"]["_s_get_size"].apply(null,arguments)};var _s_new=Module["_s_new"]=function(){return Module["asm"]["_s_new"].apply(null,arguments)};var _s_pack=Module["_s_pack"]=function(){return Module["asm"]["_s_pack"].apply(null,arguments)};var _s_pack_internal=Module["_s_pack_internal"]=function(){return Module["asm"]["_s_pack_internal"].apply(null,arguments)};var _s_pack_into=Module["_s_pack_into"]=function(){return Module["asm"]["_s_pack_into"].apply(null,arguments)};var _s_sizeof=Module["_s_sizeof"]=function(){return Module["asm"]["_s_sizeof"].apply(null,arguments)};var _s_unpack_internal=Module["_s_unpack_internal"]=function(){return Module["asm"]["_s_unpack_internal"].apply(null,arguments)};var _safe_object_compare=Module["_safe_object_compare"]=function(){return Module["asm"]["_safe_object_compare"].apply(null,arguments)};var _samplePushPrevious=Module["_samplePushPrevious"]=function(){return Module["asm"]["_samplePushPrevious"].apply(null,arguments)};var _save=Module["_save"]=function(){return Module["asm"]["_save"].apply(null,arguments)};var _saveAllCursors=Module["_saveAllCursors"]=function(){return Module["asm"]["_saveAllCursors"].apply(null,arguments)};var _saveCursorKey=Module["_saveCursorKey"]=function(){return Module["asm"]["_saveCursorKey"].apply(null,arguments)};var _saveCursorPosition=Module["_saveCursorPosition"]=function(){return Module["asm"]["_saveCursorPosition"].apply(null,arguments)};var _saveCursorsOnList=Module["_saveCursorsOnList"]=function(){return Module["asm"]["_saveCursorsOnList"].apply(null,arguments)};var _saveSetjmp=Module["_saveSetjmp"]=function(){return Module["asm"]["_saveSetjmp"].apply(null,arguments)};var _save_global=Module["_save_global"]=function(){return Module["asm"]["_save_global"].apply(null,arguments)};var _save_reduce=Module["_save_reduce"]=function(){return Module["asm"]["_save_reduce"].apply(null,arguments)};var _save_unconsumed_input=Module["_save_unconsumed_input"]=function(){return Module["asm"]["_save_unconsumed_input"].apply(null,arguments)};var _savestate=Module["_savestate"]=function(){return Module["asm"]["_savestate"].apply(null,arguments)};var _sbrk=Module["_sbrk"]=function(){return Module["asm"]["_sbrk"].apply(null,arguments)};var _scalb=Module["_scalb"]=function(){return Module["asm"]["_scalb"].apply(null,arguments)};var _scalbf=Module["_scalbf"]=function(){return Module["asm"]["_scalbf"].apply(null,arguments)};var _scalbln=Module["_scalbln"]=function(){return Module["asm"]["_scalbln"].apply(null,arguments)};var _scalblnf=Module["_scalblnf"]=function(){return Module["asm"]["_scalblnf"].apply(null,arguments)};var _scalblnl=Module["_scalblnl"]=function(){return Module["asm"]["_scalblnl"].apply(null,arguments)};var _scalbn=Module["_scalbn"]=function(){return Module["asm"]["_scalbn"].apply(null,arguments)};var _scalbnf=Module["_scalbnf"]=function(){return Module["asm"]["_scalbnf"].apply(null,arguments)};var _scalbnl=Module["_scalbnl"]=function(){return Module["asm"]["_scalbnl"].apply(null,arguments)};var _scan_once_unicode=Module["_scan_once_unicode"]=function(){return Module["asm"]["_scan_once_unicode"].apply(null,arguments)};var _scandir=Module["_scandir"]=function(){return Module["asm"]["_scandir"].apply(null,arguments)};var _scanexp=Module["_scanexp"]=function(){return Module["asm"]["_scanexp"].apply(null,arguments)};var _scanf=Module["_scanf"]=function(){return Module["asm"]["_scanf"].apply(null,arguments)};var _scanner_call=Module["_scanner_call"]=function(){return Module["asm"]["_scanner_call"].apply(null,arguments)};var _scanner_clear=Module["_scanner_clear"]=function(){return Module["asm"]["_scanner_clear"].apply(null,arguments)};var _scanner_dealloc=Module["_scanner_dealloc"]=function(){return Module["asm"]["_scanner_dealloc"].apply(null,arguments)};var _scanner_dealloc_10520=Module["_scanner_dealloc_10520"]=function(){return Module["asm"]["_scanner_dealloc_10520"].apply(null,arguments)};var _scanner_new=Module["_scanner_new"]=function(){return Module["asm"]["_scanner_new"].apply(null,arguments)};var _scanner_traverse=Module["_scanner_traverse"]=function(){return Module["asm"]["_scanner_traverse"].apply(null,arguments)};var _scanstring_unicode=Module["_scanstring_unicode"]=function(){return Module["asm"]["_scanstring_unicode"].apply(null,arguments)};var _schemaIsValid=Module["_schemaIsValid"]=function(){return Module["asm"]["_schemaIsValid"].apply(null,arguments)};var _scopeof=Module["_scopeof"]=function(){return Module["asm"]["_scopeof"].apply(null,arguments)};var _searchWith=Module["_searchWith"]=function(){return Module["asm"]["_searchWith"].apply(null,arguments)};var _seed48=Module["_seed48"]=function(){return Module["asm"]["_seed48"].apply(null,arguments)};var _seekAndRead=Module["_seekAndRead"]=function(){return Module["asm"]["_seekAndRead"].apply(null,arguments)};var _seekAndWrite=Module["_seekAndWrite"]=function(){return Module["asm"]["_seekAndWrite"].apply(null,arguments)};var _seekAndWriteFd=Module["_seekAndWriteFd"]=function(){return Module["asm"]["_seekAndWriteFd"].apply(null,arguments)};var _seekdir=Module["_seekdir"]=function(){return Module["asm"]["_seekdir"].apply(null,arguments)};var _select=Module["_select"]=function(){return Module["asm"]["_select"].apply(null,arguments)};var _selectAddSubqueryTypeInfo=Module["_selectAddSubqueryTypeInfo"]=function(){return Module["asm"]["_selectAddSubqueryTypeInfo"].apply(null,arguments)};var _selectExpander=Module["_selectExpander"]=function(){return Module["asm"]["_selectExpander"].apply(null,arguments)};var _selectInnerLoop=Module["_selectInnerLoop"]=function(){return Module["asm"]["_selectInnerLoop"].apply(null,arguments)};var _selectOpName=Module["_selectOpName"]=function(){return Module["asm"]["_selectOpName"].apply(null,arguments)};var _selectPopWith=Module["_selectPopWith"]=function(){return Module["asm"]["_selectPopWith"].apply(null,arguments)};var _selectWindowRewriteEList=Module["_selectWindowRewriteEList"]=function(){return Module["asm"]["_selectWindowRewriteEList"].apply(null,arguments)};var _selectWindowRewriteExprCb=Module["_selectWindowRewriteExprCb"]=function(){return Module["asm"]["_selectWindowRewriteExprCb"].apply(null,arguments)};var _selectWindowRewriteSelectCb=Module["_selectWindowRewriteSelectCb"]=function(){return Module["asm"]["_selectWindowRewriteSelectCb"].apply(null,arguments)};var _select_poll=Module["_select_poll"]=function(){return Module["asm"]["_select_poll"].apply(null,arguments)};var _select_select=Module["_select_select"]=function(){return Module["asm"]["_select_select"].apply(null,arguments)};var _send=Module["_send"]=function(){return Module["asm"]["_send"].apply(null,arguments)};var _sendMTFValues=Module["_sendMTFValues"]=function(){return Module["asm"]["_sendMTFValues"].apply(null,arguments)};var _send_tree=Module["_send_tree"]=function(){return Module["asm"]["_send_tree"].apply(null,arguments)};var _sendmmsg=Module["_sendmmsg"]=function(){return Module["asm"]["_sendmmsg"].apply(null,arguments)};var _sendmsg=Module["_sendmsg"]=function(){return Module["asm"]["_sendmsg"].apply(null,arguments)};var _sendto=Module["_sendto"]=function(){return Module["asm"]["_sendto"].apply(null,arguments)};var _seq2set=Module["_seq2set"]=function(){return Module["asm"]["_seq2set"].apply(null,arguments)};var _serialGet=Module["_serialGet"]=function(){return Module["asm"]["_serialGet"].apply(null,arguments)};var _set2list=Module["_set2list"]=function(){return Module["asm"]["_set2list"].apply(null,arguments)};var _setAllPagerFlags=Module["_setAllPagerFlags"]=function(){return Module["asm"]["_setAllPagerFlags"].apply(null,arguments)};var _setChildPtrmaps=Module["_setChildPtrmaps"]=function(){return Module["asm"]["_setChildPtrmaps"].apply(null,arguments)};var _setContext=Module["_setContext"]=function(){return Module["asm"]["_setContext"].apply(null,arguments)};var _setDateTimeToCurrent=Module["_setDateTimeToCurrent"]=function(){return Module["asm"]["_setDateTimeToCurrent"].apply(null,arguments)};var _setDestPgsz=Module["_setDestPgsz"]=function(){return Module["asm"]["_setDestPgsz"].apply(null,arguments)};var _setDeviceCharacteristics=Module["_setDeviceCharacteristics"]=function(){return Module["asm"]["_setDeviceCharacteristics"].apply(null,arguments)};var _setElementTypePrefix=Module["_setElementTypePrefix"]=function(){return Module["asm"]["_setElementTypePrefix"].apply(null,arguments)};var _setGetterMethod=Module["_setGetterMethod"]=function(){return Module["asm"]["_setGetterMethod"].apply(null,arguments)};var _setJoinExpr=Module["_setJoinExpr"]=function(){return Module["asm"]["_setJoinExpr"].apply(null,arguments)};var _setLikeOptFlag=Module["_setLikeOptFlag"]=function(){return Module["asm"]["_setLikeOptFlag"].apply(null,arguments)};var _setPageReferenced=Module["_setPageReferenced"]=function(){return Module["asm"]["_setPageReferenced"].apply(null,arguments)};var _setPendingFd=Module["_setPendingFd"]=function(){return Module["asm"]["_setPendingFd"].apply(null,arguments)};var _setPragmaResultColumnNames=Module["_setPragmaResultColumnNames"]=function(){return Module["asm"]["_setPragmaResultColumnNames"].apply(null,arguments)};var _setRawDateNumber=Module["_setRawDateNumber"]=function(){return Module["asm"]["_setRawDateNumber"].apply(null,arguments)};var _setResultStrOrError=Module["_setResultStrOrError"]=function(){return Module["asm"]["_setResultStrOrError"].apply(null,arguments)};var _setSectorSize=Module["_setSectorSize"]=function(){return Module["asm"]["_setSectorSize"].apply(null,arguments)};var _setSharedCacheTableLock=Module["_setSharedCacheTableLock"]=function(){return Module["asm"]["_setSharedCacheTableLock"].apply(null,arguments)};var _setStrAccumError=Module["_setStrAccumError"]=function(){return Module["asm"]["_setStrAccumError"].apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return Module["asm"]["_setThrew"].apply(null,arguments)};var _set_add=Module["_set_add"]=function(){return Module["asm"]["_set_add"].apply(null,arguments)};var _set_add_entry=Module["_set_add_entry"]=function(){return Module["asm"]["_set_add_entry"].apply(null,arguments)};var _set_and=Module["_set_and"]=function(){return Module["asm"]["_set_and"].apply(null,arguments)};var _set_clear=Module["_set_clear"]=function(){return Module["asm"]["_set_clear"].apply(null,arguments)};var _set_clear_internal=Module["_set_clear_internal"]=function(){return Module["asm"]["_set_clear_internal"].apply(null,arguments)};var _set_contains=Module["_set_contains"]=function(){return Module["asm"]["_set_contains"].apply(null,arguments)};var _set_context=Module["_set_context"]=function(){return Module["asm"]["_set_context"].apply(null,arguments)};var _set_copy=Module["_set_copy"]=function(){return Module["asm"]["_set_copy"].apply(null,arguments)};var _set_dealloc=Module["_set_dealloc"]=function(){return Module["asm"]["_set_dealloc"].apply(null,arguments)};var _set_difference=Module["_set_difference"]=function(){return Module["asm"]["_set_difference"].apply(null,arguments)};var _set_difference_multi=Module["_set_difference_multi"]=function(){return Module["asm"]["_set_difference_multi"].apply(null,arguments)};var _set_difference_update=Module["_set_difference_update"]=function(){return Module["asm"]["_set_difference_update"].apply(null,arguments)};var _set_difference_update_internal=Module["_set_difference_update_internal"]=function(){return Module["asm"]["_set_difference_update_internal"].apply(null,arguments)};var _set_direct_contains=Module["_set_direct_contains"]=function(){return Module["asm"]["_set_direct_contains"].apply(null,arguments)};var _set_discard=Module["_set_discard"]=function(){return Module["asm"]["_set_discard"].apply(null,arguments)};var _set_error=Module["_set_error"]=function(){return Module["asm"]["_set_error"].apply(null,arguments)};var _set_error_8180=Module["_set_error_8180"]=function(){return Module["asm"]["_set_error_8180"].apply(null,arguments)};var _set_iand=Module["_set_iand"]=function(){return Module["asm"]["_set_iand"].apply(null,arguments)};var _set_inflate_zdict=Module["_set_inflate_zdict"]=function(){return Module["asm"]["_set_inflate_zdict"].apply(null,arguments)};var _set_init=Module["_set_init"]=function(){return Module["asm"]["_set_init"].apply(null,arguments)};var _set_intersection=Module["_set_intersection"]=function(){return Module["asm"]["_set_intersection"].apply(null,arguments)};var _set_intersection_multi=Module["_set_intersection_multi"]=function(){return Module["asm"]["_set_intersection_multi"].apply(null,arguments)};var _set_intersection_update_multi=Module["_set_intersection_update_multi"]=function(){return Module["asm"]["_set_intersection_update_multi"].apply(null,arguments)};var _set_ior=Module["_set_ior"]=function(){return Module["asm"]["_set_ior"].apply(null,arguments)};var _set_isdisjoint=Module["_set_isdisjoint"]=function(){return Module["asm"]["_set_isdisjoint"].apply(null,arguments)};var _set_issubset=Module["_set_issubset"]=function(){return Module["asm"]["_set_issubset"].apply(null,arguments)};var _set_issuperset=Module["_set_issuperset"]=function(){return Module["asm"]["_set_issuperset"].apply(null,arguments)};var _set_isub=Module["_set_isub"]=function(){return Module["asm"]["_set_isub"].apply(null,arguments)};var _set_iter=Module["_set_iter"]=function(){return Module["asm"]["_set_iter"].apply(null,arguments)};var _set_ixor=Module["_set_ixor"]=function(){return Module["asm"]["_set_ixor"].apply(null,arguments)};var _set_len=Module["_set_len"]=function(){return Module["asm"]["_set_len"].apply(null,arguments)};var _set_lookkey=Module["_set_lookkey"]=function(){return Module["asm"]["_set_lookkey"].apply(null,arguments)};var _set_main_loader=Module["_set_main_loader"]=function(){return Module["asm"]["_set_main_loader"].apply(null,arguments)};var _set_new=Module["_set_new"]=function(){return Module["asm"]["_set_new"].apply(null,arguments)};var _set_newline=Module["_set_newline"]=function(){return Module["asm"]["_set_newline"].apply(null,arguments)};var _set_or=Module["_set_or"]=function(){return Module["asm"]["_set_or"].apply(null,arguments)};var _set_pop=Module["_set_pop"]=function(){return Module["asm"]["_set_pop"].apply(null,arguments)};var _set_reduce=Module["_set_reduce"]=function(){return Module["asm"]["_set_reduce"].apply(null,arguments)};var _set_remove=Module["_set_remove"]=function(){return Module["asm"]["_set_remove"].apply(null,arguments)};var _set_repr=Module["_set_repr"]=function(){return Module["asm"]["_set_repr"].apply(null,arguments)};var _set_richcompare=Module["_set_richcompare"]=function(){return Module["asm"]["_set_richcompare"].apply(null,arguments)};var _set_sizeof=Module["_set_sizeof"]=function(){return Module["asm"]["_set_sizeof"].apply(null,arguments)};var _set_sub=Module["_set_sub"]=function(){return Module["asm"]["_set_sub"].apply(null,arguments)};var _set_swap_bodies=Module["_set_swap_bodies"]=function(){return Module["asm"]["_set_swap_bodies"].apply(null,arguments)};var _set_symmetric_difference=Module["_set_symmetric_difference"]=function(){return Module["asm"]["_set_symmetric_difference"].apply(null,arguments)};var _set_symmetric_difference_update=Module["_set_symmetric_difference_update"]=function(){return Module["asm"]["_set_symmetric_difference_update"].apply(null,arguments)};var _set_table_resize=Module["_set_table_resize"]=function(){return Module["asm"]["_set_table_resize"].apply(null,arguments)};var _set_traverse=Module["_set_traverse"]=function(){return Module["asm"]["_set_traverse"].apply(null,arguments)};var _set_union=Module["_set_union"]=function(){return Module["asm"]["_set_union"].apply(null,arguments)};var _set_update=Module["_set_update"]=function(){return Module["asm"]["_set_update"].apply(null,arguments)};var _set_update_internal=Module["_set_update_internal"]=function(){return Module["asm"]["_set_update_internal"].apply(null,arguments)};var _set_xor=Module["_set_xor"]=function(){return Module["asm"]["_set_xor"].apply(null,arguments)};var _setbuf=Module["_setbuf"]=function(){return Module["asm"]["_setbuf"].apply(null,arguments)};var _setbuffer=Module["_setbuffer"]=function(){return Module["asm"]["_setbuffer"].apply(null,arguments)};var _setdomainname=Module["_setdomainname"]=function(){return Module["asm"]["_setdomainname"].apply(null,arguments)};var _setegid=Module["_setegid"]=function(){return Module["asm"]["_setegid"].apply(null,arguments)};var _seterror=Module["_seterror"]=function(){return Module["asm"]["_seterror"].apply(null,arguments)};var _seteuid=Module["_seteuid"]=function(){return Module["asm"]["_seteuid"].apply(null,arguments)};var _setgid=Module["_setgid"]=function(){return Module["asm"]["_setgid"].apply(null,arguments)};var _sethostent=Module["_sethostent"]=function(){return Module["asm"]["_sethostent"].apply(null,arguments)};var _setipaddr=Module["_setipaddr"]=function(){return Module["asm"]["_setipaddr"].apply(null,arguments)};var _setiter_dealloc=Module["_setiter_dealloc"]=function(){return Module["asm"]["_setiter_dealloc"].apply(null,arguments)};var _setiter_iternext=Module["_setiter_iternext"]=function(){return Module["asm"]["_setiter_iternext"].apply(null,arguments)};var _setiter_len=Module["_setiter_len"]=function(){return Module["asm"]["_setiter_len"].apply(null,arguments)};var _setiter_reduce=Module["_setiter_reduce"]=function(){return Module["asm"]["_setiter_reduce"].apply(null,arguments)};var _setiter_traverse=Module["_setiter_traverse"]=function(){return Module["asm"]["_setiter_traverse"].apply(null,arguments)};var _setkey=Module["_setkey"]=function(){return Module["asm"]["_setkey"].apply(null,arguments)};var _setlinebuf=Module["_setlinebuf"]=function(){return Module["asm"]["_setlinebuf"].apply(null,arguments)};var _setlocale=Module["_setlocale"]=function(){return Module["asm"]["_setlocale"].apply(null,arguments)};var _setlocale_one_unlocked=Module["_setlocale_one_unlocked"]=function(){return Module["asm"]["_setlocale_one_unlocked"].apply(null,arguments)};var _setlogmask=Module["_setlogmask"]=function(){return Module["asm"]["_setlogmask"].apply(null,arguments)};var _setmntent=Module["_setmntent"]=function(){return Module["asm"]["_setmntent"].apply(null,arguments)};var _setpgid=Module["_setpgid"]=function(){return Module["asm"]["_setpgid"].apply(null,arguments)};var _setpgrp=Module["_setpgrp"]=function(){return Module["asm"]["_setpgrp"].apply(null,arguments)};var _setpriority=Module["_setpriority"]=function(){return Module["asm"]["_setpriority"].apply(null,arguments)};var _setregid=Module["_setregid"]=function(){return Module["asm"]["_setregid"].apply(null,arguments)};var _setresgid=Module["_setresgid"]=function(){return Module["asm"]["_setresgid"].apply(null,arguments)};var _setresuid=Module["_setresuid"]=function(){return Module["asm"]["_setresuid"].apply(null,arguments)};var _setreuid=Module["_setreuid"]=function(){return Module["asm"]["_setreuid"].apply(null,arguments)};var _setrlimit=Module["_setrlimit"]=function(){return Module["asm"]["_setrlimit"].apply(null,arguments)};var _setservent=Module["_setservent"]=function(){return Module["asm"]["_setservent"].apply(null,arguments)};var _setsid=Module["_setsid"]=function(){return Module["asm"]["_setsid"].apply(null,arguments)};var _setsockopt=Module["_setsockopt"]=function(){return Module["asm"]["_setsockopt"].apply(null,arguments)};var _setstate=Module["_setstate"]=function(){return Module["asm"]["_setstate"].apply(null,arguments)};var _setuid=Module["_setuid"]=function(){return Module["asm"]["_setuid"].apply(null,arguments)};var _setupLookaside=Module["_setupLookaside"]=function(){return Module["asm"]["_setupLookaside"].apply(null,arguments)};var _setup_confname_table=Module["_setup_confname_table"]=function(){return Module["asm"]["_setup_confname_table"].apply(null,arguments)};var _setup_salt=Module["_setup_salt"]=function(){return Module["asm"]["_setup_salt"].apply(null,arguments)};var _setvbuf=Module["_setvbuf"]=function(){return Module["asm"]["_setvbuf"].apply(null,arguments)};var _sfnt_done_face=Module["_sfnt_done_face"]=function(){return Module["asm"]["_sfnt_done_face"].apply(null,arguments)};var _sfnt_get_charset_id=Module["_sfnt_get_charset_id"]=function(){return Module["asm"]["_sfnt_get_charset_id"].apply(null,arguments)};var _sfnt_get_glyph_name=Module["_sfnt_get_glyph_name"]=function(){return Module["asm"]["_sfnt_get_glyph_name"].apply(null,arguments)};var _sfnt_get_interface=Module["_sfnt_get_interface"]=function(){return Module["asm"]["_sfnt_get_interface"].apply(null,arguments)};var _sfnt_get_name_index=Module["_sfnt_get_name_index"]=function(){return Module["asm"]["_sfnt_get_name_index"].apply(null,arguments)};var _sfnt_get_ps_name=Module["_sfnt_get_ps_name"]=function(){return Module["asm"]["_sfnt_get_ps_name"].apply(null,arguments)};var _sfnt_init_face=Module["_sfnt_init_face"]=function(){return Module["asm"]["_sfnt_init_face"].apply(null,arguments)};var _sfnt_load_face=Module["_sfnt_load_face"]=function(){return Module["asm"]["_sfnt_load_face"].apply(null,arguments)};var _sfnt_stream_close=Module["_sfnt_stream_close"]=function(){return Module["asm"]["_sfnt_stream_close"].apply(null,arguments)};var _sfnt_table_info=Module["_sfnt_table_info"]=function(){return Module["asm"]["_sfnt_table_info"].apply(null,arguments)};var _sha1_compress=Module["_sha1_compress"]=function(){return Module["asm"]["_sha1_compress"].apply(null,arguments)};var _sha1_done=Module["_sha1_done"]=function(){return Module["asm"]["_sha1_done"].apply(null,arguments)};var _sha1_get_digest_size=Module["_sha1_get_digest_size"]=function(){return Module["asm"]["_sha1_get_digest_size"].apply(null,arguments)};var _sha256_init=Module["_sha256_init"]=function(){return Module["asm"]["_sha256_init"].apply(null,arguments)};var _sha256_sum=Module["_sha256_sum"]=function(){return Module["asm"]["_sha256_sum"].apply(null,arguments)};var _sha256_update=Module["_sha256_update"]=function(){return Module["asm"]["_sha256_update"].apply(null,arguments)};var _sha256crypt=Module["_sha256crypt"]=function(){return Module["asm"]["_sha256crypt"].apply(null,arguments)};var _sha512_final=Module["_sha512_final"]=function(){return Module["asm"]["_sha512_final"].apply(null,arguments)};var _sha512_init=Module["_sha512_init"]=function(){return Module["asm"]["_sha512_init"].apply(null,arguments)};var _sha512_sum=Module["_sha512_sum"]=function(){return Module["asm"]["_sha512_sum"].apply(null,arguments)};var _sha512_transform=Module["_sha512_transform"]=function(){return Module["asm"]["_sha512_transform"].apply(null,arguments)};var _sha512_update=Module["_sha512_update"]=function(){return Module["asm"]["_sha512_update"].apply(null,arguments)};var _sha512crypt=Module["_sha512crypt"]=function(){return Module["asm"]["_sha512crypt"].apply(null,arguments)};var _sha_final=Module["_sha_final"]=function(){return Module["asm"]["_sha_final"].apply(null,arguments)};var _sha_transform=Module["_sha_transform"]=function(){return Module["asm"]["_sha_transform"].apply(null,arguments)};var _shift_jis_2004_decode=Module["_shift_jis_2004_decode"]=function(){return Module["asm"]["_shift_jis_2004_decode"].apply(null,arguments)};var _shift_jis_2004_encode=Module["_shift_jis_2004_encode"]=function(){return Module["asm"]["_shift_jis_2004_encode"].apply(null,arguments)};var _shift_jis_decode=Module["_shift_jis_decode"]=function(){return Module["asm"]["_shift_jis_decode"].apply(null,arguments)};var _shift_jis_encode=Module["_shift_jis_encode"]=function(){return Module["asm"]["_shift_jis_encode"].apply(null,arguments)};var _shl=Module["_shl"]=function(){return Module["asm"]["_shl"].apply(null,arguments)};var _shm_open=Module["_shm_open"]=function(){return Module["asm"]["_shm_open"].apply(null,arguments)};var _shm_unlink=Module["_shm_unlink"]=function(){return Module["asm"]["_shm_unlink"].apply(null,arguments)};var _shr=Module["_shr"]=function(){return Module["asm"]["_shr"].apply(null,arguments)};var _shutdown=Module["_shutdown"]=function(){return Module["asm"]["_shutdown"].apply(null,arguments)};var _sift=Module["_sift"]=function(){return Module["asm"]["_sift"].apply(null,arguments)};var _siftup=Module["_siftup"]=function(){return Module["asm"]["_siftup"].apply(null,arguments)};var _siftup_max=Module["_siftup_max"]=function(){return Module["asm"]["_siftup_max"].apply(null,arguments)};var _signal_alarm=Module["_signal_alarm"]=function(){return Module["asm"]["_signal_alarm"].apply(null,arguments)};var _signal_default_int_handler=Module["_signal_default_int_handler"]=function(){return Module["asm"]["_signal_default_int_handler"].apply(null,arguments)};var _signal_getitimer=Module["_signal_getitimer"]=function(){return Module["asm"]["_signal_getitimer"].apply(null,arguments)};var _signal_getsignal=Module["_signal_getsignal"]=function(){return Module["asm"]["_signal_getsignal"].apply(null,arguments)};var _signal_handler=Module["_signal_handler"]=function(){return Module["asm"]["_signal_handler"].apply(null,arguments)};var _signal_pause=Module["_signal_pause"]=function(){return Module["asm"]["_signal_pause"].apply(null,arguments)};var _signal_pthread_sigmask=Module["_signal_pthread_sigmask"]=function(){return Module["asm"]["_signal_pthread_sigmask"].apply(null,arguments)};var _signal_set_wakeup_fd=Module["_signal_set_wakeup_fd"]=function(){return Module["asm"]["_signal_set_wakeup_fd"].apply(null,arguments)};var _signal_setitimer=Module["_signal_setitimer"]=function(){return Module["asm"]["_signal_setitimer"].apply(null,arguments)};var _signal_siginterrupt=Module["_signal_siginterrupt"]=function(){return Module["asm"]["_signal_siginterrupt"].apply(null,arguments)};var _signal_signal=Module["_signal_signal"]=function(){return Module["asm"]["_signal_signal"].apply(null,arguments)};var _signal_sigpending=Module["_signal_sigpending"]=function(){return Module["asm"]["_signal_sigpending"].apply(null,arguments)};var _signaldict_copy=Module["_signaldict_copy"]=function(){return Module["asm"]["_signaldict_copy"].apply(null,arguments)};var _signaldict_getitem=Module["_signaldict_getitem"]=function(){return Module["asm"]["_signaldict_getitem"].apply(null,arguments)};var _signaldict_init=Module["_signaldict_init"]=function(){return Module["asm"]["_signaldict_init"].apply(null,arguments)};var _signaldict_iter=Module["_signaldict_iter"]=function(){return Module["asm"]["_signaldict_iter"].apply(null,arguments)};var _signaldict_len=Module["_signaldict_len"]=function(){return Module["asm"]["_signaldict_len"].apply(null,arguments)};var _signaldict_repr=Module["_signaldict_repr"]=function(){return Module["asm"]["_signaldict_repr"].apply(null,arguments)};var _signaldict_richcompare=Module["_signaldict_richcompare"]=function(){return Module["asm"]["_signaldict_richcompare"].apply(null,arguments)};var _signaldict_setitem=Module["_signaldict_setitem"]=function(){return Module["asm"]["_signaldict_setitem"].apply(null,arguments)};var _significand=Module["_significand"]=function(){return Module["asm"]["_significand"].apply(null,arguments)};var _significandf=Module["_significandf"]=function(){return Module["asm"]["_significandf"].apply(null,arguments)};var _sigset_to_set=Module["_sigset_to_set"]=function(){return Module["asm"]["_sigset_to_set"].apply(null,arguments)};var _simpleClose=Module["_simpleClose"]=function(){return Module["asm"]["_simpleClose"].apply(null,arguments)};var _simpleCreate=Module["_simpleCreate"]=function(){return Module["asm"]["_simpleCreate"].apply(null,arguments)};var _simpleDelim=Module["_simpleDelim"]=function(){return Module["asm"]["_simpleDelim"].apply(null,arguments)};var _simpleDestroy=Module["_simpleDestroy"]=function(){return Module["asm"]["_simpleDestroy"].apply(null,arguments)};var _simpleNext=Module["_simpleNext"]=function(){return Module["asm"]["_simpleNext"].apply(null,arguments)};var _simpleOpen=Module["_simpleOpen"]=function(){return Module["asm"]["_simpleOpen"].apply(null,arguments)};var _simplequeue_dealloc=Module["_simplequeue_dealloc"]=function(){return Module["asm"]["_simplequeue_dealloc"].apply(null,arguments)};var _simplequeue_new=Module["_simplequeue_new"]=function(){return Module["asm"]["_simplequeue_new"].apply(null,arguments)};var _simplequeue_traverse=Module["_simplequeue_traverse"]=function(){return Module["asm"]["_simplequeue_traverse"].apply(null,arguments)};var _sin=Module["_sin"]=function(){return Module["asm"]["_sin"].apply(null,arguments)};var _sin_pi=Module["_sin_pi"]=function(){return Module["asm"]["_sin_pi"].apply(null,arguments)};var _sin_pi_279=Module["_sin_pi_279"]=function(){return Module["asm"]["_sin_pi_279"].apply(null,arguments)};var _sincos=Module["_sincos"]=function(){return Module["asm"]["_sincos"].apply(null,arguments)};var _sincosf=Module["_sincosf"]=function(){return Module["asm"]["_sincosf"].apply(null,arguments)};var _sincosl=Module["_sincosl"]=function(){return Module["asm"]["_sincosl"].apply(null,arguments)};var _sinf=Module["_sinf"]=function(){return Module["asm"]["_sinf"].apply(null,arguments)};var _sinh=Module["_sinh"]=function(){return Module["asm"]["_sinh"].apply(null,arguments)};var _sinhf=Module["_sinhf"]=function(){return Module["asm"]["_sinhf"].apply(null,arguments)};var _sinhl=Module["_sinhl"]=function(){return Module["asm"]["_sinhl"].apply(null,arguments)};var _sinl=Module["_sinl"]=function(){return Module["asm"]["_sinl"].apply(null,arguments)};var _sinpi=Module["_sinpi"]=function(){return Module["asm"]["_sinpi"].apply(null,arguments)};var _sip24_final=Module["_sip24_final"]=function(){return Module["asm"]["_sip24_final"].apply(null,arguments)};var _six_step_fnt=Module["_six_step_fnt"]=function(){return Module["asm"]["_six_step_fnt"].apply(null,arguments)};var _sizeofchildren=Module["_sizeofchildren"]=function(){return Module["asm"]["_sizeofchildren"].apply(null,arguments)};var _skip_literal_string=Module["_skip_literal_string"]=function(){return Module["asm"]["_skip_literal_string"].apply(null,arguments)};var _skip_spaces=Module["_skip_spaces"]=function(){return Module["asm"]["_skip_spaces"].apply(null,arguments)};var _skip_string=Module["_skip_string"]=function(){return Module["asm"]["_skip_string"].apply(null,arguments)};var _skipitem=Module["_skipitem"]=function(){return Module["asm"]["_skipitem"].apply(null,arguments)};var _skipspace=Module["_skipspace"]=function(){return Module["asm"]["_skipspace"].apply(null,arguments)};var _sleep=Module["_sleep"]=function(){return Module["asm"]["_sleep"].apply(null,arguments)};var _slice_dealloc=Module["_slice_dealloc"]=function(){return Module["asm"]["_slice_dealloc"].apply(null,arguments)};var _slice_indices=Module["_slice_indices"]=function(){return Module["asm"]["_slice_indices"].apply(null,arguments)};var _slice_new=Module["_slice_new"]=function(){return Module["asm"]["_slice_new"].apply(null,arguments)};var _slice_reduce=Module["_slice_reduce"]=function(){return Module["asm"]["_slice_reduce"].apply(null,arguments)};var _slice_repr=Module["_slice_repr"]=function(){return Module["asm"]["_slice_repr"].apply(null,arguments)};var _slice_richcompare=Module["_slice_richcompare"]=function(){return Module["asm"]["_slice_richcompare"].apply(null,arguments)};var _slice_traverse=Module["_slice_traverse"]=function(){return Module["asm"]["_slice_traverse"].apply(null,arguments)};var _slot_am_aiter=Module["_slot_am_aiter"]=function(){return Module["asm"]["_slot_am_aiter"].apply(null,arguments)};var _slot_am_anext=Module["_slot_am_anext"]=function(){return Module["asm"]["_slot_am_anext"].apply(null,arguments)};var _slot_am_await=Module["_slot_am_await"]=function(){return Module["asm"]["_slot_am_await"].apply(null,arguments)};var _slot_mp_ass_subscript=Module["_slot_mp_ass_subscript"]=function(){return Module["asm"]["_slot_mp_ass_subscript"].apply(null,arguments)};var _slot_mp_subscript=Module["_slot_mp_subscript"]=function(){return Module["asm"]["_slot_mp_subscript"].apply(null,arguments)};var _slot_nb_absolute=Module["_slot_nb_absolute"]=function(){return Module["asm"]["_slot_nb_absolute"].apply(null,arguments)};var _slot_nb_add=Module["_slot_nb_add"]=function(){return Module["asm"]["_slot_nb_add"].apply(null,arguments)};var _slot_nb_and=Module["_slot_nb_and"]=function(){return Module["asm"]["_slot_nb_and"].apply(null,arguments)};var _slot_nb_bool=Module["_slot_nb_bool"]=function(){return Module["asm"]["_slot_nb_bool"].apply(null,arguments)};var _slot_nb_divmod=Module["_slot_nb_divmod"]=function(){return Module["asm"]["_slot_nb_divmod"].apply(null,arguments)};var _slot_nb_float=Module["_slot_nb_float"]=function(){return Module["asm"]["_slot_nb_float"].apply(null,arguments)};var _slot_nb_floor_divide=Module["_slot_nb_floor_divide"]=function(){return Module["asm"]["_slot_nb_floor_divide"].apply(null,arguments)};var _slot_nb_index=Module["_slot_nb_index"]=function(){return Module["asm"]["_slot_nb_index"].apply(null,arguments)};var _slot_nb_inplace_add=Module["_slot_nb_inplace_add"]=function(){return Module["asm"]["_slot_nb_inplace_add"].apply(null,arguments)};var _slot_nb_inplace_and=Module["_slot_nb_inplace_and"]=function(){return Module["asm"]["_slot_nb_inplace_and"].apply(null,arguments)};var _slot_nb_inplace_floor_divide=Module["_slot_nb_inplace_floor_divide"]=function(){return Module["asm"]["_slot_nb_inplace_floor_divide"].apply(null,arguments)};var _slot_nb_inplace_lshift=Module["_slot_nb_inplace_lshift"]=function(){return Module["asm"]["_slot_nb_inplace_lshift"].apply(null,arguments)};var _slot_nb_inplace_matrix_multiply=Module["_slot_nb_inplace_matrix_multiply"]=function(){return Module["asm"]["_slot_nb_inplace_matrix_multiply"].apply(null,arguments)};var _slot_nb_inplace_multiply=Module["_slot_nb_inplace_multiply"]=function(){return Module["asm"]["_slot_nb_inplace_multiply"].apply(null,arguments)};var _slot_nb_inplace_or=Module["_slot_nb_inplace_or"]=function(){return Module["asm"]["_slot_nb_inplace_or"].apply(null,arguments)};var _slot_nb_inplace_power=Module["_slot_nb_inplace_power"]=function(){return Module["asm"]["_slot_nb_inplace_power"].apply(null,arguments)};var _slot_nb_inplace_remainder=Module["_slot_nb_inplace_remainder"]=function(){return Module["asm"]["_slot_nb_inplace_remainder"].apply(null,arguments)};var _slot_nb_inplace_rshift=Module["_slot_nb_inplace_rshift"]=function(){return Module["asm"]["_slot_nb_inplace_rshift"].apply(null,arguments)};var _slot_nb_inplace_subtract=Module["_slot_nb_inplace_subtract"]=function(){return Module["asm"]["_slot_nb_inplace_subtract"].apply(null,arguments)};var _slot_nb_inplace_true_divide=Module["_slot_nb_inplace_true_divide"]=function(){return Module["asm"]["_slot_nb_inplace_true_divide"].apply(null,arguments)};var _slot_nb_inplace_xor=Module["_slot_nb_inplace_xor"]=function(){return Module["asm"]["_slot_nb_inplace_xor"].apply(null,arguments)};var _slot_nb_int=Module["_slot_nb_int"]=function(){return Module["asm"]["_slot_nb_int"].apply(null,arguments)};var _slot_nb_invert=Module["_slot_nb_invert"]=function(){return Module["asm"]["_slot_nb_invert"].apply(null,arguments)};var _slot_nb_lshift=Module["_slot_nb_lshift"]=function(){return Module["asm"]["_slot_nb_lshift"].apply(null,arguments)};var _slot_nb_matrix_multiply=Module["_slot_nb_matrix_multiply"]=function(){return Module["asm"]["_slot_nb_matrix_multiply"].apply(null,arguments)};var _slot_nb_multiply=Module["_slot_nb_multiply"]=function(){return Module["asm"]["_slot_nb_multiply"].apply(null,arguments)};var _slot_nb_negative=Module["_slot_nb_negative"]=function(){return Module["asm"]["_slot_nb_negative"].apply(null,arguments)};var _slot_nb_or=Module["_slot_nb_or"]=function(){return Module["asm"]["_slot_nb_or"].apply(null,arguments)};var _slot_nb_positive=Module["_slot_nb_positive"]=function(){return Module["asm"]["_slot_nb_positive"].apply(null,arguments)};var _slot_nb_power=Module["_slot_nb_power"]=function(){return Module["asm"]["_slot_nb_power"].apply(null,arguments)};var _slot_nb_remainder=Module["_slot_nb_remainder"]=function(){return Module["asm"]["_slot_nb_remainder"].apply(null,arguments)};var _slot_nb_rshift=Module["_slot_nb_rshift"]=function(){return Module["asm"]["_slot_nb_rshift"].apply(null,arguments)};var _slot_nb_subtract=Module["_slot_nb_subtract"]=function(){return Module["asm"]["_slot_nb_subtract"].apply(null,arguments)};var _slot_nb_true_divide=Module["_slot_nb_true_divide"]=function(){return Module["asm"]["_slot_nb_true_divide"].apply(null,arguments)};var _slot_nb_xor=Module["_slot_nb_xor"]=function(){return Module["asm"]["_slot_nb_xor"].apply(null,arguments)};var _slot_sq_ass_item=Module["_slot_sq_ass_item"]=function(){return Module["asm"]["_slot_sq_ass_item"].apply(null,arguments)};var _slot_sq_contains=Module["_slot_sq_contains"]=function(){return Module["asm"]["_slot_sq_contains"].apply(null,arguments)};var _slot_sq_item=Module["_slot_sq_item"]=function(){return Module["asm"]["_slot_sq_item"].apply(null,arguments)};var _slot_sq_length=Module["_slot_sq_length"]=function(){return Module["asm"]["_slot_sq_length"].apply(null,arguments)};var _slot_tp_call=Module["_slot_tp_call"]=function(){return Module["asm"]["_slot_tp_call"].apply(null,arguments)};var _slot_tp_descr_get=Module["_slot_tp_descr_get"]=function(){return Module["asm"]["_slot_tp_descr_get"].apply(null,arguments)};var _slot_tp_descr_set=Module["_slot_tp_descr_set"]=function(){return Module["asm"]["_slot_tp_descr_set"].apply(null,arguments)};var _slot_tp_finalize=Module["_slot_tp_finalize"]=function(){return Module["asm"]["_slot_tp_finalize"].apply(null,arguments)};var _slot_tp_getattr_hook=Module["_slot_tp_getattr_hook"]=function(){return Module["asm"]["_slot_tp_getattr_hook"].apply(null,arguments)};var _slot_tp_getattro=Module["_slot_tp_getattro"]=function(){return Module["asm"]["_slot_tp_getattro"].apply(null,arguments)};var _slot_tp_hash=Module["_slot_tp_hash"]=function(){return Module["asm"]["_slot_tp_hash"].apply(null,arguments)};var _slot_tp_init=Module["_slot_tp_init"]=function(){return Module["asm"]["_slot_tp_init"].apply(null,arguments)};var _slot_tp_iter=Module["_slot_tp_iter"]=function(){return Module["asm"]["_slot_tp_iter"].apply(null,arguments)};var _slot_tp_iternext=Module["_slot_tp_iternext"]=function(){return Module["asm"]["_slot_tp_iternext"].apply(null,arguments)};var _slot_tp_new=Module["_slot_tp_new"]=function(){return Module["asm"]["_slot_tp_new"].apply(null,arguments)};var _slot_tp_repr=Module["_slot_tp_repr"]=function(){return Module["asm"]["_slot_tp_repr"].apply(null,arguments)};var _slot_tp_richcompare=Module["_slot_tp_richcompare"]=function(){return Module["asm"]["_slot_tp_richcompare"].apply(null,arguments)};var _slot_tp_setattro=Module["_slot_tp_setattro"]=function(){return Module["asm"]["_slot_tp_setattro"].apply(null,arguments)};var _slot_tp_str=Module["_slot_tp_str"]=function(){return Module["asm"]["_slot_tp_str"].apply(null,arguments)};var _sm_clear=Module["_sm_clear"]=function(){return Module["asm"]["_sm_clear"].apply(null,arguments)};var _sm_dealloc=Module["_sm_dealloc"]=function(){return Module["asm"]["_sm_dealloc"].apply(null,arguments)};var _sm_descr_get=Module["_sm_descr_get"]=function(){return Module["asm"]["_sm_descr_get"].apply(null,arguments)};var _sm_get___isabstractmethod__=Module["_sm_get___isabstractmethod__"]=function(){return Module["asm"]["_sm_get___isabstractmethod__"].apply(null,arguments)};var _sm_init=Module["_sm_init"]=function(){return Module["asm"]["_sm_init"].apply(null,arguments)};var _sm_traverse=Module["_sm_traverse"]=function(){return Module["asm"]["_sm_traverse"].apply(null,arguments)};var _sn_write=Module["_sn_write"]=function(){return Module["asm"]["_sn_write"].apply(null,arguments)};var _snprintf=Module["_snprintf"]=function(){return Module["asm"]["_snprintf"].apply(null,arguments)};var _sock_accept=Module["_sock_accept"]=function(){return Module["asm"]["_sock_accept"].apply(null,arguments)};var _sock_accept_impl=Module["_sock_accept_impl"]=function(){return Module["asm"]["_sock_accept_impl"].apply(null,arguments)};var _sock_bind=Module["_sock_bind"]=function(){return Module["asm"]["_sock_bind"].apply(null,arguments)};var _sock_call_ex=Module["_sock_call_ex"]=function(){return Module["asm"]["_sock_call_ex"].apply(null,arguments)};var _sock_close=Module["_sock_close"]=function(){return Module["asm"]["_sock_close"].apply(null,arguments)};var _sock_connect=Module["_sock_connect"]=function(){return Module["asm"]["_sock_connect"].apply(null,arguments)};var _sock_connect_ex=Module["_sock_connect_ex"]=function(){return Module["asm"]["_sock_connect_ex"].apply(null,arguments)};var _sock_connect_impl=Module["_sock_connect_impl"]=function(){return Module["asm"]["_sock_connect_impl"].apply(null,arguments)};var _sock_dealloc=Module["_sock_dealloc"]=function(){return Module["asm"]["_sock_dealloc"].apply(null,arguments)};var _sock_detach=Module["_sock_detach"]=function(){return Module["asm"]["_sock_detach"].apply(null,arguments)};var _sock_fileno=Module["_sock_fileno"]=function(){return Module["asm"]["_sock_fileno"].apply(null,arguments)};var _sock_finalize=Module["_sock_finalize"]=function(){return Module["asm"]["_sock_finalize"].apply(null,arguments)};var _sock_getblocking=Module["_sock_getblocking"]=function(){return Module["asm"]["_sock_getblocking"].apply(null,arguments)};var _sock_getsockname=Module["_sock_getsockname"]=function(){return Module["asm"]["_sock_getsockname"].apply(null,arguments)};var _sock_getsockopt=Module["_sock_getsockopt"]=function(){return Module["asm"]["_sock_getsockopt"].apply(null,arguments)};var _sock_gettimeout=Module["_sock_gettimeout"]=function(){return Module["asm"]["_sock_gettimeout"].apply(null,arguments)};var _sock_initobj=Module["_sock_initobj"]=function(){return Module["asm"]["_sock_initobj"].apply(null,arguments)};var _sock_listen=Module["_sock_listen"]=function(){return Module["asm"]["_sock_listen"].apply(null,arguments)};var _sock_new=Module["_sock_new"]=function(){return Module["asm"]["_sock_new"].apply(null,arguments)};var _sock_recv=Module["_sock_recv"]=function(){return Module["asm"]["_sock_recv"].apply(null,arguments)};var _sock_recv_impl=Module["_sock_recv_impl"]=function(){return Module["asm"]["_sock_recv_impl"].apply(null,arguments)};var _sock_recv_into=Module["_sock_recv_into"]=function(){return Module["asm"]["_sock_recv_into"].apply(null,arguments)};var _sock_recvfrom=Module["_sock_recvfrom"]=function(){return Module["asm"]["_sock_recvfrom"].apply(null,arguments)};var _sock_recvfrom_impl=Module["_sock_recvfrom_impl"]=function(){return Module["asm"]["_sock_recvfrom_impl"].apply(null,arguments)};var _sock_recvfrom_into=Module["_sock_recvfrom_into"]=function(){return Module["asm"]["_sock_recvfrom_into"].apply(null,arguments)};var _sock_recvmsg=Module["_sock_recvmsg"]=function(){return Module["asm"]["_sock_recvmsg"].apply(null,arguments)};var _sock_recvmsg_guts=Module["_sock_recvmsg_guts"]=function(){return Module["asm"]["_sock_recvmsg_guts"].apply(null,arguments)};var _sock_recvmsg_impl=Module["_sock_recvmsg_impl"]=function(){return Module["asm"]["_sock_recvmsg_impl"].apply(null,arguments)};var _sock_recvmsg_into=Module["_sock_recvmsg_into"]=function(){return Module["asm"]["_sock_recvmsg_into"].apply(null,arguments)};var _sock_repr=Module["_sock_repr"]=function(){return Module["asm"]["_sock_repr"].apply(null,arguments)};var _sock_send=Module["_sock_send"]=function(){return Module["asm"]["_sock_send"].apply(null,arguments)};var _sock_send_impl=Module["_sock_send_impl"]=function(){return Module["asm"]["_sock_send_impl"].apply(null,arguments)};var _sock_sendall=Module["_sock_sendall"]=function(){return Module["asm"]["_sock_sendall"].apply(null,arguments)};var _sock_sendmsg=Module["_sock_sendmsg"]=function(){return Module["asm"]["_sock_sendmsg"].apply(null,arguments)};var _sock_sendmsg_impl=Module["_sock_sendmsg_impl"]=function(){return Module["asm"]["_sock_sendmsg_impl"].apply(null,arguments)};var _sock_sendto=Module["_sock_sendto"]=function(){return Module["asm"]["_sock_sendto"].apply(null,arguments)};var _sock_sendto_impl=Module["_sock_sendto_impl"]=function(){return Module["asm"]["_sock_sendto_impl"].apply(null,arguments)};var _sock_setblocking=Module["_sock_setblocking"]=function(){return Module["asm"]["_sock_setblocking"].apply(null,arguments)};var _sock_setsockopt=Module["_sock_setsockopt"]=function(){return Module["asm"]["_sock_setsockopt"].apply(null,arguments)};var _sock_settimeout=Module["_sock_settimeout"]=function(){return Module["asm"]["_sock_settimeout"].apply(null,arguments)};var _sock_shutdown=Module["_sock_shutdown"]=function(){return Module["asm"]["_sock_shutdown"].apply(null,arguments)};var _sockatmark=Module["_sockatmark"]=function(){return Module["asm"]["_sockatmark"].apply(null,arguments)};var _socket=Module["_socket"]=function(){return Module["asm"]["_socket"].apply(null,arguments)};var _socket_CMSG_LEN=Module["_socket_CMSG_LEN"]=function(){return Module["asm"]["_socket_CMSG_LEN"].apply(null,arguments)};var _socket_CMSG_SPACE=Module["_socket_CMSG_SPACE"]=function(){return Module["asm"]["_socket_CMSG_SPACE"].apply(null,arguments)};var _socket_close=Module["_socket_close"]=function(){return Module["asm"]["_socket_close"].apply(null,arguments)};var _socket_dup=Module["_socket_dup"]=function(){return Module["asm"]["_socket_dup"].apply(null,arguments)};var _socket_getaddrinfo=Module["_socket_getaddrinfo"]=function(){return Module["asm"]["_socket_getaddrinfo"].apply(null,arguments)};var _socket_getdefaulttimeout=Module["_socket_getdefaulttimeout"]=function(){return Module["asm"]["_socket_getdefaulttimeout"].apply(null,arguments)};var _socket_gethostbyaddr=Module["_socket_gethostbyaddr"]=function(){return Module["asm"]["_socket_gethostbyaddr"].apply(null,arguments)};var _socket_gethostbyname=Module["_socket_gethostbyname"]=function(){return Module["asm"]["_socket_gethostbyname"].apply(null,arguments)};var _socket_gethostbyname_ex=Module["_socket_gethostbyname_ex"]=function(){return Module["asm"]["_socket_gethostbyname_ex"].apply(null,arguments)};var _socket_gethostname=Module["_socket_gethostname"]=function(){return Module["asm"]["_socket_gethostname"].apply(null,arguments)};var _socket_getnameinfo=Module["_socket_getnameinfo"]=function(){return Module["asm"]["_socket_getnameinfo"].apply(null,arguments)};var _socket_getprotobyname=Module["_socket_getprotobyname"]=function(){return Module["asm"]["_socket_getprotobyname"].apply(null,arguments)};var _socket_getservbyname=Module["_socket_getservbyname"]=function(){return Module["asm"]["_socket_getservbyname"].apply(null,arguments)};var _socket_getservbyport=Module["_socket_getservbyport"]=function(){return Module["asm"]["_socket_getservbyport"].apply(null,arguments)};var _socket_htonl=Module["_socket_htonl"]=function(){return Module["asm"]["_socket_htonl"].apply(null,arguments)};var _socket_htons=Module["_socket_htons"]=function(){return Module["asm"]["_socket_htons"].apply(null,arguments)};var _socket_inet_aton=Module["_socket_inet_aton"]=function(){return Module["asm"]["_socket_inet_aton"].apply(null,arguments)};var _socket_inet_ntoa=Module["_socket_inet_ntoa"]=function(){return Module["asm"]["_socket_inet_ntoa"].apply(null,arguments)};var _socket_inet_ntop=Module["_socket_inet_ntop"]=function(){return Module["asm"]["_socket_inet_ntop"].apply(null,arguments)};var _socket_inet_pton=Module["_socket_inet_pton"]=function(){return Module["asm"]["_socket_inet_pton"].apply(null,arguments)};var _socket_ntohl=Module["_socket_ntohl"]=function(){return Module["asm"]["_socket_ntohl"].apply(null,arguments)};var _socket_ntohs=Module["_socket_ntohs"]=function(){return Module["asm"]["_socket_ntohs"].apply(null,arguments)};var _socket_setdefaulttimeout=Module["_socket_setdefaulttimeout"]=function(){return Module["asm"]["_socket_setdefaulttimeout"].apply(null,arguments)};var _socketpair=Module["_socketpair"]=function(){return Module["asm"]["_socketpair"].apply(null,arguments)};var _solid_base=Module["_solid_base"]=function(){return Module["asm"]["_solid_base"].apply(null,arguments)};var _sort=Module["_sort"]=function(){return Module["asm"]["_sort"].apply(null,arguments)};var _source_as_string=Module["_source_as_string"]=function(){return Module["asm"]["_source_as_string"].apply(null,arguments)};var _sourceidFunc=Module["_sourceidFunc"]=function(){return Module["asm"]["_sourceidFunc"].apply(null,arguments)};var _spam_bench=Module["_spam_bench"]=function(){return Module["asm"]["_spam_bench"].apply(null,arguments)};var _spamdict_getstate=Module["_spamdict_getstate"]=function(){return Module["asm"]["_spamdict_getstate"].apply(null,arguments)};var _spamdict_init=Module["_spamdict_init"]=function(){return Module["asm"]["_spamdict_init"].apply(null,arguments)};var _spamdict_setstate=Module["_spamdict_setstate"]=function(){return Module["asm"]["_spamdict_setstate"].apply(null,arguments)};var _spamlist_getstate=Module["_spamlist_getstate"]=function(){return Module["asm"]["_spamlist_getstate"].apply(null,arguments)};var _spamlist_init=Module["_spamlist_init"]=function(){return Module["asm"]["_spamlist_init"].apply(null,arguments)};var _spamlist_setstate=Module["_spamlist_setstate"]=function(){return Module["asm"]["_spamlist_setstate"].apply(null,arguments)};var _spamlist_specialmeth=Module["_spamlist_specialmeth"]=function(){return Module["asm"]["_spamlist_specialmeth"].apply(null,arguments)};var _spamlist_state_get=Module["_spamlist_state_get"]=function(){return Module["asm"]["_spamlist_state_get"].apply(null,arguments)};var _split=Module["_split"]=function(){return Module["asm"]["_split"].apply(null,arguments)};var _splitNodeStartree=Module["_splitNodeStartree"]=function(){return Module["asm"]["_splitNodeStartree"].apply(null,arguments)};var _sprintf=Module["_sprintf"]=function(){return Module["asm"]["_sprintf"].apply(null,arguments)};var _sq=Module["_sq"]=function(){return Module["asm"]["_sq"].apply(null,arguments)};var _sqlite3AbsInt32=Module["_sqlite3AbsInt32"]=function(){return Module["asm"]["_sqlite3AbsInt32"].apply(null,arguments)};var _sqlite3AddCheckConstraint=Module["_sqlite3AddCheckConstraint"]=function(){return Module["asm"]["_sqlite3AddCheckConstraint"].apply(null,arguments)};var _sqlite3AddCollateType=Module["_sqlite3AddCollateType"]=function(){return Module["asm"]["_sqlite3AddCollateType"].apply(null,arguments)};var _sqlite3AddColumn=Module["_sqlite3AddColumn"]=function(){return Module["asm"]["_sqlite3AddColumn"].apply(null,arguments)};var _sqlite3AddDefaultValue=Module["_sqlite3AddDefaultValue"]=function(){return Module["asm"]["_sqlite3AddDefaultValue"].apply(null,arguments)};var _sqlite3AddInt64=Module["_sqlite3AddInt64"]=function(){return Module["asm"]["_sqlite3AddInt64"].apply(null,arguments)};var _sqlite3AddNotNull=Module["_sqlite3AddNotNull"]=function(){return Module["asm"]["_sqlite3AddNotNull"].apply(null,arguments)};var _sqlite3AddPrimaryKey=Module["_sqlite3AddPrimaryKey"]=function(){return Module["asm"]["_sqlite3AddPrimaryKey"].apply(null,arguments)};var _sqlite3AffinityType=Module["_sqlite3AffinityType"]=function(){return Module["asm"]["_sqlite3AffinityType"].apply(null,arguments)};var _sqlite3AllocateIndexObject=Module["_sqlite3AllocateIndexObject"]=function(){return Module["asm"]["_sqlite3AllocateIndexObject"].apply(null,arguments)};var _sqlite3AlterBeginAddColumn=Module["_sqlite3AlterBeginAddColumn"]=function(){return Module["asm"]["_sqlite3AlterBeginAddColumn"].apply(null,arguments)};var _sqlite3AlterFinishAddColumn=Module["_sqlite3AlterFinishAddColumn"]=function(){return Module["asm"]["_sqlite3AlterFinishAddColumn"].apply(null,arguments)};var _sqlite3AlterFunctions=Module["_sqlite3AlterFunctions"]=function(){return Module["asm"]["_sqlite3AlterFunctions"].apply(null,arguments)};var _sqlite3AlterRenameColumn=Module["_sqlite3AlterRenameColumn"]=function(){return Module["asm"]["_sqlite3AlterRenameColumn"].apply(null,arguments)};var _sqlite3AlterRenameTable=Module["_sqlite3AlterRenameTable"]=function(){return Module["asm"]["_sqlite3AlterRenameTable"].apply(null,arguments)};var _sqlite3AnalysisLoad=Module["_sqlite3AnalysisLoad"]=function(){return Module["asm"]["_sqlite3AnalysisLoad"].apply(null,arguments)};var _sqlite3Analyze=Module["_sqlite3Analyze"]=function(){return Module["asm"]["_sqlite3Analyze"].apply(null,arguments)};var _sqlite3ApiExit=Module["_sqlite3ApiExit"]=function(){return Module["asm"]["_sqlite3ApiExit"].apply(null,arguments)};var _sqlite3ArrayAllocate=Module["_sqlite3ArrayAllocate"]=function(){return Module["asm"]["_sqlite3ArrayAllocate"].apply(null,arguments)};var _sqlite3AtoF=Module["_sqlite3AtoF"]=function(){return Module["asm"]["_sqlite3AtoF"].apply(null,arguments)};var _sqlite3Atoi=Module["_sqlite3Atoi"]=function(){return Module["asm"]["_sqlite3Atoi"].apply(null,arguments)};var _sqlite3Atoi64=Module["_sqlite3Atoi64"]=function(){return Module["asm"]["_sqlite3Atoi64"].apply(null,arguments)};var _sqlite3Attach=Module["_sqlite3Attach"]=function(){return Module["asm"]["_sqlite3Attach"].apply(null,arguments)};var _sqlite3AuthCheck=Module["_sqlite3AuthCheck"]=function(){return Module["asm"]["_sqlite3AuthCheck"].apply(null,arguments)};var _sqlite3AuthContextPop=Module["_sqlite3AuthContextPop"]=function(){return Module["asm"]["_sqlite3AuthContextPop"].apply(null,arguments)};var _sqlite3AuthContextPush=Module["_sqlite3AuthContextPush"]=function(){return Module["asm"]["_sqlite3AuthContextPush"].apply(null,arguments)};var _sqlite3AuthRead=Module["_sqlite3AuthRead"]=function(){return Module["asm"]["_sqlite3AuthRead"].apply(null,arguments)};var _sqlite3AuthReadCol=Module["_sqlite3AuthReadCol"]=function(){return Module["asm"]["_sqlite3AuthReadCol"].apply(null,arguments)};var _sqlite3AutoLoadExtensions=Module["_sqlite3AutoLoadExtensions"]=function(){return Module["asm"]["_sqlite3AutoLoadExtensions"].apply(null,arguments)};var _sqlite3AutoincrementBegin=Module["_sqlite3AutoincrementBegin"]=function(){return Module["asm"]["_sqlite3AutoincrementBegin"].apply(null,arguments)};var _sqlite3AutoincrementEnd=Module["_sqlite3AutoincrementEnd"]=function(){return Module["asm"]["_sqlite3AutoincrementEnd"].apply(null,arguments)};var _sqlite3BackupRestart=Module["_sqlite3BackupRestart"]=function(){return Module["asm"]["_sqlite3BackupRestart"].apply(null,arguments)};var _sqlite3BackupUpdate=Module["_sqlite3BackupUpdate"]=function(){return Module["asm"]["_sqlite3BackupUpdate"].apply(null,arguments)};var _sqlite3BeginBenignMalloc=Module["_sqlite3BeginBenignMalloc"]=function(){return Module["asm"]["_sqlite3BeginBenignMalloc"].apply(null,arguments)};var _sqlite3BeginTransaction=Module["_sqlite3BeginTransaction"]=function(){return Module["asm"]["_sqlite3BeginTransaction"].apply(null,arguments)};var _sqlite3BeginTrigger=Module["_sqlite3BeginTrigger"]=function(){return Module["asm"]["_sqlite3BeginTrigger"].apply(null,arguments)};var _sqlite3BeginWriteOperation=Module["_sqlite3BeginWriteOperation"]=function(){return Module["asm"]["_sqlite3BeginWriteOperation"].apply(null,arguments)};var _sqlite3BenignMallocHooks=Module["_sqlite3BenignMallocHooks"]=function(){return Module["asm"]["_sqlite3BenignMallocHooks"].apply(null,arguments)};var _sqlite3BinaryCompareCollSeq=Module["_sqlite3BinaryCompareCollSeq"]=function(){return Module["asm"]["_sqlite3BinaryCompareCollSeq"].apply(null,arguments)};var _sqlite3BitvecBuiltinTest=Module["_sqlite3BitvecBuiltinTest"]=function(){return Module["asm"]["_sqlite3BitvecBuiltinTest"].apply(null,arguments)};var _sqlite3BitvecClear=Module["_sqlite3BitvecClear"]=function(){return Module["asm"]["_sqlite3BitvecClear"].apply(null,arguments)};var _sqlite3BitvecCreate=Module["_sqlite3BitvecCreate"]=function(){return Module["asm"]["_sqlite3BitvecCreate"].apply(null,arguments)};var _sqlite3BitvecDestroy=Module["_sqlite3BitvecDestroy"]=function(){return Module["asm"]["_sqlite3BitvecDestroy"].apply(null,arguments)};var _sqlite3BitvecSet=Module["_sqlite3BitvecSet"]=function(){return Module["asm"]["_sqlite3BitvecSet"].apply(null,arguments)};var _sqlite3BitvecSize=Module["_sqlite3BitvecSize"]=function(){return Module["asm"]["_sqlite3BitvecSize"].apply(null,arguments)};var _sqlite3BitvecTest=Module["_sqlite3BitvecTest"]=function(){return Module["asm"]["_sqlite3BitvecTest"].apply(null,arguments)};var _sqlite3BitvecTestNotNull=Module["_sqlite3BitvecTestNotNull"]=function(){return Module["asm"]["_sqlite3BitvecTestNotNull"].apply(null,arguments)};var _sqlite3BlobCompare=Module["_sqlite3BlobCompare"]=function(){return Module["asm"]["_sqlite3BlobCompare"].apply(null,arguments)};var _sqlite3BtreeBeginStmt=Module["_sqlite3BtreeBeginStmt"]=function(){return Module["asm"]["_sqlite3BtreeBeginStmt"].apply(null,arguments)};var _sqlite3BtreeBeginTrans=Module["_sqlite3BtreeBeginTrans"]=function(){return Module["asm"]["_sqlite3BtreeBeginTrans"].apply(null,arguments)};var _sqlite3BtreeCheckpoint=Module["_sqlite3BtreeCheckpoint"]=function(){return Module["asm"]["_sqlite3BtreeCheckpoint"].apply(null,arguments)};var _sqlite3BtreeClearCursor=Module["_sqlite3BtreeClearCursor"]=function(){return Module["asm"]["_sqlite3BtreeClearCursor"].apply(null,arguments)};var _sqlite3BtreeClearTable=Module["_sqlite3BtreeClearTable"]=function(){return Module["asm"]["_sqlite3BtreeClearTable"].apply(null,arguments)};var _sqlite3BtreeClearTableOfCursor=Module["_sqlite3BtreeClearTableOfCursor"]=function(){return Module["asm"]["_sqlite3BtreeClearTableOfCursor"].apply(null,arguments)};var _sqlite3BtreeClose=Module["_sqlite3BtreeClose"]=function(){return Module["asm"]["_sqlite3BtreeClose"].apply(null,arguments)};var _sqlite3BtreeCloseCursor=Module["_sqlite3BtreeCloseCursor"]=function(){return Module["asm"]["_sqlite3BtreeCloseCursor"].apply(null,arguments)};var _sqlite3BtreeCommit=Module["_sqlite3BtreeCommit"]=function(){return Module["asm"]["_sqlite3BtreeCommit"].apply(null,arguments)};var _sqlite3BtreeCommitPhaseOne=Module["_sqlite3BtreeCommitPhaseOne"]=function(){return Module["asm"]["_sqlite3BtreeCommitPhaseOne"].apply(null,arguments)};var _sqlite3BtreeCommitPhaseTwo=Module["_sqlite3BtreeCommitPhaseTwo"]=function(){return Module["asm"]["_sqlite3BtreeCommitPhaseTwo"].apply(null,arguments)};var _sqlite3BtreeConnectionCount=Module["_sqlite3BtreeConnectionCount"]=function(){return Module["asm"]["_sqlite3BtreeConnectionCount"].apply(null,arguments)};var _sqlite3BtreeCopyFile=Module["_sqlite3BtreeCopyFile"]=function(){return Module["asm"]["_sqlite3BtreeCopyFile"].apply(null,arguments)};var _sqlite3BtreeCount=Module["_sqlite3BtreeCount"]=function(){return Module["asm"]["_sqlite3BtreeCount"].apply(null,arguments)};var _sqlite3BtreeCreateTable=Module["_sqlite3BtreeCreateTable"]=function(){return Module["asm"]["_sqlite3BtreeCreateTable"].apply(null,arguments)};var _sqlite3BtreeCursor=Module["_sqlite3BtreeCursor"]=function(){return Module["asm"]["_sqlite3BtreeCursor"].apply(null,arguments)};var _sqlite3BtreeCursorHasHint=Module["_sqlite3BtreeCursorHasHint"]=function(){return Module["asm"]["_sqlite3BtreeCursorHasHint"].apply(null,arguments)};var _sqlite3BtreeCursorHasMoved=Module["_sqlite3BtreeCursorHasMoved"]=function(){return Module["asm"]["_sqlite3BtreeCursorHasMoved"].apply(null,arguments)};var _sqlite3BtreeCursorHintFlags=Module["_sqlite3BtreeCursorHintFlags"]=function(){return Module["asm"]["_sqlite3BtreeCursorHintFlags"].apply(null,arguments)};var _sqlite3BtreeCursorIsValidNN=Module["_sqlite3BtreeCursorIsValidNN"]=function(){return Module["asm"]["_sqlite3BtreeCursorIsValidNN"].apply(null,arguments)};var _sqlite3BtreeCursorRestore=Module["_sqlite3BtreeCursorRestore"]=function(){return Module["asm"]["_sqlite3BtreeCursorRestore"].apply(null,arguments)};var _sqlite3BtreeCursorSize=Module["_sqlite3BtreeCursorSize"]=function(){return Module["asm"]["_sqlite3BtreeCursorSize"].apply(null,arguments)};var _sqlite3BtreeCursorZero=Module["_sqlite3BtreeCursorZero"]=function(){return Module["asm"]["_sqlite3BtreeCursorZero"].apply(null,arguments)};var _sqlite3BtreeDelete=Module["_sqlite3BtreeDelete"]=function(){return Module["asm"]["_sqlite3BtreeDelete"].apply(null,arguments)};var _sqlite3BtreeDropTable=Module["_sqlite3BtreeDropTable"]=function(){return Module["asm"]["_sqlite3BtreeDropTable"].apply(null,arguments)};var _sqlite3BtreeEnter=Module["_sqlite3BtreeEnter"]=function(){return Module["asm"]["_sqlite3BtreeEnter"].apply(null,arguments)};var _sqlite3BtreeEnterAll=Module["_sqlite3BtreeEnterAll"]=function(){return Module["asm"]["_sqlite3BtreeEnterAll"].apply(null,arguments)};var _sqlite3BtreeEnterCursor=Module["_sqlite3BtreeEnterCursor"]=function(){return Module["asm"]["_sqlite3BtreeEnterCursor"].apply(null,arguments)};var _sqlite3BtreeEof=Module["_sqlite3BtreeEof"]=function(){return Module["asm"]["_sqlite3BtreeEof"].apply(null,arguments)};var _sqlite3BtreeFakeValidCursor=Module["_sqlite3BtreeFakeValidCursor"]=function(){return Module["asm"]["_sqlite3BtreeFakeValidCursor"].apply(null,arguments)};var _sqlite3BtreeFirst=Module["_sqlite3BtreeFirst"]=function(){return Module["asm"]["_sqlite3BtreeFirst"].apply(null,arguments)};var _sqlite3BtreeGetAutoVacuum=Module["_sqlite3BtreeGetAutoVacuum"]=function(){return Module["asm"]["_sqlite3BtreeGetAutoVacuum"].apply(null,arguments)};var _sqlite3BtreeGetFilename=Module["_sqlite3BtreeGetFilename"]=function(){return Module["asm"]["_sqlite3BtreeGetFilename"].apply(null,arguments)};var _sqlite3BtreeGetJournalname=Module["_sqlite3BtreeGetJournalname"]=function(){return Module["asm"]["_sqlite3BtreeGetJournalname"].apply(null,arguments)};var _sqlite3BtreeGetMeta=Module["_sqlite3BtreeGetMeta"]=function(){return Module["asm"]["_sqlite3BtreeGetMeta"].apply(null,arguments)};var _sqlite3BtreeGetOptimalReserve=Module["_sqlite3BtreeGetOptimalReserve"]=function(){return Module["asm"]["_sqlite3BtreeGetOptimalReserve"].apply(null,arguments)};var _sqlite3BtreeGetPageSize=Module["_sqlite3BtreeGetPageSize"]=function(){return Module["asm"]["_sqlite3BtreeGetPageSize"].apply(null,arguments)};var _sqlite3BtreeGetReserveNoMutex=Module["_sqlite3BtreeGetReserveNoMutex"]=function(){return Module["asm"]["_sqlite3BtreeGetReserveNoMutex"].apply(null,arguments)};var _sqlite3BtreeIncrVacuum=Module["_sqlite3BtreeIncrVacuum"]=function(){return Module["asm"]["_sqlite3BtreeIncrVacuum"].apply(null,arguments)};var _sqlite3BtreeIncrblobCursor=Module["_sqlite3BtreeIncrblobCursor"]=function(){return Module["asm"]["_sqlite3BtreeIncrblobCursor"].apply(null,arguments)};var _sqlite3BtreeInsert=Module["_sqlite3BtreeInsert"]=function(){return Module["asm"]["_sqlite3BtreeInsert"].apply(null,arguments)};var _sqlite3BtreeIntegerKey=Module["_sqlite3BtreeIntegerKey"]=function(){return Module["asm"]["_sqlite3BtreeIntegerKey"].apply(null,arguments)};var _sqlite3BtreeIntegrityCheck=Module["_sqlite3BtreeIntegrityCheck"]=function(){return Module["asm"]["_sqlite3BtreeIntegrityCheck"].apply(null,arguments)};var _sqlite3BtreeIsInBackup=Module["_sqlite3BtreeIsInBackup"]=function(){return Module["asm"]["_sqlite3BtreeIsInBackup"].apply(null,arguments)};var _sqlite3BtreeIsInReadTrans=Module["_sqlite3BtreeIsInReadTrans"]=function(){return Module["asm"]["_sqlite3BtreeIsInReadTrans"].apply(null,arguments)};var _sqlite3BtreeIsInTrans=Module["_sqlite3BtreeIsInTrans"]=function(){return Module["asm"]["_sqlite3BtreeIsInTrans"].apply(null,arguments)};var _sqlite3BtreeIsReadonly=Module["_sqlite3BtreeIsReadonly"]=function(){return Module["asm"]["_sqlite3BtreeIsReadonly"].apply(null,arguments)};var _sqlite3BtreeLast=Module["_sqlite3BtreeLast"]=function(){return Module["asm"]["_sqlite3BtreeLast"].apply(null,arguments)};var _sqlite3BtreeLastPage=Module["_sqlite3BtreeLastPage"]=function(){return Module["asm"]["_sqlite3BtreeLastPage"].apply(null,arguments)};var _sqlite3BtreeLeave=Module["_sqlite3BtreeLeave"]=function(){return Module["asm"]["_sqlite3BtreeLeave"].apply(null,arguments)};var _sqlite3BtreeLeaveAll=Module["_sqlite3BtreeLeaveAll"]=function(){return Module["asm"]["_sqlite3BtreeLeaveAll"].apply(null,arguments)};var _sqlite3BtreeLeaveCursor=Module["_sqlite3BtreeLeaveCursor"]=function(){return Module["asm"]["_sqlite3BtreeLeaveCursor"].apply(null,arguments)};var _sqlite3BtreeLockTable=Module["_sqlite3BtreeLockTable"]=function(){return Module["asm"]["_sqlite3BtreeLockTable"].apply(null,arguments)};var _sqlite3BtreeMaxPageCount=Module["_sqlite3BtreeMaxPageCount"]=function(){return Module["asm"]["_sqlite3BtreeMaxPageCount"].apply(null,arguments)};var _sqlite3BtreeMaxRecordSize=Module["_sqlite3BtreeMaxRecordSize"]=function(){return Module["asm"]["_sqlite3BtreeMaxRecordSize"].apply(null,arguments)};var _sqlite3BtreeMovetoUnpacked=Module["_sqlite3BtreeMovetoUnpacked"]=function(){return Module["asm"]["_sqlite3BtreeMovetoUnpacked"].apply(null,arguments)};var _sqlite3BtreeNewDb=Module["_sqlite3BtreeNewDb"]=function(){return Module["asm"]["_sqlite3BtreeNewDb"].apply(null,arguments)};var _sqlite3BtreeNext=Module["_sqlite3BtreeNext"]=function(){return Module["asm"]["_sqlite3BtreeNext"].apply(null,arguments)};var _sqlite3BtreeOpen=Module["_sqlite3BtreeOpen"]=function(){return Module["asm"]["_sqlite3BtreeOpen"].apply(null,arguments)};var _sqlite3BtreePager=Module["_sqlite3BtreePager"]=function(){return Module["asm"]["_sqlite3BtreePager"].apply(null,arguments)};var _sqlite3BtreePayload=Module["_sqlite3BtreePayload"]=function(){return Module["asm"]["_sqlite3BtreePayload"].apply(null,arguments)};var _sqlite3BtreePayloadChecked=Module["_sqlite3BtreePayloadChecked"]=function(){return Module["asm"]["_sqlite3BtreePayloadChecked"].apply(null,arguments)};var _sqlite3BtreePayloadFetch=Module["_sqlite3BtreePayloadFetch"]=function(){return Module["asm"]["_sqlite3BtreePayloadFetch"].apply(null,arguments)};var _sqlite3BtreePayloadSize=Module["_sqlite3BtreePayloadSize"]=function(){return Module["asm"]["_sqlite3BtreePayloadSize"].apply(null,arguments)};var _sqlite3BtreePrevious=Module["_sqlite3BtreePrevious"]=function(){return Module["asm"]["_sqlite3BtreePrevious"].apply(null,arguments)};var _sqlite3BtreePutData=Module["_sqlite3BtreePutData"]=function(){return Module["asm"]["_sqlite3BtreePutData"].apply(null,arguments)};var _sqlite3BtreeRollback=Module["_sqlite3BtreeRollback"]=function(){return Module["asm"]["_sqlite3BtreeRollback"].apply(null,arguments)};var _sqlite3BtreeRowCountEst=Module["_sqlite3BtreeRowCountEst"]=function(){return Module["asm"]["_sqlite3BtreeRowCountEst"].apply(null,arguments)};var _sqlite3BtreeSavepoint=Module["_sqlite3BtreeSavepoint"]=function(){return Module["asm"]["_sqlite3BtreeSavepoint"].apply(null,arguments)};var _sqlite3BtreeSchema=Module["_sqlite3BtreeSchema"]=function(){return Module["asm"]["_sqlite3BtreeSchema"].apply(null,arguments)};var _sqlite3BtreeSchemaLocked=Module["_sqlite3BtreeSchemaLocked"]=function(){return Module["asm"]["_sqlite3BtreeSchemaLocked"].apply(null,arguments)};var _sqlite3BtreeSecureDelete=Module["_sqlite3BtreeSecureDelete"]=function(){return Module["asm"]["_sqlite3BtreeSecureDelete"].apply(null,arguments)};var _sqlite3BtreeSetAutoVacuum=Module["_sqlite3BtreeSetAutoVacuum"]=function(){return Module["asm"]["_sqlite3BtreeSetAutoVacuum"].apply(null,arguments)};var _sqlite3BtreeSetCacheSize=Module["_sqlite3BtreeSetCacheSize"]=function(){return Module["asm"]["_sqlite3BtreeSetCacheSize"].apply(null,arguments)};var _sqlite3BtreeSetPageSize=Module["_sqlite3BtreeSetPageSize"]=function(){return Module["asm"]["_sqlite3BtreeSetPageSize"].apply(null,arguments)};var _sqlite3BtreeSetPagerFlags=Module["_sqlite3BtreeSetPagerFlags"]=function(){return Module["asm"]["_sqlite3BtreeSetPagerFlags"].apply(null,arguments)};var _sqlite3BtreeSetSpillSize=Module["_sqlite3BtreeSetSpillSize"]=function(){return Module["asm"]["_sqlite3BtreeSetSpillSize"].apply(null,arguments)};var _sqlite3BtreeSetVersion=Module["_sqlite3BtreeSetVersion"]=function(){return Module["asm"]["_sqlite3BtreeSetVersion"].apply(null,arguments)};var _sqlite3BtreeSharable=Module["_sqlite3BtreeSharable"]=function(){return Module["asm"]["_sqlite3BtreeSharable"].apply(null,arguments)};var _sqlite3BtreeSkipNext=Module["_sqlite3BtreeSkipNext"]=function(){return Module["asm"]["_sqlite3BtreeSkipNext"].apply(null,arguments)};var _sqlite3BtreeTripAllCursors=Module["_sqlite3BtreeTripAllCursors"]=function(){return Module["asm"]["_sqlite3BtreeTripAllCursors"].apply(null,arguments)};var _sqlite3BtreeUpdateMeta=Module["_sqlite3BtreeUpdateMeta"]=function(){return Module["asm"]["_sqlite3BtreeUpdateMeta"].apply(null,arguments)};var _sqlite3CantopenError=Module["_sqlite3CantopenError"]=function(){return Module["asm"]["_sqlite3CantopenError"].apply(null,arguments)};var _sqlite3ChangeCookie=Module["_sqlite3ChangeCookie"]=function(){return Module["asm"]["_sqlite3ChangeCookie"].apply(null,arguments)};var _sqlite3CheckCollSeq=Module["_sqlite3CheckCollSeq"]=function(){return Module["asm"]["_sqlite3CheckCollSeq"].apply(null,arguments)};var _sqlite3CheckObjectName=Module["_sqlite3CheckObjectName"]=function(){return Module["asm"]["_sqlite3CheckObjectName"].apply(null,arguments)};var _sqlite3Checkpoint=Module["_sqlite3Checkpoint"]=function(){return Module["asm"]["_sqlite3Checkpoint"].apply(null,arguments)};var _sqlite3ClearStatTables=Module["_sqlite3ClearStatTables"]=function(){return Module["asm"]["_sqlite3ClearStatTables"].apply(null,arguments)};var _sqlite3ClearTempRegCache=Module["_sqlite3ClearTempRegCache"]=function(){return Module["asm"]["_sqlite3ClearTempRegCache"].apply(null,arguments)};var _sqlite3Close=Module["_sqlite3Close"]=function(){return Module["asm"]["_sqlite3Close"].apply(null,arguments)};var _sqlite3CloseExtensions=Module["_sqlite3CloseExtensions"]=function(){return Module["asm"]["_sqlite3CloseExtensions"].apply(null,arguments)};var _sqlite3CloseSavepoints=Module["_sqlite3CloseSavepoints"]=function(){return Module["asm"]["_sqlite3CloseSavepoints"].apply(null,arguments)};var _sqlite3CodeDropTable=Module["_sqlite3CodeDropTable"]=function(){return Module["asm"]["_sqlite3CodeDropTable"].apply(null,arguments)};var _sqlite3CodeRhsOfIN=Module["_sqlite3CodeRhsOfIN"]=function(){return Module["asm"]["_sqlite3CodeRhsOfIN"].apply(null,arguments)};var _sqlite3CodeRowTrigger=Module["_sqlite3CodeRowTrigger"]=function(){return Module["asm"]["_sqlite3CodeRowTrigger"].apply(null,arguments)};var _sqlite3CodeRowTriggerDirect=Module["_sqlite3CodeRowTriggerDirect"]=function(){return Module["asm"]["_sqlite3CodeRowTriggerDirect"].apply(null,arguments)};var _sqlite3CodeSubselect=Module["_sqlite3CodeSubselect"]=function(){return Module["asm"]["_sqlite3CodeSubselect"].apply(null,arguments)};var _sqlite3CodeVerifyNamedSchema=Module["_sqlite3CodeVerifyNamedSchema"]=function(){return Module["asm"]["_sqlite3CodeVerifyNamedSchema"].apply(null,arguments)};var _sqlite3CodeVerifySchema=Module["_sqlite3CodeVerifySchema"]=function(){return Module["asm"]["_sqlite3CodeVerifySchema"].apply(null,arguments)};var _sqlite3CollapseDatabaseArray=Module["_sqlite3CollapseDatabaseArray"]=function(){return Module["asm"]["_sqlite3CollapseDatabaseArray"].apply(null,arguments)};var _sqlite3ColumnDefault=Module["_sqlite3ColumnDefault"]=function(){return Module["asm"]["_sqlite3ColumnDefault"].apply(null,arguments)};var _sqlite3ColumnOfIndex=Module["_sqlite3ColumnOfIndex"]=function(){return Module["asm"]["_sqlite3ColumnOfIndex"].apply(null,arguments)};var _sqlite3ColumnType=Module["_sqlite3ColumnType"]=function(){return Module["asm"]["_sqlite3ColumnType"].apply(null,arguments)};var _sqlite3ColumnsFromExprList=Module["_sqlite3ColumnsFromExprList"]=function(){return Module["asm"]["_sqlite3ColumnsFromExprList"].apply(null,arguments)};var _sqlite3CommitInternalChanges=Module["_sqlite3CommitInternalChanges"]=function(){return Module["asm"]["_sqlite3CommitInternalChanges"].apply(null,arguments)};var _sqlite3CompareAffinity=Module["_sqlite3CompareAffinity"]=function(){return Module["asm"]["_sqlite3CompareAffinity"].apply(null,arguments)};var _sqlite3CompileOptions=Module["_sqlite3CompileOptions"]=function(){return Module["asm"]["_sqlite3CompileOptions"].apply(null,arguments)};var _sqlite3CompleteInsertion=Module["_sqlite3CompleteInsertion"]=function(){return Module["asm"]["_sqlite3CompleteInsertion"].apply(null,arguments)};var _sqlite3CorruptError=Module["_sqlite3CorruptError"]=function(){return Module["asm"]["_sqlite3CorruptError"].apply(null,arguments)};var _sqlite3CreateColumnExpr=Module["_sqlite3CreateColumnExpr"]=function(){return Module["asm"]["_sqlite3CreateColumnExpr"].apply(null,arguments)};var _sqlite3CreateForeignKey=Module["_sqlite3CreateForeignKey"]=function(){return Module["asm"]["_sqlite3CreateForeignKey"].apply(null,arguments)};var _sqlite3CreateFunc=Module["_sqlite3CreateFunc"]=function(){return Module["asm"]["_sqlite3CreateFunc"].apply(null,arguments)};var _sqlite3CreateIndex=Module["_sqlite3CreateIndex"]=function(){return Module["asm"]["_sqlite3CreateIndex"].apply(null,arguments)};var _sqlite3CreateView=Module["_sqlite3CreateView"]=function(){return Module["asm"]["_sqlite3CreateView"].apply(null,arguments)};var _sqlite3DbFree=Module["_sqlite3DbFree"]=function(){return Module["asm"]["_sqlite3DbFree"].apply(null,arguments)};var _sqlite3DbFreeNN=Module["_sqlite3DbFreeNN"]=function(){return Module["asm"]["_sqlite3DbFreeNN"].apply(null,arguments)};var _sqlite3DbMallocRaw=Module["_sqlite3DbMallocRaw"]=function(){return Module["asm"]["_sqlite3DbMallocRaw"].apply(null,arguments)};var _sqlite3DbMallocRawNN=Module["_sqlite3DbMallocRawNN"]=function(){return Module["asm"]["_sqlite3DbMallocRawNN"].apply(null,arguments)};var _sqlite3DbMallocSize=Module["_sqlite3DbMallocSize"]=function(){return Module["asm"]["_sqlite3DbMallocSize"].apply(null,arguments)};var _sqlite3DbMallocZero=Module["_sqlite3DbMallocZero"]=function(){return Module["asm"]["_sqlite3DbMallocZero"].apply(null,arguments)};var _sqlite3DbNameToBtree=Module["_sqlite3DbNameToBtree"]=function(){return Module["asm"]["_sqlite3DbNameToBtree"].apply(null,arguments)};var _sqlite3DbRealloc=Module["_sqlite3DbRealloc"]=function(){return Module["asm"]["_sqlite3DbRealloc"].apply(null,arguments)};var _sqlite3DbReallocOrFree=Module["_sqlite3DbReallocOrFree"]=function(){return Module["asm"]["_sqlite3DbReallocOrFree"].apply(null,arguments)};var _sqlite3DbSpanDup=Module["_sqlite3DbSpanDup"]=function(){return Module["asm"]["_sqlite3DbSpanDup"].apply(null,arguments)};var _sqlite3DbStrDup=Module["_sqlite3DbStrDup"]=function(){return Module["asm"]["_sqlite3DbStrDup"].apply(null,arguments)};var _sqlite3DbStrNDup=Module["_sqlite3DbStrNDup"]=function(){return Module["asm"]["_sqlite3DbStrNDup"].apply(null,arguments)};var _sqlite3DecOrHexToI64=Module["_sqlite3DecOrHexToI64"]=function(){return Module["asm"]["_sqlite3DecOrHexToI64"].apply(null,arguments)};var _sqlite3DefaultMutex=Module["_sqlite3DefaultMutex"]=function(){return Module["asm"]["_sqlite3DefaultMutex"].apply(null,arguments)};var _sqlite3DefaultRowEst=Module["_sqlite3DefaultRowEst"]=function(){return Module["asm"]["_sqlite3DefaultRowEst"].apply(null,arguments)};var _sqlite3DeferForeignKey=Module["_sqlite3DeferForeignKey"]=function(){return Module["asm"]["_sqlite3DeferForeignKey"].apply(null,arguments)};var _sqlite3DeleteColumnNames=Module["_sqlite3DeleteColumnNames"]=function(){return Module["asm"]["_sqlite3DeleteColumnNames"].apply(null,arguments)};var _sqlite3DeleteFrom=Module["_sqlite3DeleteFrom"]=function(){return Module["asm"]["_sqlite3DeleteFrom"].apply(null,arguments)};var _sqlite3DeleteIndexSamples=Module["_sqlite3DeleteIndexSamples"]=function(){return Module["asm"]["_sqlite3DeleteIndexSamples"].apply(null,arguments)};var _sqlite3DeleteTable=Module["_sqlite3DeleteTable"]=function(){return Module["asm"]["_sqlite3DeleteTable"].apply(null,arguments)};var _sqlite3DeleteTrigger=Module["_sqlite3DeleteTrigger"]=function(){return Module["asm"]["_sqlite3DeleteTrigger"].apply(null,arguments)};var _sqlite3DeleteTriggerStep=Module["_sqlite3DeleteTriggerStep"]=function(){return Module["asm"]["_sqlite3DeleteTriggerStep"].apply(null,arguments)};var _sqlite3Dequote=Module["_sqlite3Dequote"]=function(){return Module["asm"]["_sqlite3Dequote"].apply(null,arguments)};var _sqlite3DequoteExpr=Module["_sqlite3DequoteExpr"]=function(){return Module["asm"]["_sqlite3DequoteExpr"].apply(null,arguments)};var _sqlite3Detach=Module["_sqlite3Detach"]=function(){return Module["asm"]["_sqlite3Detach"].apply(null,arguments)};var _sqlite3DropIndex=Module["_sqlite3DropIndex"]=function(){return Module["asm"]["_sqlite3DropIndex"].apply(null,arguments)};var _sqlite3DropTable=Module["_sqlite3DropTable"]=function(){return Module["asm"]["_sqlite3DropTable"].apply(null,arguments)};var _sqlite3DropTrigger=Module["_sqlite3DropTrigger"]=function(){return Module["asm"]["_sqlite3DropTrigger"].apply(null,arguments)};var _sqlite3DropTriggerPtr=Module["_sqlite3DropTriggerPtr"]=function(){return Module["asm"]["_sqlite3DropTriggerPtr"].apply(null,arguments)};var _sqlite3EndBenignMalloc=Module["_sqlite3EndBenignMalloc"]=function(){return Module["asm"]["_sqlite3EndBenignMalloc"].apply(null,arguments)};var _sqlite3EndTable=Module["_sqlite3EndTable"]=function(){return Module["asm"]["_sqlite3EndTable"].apply(null,arguments)};var _sqlite3EndTransaction=Module["_sqlite3EndTransaction"]=function(){return Module["asm"]["_sqlite3EndTransaction"].apply(null,arguments)};var _sqlite3ErrStr=Module["_sqlite3ErrStr"]=function(){return Module["asm"]["_sqlite3ErrStr"].apply(null,arguments)};var _sqlite3Error=Module["_sqlite3Error"]=function(){return Module["asm"]["_sqlite3Error"].apply(null,arguments)};var _sqlite3ErrorFinish=Module["_sqlite3ErrorFinish"]=function(){return Module["asm"]["_sqlite3ErrorFinish"].apply(null,arguments)};var _sqlite3ErrorMsg=Module["_sqlite3ErrorMsg"]=function(){return Module["asm"]["_sqlite3ErrorMsg"].apply(null,arguments)};var _sqlite3ErrorWithMsg=Module["_sqlite3ErrorWithMsg"]=function(){return Module["asm"]["_sqlite3ErrorWithMsg"].apply(null,arguments)};var _sqlite3ExpandSubquery=Module["_sqlite3ExpandSubquery"]=function(){return Module["asm"]["_sqlite3ExpandSubquery"].apply(null,arguments)};var _sqlite3ExpirePreparedStatements=Module["_sqlite3ExpirePreparedStatements"]=function(){return Module["asm"]["_sqlite3ExpirePreparedStatements"].apply(null,arguments)};var _sqlite3Expr=Module["_sqlite3Expr"]=function(){return Module["asm"]["_sqlite3Expr"].apply(null,arguments)};var _sqlite3ExprAddCollateString=Module["_sqlite3ExprAddCollateString"]=function(){return Module["asm"]["_sqlite3ExprAddCollateString"].apply(null,arguments)};var _sqlite3ExprAddCollateToken=Module["_sqlite3ExprAddCollateToken"]=function(){return Module["asm"]["_sqlite3ExprAddCollateToken"].apply(null,arguments)};var _sqlite3ExprAffinity=Module["_sqlite3ExprAffinity"]=function(){return Module["asm"]["_sqlite3ExprAffinity"].apply(null,arguments)};var _sqlite3ExprAlloc=Module["_sqlite3ExprAlloc"]=function(){return Module["asm"]["_sqlite3ExprAlloc"].apply(null,arguments)};var _sqlite3ExprAnalyzeAggList=Module["_sqlite3ExprAnalyzeAggList"]=function(){return Module["asm"]["_sqlite3ExprAnalyzeAggList"].apply(null,arguments)};var _sqlite3ExprAnalyzeAggregates=Module["_sqlite3ExprAnalyzeAggregates"]=function(){return Module["asm"]["_sqlite3ExprAnalyzeAggregates"].apply(null,arguments)};var _sqlite3ExprAnd=Module["_sqlite3ExprAnd"]=function(){return Module["asm"]["_sqlite3ExprAnd"].apply(null,arguments)};var _sqlite3ExprAssignVarNumber=Module["_sqlite3ExprAssignVarNumber"]=function(){return Module["asm"]["_sqlite3ExprAssignVarNumber"].apply(null,arguments)};var _sqlite3ExprAttachSubtrees=Module["_sqlite3ExprAttachSubtrees"]=function(){return Module["asm"]["_sqlite3ExprAttachSubtrees"].apply(null,arguments)};var _sqlite3ExprCanBeNull=Module["_sqlite3ExprCanBeNull"]=function(){return Module["asm"]["_sqlite3ExprCanBeNull"].apply(null,arguments)};var _sqlite3ExprCheckHeight=Module["_sqlite3ExprCheckHeight"]=function(){return Module["asm"]["_sqlite3ExprCheckHeight"].apply(null,arguments)};var _sqlite3ExprCheckIN=Module["_sqlite3ExprCheckIN"]=function(){return Module["asm"]["_sqlite3ExprCheckIN"].apply(null,arguments)};var _sqlite3ExprCode=Module["_sqlite3ExprCode"]=function(){return Module["asm"]["_sqlite3ExprCode"].apply(null,arguments)};var _sqlite3ExprCodeAndCache=Module["_sqlite3ExprCodeAndCache"]=function(){return Module["asm"]["_sqlite3ExprCodeAndCache"].apply(null,arguments)};var _sqlite3ExprCodeAtInit=Module["_sqlite3ExprCodeAtInit"]=function(){return Module["asm"]["_sqlite3ExprCodeAtInit"].apply(null,arguments)};var _sqlite3ExprCodeCopy=Module["_sqlite3ExprCodeCopy"]=function(){return Module["asm"]["_sqlite3ExprCodeCopy"].apply(null,arguments)};var _sqlite3ExprCodeExprList=Module["_sqlite3ExprCodeExprList"]=function(){return Module["asm"]["_sqlite3ExprCodeExprList"].apply(null,arguments)};var _sqlite3ExprCodeFactorable=Module["_sqlite3ExprCodeFactorable"]=function(){return Module["asm"]["_sqlite3ExprCodeFactorable"].apply(null,arguments)};var _sqlite3ExprCodeGetColumn=Module["_sqlite3ExprCodeGetColumn"]=function(){return Module["asm"]["_sqlite3ExprCodeGetColumn"].apply(null,arguments)};var _sqlite3ExprCodeGetColumnOfTable=Module["_sqlite3ExprCodeGetColumnOfTable"]=function(){return Module["asm"]["_sqlite3ExprCodeGetColumnOfTable"].apply(null,arguments)};var _sqlite3ExprCodeIN=Module["_sqlite3ExprCodeIN"]=function(){return Module["asm"]["_sqlite3ExprCodeIN"].apply(null,arguments)};var _sqlite3ExprCodeLoadIndexColumn=Module["_sqlite3ExprCodeLoadIndexColumn"]=function(){return Module["asm"]["_sqlite3ExprCodeLoadIndexColumn"].apply(null,arguments)};var _sqlite3ExprCodeMove=Module["_sqlite3ExprCodeMove"]=function(){return Module["asm"]["_sqlite3ExprCodeMove"].apply(null,arguments)};var _sqlite3ExprCodeTarget=Module["_sqlite3ExprCodeTarget"]=function(){return Module["asm"]["_sqlite3ExprCodeTarget"].apply(null,arguments)};var _sqlite3ExprCodeTemp=Module["_sqlite3ExprCodeTemp"]=function(){return Module["asm"]["_sqlite3ExprCodeTemp"].apply(null,arguments)};var _sqlite3ExprCollSeq=Module["_sqlite3ExprCollSeq"]=function(){return Module["asm"]["_sqlite3ExprCollSeq"].apply(null,arguments)};var _sqlite3ExprCollSeqMatch=Module["_sqlite3ExprCollSeqMatch"]=function(){return Module["asm"]["_sqlite3ExprCollSeqMatch"].apply(null,arguments)};var _sqlite3ExprCompare=Module["_sqlite3ExprCompare"]=function(){return Module["asm"]["_sqlite3ExprCompare"].apply(null,arguments)};var _sqlite3ExprCompareSkip=Module["_sqlite3ExprCompareSkip"]=function(){return Module["asm"]["_sqlite3ExprCompareSkip"].apply(null,arguments)};var _sqlite3ExprCoveredByIndex=Module["_sqlite3ExprCoveredByIndex"]=function(){return Module["asm"]["_sqlite3ExprCoveredByIndex"].apply(null,arguments)};var _sqlite3ExprDelete=Module["_sqlite3ExprDelete"]=function(){return Module["asm"]["_sqlite3ExprDelete"].apply(null,arguments)};var _sqlite3ExprDeleteNN=Module["_sqlite3ExprDeleteNN"]=function(){return Module["asm"]["_sqlite3ExprDeleteNN"].apply(null,arguments)};var _sqlite3ExprDup=Module["_sqlite3ExprDup"]=function(){return Module["asm"]["_sqlite3ExprDup"].apply(null,arguments)};var _sqlite3ExprForVectorField=Module["_sqlite3ExprForVectorField"]=function(){return Module["asm"]["_sqlite3ExprForVectorField"].apply(null,arguments)};var _sqlite3ExprFunction=Module["_sqlite3ExprFunction"]=function(){return Module["asm"]["_sqlite3ExprFunction"].apply(null,arguments)};var _sqlite3ExprIdToTrueFalse=Module["_sqlite3ExprIdToTrueFalse"]=function(){return Module["asm"]["_sqlite3ExprIdToTrueFalse"].apply(null,arguments)};var _sqlite3ExprIfFalse=Module["_sqlite3ExprIfFalse"]=function(){return Module["asm"]["_sqlite3ExprIfFalse"].apply(null,arguments)};var _sqlite3ExprIfFalseDup=Module["_sqlite3ExprIfFalseDup"]=function(){return Module["asm"]["_sqlite3ExprIfFalseDup"].apply(null,arguments)};var _sqlite3ExprIfTrue=Module["_sqlite3ExprIfTrue"]=function(){return Module["asm"]["_sqlite3ExprIfTrue"].apply(null,arguments)};var _sqlite3ExprImpliesExpr=Module["_sqlite3ExprImpliesExpr"]=function(){return Module["asm"]["_sqlite3ExprImpliesExpr"].apply(null,arguments)};var _sqlite3ExprImpliesNonNullRow=Module["_sqlite3ExprImpliesNonNullRow"]=function(){return Module["asm"]["_sqlite3ExprImpliesNonNullRow"].apply(null,arguments)};var _sqlite3ExprIsConstant=Module["_sqlite3ExprIsConstant"]=function(){return Module["asm"]["_sqlite3ExprIsConstant"].apply(null,arguments)};var _sqlite3ExprIsConstantNotJoin=Module["_sqlite3ExprIsConstantNotJoin"]=function(){return Module["asm"]["_sqlite3ExprIsConstantNotJoin"].apply(null,arguments)};var _sqlite3ExprIsConstantOrFunction=Module["_sqlite3ExprIsConstantOrFunction"]=function(){return Module["asm"]["_sqlite3ExprIsConstantOrFunction"].apply(null,arguments)};var _sqlite3ExprIsConstantOrGroupBy=Module["_sqlite3ExprIsConstantOrGroupBy"]=function(){return Module["asm"]["_sqlite3ExprIsConstantOrGroupBy"].apply(null,arguments)};var _sqlite3ExprIsInteger=Module["_sqlite3ExprIsInteger"]=function(){return Module["asm"]["_sqlite3ExprIsInteger"].apply(null,arguments)};var _sqlite3ExprIsTableConstant=Module["_sqlite3ExprIsTableConstant"]=function(){return Module["asm"]["_sqlite3ExprIsTableConstant"].apply(null,arguments)};var _sqlite3ExprIsVector=Module["_sqlite3ExprIsVector"]=function(){return Module["asm"]["_sqlite3ExprIsVector"].apply(null,arguments)};var _sqlite3ExprListAppend=Module["_sqlite3ExprListAppend"]=function(){return Module["asm"]["_sqlite3ExprListAppend"].apply(null,arguments)};var _sqlite3ExprListAppendVector=Module["_sqlite3ExprListAppendVector"]=function(){return Module["asm"]["_sqlite3ExprListAppendVector"].apply(null,arguments)};var _sqlite3ExprListCheckLength=Module["_sqlite3ExprListCheckLength"]=function(){return Module["asm"]["_sqlite3ExprListCheckLength"].apply(null,arguments)};var _sqlite3ExprListCompare=Module["_sqlite3ExprListCompare"]=function(){return Module["asm"]["_sqlite3ExprListCompare"].apply(null,arguments)};var _sqlite3ExprListDelete=Module["_sqlite3ExprListDelete"]=function(){return Module["asm"]["_sqlite3ExprListDelete"].apply(null,arguments)};var _sqlite3ExprListDup=Module["_sqlite3ExprListDup"]=function(){return Module["asm"]["_sqlite3ExprListDup"].apply(null,arguments)};var _sqlite3ExprListFlags=Module["_sqlite3ExprListFlags"]=function(){return Module["asm"]["_sqlite3ExprListFlags"].apply(null,arguments)};var _sqlite3ExprListSetName=Module["_sqlite3ExprListSetName"]=function(){return Module["asm"]["_sqlite3ExprListSetName"].apply(null,arguments)};var _sqlite3ExprListSetSortOrder=Module["_sqlite3ExprListSetSortOrder"]=function(){return Module["asm"]["_sqlite3ExprListSetSortOrder"].apply(null,arguments)};var _sqlite3ExprListSetSpan=Module["_sqlite3ExprListSetSpan"]=function(){return Module["asm"]["_sqlite3ExprListSetSpan"].apply(null,arguments)};var _sqlite3ExprNNCollSeq=Module["_sqlite3ExprNNCollSeq"]=function(){return Module["asm"]["_sqlite3ExprNNCollSeq"].apply(null,arguments)};var _sqlite3ExprNeedsNoAffinityChange=Module["_sqlite3ExprNeedsNoAffinityChange"]=function(){return Module["asm"]["_sqlite3ExprNeedsNoAffinityChange"].apply(null,arguments)};var _sqlite3ExprReferencesUpdatedColumn=Module["_sqlite3ExprReferencesUpdatedColumn"]=function(){return Module["asm"]["_sqlite3ExprReferencesUpdatedColumn"].apply(null,arguments)};var _sqlite3ExprSetHeightAndFlags=Module["_sqlite3ExprSetHeightAndFlags"]=function(){return Module["asm"]["_sqlite3ExprSetHeightAndFlags"].apply(null,arguments)};var _sqlite3ExprSkipCollate=Module["_sqlite3ExprSkipCollate"]=function(){return Module["asm"]["_sqlite3ExprSkipCollate"].apply(null,arguments)};var _sqlite3ExprTruthValue=Module["_sqlite3ExprTruthValue"]=function(){return Module["asm"]["_sqlite3ExprTruthValue"].apply(null,arguments)};var _sqlite3ExprVectorSize=Module["_sqlite3ExprVectorSize"]=function(){return Module["asm"]["_sqlite3ExprVectorSize"].apply(null,arguments)};var _sqlite3ExprWalkNoop=Module["_sqlite3ExprWalkNoop"]=function(){return Module["asm"]["_sqlite3ExprWalkNoop"].apply(null,arguments)};var _sqlite3FaultSim=Module["_sqlite3FaultSim"]=function(){return Module["asm"]["_sqlite3FaultSim"].apply(null,arguments)};var _sqlite3FindCollSeq=Module["_sqlite3FindCollSeq"]=function(){return Module["asm"]["_sqlite3FindCollSeq"].apply(null,arguments)};var _sqlite3FindDb=Module["_sqlite3FindDb"]=function(){return Module["asm"]["_sqlite3FindDb"].apply(null,arguments)};var _sqlite3FindDbName=Module["_sqlite3FindDbName"]=function(){return Module["asm"]["_sqlite3FindDbName"].apply(null,arguments)};var _sqlite3FindFunction=Module["_sqlite3FindFunction"]=function(){return Module["asm"]["_sqlite3FindFunction"].apply(null,arguments)};var _sqlite3FindInIndex=Module["_sqlite3FindInIndex"]=function(){return Module["asm"]["_sqlite3FindInIndex"].apply(null,arguments)};var _sqlite3FindIndex=Module["_sqlite3FindIndex"]=function(){return Module["asm"]["_sqlite3FindIndex"].apply(null,arguments)};var _sqlite3FindTable=Module["_sqlite3FindTable"]=function(){return Module["asm"]["_sqlite3FindTable"].apply(null,arguments)};var _sqlite3FinishCoding=Module["_sqlite3FinishCoding"]=function(){return Module["asm"]["_sqlite3FinishCoding"].apply(null,arguments)};var _sqlite3FinishTrigger=Module["_sqlite3FinishTrigger"]=function(){return Module["asm"]["_sqlite3FinishTrigger"].apply(null,arguments)};var _sqlite3FixExpr=Module["_sqlite3FixExpr"]=function(){return Module["asm"]["_sqlite3FixExpr"].apply(null,arguments)};var _sqlite3FixExprList=Module["_sqlite3FixExprList"]=function(){return Module["asm"]["_sqlite3FixExprList"].apply(null,arguments)};var _sqlite3FixInit=Module["_sqlite3FixInit"]=function(){return Module["asm"]["_sqlite3FixInit"].apply(null,arguments)};var _sqlite3FixSelect=Module["_sqlite3FixSelect"]=function(){return Module["asm"]["_sqlite3FixSelect"].apply(null,arguments)};var _sqlite3FixSrcList=Module["_sqlite3FixSrcList"]=function(){return Module["asm"]["_sqlite3FixSrcList"].apply(null,arguments)};var _sqlite3FixTriggerStep=Module["_sqlite3FixTriggerStep"]=function(){return Module["asm"]["_sqlite3FixTriggerStep"].apply(null,arguments)};var _sqlite3FkActions=Module["_sqlite3FkActions"]=function(){return Module["asm"]["_sqlite3FkActions"].apply(null,arguments)};var _sqlite3FkCheck=Module["_sqlite3FkCheck"]=function(){return Module["asm"]["_sqlite3FkCheck"].apply(null,arguments)};var _sqlite3FkDelete=Module["_sqlite3FkDelete"]=function(){return Module["asm"]["_sqlite3FkDelete"].apply(null,arguments)};var _sqlite3FkDropTable=Module["_sqlite3FkDropTable"]=function(){return Module["asm"]["_sqlite3FkDropTable"].apply(null,arguments)};var _sqlite3FkLocateIndex=Module["_sqlite3FkLocateIndex"]=function(){return Module["asm"]["_sqlite3FkLocateIndex"].apply(null,arguments)};var _sqlite3FkOldmask=Module["_sqlite3FkOldmask"]=function(){return Module["asm"]["_sqlite3FkOldmask"].apply(null,arguments)};var _sqlite3FkReferences=Module["_sqlite3FkReferences"]=function(){return Module["asm"]["_sqlite3FkReferences"].apply(null,arguments)};var _sqlite3FkRequired=Module["_sqlite3FkRequired"]=function(){return Module["asm"]["_sqlite3FkRequired"].apply(null,arguments)};var _sqlite3FreeIndex=Module["_sqlite3FreeIndex"]=function(){return Module["asm"]["_sqlite3FreeIndex"].apply(null,arguments)};var _sqlite3Fts3AllSegdirs=Module["_sqlite3Fts3AllSegdirs"]=function(){return Module["asm"]["_sqlite3Fts3AllSegdirs"].apply(null,arguments)};var _sqlite3Fts3CacheDeferredDoclists=Module["_sqlite3Fts3CacheDeferredDoclists"]=function(){return Module["asm"]["_sqlite3Fts3CacheDeferredDoclists"].apply(null,arguments)};var _sqlite3Fts3CreateStatTable=Module["_sqlite3Fts3CreateStatTable"]=function(){return Module["asm"]["_sqlite3Fts3CreateStatTable"].apply(null,arguments)};var _sqlite3Fts3DeferToken=Module["_sqlite3Fts3DeferToken"]=function(){return Module["asm"]["_sqlite3Fts3DeferToken"].apply(null,arguments)};var _sqlite3Fts3DeferredTokenList=Module["_sqlite3Fts3DeferredTokenList"]=function(){return Module["asm"]["_sqlite3Fts3DeferredTokenList"].apply(null,arguments)};var _sqlite3Fts3Dequote=Module["_sqlite3Fts3Dequote"]=function(){return Module["asm"]["_sqlite3Fts3Dequote"].apply(null,arguments)};var _sqlite3Fts3DoclistNext=Module["_sqlite3Fts3DoclistNext"]=function(){return Module["asm"]["_sqlite3Fts3DoclistNext"].apply(null,arguments)};var _sqlite3Fts3DoclistPrev=Module["_sqlite3Fts3DoclistPrev"]=function(){return Module["asm"]["_sqlite3Fts3DoclistPrev"].apply(null,arguments)};var _sqlite3Fts3ErrMsg=Module["_sqlite3Fts3ErrMsg"]=function(){return Module["asm"]["_sqlite3Fts3ErrMsg"].apply(null,arguments)};var _sqlite3Fts3EvalPhraseCleanup=Module["_sqlite3Fts3EvalPhraseCleanup"]=function(){return Module["asm"]["_sqlite3Fts3EvalPhraseCleanup"].apply(null,arguments)};var _sqlite3Fts3EvalPhrasePoslist=Module["_sqlite3Fts3EvalPhrasePoslist"]=function(){return Module["asm"]["_sqlite3Fts3EvalPhrasePoslist"].apply(null,arguments)};var _sqlite3Fts3EvalPhraseStats=Module["_sqlite3Fts3EvalPhraseStats"]=function(){return Module["asm"]["_sqlite3Fts3EvalPhraseStats"].apply(null,arguments)};var _sqlite3Fts3EvalTestDeferred=Module["_sqlite3Fts3EvalTestDeferred"]=function(){return Module["asm"]["_sqlite3Fts3EvalTestDeferred"].apply(null,arguments)};var _sqlite3Fts3ExprFree=Module["_sqlite3Fts3ExprFree"]=function(){return Module["asm"]["_sqlite3Fts3ExprFree"].apply(null,arguments)};var _sqlite3Fts3ExprParse=Module["_sqlite3Fts3ExprParse"]=function(){return Module["asm"]["_sqlite3Fts3ExprParse"].apply(null,arguments)};var _sqlite3Fts3FirstFilter=Module["_sqlite3Fts3FirstFilter"]=function(){return Module["asm"]["_sqlite3Fts3FirstFilter"].apply(null,arguments)};var _sqlite3Fts3FreeDeferredDoclists=Module["_sqlite3Fts3FreeDeferredDoclists"]=function(){return Module["asm"]["_sqlite3Fts3FreeDeferredDoclists"].apply(null,arguments)};var _sqlite3Fts3FreeDeferredTokens=Module["_sqlite3Fts3FreeDeferredTokens"]=function(){return Module["asm"]["_sqlite3Fts3FreeDeferredTokens"].apply(null,arguments)};var _sqlite3Fts3GetVarint=Module["_sqlite3Fts3GetVarint"]=function(){return Module["asm"]["_sqlite3Fts3GetVarint"].apply(null,arguments)};var _sqlite3Fts3GetVarint32=Module["_sqlite3Fts3GetVarint32"]=function(){return Module["asm"]["_sqlite3Fts3GetVarint32"].apply(null,arguments)};var _sqlite3Fts3HashClear=Module["_sqlite3Fts3HashClear"]=function(){return Module["asm"]["_sqlite3Fts3HashClear"].apply(null,arguments)};var _sqlite3Fts3HashFind=Module["_sqlite3Fts3HashFind"]=function(){return Module["asm"]["_sqlite3Fts3HashFind"].apply(null,arguments)};var _sqlite3Fts3HashFindElem=Module["_sqlite3Fts3HashFindElem"]=function(){return Module["asm"]["_sqlite3Fts3HashFindElem"].apply(null,arguments)};var _sqlite3Fts3HashInit=Module["_sqlite3Fts3HashInit"]=function(){return Module["asm"]["_sqlite3Fts3HashInit"].apply(null,arguments)};var _sqlite3Fts3HashInsert=Module["_sqlite3Fts3HashInsert"]=function(){return Module["asm"]["_sqlite3Fts3HashInsert"].apply(null,arguments)};var _sqlite3Fts3Incrmerge=Module["_sqlite3Fts3Incrmerge"]=function(){return Module["asm"]["_sqlite3Fts3Incrmerge"].apply(null,arguments)};var _sqlite3Fts3Init=Module["_sqlite3Fts3Init"]=function(){return Module["asm"]["_sqlite3Fts3Init"].apply(null,arguments)};var _sqlite3Fts3InitAux=Module["_sqlite3Fts3InitAux"]=function(){return Module["asm"]["_sqlite3Fts3InitAux"].apply(null,arguments)};var _sqlite3Fts3InitHashTable=Module["_sqlite3Fts3InitHashTable"]=function(){return Module["asm"]["_sqlite3Fts3InitHashTable"].apply(null,arguments)};var _sqlite3Fts3InitTok=Module["_sqlite3Fts3InitTok"]=function(){return Module["asm"]["_sqlite3Fts3InitTok"].apply(null,arguments)};var _sqlite3Fts3InitTokenizer=Module["_sqlite3Fts3InitTokenizer"]=function(){return Module["asm"]["_sqlite3Fts3InitTokenizer"].apply(null,arguments)};var _sqlite3Fts3IsIdChar=Module["_sqlite3Fts3IsIdChar"]=function(){return Module["asm"]["_sqlite3Fts3IsIdChar"].apply(null,arguments)};var _sqlite3Fts3MIBufferFree=Module["_sqlite3Fts3MIBufferFree"]=function(){return Module["asm"]["_sqlite3Fts3MIBufferFree"].apply(null,arguments)};var _sqlite3Fts3Matchinfo=Module["_sqlite3Fts3Matchinfo"]=function(){return Module["asm"]["_sqlite3Fts3Matchinfo"].apply(null,arguments)};var _sqlite3Fts3MaxLevel=Module["_sqlite3Fts3MaxLevel"]=function(){return Module["asm"]["_sqlite3Fts3MaxLevel"].apply(null,arguments)};var _sqlite3Fts3MsrIncrNext=Module["_sqlite3Fts3MsrIncrNext"]=function(){return Module["asm"]["_sqlite3Fts3MsrIncrNext"].apply(null,arguments)};var _sqlite3Fts3MsrIncrRestart=Module["_sqlite3Fts3MsrIncrRestart"]=function(){return Module["asm"]["_sqlite3Fts3MsrIncrRestart"].apply(null,arguments)};var _sqlite3Fts3MsrIncrStart=Module["_sqlite3Fts3MsrIncrStart"]=function(){return Module["asm"]["_sqlite3Fts3MsrIncrStart"].apply(null,arguments)};var _sqlite3Fts3MsrOvfl=Module["_sqlite3Fts3MsrOvfl"]=function(){return Module["asm"]["_sqlite3Fts3MsrOvfl"].apply(null,arguments)};var _sqlite3Fts3NextToken=Module["_sqlite3Fts3NextToken"]=function(){return Module["asm"]["_sqlite3Fts3NextToken"].apply(null,arguments)};var _sqlite3Fts3Offsets=Module["_sqlite3Fts3Offsets"]=function(){return Module["asm"]["_sqlite3Fts3Offsets"].apply(null,arguments)};var _sqlite3Fts3OpenTokenizer=Module["_sqlite3Fts3OpenTokenizer"]=function(){return Module["asm"]["_sqlite3Fts3OpenTokenizer"].apply(null,arguments)};var _sqlite3Fts3Optimize=Module["_sqlite3Fts3Optimize"]=function(){return Module["asm"]["_sqlite3Fts3Optimize"].apply(null,arguments)};var _sqlite3Fts3PendingTermsClear=Module["_sqlite3Fts3PendingTermsClear"]=function(){return Module["asm"]["_sqlite3Fts3PendingTermsClear"].apply(null,arguments)};var _sqlite3Fts3PendingTermsFlush=Module["_sqlite3Fts3PendingTermsFlush"]=function(){return Module["asm"]["_sqlite3Fts3PendingTermsFlush"].apply(null,arguments)};var _sqlite3Fts3PorterTokenizerModule=Module["_sqlite3Fts3PorterTokenizerModule"]=function(){return Module["asm"]["_sqlite3Fts3PorterTokenizerModule"].apply(null,arguments)};var _sqlite3Fts3PutVarint=Module["_sqlite3Fts3PutVarint"]=function(){return Module["asm"]["_sqlite3Fts3PutVarint"].apply(null,arguments)};var _sqlite3Fts3ReadBlock=Module["_sqlite3Fts3ReadBlock"]=function(){return Module["asm"]["_sqlite3Fts3ReadBlock"].apply(null,arguments)};var _sqlite3Fts3SegReaderCursor=Module["_sqlite3Fts3SegReaderCursor"]=function(){return Module["asm"]["_sqlite3Fts3SegReaderCursor"].apply(null,arguments)};var _sqlite3Fts3SegReaderFinish=Module["_sqlite3Fts3SegReaderFinish"]=function(){return Module["asm"]["_sqlite3Fts3SegReaderFinish"].apply(null,arguments)};var _sqlite3Fts3SegReaderFree=Module["_sqlite3Fts3SegReaderFree"]=function(){return Module["asm"]["_sqlite3Fts3SegReaderFree"].apply(null,arguments)};var _sqlite3Fts3SegReaderNew=Module["_sqlite3Fts3SegReaderNew"]=function(){return Module["asm"]["_sqlite3Fts3SegReaderNew"].apply(null,arguments)};var _sqlite3Fts3SegReaderPending=Module["_sqlite3Fts3SegReaderPending"]=function(){return Module["asm"]["_sqlite3Fts3SegReaderPending"].apply(null,arguments)};var _sqlite3Fts3SegReaderStart=Module["_sqlite3Fts3SegReaderStart"]=function(){return Module["asm"]["_sqlite3Fts3SegReaderStart"].apply(null,arguments)};var _sqlite3Fts3SegReaderStep=Module["_sqlite3Fts3SegReaderStep"]=function(){return Module["asm"]["_sqlite3Fts3SegReaderStep"].apply(null,arguments)};var _sqlite3Fts3SegmentsClose=Module["_sqlite3Fts3SegmentsClose"]=function(){return Module["asm"]["_sqlite3Fts3SegmentsClose"].apply(null,arguments)};var _sqlite3Fts3SelectDocsize=Module["_sqlite3Fts3SelectDocsize"]=function(){return Module["asm"]["_sqlite3Fts3SelectDocsize"].apply(null,arguments)};var _sqlite3Fts3SelectDoctotal=Module["_sqlite3Fts3SelectDoctotal"]=function(){return Module["asm"]["_sqlite3Fts3SelectDoctotal"].apply(null,arguments)};var _sqlite3Fts3SimpleTokenizerModule=Module["_sqlite3Fts3SimpleTokenizerModule"]=function(){return Module["asm"]["_sqlite3Fts3SimpleTokenizerModule"].apply(null,arguments)};var _sqlite3Fts3Snippet=Module["_sqlite3Fts3Snippet"]=function(){return Module["asm"]["_sqlite3Fts3Snippet"].apply(null,arguments)};var _sqlite3Fts3UnicodeTokenizer=Module["_sqlite3Fts3UnicodeTokenizer"]=function(){return Module["asm"]["_sqlite3Fts3UnicodeTokenizer"].apply(null,arguments)};var _sqlite3Fts3UpdateMethod=Module["_sqlite3Fts3UpdateMethod"]=function(){return Module["asm"]["_sqlite3Fts3UpdateMethod"].apply(null,arguments)};var _sqlite3Fts3VarintLen=Module["_sqlite3Fts3VarintLen"]=function(){return Module["asm"]["_sqlite3Fts3VarintLen"].apply(null,arguments)};var _sqlite3Fts5AuxInit=Module["_sqlite3Fts5AuxInit"]=function(){return Module["asm"]["_sqlite3Fts5AuxInit"].apply(null,arguments)};var _sqlite3Fts5BufferAppendBlob=Module["_sqlite3Fts5BufferAppendBlob"]=function(){return Module["asm"]["_sqlite3Fts5BufferAppendBlob"].apply(null,arguments)};var _sqlite3Fts5BufferAppendPrintf=Module["_sqlite3Fts5BufferAppendPrintf"]=function(){return Module["asm"]["_sqlite3Fts5BufferAppendPrintf"].apply(null,arguments)};var _sqlite3Fts5BufferAppendString=Module["_sqlite3Fts5BufferAppendString"]=function(){return Module["asm"]["_sqlite3Fts5BufferAppendString"].apply(null,arguments)};var _sqlite3Fts5BufferAppendVarint=Module["_sqlite3Fts5BufferAppendVarint"]=function(){return Module["asm"]["_sqlite3Fts5BufferAppendVarint"].apply(null,arguments)};var _sqlite3Fts5BufferFree=Module["_sqlite3Fts5BufferFree"]=function(){return Module["asm"]["_sqlite3Fts5BufferFree"].apply(null,arguments)};var _sqlite3Fts5BufferSet=Module["_sqlite3Fts5BufferSet"]=function(){return Module["asm"]["_sqlite3Fts5BufferSet"].apply(null,arguments)};var _sqlite3Fts5BufferSize=Module["_sqlite3Fts5BufferSize"]=function(){return Module["asm"]["_sqlite3Fts5BufferSize"].apply(null,arguments)};var _sqlite3Fts5BufferZero=Module["_sqlite3Fts5BufferZero"]=function(){return Module["asm"]["_sqlite3Fts5BufferZero"].apply(null,arguments)};var _sqlite3Fts5ConfigDeclareVtab=Module["_sqlite3Fts5ConfigDeclareVtab"]=function(){return Module["asm"]["_sqlite3Fts5ConfigDeclareVtab"].apply(null,arguments)};var _sqlite3Fts5ConfigFree=Module["_sqlite3Fts5ConfigFree"]=function(){return Module["asm"]["_sqlite3Fts5ConfigFree"].apply(null,arguments)};var _sqlite3Fts5ConfigLoad=Module["_sqlite3Fts5ConfigLoad"]=function(){return Module["asm"]["_sqlite3Fts5ConfigLoad"].apply(null,arguments)};var _sqlite3Fts5ConfigParse=Module["_sqlite3Fts5ConfigParse"]=function(){return Module["asm"]["_sqlite3Fts5ConfigParse"].apply(null,arguments)};var _sqlite3Fts5ConfigParseRank=Module["_sqlite3Fts5ConfigParseRank"]=function(){return Module["asm"]["_sqlite3Fts5ConfigParseRank"].apply(null,arguments)};var _sqlite3Fts5ConfigSetValue=Module["_sqlite3Fts5ConfigSetValue"]=function(){return Module["asm"]["_sqlite3Fts5ConfigSetValue"].apply(null,arguments)};var _sqlite3Fts5CreateTable=Module["_sqlite3Fts5CreateTable"]=function(){return Module["asm"]["_sqlite3Fts5CreateTable"].apply(null,arguments)};var _sqlite3Fts5Dequote=Module["_sqlite3Fts5Dequote"]=function(){return Module["asm"]["_sqlite3Fts5Dequote"].apply(null,arguments)};var _sqlite3Fts5DropAll=Module["_sqlite3Fts5DropAll"]=function(){return Module["asm"]["_sqlite3Fts5DropAll"].apply(null,arguments)};var _sqlite3Fts5ExprCheckPoslists=Module["_sqlite3Fts5ExprCheckPoslists"]=function(){return Module["asm"]["_sqlite3Fts5ExprCheckPoslists"].apply(null,arguments)};var _sqlite3Fts5ExprClearPoslists=Module["_sqlite3Fts5ExprClearPoslists"]=function(){return Module["asm"]["_sqlite3Fts5ExprClearPoslists"].apply(null,arguments)};var _sqlite3Fts5ExprClonePhrase=Module["_sqlite3Fts5ExprClonePhrase"]=function(){return Module["asm"]["_sqlite3Fts5ExprClonePhrase"].apply(null,arguments)};var _sqlite3Fts5ExprEof=Module["_sqlite3Fts5ExprEof"]=function(){return Module["asm"]["_sqlite3Fts5ExprEof"].apply(null,arguments)};var _sqlite3Fts5ExprFirst=Module["_sqlite3Fts5ExprFirst"]=function(){return Module["asm"]["_sqlite3Fts5ExprFirst"].apply(null,arguments)};var _sqlite3Fts5ExprFree=Module["_sqlite3Fts5ExprFree"]=function(){return Module["asm"]["_sqlite3Fts5ExprFree"].apply(null,arguments)};var _sqlite3Fts5ExprInit=Module["_sqlite3Fts5ExprInit"]=function(){return Module["asm"]["_sqlite3Fts5ExprInit"].apply(null,arguments)};var _sqlite3Fts5ExprNew=Module["_sqlite3Fts5ExprNew"]=function(){return Module["asm"]["_sqlite3Fts5ExprNew"].apply(null,arguments)};var _sqlite3Fts5ExprNext=Module["_sqlite3Fts5ExprNext"]=function(){return Module["asm"]["_sqlite3Fts5ExprNext"].apply(null,arguments)};var _sqlite3Fts5ExprPhraseCollist=Module["_sqlite3Fts5ExprPhraseCollist"]=function(){return Module["asm"]["_sqlite3Fts5ExprPhraseCollist"].apply(null,arguments)};var _sqlite3Fts5ExprPhraseCount=Module["_sqlite3Fts5ExprPhraseCount"]=function(){return Module["asm"]["_sqlite3Fts5ExprPhraseCount"].apply(null,arguments)};var _sqlite3Fts5ExprPhraseSize=Module["_sqlite3Fts5ExprPhraseSize"]=function(){return Module["asm"]["_sqlite3Fts5ExprPhraseSize"].apply(null,arguments)};var _sqlite3Fts5ExprPopulatePoslists=Module["_sqlite3Fts5ExprPopulatePoslists"]=function(){return Module["asm"]["_sqlite3Fts5ExprPopulatePoslists"].apply(null,arguments)};var _sqlite3Fts5ExprPoslist=Module["_sqlite3Fts5ExprPoslist"]=function(){return Module["asm"]["_sqlite3Fts5ExprPoslist"].apply(null,arguments)};var _sqlite3Fts5ExprRowid=Module["_sqlite3Fts5ExprRowid"]=function(){return Module["asm"]["_sqlite3Fts5ExprRowid"].apply(null,arguments)};var _sqlite3Fts5FlushToDisk=Module["_sqlite3Fts5FlushToDisk"]=function(){return Module["asm"]["_sqlite3Fts5FlushToDisk"].apply(null,arguments)};var _sqlite3Fts5Get32=Module["_sqlite3Fts5Get32"]=function(){return Module["asm"]["_sqlite3Fts5Get32"].apply(null,arguments)};var _sqlite3Fts5GetTokenizer=Module["_sqlite3Fts5GetTokenizer"]=function(){return Module["asm"]["_sqlite3Fts5GetTokenizer"].apply(null,arguments)};var _sqlite3Fts5GetVarint=Module["_sqlite3Fts5GetVarint"]=function(){return Module["asm"]["_sqlite3Fts5GetVarint"].apply(null,arguments)};var _sqlite3Fts5GetVarint32=Module["_sqlite3Fts5GetVarint32"]=function(){return Module["asm"]["_sqlite3Fts5GetVarint32"].apply(null,arguments)};var _sqlite3Fts5GetVarintLen=Module["_sqlite3Fts5GetVarintLen"]=function(){return Module["asm"]["_sqlite3Fts5GetVarintLen"].apply(null,arguments)};var _sqlite3Fts5HashClear=Module["_sqlite3Fts5HashClear"]=function(){return Module["asm"]["_sqlite3Fts5HashClear"].apply(null,arguments)};var _sqlite3Fts5HashFree=Module["_sqlite3Fts5HashFree"]=function(){return Module["asm"]["_sqlite3Fts5HashFree"].apply(null,arguments)};var _sqlite3Fts5HashNew=Module["_sqlite3Fts5HashNew"]=function(){return Module["asm"]["_sqlite3Fts5HashNew"].apply(null,arguments)};var _sqlite3Fts5HashQuery=Module["_sqlite3Fts5HashQuery"]=function(){return Module["asm"]["_sqlite3Fts5HashQuery"].apply(null,arguments)};var _sqlite3Fts5HashScanEntry=Module["_sqlite3Fts5HashScanEntry"]=function(){return Module["asm"]["_sqlite3Fts5HashScanEntry"].apply(null,arguments)};var _sqlite3Fts5HashScanEof=Module["_sqlite3Fts5HashScanEof"]=function(){return Module["asm"]["_sqlite3Fts5HashScanEof"].apply(null,arguments)};var _sqlite3Fts5HashScanInit=Module["_sqlite3Fts5HashScanInit"]=function(){return Module["asm"]["_sqlite3Fts5HashScanInit"].apply(null,arguments)};var _sqlite3Fts5HashScanNext=Module["_sqlite3Fts5HashScanNext"]=function(){return Module["asm"]["_sqlite3Fts5HashScanNext"].apply(null,arguments)};var _sqlite3Fts5HashWrite=Module["_sqlite3Fts5HashWrite"]=function(){return Module["asm"]["_sqlite3Fts5HashWrite"].apply(null,arguments)};var _sqlite3Fts5IndexBeginWrite=Module["_sqlite3Fts5IndexBeginWrite"]=function(){return Module["asm"]["_sqlite3Fts5IndexBeginWrite"].apply(null,arguments)};var _sqlite3Fts5IndexCharlenToBytelen=Module["_sqlite3Fts5IndexCharlenToBytelen"]=function(){return Module["asm"]["_sqlite3Fts5IndexCharlenToBytelen"].apply(null,arguments)};var _sqlite3Fts5IndexClose=Module["_sqlite3Fts5IndexClose"]=function(){return Module["asm"]["_sqlite3Fts5IndexClose"].apply(null,arguments)};var _sqlite3Fts5IndexEntryCksum=Module["_sqlite3Fts5IndexEntryCksum"]=function(){return Module["asm"]["_sqlite3Fts5IndexEntryCksum"].apply(null,arguments)};var _sqlite3Fts5IndexGetAverages=Module["_sqlite3Fts5IndexGetAverages"]=function(){return Module["asm"]["_sqlite3Fts5IndexGetAverages"].apply(null,arguments)};var _sqlite3Fts5IndexInit=Module["_sqlite3Fts5IndexInit"]=function(){return Module["asm"]["_sqlite3Fts5IndexInit"].apply(null,arguments)};var _sqlite3Fts5IndexIntegrityCheck=Module["_sqlite3Fts5IndexIntegrityCheck"]=function(){return Module["asm"]["_sqlite3Fts5IndexIntegrityCheck"].apply(null,arguments)};var _sqlite3Fts5IndexLoadConfig=Module["_sqlite3Fts5IndexLoadConfig"]=function(){return Module["asm"]["_sqlite3Fts5IndexLoadConfig"].apply(null,arguments)};var _sqlite3Fts5IndexMerge=Module["_sqlite3Fts5IndexMerge"]=function(){return Module["asm"]["_sqlite3Fts5IndexMerge"].apply(null,arguments)};var _sqlite3Fts5IndexOpen=Module["_sqlite3Fts5IndexOpen"]=function(){return Module["asm"]["_sqlite3Fts5IndexOpen"].apply(null,arguments)};var _sqlite3Fts5IndexOptimize=Module["_sqlite3Fts5IndexOptimize"]=function(){return Module["asm"]["_sqlite3Fts5IndexOptimize"].apply(null,arguments)};var _sqlite3Fts5IndexQuery=Module["_sqlite3Fts5IndexQuery"]=function(){return Module["asm"]["_sqlite3Fts5IndexQuery"].apply(null,arguments)};var _sqlite3Fts5IndexReads=Module["_sqlite3Fts5IndexReads"]=function(){return Module["asm"]["_sqlite3Fts5IndexReads"].apply(null,arguments)};var _sqlite3Fts5IndexReinit=Module["_sqlite3Fts5IndexReinit"]=function(){return Module["asm"]["_sqlite3Fts5IndexReinit"].apply(null,arguments)};var _sqlite3Fts5IndexReset=Module["_sqlite3Fts5IndexReset"]=function(){return Module["asm"]["_sqlite3Fts5IndexReset"].apply(null,arguments)};var _sqlite3Fts5IndexRollback=Module["_sqlite3Fts5IndexRollback"]=function(){return Module["asm"]["_sqlite3Fts5IndexRollback"].apply(null,arguments)};var _sqlite3Fts5IndexSetAverages=Module["_sqlite3Fts5IndexSetAverages"]=function(){return Module["asm"]["_sqlite3Fts5IndexSetAverages"].apply(null,arguments)};var _sqlite3Fts5IndexSetCookie=Module["_sqlite3Fts5IndexSetCookie"]=function(){return Module["asm"]["_sqlite3Fts5IndexSetCookie"].apply(null,arguments)};var _sqlite3Fts5IndexSync=Module["_sqlite3Fts5IndexSync"]=function(){return Module["asm"]["_sqlite3Fts5IndexSync"].apply(null,arguments)};var _sqlite3Fts5IndexWrite=Module["_sqlite3Fts5IndexWrite"]=function(){return Module["asm"]["_sqlite3Fts5IndexWrite"].apply(null,arguments)};var _sqlite3Fts5Init=Module["_sqlite3Fts5Init"]=function(){return Module["asm"]["_sqlite3Fts5Init"].apply(null,arguments)};var _sqlite3Fts5IsBareword=Module["_sqlite3Fts5IsBareword"]=function(){return Module["asm"]["_sqlite3Fts5IsBareword"].apply(null,arguments)};var _sqlite3Fts5IterClose=Module["_sqlite3Fts5IterClose"]=function(){return Module["asm"]["_sqlite3Fts5IterClose"].apply(null,arguments)};var _sqlite3Fts5IterNext=Module["_sqlite3Fts5IterNext"]=function(){return Module["asm"]["_sqlite3Fts5IterNext"].apply(null,arguments)};var _sqlite3Fts5IterNextFrom=Module["_sqlite3Fts5IterNextFrom"]=function(){return Module["asm"]["_sqlite3Fts5IterNextFrom"].apply(null,arguments)};var _sqlite3Fts5IterNextScan=Module["_sqlite3Fts5IterNextScan"]=function(){return Module["asm"]["_sqlite3Fts5IterNextScan"].apply(null,arguments)};var _sqlite3Fts5IterTerm=Module["_sqlite3Fts5IterTerm"]=function(){return Module["asm"]["_sqlite3Fts5IterTerm"].apply(null,arguments)};var _sqlite3Fts5MallocZero=Module["_sqlite3Fts5MallocZero"]=function(){return Module["asm"]["_sqlite3Fts5MallocZero"].apply(null,arguments)};var _sqlite3Fts5Mprintf=Module["_sqlite3Fts5Mprintf"]=function(){return Module["asm"]["_sqlite3Fts5Mprintf"].apply(null,arguments)};var _sqlite3Fts5ParseColset=Module["_sqlite3Fts5ParseColset"]=function(){return Module["asm"]["_sqlite3Fts5ParseColset"].apply(null,arguments)};var _sqlite3Fts5ParseColsetInvert=Module["_sqlite3Fts5ParseColsetInvert"]=function(){return Module["asm"]["_sqlite3Fts5ParseColsetInvert"].apply(null,arguments)};var _sqlite3Fts5ParseError=Module["_sqlite3Fts5ParseError"]=function(){return Module["asm"]["_sqlite3Fts5ParseError"].apply(null,arguments)};var _sqlite3Fts5ParseFinished=Module["_sqlite3Fts5ParseFinished"]=function(){return Module["asm"]["_sqlite3Fts5ParseFinished"].apply(null,arguments)};var _sqlite3Fts5ParseImplicitAnd=Module["_sqlite3Fts5ParseImplicitAnd"]=function(){return Module["asm"]["_sqlite3Fts5ParseImplicitAnd"].apply(null,arguments)};var _sqlite3Fts5ParseNear=Module["_sqlite3Fts5ParseNear"]=function(){return Module["asm"]["_sqlite3Fts5ParseNear"].apply(null,arguments)};var _sqlite3Fts5ParseNearset=Module["_sqlite3Fts5ParseNearset"]=function(){return Module["asm"]["_sqlite3Fts5ParseNearset"].apply(null,arguments)};var _sqlite3Fts5ParseNearsetFree=Module["_sqlite3Fts5ParseNearsetFree"]=function(){return Module["asm"]["_sqlite3Fts5ParseNearsetFree"].apply(null,arguments)};var _sqlite3Fts5ParseNode=Module["_sqlite3Fts5ParseNode"]=function(){return Module["asm"]["_sqlite3Fts5ParseNode"].apply(null,arguments)};var _sqlite3Fts5ParseNodeFree=Module["_sqlite3Fts5ParseNodeFree"]=function(){return Module["asm"]["_sqlite3Fts5ParseNodeFree"].apply(null,arguments)};var _sqlite3Fts5ParsePhraseFree=Module["_sqlite3Fts5ParsePhraseFree"]=function(){return Module["asm"]["_sqlite3Fts5ParsePhraseFree"].apply(null,arguments)};var _sqlite3Fts5ParseSetCaret=Module["_sqlite3Fts5ParseSetCaret"]=function(){return Module["asm"]["_sqlite3Fts5ParseSetCaret"].apply(null,arguments)};var _sqlite3Fts5ParseSetColset=Module["_sqlite3Fts5ParseSetColset"]=function(){return Module["asm"]["_sqlite3Fts5ParseSetColset"].apply(null,arguments)};var _sqlite3Fts5ParseSetDistance=Module["_sqlite3Fts5ParseSetDistance"]=function(){return Module["asm"]["_sqlite3Fts5ParseSetDistance"].apply(null,arguments)};var _sqlite3Fts5ParseTerm=Module["_sqlite3Fts5ParseTerm"]=function(){return Module["asm"]["_sqlite3Fts5ParseTerm"].apply(null,arguments)};var _sqlite3Fts5Parser=Module["_sqlite3Fts5Parser"]=function(){return Module["asm"]["_sqlite3Fts5Parser"].apply(null,arguments)};var _sqlite3Fts5ParserAlloc=Module["_sqlite3Fts5ParserAlloc"]=function(){return Module["asm"]["_sqlite3Fts5ParserAlloc"].apply(null,arguments)};var _sqlite3Fts5ParserFinalize=Module["_sqlite3Fts5ParserFinalize"]=function(){return Module["asm"]["_sqlite3Fts5ParserFinalize"].apply(null,arguments)};var _sqlite3Fts5ParserFree=Module["_sqlite3Fts5ParserFree"]=function(){return Module["asm"]["_sqlite3Fts5ParserFree"].apply(null,arguments)};var _sqlite3Fts5ParserInit=Module["_sqlite3Fts5ParserInit"]=function(){return Module["asm"]["_sqlite3Fts5ParserInit"].apply(null,arguments)};var _sqlite3Fts5PoslistNext64=Module["_sqlite3Fts5PoslistNext64"]=function(){return Module["asm"]["_sqlite3Fts5PoslistNext64"].apply(null,arguments)};var _sqlite3Fts5PoslistReaderInit=Module["_sqlite3Fts5PoslistReaderInit"]=function(){return Module["asm"]["_sqlite3Fts5PoslistReaderInit"].apply(null,arguments)};var _sqlite3Fts5PoslistReaderNext=Module["_sqlite3Fts5PoslistReaderNext"]=function(){return Module["asm"]["_sqlite3Fts5PoslistReaderNext"].apply(null,arguments)};var _sqlite3Fts5PoslistSafeAppend=Module["_sqlite3Fts5PoslistSafeAppend"]=function(){return Module["asm"]["_sqlite3Fts5PoslistSafeAppend"].apply(null,arguments)};var _sqlite3Fts5PoslistWriterAppend=Module["_sqlite3Fts5PoslistWriterAppend"]=function(){return Module["asm"]["_sqlite3Fts5PoslistWriterAppend"].apply(null,arguments)};var _sqlite3Fts5Put32=Module["_sqlite3Fts5Put32"]=function(){return Module["asm"]["_sqlite3Fts5Put32"].apply(null,arguments)};var _sqlite3Fts5PutVarint=Module["_sqlite3Fts5PutVarint"]=function(){return Module["asm"]["_sqlite3Fts5PutVarint"].apply(null,arguments)};var _sqlite3Fts5StorageClose=Module["_sqlite3Fts5StorageClose"]=function(){return Module["asm"]["_sqlite3Fts5StorageClose"].apply(null,arguments)};var _sqlite3Fts5StorageConfigValue=Module["_sqlite3Fts5StorageConfigValue"]=function(){return Module["asm"]["_sqlite3Fts5StorageConfigValue"].apply(null,arguments)};var _sqlite3Fts5StorageContentInsert=Module["_sqlite3Fts5StorageContentInsert"]=function(){return Module["asm"]["_sqlite3Fts5StorageContentInsert"].apply(null,arguments)};var _sqlite3Fts5StorageDelete=Module["_sqlite3Fts5StorageDelete"]=function(){return Module["asm"]["_sqlite3Fts5StorageDelete"].apply(null,arguments)};var _sqlite3Fts5StorageDeleteAll=Module["_sqlite3Fts5StorageDeleteAll"]=function(){return Module["asm"]["_sqlite3Fts5StorageDeleteAll"].apply(null,arguments)};var _sqlite3Fts5StorageDocsize=Module["_sqlite3Fts5StorageDocsize"]=function(){return Module["asm"]["_sqlite3Fts5StorageDocsize"].apply(null,arguments)};var _sqlite3Fts5StorageIndexInsert=Module["_sqlite3Fts5StorageIndexInsert"]=function(){return Module["asm"]["_sqlite3Fts5StorageIndexInsert"].apply(null,arguments)};var _sqlite3Fts5StorageIntegrity=Module["_sqlite3Fts5StorageIntegrity"]=function(){return Module["asm"]["_sqlite3Fts5StorageIntegrity"].apply(null,arguments)};var _sqlite3Fts5StorageMerge=Module["_sqlite3Fts5StorageMerge"]=function(){return Module["asm"]["_sqlite3Fts5StorageMerge"].apply(null,arguments)};var _sqlite3Fts5StorageOpen=Module["_sqlite3Fts5StorageOpen"]=function(){return Module["asm"]["_sqlite3Fts5StorageOpen"].apply(null,arguments)};var _sqlite3Fts5StorageOptimize=Module["_sqlite3Fts5StorageOptimize"]=function(){return Module["asm"]["_sqlite3Fts5StorageOptimize"].apply(null,arguments)};var _sqlite3Fts5StorageRebuild=Module["_sqlite3Fts5StorageRebuild"]=function(){return Module["asm"]["_sqlite3Fts5StorageRebuild"].apply(null,arguments)};var _sqlite3Fts5StorageRename=Module["_sqlite3Fts5StorageRename"]=function(){return Module["asm"]["_sqlite3Fts5StorageRename"].apply(null,arguments)};var _sqlite3Fts5StorageReset=Module["_sqlite3Fts5StorageReset"]=function(){return Module["asm"]["_sqlite3Fts5StorageReset"].apply(null,arguments)};var _sqlite3Fts5StorageRollback=Module["_sqlite3Fts5StorageRollback"]=function(){return Module["asm"]["_sqlite3Fts5StorageRollback"].apply(null,arguments)};var _sqlite3Fts5StorageRowCount=Module["_sqlite3Fts5StorageRowCount"]=function(){return Module["asm"]["_sqlite3Fts5StorageRowCount"].apply(null,arguments)};var _sqlite3Fts5StorageSize=Module["_sqlite3Fts5StorageSize"]=function(){return Module["asm"]["_sqlite3Fts5StorageSize"].apply(null,arguments)};var _sqlite3Fts5StorageStmt=Module["_sqlite3Fts5StorageStmt"]=function(){return Module["asm"]["_sqlite3Fts5StorageStmt"].apply(null,arguments)};var _sqlite3Fts5StorageStmtRelease=Module["_sqlite3Fts5StorageStmtRelease"]=function(){return Module["asm"]["_sqlite3Fts5StorageStmtRelease"].apply(null,arguments)};var _sqlite3Fts5StorageSync=Module["_sqlite3Fts5StorageSync"]=function(){return Module["asm"]["_sqlite3Fts5StorageSync"].apply(null,arguments)};var _sqlite3Fts5Strndup=Module["_sqlite3Fts5Strndup"]=function(){return Module["asm"]["_sqlite3Fts5Strndup"].apply(null,arguments)};var _sqlite3Fts5TableFromCsrid=Module["_sqlite3Fts5TableFromCsrid"]=function(){return Module["asm"]["_sqlite3Fts5TableFromCsrid"].apply(null,arguments)};var _sqlite3Fts5TermsetAdd=Module["_sqlite3Fts5TermsetAdd"]=function(){return Module["asm"]["_sqlite3Fts5TermsetAdd"].apply(null,arguments)};var _sqlite3Fts5TermsetFree=Module["_sqlite3Fts5TermsetFree"]=function(){return Module["asm"]["_sqlite3Fts5TermsetFree"].apply(null,arguments)};var _sqlite3Fts5TermsetNew=Module["_sqlite3Fts5TermsetNew"]=function(){return Module["asm"]["_sqlite3Fts5TermsetNew"].apply(null,arguments)};var _sqlite3Fts5Tokenize=Module["_sqlite3Fts5Tokenize"]=function(){return Module["asm"]["_sqlite3Fts5Tokenize"].apply(null,arguments)};var _sqlite3Fts5TokenizerInit=Module["_sqlite3Fts5TokenizerInit"]=function(){return Module["asm"]["_sqlite3Fts5TokenizerInit"].apply(null,arguments)};var _sqlite3Fts5UnicodeAscii=Module["_sqlite3Fts5UnicodeAscii"]=function(){return Module["asm"]["_sqlite3Fts5UnicodeAscii"].apply(null,arguments)};var _sqlite3Fts5UnicodeCatParse=Module["_sqlite3Fts5UnicodeCatParse"]=function(){return Module["asm"]["_sqlite3Fts5UnicodeCatParse"].apply(null,arguments)};var _sqlite3Fts5UnicodeCategory=Module["_sqlite3Fts5UnicodeCategory"]=function(){return Module["asm"]["_sqlite3Fts5UnicodeCategory"].apply(null,arguments)};var _sqlite3Fts5UnicodeFold=Module["_sqlite3Fts5UnicodeFold"]=function(){return Module["asm"]["_sqlite3Fts5UnicodeFold"].apply(null,arguments)};var _sqlite3Fts5UnicodeIsdiacritic=Module["_sqlite3Fts5UnicodeIsdiacritic"]=function(){return Module["asm"]["_sqlite3Fts5UnicodeIsdiacritic"].apply(null,arguments)};var _sqlite3Fts5VocabInit=Module["_sqlite3Fts5VocabInit"]=function(){return Module["asm"]["_sqlite3Fts5VocabInit"].apply(null,arguments)};var _sqlite3FtsUnicodeFold=Module["_sqlite3FtsUnicodeFold"]=function(){return Module["asm"]["_sqlite3FtsUnicodeFold"].apply(null,arguments)};var _sqlite3FtsUnicodeIsalnum=Module["_sqlite3FtsUnicodeIsalnum"]=function(){return Module["asm"]["_sqlite3FtsUnicodeIsalnum"].apply(null,arguments)};var _sqlite3FtsUnicodeIsdiacritic=Module["_sqlite3FtsUnicodeIsdiacritic"]=function(){return Module["asm"]["_sqlite3FtsUnicodeIsdiacritic"].apply(null,arguments)};var _sqlite3FunctionSearch=Module["_sqlite3FunctionSearch"]=function(){return Module["asm"]["_sqlite3FunctionSearch"].apply(null,arguments)};var _sqlite3FunctionUsesThisSrc=Module["_sqlite3FunctionUsesThisSrc"]=function(){return Module["asm"]["_sqlite3FunctionUsesThisSrc"].apply(null,arguments)};var _sqlite3GenerateConstraintChecks=Module["_sqlite3GenerateConstraintChecks"]=function(){return Module["asm"]["_sqlite3GenerateConstraintChecks"].apply(null,arguments)};var _sqlite3GenerateIndexKey=Module["_sqlite3GenerateIndexKey"]=function(){return Module["asm"]["_sqlite3GenerateIndexKey"].apply(null,arguments)};var _sqlite3GenerateRowDelete=Module["_sqlite3GenerateRowDelete"]=function(){return Module["asm"]["_sqlite3GenerateRowDelete"].apply(null,arguments)};var _sqlite3GenerateRowIndexDelete=Module["_sqlite3GenerateRowIndexDelete"]=function(){return Module["asm"]["_sqlite3GenerateRowIndexDelete"].apply(null,arguments)};var _sqlite3Get4byte=Module["_sqlite3Get4byte"]=function(){return Module["asm"]["_sqlite3Get4byte"].apply(null,arguments)};var _sqlite3GetBoolean=Module["_sqlite3GetBoolean"]=function(){return Module["asm"]["_sqlite3GetBoolean"].apply(null,arguments)};var _sqlite3GetCollSeq=Module["_sqlite3GetCollSeq"]=function(){return Module["asm"]["_sqlite3GetCollSeq"].apply(null,arguments)};var _sqlite3GetFuncCollSeq=Module["_sqlite3GetFuncCollSeq"]=function(){return Module["asm"]["_sqlite3GetFuncCollSeq"].apply(null,arguments)};var _sqlite3GetInt32=Module["_sqlite3GetInt32"]=function(){return Module["asm"]["_sqlite3GetInt32"].apply(null,arguments)};var _sqlite3GetTempRange=Module["_sqlite3GetTempRange"]=function(){return Module["asm"]["_sqlite3GetTempRange"].apply(null,arguments)};var _sqlite3GetTempReg=Module["_sqlite3GetTempReg"]=function(){return Module["asm"]["_sqlite3GetTempReg"].apply(null,arguments)};var _sqlite3GetToken=Module["_sqlite3GetToken"]=function(){return Module["asm"]["_sqlite3GetToken"].apply(null,arguments)};var _sqlite3GetVTable=Module["_sqlite3GetVTable"]=function(){return Module["asm"]["_sqlite3GetVTable"].apply(null,arguments)};var _sqlite3GetVarint=Module["_sqlite3GetVarint"]=function(){return Module["asm"]["_sqlite3GetVarint"].apply(null,arguments)};var _sqlite3GetVarint32=Module["_sqlite3GetVarint32"]=function(){return Module["asm"]["_sqlite3GetVarint32"].apply(null,arguments)};var _sqlite3GetVdbe=Module["_sqlite3GetVdbe"]=function(){return Module["asm"]["_sqlite3GetVdbe"].apply(null,arguments)};var _sqlite3HaltConstraint=Module["_sqlite3HaltConstraint"]=function(){return Module["asm"]["_sqlite3HaltConstraint"].apply(null,arguments)};var _sqlite3HashClear=Module["_sqlite3HashClear"]=function(){return Module["asm"]["_sqlite3HashClear"].apply(null,arguments)};var _sqlite3HashFind=Module["_sqlite3HashFind"]=function(){return Module["asm"]["_sqlite3HashFind"].apply(null,arguments)};var _sqlite3HashInit=Module["_sqlite3HashInit"]=function(){return Module["asm"]["_sqlite3HashInit"].apply(null,arguments)};var _sqlite3HashInsert=Module["_sqlite3HashInsert"]=function(){return Module["asm"]["_sqlite3HashInsert"].apply(null,arguments)};var _sqlite3HeaderSizeBtree=Module["_sqlite3HeaderSizeBtree"]=function(){return Module["asm"]["_sqlite3HeaderSizeBtree"].apply(null,arguments)};var _sqlite3HeaderSizePcache=Module["_sqlite3HeaderSizePcache"]=function(){return Module["asm"]["_sqlite3HeaderSizePcache"].apply(null,arguments)};var _sqlite3HeaderSizePcache1=Module["_sqlite3HeaderSizePcache1"]=function(){return Module["asm"]["_sqlite3HeaderSizePcache1"].apply(null,arguments)};var _sqlite3HeapNearlyFull=Module["_sqlite3HeapNearlyFull"]=function(){return Module["asm"]["_sqlite3HeapNearlyFull"].apply(null,arguments)};var _sqlite3HexToBlob=Module["_sqlite3HexToBlob"]=function(){return Module["asm"]["_sqlite3HexToBlob"].apply(null,arguments)};var _sqlite3HexToInt=Module["_sqlite3HexToInt"]=function(){return Module["asm"]["_sqlite3HexToInt"].apply(null,arguments)};var _sqlite3IdListAppend=Module["_sqlite3IdListAppend"]=function(){return Module["asm"]["_sqlite3IdListAppend"].apply(null,arguments)};var _sqlite3IdListDelete=Module["_sqlite3IdListDelete"]=function(){return Module["asm"]["_sqlite3IdListDelete"].apply(null,arguments)};var _sqlite3IdListDup=Module["_sqlite3IdListDup"]=function(){return Module["asm"]["_sqlite3IdListDup"].apply(null,arguments)};var _sqlite3IdListIndex=Module["_sqlite3IdListIndex"]=function(){return Module["asm"]["_sqlite3IdListIndex"].apply(null,arguments)};var _sqlite3InRhsIsConstant=Module["_sqlite3InRhsIsConstant"]=function(){return Module["asm"]["_sqlite3InRhsIsConstant"].apply(null,arguments)};var _sqlite3IndexAffinityOk=Module["_sqlite3IndexAffinityOk"]=function(){return Module["asm"]["_sqlite3IndexAffinityOk"].apply(null,arguments)};var _sqlite3IndexAffinityStr=Module["_sqlite3IndexAffinityStr"]=function(){return Module["asm"]["_sqlite3IndexAffinityStr"].apply(null,arguments)};var _sqlite3IndexHasDuplicateRootPage=Module["_sqlite3IndexHasDuplicateRootPage"]=function(){return Module["asm"]["_sqlite3IndexHasDuplicateRootPage"].apply(null,arguments)};var _sqlite3IndexedByLookup=Module["_sqlite3IndexedByLookup"]=function(){return Module["asm"]["_sqlite3IndexedByLookup"].apply(null,arguments)};var _sqlite3Init=Module["_sqlite3Init"]=function(){return Module["asm"]["_sqlite3Init"].apply(null,arguments)};var _sqlite3InitCallback=Module["_sqlite3InitCallback"]=function(){return Module["asm"]["_sqlite3InitCallback"].apply(null,arguments)};var _sqlite3InitOne=Module["_sqlite3InitOne"]=function(){return Module["asm"]["_sqlite3InitOne"].apply(null,arguments)};var _sqlite3Insert=Module["_sqlite3Insert"]=function(){return Module["asm"]["_sqlite3Insert"].apply(null,arguments)};var _sqlite3InsertBuiltinFuncs=Module["_sqlite3InsertBuiltinFuncs"]=function(){return Module["asm"]["_sqlite3InsertBuiltinFuncs"].apply(null,arguments)};var _sqlite3IntFloatCompare=Module["_sqlite3IntFloatCompare"]=function(){return Module["asm"]["_sqlite3IntFloatCompare"].apply(null,arguments)};var _sqlite3InvalidFunction=Module["_sqlite3InvalidFunction"]=function(){return Module["asm"]["_sqlite3InvalidFunction"].apply(null,arguments)};var _sqlite3InvokeBusyHandler=Module["_sqlite3InvokeBusyHandler"]=function(){return Module["asm"]["_sqlite3InvokeBusyHandler"].apply(null,arguments)};var _sqlite3IsBinary=Module["_sqlite3IsBinary"]=function(){return Module["asm"]["_sqlite3IsBinary"].apply(null,arguments)};var _sqlite3IsIdChar=Module["_sqlite3IsIdChar"]=function(){return Module["asm"]["_sqlite3IsIdChar"].apply(null,arguments)};var _sqlite3IsLikeFunction=Module["_sqlite3IsLikeFunction"]=function(){return Module["asm"]["_sqlite3IsLikeFunction"].apply(null,arguments)};var _sqlite3IsNaN=Module["_sqlite3IsNaN"]=function(){return Module["asm"]["_sqlite3IsNaN"].apply(null,arguments)};var _sqlite3IsReadOnly=Module["_sqlite3IsReadOnly"]=function(){return Module["asm"]["_sqlite3IsReadOnly"].apply(null,arguments)};var _sqlite3IsRowid=Module["_sqlite3IsRowid"]=function(){return Module["asm"]["_sqlite3IsRowid"].apply(null,arguments)};var _sqlite3JoinType=Module["_sqlite3JoinType"]=function(){return Module["asm"]["_sqlite3JoinType"].apply(null,arguments)};var _sqlite3JournalIsInMemory=Module["_sqlite3JournalIsInMemory"]=function(){return Module["asm"]["_sqlite3JournalIsInMemory"].apply(null,arguments)};var _sqlite3JournalModename=Module["_sqlite3JournalModename"]=function(){return Module["asm"]["_sqlite3JournalModename"].apply(null,arguments)};var _sqlite3JournalOpen=Module["_sqlite3JournalOpen"]=function(){return Module["asm"]["_sqlite3JournalOpen"].apply(null,arguments)};var _sqlite3JournalSize=Module["_sqlite3JournalSize"]=function(){return Module["asm"]["_sqlite3JournalSize"].apply(null,arguments)};var _sqlite3Json1Init=Module["_sqlite3Json1Init"]=function(){return Module["asm"]["_sqlite3Json1Init"].apply(null,arguments)};var _sqlite3KeyInfoAlloc=Module["_sqlite3KeyInfoAlloc"]=function(){return Module["asm"]["_sqlite3KeyInfoAlloc"].apply(null,arguments)};var _sqlite3KeyInfoFromExprList=Module["_sqlite3KeyInfoFromExprList"]=function(){return Module["asm"]["_sqlite3KeyInfoFromExprList"].apply(null,arguments)};var _sqlite3KeyInfoOfIndex=Module["_sqlite3KeyInfoOfIndex"]=function(){return Module["asm"]["_sqlite3KeyInfoOfIndex"].apply(null,arguments)};var _sqlite3KeyInfoRef=Module["_sqlite3KeyInfoRef"]=function(){return Module["asm"]["_sqlite3KeyInfoRef"].apply(null,arguments)};var _sqlite3KeyInfoUnref=Module["_sqlite3KeyInfoUnref"]=function(){return Module["asm"]["_sqlite3KeyInfoUnref"].apply(null,arguments)};var _sqlite3KeywordCode=Module["_sqlite3KeywordCode"]=function(){return Module["asm"]["_sqlite3KeywordCode"].apply(null,arguments)};var _sqlite3LeaveMutexAndCloseZombie=Module["_sqlite3LeaveMutexAndCloseZombie"]=function(){return Module["asm"]["_sqlite3LeaveMutexAndCloseZombie"].apply(null,arguments)};var _sqlite3LoadExtension=Module["_sqlite3LoadExtension"]=function(){return Module["asm"]["_sqlite3LoadExtension"].apply(null,arguments)};var _sqlite3LocateCollSeq=Module["_sqlite3LocateCollSeq"]=function(){return Module["asm"]["_sqlite3LocateCollSeq"].apply(null,arguments)};var _sqlite3LocateTable=Module["_sqlite3LocateTable"]=function(){return Module["asm"]["_sqlite3LocateTable"].apply(null,arguments)};var _sqlite3LocateTableItem=Module["_sqlite3LocateTableItem"]=function(){return Module["asm"]["_sqlite3LocateTableItem"].apply(null,arguments)};var _sqlite3LockAndPrepare=Module["_sqlite3LockAndPrepare"]=function(){return Module["asm"]["_sqlite3LockAndPrepare"].apply(null,arguments)};var _sqlite3LogEst=Module["_sqlite3LogEst"]=function(){return Module["asm"]["_sqlite3LogEst"].apply(null,arguments)};var _sqlite3LogEstAdd=Module["_sqlite3LogEstAdd"]=function(){return Module["asm"]["_sqlite3LogEstAdd"].apply(null,arguments)};var _sqlite3LogEstFromDouble=Module["_sqlite3LogEstFromDouble"]=function(){return Module["asm"]["_sqlite3LogEstFromDouble"].apply(null,arguments)};var _sqlite3LookasideUsed=Module["_sqlite3LookasideUsed"]=function(){return Module["asm"]["_sqlite3LookasideUsed"].apply(null,arguments)};var _sqlite3MPrintf=Module["_sqlite3MPrintf"]=function(){return Module["asm"]["_sqlite3MPrintf"].apply(null,arguments)};var _sqlite3Malloc=Module["_sqlite3Malloc"]=function(){return Module["asm"]["_sqlite3Malloc"].apply(null,arguments)};var _sqlite3MallocAlarm=Module["_sqlite3MallocAlarm"]=function(){return Module["asm"]["_sqlite3MallocAlarm"].apply(null,arguments)};var _sqlite3MallocEnd=Module["_sqlite3MallocEnd"]=function(){return Module["asm"]["_sqlite3MallocEnd"].apply(null,arguments)};var _sqlite3MallocInit=Module["_sqlite3MallocInit"]=function(){return Module["asm"]["_sqlite3MallocInit"].apply(null,arguments)};var _sqlite3MallocMutex=Module["_sqlite3MallocMutex"]=function(){return Module["asm"]["_sqlite3MallocMutex"].apply(null,arguments)};var _sqlite3MallocSize=Module["_sqlite3MallocSize"]=function(){return Module["asm"]["_sqlite3MallocSize"].apply(null,arguments)};var _sqlite3MallocZero=Module["_sqlite3MallocZero"]=function(){return Module["asm"]["_sqlite3MallocZero"].apply(null,arguments)};var _sqlite3MatchSpanName=Module["_sqlite3MatchSpanName"]=function(){return Module["asm"]["_sqlite3MatchSpanName"].apply(null,arguments)};var _sqlite3MaterializeView=Module["_sqlite3MaterializeView"]=function(){return Module["asm"]["_sqlite3MaterializeView"].apply(null,arguments)};var _sqlite3MayAbort=Module["_sqlite3MayAbort"]=function(){return Module["asm"]["_sqlite3MayAbort"].apply(null,arguments)};var _sqlite3MemCompare=Module["_sqlite3MemCompare"]=function(){return Module["asm"]["_sqlite3MemCompare"].apply(null,arguments)};var _sqlite3MemFree=Module["_sqlite3MemFree"]=function(){return Module["asm"]["_sqlite3MemFree"].apply(null,arguments)};var _sqlite3MemInit=Module["_sqlite3MemInit"]=function(){return Module["asm"]["_sqlite3MemInit"].apply(null,arguments)};var _sqlite3MemJournalOpen=Module["_sqlite3MemJournalOpen"]=function(){return Module["asm"]["_sqlite3MemJournalOpen"].apply(null,arguments)};var _sqlite3MemMalloc=Module["_sqlite3MemMalloc"]=function(){return Module["asm"]["_sqlite3MemMalloc"].apply(null,arguments)};var _sqlite3MemRealloc=Module["_sqlite3MemRealloc"]=function(){return Module["asm"]["_sqlite3MemRealloc"].apply(null,arguments)};var _sqlite3MemRoundup=Module["_sqlite3MemRoundup"]=function(){return Module["asm"]["_sqlite3MemRoundup"].apply(null,arguments)};var _sqlite3MemSetDefault=Module["_sqlite3MemSetDefault"]=function(){return Module["asm"]["_sqlite3MemSetDefault"].apply(null,arguments)};var _sqlite3MemShutdown=Module["_sqlite3MemShutdown"]=function(){return Module["asm"]["_sqlite3MemShutdown"].apply(null,arguments)};var _sqlite3MemSize=Module["_sqlite3MemSize"]=function(){return Module["asm"]["_sqlite3MemSize"].apply(null,arguments)};var _sqlite3MemoryBarrier=Module["_sqlite3MemoryBarrier"]=function(){return Module["asm"]["_sqlite3MemoryBarrier"].apply(null,arguments)};var _sqlite3MisuseError=Module["_sqlite3MisuseError"]=function(){return Module["asm"]["_sqlite3MisuseError"].apply(null,arguments)};var _sqlite3MulInt64=Module["_sqlite3MulInt64"]=function(){return Module["asm"]["_sqlite3MulInt64"].apply(null,arguments)};var _sqlite3MultiWrite=Module["_sqlite3MultiWrite"]=function(){return Module["asm"]["_sqlite3MultiWrite"].apply(null,arguments)};var _sqlite3MutexAlloc=Module["_sqlite3MutexAlloc"]=function(){return Module["asm"]["_sqlite3MutexAlloc"].apply(null,arguments)};var _sqlite3MutexEnd=Module["_sqlite3MutexEnd"]=function(){return Module["asm"]["_sqlite3MutexEnd"].apply(null,arguments)};var _sqlite3MutexInit=Module["_sqlite3MutexInit"]=function(){return Module["asm"]["_sqlite3MutexInit"].apply(null,arguments)};var _sqlite3NameFromToken=Module["_sqlite3NameFromToken"]=function(){return Module["asm"]["_sqlite3NameFromToken"].apply(null,arguments)};var _sqlite3NestedParse=Module["_sqlite3NestedParse"]=function(){return Module["asm"]["_sqlite3NestedParse"].apply(null,arguments)};var _sqlite3NoopDestructor=Module["_sqlite3NoopDestructor"]=function(){return Module["asm"]["_sqlite3NoopDestructor"].apply(null,arguments)};var _sqlite3NoopMutex=Module["_sqlite3NoopMutex"]=function(){return Module["asm"]["_sqlite3NoopMutex"].apply(null,arguments)};var _sqlite3NotPureFunc=Module["_sqlite3NotPureFunc"]=function(){return Module["asm"]["_sqlite3NotPureFunc"].apply(null,arguments)};var _sqlite3OomClear=Module["_sqlite3OomClear"]=function(){return Module["asm"]["_sqlite3OomClear"].apply(null,arguments)};var _sqlite3OomFault=Module["_sqlite3OomFault"]=function(){return Module["asm"]["_sqlite3OomFault"].apply(null,arguments)};var _sqlite3OpcodeName=Module["_sqlite3OpcodeName"]=function(){return Module["asm"]["_sqlite3OpcodeName"].apply(null,arguments)};var _sqlite3OpenMasterTable=Module["_sqlite3OpenMasterTable"]=function(){return Module["asm"]["_sqlite3OpenMasterTable"].apply(null,arguments)};var _sqlite3OpenTable=Module["_sqlite3OpenTable"]=function(){return Module["asm"]["_sqlite3OpenTable"].apply(null,arguments)};var _sqlite3OpenTableAndIndices=Module["_sqlite3OpenTableAndIndices"]=function(){return Module["asm"]["_sqlite3OpenTableAndIndices"].apply(null,arguments)};var _sqlite3OpenTempDatabase=Module["_sqlite3OpenTempDatabase"]=function(){return Module["asm"]["_sqlite3OpenTempDatabase"].apply(null,arguments)};var _sqlite3OsAccess=Module["_sqlite3OsAccess"]=function(){return Module["asm"]["_sqlite3OsAccess"].apply(null,arguments)};var _sqlite3OsCheckReservedLock=Module["_sqlite3OsCheckReservedLock"]=function(){return Module["asm"]["_sqlite3OsCheckReservedLock"].apply(null,arguments)};var _sqlite3OsClose=Module["_sqlite3OsClose"]=function(){return Module["asm"]["_sqlite3OsClose"].apply(null,arguments)};var _sqlite3OsCloseFree=Module["_sqlite3OsCloseFree"]=function(){return Module["asm"]["_sqlite3OsCloseFree"].apply(null,arguments)};var _sqlite3OsCurrentTimeInt64=Module["_sqlite3OsCurrentTimeInt64"]=function(){return Module["asm"]["_sqlite3OsCurrentTimeInt64"].apply(null,arguments)};var _sqlite3OsDelete=Module["_sqlite3OsDelete"]=function(){return Module["asm"]["_sqlite3OsDelete"].apply(null,arguments)};var _sqlite3OsDeviceCharacteristics=Module["_sqlite3OsDeviceCharacteristics"]=function(){return Module["asm"]["_sqlite3OsDeviceCharacteristics"].apply(null,arguments)};var _sqlite3OsDlClose=Module["_sqlite3OsDlClose"]=function(){return Module["asm"]["_sqlite3OsDlClose"].apply(null,arguments)};var _sqlite3OsDlError=Module["_sqlite3OsDlError"]=function(){return Module["asm"]["_sqlite3OsDlError"].apply(null,arguments)};var _sqlite3OsDlOpen=Module["_sqlite3OsDlOpen"]=function(){return Module["asm"]["_sqlite3OsDlOpen"].apply(null,arguments)};var _sqlite3OsDlSym=Module["_sqlite3OsDlSym"]=function(){return Module["asm"]["_sqlite3OsDlSym"].apply(null,arguments)};var _sqlite3OsFetch=Module["_sqlite3OsFetch"]=function(){return Module["asm"]["_sqlite3OsFetch"].apply(null,arguments)};var _sqlite3OsFileControl=Module["_sqlite3OsFileControl"]=function(){return Module["asm"]["_sqlite3OsFileControl"].apply(null,arguments)};var _sqlite3OsFileControlHint=Module["_sqlite3OsFileControlHint"]=function(){return Module["asm"]["_sqlite3OsFileControlHint"].apply(null,arguments)};var _sqlite3OsFileSize=Module["_sqlite3OsFileSize"]=function(){return Module["asm"]["_sqlite3OsFileSize"].apply(null,arguments)};var _sqlite3OsFullPathname=Module["_sqlite3OsFullPathname"]=function(){return Module["asm"]["_sqlite3OsFullPathname"].apply(null,arguments)};var _sqlite3OsGetLastError=Module["_sqlite3OsGetLastError"]=function(){return Module["asm"]["_sqlite3OsGetLastError"].apply(null,arguments)};var _sqlite3OsInit=Module["_sqlite3OsInit"]=function(){return Module["asm"]["_sqlite3OsInit"].apply(null,arguments)};var _sqlite3OsLock=Module["_sqlite3OsLock"]=function(){return Module["asm"]["_sqlite3OsLock"].apply(null,arguments)};var _sqlite3OsOpen=Module["_sqlite3OsOpen"]=function(){return Module["asm"]["_sqlite3OsOpen"].apply(null,arguments)};var _sqlite3OsOpenMalloc=Module["_sqlite3OsOpenMalloc"]=function(){return Module["asm"]["_sqlite3OsOpenMalloc"].apply(null,arguments)};var _sqlite3OsRandomness=Module["_sqlite3OsRandomness"]=function(){return Module["asm"]["_sqlite3OsRandomness"].apply(null,arguments)};var _sqlite3OsRead=Module["_sqlite3OsRead"]=function(){return Module["asm"]["_sqlite3OsRead"].apply(null,arguments)};var _sqlite3OsSectorSize=Module["_sqlite3OsSectorSize"]=function(){return Module["asm"]["_sqlite3OsSectorSize"].apply(null,arguments)};var _sqlite3OsShmBarrier=Module["_sqlite3OsShmBarrier"]=function(){return Module["asm"]["_sqlite3OsShmBarrier"].apply(null,arguments)};var _sqlite3OsShmLock=Module["_sqlite3OsShmLock"]=function(){return Module["asm"]["_sqlite3OsShmLock"].apply(null,arguments)};var _sqlite3OsShmMap=Module["_sqlite3OsShmMap"]=function(){return Module["asm"]["_sqlite3OsShmMap"].apply(null,arguments)};var _sqlite3OsShmUnmap=Module["_sqlite3OsShmUnmap"]=function(){return Module["asm"]["_sqlite3OsShmUnmap"].apply(null,arguments)};var _sqlite3OsSleep=Module["_sqlite3OsSleep"]=function(){return Module["asm"]["_sqlite3OsSleep"].apply(null,arguments)};var _sqlite3OsSync=Module["_sqlite3OsSync"]=function(){return Module["asm"]["_sqlite3OsSync"].apply(null,arguments)};var _sqlite3OsTruncate=Module["_sqlite3OsTruncate"]=function(){return Module["asm"]["_sqlite3OsTruncate"].apply(null,arguments)};var _sqlite3OsUnfetch=Module["_sqlite3OsUnfetch"]=function(){return Module["asm"]["_sqlite3OsUnfetch"].apply(null,arguments)};var _sqlite3OsUnlock=Module["_sqlite3OsUnlock"]=function(){return Module["asm"]["_sqlite3OsUnlock"].apply(null,arguments)};var _sqlite3OsWrite=Module["_sqlite3OsWrite"]=function(){return Module["asm"]["_sqlite3OsWrite"].apply(null,arguments)};var _sqlite3PCacheBufferSetup=Module["_sqlite3PCacheBufferSetup"]=function(){return Module["asm"]["_sqlite3PCacheBufferSetup"].apply(null,arguments)};var _sqlite3PCachePercentDirty=Module["_sqlite3PCachePercentDirty"]=function(){return Module["asm"]["_sqlite3PCachePercentDirty"].apply(null,arguments)};var _sqlite3PCacheSetDefault=Module["_sqlite3PCacheSetDefault"]=function(){return Module["asm"]["_sqlite3PCacheSetDefault"].apply(null,arguments)};var _sqlite3PExpr=Module["_sqlite3PExpr"]=function(){return Module["asm"]["_sqlite3PExpr"].apply(null,arguments)};var _sqlite3PExprAddSelect=Module["_sqlite3PExprAddSelect"]=function(){return Module["asm"]["_sqlite3PExprAddSelect"].apply(null,arguments)};var _sqlite3PageFree=Module["_sqlite3PageFree"]=function(){return Module["asm"]["_sqlite3PageFree"].apply(null,arguments)};var _sqlite3PageMalloc=Module["_sqlite3PageMalloc"]=function(){return Module["asm"]["_sqlite3PageMalloc"].apply(null,arguments)};var _sqlite3PagerBackupPtr=Module["_sqlite3PagerBackupPtr"]=function(){return Module["asm"]["_sqlite3PagerBackupPtr"].apply(null,arguments)};var _sqlite3PagerBegin=Module["_sqlite3PagerBegin"]=function(){return Module["asm"]["_sqlite3PagerBegin"].apply(null,arguments)};var _sqlite3PagerCacheStat=Module["_sqlite3PagerCacheStat"]=function(){return Module["asm"]["_sqlite3PagerCacheStat"].apply(null,arguments)};var _sqlite3PagerCheckpoint=Module["_sqlite3PagerCheckpoint"]=function(){return Module["asm"]["_sqlite3PagerCheckpoint"].apply(null,arguments)};var _sqlite3PagerClearCache=Module["_sqlite3PagerClearCache"]=function(){return Module["asm"]["_sqlite3PagerClearCache"].apply(null,arguments)};var _sqlite3PagerClose=Module["_sqlite3PagerClose"]=function(){return Module["asm"]["_sqlite3PagerClose"].apply(null,arguments)};var _sqlite3PagerCloseWal=Module["_sqlite3PagerCloseWal"]=function(){return Module["asm"]["_sqlite3PagerCloseWal"].apply(null,arguments)};var _sqlite3PagerCommitPhaseOne=Module["_sqlite3PagerCommitPhaseOne"]=function(){return Module["asm"]["_sqlite3PagerCommitPhaseOne"].apply(null,arguments)};var _sqlite3PagerCommitPhaseTwo=Module["_sqlite3PagerCommitPhaseTwo"]=function(){return Module["asm"]["_sqlite3PagerCommitPhaseTwo"].apply(null,arguments)};var _sqlite3PagerDataVersion=Module["_sqlite3PagerDataVersion"]=function(){return Module["asm"]["_sqlite3PagerDataVersion"].apply(null,arguments)};var _sqlite3PagerDontWrite=Module["_sqlite3PagerDontWrite"]=function(){return Module["asm"]["_sqlite3PagerDontWrite"].apply(null,arguments)};var _sqlite3PagerExclusiveLock=Module["_sqlite3PagerExclusiveLock"]=function(){return Module["asm"]["_sqlite3PagerExclusiveLock"].apply(null,arguments)};var _sqlite3PagerFile=Module["_sqlite3PagerFile"]=function(){return Module["asm"]["_sqlite3PagerFile"].apply(null,arguments)};var _sqlite3PagerFilename=Module["_sqlite3PagerFilename"]=function(){return Module["asm"]["_sqlite3PagerFilename"].apply(null,arguments)};var _sqlite3PagerFlush=Module["_sqlite3PagerFlush"]=function(){return Module["asm"]["_sqlite3PagerFlush"].apply(null,arguments)};var _sqlite3PagerGet=Module["_sqlite3PagerGet"]=function(){return Module["asm"]["_sqlite3PagerGet"].apply(null,arguments)};var _sqlite3PagerGetData=Module["_sqlite3PagerGetData"]=function(){return Module["asm"]["_sqlite3PagerGetData"].apply(null,arguments)};var _sqlite3PagerGetExtra=Module["_sqlite3PagerGetExtra"]=function(){return Module["asm"]["_sqlite3PagerGetExtra"].apply(null,arguments)};var _sqlite3PagerGetJournalMode=Module["_sqlite3PagerGetJournalMode"]=function(){return Module["asm"]["_sqlite3PagerGetJournalMode"].apply(null,arguments)};var _sqlite3PagerIsMemdb=Module["_sqlite3PagerIsMemdb"]=function(){return Module["asm"]["_sqlite3PagerIsMemdb"].apply(null,arguments)};var _sqlite3PagerIsreadonly=Module["_sqlite3PagerIsreadonly"]=function(){return Module["asm"]["_sqlite3PagerIsreadonly"].apply(null,arguments)};var _sqlite3PagerJournalSizeLimit=Module["_sqlite3PagerJournalSizeLimit"]=function(){return Module["asm"]["_sqlite3PagerJournalSizeLimit"].apply(null,arguments)};var _sqlite3PagerJournalname=Module["_sqlite3PagerJournalname"]=function(){return Module["asm"]["_sqlite3PagerJournalname"].apply(null,arguments)};var _sqlite3PagerJrnlFile=Module["_sqlite3PagerJrnlFile"]=function(){return Module["asm"]["_sqlite3PagerJrnlFile"].apply(null,arguments)};var _sqlite3PagerLockingMode=Module["_sqlite3PagerLockingMode"]=function(){return Module["asm"]["_sqlite3PagerLockingMode"].apply(null,arguments)};var _sqlite3PagerLookup=Module["_sqlite3PagerLookup"]=function(){return Module["asm"]["_sqlite3PagerLookup"].apply(null,arguments)};var _sqlite3PagerMaxPageCount=Module["_sqlite3PagerMaxPageCount"]=function(){return Module["asm"]["_sqlite3PagerMaxPageCount"].apply(null,arguments)};var _sqlite3PagerMemUsed=Module["_sqlite3PagerMemUsed"]=function(){return Module["asm"]["_sqlite3PagerMemUsed"].apply(null,arguments)};var _sqlite3PagerMovepage=Module["_sqlite3PagerMovepage"]=function(){return Module["asm"]["_sqlite3PagerMovepage"].apply(null,arguments)};var _sqlite3PagerOkToChangeJournalMode=Module["_sqlite3PagerOkToChangeJournalMode"]=function(){return Module["asm"]["_sqlite3PagerOkToChangeJournalMode"].apply(null,arguments)};var _sqlite3PagerOpen=Module["_sqlite3PagerOpen"]=function(){return Module["asm"]["_sqlite3PagerOpen"].apply(null,arguments)};var _sqlite3PagerOpenSavepoint=Module["_sqlite3PagerOpenSavepoint"]=function(){return Module["asm"]["_sqlite3PagerOpenSavepoint"].apply(null,arguments)};var _sqlite3PagerOpenWal=Module["_sqlite3PagerOpenWal"]=function(){return Module["asm"]["_sqlite3PagerOpenWal"].apply(null,arguments)};var _sqlite3PagerPageRefcount=Module["_sqlite3PagerPageRefcount"]=function(){return Module["asm"]["_sqlite3PagerPageRefcount"].apply(null,arguments)};var _sqlite3PagerPagecount=Module["_sqlite3PagerPagecount"]=function(){return Module["asm"]["_sqlite3PagerPagecount"].apply(null,arguments)};var _sqlite3PagerReadFileheader=Module["_sqlite3PagerReadFileheader"]=function(){return Module["asm"]["_sqlite3PagerReadFileheader"].apply(null,arguments)};var _sqlite3PagerRef=Module["_sqlite3PagerRef"]=function(){return Module["asm"]["_sqlite3PagerRef"].apply(null,arguments)};var _sqlite3PagerRekey=Module["_sqlite3PagerRekey"]=function(){return Module["asm"]["_sqlite3PagerRekey"].apply(null,arguments)};var _sqlite3PagerRollback=Module["_sqlite3PagerRollback"]=function(){return Module["asm"]["_sqlite3PagerRollback"].apply(null,arguments)};var _sqlite3PagerSavepoint=Module["_sqlite3PagerSavepoint"]=function(){return Module["asm"]["_sqlite3PagerSavepoint"].apply(null,arguments)};var _sqlite3PagerSetBusyHandler=Module["_sqlite3PagerSetBusyHandler"]=function(){return Module["asm"]["_sqlite3PagerSetBusyHandler"].apply(null,arguments)};var _sqlite3PagerSetCachesize=Module["_sqlite3PagerSetCachesize"]=function(){return Module["asm"]["_sqlite3PagerSetCachesize"].apply(null,arguments)};var _sqlite3PagerSetFlags=Module["_sqlite3PagerSetFlags"]=function(){return Module["asm"]["_sqlite3PagerSetFlags"].apply(null,arguments)};var _sqlite3PagerSetJournalMode=Module["_sqlite3PagerSetJournalMode"]=function(){return Module["asm"]["_sqlite3PagerSetJournalMode"].apply(null,arguments)};var _sqlite3PagerSetMmapLimit=Module["_sqlite3PagerSetMmapLimit"]=function(){return Module["asm"]["_sqlite3PagerSetMmapLimit"].apply(null,arguments)};var _sqlite3PagerSetPagesize=Module["_sqlite3PagerSetPagesize"]=function(){return Module["asm"]["_sqlite3PagerSetPagesize"].apply(null,arguments)};var _sqlite3PagerSetSpillsize=Module["_sqlite3PagerSetSpillsize"]=function(){return Module["asm"]["_sqlite3PagerSetSpillsize"].apply(null,arguments)};var _sqlite3PagerSharedLock=Module["_sqlite3PagerSharedLock"]=function(){return Module["asm"]["_sqlite3PagerSharedLock"].apply(null,arguments)};var _sqlite3PagerShrink=Module["_sqlite3PagerShrink"]=function(){return Module["asm"]["_sqlite3PagerShrink"].apply(null,arguments)};var _sqlite3PagerSync=Module["_sqlite3PagerSync"]=function(){return Module["asm"]["_sqlite3PagerSync"].apply(null,arguments)};var _sqlite3PagerTempSpace=Module["_sqlite3PagerTempSpace"]=function(){return Module["asm"]["_sqlite3PagerTempSpace"].apply(null,arguments)};var _sqlite3PagerTruncateImage=Module["_sqlite3PagerTruncateImage"]=function(){return Module["asm"]["_sqlite3PagerTruncateImage"].apply(null,arguments)};var _sqlite3PagerUnref=Module["_sqlite3PagerUnref"]=function(){return Module["asm"]["_sqlite3PagerUnref"].apply(null,arguments)};var _sqlite3PagerUnrefNotNull=Module["_sqlite3PagerUnrefNotNull"]=function(){return Module["asm"]["_sqlite3PagerUnrefNotNull"].apply(null,arguments)};var _sqlite3PagerUnrefPageOne=Module["_sqlite3PagerUnrefPageOne"]=function(){return Module["asm"]["_sqlite3PagerUnrefPageOne"].apply(null,arguments)};var _sqlite3PagerVfs=Module["_sqlite3PagerVfs"]=function(){return Module["asm"]["_sqlite3PagerVfs"].apply(null,arguments)};var _sqlite3PagerWalCallback=Module["_sqlite3PagerWalCallback"]=function(){return Module["asm"]["_sqlite3PagerWalCallback"].apply(null,arguments)};var _sqlite3PagerWalSupported=Module["_sqlite3PagerWalSupported"]=function(){return Module["asm"]["_sqlite3PagerWalSupported"].apply(null,arguments)};var _sqlite3PagerWrite=Module["_sqlite3PagerWrite"]=function(){return Module["asm"]["_sqlite3PagerWrite"].apply(null,arguments)};var _sqlite3ParseUri=Module["_sqlite3ParseUri"]=function(){return Module["asm"]["_sqlite3ParseUri"].apply(null,arguments)};var _sqlite3Parser=Module["_sqlite3Parser"]=function(){return Module["asm"]["_sqlite3Parser"].apply(null,arguments)};var _sqlite3ParserFallback=Module["_sqlite3ParserFallback"]=function(){return Module["asm"]["_sqlite3ParserFallback"].apply(null,arguments)};var _sqlite3ParserFinalize=Module["_sqlite3ParserFinalize"]=function(){return Module["asm"]["_sqlite3ParserFinalize"].apply(null,arguments)};var _sqlite3ParserInit=Module["_sqlite3ParserInit"]=function(){return Module["asm"]["_sqlite3ParserInit"].apply(null,arguments)};var _sqlite3ParserReset=Module["_sqlite3ParserReset"]=function(){return Module["asm"]["_sqlite3ParserReset"].apply(null,arguments)};var _sqlite3Pcache1Mutex=Module["_sqlite3Pcache1Mutex"]=function(){return Module["asm"]["_sqlite3Pcache1Mutex"].apply(null,arguments)};var _sqlite3PcacheCleanAll=Module["_sqlite3PcacheCleanAll"]=function(){return Module["asm"]["_sqlite3PcacheCleanAll"].apply(null,arguments)};var _sqlite3PcacheClear=Module["_sqlite3PcacheClear"]=function(){return Module["asm"]["_sqlite3PcacheClear"].apply(null,arguments)};var _sqlite3PcacheClearSyncFlags=Module["_sqlite3PcacheClearSyncFlags"]=function(){return Module["asm"]["_sqlite3PcacheClearSyncFlags"].apply(null,arguments)};var _sqlite3PcacheClearWritable=Module["_sqlite3PcacheClearWritable"]=function(){return Module["asm"]["_sqlite3PcacheClearWritable"].apply(null,arguments)};var _sqlite3PcacheClose=Module["_sqlite3PcacheClose"]=function(){return Module["asm"]["_sqlite3PcacheClose"].apply(null,arguments)};var _sqlite3PcacheDirtyList=Module["_sqlite3PcacheDirtyList"]=function(){return Module["asm"]["_sqlite3PcacheDirtyList"].apply(null,arguments)};var _sqlite3PcacheDrop=Module["_sqlite3PcacheDrop"]=function(){return Module["asm"]["_sqlite3PcacheDrop"].apply(null,arguments)};var _sqlite3PcacheFetch=Module["_sqlite3PcacheFetch"]=function(){return Module["asm"]["_sqlite3PcacheFetch"].apply(null,arguments)};var _sqlite3PcacheFetchFinish=Module["_sqlite3PcacheFetchFinish"]=function(){return Module["asm"]["_sqlite3PcacheFetchFinish"].apply(null,arguments)};var _sqlite3PcacheFetchStress=Module["_sqlite3PcacheFetchStress"]=function(){return Module["asm"]["_sqlite3PcacheFetchStress"].apply(null,arguments)};var _sqlite3PcacheInitialize=Module["_sqlite3PcacheInitialize"]=function(){return Module["asm"]["_sqlite3PcacheInitialize"].apply(null,arguments)};var _sqlite3PcacheMakeClean=Module["_sqlite3PcacheMakeClean"]=function(){return Module["asm"]["_sqlite3PcacheMakeClean"].apply(null,arguments)};var _sqlite3PcacheMakeDirty=Module["_sqlite3PcacheMakeDirty"]=function(){return Module["asm"]["_sqlite3PcacheMakeDirty"].apply(null,arguments)};var _sqlite3PcacheMove=Module["_sqlite3PcacheMove"]=function(){return Module["asm"]["_sqlite3PcacheMove"].apply(null,arguments)};var _sqlite3PcacheOpen=Module["_sqlite3PcacheOpen"]=function(){return Module["asm"]["_sqlite3PcacheOpen"].apply(null,arguments)};var _sqlite3PcachePageRefcount=Module["_sqlite3PcachePageRefcount"]=function(){return Module["asm"]["_sqlite3PcachePageRefcount"].apply(null,arguments)};var _sqlite3PcachePagecount=Module["_sqlite3PcachePagecount"]=function(){return Module["asm"]["_sqlite3PcachePagecount"].apply(null,arguments)};var _sqlite3PcacheRef=Module["_sqlite3PcacheRef"]=function(){return Module["asm"]["_sqlite3PcacheRef"].apply(null,arguments)};var _sqlite3PcacheRefCount=Module["_sqlite3PcacheRefCount"]=function(){return Module["asm"]["_sqlite3PcacheRefCount"].apply(null,arguments)};var _sqlite3PcacheRelease=Module["_sqlite3PcacheRelease"]=function(){return Module["asm"]["_sqlite3PcacheRelease"].apply(null,arguments)};var _sqlite3PcacheSetCachesize=Module["_sqlite3PcacheSetCachesize"]=function(){return Module["asm"]["_sqlite3PcacheSetCachesize"].apply(null,arguments)};var _sqlite3PcacheSetPageSize=Module["_sqlite3PcacheSetPageSize"]=function(){return Module["asm"]["_sqlite3PcacheSetPageSize"].apply(null,arguments)};var _sqlite3PcacheSetSpillsize=Module["_sqlite3PcacheSetSpillsize"]=function(){return Module["asm"]["_sqlite3PcacheSetSpillsize"].apply(null,arguments)};var _sqlite3PcacheShrink=Module["_sqlite3PcacheShrink"]=function(){return Module["asm"]["_sqlite3PcacheShrink"].apply(null,arguments)};var _sqlite3PcacheShutdown=Module["_sqlite3PcacheShutdown"]=function(){return Module["asm"]["_sqlite3PcacheShutdown"].apply(null,arguments)};var _sqlite3PcacheSize=Module["_sqlite3PcacheSize"]=function(){return Module["asm"]["_sqlite3PcacheSize"].apply(null,arguments)};var _sqlite3PcacheTruncate=Module["_sqlite3PcacheTruncate"]=function(){return Module["asm"]["_sqlite3PcacheTruncate"].apply(null,arguments)};var _sqlite3Pow10=Module["_sqlite3Pow10"]=function(){return Module["asm"]["_sqlite3Pow10"].apply(null,arguments)};var _sqlite3Pragma=Module["_sqlite3Pragma"]=function(){return Module["asm"]["_sqlite3Pragma"].apply(null,arguments)};var _sqlite3PragmaVtabRegister=Module["_sqlite3PragmaVtabRegister"]=function(){return Module["asm"]["_sqlite3PragmaVtabRegister"].apply(null,arguments)};var _sqlite3Prepare=Module["_sqlite3Prepare"]=function(){return Module["asm"]["_sqlite3Prepare"].apply(null,arguments)};var _sqlite3Prepare16=Module["_sqlite3Prepare16"]=function(){return Module["asm"]["_sqlite3Prepare16"].apply(null,arguments)};var _sqlite3PrimaryKeyIndex=Module["_sqlite3PrimaryKeyIndex"]=function(){return Module["asm"]["_sqlite3PrimaryKeyIndex"].apply(null,arguments)};var _sqlite3PrngRestoreState=Module["_sqlite3PrngRestoreState"]=function(){return Module["asm"]["_sqlite3PrngRestoreState"].apply(null,arguments)};var _sqlite3PrngSaveState=Module["_sqlite3PrngSaveState"]=function(){return Module["asm"]["_sqlite3PrngSaveState"].apply(null,arguments)};var _sqlite3Put4byte=Module["_sqlite3Put4byte"]=function(){return Module["asm"]["_sqlite3Put4byte"].apply(null,arguments)};var _sqlite3PutVarint=Module["_sqlite3PutVarint"]=function(){return Module["asm"]["_sqlite3PutVarint"].apply(null,arguments)};var _sqlite3ReadSchema=Module["_sqlite3ReadSchema"]=function(){return Module["asm"]["_sqlite3ReadSchema"].apply(null,arguments)};var _sqlite3RealSameAsInt=Module["_sqlite3RealSameAsInt"]=function(){return Module["asm"]["_sqlite3RealSameAsInt"].apply(null,arguments)};var _sqlite3Realloc=Module["_sqlite3Realloc"]=function(){return Module["asm"]["_sqlite3Realloc"].apply(null,arguments)};var _sqlite3RefillIndex=Module["_sqlite3RefillIndex"]=function(){return Module["asm"]["_sqlite3RefillIndex"].apply(null,arguments)};var _sqlite3RegisterBuiltinFunctions=Module["_sqlite3RegisterBuiltinFunctions"]=function(){return Module["asm"]["_sqlite3RegisterBuiltinFunctions"].apply(null,arguments)};var _sqlite3RegisterDateTimeFunctions=Module["_sqlite3RegisterDateTimeFunctions"]=function(){return Module["asm"]["_sqlite3RegisterDateTimeFunctions"].apply(null,arguments)};var _sqlite3RegisterLikeFunctions=Module["_sqlite3RegisterLikeFunctions"]=function(){return Module["asm"]["_sqlite3RegisterLikeFunctions"].apply(null,arguments)};var _sqlite3RegisterPerConnectionBuiltinFunctions=Module["_sqlite3RegisterPerConnectionBuiltinFunctions"]=function(){return Module["asm"]["_sqlite3RegisterPerConnectionBuiltinFunctions"].apply(null,arguments)};var _sqlite3Reindex=Module["_sqlite3Reindex"]=function(){return Module["asm"]["_sqlite3Reindex"].apply(null,arguments)};var _sqlite3ReleaseTempRange=Module["_sqlite3ReleaseTempRange"]=function(){return Module["asm"]["_sqlite3ReleaseTempRange"].apply(null,arguments)};var _sqlite3ReleaseTempReg=Module["_sqlite3ReleaseTempReg"]=function(){return Module["asm"]["_sqlite3ReleaseTempReg"].apply(null,arguments)};var _sqlite3RenameExprUnmap=Module["_sqlite3RenameExprUnmap"]=function(){return Module["asm"]["_sqlite3RenameExprUnmap"].apply(null,arguments)};var _sqlite3RenameExprlistUnmap=Module["_sqlite3RenameExprlistUnmap"]=function(){return Module["asm"]["_sqlite3RenameExprlistUnmap"].apply(null,arguments)};var _sqlite3RenameTokenMap=Module["_sqlite3RenameTokenMap"]=function(){return Module["asm"]["_sqlite3RenameTokenMap"].apply(null,arguments)};var _sqlite3RenameTokenRemap=Module["_sqlite3RenameTokenRemap"]=function(){return Module["asm"]["_sqlite3RenameTokenRemap"].apply(null,arguments)};var _sqlite3ReportError=Module["_sqlite3ReportError"]=function(){return Module["asm"]["_sqlite3ReportError"].apply(null,arguments)};var _sqlite3Reprepare=Module["_sqlite3Reprepare"]=function(){return Module["asm"]["_sqlite3Reprepare"].apply(null,arguments)};var _sqlite3ResetAllSchemasOfConnection=Module["_sqlite3ResetAllSchemasOfConnection"]=function(){return Module["asm"]["_sqlite3ResetAllSchemasOfConnection"].apply(null,arguments)};var _sqlite3ResetOneSchema=Module["_sqlite3ResetOneSchema"]=function(){return Module["asm"]["_sqlite3ResetOneSchema"].apply(null,arguments)};var _sqlite3ResolveExprListNames=Module["_sqlite3ResolveExprListNames"]=function(){return Module["asm"]["_sqlite3ResolveExprListNames"].apply(null,arguments)};var _sqlite3ResolveExprNames=Module["_sqlite3ResolveExprNames"]=function(){return Module["asm"]["_sqlite3ResolveExprNames"].apply(null,arguments)};var _sqlite3ResolveOrderGroupBy=Module["_sqlite3ResolveOrderGroupBy"]=function(){return Module["asm"]["_sqlite3ResolveOrderGroupBy"].apply(null,arguments)};var _sqlite3ResolvePartIdxLabel=Module["_sqlite3ResolvePartIdxLabel"]=function(){return Module["asm"]["_sqlite3ResolvePartIdxLabel"].apply(null,arguments)};var _sqlite3ResolveSelectNames=Module["_sqlite3ResolveSelectNames"]=function(){return Module["asm"]["_sqlite3ResolveSelectNames"].apply(null,arguments)};var _sqlite3ResolveSelfReference=Module["_sqlite3ResolveSelfReference"]=function(){return Module["asm"]["_sqlite3ResolveSelfReference"].apply(null,arguments)};var _sqlite3ResultSetOfSelect=Module["_sqlite3ResultSetOfSelect"]=function(){return Module["asm"]["_sqlite3ResultSetOfSelect"].apply(null,arguments)};var _sqlite3RollbackAll=Module["_sqlite3RollbackAll"]=function(){return Module["asm"]["_sqlite3RollbackAll"].apply(null,arguments)};var _sqlite3RootPageMoved=Module["_sqlite3RootPageMoved"]=function(){return Module["asm"]["_sqlite3RootPageMoved"].apply(null,arguments)};var _sqlite3RowSetClear=Module["_sqlite3RowSetClear"]=function(){return Module["asm"]["_sqlite3RowSetClear"].apply(null,arguments)};var _sqlite3RowSetDelete=Module["_sqlite3RowSetDelete"]=function(){return Module["asm"]["_sqlite3RowSetDelete"].apply(null,arguments)};var _sqlite3RowSetInit=Module["_sqlite3RowSetInit"]=function(){return Module["asm"]["_sqlite3RowSetInit"].apply(null,arguments)};var _sqlite3RowSetInsert=Module["_sqlite3RowSetInsert"]=function(){return Module["asm"]["_sqlite3RowSetInsert"].apply(null,arguments)};var _sqlite3RowSetNext=Module["_sqlite3RowSetNext"]=function(){return Module["asm"]["_sqlite3RowSetNext"].apply(null,arguments)};var _sqlite3RowSetTest=Module["_sqlite3RowSetTest"]=function(){return Module["asm"]["_sqlite3RowSetTest"].apply(null,arguments)};var _sqlite3RowidConstraint=Module["_sqlite3RowidConstraint"]=function(){return Module["asm"]["_sqlite3RowidConstraint"].apply(null,arguments)};var _sqlite3RtreeInit=Module["_sqlite3RtreeInit"]=function(){return Module["asm"]["_sqlite3RtreeInit"].apply(null,arguments)};var _sqlite3RunParser=Module["_sqlite3RunParser"]=function(){return Module["asm"]["_sqlite3RunParser"].apply(null,arguments)};var _sqlite3RunVacuum=Module["_sqlite3RunVacuum"]=function(){return Module["asm"]["_sqlite3RunVacuum"].apply(null,arguments)};var _sqlite3SafetyCheckOk=Module["_sqlite3SafetyCheckOk"]=function(){return Module["asm"]["_sqlite3SafetyCheckOk"].apply(null,arguments)};var _sqlite3SafetyCheckSickOrOk=Module["_sqlite3SafetyCheckSickOrOk"]=function(){return Module["asm"]["_sqlite3SafetyCheckSickOrOk"].apply(null,arguments)};var _sqlite3Savepoint=Module["_sqlite3Savepoint"]=function(){return Module["asm"]["_sqlite3Savepoint"].apply(null,arguments)};var _sqlite3SchemaClear=Module["_sqlite3SchemaClear"]=function(){return Module["asm"]["_sqlite3SchemaClear"].apply(null,arguments)};var _sqlite3SchemaGet=Module["_sqlite3SchemaGet"]=function(){return Module["asm"]["_sqlite3SchemaGet"].apply(null,arguments)};var _sqlite3SchemaToIndex=Module["_sqlite3SchemaToIndex"]=function(){return Module["asm"]["_sqlite3SchemaToIndex"].apply(null,arguments)};var _sqlite3SectorSize=Module["_sqlite3SectorSize"]=function(){return Module["asm"]["_sqlite3SectorSize"].apply(null,arguments)};var _sqlite3Select=Module["_sqlite3Select"]=function(){return Module["asm"]["_sqlite3Select"].apply(null,arguments)};var _sqlite3SelectAddColumnTypeAndCollation=Module["_sqlite3SelectAddColumnTypeAndCollation"]=function(){return Module["asm"]["_sqlite3SelectAddColumnTypeAndCollation"].apply(null,arguments)};var _sqlite3SelectAddTypeInfo=Module["_sqlite3SelectAddTypeInfo"]=function(){return Module["asm"]["_sqlite3SelectAddTypeInfo"].apply(null,arguments)};var _sqlite3SelectDelete=Module["_sqlite3SelectDelete"]=function(){return Module["asm"]["_sqlite3SelectDelete"].apply(null,arguments)};var _sqlite3SelectDestInit=Module["_sqlite3SelectDestInit"]=function(){return Module["asm"]["_sqlite3SelectDestInit"].apply(null,arguments)};var _sqlite3SelectDup=Module["_sqlite3SelectDup"]=function(){return Module["asm"]["_sqlite3SelectDup"].apply(null,arguments)};var _sqlite3SelectExpand=Module["_sqlite3SelectExpand"]=function(){return Module["asm"]["_sqlite3SelectExpand"].apply(null,arguments)};var _sqlite3SelectExprHeight=Module["_sqlite3SelectExprHeight"]=function(){return Module["asm"]["_sqlite3SelectExprHeight"].apply(null,arguments)};var _sqlite3SelectNew=Module["_sqlite3SelectNew"]=function(){return Module["asm"]["_sqlite3SelectNew"].apply(null,arguments)};var _sqlite3SelectPrep=Module["_sqlite3SelectPrep"]=function(){return Module["asm"]["_sqlite3SelectPrep"].apply(null,arguments)};var _sqlite3SelectWalkFail=Module["_sqlite3SelectWalkFail"]=function(){return Module["asm"]["_sqlite3SelectWalkFail"].apply(null,arguments)};var _sqlite3SelectWalkNoop=Module["_sqlite3SelectWalkNoop"]=function(){return Module["asm"]["_sqlite3SelectWalkNoop"].apply(null,arguments)};var _sqlite3SelectWrongNumTermsError=Module["_sqlite3SelectWrongNumTermsError"]=function(){return Module["asm"]["_sqlite3SelectWrongNumTermsError"].apply(null,arguments)};var _sqlite3SetHasNullFlag=Module["_sqlite3SetHasNullFlag"]=function(){return Module["asm"]["_sqlite3SetHasNullFlag"].apply(null,arguments)};var _sqlite3SetString=Module["_sqlite3SetString"]=function(){return Module["asm"]["_sqlite3SetString"].apply(null,arguments)};var _sqlite3SkipAccumulatorLoad=Module["_sqlite3SkipAccumulatorLoad"]=function(){return Module["asm"]["_sqlite3SkipAccumulatorLoad"].apply(null,arguments)};var _sqlite3SrcListAppend=Module["_sqlite3SrcListAppend"]=function(){return Module["asm"]["_sqlite3SrcListAppend"].apply(null,arguments)};var _sqlite3SrcListAppendFromTerm=Module["_sqlite3SrcListAppendFromTerm"]=function(){return Module["asm"]["_sqlite3SrcListAppendFromTerm"].apply(null,arguments)};var _sqlite3SrcListAssignCursors=Module["_sqlite3SrcListAssignCursors"]=function(){return Module["asm"]["_sqlite3SrcListAssignCursors"].apply(null,arguments)};var _sqlite3SrcListDelete=Module["_sqlite3SrcListDelete"]=function(){return Module["asm"]["_sqlite3SrcListDelete"].apply(null,arguments)};var _sqlite3SrcListDup=Module["_sqlite3SrcListDup"]=function(){return Module["asm"]["_sqlite3SrcListDup"].apply(null,arguments)};var _sqlite3SrcListEnlarge=Module["_sqlite3SrcListEnlarge"]=function(){return Module["asm"]["_sqlite3SrcListEnlarge"].apply(null,arguments)};var _sqlite3SrcListFuncArgs=Module["_sqlite3SrcListFuncArgs"]=function(){return Module["asm"]["_sqlite3SrcListFuncArgs"].apply(null,arguments)};var _sqlite3SrcListIndexedBy=Module["_sqlite3SrcListIndexedBy"]=function(){return Module["asm"]["_sqlite3SrcListIndexedBy"].apply(null,arguments)};var _sqlite3SrcListLookup=Module["_sqlite3SrcListLookup"]=function(){return Module["asm"]["_sqlite3SrcListLookup"].apply(null,arguments)};var _sqlite3SrcListShiftJoinType=Module["_sqlite3SrcListShiftJoinType"]=function(){return Module["asm"]["_sqlite3SrcListShiftJoinType"].apply(null,arguments)};var _sqlite3StartTable=Module["_sqlite3StartTable"]=function(){return Module["asm"]["_sqlite3StartTable"].apply(null,arguments)};var _sqlite3StatusDown=Module["_sqlite3StatusDown"]=function(){return Module["asm"]["_sqlite3StatusDown"].apply(null,arguments)};var _sqlite3StatusHighwater=Module["_sqlite3StatusHighwater"]=function(){return Module["asm"]["_sqlite3StatusHighwater"].apply(null,arguments)};var _sqlite3StatusUp=Module["_sqlite3StatusUp"]=function(){return Module["asm"]["_sqlite3StatusUp"].apply(null,arguments)};var _sqlite3StatusValue=Module["_sqlite3StatusValue"]=function(){return Module["asm"]["_sqlite3StatusValue"].apply(null,arguments)};var _sqlite3Step=Module["_sqlite3Step"]=function(){return Module["asm"]["_sqlite3Step"].apply(null,arguments)};var _sqlite3StmtCurrentTime=Module["_sqlite3StmtCurrentTime"]=function(){return Module["asm"]["_sqlite3StmtCurrentTime"].apply(null,arguments)};var _sqlite3StrAccumEnlarge=Module["_sqlite3StrAccumEnlarge"]=function(){return Module["asm"]["_sqlite3StrAccumEnlarge"].apply(null,arguments)};var _sqlite3StrAccumFinish=Module["_sqlite3StrAccumFinish"]=function(){return Module["asm"]["_sqlite3StrAccumFinish"].apply(null,arguments)};var _sqlite3StrAccumInit=Module["_sqlite3StrAccumInit"]=function(){return Module["asm"]["_sqlite3StrAccumInit"].apply(null,arguments)};var _sqlite3StrICmp=Module["_sqlite3StrICmp"]=function(){return Module["asm"]["_sqlite3StrICmp"].apply(null,arguments)};var _sqlite3StringToId=Module["_sqlite3StringToId"]=function(){return Module["asm"]["_sqlite3StringToId"].apply(null,arguments)};var _sqlite3Strlen30=Module["_sqlite3Strlen30"]=function(){return Module["asm"]["_sqlite3Strlen30"].apply(null,arguments)};var _sqlite3SubInt64=Module["_sqlite3SubInt64"]=function(){return Module["asm"]["_sqlite3SubInt64"].apply(null,arguments)};var _sqlite3SubselectError=Module["_sqlite3SubselectError"]=function(){return Module["asm"]["_sqlite3SubselectError"].apply(null,arguments)};var _sqlite3SystemError=Module["_sqlite3SystemError"]=function(){return Module["asm"]["_sqlite3SystemError"].apply(null,arguments)};var _sqlite3TableAffinity=Module["_sqlite3TableAffinity"]=function(){return Module["asm"]["_sqlite3TableAffinity"].apply(null,arguments)};var _sqlite3TableColumnAffinity=Module["_sqlite3TableColumnAffinity"]=function(){return Module["asm"]["_sqlite3TableColumnAffinity"].apply(null,arguments)};var _sqlite3TableLock=Module["_sqlite3TableLock"]=function(){return Module["asm"]["_sqlite3TableLock"].apply(null,arguments)};var _sqlite3TempInMemory=Module["_sqlite3TempInMemory"]=function(){return Module["asm"]["_sqlite3TempInMemory"].apply(null,arguments)};var _sqlite3ThreadCreate=Module["_sqlite3ThreadCreate"]=function(){return Module["asm"]["_sqlite3ThreadCreate"].apply(null,arguments)};var _sqlite3ThreadJoin=Module["_sqlite3ThreadJoin"]=function(){return Module["asm"]["_sqlite3ThreadJoin"].apply(null,arguments)};var _sqlite3TokenInit=Module["_sqlite3TokenInit"]=function(){return Module["asm"]["_sqlite3TokenInit"].apply(null,arguments)};var _sqlite3TransferBindings=Module["_sqlite3TransferBindings"]=function(){return Module["asm"]["_sqlite3TransferBindings"].apply(null,arguments)};var _sqlite3TriggerColmask=Module["_sqlite3TriggerColmask"]=function(){return Module["asm"]["_sqlite3TriggerColmask"].apply(null,arguments)};var _sqlite3TriggerDeleteStep=Module["_sqlite3TriggerDeleteStep"]=function(){return Module["asm"]["_sqlite3TriggerDeleteStep"].apply(null,arguments)};var _sqlite3TriggerInsertStep=Module["_sqlite3TriggerInsertStep"]=function(){return Module["asm"]["_sqlite3TriggerInsertStep"].apply(null,arguments)};var _sqlite3TriggerList=Module["_sqlite3TriggerList"]=function(){return Module["asm"]["_sqlite3TriggerList"].apply(null,arguments)};var _sqlite3TriggerSelectStep=Module["_sqlite3TriggerSelectStep"]=function(){return Module["asm"]["_sqlite3TriggerSelectStep"].apply(null,arguments)};var _sqlite3TriggerUpdateStep=Module["_sqlite3TriggerUpdateStep"]=function(){return Module["asm"]["_sqlite3TriggerUpdateStep"].apply(null,arguments)};var _sqlite3TriggersExist=Module["_sqlite3TriggersExist"]=function(){return Module["asm"]["_sqlite3TriggersExist"].apply(null,arguments)};var _sqlite3TwoPartName=Module["_sqlite3TwoPartName"]=function(){return Module["asm"]["_sqlite3TwoPartName"].apply(null,arguments)};var _sqlite3UniqueConstraint=Module["_sqlite3UniqueConstraint"]=function(){return Module["asm"]["_sqlite3UniqueConstraint"].apply(null,arguments)};var _sqlite3UnlinkAndDeleteIndex=Module["_sqlite3UnlinkAndDeleteIndex"]=function(){return Module["asm"]["_sqlite3UnlinkAndDeleteIndex"].apply(null,arguments)};var _sqlite3UnlinkAndDeleteTable=Module["_sqlite3UnlinkAndDeleteTable"]=function(){return Module["asm"]["_sqlite3UnlinkAndDeleteTable"].apply(null,arguments)};var _sqlite3UnlinkAndDeleteTrigger=Module["_sqlite3UnlinkAndDeleteTrigger"]=function(){return Module["asm"]["_sqlite3UnlinkAndDeleteTrigger"].apply(null,arguments)};var _sqlite3Update=Module["_sqlite3Update"]=function(){return Module["asm"]["_sqlite3Update"].apply(null,arguments)};var _sqlite3UpsertAnalyzeTarget=Module["_sqlite3UpsertAnalyzeTarget"]=function(){return Module["asm"]["_sqlite3UpsertAnalyzeTarget"].apply(null,arguments)};var _sqlite3UpsertDelete=Module["_sqlite3UpsertDelete"]=function(){return Module["asm"]["_sqlite3UpsertDelete"].apply(null,arguments)};var _sqlite3UpsertDoUpdate=Module["_sqlite3UpsertDoUpdate"]=function(){return Module["asm"]["_sqlite3UpsertDoUpdate"].apply(null,arguments)};var _sqlite3UpsertDup=Module["_sqlite3UpsertDup"]=function(){return Module["asm"]["_sqlite3UpsertDup"].apply(null,arguments)};var _sqlite3UpsertNew=Module["_sqlite3UpsertNew"]=function(){return Module["asm"]["_sqlite3UpsertNew"].apply(null,arguments)};var _sqlite3Utf16ByteLen=Module["_sqlite3Utf16ByteLen"]=function(){return Module["asm"]["_sqlite3Utf16ByteLen"].apply(null,arguments)};var _sqlite3Utf16to8=Module["_sqlite3Utf16to8"]=function(){return Module["asm"]["_sqlite3Utf16to8"].apply(null,arguments)};var _sqlite3Utf8CharLen=Module["_sqlite3Utf8CharLen"]=function(){return Module["asm"]["_sqlite3Utf8CharLen"].apply(null,arguments)};var _sqlite3Utf8Read=Module["_sqlite3Utf8Read"]=function(){return Module["asm"]["_sqlite3Utf8Read"].apply(null,arguments)};var _sqlite3VListAdd=Module["_sqlite3VListAdd"]=function(){return Module["asm"]["_sqlite3VListAdd"].apply(null,arguments)};var _sqlite3VListNameToNum=Module["_sqlite3VListNameToNum"]=function(){return Module["asm"]["_sqlite3VListNameToNum"].apply(null,arguments)};var _sqlite3VListNumToName=Module["_sqlite3VListNumToName"]=function(){return Module["asm"]["_sqlite3VListNumToName"].apply(null,arguments)};var _sqlite3VMPrintf=Module["_sqlite3VMPrintf"]=function(){return Module["asm"]["_sqlite3VMPrintf"].apply(null,arguments)};var _sqlite3Vacuum=Module["_sqlite3Vacuum"]=function(){return Module["asm"]["_sqlite3Vacuum"].apply(null,arguments)};var _sqlite3ValueApplyAffinity=Module["_sqlite3ValueApplyAffinity"]=function(){return Module["asm"]["_sqlite3ValueApplyAffinity"].apply(null,arguments)};var _sqlite3ValueBytes=Module["_sqlite3ValueBytes"]=function(){return Module["asm"]["_sqlite3ValueBytes"].apply(null,arguments)};var _sqlite3ValueFree=Module["_sqlite3ValueFree"]=function(){return Module["asm"]["_sqlite3ValueFree"].apply(null,arguments)};var _sqlite3ValueFromExpr=Module["_sqlite3ValueFromExpr"]=function(){return Module["asm"]["_sqlite3ValueFromExpr"].apply(null,arguments)};var _sqlite3ValueNew=Module["_sqlite3ValueNew"]=function(){return Module["asm"]["_sqlite3ValueNew"].apply(null,arguments)};var _sqlite3ValueSetNull=Module["_sqlite3ValueSetNull"]=function(){return Module["asm"]["_sqlite3ValueSetNull"].apply(null,arguments)};var _sqlite3ValueSetStr=Module["_sqlite3ValueSetStr"]=function(){return Module["asm"]["_sqlite3ValueSetStr"].apply(null,arguments)};var _sqlite3ValueText=Module["_sqlite3ValueText"]=function(){return Module["asm"]["_sqlite3ValueText"].apply(null,arguments)};var _sqlite3VarintLen=Module["_sqlite3VarintLen"]=function(){return Module["asm"]["_sqlite3VarintLen"].apply(null,arguments)};var _sqlite3VdbeAddOp0=Module["_sqlite3VdbeAddOp0"]=function(){return Module["asm"]["_sqlite3VdbeAddOp0"].apply(null,arguments)};var _sqlite3VdbeAddOp1=Module["_sqlite3VdbeAddOp1"]=function(){return Module["asm"]["_sqlite3VdbeAddOp1"].apply(null,arguments)};var _sqlite3VdbeAddOp2=Module["_sqlite3VdbeAddOp2"]=function(){return Module["asm"]["_sqlite3VdbeAddOp2"].apply(null,arguments)};var _sqlite3VdbeAddOp3=Module["_sqlite3VdbeAddOp3"]=function(){return Module["asm"]["_sqlite3VdbeAddOp3"].apply(null,arguments)};var _sqlite3VdbeAddOp4=Module["_sqlite3VdbeAddOp4"]=function(){return Module["asm"]["_sqlite3VdbeAddOp4"].apply(null,arguments)};var _sqlite3VdbeAddOp4Dup8=Module["_sqlite3VdbeAddOp4Dup8"]=function(){return Module["asm"]["_sqlite3VdbeAddOp4Dup8"].apply(null,arguments)};var _sqlite3VdbeAddOp4Int=Module["_sqlite3VdbeAddOp4Int"]=function(){return Module["asm"]["_sqlite3VdbeAddOp4Int"].apply(null,arguments)};var _sqlite3VdbeAddOpList=Module["_sqlite3VdbeAddOpList"]=function(){return Module["asm"]["_sqlite3VdbeAddOpList"].apply(null,arguments)};var _sqlite3VdbeAddParseSchemaOp=Module["_sqlite3VdbeAddParseSchemaOp"]=function(){return Module["asm"]["_sqlite3VdbeAddParseSchemaOp"].apply(null,arguments)};var _sqlite3VdbeAllocUnpackedRecord=Module["_sqlite3VdbeAllocUnpackedRecord"]=function(){return Module["asm"]["_sqlite3VdbeAllocUnpackedRecord"].apply(null,arguments)};var _sqlite3VdbeAppendP4=Module["_sqlite3VdbeAppendP4"]=function(){return Module["asm"]["_sqlite3VdbeAppendP4"].apply(null,arguments)};var _sqlite3VdbeBooleanValue=Module["_sqlite3VdbeBooleanValue"]=function(){return Module["asm"]["_sqlite3VdbeBooleanValue"].apply(null,arguments)};var _sqlite3VdbeChangeEncoding=Module["_sqlite3VdbeChangeEncoding"]=function(){return Module["asm"]["_sqlite3VdbeChangeEncoding"].apply(null,arguments)};var _sqlite3VdbeChangeOpcode=Module["_sqlite3VdbeChangeOpcode"]=function(){return Module["asm"]["_sqlite3VdbeChangeOpcode"].apply(null,arguments)};var _sqlite3VdbeChangeP1=Module["_sqlite3VdbeChangeP1"]=function(){return Module["asm"]["_sqlite3VdbeChangeP1"].apply(null,arguments)};var _sqlite3VdbeChangeP2=Module["_sqlite3VdbeChangeP2"]=function(){return Module["asm"]["_sqlite3VdbeChangeP2"].apply(null,arguments)};var _sqlite3VdbeChangeP3=Module["_sqlite3VdbeChangeP3"]=function(){return Module["asm"]["_sqlite3VdbeChangeP3"].apply(null,arguments)};var _sqlite3VdbeChangeP4=Module["_sqlite3VdbeChangeP4"]=function(){return Module["asm"]["_sqlite3VdbeChangeP4"].apply(null,arguments)};var _sqlite3VdbeChangeP5=Module["_sqlite3VdbeChangeP5"]=function(){return Module["asm"]["_sqlite3VdbeChangeP5"].apply(null,arguments)};var _sqlite3VdbeChangeToNoop=Module["_sqlite3VdbeChangeToNoop"]=function(){return Module["asm"]["_sqlite3VdbeChangeToNoop"].apply(null,arguments)};var _sqlite3VdbeCheckFk=Module["_sqlite3VdbeCheckFk"]=function(){return Module["asm"]["_sqlite3VdbeCheckFk"].apply(null,arguments)};var _sqlite3VdbeClearObject=Module["_sqlite3VdbeClearObject"]=function(){return Module["asm"]["_sqlite3VdbeClearObject"].apply(null,arguments)};var _sqlite3VdbeCloseStatement=Module["_sqlite3VdbeCloseStatement"]=function(){return Module["asm"]["_sqlite3VdbeCloseStatement"].apply(null,arguments)};var _sqlite3VdbeCountChanges=Module["_sqlite3VdbeCountChanges"]=function(){return Module["asm"]["_sqlite3VdbeCountChanges"].apply(null,arguments)};var _sqlite3VdbeCreate=Module["_sqlite3VdbeCreate"]=function(){return Module["asm"]["_sqlite3VdbeCreate"].apply(null,arguments)};var _sqlite3VdbeCurrentAddr=Module["_sqlite3VdbeCurrentAddr"]=function(){return Module["asm"]["_sqlite3VdbeCurrentAddr"].apply(null,arguments)};var _sqlite3VdbeCursorMoveto=Module["_sqlite3VdbeCursorMoveto"]=function(){return Module["asm"]["_sqlite3VdbeCursorMoveto"].apply(null,arguments)};var _sqlite3VdbeCursorRestore=Module["_sqlite3VdbeCursorRestore"]=function(){return Module["asm"]["_sqlite3VdbeCursorRestore"].apply(null,arguments)};var _sqlite3VdbeDb=Module["_sqlite3VdbeDb"]=function(){return Module["asm"]["_sqlite3VdbeDb"].apply(null,arguments)};var _sqlite3VdbeDelete=Module["_sqlite3VdbeDelete"]=function(){return Module["asm"]["_sqlite3VdbeDelete"].apply(null,arguments)};var _sqlite3VdbeDeleteAuxData=Module["_sqlite3VdbeDeleteAuxData"]=function(){return Module["asm"]["_sqlite3VdbeDeleteAuxData"].apply(null,arguments)};var _sqlite3VdbeDeletePriorOpcode=Module["_sqlite3VdbeDeletePriorOpcode"]=function(){return Module["asm"]["_sqlite3VdbeDeletePriorOpcode"].apply(null,arguments)};var _sqlite3VdbeEndCoroutine=Module["_sqlite3VdbeEndCoroutine"]=function(){return Module["asm"]["_sqlite3VdbeEndCoroutine"].apply(null,arguments)};var _sqlite3VdbeEnter=Module["_sqlite3VdbeEnter"]=function(){return Module["asm"]["_sqlite3VdbeEnter"].apply(null,arguments)};var _sqlite3VdbeError=Module["_sqlite3VdbeError"]=function(){return Module["asm"]["_sqlite3VdbeError"].apply(null,arguments)};var _sqlite3VdbeExec=Module["_sqlite3VdbeExec"]=function(){return Module["asm"]["_sqlite3VdbeExec"].apply(null,arguments)};var _sqlite3VdbeExpandSql=Module["_sqlite3VdbeExpandSql"]=function(){return Module["asm"]["_sqlite3VdbeExpandSql"].apply(null,arguments)};var _sqlite3VdbeExplain=Module["_sqlite3VdbeExplain"]=function(){return Module["asm"]["_sqlite3VdbeExplain"].apply(null,arguments)};var _sqlite3VdbeExplainParent=Module["_sqlite3VdbeExplainParent"]=function(){return Module["asm"]["_sqlite3VdbeExplainParent"].apply(null,arguments)};var _sqlite3VdbeExplainPop=Module["_sqlite3VdbeExplainPop"]=function(){return Module["asm"]["_sqlite3VdbeExplainPop"].apply(null,arguments)};var _sqlite3VdbeFinalize=Module["_sqlite3VdbeFinalize"]=function(){return Module["asm"]["_sqlite3VdbeFinalize"].apply(null,arguments)};var _sqlite3VdbeFindCompare=Module["_sqlite3VdbeFindCompare"]=function(){return Module["asm"]["_sqlite3VdbeFindCompare"].apply(null,arguments)};var _sqlite3VdbeFrameDelete=Module["_sqlite3VdbeFrameDelete"]=function(){return Module["asm"]["_sqlite3VdbeFrameDelete"].apply(null,arguments)};var _sqlite3VdbeFrameMemDel=Module["_sqlite3VdbeFrameMemDel"]=function(){return Module["asm"]["_sqlite3VdbeFrameMemDel"].apply(null,arguments)};var _sqlite3VdbeFrameRestore=Module["_sqlite3VdbeFrameRestore"]=function(){return Module["asm"]["_sqlite3VdbeFrameRestore"].apply(null,arguments)};var _sqlite3VdbeFreeCursor=Module["_sqlite3VdbeFreeCursor"]=function(){return Module["asm"]["_sqlite3VdbeFreeCursor"].apply(null,arguments)};var _sqlite3VdbeGetBoundValue=Module["_sqlite3VdbeGetBoundValue"]=function(){return Module["asm"]["_sqlite3VdbeGetBoundValue"].apply(null,arguments)};var _sqlite3VdbeGetOp=Module["_sqlite3VdbeGetOp"]=function(){return Module["asm"]["_sqlite3VdbeGetOp"].apply(null,arguments)};var _sqlite3VdbeGoto=Module["_sqlite3VdbeGoto"]=function(){return Module["asm"]["_sqlite3VdbeGoto"].apply(null,arguments)};var _sqlite3VdbeHalt=Module["_sqlite3VdbeHalt"]=function(){return Module["asm"]["_sqlite3VdbeHalt"].apply(null,arguments)};var _sqlite3VdbeIdxKeyCompare=Module["_sqlite3VdbeIdxKeyCompare"]=function(){return Module["asm"]["_sqlite3VdbeIdxKeyCompare"].apply(null,arguments)};var _sqlite3VdbeIdxRowid=Module["_sqlite3VdbeIdxRowid"]=function(){return Module["asm"]["_sqlite3VdbeIdxRowid"].apply(null,arguments)};var _sqlite3VdbeIntValue=Module["_sqlite3VdbeIntValue"]=function(){return Module["asm"]["_sqlite3VdbeIntValue"].apply(null,arguments)};var _sqlite3VdbeIntegerAffinity=Module["_sqlite3VdbeIntegerAffinity"]=function(){return Module["asm"]["_sqlite3VdbeIntegerAffinity"].apply(null,arguments)};var _sqlite3VdbeJumpHere=Module["_sqlite3VdbeJumpHere"]=function(){return Module["asm"]["_sqlite3VdbeJumpHere"].apply(null,arguments)};var _sqlite3VdbeLeave=Module["_sqlite3VdbeLeave"]=function(){return Module["asm"]["_sqlite3VdbeLeave"].apply(null,arguments)};var _sqlite3VdbeLinkSubProgram=Module["_sqlite3VdbeLinkSubProgram"]=function(){return Module["asm"]["_sqlite3VdbeLinkSubProgram"].apply(null,arguments)};var _sqlite3VdbeList=Module["_sqlite3VdbeList"]=function(){return Module["asm"]["_sqlite3VdbeList"].apply(null,arguments)};var _sqlite3VdbeLoadString=Module["_sqlite3VdbeLoadString"]=function(){return Module["asm"]["_sqlite3VdbeLoadString"].apply(null,arguments)};var _sqlite3VdbeMakeLabel=Module["_sqlite3VdbeMakeLabel"]=function(){return Module["asm"]["_sqlite3VdbeMakeLabel"].apply(null,arguments)};var _sqlite3VdbeMakeReady=Module["_sqlite3VdbeMakeReady"]=function(){return Module["asm"]["_sqlite3VdbeMakeReady"].apply(null,arguments)};var _sqlite3VdbeMemAggValue=Module["_sqlite3VdbeMemAggValue"]=function(){return Module["asm"]["_sqlite3VdbeMemAggValue"].apply(null,arguments)};var _sqlite3VdbeMemCast=Module["_sqlite3VdbeMemCast"]=function(){return Module["asm"]["_sqlite3VdbeMemCast"].apply(null,arguments)};var _sqlite3VdbeMemClearAndResize=Module["_sqlite3VdbeMemClearAndResize"]=function(){return Module["asm"]["_sqlite3VdbeMemClearAndResize"].apply(null,arguments)};var _sqlite3VdbeMemCopy=Module["_sqlite3VdbeMemCopy"]=function(){return Module["asm"]["_sqlite3VdbeMemCopy"].apply(null,arguments)};var _sqlite3VdbeMemExpandBlob=Module["_sqlite3VdbeMemExpandBlob"]=function(){return Module["asm"]["_sqlite3VdbeMemExpandBlob"].apply(null,arguments)};var _sqlite3VdbeMemFinalize=Module["_sqlite3VdbeMemFinalize"]=function(){return Module["asm"]["_sqlite3VdbeMemFinalize"].apply(null,arguments)};var _sqlite3VdbeMemFromBtree=Module["_sqlite3VdbeMemFromBtree"]=function(){return Module["asm"]["_sqlite3VdbeMemFromBtree"].apply(null,arguments)};var _sqlite3VdbeMemGrow=Module["_sqlite3VdbeMemGrow"]=function(){return Module["asm"]["_sqlite3VdbeMemGrow"].apply(null,arguments)};var _sqlite3VdbeMemHandleBom=Module["_sqlite3VdbeMemHandleBom"]=function(){return Module["asm"]["_sqlite3VdbeMemHandleBom"].apply(null,arguments)};var _sqlite3VdbeMemInit=Module["_sqlite3VdbeMemInit"]=function(){return Module["asm"]["_sqlite3VdbeMemInit"].apply(null,arguments)};var _sqlite3VdbeMemIntegerify=Module["_sqlite3VdbeMemIntegerify"]=function(){return Module["asm"]["_sqlite3VdbeMemIntegerify"].apply(null,arguments)};var _sqlite3VdbeMemMakeWriteable=Module["_sqlite3VdbeMemMakeWriteable"]=function(){return Module["asm"]["_sqlite3VdbeMemMakeWriteable"].apply(null,arguments)};var _sqlite3VdbeMemMove=Module["_sqlite3VdbeMemMove"]=function(){return Module["asm"]["_sqlite3VdbeMemMove"].apply(null,arguments)};var _sqlite3VdbeMemNulTerminate=Module["_sqlite3VdbeMemNulTerminate"]=function(){return Module["asm"]["_sqlite3VdbeMemNulTerminate"].apply(null,arguments)};var _sqlite3VdbeMemNumerify=Module["_sqlite3VdbeMemNumerify"]=function(){return Module["asm"]["_sqlite3VdbeMemNumerify"].apply(null,arguments)};var _sqlite3VdbeMemRealify=Module["_sqlite3VdbeMemRealify"]=function(){return Module["asm"]["_sqlite3VdbeMemRealify"].apply(null,arguments)};var _sqlite3VdbeMemRelease=Module["_sqlite3VdbeMemRelease"]=function(){return Module["asm"]["_sqlite3VdbeMemRelease"].apply(null,arguments)};var _sqlite3VdbeMemSetDouble=Module["_sqlite3VdbeMemSetDouble"]=function(){return Module["asm"]["_sqlite3VdbeMemSetDouble"].apply(null,arguments)};var _sqlite3VdbeMemSetInt64=Module["_sqlite3VdbeMemSetInt64"]=function(){return Module["asm"]["_sqlite3VdbeMemSetInt64"].apply(null,arguments)};var _sqlite3VdbeMemSetNull=Module["_sqlite3VdbeMemSetNull"]=function(){return Module["asm"]["_sqlite3VdbeMemSetNull"].apply(null,arguments)};var _sqlite3VdbeMemSetPointer=Module["_sqlite3VdbeMemSetPointer"]=function(){return Module["asm"]["_sqlite3VdbeMemSetPointer"].apply(null,arguments)};var _sqlite3VdbeMemSetRowSet=Module["_sqlite3VdbeMemSetRowSet"]=function(){return Module["asm"]["_sqlite3VdbeMemSetRowSet"].apply(null,arguments)};var _sqlite3VdbeMemSetStr=Module["_sqlite3VdbeMemSetStr"]=function(){return Module["asm"]["_sqlite3VdbeMemSetStr"].apply(null,arguments)};var _sqlite3VdbeMemSetZeroBlob=Module["_sqlite3VdbeMemSetZeroBlob"]=function(){return Module["asm"]["_sqlite3VdbeMemSetZeroBlob"].apply(null,arguments)};var _sqlite3VdbeMemShallowCopy=Module["_sqlite3VdbeMemShallowCopy"]=function(){return Module["asm"]["_sqlite3VdbeMemShallowCopy"].apply(null,arguments)};var _sqlite3VdbeMemStringify=Module["_sqlite3VdbeMemStringify"]=function(){return Module["asm"]["_sqlite3VdbeMemStringify"].apply(null,arguments)};var _sqlite3VdbeMemTooBig=Module["_sqlite3VdbeMemTooBig"]=function(){return Module["asm"]["_sqlite3VdbeMemTooBig"].apply(null,arguments)};var _sqlite3VdbeMemTranslate=Module["_sqlite3VdbeMemTranslate"]=function(){return Module["asm"]["_sqlite3VdbeMemTranslate"].apply(null,arguments)};var _sqlite3VdbeMultiLoad=Module["_sqlite3VdbeMultiLoad"]=function(){return Module["asm"]["_sqlite3VdbeMultiLoad"].apply(null,arguments)};var _sqlite3VdbeOneByteSerialTypeLen=Module["_sqlite3VdbeOneByteSerialTypeLen"]=function(){return Module["asm"]["_sqlite3VdbeOneByteSerialTypeLen"].apply(null,arguments)};var _sqlite3VdbeParameterIndex=Module["_sqlite3VdbeParameterIndex"]=function(){return Module["asm"]["_sqlite3VdbeParameterIndex"].apply(null,arguments)};var _sqlite3VdbePrepareFlags=Module["_sqlite3VdbePrepareFlags"]=function(){return Module["asm"]["_sqlite3VdbePrepareFlags"].apply(null,arguments)};var _sqlite3VdbeRealValue=Module["_sqlite3VdbeRealValue"]=function(){return Module["asm"]["_sqlite3VdbeRealValue"].apply(null,arguments)};var _sqlite3VdbeRecordCompare=Module["_sqlite3VdbeRecordCompare"]=function(){return Module["asm"]["_sqlite3VdbeRecordCompare"].apply(null,arguments)};var _sqlite3VdbeRecordCompareWithSkip=Module["_sqlite3VdbeRecordCompareWithSkip"]=function(){return Module["asm"]["_sqlite3VdbeRecordCompareWithSkip"].apply(null,arguments)};var _sqlite3VdbeRecordUnpack=Module["_sqlite3VdbeRecordUnpack"]=function(){return Module["asm"]["_sqlite3VdbeRecordUnpack"].apply(null,arguments)};var _sqlite3VdbeReset=Module["_sqlite3VdbeReset"]=function(){return Module["asm"]["_sqlite3VdbeReset"].apply(null,arguments)};var _sqlite3VdbeResetStepResult=Module["_sqlite3VdbeResetStepResult"]=function(){return Module["asm"]["_sqlite3VdbeResetStepResult"].apply(null,arguments)};var _sqlite3VdbeResolveLabel=Module["_sqlite3VdbeResolveLabel"]=function(){return Module["asm"]["_sqlite3VdbeResolveLabel"].apply(null,arguments)};var _sqlite3VdbeReusable=Module["_sqlite3VdbeReusable"]=function(){return Module["asm"]["_sqlite3VdbeReusable"].apply(null,arguments)};var _sqlite3VdbeRewind=Module["_sqlite3VdbeRewind"]=function(){return Module["asm"]["_sqlite3VdbeRewind"].apply(null,arguments)};var _sqlite3VdbeRunOnlyOnce=Module["_sqlite3VdbeRunOnlyOnce"]=function(){return Module["asm"]["_sqlite3VdbeRunOnlyOnce"].apply(null,arguments)};var _sqlite3VdbeSerialGet=Module["_sqlite3VdbeSerialGet"]=function(){return Module["asm"]["_sqlite3VdbeSerialGet"].apply(null,arguments)};var _sqlite3VdbeSerialPut=Module["_sqlite3VdbeSerialPut"]=function(){return Module["asm"]["_sqlite3VdbeSerialPut"].apply(null,arguments)};var _sqlite3VdbeSerialType=Module["_sqlite3VdbeSerialType"]=function(){return Module["asm"]["_sqlite3VdbeSerialType"].apply(null,arguments)};var _sqlite3VdbeSerialTypeLen=Module["_sqlite3VdbeSerialTypeLen"]=function(){return Module["asm"]["_sqlite3VdbeSerialTypeLen"].apply(null,arguments)};var _sqlite3VdbeSetChanges=Module["_sqlite3VdbeSetChanges"]=function(){return Module["asm"]["_sqlite3VdbeSetChanges"].apply(null,arguments)};var _sqlite3VdbeSetColName=Module["_sqlite3VdbeSetColName"]=function(){return Module["asm"]["_sqlite3VdbeSetColName"].apply(null,arguments)};var _sqlite3VdbeSetNumCols=Module["_sqlite3VdbeSetNumCols"]=function(){return Module["asm"]["_sqlite3VdbeSetNumCols"].apply(null,arguments)};var _sqlite3VdbeSetP4KeyInfo=Module["_sqlite3VdbeSetP4KeyInfo"]=function(){return Module["asm"]["_sqlite3VdbeSetP4KeyInfo"].apply(null,arguments)};var _sqlite3VdbeSetSql=Module["_sqlite3VdbeSetSql"]=function(){return Module["asm"]["_sqlite3VdbeSetSql"].apply(null,arguments)};var _sqlite3VdbeSetVarmask=Module["_sqlite3VdbeSetVarmask"]=function(){return Module["asm"]["_sqlite3VdbeSetVarmask"].apply(null,arguments)};var _sqlite3VdbeSorterClose=Module["_sqlite3VdbeSorterClose"]=function(){return Module["asm"]["_sqlite3VdbeSorterClose"].apply(null,arguments)};var _sqlite3VdbeSorterCompare=Module["_sqlite3VdbeSorterCompare"]=function(){return Module["asm"]["_sqlite3VdbeSorterCompare"].apply(null,arguments)};var _sqlite3VdbeSorterInit=Module["_sqlite3VdbeSorterInit"]=function(){return Module["asm"]["_sqlite3VdbeSorterInit"].apply(null,arguments)};var _sqlite3VdbeSorterNext=Module["_sqlite3VdbeSorterNext"]=function(){return Module["asm"]["_sqlite3VdbeSorterNext"].apply(null,arguments)};var _sqlite3VdbeSorterReset=Module["_sqlite3VdbeSorterReset"]=function(){return Module["asm"]["_sqlite3VdbeSorterReset"].apply(null,arguments)};var _sqlite3VdbeSorterRewind=Module["_sqlite3VdbeSorterRewind"]=function(){return Module["asm"]["_sqlite3VdbeSorterRewind"].apply(null,arguments)};var _sqlite3VdbeSorterRowkey=Module["_sqlite3VdbeSorterRowkey"]=function(){return Module["asm"]["_sqlite3VdbeSorterRowkey"].apply(null,arguments)};var _sqlite3VdbeSorterWrite=Module["_sqlite3VdbeSorterWrite"]=function(){return Module["asm"]["_sqlite3VdbeSorterWrite"].apply(null,arguments)};var _sqlite3VdbeSwap=Module["_sqlite3VdbeSwap"]=function(){return Module["asm"]["_sqlite3VdbeSwap"].apply(null,arguments)};var _sqlite3VdbeTakeOpArray=Module["_sqlite3VdbeTakeOpArray"]=function(){return Module["asm"]["_sqlite3VdbeTakeOpArray"].apply(null,arguments)};var _sqlite3VdbeTransferError=Module["_sqlite3VdbeTransferError"]=function(){return Module["asm"]["_sqlite3VdbeTransferError"].apply(null,arguments)};var _sqlite3VdbeUsesBtree=Module["_sqlite3VdbeUsesBtree"]=function(){return Module["asm"]["_sqlite3VdbeUsesBtree"].apply(null,arguments)};var _sqlite3VectorErrorMsg=Module["_sqlite3VectorErrorMsg"]=function(){return Module["asm"]["_sqlite3VectorErrorMsg"].apply(null,arguments)};var _sqlite3VectorFieldSubexpr=Module["_sqlite3VectorFieldSubexpr"]=function(){return Module["asm"]["_sqlite3VectorFieldSubexpr"].apply(null,arguments)};var _sqlite3ViewGetColumnNames=Module["_sqlite3ViewGetColumnNames"]=function(){return Module["asm"]["_sqlite3ViewGetColumnNames"].apply(null,arguments)};var _sqlite3VtabArgExtend=Module["_sqlite3VtabArgExtend"]=function(){return Module["asm"]["_sqlite3VtabArgExtend"].apply(null,arguments)};var _sqlite3VtabArgInit=Module["_sqlite3VtabArgInit"]=function(){return Module["asm"]["_sqlite3VtabArgInit"].apply(null,arguments)};var _sqlite3VtabBegin=Module["_sqlite3VtabBegin"]=function(){return Module["asm"]["_sqlite3VtabBegin"].apply(null,arguments)};var _sqlite3VtabBeginParse=Module["_sqlite3VtabBeginParse"]=function(){return Module["asm"]["_sqlite3VtabBeginParse"].apply(null,arguments)};var _sqlite3VtabCallConnect=Module["_sqlite3VtabCallConnect"]=function(){return Module["asm"]["_sqlite3VtabCallConnect"].apply(null,arguments)};var _sqlite3VtabCallCreate=Module["_sqlite3VtabCallCreate"]=function(){return Module["asm"]["_sqlite3VtabCallCreate"].apply(null,arguments)};var _sqlite3VtabCallDestroy=Module["_sqlite3VtabCallDestroy"]=function(){return Module["asm"]["_sqlite3VtabCallDestroy"].apply(null,arguments)};var _sqlite3VtabClear=Module["_sqlite3VtabClear"]=function(){return Module["asm"]["_sqlite3VtabClear"].apply(null,arguments)};var _sqlite3VtabCommit=Module["_sqlite3VtabCommit"]=function(){return Module["asm"]["_sqlite3VtabCommit"].apply(null,arguments)};var _sqlite3VtabCreateModule=Module["_sqlite3VtabCreateModule"]=function(){return Module["asm"]["_sqlite3VtabCreateModule"].apply(null,arguments)};var _sqlite3VtabDisconnect=Module["_sqlite3VtabDisconnect"]=function(){return Module["asm"]["_sqlite3VtabDisconnect"].apply(null,arguments)};var _sqlite3VtabEponymousTableClear=Module["_sqlite3VtabEponymousTableClear"]=function(){return Module["asm"]["_sqlite3VtabEponymousTableClear"].apply(null,arguments)};var _sqlite3VtabEponymousTableInit=Module["_sqlite3VtabEponymousTableInit"]=function(){return Module["asm"]["_sqlite3VtabEponymousTableInit"].apply(null,arguments)};var _sqlite3VtabFinishParse=Module["_sqlite3VtabFinishParse"]=function(){return Module["asm"]["_sqlite3VtabFinishParse"].apply(null,arguments)};var _sqlite3VtabImportErrmsg=Module["_sqlite3VtabImportErrmsg"]=function(){return Module["asm"]["_sqlite3VtabImportErrmsg"].apply(null,arguments)};var _sqlite3VtabLock=Module["_sqlite3VtabLock"]=function(){return Module["asm"]["_sqlite3VtabLock"].apply(null,arguments)};var _sqlite3VtabMakeWritable=Module["_sqlite3VtabMakeWritable"]=function(){return Module["asm"]["_sqlite3VtabMakeWritable"].apply(null,arguments)};var _sqlite3VtabOverloadFunction=Module["_sqlite3VtabOverloadFunction"]=function(){return Module["asm"]["_sqlite3VtabOverloadFunction"].apply(null,arguments)};var _sqlite3VtabRollback=Module["_sqlite3VtabRollback"]=function(){return Module["asm"]["_sqlite3VtabRollback"].apply(null,arguments)};var _sqlite3VtabSavepoint=Module["_sqlite3VtabSavepoint"]=function(){return Module["asm"]["_sqlite3VtabSavepoint"].apply(null,arguments)};var _sqlite3VtabSync=Module["_sqlite3VtabSync"]=function(){return Module["asm"]["_sqlite3VtabSync"].apply(null,arguments)};var _sqlite3VtabUnlock=Module["_sqlite3VtabUnlock"]=function(){return Module["asm"]["_sqlite3VtabUnlock"].apply(null,arguments)};var _sqlite3VtabUnlockList=Module["_sqlite3VtabUnlockList"]=function(){return Module["asm"]["_sqlite3VtabUnlockList"].apply(null,arguments)};var _sqlite3WalBeginReadTransaction=Module["_sqlite3WalBeginReadTransaction"]=function(){return Module["asm"]["_sqlite3WalBeginReadTransaction"].apply(null,arguments)};var _sqlite3WalBeginWriteTransaction=Module["_sqlite3WalBeginWriteTransaction"]=function(){return Module["asm"]["_sqlite3WalBeginWriteTransaction"].apply(null,arguments)};var _sqlite3WalCallback=Module["_sqlite3WalCallback"]=function(){return Module["asm"]["_sqlite3WalCallback"].apply(null,arguments)};var _sqlite3WalCheckpoint=Module["_sqlite3WalCheckpoint"]=function(){return Module["asm"]["_sqlite3WalCheckpoint"].apply(null,arguments)};var _sqlite3WalClose=Module["_sqlite3WalClose"]=function(){return Module["asm"]["_sqlite3WalClose"].apply(null,arguments)};var _sqlite3WalDbsize=Module["_sqlite3WalDbsize"]=function(){return Module["asm"]["_sqlite3WalDbsize"].apply(null,arguments)};var _sqlite3WalDefaultHook=Module["_sqlite3WalDefaultHook"]=function(){return Module["asm"]["_sqlite3WalDefaultHook"].apply(null,arguments)};var _sqlite3WalEndReadTransaction=Module["_sqlite3WalEndReadTransaction"]=function(){return Module["asm"]["_sqlite3WalEndReadTransaction"].apply(null,arguments)};var _sqlite3WalEndWriteTransaction=Module["_sqlite3WalEndWriteTransaction"]=function(){return Module["asm"]["_sqlite3WalEndWriteTransaction"].apply(null,arguments)};var _sqlite3WalExclusiveMode=Module["_sqlite3WalExclusiveMode"]=function(){return Module["asm"]["_sqlite3WalExclusiveMode"].apply(null,arguments)};var _sqlite3WalFile=Module["_sqlite3WalFile"]=function(){return Module["asm"]["_sqlite3WalFile"].apply(null,arguments)};var _sqlite3WalFindFrame=Module["_sqlite3WalFindFrame"]=function(){return Module["asm"]["_sqlite3WalFindFrame"].apply(null,arguments)};var _sqlite3WalFrames=Module["_sqlite3WalFrames"]=function(){return Module["asm"]["_sqlite3WalFrames"].apply(null,arguments)};var _sqlite3WalHeapMemory=Module["_sqlite3WalHeapMemory"]=function(){return Module["asm"]["_sqlite3WalHeapMemory"].apply(null,arguments)};var _sqlite3WalLimit=Module["_sqlite3WalLimit"]=function(){return Module["asm"]["_sqlite3WalLimit"].apply(null,arguments)};var _sqlite3WalOpen=Module["_sqlite3WalOpen"]=function(){return Module["asm"]["_sqlite3WalOpen"].apply(null,arguments)};var _sqlite3WalReadFrame=Module["_sqlite3WalReadFrame"]=function(){return Module["asm"]["_sqlite3WalReadFrame"].apply(null,arguments)};var _sqlite3WalSavepoint=Module["_sqlite3WalSavepoint"]=function(){return Module["asm"]["_sqlite3WalSavepoint"].apply(null,arguments)};var _sqlite3WalSavepointUndo=Module["_sqlite3WalSavepointUndo"]=function(){return Module["asm"]["_sqlite3WalSavepointUndo"].apply(null,arguments)};var _sqlite3WalUndo=Module["_sqlite3WalUndo"]=function(){return Module["asm"]["_sqlite3WalUndo"].apply(null,arguments)};var _sqlite3WalkExpr=Module["_sqlite3WalkExpr"]=function(){return Module["asm"]["_sqlite3WalkExpr"].apply(null,arguments)};var _sqlite3WalkExprList=Module["_sqlite3WalkExprList"]=function(){return Module["asm"]["_sqlite3WalkExprList"].apply(null,arguments)};var _sqlite3WalkSelect=Module["_sqlite3WalkSelect"]=function(){return Module["asm"]["_sqlite3WalkSelect"].apply(null,arguments)};var _sqlite3WalkSelectExpr=Module["_sqlite3WalkSelectExpr"]=function(){return Module["asm"]["_sqlite3WalkSelectExpr"].apply(null,arguments)};var _sqlite3WalkSelectFrom=Module["_sqlite3WalkSelectFrom"]=function(){return Module["asm"]["_sqlite3WalkSelectFrom"].apply(null,arguments)};var _sqlite3WhereBegin=Module["_sqlite3WhereBegin"]=function(){return Module["asm"]["_sqlite3WhereBegin"].apply(null,arguments)};var _sqlite3WhereBreakLabel=Module["_sqlite3WhereBreakLabel"]=function(){return Module["asm"]["_sqlite3WhereBreakLabel"].apply(null,arguments)};var _sqlite3WhereClauseClear=Module["_sqlite3WhereClauseClear"]=function(){return Module["asm"]["_sqlite3WhereClauseClear"].apply(null,arguments)};var _sqlite3WhereClauseInit=Module["_sqlite3WhereClauseInit"]=function(){return Module["asm"]["_sqlite3WhereClauseInit"].apply(null,arguments)};var _sqlite3WhereCodeOneLoopStart=Module["_sqlite3WhereCodeOneLoopStart"]=function(){return Module["asm"]["_sqlite3WhereCodeOneLoopStart"].apply(null,arguments)};var _sqlite3WhereContinueLabel=Module["_sqlite3WhereContinueLabel"]=function(){return Module["asm"]["_sqlite3WhereContinueLabel"].apply(null,arguments)};var _sqlite3WhereEnd=Module["_sqlite3WhereEnd"]=function(){return Module["asm"]["_sqlite3WhereEnd"].apply(null,arguments)};var _sqlite3WhereExplainOneScan=Module["_sqlite3WhereExplainOneScan"]=function(){return Module["asm"]["_sqlite3WhereExplainOneScan"].apply(null,arguments)};var _sqlite3WhereExprAnalyze=Module["_sqlite3WhereExprAnalyze"]=function(){return Module["asm"]["_sqlite3WhereExprAnalyze"].apply(null,arguments)};var _sqlite3WhereExprListUsage=Module["_sqlite3WhereExprListUsage"]=function(){return Module["asm"]["_sqlite3WhereExprListUsage"].apply(null,arguments)};var _sqlite3WhereExprUsage=Module["_sqlite3WhereExprUsage"]=function(){return Module["asm"]["_sqlite3WhereExprUsage"].apply(null,arguments)};var _sqlite3WhereExprUsageNN=Module["_sqlite3WhereExprUsageNN"]=function(){return Module["asm"]["_sqlite3WhereExprUsageNN"].apply(null,arguments)};var _sqlite3WhereFindTerm=Module["_sqlite3WhereFindTerm"]=function(){return Module["asm"]["_sqlite3WhereFindTerm"].apply(null,arguments)};var _sqlite3WhereGetMask=Module["_sqlite3WhereGetMask"]=function(){return Module["asm"]["_sqlite3WhereGetMask"].apply(null,arguments)};var _sqlite3WhereIsDistinct=Module["_sqlite3WhereIsDistinct"]=function(){return Module["asm"]["_sqlite3WhereIsDistinct"].apply(null,arguments)};var _sqlite3WhereIsOrdered=Module["_sqlite3WhereIsOrdered"]=function(){return Module["asm"]["_sqlite3WhereIsOrdered"].apply(null,arguments)};var _sqlite3WhereIsSorted=Module["_sqlite3WhereIsSorted"]=function(){return Module["asm"]["_sqlite3WhereIsSorted"].apply(null,arguments)};var _sqlite3WhereOkOnePass=Module["_sqlite3WhereOkOnePass"]=function(){return Module["asm"]["_sqlite3WhereOkOnePass"].apply(null,arguments)};var _sqlite3WhereOrderByLimitOptLabel=Module["_sqlite3WhereOrderByLimitOptLabel"]=function(){return Module["asm"]["_sqlite3WhereOrderByLimitOptLabel"].apply(null,arguments)};var _sqlite3WhereOutputRowCount=Module["_sqlite3WhereOutputRowCount"]=function(){return Module["asm"]["_sqlite3WhereOutputRowCount"].apply(null,arguments)};var _sqlite3WhereSplit=Module["_sqlite3WhereSplit"]=function(){return Module["asm"]["_sqlite3WhereSplit"].apply(null,arguments)};var _sqlite3WhereTabFuncArgs=Module["_sqlite3WhereTabFuncArgs"]=function(){return Module["asm"]["_sqlite3WhereTabFuncArgs"].apply(null,arguments)};var _sqlite3WindowAlloc=Module["_sqlite3WindowAlloc"]=function(){return Module["asm"]["_sqlite3WindowAlloc"].apply(null,arguments)};var _sqlite3WindowAttach=Module["_sqlite3WindowAttach"]=function(){return Module["asm"]["_sqlite3WindowAttach"].apply(null,arguments)};var _sqlite3WindowCodeInit=Module["_sqlite3WindowCodeInit"]=function(){return Module["asm"]["_sqlite3WindowCodeInit"].apply(null,arguments)};var _sqlite3WindowCodeStep=Module["_sqlite3WindowCodeStep"]=function(){return Module["asm"]["_sqlite3WindowCodeStep"].apply(null,arguments)};var _sqlite3WindowCompare=Module["_sqlite3WindowCompare"]=function(){return Module["asm"]["_sqlite3WindowCompare"].apply(null,arguments)};var _sqlite3WindowDelete=Module["_sqlite3WindowDelete"]=function(){return Module["asm"]["_sqlite3WindowDelete"].apply(null,arguments)};var _sqlite3WindowDup=Module["_sqlite3WindowDup"]=function(){return Module["asm"]["_sqlite3WindowDup"].apply(null,arguments)};var _sqlite3WindowFunctions=Module["_sqlite3WindowFunctions"]=function(){return Module["asm"]["_sqlite3WindowFunctions"].apply(null,arguments)};var _sqlite3WindowListDelete=Module["_sqlite3WindowListDelete"]=function(){return Module["asm"]["_sqlite3WindowListDelete"].apply(null,arguments)};var _sqlite3WindowListDup=Module["_sqlite3WindowListDup"]=function(){return Module["asm"]["_sqlite3WindowListDup"].apply(null,arguments)};var _sqlite3WindowOffsetExpr=Module["_sqlite3WindowOffsetExpr"]=function(){return Module["asm"]["_sqlite3WindowOffsetExpr"].apply(null,arguments)};var _sqlite3WindowRewrite=Module["_sqlite3WindowRewrite"]=function(){return Module["asm"]["_sqlite3WindowRewrite"].apply(null,arguments)};var _sqlite3WindowUpdate=Module["_sqlite3WindowUpdate"]=function(){return Module["asm"]["_sqlite3WindowUpdate"].apply(null,arguments)};var _sqlite3WithAdd=Module["_sqlite3WithAdd"]=function(){return Module["asm"]["_sqlite3WithAdd"].apply(null,arguments)};var _sqlite3WithDelete=Module["_sqlite3WithDelete"]=function(){return Module["asm"]["_sqlite3WithDelete"].apply(null,arguments)};var _sqlite3WithPush=Module["_sqlite3WithPush"]=function(){return Module["asm"]["_sqlite3WithPush"].apply(null,arguments)};var _sqlite3WritableSchema=Module["_sqlite3WritableSchema"]=function(){return Module["asm"]["_sqlite3WritableSchema"].apply(null,arguments)};var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=function(){return Module["asm"]["_sqlite3_aggregate_context"].apply(null,arguments)};var _sqlite3_aggregate_count=Module["_sqlite3_aggregate_count"]=function(){return Module["asm"]["_sqlite3_aggregate_count"].apply(null,arguments)};var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=function(){return Module["asm"]["_sqlite3_auto_extension"].apply(null,arguments)};var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=function(){return Module["asm"]["_sqlite3_backup_finish"].apply(null,arguments)};var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=function(){return Module["asm"]["_sqlite3_backup_init"].apply(null,arguments)};var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=function(){return Module["asm"]["_sqlite3_backup_pagecount"].apply(null,arguments)};var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=function(){return Module["asm"]["_sqlite3_backup_remaining"].apply(null,arguments)};var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=function(){return Module["asm"]["_sqlite3_backup_step"].apply(null,arguments)};var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=function(){return Module["asm"]["_sqlite3_bind_blob"].apply(null,arguments)};var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=function(){return Module["asm"]["_sqlite3_bind_blob64"].apply(null,arguments)};var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=function(){return Module["asm"]["_sqlite3_bind_double"].apply(null,arguments)};var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=function(){return Module["asm"]["_sqlite3_bind_int"].apply(null,arguments)};var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=function(){return Module["asm"]["_sqlite3_bind_int64"].apply(null,arguments)};var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=function(){return Module["asm"]["_sqlite3_bind_null"].apply(null,arguments)};var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=function(){return Module["asm"]["_sqlite3_bind_parameter_count"].apply(null,arguments)};var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=function(){return Module["asm"]["_sqlite3_bind_parameter_index"].apply(null,arguments)};var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=function(){return Module["asm"]["_sqlite3_bind_parameter_name"].apply(null,arguments)};var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=function(){return Module["asm"]["_sqlite3_bind_pointer"].apply(null,arguments)};var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=function(){return Module["asm"]["_sqlite3_bind_text"].apply(null,arguments)};var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=function(){return Module["asm"]["_sqlite3_bind_text16"].apply(null,arguments)};var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=function(){return Module["asm"]["_sqlite3_bind_text64"].apply(null,arguments)};var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=function(){return Module["asm"]["_sqlite3_bind_value"].apply(null,arguments)};var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=function(){return Module["asm"]["_sqlite3_bind_zeroblob"].apply(null,arguments)};var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=function(){return Module["asm"]["_sqlite3_bind_zeroblob64"].apply(null,arguments)};var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=function(){return Module["asm"]["_sqlite3_blob_bytes"].apply(null,arguments)};var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=function(){return Module["asm"]["_sqlite3_blob_close"].apply(null,arguments)};var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=function(){return Module["asm"]["_sqlite3_blob_open"].apply(null,arguments)};var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=function(){return Module["asm"]["_sqlite3_blob_read"].apply(null,arguments)};var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=function(){return Module["asm"]["_sqlite3_blob_reopen"].apply(null,arguments)};var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=function(){return Module["asm"]["_sqlite3_blob_write"].apply(null,arguments)};var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=function(){return Module["asm"]["_sqlite3_busy_handler"].apply(null,arguments)};var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=function(){return Module["asm"]["_sqlite3_busy_timeout"].apply(null,arguments)};var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=function(){return Module["asm"]["_sqlite3_cancel_auto_extension"].apply(null,arguments)};var _sqlite3_changes=Module["_sqlite3_changes"]=function(){return Module["asm"]["_sqlite3_changes"].apply(null,arguments)};var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=function(){return Module["asm"]["_sqlite3_clear_bindings"].apply(null,arguments)};var _sqlite3_close=Module["_sqlite3_close"]=function(){return Module["asm"]["_sqlite3_close"].apply(null,arguments)};var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=function(){return Module["asm"]["_sqlite3_close_v2"].apply(null,arguments)};var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=function(){return Module["asm"]["_sqlite3_collation_needed"].apply(null,arguments)};var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=function(){return Module["asm"]["_sqlite3_collation_needed16"].apply(null,arguments)};var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=function(){return Module["asm"]["_sqlite3_column_blob"].apply(null,arguments)};var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=function(){return Module["asm"]["_sqlite3_column_bytes"].apply(null,arguments)};var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=function(){return Module["asm"]["_sqlite3_column_bytes16"].apply(null,arguments)};var _sqlite3_column_count=Module["_sqlite3_column_count"]=function(){return Module["asm"]["_sqlite3_column_count"].apply(null,arguments)};var _sqlite3_column_decltype=Module["_sqlite3_column_decltype"]=function(){return Module["asm"]["_sqlite3_column_decltype"].apply(null,arguments)};var _sqlite3_column_decltype16=Module["_sqlite3_column_decltype16"]=function(){return Module["asm"]["_sqlite3_column_decltype16"].apply(null,arguments)};var _sqlite3_column_double=Module["_sqlite3_column_double"]=function(){return Module["asm"]["_sqlite3_column_double"].apply(null,arguments)};var _sqlite3_column_int=Module["_sqlite3_column_int"]=function(){return Module["asm"]["_sqlite3_column_int"].apply(null,arguments)};var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=function(){return Module["asm"]["_sqlite3_column_int64"].apply(null,arguments)};var _sqlite3_column_name=Module["_sqlite3_column_name"]=function(){return Module["asm"]["_sqlite3_column_name"].apply(null,arguments)};var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=function(){return Module["asm"]["_sqlite3_column_name16"].apply(null,arguments)};var _sqlite3_column_text=Module["_sqlite3_column_text"]=function(){return Module["asm"]["_sqlite3_column_text"].apply(null,arguments)};var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=function(){return Module["asm"]["_sqlite3_column_text16"].apply(null,arguments)};var _sqlite3_column_type=Module["_sqlite3_column_type"]=function(){return Module["asm"]["_sqlite3_column_type"].apply(null,arguments)};var _sqlite3_column_value=Module["_sqlite3_column_value"]=function(){return Module["asm"]["_sqlite3_column_value"].apply(null,arguments)};var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=function(){return Module["asm"]["_sqlite3_commit_hook"].apply(null,arguments)};var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=function(){return Module["asm"]["_sqlite3_compileoption_get"].apply(null,arguments)};var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=function(){return Module["asm"]["_sqlite3_compileoption_used"].apply(null,arguments)};var _sqlite3_complete=Module["_sqlite3_complete"]=function(){return Module["asm"]["_sqlite3_complete"].apply(null,arguments)};var _sqlite3_complete16=Module["_sqlite3_complete16"]=function(){return Module["asm"]["_sqlite3_complete16"].apply(null,arguments)};var _sqlite3_config=Module["_sqlite3_config"]=function(){return Module["asm"]["_sqlite3_config"].apply(null,arguments)};var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=function(){return Module["asm"]["_sqlite3_context_db_handle"].apply(null,arguments)};var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=function(){return Module["asm"]["_sqlite3_create_collation"].apply(null,arguments)};var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=function(){return Module["asm"]["_sqlite3_create_collation16"].apply(null,arguments)};var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=function(){return Module["asm"]["_sqlite3_create_collation_v2"].apply(null,arguments)};var _sqlite3_create_function=Module["_sqlite3_create_function"]=function(){return Module["asm"]["_sqlite3_create_function"].apply(null,arguments)};var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=function(){return Module["asm"]["_sqlite3_create_function16"].apply(null,arguments)};var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=function(){return Module["asm"]["_sqlite3_create_function_v2"].apply(null,arguments)};var _sqlite3_create_module=Module["_sqlite3_create_module"]=function(){return Module["asm"]["_sqlite3_create_module"].apply(null,arguments)};var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=function(){return Module["asm"]["_sqlite3_create_module_v2"].apply(null,arguments)};var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=function(){return Module["asm"]["_sqlite3_create_window_function"].apply(null,arguments)};var _sqlite3_data_count=Module["_sqlite3_data_count"]=function(){return Module["asm"]["_sqlite3_data_count"].apply(null,arguments)};var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=function(){return Module["asm"]["_sqlite3_db_cacheflush"].apply(null,arguments)};var _sqlite3_db_config=Module["_sqlite3_db_config"]=function(){return Module["asm"]["_sqlite3_db_config"].apply(null,arguments)};var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=function(){return Module["asm"]["_sqlite3_db_filename"].apply(null,arguments)};var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=function(){return Module["asm"]["_sqlite3_db_handle"].apply(null,arguments)};var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=function(){return Module["asm"]["_sqlite3_db_mutex"].apply(null,arguments)};var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=function(){return Module["asm"]["_sqlite3_db_readonly"].apply(null,arguments)};var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=function(){return Module["asm"]["_sqlite3_db_release_memory"].apply(null,arguments)};var _sqlite3_db_status=Module["_sqlite3_db_status"]=function(){return Module["asm"]["_sqlite3_db_status"].apply(null,arguments)};var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=function(){return Module["asm"]["_sqlite3_declare_vtab"].apply(null,arguments)};var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=function(){return Module["asm"]["_sqlite3_enable_load_extension"].apply(null,arguments)};var _sqlite3_enable_shared_cache=Module["_sqlite3_enable_shared_cache"]=function(){return Module["asm"]["_sqlite3_enable_shared_cache"].apply(null,arguments)};var _sqlite3_errcode=Module["_sqlite3_errcode"]=function(){return Module["asm"]["_sqlite3_errcode"].apply(null,arguments)};var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=function(){return Module["asm"]["_sqlite3_errmsg"].apply(null,arguments)};var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=function(){return Module["asm"]["_sqlite3_errmsg16"].apply(null,arguments)};var _sqlite3_errstr=Module["_sqlite3_errstr"]=function(){return Module["asm"]["_sqlite3_errstr"].apply(null,arguments)};var _sqlite3_exec=Module["_sqlite3_exec"]=function(){return Module["asm"]["_sqlite3_exec"].apply(null,arguments)};var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=function(){return Module["asm"]["_sqlite3_expanded_sql"].apply(null,arguments)};var _sqlite3_expired=Module["_sqlite3_expired"]=function(){return Module["asm"]["_sqlite3_expired"].apply(null,arguments)};var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=function(){return Module["asm"]["_sqlite3_extended_errcode"].apply(null,arguments)};var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=function(){return Module["asm"]["_sqlite3_extended_result_codes"].apply(null,arguments)};var _sqlite3_file_control=Module["_sqlite3_file_control"]=function(){return Module["asm"]["_sqlite3_file_control"].apply(null,arguments)};var _sqlite3_finalize=Module["_sqlite3_finalize"]=function(){return Module["asm"]["_sqlite3_finalize"].apply(null,arguments)};var _sqlite3_free=Module["_sqlite3_free"]=function(){return Module["asm"]["_sqlite3_free"].apply(null,arguments)};var _sqlite3_free_table=Module["_sqlite3_free_table"]=function(){return Module["asm"]["_sqlite3_free_table"].apply(null,arguments)};var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=function(){return Module["asm"]["_sqlite3_get_autocommit"].apply(null,arguments)};var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=function(){return Module["asm"]["_sqlite3_get_auxdata"].apply(null,arguments)};var _sqlite3_get_table=Module["_sqlite3_get_table"]=function(){return Module["asm"]["_sqlite3_get_table"].apply(null,arguments)};var _sqlite3_get_table_cb=Module["_sqlite3_get_table_cb"]=function(){return Module["asm"]["_sqlite3_get_table_cb"].apply(null,arguments)};var _sqlite3_global_recover=Module["_sqlite3_global_recover"]=function(){return Module["asm"]["_sqlite3_global_recover"].apply(null,arguments)};var _sqlite3_initialize=Module["_sqlite3_initialize"]=function(){return Module["asm"]["_sqlite3_initialize"].apply(null,arguments)};var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=function(){return Module["asm"]["_sqlite3_interrupt"].apply(null,arguments)};var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=function(){return Module["asm"]["_sqlite3_keyword_check"].apply(null,arguments)};var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=function(){return Module["asm"]["_sqlite3_keyword_count"].apply(null,arguments)};var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=function(){return Module["asm"]["_sqlite3_keyword_name"].apply(null,arguments)};var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=function(){return Module["asm"]["_sqlite3_last_insert_rowid"].apply(null,arguments)};var _sqlite3_libversion=Module["_sqlite3_libversion"]=function(){return Module["asm"]["_sqlite3_libversion"].apply(null,arguments)};var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=function(){return Module["asm"]["_sqlite3_libversion_number"].apply(null,arguments)};var _sqlite3_limit=Module["_sqlite3_limit"]=function(){return Module["asm"]["_sqlite3_limit"].apply(null,arguments)};var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=function(){return Module["asm"]["_sqlite3_load_extension"].apply(null,arguments)};var _sqlite3_log=Module["_sqlite3_log"]=function(){return Module["asm"]["_sqlite3_log"].apply(null,arguments)};var _sqlite3_malloc=Module["_sqlite3_malloc"]=function(){return Module["asm"]["_sqlite3_malloc"].apply(null,arguments)};var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=function(){return Module["asm"]["_sqlite3_malloc64"].apply(null,arguments)};var _sqlite3_memory_alarm=Module["_sqlite3_memory_alarm"]=function(){return Module["asm"]["_sqlite3_memory_alarm"].apply(null,arguments)};var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=function(){return Module["asm"]["_sqlite3_memory_highwater"].apply(null,arguments)};var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=function(){return Module["asm"]["_sqlite3_memory_used"].apply(null,arguments)};var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=function(){return Module["asm"]["_sqlite3_mprintf"].apply(null,arguments)};var _sqlite3_msize=Module["_sqlite3_msize"]=function(){return Module["asm"]["_sqlite3_msize"].apply(null,arguments)};var _sqlite3_mutex_alloc=Module["_sqlite3_mutex_alloc"]=function(){return Module["asm"]["_sqlite3_mutex_alloc"].apply(null,arguments)};var _sqlite3_mutex_enter=Module["_sqlite3_mutex_enter"]=function(){return Module["asm"]["_sqlite3_mutex_enter"].apply(null,arguments)};var _sqlite3_mutex_free=Module["_sqlite3_mutex_free"]=function(){return Module["asm"]["_sqlite3_mutex_free"].apply(null,arguments)};var _sqlite3_mutex_leave=Module["_sqlite3_mutex_leave"]=function(){return Module["asm"]["_sqlite3_mutex_leave"].apply(null,arguments)};var _sqlite3_mutex_try=Module["_sqlite3_mutex_try"]=function(){return Module["asm"]["_sqlite3_mutex_try"].apply(null,arguments)};var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=function(){return Module["asm"]["_sqlite3_next_stmt"].apply(null,arguments)};var _sqlite3_open=Module["_sqlite3_open"]=function(){return Module["asm"]["_sqlite3_open"].apply(null,arguments)};var _sqlite3_open16=Module["_sqlite3_open16"]=function(){return Module["asm"]["_sqlite3_open16"].apply(null,arguments)};var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=function(){return Module["asm"]["_sqlite3_open_v2"].apply(null,arguments)};var _sqlite3_os_end=Module["_sqlite3_os_end"]=function(){return Module["asm"]["_sqlite3_os_end"].apply(null,arguments)};var _sqlite3_os_init=Module["_sqlite3_os_init"]=function(){return Module["asm"]["_sqlite3_os_init"].apply(null,arguments)};var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=function(){return Module["asm"]["_sqlite3_overload_function"].apply(null,arguments)};var _sqlite3_prepare=Module["_sqlite3_prepare"]=function(){return Module["asm"]["_sqlite3_prepare"].apply(null,arguments)};var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=function(){return Module["asm"]["_sqlite3_prepare16"].apply(null,arguments)};var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=function(){return Module["asm"]["_sqlite3_prepare16_v2"].apply(null,arguments)};var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=function(){return Module["asm"]["_sqlite3_prepare16_v3"].apply(null,arguments)};var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=function(){return Module["asm"]["_sqlite3_prepare_v2"].apply(null,arguments)};var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=function(){return Module["asm"]["_sqlite3_prepare_v3"].apply(null,arguments)};var _sqlite3_profile=Module["_sqlite3_profile"]=function(){return Module["asm"]["_sqlite3_profile"].apply(null,arguments)};var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=function(){return Module["asm"]["_sqlite3_progress_handler"].apply(null,arguments)};var _sqlite3_randomness=Module["_sqlite3_randomness"]=function(){return Module["asm"]["_sqlite3_randomness"].apply(null,arguments)};var _sqlite3_realloc=Module["_sqlite3_realloc"]=function(){return Module["asm"]["_sqlite3_realloc"].apply(null,arguments)};var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=function(){return Module["asm"]["_sqlite3_realloc64"].apply(null,arguments)};var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=function(){return Module["asm"]["_sqlite3_release_memory"].apply(null,arguments)};var _sqlite3_reset=Module["_sqlite3_reset"]=function(){return Module["asm"]["_sqlite3_reset"].apply(null,arguments)};var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=function(){return Module["asm"]["_sqlite3_reset_auto_extension"].apply(null,arguments)};var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=function(){return Module["asm"]["_sqlite3_result_blob"].apply(null,arguments)};var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=function(){return Module["asm"]["_sqlite3_result_blob64"].apply(null,arguments)};var _sqlite3_result_double=Module["_sqlite3_result_double"]=function(){return Module["asm"]["_sqlite3_result_double"].apply(null,arguments)};var _sqlite3_result_error=Module["_sqlite3_result_error"]=function(){return Module["asm"]["_sqlite3_result_error"].apply(null,arguments)};var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=function(){return Module["asm"]["_sqlite3_result_error16"].apply(null,arguments)};var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=function(){return Module["asm"]["_sqlite3_result_error_code"].apply(null,arguments)};var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=function(){return Module["asm"]["_sqlite3_result_error_nomem"].apply(null,arguments)};var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=function(){return Module["asm"]["_sqlite3_result_error_toobig"].apply(null,arguments)};var _sqlite3_result_int=Module["_sqlite3_result_int"]=function(){return Module["asm"]["_sqlite3_result_int"].apply(null,arguments)};var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=function(){return Module["asm"]["_sqlite3_result_int64"].apply(null,arguments)};var _sqlite3_result_null=Module["_sqlite3_result_null"]=function(){return Module["asm"]["_sqlite3_result_null"].apply(null,arguments)};var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=function(){return Module["asm"]["_sqlite3_result_pointer"].apply(null,arguments)};var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=function(){return Module["asm"]["_sqlite3_result_subtype"].apply(null,arguments)};var _sqlite3_result_text=Module["_sqlite3_result_text"]=function(){return Module["asm"]["_sqlite3_result_text"].apply(null,arguments)};var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=function(){return Module["asm"]["_sqlite3_result_text16"].apply(null,arguments)};var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=function(){return Module["asm"]["_sqlite3_result_text16be"].apply(null,arguments)};var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=function(){return Module["asm"]["_sqlite3_result_text16le"].apply(null,arguments)};var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=function(){return Module["asm"]["_sqlite3_result_text64"].apply(null,arguments)};var _sqlite3_result_value=Module["_sqlite3_result_value"]=function(){return Module["asm"]["_sqlite3_result_value"].apply(null,arguments)};var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=function(){return Module["asm"]["_sqlite3_result_zeroblob"].apply(null,arguments)};var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=function(){return Module["asm"]["_sqlite3_result_zeroblob64"].apply(null,arguments)};var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=function(){return Module["asm"]["_sqlite3_rollback_hook"].apply(null,arguments)};var _sqlite3_rtree_geometry_callback=Module["_sqlite3_rtree_geometry_callback"]=function(){return Module["asm"]["_sqlite3_rtree_geometry_callback"].apply(null,arguments)};var _sqlite3_rtree_query_callback=Module["_sqlite3_rtree_query_callback"]=function(){return Module["asm"]["_sqlite3_rtree_query_callback"].apply(null,arguments)};var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=function(){return Module["asm"]["_sqlite3_set_authorizer"].apply(null,arguments)};var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=function(){return Module["asm"]["_sqlite3_set_auxdata"].apply(null,arguments)};var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=function(){return Module["asm"]["_sqlite3_set_last_insert_rowid"].apply(null,arguments)};var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=function(){return Module["asm"]["_sqlite3_shutdown"].apply(null,arguments)};var _sqlite3_sleep=Module["_sqlite3_sleep"]=function(){return Module["asm"]["_sqlite3_sleep"].apply(null,arguments)};var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=function(){return Module["asm"]["_sqlite3_snprintf"].apply(null,arguments)};var _sqlite3_soft_heap_limit=Module["_sqlite3_soft_heap_limit"]=function(){return Module["asm"]["_sqlite3_soft_heap_limit"].apply(null,arguments)};var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=function(){return Module["asm"]["_sqlite3_soft_heap_limit64"].apply(null,arguments)};var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=function(){return Module["asm"]["_sqlite3_sourceid"].apply(null,arguments)};var _sqlite3_sql=Module["_sqlite3_sql"]=function(){return Module["asm"]["_sqlite3_sql"].apply(null,arguments)};var _sqlite3_status=Module["_sqlite3_status"]=function(){return Module["asm"]["_sqlite3_status"].apply(null,arguments)};var _sqlite3_status64=Module["_sqlite3_status64"]=function(){return Module["asm"]["_sqlite3_status64"].apply(null,arguments)};var _sqlite3_step=Module["_sqlite3_step"]=function(){return Module["asm"]["_sqlite3_step"].apply(null,arguments)};var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=function(){return Module["asm"]["_sqlite3_stmt_busy"].apply(null,arguments)};var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=function(){return Module["asm"]["_sqlite3_stmt_readonly"].apply(null,arguments)};var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=function(){return Module["asm"]["_sqlite3_stmt_status"].apply(null,arguments)};var _sqlite3_str_append=Module["_sqlite3_str_append"]=function(){return Module["asm"]["_sqlite3_str_append"].apply(null,arguments)};var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=function(){return Module["asm"]["_sqlite3_str_appendall"].apply(null,arguments)};var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=function(){return Module["asm"]["_sqlite3_str_appendchar"].apply(null,arguments)};var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=function(){return Module["asm"]["_sqlite3_str_appendf"].apply(null,arguments)};var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=function(){return Module["asm"]["_sqlite3_str_errcode"].apply(null,arguments)};var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=function(){return Module["asm"]["_sqlite3_str_finish"].apply(null,arguments)};var _sqlite3_str_length=Module["_sqlite3_str_length"]=function(){return Module["asm"]["_sqlite3_str_length"].apply(null,arguments)};var _sqlite3_str_new=Module["_sqlite3_str_new"]=function(){return Module["asm"]["_sqlite3_str_new"].apply(null,arguments)};var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=function(){return Module["asm"]["_sqlite3_str_reset"].apply(null,arguments)};var _sqlite3_str_value=Module["_sqlite3_str_value"]=function(){return Module["asm"]["_sqlite3_str_value"].apply(null,arguments)};var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=function(){return Module["asm"]["_sqlite3_str_vappendf"].apply(null,arguments)};var _sqlite3_strglob=Module["_sqlite3_strglob"]=function(){return Module["asm"]["_sqlite3_strglob"].apply(null,arguments)};var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=function(){return Module["asm"]["_sqlite3_stricmp"].apply(null,arguments)};var _sqlite3_strlike=Module["_sqlite3_strlike"]=function(){return Module["asm"]["_sqlite3_strlike"].apply(null,arguments)};var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=function(){return Module["asm"]["_sqlite3_strnicmp"].apply(null,arguments)};var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=function(){return Module["asm"]["_sqlite3_system_errno"].apply(null,arguments)};var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=function(){return Module["asm"]["_sqlite3_table_column_metadata"].apply(null,arguments)};var _sqlite3_test_control=Module["_sqlite3_test_control"]=function(){return Module["asm"]["_sqlite3_test_control"].apply(null,arguments)};var _sqlite3_thread_cleanup=Module["_sqlite3_thread_cleanup"]=function(){return Module["asm"]["_sqlite3_thread_cleanup"].apply(null,arguments)};var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=function(){return Module["asm"]["_sqlite3_threadsafe"].apply(null,arguments)};var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=function(){return Module["asm"]["_sqlite3_total_changes"].apply(null,arguments)};var _sqlite3_trace=Module["_sqlite3_trace"]=function(){return Module["asm"]["_sqlite3_trace"].apply(null,arguments)};var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=function(){return Module["asm"]["_sqlite3_trace_v2"].apply(null,arguments)};var _sqlite3_transfer_bindings=Module["_sqlite3_transfer_bindings"]=function(){return Module["asm"]["_sqlite3_transfer_bindings"].apply(null,arguments)};var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=function(){return Module["asm"]["_sqlite3_update_hook"].apply(null,arguments)};var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=function(){return Module["asm"]["_sqlite3_uri_boolean"].apply(null,arguments)};var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=function(){return Module["asm"]["_sqlite3_uri_int64"].apply(null,arguments)};var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=function(){return Module["asm"]["_sqlite3_uri_parameter"].apply(null,arguments)};var _sqlite3_user_data=Module["_sqlite3_user_data"]=function(){return Module["asm"]["_sqlite3_user_data"].apply(null,arguments)};var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=function(){return Module["asm"]["_sqlite3_value_blob"].apply(null,arguments)};var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=function(){return Module["asm"]["_sqlite3_value_bytes"].apply(null,arguments)};var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=function(){return Module["asm"]["_sqlite3_value_bytes16"].apply(null,arguments)};var _sqlite3_value_double=Module["_sqlite3_value_double"]=function(){return Module["asm"]["_sqlite3_value_double"].apply(null,arguments)};var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=function(){return Module["asm"]["_sqlite3_value_dup"].apply(null,arguments)};var _sqlite3_value_free=Module["_sqlite3_value_free"]=function(){return Module["asm"]["_sqlite3_value_free"].apply(null,arguments)};var _sqlite3_value_int=Module["_sqlite3_value_int"]=function(){return Module["asm"]["_sqlite3_value_int"].apply(null,arguments)};var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=function(){return Module["asm"]["_sqlite3_value_int64"].apply(null,arguments)};var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=function(){return Module["asm"]["_sqlite3_value_nochange"].apply(null,arguments)};var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=function(){return Module["asm"]["_sqlite3_value_numeric_type"].apply(null,arguments)};var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=function(){return Module["asm"]["_sqlite3_value_pointer"].apply(null,arguments)};var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=function(){return Module["asm"]["_sqlite3_value_subtype"].apply(null,arguments)};var _sqlite3_value_text=Module["_sqlite3_value_text"]=function(){return Module["asm"]["_sqlite3_value_text"].apply(null,arguments)};var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=function(){return Module["asm"]["_sqlite3_value_text16"].apply(null,arguments)};var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=function(){return Module["asm"]["_sqlite3_value_text16be"].apply(null,arguments)};var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=function(){return Module["asm"]["_sqlite3_value_text16le"].apply(null,arguments)};var _sqlite3_value_type=Module["_sqlite3_value_type"]=function(){return Module["asm"]["_sqlite3_value_type"].apply(null,arguments)};var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=function(){return Module["asm"]["_sqlite3_vfs_find"].apply(null,arguments)};var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=function(){return Module["asm"]["_sqlite3_vfs_register"].apply(null,arguments)};var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=function(){return Module["asm"]["_sqlite3_vfs_unregister"].apply(null,arguments)};var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=function(){return Module["asm"]["_sqlite3_vmprintf"].apply(null,arguments)};var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=function(){return Module["asm"]["_sqlite3_vsnprintf"].apply(null,arguments)};var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=function(){return Module["asm"]["_sqlite3_vtab_collation"].apply(null,arguments)};var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=function(){return Module["asm"]["_sqlite3_vtab_config"].apply(null,arguments)};var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=function(){return Module["asm"]["_sqlite3_vtab_nochange"].apply(null,arguments)};var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=function(){return Module["asm"]["_sqlite3_vtab_on_conflict"].apply(null,arguments)};var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=function(){return Module["asm"]["_sqlite3_wal_autocheckpoint"].apply(null,arguments)};var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=function(){return Module["asm"]["_sqlite3_wal_checkpoint"].apply(null,arguments)};var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=function(){return Module["asm"]["_sqlite3_wal_checkpoint_v2"].apply(null,arguments)};var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=function(){return Module["asm"]["_sqlite3_wal_hook"].apply(null,arguments)};var _sqliteAuthBadReturnCode=Module["_sqliteAuthBadReturnCode"]=function(){return Module["asm"]["_sqliteAuthBadReturnCode"].apply(null,arguments)};var _sqliteDefaultBusyCallback=Module["_sqliteDefaultBusyCallback"]=function(){return Module["asm"]["_sqliteDefaultBusyCallback"].apply(null,arguments)};var _sqliteErrorFromPosixError=Module["_sqliteErrorFromPosixError"]=function(){return Module["asm"]["_sqliteErrorFromPosixError"].apply(null,arguments)};var _sqliteProcessJoin=Module["_sqliteProcessJoin"]=function(){return Module["asm"]["_sqliteProcessJoin"].apply(null,arguments)};var _sqliteViewResetAll=Module["_sqliteViewResetAll"]=function(){return Module["asm"]["_sqliteViewResetAll"].apply(null,arguments)};var _squaretrans_pow2=Module["_squaretrans_pow2"]=function(){return Module["asm"]["_squaretrans_pow2"].apply(null,arguments)};var _srand=Module["_srand"]=function(){return Module["asm"]["_srand"].apply(null,arguments)};var _srand48=Module["_srand48"]=function(){return Module["asm"]["_srand48"].apply(null,arguments)};var _srandom=Module["_srandom"]=function(){return Module["asm"]["_srandom"].apply(null,arguments)};var _sre_category=Module["_sre_category"]=function(){return Module["asm"]["_sre_category"].apply(null,arguments)};var _sre_search=Module["_sre_search"]=function(){return Module["asm"]["_sre_search"].apply(null,arguments)};var _sre_ucs1_charset=Module["_sre_ucs1_charset"]=function(){return Module["asm"]["_sre_ucs1_charset"].apply(null,arguments)};var _sre_ucs1_count=Module["_sre_ucs1_count"]=function(){return Module["asm"]["_sre_ucs1_count"].apply(null,arguments)};var _sre_ucs1_match=Module["_sre_ucs1_match"]=function(){return Module["asm"]["_sre_ucs1_match"].apply(null,arguments)};var _sre_ucs2_charset=Module["_sre_ucs2_charset"]=function(){return Module["asm"]["_sre_ucs2_charset"].apply(null,arguments)};var _sre_ucs2_count=Module["_sre_ucs2_count"]=function(){return Module["asm"]["_sre_ucs2_count"].apply(null,arguments)};var _sre_ucs2_match=Module["_sre_ucs2_match"]=function(){return Module["asm"]["_sre_ucs2_match"].apply(null,arguments)};var _sre_ucs4_charset=Module["_sre_ucs4_charset"]=function(){return Module["asm"]["_sre_ucs4_charset"].apply(null,arguments)};var _sre_ucs4_count=Module["_sre_ucs4_count"]=function(){return Module["asm"]["_sre_ucs4_count"].apply(null,arguments)};var _sre_ucs4_match=Module["_sre_ucs4_match"]=function(){return Module["asm"]["_sre_ucs4_match"].apply(null,arguments)};var _sscanf=Module["_sscanf"]=function(){return Module["asm"]["_sscanf"].apply(null,arguments)};var _ssize_t_converter=Module["_ssize_t_converter"]=function(){return Module["asm"]["_ssize_t_converter"].apply(null,arguments)};var _stack_effect=Module["_stack_effect"]=function(){return Module["asm"]["_stack_effect"].apply(null,arguments)};var _star_oh=Module["_star_oh"]=function(){return Module["asm"]["_star_oh"].apply(null,arguments)};var _starmap_dealloc=Module["_starmap_dealloc"]=function(){return Module["asm"]["_starmap_dealloc"].apply(null,arguments)};var _starmap_new=Module["_starmap_new"]=function(){return Module["asm"]["_starmap_new"].apply(null,arguments)};var _starmap_next=Module["_starmap_next"]=function(){return Module["asm"]["_starmap_next"].apply(null,arguments)};var _starmap_reduce=Module["_starmap_reduce"]=function(){return Module["asm"]["_starmap_reduce"].apply(null,arguments)};var _starmap_traverse=Module["_starmap_traverse"]=function(){return Module["asm"]["_starmap_traverse"].apply(null,arguments)};var _startParsing=Module["_startParsing"]=function(){return Module["asm"]["_startParsing"].apply(null,arguments)};var _starunpack_helper=Module["_starunpack_helper"]=function(){return Module["asm"]["_starunpack_helper"].apply(null,arguments)};var _stat=Module["_stat"]=function(){return Module["asm"]["_stat"].apply(null,arguments)};var _stat4Destructor=Module["_stat4Destructor"]=function(){return Module["asm"]["_stat4Destructor"].apply(null,arguments)};var _statGet=Module["_statGet"]=function(){return Module["asm"]["_statGet"].apply(null,arguments)};var _statInit=Module["_statInit"]=function(){return Module["asm"]["_statInit"].apply(null,arguments)};var _statPush=Module["_statPush"]=function(){return Module["asm"]["_statPush"].apply(null,arguments)};var _stat_S_IFMT=Module["_stat_S_IFMT"]=function(){return Module["asm"]["_stat_S_IFMT"].apply(null,arguments)};var _stat_S_IMODE=Module["_stat_S_IMODE"]=function(){return Module["asm"]["_stat_S_IMODE"].apply(null,arguments)};var _stat_S_ISBLK=Module["_stat_S_ISBLK"]=function(){return Module["asm"]["_stat_S_ISBLK"].apply(null,arguments)};var _stat_S_ISCHR=Module["_stat_S_ISCHR"]=function(){return Module["asm"]["_stat_S_ISCHR"].apply(null,arguments)};var _stat_S_ISDIR=Module["_stat_S_ISDIR"]=function(){return Module["asm"]["_stat_S_ISDIR"].apply(null,arguments)};var _stat_S_ISDOOR=Module["_stat_S_ISDOOR"]=function(){return Module["asm"]["_stat_S_ISDOOR"].apply(null,arguments)};var _stat_S_ISFIFO=Module["_stat_S_ISFIFO"]=function(){return Module["asm"]["_stat_S_ISFIFO"].apply(null,arguments)};var _stat_S_ISLNK=Module["_stat_S_ISLNK"]=function(){return Module["asm"]["_stat_S_ISLNK"].apply(null,arguments)};var _stat_S_ISPORT=Module["_stat_S_ISPORT"]=function(){return Module["asm"]["_stat_S_ISPORT"].apply(null,arguments)};var _stat_S_ISREG=Module["_stat_S_ISREG"]=function(){return Module["asm"]["_stat_S_ISREG"].apply(null,arguments)};var _stat_S_ISSOCK=Module["_stat_S_ISSOCK"]=function(){return Module["asm"]["_stat_S_ISSOCK"].apply(null,arguments)};var _stat_S_ISWHT=Module["_stat_S_ISWHT"]=function(){return Module["asm"]["_stat_S_ISWHT"].apply(null,arguments)};var _stat_filemode=Module["_stat_filemode"]=function(){return Module["asm"]["_stat_filemode"].apply(null,arguments)};var _state_init=Module["_state_init"]=function(){return Module["asm"]["_state_init"].apply(null,arguments)};var _statresult_new=Module["_statresult_new"]=function(){return Module["asm"]["_statresult_new"].apply(null,arguments)};var _statsForEntry=Module["_statsForEntry"]=function(){return Module["asm"]["_statsForEntry"].apply(null,arguments)};var _statsForSubEntry=Module["_statsForSubEntry"]=function(){return Module["asm"]["_statsForSubEntry"].apply(null,arguments)};var _statvfs=Module["_statvfs"]=function(){return Module["asm"]["_statvfs"].apply(null,arguments)};var _std_fnt=Module["_std_fnt"]=function(){return Module["asm"]["_std_fnt"].apply(null,arguments)};var _std_inv_fnt=Module["_std_inv_fnt"]=function(){return Module["asm"]["_std_inv_fnt"].apply(null,arguments)};var _std_trans=Module["_std_trans"]=function(){return Module["asm"]["_std_trans"].apply(null,arguments)};var _stdprinter_fileno=Module["_stdprinter_fileno"]=function(){return Module["asm"]["_stdprinter_fileno"].apply(null,arguments)};var _stdprinter_init=Module["_stdprinter_init"]=function(){return Module["asm"]["_stdprinter_init"].apply(null,arguments)};var _stdprinter_isatty=Module["_stdprinter_isatty"]=function(){return Module["asm"]["_stdprinter_isatty"].apply(null,arguments)};var _stdprinter_new=Module["_stdprinter_new"]=function(){return Module["asm"]["_stdprinter_new"].apply(null,arguments)};var _stdprinter_noop=Module["_stdprinter_noop"]=function(){return Module["asm"]["_stdprinter_noop"].apply(null,arguments)};var _stdprinter_repr=Module["_stdprinter_repr"]=function(){return Module["asm"]["_stdprinter_repr"].apply(null,arguments)};var _stdprinter_write=Module["_stdprinter_write"]=function(){return Module["asm"]["_stdprinter_write"].apply(null,arguments)};var _ste_dealloc=Module["_ste_dealloc"]=function(){return Module["asm"]["_ste_dealloc"].apply(null,arguments)};var _ste_repr=Module["_ste_repr"]=function(){return Module["asm"]["_ste_repr"].apply(null,arguments)};var _stem=Module["_stem"]=function(){return Module["asm"]["_stem"].apply(null,arguments)};var _storeAtts=Module["_storeAtts"]=function(){return Module["asm"]["_storeAtts"].apply(null,arguments)};var _storeEntityValue=Module["_storeEntityValue"]=function(){return Module["asm"]["_storeEntityValue"].apply(null,arguments)};var _storeLastErrno=Module["_storeLastErrno"]=function(){return Module["asm"]["_storeLastErrno"].apply(null,arguments)};var _store_int=Module["_store_int"]=function(){return Module["asm"]["_store_int"].apply(null,arguments)};var _store_int_812=Module["_store_int_812"]=function(){return Module["asm"]["_store_int_812"].apply(null,arguments)};var _strAccumFinishRealloc=Module["_strAccumFinishRealloc"]=function(){return Module["asm"]["_strAccumFinishRealloc"].apply(null,arguments)};var _strHash=Module["_strHash"]=function(){return Module["asm"]["_strHash"].apply(null,arguments)};var _str_next=Module["_str_next"]=function(){return Module["asm"]["_str_next"].apply(null,arguments)};var _strcasecmp=Module["_strcasecmp"]=function(){return Module["asm"]["_strcasecmp"].apply(null,arguments)};var _strcasecmp_l=Module["_strcasecmp_l"]=function(){return Module["asm"]["_strcasecmp_l"].apply(null,arguments)};var _strcasestr=Module["_strcasestr"]=function(){return Module["asm"]["_strcasestr"].apply(null,arguments)};var _strcat=Module["_strcat"]=function(){return Module["asm"]["_strcat"].apply(null,arguments)};var _strchr=Module["_strchr"]=function(){return Module["asm"]["_strchr"].apply(null,arguments)};var _strcmp=Module["_strcmp"]=function(){return Module["asm"]["_strcmp"].apply(null,arguments)};var _strcoll=Module["_strcoll"]=function(){return Module["asm"]["_strcoll"].apply(null,arguments)};var _strcpy=Module["_strcpy"]=function(){return Module["asm"]["_strcpy"].apply(null,arguments)};var _strcspn=Module["_strcspn"]=function(){return Module["asm"]["_strcspn"].apply(null,arguments)};var _strerror=Module["_strerror"]=function(){return Module["asm"]["_strerror"].apply(null,arguments)};var _strerror_l=Module["_strerror_l"]=function(){return Module["asm"]["_strerror_l"].apply(null,arguments)};var _strerror_r=Module["_strerror_r"]=function(){return Module["asm"]["_strerror_r"].apply(null,arguments)};var _strfmon=Module["_strfmon"]=function(){return Module["asm"]["_strfmon"].apply(null,arguments)};var _strfmon_l=Module["_strfmon_l"]=function(){return Module["asm"]["_strfmon_l"].apply(null,arguments)};var _strftimeFunc=Module["_strftimeFunc"]=function(){return Module["asm"]["_strftimeFunc"].apply(null,arguments)};var _strict_errors=Module["_strict_errors"]=function(){return Module["asm"]["_strict_errors"].apply(null,arguments)};var _stringio_clear=Module["_stringio_clear"]=function(){return Module["asm"]["_stringio_clear"].apply(null,arguments)};var _stringio_closed=Module["_stringio_closed"]=function(){return Module["asm"]["_stringio_closed"].apply(null,arguments)};var _stringio_dealloc=Module["_stringio_dealloc"]=function(){return Module["asm"]["_stringio_dealloc"].apply(null,arguments)};var _stringio_getstate=Module["_stringio_getstate"]=function(){return Module["asm"]["_stringio_getstate"].apply(null,arguments)};var _stringio_iternext=Module["_stringio_iternext"]=function(){return Module["asm"]["_stringio_iternext"].apply(null,arguments)};var _stringio_line_buffering=Module["_stringio_line_buffering"]=function(){return Module["asm"]["_stringio_line_buffering"].apply(null,arguments)};var _stringio_new=Module["_stringio_new"]=function(){return Module["asm"]["_stringio_new"].apply(null,arguments)};var _stringio_newlines=Module["_stringio_newlines"]=function(){return Module["asm"]["_stringio_newlines"].apply(null,arguments)};var _stringio_setstate=Module["_stringio_setstate"]=function(){return Module["asm"]["_stringio_setstate"].apply(null,arguments)};var _stringio_traverse=Module["_stringio_traverse"]=function(){return Module["asm"]["_stringio_traverse"].apply(null,arguments)};var _stringlib_capitalize=Module["_stringlib_capitalize"]=function(){return Module["asm"]["_stringlib_capitalize"].apply(null,arguments)};var _stringlib_capitalize_506=Module["_stringlib_capitalize_506"]=function(){return Module["asm"]["_stringlib_capitalize_506"].apply(null,arguments)};var _stringlib_center=Module["_stringlib_center"]=function(){return Module["asm"]["_stringlib_center"].apply(null,arguments)};var _stringlib_center_508=Module["_stringlib_center_508"]=function(){return Module["asm"]["_stringlib_center_508"].apply(null,arguments)};var _stringlib_expandtabs=Module["_stringlib_expandtabs"]=function(){return Module["asm"]["_stringlib_expandtabs"].apply(null,arguments)};var _stringlib_expandtabs_513=Module["_stringlib_expandtabs_513"]=function(){return Module["asm"]["_stringlib_expandtabs_513"].apply(null,arguments)};var _stringlib_isalnum=Module["_stringlib_isalnum"]=function(){return Module["asm"]["_stringlib_isalnum"].apply(null,arguments)};var _stringlib_isalnum_520=Module["_stringlib_isalnum_520"]=function(){return Module["asm"]["_stringlib_isalnum_520"].apply(null,arguments)};var _stringlib_isalpha=Module["_stringlib_isalpha"]=function(){return Module["asm"]["_stringlib_isalpha"].apply(null,arguments)};var _stringlib_isalpha_522=Module["_stringlib_isalpha_522"]=function(){return Module["asm"]["_stringlib_isalpha_522"].apply(null,arguments)};var _stringlib_isascii=Module["_stringlib_isascii"]=function(){return Module["asm"]["_stringlib_isascii"].apply(null,arguments)};var _stringlib_isascii_524=Module["_stringlib_isascii_524"]=function(){return Module["asm"]["_stringlib_isascii_524"].apply(null,arguments)};var _stringlib_isdigit=Module["_stringlib_isdigit"]=function(){return Module["asm"]["_stringlib_isdigit"].apply(null,arguments)};var _stringlib_isdigit_526=Module["_stringlib_isdigit_526"]=function(){return Module["asm"]["_stringlib_isdigit_526"].apply(null,arguments)};var _stringlib_islower=Module["_stringlib_islower"]=function(){return Module["asm"]["_stringlib_islower"].apply(null,arguments)};var _stringlib_islower_528=Module["_stringlib_islower_528"]=function(){return Module["asm"]["_stringlib_islower_528"].apply(null,arguments)};var _stringlib_isspace=Module["_stringlib_isspace"]=function(){return Module["asm"]["_stringlib_isspace"].apply(null,arguments)};var _stringlib_isspace_530=Module["_stringlib_isspace_530"]=function(){return Module["asm"]["_stringlib_isspace_530"].apply(null,arguments)};var _stringlib_istitle=Module["_stringlib_istitle"]=function(){return Module["asm"]["_stringlib_istitle"].apply(null,arguments)};var _stringlib_istitle_532=Module["_stringlib_istitle_532"]=function(){return Module["asm"]["_stringlib_istitle_532"].apply(null,arguments)};var _stringlib_isupper=Module["_stringlib_isupper"]=function(){return Module["asm"]["_stringlib_isupper"].apply(null,arguments)};var _stringlib_isupper_534=Module["_stringlib_isupper_534"]=function(){return Module["asm"]["_stringlib_isupper_534"].apply(null,arguments)};var _stringlib_ljust=Module["_stringlib_ljust"]=function(){return Module["asm"]["_stringlib_ljust"].apply(null,arguments)};var _stringlib_ljust_537=Module["_stringlib_ljust_537"]=function(){return Module["asm"]["_stringlib_ljust_537"].apply(null,arguments)};var _stringlib_lower=Module["_stringlib_lower"]=function(){return Module["asm"]["_stringlib_lower"].apply(null,arguments)};var _stringlib_lower_539=Module["_stringlib_lower_539"]=function(){return Module["asm"]["_stringlib_lower_539"].apply(null,arguments)};var _stringlib_parse_args_finds=Module["_stringlib_parse_args_finds"]=function(){return Module["asm"]["_stringlib_parse_args_finds"].apply(null,arguments)};var _stringlib_parse_args_finds_2698=Module["_stringlib_parse_args_finds_2698"]=function(){return Module["asm"]["_stringlib_parse_args_finds_2698"].apply(null,arguments)};var _stringlib_rjust=Module["_stringlib_rjust"]=function(){return Module["asm"]["_stringlib_rjust"].apply(null,arguments)};var _stringlib_rjust_547=Module["_stringlib_rjust_547"]=function(){return Module["asm"]["_stringlib_rjust_547"].apply(null,arguments)};var _stringlib_swapcase=Module["_stringlib_swapcase"]=function(){return Module["asm"]["_stringlib_swapcase"].apply(null,arguments)};var _stringlib_swapcase_556=Module["_stringlib_swapcase_556"]=function(){return Module["asm"]["_stringlib_swapcase_556"].apply(null,arguments)};var _stringlib_title=Module["_stringlib_title"]=function(){return Module["asm"]["_stringlib_title"].apply(null,arguments)};var _stringlib_title_558=Module["_stringlib_title_558"]=function(){return Module["asm"]["_stringlib_title_558"].apply(null,arguments)};var _stringlib_upper=Module["_stringlib_upper"]=function(){return Module["asm"]["_stringlib_upper"].apply(null,arguments)};var _stringlib_upper_561=Module["_stringlib_upper_561"]=function(){return Module["asm"]["_stringlib_upper_561"].apply(null,arguments)};var _stringlib_zfill=Module["_stringlib_zfill"]=function(){return Module["asm"]["_stringlib_zfill"].apply(null,arguments)};var _stringlib_zfill_563=Module["_stringlib_zfill_563"]=function(){return Module["asm"]["_stringlib_zfill_563"].apply(null,arguments)};var _striter_dealloc=Module["_striter_dealloc"]=function(){return Module["asm"]["_striter_dealloc"].apply(null,arguments)};var _striter_len=Module["_striter_len"]=function(){return Module["asm"]["_striter_len"].apply(null,arguments)};var _striter_next=Module["_striter_next"]=function(){return Module["asm"]["_striter_next"].apply(null,arguments)};var _striter_reduce=Module["_striter_reduce"]=function(){return Module["asm"]["_striter_reduce"].apply(null,arguments)};var _striter_setstate=Module["_striter_setstate"]=function(){return Module["asm"]["_striter_setstate"].apply(null,arguments)};var _striter_traverse=Module["_striter_traverse"]=function(){return Module["asm"]["_striter_traverse"].apply(null,arguments)};var _strlcat=Module["_strlcat"]=function(){return Module["asm"]["_strlcat"].apply(null,arguments)};var _strlcpy=Module["_strlcpy"]=function(){return Module["asm"]["_strlcpy"].apply(null,arguments)};var _strlen=Module["_strlen"]=function(){return Module["asm"]["_strlen"].apply(null,arguments)};var _strlwr=Module["_strlwr"]=function(){return Module["asm"]["_strlwr"].apply(null,arguments)};var _strncasecmp=Module["_strncasecmp"]=function(){return Module["asm"]["_strncasecmp"].apply(null,arguments)};var _strncasecmp_l=Module["_strncasecmp_l"]=function(){return Module["asm"]["_strncasecmp_l"].apply(null,arguments)};var _strncat=Module["_strncat"]=function(){return Module["asm"]["_strncat"].apply(null,arguments)};var _strncmp=Module["_strncmp"]=function(){return Module["asm"]["_strncmp"].apply(null,arguments)};var _strncpy=Module["_strncpy"]=function(){return Module["asm"]["_strncpy"].apply(null,arguments)};var _strndup=Module["_strndup"]=function(){return Module["asm"]["_strndup"].apply(null,arguments)};var _strnlen=Module["_strnlen"]=function(){return Module["asm"]["_strnlen"].apply(null,arguments)};var _strpbrk=Module["_strpbrk"]=function(){return Module["asm"]["_strpbrk"].apply(null,arguments)};var _strrchr=Module["_strrchr"]=function(){return Module["asm"]["_strrchr"].apply(null,arguments)};var _strsep=Module["_strsep"]=function(){return Module["asm"]["_strsep"].apply(null,arguments)};var _strsignal=Module["_strsignal"]=function(){return Module["asm"]["_strsignal"].apply(null,arguments)};var _strspn=Module["_strspn"]=function(){return Module["asm"]["_strspn"].apply(null,arguments)};var _strstr=Module["_strstr"]=function(){return Module["asm"]["_strstr"].apply(null,arguments)};var _strtod=Module["_strtod"]=function(){return Module["asm"]["_strtod"].apply(null,arguments)};var _strtod_l=Module["_strtod_l"]=function(){return Module["asm"]["_strtod_l"].apply(null,arguments)};var _strtof=Module["_strtof"]=function(){return Module["asm"]["_strtof"].apply(null,arguments)};var _strtof_l=Module["_strtof_l"]=function(){return Module["asm"]["_strtof_l"].apply(null,arguments)};var _strtoimax=Module["_strtoimax"]=function(){return Module["asm"]["_strtoimax"].apply(null,arguments)};var _strtok=Module["_strtok"]=function(){return Module["asm"]["_strtok"].apply(null,arguments)};var _strtok_r=Module["_strtok_r"]=function(){return Module["asm"]["_strtok_r"].apply(null,arguments)};var _strtol=Module["_strtol"]=function(){return Module["asm"]["_strtol"].apply(null,arguments)};var _strtol_l=Module["_strtol_l"]=function(){return Module["asm"]["_strtol_l"].apply(null,arguments)};var _strtold=Module["_strtold"]=function(){return Module["asm"]["_strtold"].apply(null,arguments)};var _strtold_l=Module["_strtold_l"]=function(){return Module["asm"]["_strtold_l"].apply(null,arguments)};var _strtoll=Module["_strtoll"]=function(){return Module["asm"]["_strtoll"].apply(null,arguments)};var _strtoll_l=Module["_strtoll_l"]=function(){return Module["asm"]["_strtoll_l"].apply(null,arguments)};var _strtoul=Module["_strtoul"]=function(){return Module["asm"]["_strtoul"].apply(null,arguments)};var _strtoul_l=Module["_strtoul_l"]=function(){return Module["asm"]["_strtoul_l"].apply(null,arguments)};var _strtoull=Module["_strtoull"]=function(){return Module["asm"]["_strtoull"].apply(null,arguments)};var _strtoull_l=Module["_strtoull_l"]=function(){return Module["asm"]["_strtoull_l"].apply(null,arguments)};var _strtoumax=Module["_strtoumax"]=function(){return Module["asm"]["_strtoumax"].apply(null,arguments)};var _strtox=Module["_strtox"]=function(){return Module["asm"]["_strtox"].apply(null,arguments)};var _strtox_144=Module["_strtox_144"]=function(){return Module["asm"]["_strtox_144"].apply(null,arguments)};var _struct_get_unpacker=Module["_struct_get_unpacker"]=function(){return Module["asm"]["_struct_get_unpacker"].apply(null,arguments)};var _structseq_dealloc=Module["_structseq_dealloc"]=function(){return Module["asm"]["_structseq_dealloc"].apply(null,arguments)};var _structseq_new=Module["_structseq_new"]=function(){return Module["asm"]["_structseq_new"].apply(null,arguments)};var _structseq_reduce=Module["_structseq_reduce"]=function(){return Module["asm"]["_structseq_reduce"].apply(null,arguments)};var _structseq_repr=Module["_structseq_repr"]=function(){return Module["asm"]["_structseq_repr"].apply(null,arguments)};var _strupr=Module["_strupr"]=function(){return Module["asm"]["_strupr"].apply(null,arguments)};var _strverscmp=Module["_strverscmp"]=function(){return Module["asm"]["_strverscmp"].apply(null,arguments)};var _strxfrm=Module["_strxfrm"]=function(){return Module["asm"]["_strxfrm"].apply(null,arguments)};var _subjRequiresPage=Module["_subjRequiresPage"]=function(){return Module["asm"]["_subjRequiresPage"].apply(null,arguments)};var _subjournalPage=Module["_subjournalPage"]=function(){return Module["asm"]["_subjournalPage"].apply(null,arguments)};var _subjournalPageIfRequired=Module["_subjournalPageIfRequired"]=function(){return Module["asm"]["_subjournalPageIfRequired"].apply(null,arguments)};var _subprocess_fork_exec=Module["_subprocess_fork_exec"]=function(){return Module["asm"]["_subprocess_fork_exec"].apply(null,arguments)};var _substExpr=Module["_substExpr"]=function(){return Module["asm"]["_substExpr"].apply(null,arguments)};var _substExprList=Module["_substExprList"]=function(){return Module["asm"]["_substExprList"].apply(null,arguments)};var _substSelect=Module["_substSelect"]=function(){return Module["asm"]["_substSelect"].apply(null,arguments)};var _substrFunc=Module["_substrFunc"]=function(){return Module["asm"]["_substrFunc"].apply(null,arguments)};var _subtype_clear=Module["_subtype_clear"]=function(){return Module["asm"]["_subtype_clear"].apply(null,arguments)};var _subtype_dealloc=Module["_subtype_dealloc"]=function(){return Module["asm"]["_subtype_dealloc"].apply(null,arguments)};var _subtype_dict=Module["_subtype_dict"]=function(){return Module["asm"]["_subtype_dict"].apply(null,arguments)};var _subtype_getweakref=Module["_subtype_getweakref"]=function(){return Module["asm"]["_subtype_getweakref"].apply(null,arguments)};var _subtype_setdict=Module["_subtype_setdict"]=function(){return Module["asm"]["_subtype_setdict"].apply(null,arguments)};var _subtype_traverse=Module["_subtype_traverse"]=function(){return Module["asm"]["_subtype_traverse"].apply(null,arguments)};var _sumFinalize=Module["_sumFinalize"]=function(){return Module["asm"]["_sumFinalize"].apply(null,arguments)};var _sumInverse=Module["_sumInverse"]=function(){return Module["asm"]["_sumInverse"].apply(null,arguments)};var _sumStep=Module["_sumStep"]=function(){return Module["asm"]["_sumStep"].apply(null,arguments)};var _super_dealloc=Module["_super_dealloc"]=function(){return Module["asm"]["_super_dealloc"].apply(null,arguments)};var _super_descr_get=Module["_super_descr_get"]=function(){return Module["asm"]["_super_descr_get"].apply(null,arguments)};var _super_getattro=Module["_super_getattro"]=function(){return Module["asm"]["_super_getattro"].apply(null,arguments)};var _super_init=Module["_super_init"]=function(){return Module["asm"]["_super_init"].apply(null,arguments)};var _super_repr=Module["_super_repr"]=function(){return Module["asm"]["_super_repr"].apply(null,arguments)};var _super_traverse=Module["_super_traverse"]=function(){return Module["asm"]["_super_traverse"].apply(null,arguments)};var _supercheck=Module["_supercheck"]=function(){return Module["asm"]["_supercheck"].apply(null,arguments)};var _surrogateescape_errors=Module["_surrogateescape_errors"]=function(){return Module["asm"]["_surrogateescape_errors"].apply(null,arguments)};var _surrogatepass_errors=Module["_surrogatepass_errors"]=function(){return Module["asm"]["_surrogatepass_errors"].apply(null,arguments)};var _sw_write=Module["_sw_write"]=function(){return Module["asm"]["_sw_write"].apply(null,arguments)};var _swab=Module["_swab"]=function(){return Module["asm"]["_swab"].apply(null,arguments)};var _swap_halfrows_pow2=Module["_swap_halfrows_pow2"]=function(){return Module["asm"]["_swap_halfrows_pow2"].apply(null,arguments)};var _swapc=Module["_swapc"]=function(){return Module["asm"]["_swapc"].apply(null,arguments)};var _swprintf=Module["_swprintf"]=function(){return Module["asm"]["_swprintf"].apply(null,arguments)};var _swscanf=Module["_swscanf"]=function(){return Module["asm"]["_swscanf"].apply(null,arguments)};var _symlink=Module["_symlink"]=function(){return Module["asm"]["_symlink"].apply(null,arguments)};var _symlinkat=Module["_symlinkat"]=function(){return Module["asm"]["_symlinkat"].apply(null,arguments)};var _symtable_add_def=Module["_symtable_add_def"]=function(){return Module["asm"]["_symtable_add_def"].apply(null,arguments)};var _symtable_enter_block=Module["_symtable_enter_block"]=function(){return Module["asm"]["_symtable_enter_block"].apply(null,arguments)};var _symtable_handle_comprehension=Module["_symtable_handle_comprehension"]=function(){return Module["asm"]["_symtable_handle_comprehension"].apply(null,arguments)};var _symtable_record_directive=Module["_symtable_record_directive"]=function(){return Module["asm"]["_symtable_record_directive"].apply(null,arguments)};var _symtable_visit_alias=Module["_symtable_visit_alias"]=function(){return Module["asm"]["_symtable_visit_alias"].apply(null,arguments)};var _symtable_visit_annotations=Module["_symtable_visit_annotations"]=function(){return Module["asm"]["_symtable_visit_annotations"].apply(null,arguments)};var _symtable_visit_arguments=Module["_symtable_visit_arguments"]=function(){return Module["asm"]["_symtable_visit_arguments"].apply(null,arguments)};var _symtable_visit_expr=Module["_symtable_visit_expr"]=function(){return Module["asm"]["_symtable_visit_expr"].apply(null,arguments)};var _symtable_visit_slice=Module["_symtable_visit_slice"]=function(){return Module["asm"]["_symtable_visit_slice"].apply(null,arguments)};var _symtable_visit_stmt=Module["_symtable_visit_stmt"]=function(){return Module["asm"]["_symtable_visit_stmt"].apply(null,arguments)};var _sync=Module["_sync"]=function(){return Module["asm"]["_sync"].apply(null,arguments)};var _syncJournal=Module["_syncJournal"]=function(){return Module["asm"]["_syncJournal"].apply(null,arguments)};var _synthCollSeq=Module["_synthCollSeq"]=function(){return Module["asm"]["_synthCollSeq"].apply(null,arguments)};var _sys_breakpointhook=Module["_sys_breakpointhook"]=function(){return Module["asm"]["_sys_breakpointhook"].apply(null,arguments)};var _sys_call_tracing=Module["_sys_call_tracing"]=function(){return Module["asm"]["_sys_call_tracing"].apply(null,arguments)};var _sys_callstats=Module["_sys_callstats"]=function(){return Module["asm"]["_sys_callstats"].apply(null,arguments)};var _sys_clear_type_cache=Module["_sys_clear_type_cache"]=function(){return Module["asm"]["_sys_clear_type_cache"].apply(null,arguments)};var _sys_current_frames=Module["_sys_current_frames"]=function(){return Module["asm"]["_sys_current_frames"].apply(null,arguments)};var _sys_debugmallocstats=Module["_sys_debugmallocstats"]=function(){return Module["asm"]["_sys_debugmallocstats"].apply(null,arguments)};var _sys_displayhook=Module["_sys_displayhook"]=function(){return Module["asm"]["_sys_displayhook"].apply(null,arguments)};var _sys_exc_info=Module["_sys_exc_info"]=function(){return Module["asm"]["_sys_exc_info"].apply(null,arguments)};var _sys_excepthook=Module["_sys_excepthook"]=function(){return Module["asm"]["_sys_excepthook"].apply(null,arguments)};var _sys_exit=Module["_sys_exit"]=function(){return Module["asm"]["_sys_exit"].apply(null,arguments)};var _sys_format=Module["_sys_format"]=function(){return Module["asm"]["_sys_format"].apply(null,arguments)};var _sys_get_asyncgen_hooks=Module["_sys_get_asyncgen_hooks"]=function(){return Module["asm"]["_sys_get_asyncgen_hooks"].apply(null,arguments)};var _sys_get_coroutine_origin_tracking_depth=Module["_sys_get_coroutine_origin_tracking_depth"]=function(){return Module["asm"]["_sys_get_coroutine_origin_tracking_depth"].apply(null,arguments)};var _sys_get_coroutine_wrapper=Module["_sys_get_coroutine_wrapper"]=function(){return Module["asm"]["_sys_get_coroutine_wrapper"].apply(null,arguments)};var _sys_getallocatedblocks=Module["_sys_getallocatedblocks"]=function(){return Module["asm"]["_sys_getallocatedblocks"].apply(null,arguments)};var _sys_getcheckinterval=Module["_sys_getcheckinterval"]=function(){return Module["asm"]["_sys_getcheckinterval"].apply(null,arguments)};var _sys_getdefaultencoding=Module["_sys_getdefaultencoding"]=function(){return Module["asm"]["_sys_getdefaultencoding"].apply(null,arguments)};var _sys_getdlopenflags=Module["_sys_getdlopenflags"]=function(){return Module["asm"]["_sys_getdlopenflags"].apply(null,arguments)};var _sys_getfilesystemencodeerrors=Module["_sys_getfilesystemencodeerrors"]=function(){return Module["asm"]["_sys_getfilesystemencodeerrors"].apply(null,arguments)};var _sys_getfilesystemencoding=Module["_sys_getfilesystemencoding"]=function(){return Module["asm"]["_sys_getfilesystemencoding"].apply(null,arguments)};var _sys_getframe=Module["_sys_getframe"]=function(){return Module["asm"]["_sys_getframe"].apply(null,arguments)};var _sys_getprofile=Module["_sys_getprofile"]=function(){return Module["asm"]["_sys_getprofile"].apply(null,arguments)};var _sys_getrecursionlimit=Module["_sys_getrecursionlimit"]=function(){return Module["asm"]["_sys_getrecursionlimit"].apply(null,arguments)};var _sys_getrefcount=Module["_sys_getrefcount"]=function(){return Module["asm"]["_sys_getrefcount"].apply(null,arguments)};var _sys_getsizeof=Module["_sys_getsizeof"]=function(){return Module["asm"]["_sys_getsizeof"].apply(null,arguments)};var _sys_getswitchinterval=Module["_sys_getswitchinterval"]=function(){return Module["asm"]["_sys_getswitchinterval"].apply(null,arguments)};var _sys_gettrace=Module["_sys_gettrace"]=function(){return Module["asm"]["_sys_gettrace"].apply(null,arguments)};var _sys_intern=Module["_sys_intern"]=function(){return Module["asm"]["_sys_intern"].apply(null,arguments)};var _sys_is_finalizing=Module["_sys_is_finalizing"]=function(){return Module["asm"]["_sys_is_finalizing"].apply(null,arguments)};var _sys_set_asyncgen_hooks=Module["_sys_set_asyncgen_hooks"]=function(){return Module["asm"]["_sys_set_asyncgen_hooks"].apply(null,arguments)};var _sys_set_coroutine_origin_tracking_depth=Module["_sys_set_coroutine_origin_tracking_depth"]=function(){return Module["asm"]["_sys_set_coroutine_origin_tracking_depth"].apply(null,arguments)};var _sys_set_coroutine_wrapper=Module["_sys_set_coroutine_wrapper"]=function(){return Module["asm"]["_sys_set_coroutine_wrapper"].apply(null,arguments)};var _sys_setcheckinterval=Module["_sys_setcheckinterval"]=function(){return Module["asm"]["_sys_setcheckinterval"].apply(null,arguments)};var _sys_setdlopenflags=Module["_sys_setdlopenflags"]=function(){return Module["asm"]["_sys_setdlopenflags"].apply(null,arguments)};var _sys_setprofile=Module["_sys_setprofile"]=function(){return Module["asm"]["_sys_setprofile"].apply(null,arguments)};var _sys_setrecursionlimit=Module["_sys_setrecursionlimit"]=function(){return Module["asm"]["_sys_setrecursionlimit"].apply(null,arguments)};var _sys_setswitchinterval=Module["_sys_setswitchinterval"]=function(){return Module["asm"]["_sys_setswitchinterval"].apply(null,arguments)};var _sys_settrace=Module["_sys_settrace"]=function(){return Module["asm"]["_sys_settrace"].apply(null,arguments)};var _sys_write=Module["_sys_write"]=function(){return Module["asm"]["_sys_write"].apply(null,arguments)};var _syslog=Module["_syslog"]=function(){return Module["asm"]["_syslog"].apply(null,arguments)};var _t1_allocate_blend=Module["_t1_allocate_blend"]=function(){return Module["asm"]["_t1_allocate_blend"].apply(null,arguments)};var _t1_builder_add_contour=Module["_t1_builder_add_contour"]=function(){return Module["asm"]["_t1_builder_add_contour"].apply(null,arguments)};var _t1_builder_add_point=Module["_t1_builder_add_point"]=function(){return Module["asm"]["_t1_builder_add_point"].apply(null,arguments)};var _t1_builder_add_point1=Module["_t1_builder_add_point1"]=function(){return Module["asm"]["_t1_builder_add_point1"].apply(null,arguments)};var _t1_builder_check_points=Module["_t1_builder_check_points"]=function(){return Module["asm"]["_t1_builder_check_points"].apply(null,arguments)};var _t1_builder_close_contour=Module["_t1_builder_close_contour"]=function(){return Module["asm"]["_t1_builder_close_contour"].apply(null,arguments)};var _t1_builder_done=Module["_t1_builder_done"]=function(){return Module["asm"]["_t1_builder_done"].apply(null,arguments)};var _t1_builder_init=Module["_t1_builder_init"]=function(){return Module["asm"]["_t1_builder_init"].apply(null,arguments)};var _t1_builder_start_point=Module["_t1_builder_start_point"]=function(){return Module["asm"]["_t1_builder_start_point"].apply(null,arguments)};var _t1_cmap_custom_char_index=Module["_t1_cmap_custom_char_index"]=function(){return Module["asm"]["_t1_cmap_custom_char_index"].apply(null,arguments)};var _t1_cmap_custom_char_next=Module["_t1_cmap_custom_char_next"]=function(){return Module["asm"]["_t1_cmap_custom_char_next"].apply(null,arguments)};var _t1_cmap_custom_done=Module["_t1_cmap_custom_done"]=function(){return Module["asm"]["_t1_cmap_custom_done"].apply(null,arguments)};var _t1_cmap_custom_init=Module["_t1_cmap_custom_init"]=function(){return Module["asm"]["_t1_cmap_custom_init"].apply(null,arguments)};var _t1_cmap_expert_init=Module["_t1_cmap_expert_init"]=function(){return Module["asm"]["_t1_cmap_expert_init"].apply(null,arguments)};var _t1_cmap_standard_init=Module["_t1_cmap_standard_init"]=function(){return Module["asm"]["_t1_cmap_standard_init"].apply(null,arguments)};var _t1_cmap_std_char_index=Module["_t1_cmap_std_char_index"]=function(){return Module["asm"]["_t1_cmap_std_char_index"].apply(null,arguments)};var _t1_cmap_std_char_next=Module["_t1_cmap_std_char_next"]=function(){return Module["asm"]["_t1_cmap_std_char_next"].apply(null,arguments)};var _t1_cmap_std_done=Module["_t1_cmap_std_done"]=function(){return Module["asm"]["_t1_cmap_std_done"].apply(null,arguments)};var _t1_cmap_unicode_char_index=Module["_t1_cmap_unicode_char_index"]=function(){return Module["asm"]["_t1_cmap_unicode_char_index"].apply(null,arguments)};var _t1_cmap_unicode_char_next=Module["_t1_cmap_unicode_char_next"]=function(){return Module["asm"]["_t1_cmap_unicode_char_next"].apply(null,arguments)};var _t1_cmap_unicode_done=Module["_t1_cmap_unicode_done"]=function(){return Module["asm"]["_t1_cmap_unicode_done"].apply(null,arguments)};var _t1_cmap_unicode_init=Module["_t1_cmap_unicode_init"]=function(){return Module["asm"]["_t1_cmap_unicode_init"].apply(null,arguments)};var _t1_decoder_done=Module["_t1_decoder_done"]=function(){return Module["asm"]["_t1_decoder_done"].apply(null,arguments)};var _t1_decoder_init=Module["_t1_decoder_init"]=function(){return Module["asm"]["_t1_decoder_init"].apply(null,arguments)};var _t1_decoder_parse_charstrings=Module["_t1_decoder_parse_charstrings"]=function(){return Module["asm"]["_t1_decoder_parse_charstrings"].apply(null,arguments)};var _t1_decrypt=Module["_t1_decrypt"]=function(){return Module["asm"]["_t1_decrypt"].apply(null,arguments)};var _t1_get_glyph_name=Module["_t1_get_glyph_name"]=function(){return Module["asm"]["_t1_get_glyph_name"].apply(null,arguments)};var _t1_get_index=Module["_t1_get_index"]=function(){return Module["asm"]["_t1_get_index"].apply(null,arguments)};var _t1_get_name_index=Module["_t1_get_name_index"]=function(){return Module["asm"]["_t1_get_name_index"].apply(null,arguments)};var _t1_get_ps_name=Module["_t1_get_ps_name"]=function(){return Module["asm"]["_t1_get_ps_name"].apply(null,arguments)};var _t1_hints_open=Module["_t1_hints_open"]=function(){return Module["asm"]["_t1_hints_open"].apply(null,arguments)};var _t1_hints_stem=Module["_t1_hints_stem"]=function(){return Module["asm"]["_t1_hints_stem"].apply(null,arguments)};var _t1_parse_font_matrix=Module["_t1_parse_font_matrix"]=function(){return Module["asm"]["_t1_parse_font_matrix"].apply(null,arguments)};var _t1_ps_get_font_extra=Module["_t1_ps_get_font_extra"]=function(){return Module["asm"]["_t1_ps_get_font_extra"].apply(null,arguments)};var _t1_ps_get_font_info=Module["_t1_ps_get_font_info"]=function(){return Module["asm"]["_t1_ps_get_font_info"].apply(null,arguments)};var _t1_ps_get_font_private=Module["_t1_ps_get_font_private"]=function(){return Module["asm"]["_t1_ps_get_font_private"].apply(null,arguments)};var _t1_ps_get_font_value=Module["_t1_ps_get_font_value"]=function(){return Module["asm"]["_t1_ps_get_font_value"].apply(null,arguments)};var _t1_ps_has_glyph_names=Module["_t1_ps_has_glyph_names"]=function(){return Module["asm"]["_t1_ps_has_glyph_names"].apply(null,arguments)};var _t2_hints_open=Module["_t2_hints_open"]=function(){return Module["asm"]["_t2_hints_open"].apply(null,arguments)};var _t2_hints_stems=Module["_t2_hints_stems"]=function(){return Module["asm"]["_t2_hints_stems"].apply(null,arguments)};var _t42_get_glyph_name=Module["_t42_get_glyph_name"]=function(){return Module["asm"]["_t42_get_glyph_name"].apply(null,arguments)};var _t42_get_name_index=Module["_t42_get_name_index"]=function(){return Module["asm"]["_t42_get_name_index"].apply(null,arguments)};var _t42_get_ps_font_name=Module["_t42_get_ps_font_name"]=function(){return Module["asm"]["_t42_get_ps_font_name"].apply(null,arguments)};var _t42_parse_charstrings=Module["_t42_parse_charstrings"]=function(){return Module["asm"]["_t42_parse_charstrings"].apply(null,arguments)};var _t42_parse_encoding=Module["_t42_parse_encoding"]=function(){return Module["asm"]["_t42_parse_encoding"].apply(null,arguments)};var _t42_parse_font_matrix=Module["_t42_parse_font_matrix"]=function(){return Module["asm"]["_t42_parse_font_matrix"].apply(null,arguments)};var _t42_parse_sfnts=Module["_t42_parse_sfnts"]=function(){return Module["asm"]["_t42_parse_sfnts"].apply(null,arguments)};var _t42_ps_get_font_extra=Module["_t42_ps_get_font_extra"]=function(){return Module["asm"]["_t42_ps_get_font_extra"].apply(null,arguments)};var _t42_ps_get_font_info=Module["_t42_ps_get_font_info"]=function(){return Module["asm"]["_t42_ps_get_font_info"].apply(null,arguments)};var _t42_ps_get_font_private=Module["_t42_ps_get_font_private"]=function(){return Module["asm"]["_t42_ps_get_font_private"].apply(null,arguments)};var _t42_ps_has_glyph_names=Module["_t42_ps_has_glyph_names"]=function(){return Module["asm"]["_t42_ps_has_glyph_names"].apply(null,arguments)};var _t_bootstrap=Module["_t_bootstrap"]=function(){return Module["asm"]["_t_bootstrap"].apply(null,arguments)};var _tabIsReadOnly=Module["_tabIsReadOnly"]=function(){return Module["asm"]["_tabIsReadOnly"].apply(null,arguments)};var _tableAndColumnIndex=Module["_tableAndColumnIndex"]=function(){return Module["asm"]["_tableAndColumnIndex"].apply(null,arguments)};var _tableOfTrigger=Module["_tableOfTrigger"]=function(){return Module["asm"]["_tableOfTrigger"].apply(null,arguments)};var _tailmatch=Module["_tailmatch"]=function(){return Module["asm"]["_tailmatch"].apply(null,arguments)};var _tailmatch_2700=Module["_tailmatch_2700"]=function(){return Module["asm"]["_tailmatch_2700"].apply(null,arguments)};var _take_gil=Module["_take_gil"]=function(){return Module["asm"]["_take_gil"].apply(null,arguments)};var _takewhile_dealloc=Module["_takewhile_dealloc"]=function(){return Module["asm"]["_takewhile_dealloc"].apply(null,arguments)};var _takewhile_new=Module["_takewhile_new"]=function(){return Module["asm"]["_takewhile_new"].apply(null,arguments)};var _takewhile_next=Module["_takewhile_next"]=function(){return Module["asm"]["_takewhile_next"].apply(null,arguments)};var _takewhile_reduce=Module["_takewhile_reduce"]=function(){return Module["asm"]["_takewhile_reduce"].apply(null,arguments)};var _takewhile_reduce_setstate=Module["_takewhile_reduce_setstate"]=function(){return Module["asm"]["_takewhile_reduce_setstate"].apply(null,arguments)};var _takewhile_traverse=Module["_takewhile_traverse"]=function(){return Module["asm"]["_takewhile_traverse"].apply(null,arguments)};var _tan=Module["_tan"]=function(){return Module["asm"]["_tan"].apply(null,arguments)};var _tanf=Module["_tanf"]=function(){return Module["asm"]["_tanf"].apply(null,arguments)};var _tanh=Module["_tanh"]=function(){return Module["asm"]["_tanh"].apply(null,arguments)};var _tanhf=Module["_tanhf"]=function(){return Module["asm"]["_tanhf"].apply(null,arguments)};var _tanhl=Module["_tanhl"]=function(){return Module["asm"]["_tanhl"].apply(null,arguments)};var _tanl=Module["_tanl"]=function(){return Module["asm"]["_tanl"].apply(null,arguments)};var _targetSrcList=Module["_targetSrcList"]=function(){return Module["asm"]["_targetSrcList"].apply(null,arguments)};var _tb_clear=Module["_tb_clear"]=function(){return Module["asm"]["_tb_clear"].apply(null,arguments)};var _tb_dealloc=Module["_tb_dealloc"]=function(){return Module["asm"]["_tb_dealloc"].apply(null,arguments)};var _tb_dir=Module["_tb_dir"]=function(){return Module["asm"]["_tb_dir"].apply(null,arguments)};var _tb_new=Module["_tb_new"]=function(){return Module["asm"]["_tb_new"].apply(null,arguments)};var _tb_next_get=Module["_tb_next_get"]=function(){return Module["asm"]["_tb_next_get"].apply(null,arguments)};var _tb_next_set=Module["_tb_next_set"]=function(){return Module["asm"]["_tb_next_set"].apply(null,arguments)};var _tb_traverse=Module["_tb_traverse"]=function(){return Module["asm"]["_tb_traverse"].apply(null,arguments)};var _tcdrain=Module["_tcdrain"]=function(){return Module["asm"]["_tcdrain"].apply(null,arguments)};var _tcflow=Module["_tcflow"]=function(){return Module["asm"]["_tcflow"].apply(null,arguments)};var _tcflush=Module["_tcflush"]=function(){return Module["asm"]["_tcflush"].apply(null,arguments)};var _tcgetattr=Module["_tcgetattr"]=function(){return Module["asm"]["_tcgetattr"].apply(null,arguments)};var _tcgetpgrp=Module["_tcgetpgrp"]=function(){return Module["asm"]["_tcgetpgrp"].apply(null,arguments)};var _tcgetsid=Module["_tcgetsid"]=function(){return Module["asm"]["_tcgetsid"].apply(null,arguments)};var _tcsendbreak=Module["_tcsendbreak"]=function(){return Module["asm"]["_tcsendbreak"].apply(null,arguments)};var _tcsetattr=Module["_tcsetattr"]=function(){return Module["asm"]["_tcsetattr"].apply(null,arguments)};var _tcsetpgrp=Module["_tcsetpgrp"]=function(){return Module["asm"]["_tcsetpgrp"].apply(null,arguments)};var _tee=Module["_tee"]=function(){return Module["asm"]["_tee"].apply(null,arguments)};var _tee_clear=Module["_tee_clear"]=function(){return Module["asm"]["_tee_clear"].apply(null,arguments)};var _tee_copy=Module["_tee_copy"]=function(){return Module["asm"]["_tee_copy"].apply(null,arguments)};var _tee_dealloc=Module["_tee_dealloc"]=function(){return Module["asm"]["_tee_dealloc"].apply(null,arguments)};var _tee_fromiterable=Module["_tee_fromiterable"]=function(){return Module["asm"]["_tee_fromiterable"].apply(null,arguments)};var _tee_new=Module["_tee_new"]=function(){return Module["asm"]["_tee_new"].apply(null,arguments)};var _tee_next=Module["_tee_next"]=function(){return Module["asm"]["_tee_next"].apply(null,arguments)};var _tee_reduce=Module["_tee_reduce"]=function(){return Module["asm"]["_tee_reduce"].apply(null,arguments)};var _tee_setstate=Module["_tee_setstate"]=function(){return Module["asm"]["_tee_setstate"].apply(null,arguments)};var _tee_traverse=Module["_tee_traverse"]=function(){return Module["asm"]["_tee_traverse"].apply(null,arguments)};var _teedataobject_clear=Module["_teedataobject_clear"]=function(){return Module["asm"]["_teedataobject_clear"].apply(null,arguments)};var _teedataobject_dealloc=Module["_teedataobject_dealloc"]=function(){return Module["asm"]["_teedataobject_dealloc"].apply(null,arguments)};var _teedataobject_new=Module["_teedataobject_new"]=function(){return Module["asm"]["_teedataobject_new"].apply(null,arguments)};var _teedataobject_reduce=Module["_teedataobject_reduce"]=function(){return Module["asm"]["_teedataobject_reduce"].apply(null,arguments)};var _teedataobject_traverse=Module["_teedataobject_traverse"]=function(){return Module["asm"]["_teedataobject_traverse"].apply(null,arguments)};var _telldir=Module["_telldir"]=function(){return Module["asm"]["_telldir"].apply(null,arguments)};var _temper=Module["_temper"]=function(){return Module["asm"]["_temper"].apply(null,arguments)};var _tempnam=Module["_tempnam"]=function(){return Module["asm"]["_tempnam"].apply(null,arguments)};var _termCanDriveIndex=Module["_termCanDriveIndex"]=function(){return Module["asm"]["_termCanDriveIndex"].apply(null,arguments)};var _termIsEquivalence=Module["_termIsEquivalence"]=function(){return Module["asm"]["_termIsEquivalence"].apply(null,arguments)};var _ternary_op=Module["_ternary_op"]=function(){return Module["asm"]["_ternary_op"].apply(null,arguments)};var _testSetjmp=Module["_testSetjmp"]=function(){return Module["asm"]["_testSetjmp"].apply(null,arguments)};var _textdomain=Module["_textdomain"]=function(){return Module["asm"]["_textdomain"].apply(null,arguments)};var _textiobase_detach=Module["_textiobase_detach"]=function(){return Module["asm"]["_textiobase_detach"].apply(null,arguments)};var _textiobase_encoding_get=Module["_textiobase_encoding_get"]=function(){return Module["asm"]["_textiobase_encoding_get"].apply(null,arguments)};var _textiobase_errors_get=Module["_textiobase_errors_get"]=function(){return Module["asm"]["_textiobase_errors_get"].apply(null,arguments)};var _textiobase_newlines_get=Module["_textiobase_newlines_get"]=function(){return Module["asm"]["_textiobase_newlines_get"].apply(null,arguments)};var _textiobase_read=Module["_textiobase_read"]=function(){return Module["asm"]["_textiobase_read"].apply(null,arguments)};var _textiobase_readline=Module["_textiobase_readline"]=function(){return Module["asm"]["_textiobase_readline"].apply(null,arguments)};var _textiobase_write=Module["_textiobase_write"]=function(){return Module["asm"]["_textiobase_write"].apply(null,arguments)};var _textiowrapper_chunk_size_get=Module["_textiowrapper_chunk_size_get"]=function(){return Module["asm"]["_textiowrapper_chunk_size_get"].apply(null,arguments)};var _textiowrapper_chunk_size_set=Module["_textiowrapper_chunk_size_set"]=function(){return Module["asm"]["_textiowrapper_chunk_size_set"].apply(null,arguments)};var _textiowrapper_clear=Module["_textiowrapper_clear"]=function(){return Module["asm"]["_textiowrapper_clear"].apply(null,arguments)};var _textiowrapper_closed_get=Module["_textiowrapper_closed_get"]=function(){return Module["asm"]["_textiowrapper_closed_get"].apply(null,arguments)};var _textiowrapper_dealloc=Module["_textiowrapper_dealloc"]=function(){return Module["asm"]["_textiowrapper_dealloc"].apply(null,arguments)};var _textiowrapper_errors_get=Module["_textiowrapper_errors_get"]=function(){return Module["asm"]["_textiowrapper_errors_get"].apply(null,arguments)};var _textiowrapper_getstate=Module["_textiowrapper_getstate"]=function(){return Module["asm"]["_textiowrapper_getstate"].apply(null,arguments)};var _textiowrapper_iternext=Module["_textiowrapper_iternext"]=function(){return Module["asm"]["_textiowrapper_iternext"].apply(null,arguments)};var _textiowrapper_name_get=Module["_textiowrapper_name_get"]=function(){return Module["asm"]["_textiowrapper_name_get"].apply(null,arguments)};var _textiowrapper_newlines_get=Module["_textiowrapper_newlines_get"]=function(){return Module["asm"]["_textiowrapper_newlines_get"].apply(null,arguments)};var _textiowrapper_read_chunk=Module["_textiowrapper_read_chunk"]=function(){return Module["asm"]["_textiowrapper_read_chunk"].apply(null,arguments)};var _textiowrapper_repr=Module["_textiowrapper_repr"]=function(){return Module["asm"]["_textiowrapper_repr"].apply(null,arguments)};var _textiowrapper_traverse=Module["_textiowrapper_traverse"]=function(){return Module["asm"]["_textiowrapper_traverse"].apply(null,arguments)};var _tgamma=Module["_tgamma"]=function(){return Module["asm"]["_tgamma"].apply(null,arguments)};var _tgammaf=Module["_tgammaf"]=function(){return Module["asm"]["_tgammaf"].apply(null,arguments)};var _tgammal=Module["_tgammal"]=function(){return Module["asm"]["_tgammal"].apply(null,arguments)};var _thread_PyThread_allocate_lock=Module["_thread_PyThread_allocate_lock"]=function(){return Module["asm"]["_thread_PyThread_allocate_lock"].apply(null,arguments)};var _thread_PyThread_exit_thread=Module["_thread_PyThread_exit_thread"]=function(){return Module["asm"]["_thread_PyThread_exit_thread"].apply(null,arguments)};var _thread_PyThread_interrupt_main=Module["_thread_PyThread_interrupt_main"]=function(){return Module["asm"]["_thread_PyThread_interrupt_main"].apply(null,arguments)};var _thread_PyThread_start_new_thread=Module["_thread_PyThread_start_new_thread"]=function(){return Module["asm"]["_thread_PyThread_start_new_thread"].apply(null,arguments)};var _thread__count=Module["_thread__count"]=function(){return Module["asm"]["_thread__count"].apply(null,arguments)};var _thread__set_sentinel=Module["_thread__set_sentinel"]=function(){return Module["asm"]["_thread__set_sentinel"].apply(null,arguments)};var _thread_get_ident=Module["_thread_get_ident"]=function(){return Module["asm"]["_thread_get_ident"].apply(null,arguments)};var _thread_stack_size=Module["_thread_stack_size"]=function(){return Module["asm"]["_thread_stack_size"].apply(null,arguments)};var _threadstate_getframe=Module["_threadstate_getframe"]=function(){return Module["asm"]["_threadstate_getframe"].apply(null,arguments)};var _threebyte_memmem=Module["_threebyte_memmem"]=function(){return Module["asm"]["_threebyte_memmem"].apply(null,arguments)};var _threebyte_strstr=Module["_threebyte_strstr"]=function(){return Module["asm"]["_threebyte_strstr"].apply(null,arguments)};var _timeFunc=Module["_timeFunc"]=function(){return Module["asm"]["_timeFunc"].apply(null,arguments)};var _time_alloc=Module["_time_alloc"]=function(){return Module["asm"]["_time_alloc"].apply(null,arguments)};var _time_asctime=Module["_time_asctime"]=function(){return Module["asm"]["_time_asctime"].apply(null,arguments)};var _time_clock=Module["_time_clock"]=function(){return Module["asm"]["_time_clock"].apply(null,arguments)};var _time_clock_getres=Module["_time_clock_getres"]=function(){return Module["asm"]["_time_clock_getres"].apply(null,arguments)};var _time_clock_gettime=Module["_time_clock_gettime"]=function(){return Module["asm"]["_time_clock_gettime"].apply(null,arguments)};var _time_clock_gettime_ns=Module["_time_clock_gettime_ns"]=function(){return Module["asm"]["_time_clock_gettime_ns"].apply(null,arguments)};var _time_clock_settime=Module["_time_clock_settime"]=function(){return Module["asm"]["_time_clock_settime"].apply(null,arguments)};var _time_clock_settime_ns=Module["_time_clock_settime_ns"]=function(){return Module["asm"]["_time_clock_settime_ns"].apply(null,arguments)};var _time_ctime=Module["_time_ctime"]=function(){return Module["asm"]["_time_ctime"].apply(null,arguments)};var _time_dealloc=Module["_time_dealloc"]=function(){return Module["asm"]["_time_dealloc"].apply(null,arguments)};var _time_dst=Module["_time_dst"]=function(){return Module["asm"]["_time_dst"].apply(null,arguments)};var _time_fold=Module["_time_fold"]=function(){return Module["asm"]["_time_fold"].apply(null,arguments)};var _time_fromisoformat=Module["_time_fromisoformat"]=function(){return Module["asm"]["_time_fromisoformat"].apply(null,arguments)};var _time_get_clock_info=Module["_time_get_clock_info"]=function(){return Module["asm"]["_time_get_clock_info"].apply(null,arguments)};var _time_gmtime=Module["_time_gmtime"]=function(){return Module["asm"]["_time_gmtime"].apply(null,arguments)};var _time_hash=Module["_time_hash"]=function(){return Module["asm"]["_time_hash"].apply(null,arguments)};var _time_hour=Module["_time_hour"]=function(){return Module["asm"]["_time_hour"].apply(null,arguments)};var _time_isoformat=Module["_time_isoformat"]=function(){return Module["asm"]["_time_isoformat"].apply(null,arguments)};var _time_localtime=Module["_time_localtime"]=function(){return Module["asm"]["_time_localtime"].apply(null,arguments)};var _time_microsecond=Module["_time_microsecond"]=function(){return Module["asm"]["_time_microsecond"].apply(null,arguments)};var _time_minute=Module["_time_minute"]=function(){return Module["asm"]["_time_minute"].apply(null,arguments)};var _time_mktime=Module["_time_mktime"]=function(){return Module["asm"]["_time_mktime"].apply(null,arguments)};var _time_monotonic=Module["_time_monotonic"]=function(){return Module["asm"]["_time_monotonic"].apply(null,arguments)};var _time_monotonic_ns=Module["_time_monotonic_ns"]=function(){return Module["asm"]["_time_monotonic_ns"].apply(null,arguments)};var _time_new=Module["_time_new"]=function(){return Module["asm"]["_time_new"].apply(null,arguments)};var _time_perf_counter=Module["_time_perf_counter"]=function(){return Module["asm"]["_time_perf_counter"].apply(null,arguments)};var _time_perf_counter_ns=Module["_time_perf_counter_ns"]=function(){return Module["asm"]["_time_perf_counter_ns"].apply(null,arguments)};var _time_process_time=Module["_time_process_time"]=function(){return Module["asm"]["_time_process_time"].apply(null,arguments)};var _time_process_time_ns=Module["_time_process_time_ns"]=function(){return Module["asm"]["_time_process_time_ns"].apply(null,arguments)};var _time_reduce=Module["_time_reduce"]=function(){return Module["asm"]["_time_reduce"].apply(null,arguments)};var _time_reduce_ex=Module["_time_reduce_ex"]=function(){return Module["asm"]["_time_reduce_ex"].apply(null,arguments)};var _time_replace=Module["_time_replace"]=function(){return Module["asm"]["_time_replace"].apply(null,arguments)};var _time_repr=Module["_time_repr"]=function(){return Module["asm"]["_time_repr"].apply(null,arguments)};var _time_richcompare=Module["_time_richcompare"]=function(){return Module["asm"]["_time_richcompare"].apply(null,arguments)};var _time_sleep=Module["_time_sleep"]=function(){return Module["asm"]["_time_sleep"].apply(null,arguments)};var _time_str=Module["_time_str"]=function(){return Module["asm"]["_time_str"].apply(null,arguments)};var _time_strftime=Module["_time_strftime"]=function(){return Module["asm"]["_time_strftime"].apply(null,arguments)};var _time_strftime_11300=Module["_time_strftime_11300"]=function(){return Module["asm"]["_time_strftime_11300"].apply(null,arguments)};var _time_strptime=Module["_time_strptime"]=function(){return Module["asm"]["_time_strptime"].apply(null,arguments)};var _time_thread_time=Module["_time_thread_time"]=function(){return Module["asm"]["_time_thread_time"].apply(null,arguments)};var _time_thread_time_ns=Module["_time_thread_time_ns"]=function(){return Module["asm"]["_time_thread_time_ns"].apply(null,arguments)};var _time_time=Module["_time_time"]=function(){return Module["asm"]["_time_time"].apply(null,arguments)};var _time_time_ns=Module["_time_time_ns"]=function(){return Module["asm"]["_time_time_ns"].apply(null,arguments)};var _time_tzinfo=Module["_time_tzinfo"]=function(){return Module["asm"]["_time_tzinfo"].apply(null,arguments)};var _time_tzname=Module["_time_tzname"]=function(){return Module["asm"]["_time_tzname"].apply(null,arguments)};var _time_utcoffset=Module["_time_utcoffset"]=function(){return Module["asm"]["_time_utcoffset"].apply(null,arguments)};var _timezone_dealloc=Module["_timezone_dealloc"]=function(){return Module["asm"]["_timezone_dealloc"].apply(null,arguments)};var _timezone_dst=Module["_timezone_dst"]=function(){return Module["asm"]["_timezone_dst"].apply(null,arguments)};var _timezone_fromutc=Module["_timezone_fromutc"]=function(){return Module["asm"]["_timezone_fromutc"].apply(null,arguments)};var _timezone_getinitargs=Module["_timezone_getinitargs"]=function(){return Module["asm"]["_timezone_getinitargs"].apply(null,arguments)};var _timezone_hash=Module["_timezone_hash"]=function(){return Module["asm"]["_timezone_hash"].apply(null,arguments)};var _timezone_new=Module["_timezone_new"]=function(){return Module["asm"]["_timezone_new"].apply(null,arguments)};var _timezone_repr=Module["_timezone_repr"]=function(){return Module["asm"]["_timezone_repr"].apply(null,arguments)};var _timezone_richcompare=Module["_timezone_richcompare"]=function(){return Module["asm"]["_timezone_richcompare"].apply(null,arguments)};var _timezone_str=Module["_timezone_str"]=function(){return Module["asm"]["_timezone_str"].apply(null,arguments)};var _timezone_tzname=Module["_timezone_tzname"]=function(){return Module["asm"]["_timezone_tzname"].apply(null,arguments)};var _timezone_utcoffset=Module["_timezone_utcoffset"]=function(){return Module["asm"]["_timezone_utcoffset"].apply(null,arguments)};var _tmpfile=Module["_tmpfile"]=function(){return Module["asm"]["_tmpfile"].apply(null,arguments)};var _tmpnam=Module["_tmpnam"]=function(){return Module["asm"]["_tmpnam"].apply(null,arguments)};var _tmtotuple=Module["_tmtotuple"]=function(){return Module["asm"]["_tmtotuple"].apply(null,arguments)};var _to64=Module["_to64"]=function(){return Module["asm"]["_to64"].apply(null,arguments)};var _to64_39=Module["_to64_39"]=function(){return Module["asm"]["_to64_39"].apply(null,arguments)};var _to64_57=Module["_to64_57"]=function(){return Module["asm"]["_to64_57"].apply(null,arguments)};var _toascii=Module["_toascii"]=function(){return Module["asm"]["_toascii"].apply(null,arguments)};var _tok_nextc=Module["_tok_nextc"]=function(){return Module["asm"]["_tok_nextc"].apply(null,arguments)};var _tokenExpr=Module["_tokenExpr"]=function(){return Module["asm"]["_tokenExpr"].apply(null,arguments)};var _token_get_old_value=Module["_token_get_old_value"]=function(){return Module["asm"]["_token_get_old_value"].apply(null,arguments)};var _token_get_var=Module["_token_get_var"]=function(){return Module["asm"]["_token_get_var"].apply(null,arguments)};var _token_tp_clear=Module["_token_tp_clear"]=function(){return Module["asm"]["_token_tp_clear"].apply(null,arguments)};var _token_tp_dealloc=Module["_token_tp_dealloc"]=function(){return Module["asm"]["_token_tp_dealloc"].apply(null,arguments)};var _token_tp_new=Module["_token_tp_new"]=function(){return Module["asm"]["_token_tp_new"].apply(null,arguments)};var _token_tp_repr=Module["_token_tp_repr"]=function(){return Module["asm"]["_token_tp_repr"].apply(null,arguments)};var _token_tp_traverse=Module["_token_tp_traverse"]=function(){return Module["asm"]["_token_tp_traverse"].apply(null,arguments)};var _tolist_base=Module["_tolist_base"]=function(){return Module["asm"]["_tolist_base"].apply(null,arguments)};var _tolist_rec=Module["_tolist_rec"]=function(){return Module["asm"]["_tolist_rec"].apply(null,arguments)};var _tolower=Module["_tolower"]=function(){return Module["asm"]["_tolower"].apply(null,arguments)};var _tolower_l=Module["_tolower_l"]=function(){return Module["asm"]["_tolower_l"].apply(null,arguments)};var _totalFinalize=Module["_totalFinalize"]=function(){return Module["asm"]["_totalFinalize"].apply(null,arguments)};var _total_changes=Module["_total_changes"]=function(){return Module["asm"]["_total_changes"].apply(null,arguments)};var _toupper=Module["_toupper"]=function(){return Module["asm"]["_toupper"].apply(null,arguments)};var _toupper_l=Module["_toupper_l"]=function(){return Module["asm"]["_toupper_l"].apply(null,arguments)};var _towctrans=Module["_towctrans"]=function(){return Module["asm"]["_towctrans"].apply(null,arguments)};var _towctrans_l=Module["_towctrans_l"]=function(){return Module["asm"]["_towctrans_l"].apply(null,arguments)};var _towlower=Module["_towlower"]=function(){return Module["asm"]["_towlower"].apply(null,arguments)};var _towlower_l=Module["_towlower_l"]=function(){return Module["asm"]["_towlower_l"].apply(null,arguments)};var _towupper=Module["_towupper"]=function(){return Module["asm"]["_towupper"].apply(null,arguments)};var _towupper_l=Module["_towupper_l"]=function(){return Module["asm"]["_towupper_l"].apply(null,arguments)};var _tp_new_wrapper=Module["_tp_new_wrapper"]=function(){return Module["asm"]["_tp_new_wrapper"].apply(null,arguments)};var _trace_init=Module["_trace_init"]=function(){return Module["asm"]["_trace_init"].apply(null,arguments)};var _trace_trampoline=Module["_trace_trampoline"]=function(){return Module["asm"]["_trace_trampoline"].apply(null,arguments)};var _traceback_free_traceback=Module["_traceback_free_traceback"]=function(){return Module["asm"]["_traceback_free_traceback"].apply(null,arguments)};var _traceback_to_pyobject=Module["_traceback_to_pyobject"]=function(){return Module["asm"]["_traceback_to_pyobject"].apply(null,arguments)};var _tracemalloc_add_trace=Module["_tracemalloc_add_trace"]=function(){return Module["asm"]["_tracemalloc_add_trace"].apply(null,arguments)};var _tracemalloc_alloc_gil=Module["_tracemalloc_alloc_gil"]=function(){return Module["asm"]["_tracemalloc_alloc_gil"].apply(null,arguments)};var _tracemalloc_calloc_gil=Module["_tracemalloc_calloc_gil"]=function(){return Module["asm"]["_tracemalloc_calloc_gil"].apply(null,arguments)};var _tracemalloc_clear_filename=Module["_tracemalloc_clear_filename"]=function(){return Module["asm"]["_tracemalloc_clear_filename"].apply(null,arguments)};var _tracemalloc_free=Module["_tracemalloc_free"]=function(){return Module["asm"]["_tracemalloc_free"].apply(null,arguments)};var _tracemalloc_get_traces_fill=Module["_tracemalloc_get_traces_fill"]=function(){return Module["asm"]["_tracemalloc_get_traces_fill"].apply(null,arguments)};var _tracemalloc_init=Module["_tracemalloc_init"]=function(){return Module["asm"]["_tracemalloc_init"].apply(null,arguments)};var _tracemalloc_malloc_gil=Module["_tracemalloc_malloc_gil"]=function(){return Module["asm"]["_tracemalloc_malloc_gil"].apply(null,arguments)};var _tracemalloc_pyobject_decref_cb=Module["_tracemalloc_pyobject_decref_cb"]=function(){return Module["asm"]["_tracemalloc_pyobject_decref_cb"].apply(null,arguments)};var _tracemalloc_raw_calloc=Module["_tracemalloc_raw_calloc"]=function(){return Module["asm"]["_tracemalloc_raw_calloc"].apply(null,arguments)};var _tracemalloc_raw_malloc=Module["_tracemalloc_raw_malloc"]=function(){return Module["asm"]["_tracemalloc_raw_malloc"].apply(null,arguments)};var _tracemalloc_raw_realloc=Module["_tracemalloc_raw_realloc"]=function(){return Module["asm"]["_tracemalloc_raw_realloc"].apply(null,arguments)};var _tracemalloc_realloc=Module["_tracemalloc_realloc"]=function(){return Module["asm"]["_tracemalloc_realloc"].apply(null,arguments)};var _tracemalloc_realloc_gil=Module["_tracemalloc_realloc_gil"]=function(){return Module["asm"]["_tracemalloc_realloc_gil"].apply(null,arguments)};var _tracemalloc_start=Module["_tracemalloc_start"]=function(){return Module["asm"]["_tracemalloc_start"].apply(null,arguments)};var _tracemalloc_use_domain_cb=Module["_tracemalloc_use_domain_cb"]=function(){return Module["asm"]["_tracemalloc_use_domain_cb"].apply(null,arguments)};var _transferJoinMarkings=Module["_transferJoinMarkings"]=function(){return Module["asm"]["_transferJoinMarkings"].apply(null,arguments)};var _transferParseError=Module["_transferParseError"]=function(){return Module["asm"]["_transferParseError"].apply(null,arguments)};var _translateColumnToCopy=Module["_translateColumnToCopy"]=function(){return Module["asm"]["_translateColumnToCopy"].apply(null,arguments)};var _transpose_pow2=Module["_transpose_pow2"]=function(){return Module["asm"]["_transpose_pow2"].apply(null,arguments)};var _tre_add_tag_left=Module["_tre_add_tag_left"]=function(){return Module["asm"]["_tre_add_tag_left"].apply(null,arguments)};var _tre_add_tag_right=Module["_tre_add_tag_right"]=function(){return Module["asm"]["_tre_add_tag_right"].apply(null,arguments)};var _tre_add_tags=Module["_tre_add_tags"]=function(){return Module["asm"]["_tre_add_tags"].apply(null,arguments)};var _tre_ast_new_catenation=Module["_tre_ast_new_catenation"]=function(){return Module["asm"]["_tre_ast_new_catenation"].apply(null,arguments)};var _tre_ast_new_iter=Module["_tre_ast_new_iter"]=function(){return Module["asm"]["_tre_ast_new_iter"].apply(null,arguments)};var _tre_ast_new_literal=Module["_tre_ast_new_literal"]=function(){return Module["asm"]["_tre_ast_new_literal"].apply(null,arguments)};var _tre_ast_new_node=Module["_tre_ast_new_node"]=function(){return Module["asm"]["_tre_ast_new_node"].apply(null,arguments)};var _tre_ast_new_union=Module["_tre_ast_new_union"]=function(){return Module["asm"]["_tre_ast_new_union"].apply(null,arguments)};var _tre_ast_to_tnfa=Module["_tre_ast_to_tnfa"]=function(){return Module["asm"]["_tre_ast_to_tnfa"].apply(null,arguments)};var _tre_compare_lit=Module["_tre_compare_lit"]=function(){return Module["asm"]["_tre_compare_lit"].apply(null,arguments)};var _tre_compute_nfl=Module["_tre_compute_nfl"]=function(){return Module["asm"]["_tre_compute_nfl"].apply(null,arguments)};var _tre_copy_ast=Module["_tre_copy_ast"]=function(){return Module["asm"]["_tre_copy_ast"].apply(null,arguments)};var _tre_expand_ast=Module["_tre_expand_ast"]=function(){return Module["asm"]["_tre_expand_ast"].apply(null,arguments)};var _tre_expand_macro=Module["_tre_expand_macro"]=function(){return Module["asm"]["_tre_expand_macro"].apply(null,arguments)};var _tre_fill_pmatch=Module["_tre_fill_pmatch"]=function(){return Module["asm"]["_tre_fill_pmatch"].apply(null,arguments)};var _tre_make_trans=Module["_tre_make_trans"]=function(){return Module["asm"]["_tre_make_trans"].apply(null,arguments)};var _tre_match_empty=Module["_tre_match_empty"]=function(){return Module["asm"]["_tre_match_empty"].apply(null,arguments)};var _tre_neg_char_classes_match=Module["_tre_neg_char_classes_match"]=function(){return Module["asm"]["_tre_neg_char_classes_match"].apply(null,arguments)};var _tre_new_lit=Module["_tre_new_lit"]=function(){return Module["asm"]["_tre_new_lit"].apply(null,arguments)};var _tre_parse=Module["_tre_parse"]=function(){return Module["asm"]["_tre_parse"].apply(null,arguments)};var _tre_purge_regset=Module["_tre_purge_regset"]=function(){return Module["asm"]["_tre_purge_regset"].apply(null,arguments)};var _tre_set_empty=Module["_tre_set_empty"]=function(){return Module["asm"]["_tre_set_empty"].apply(null,arguments)};var _tre_set_one=Module["_tre_set_one"]=function(){return Module["asm"]["_tre_set_one"].apply(null,arguments)};var _tre_set_union=Module["_tre_set_union"]=function(){return Module["asm"]["_tre_set_union"].apply(null,arguments)};var _tre_stack_destroy=Module["_tre_stack_destroy"]=function(){return Module["asm"]["_tre_stack_destroy"].apply(null,arguments)};var _tre_stack_new=Module["_tre_stack_new"]=function(){return Module["asm"]["_tre_stack_new"].apply(null,arguments)};var _tre_stack_num_objects=Module["_tre_stack_num_objects"]=function(){return Module["asm"]["_tre_stack_num_objects"].apply(null,arguments)};var _tre_stack_pop_int=Module["_tre_stack_pop_int"]=function(){return Module["asm"]["_tre_stack_pop_int"].apply(null,arguments)};var _tre_stack_pop_voidptr=Module["_tre_stack_pop_voidptr"]=function(){return Module["asm"]["_tre_stack_pop_voidptr"].apply(null,arguments)};var _tre_stack_push=Module["_tre_stack_push"]=function(){return Module["asm"]["_tre_stack_push"].apply(null,arguments)};var _tre_stack_push_int=Module["_tre_stack_push_int"]=function(){return Module["asm"]["_tre_stack_push_int"].apply(null,arguments)};var _tre_stack_push_voidptr=Module["_tre_stack_push_voidptr"]=function(){return Module["asm"]["_tre_stack_push_voidptr"].apply(null,arguments)};var _tre_tag_order=Module["_tre_tag_order"]=function(){return Module["asm"]["_tre_tag_order"].apply(null,arguments)};var _tre_tnfa_run_backtrack=Module["_tre_tnfa_run_backtrack"]=function(){return Module["asm"]["_tre_tnfa_run_backtrack"].apply(null,arguments)};var _tre_tnfa_run_parallel=Module["_tre_tnfa_run_parallel"]=function(){return Module["asm"]["_tre_tnfa_run_parallel"].apply(null,arguments)};var _triggerSpanDup=Module["_triggerSpanDup"]=function(){return Module["asm"]["_triggerSpanDup"].apply(null,arguments)};var _triggerStepAllocate=Module["_triggerStepAllocate"]=function(){return Module["asm"]["_triggerStepAllocate"].apply(null,arguments)};var _trimFunc=Module["_trimFunc"]=function(){return Module["asm"]["_trimFunc"].apply(null,arguments)};var _trinkle=Module["_trinkle"]=function(){return Module["asm"]["_trinkle"].apply(null,arguments)};var _trip_signal=Module["_trip_signal"]=function(){return Module["asm"]["_trip_signal"].apply(null,arguments)};var _trunc=Module["_trunc"]=function(){return Module["asm"]["_trunc"].apply(null,arguments)};var _truncate=Module["_truncate"]=function(){return Module["asm"]["_truncate"].apply(null,arguments)};var _truncf=Module["_truncf"]=function(){return Module["asm"]["_truncf"].apply(null,arguments)};var _truncl=Module["_truncl"]=function(){return Module["asm"]["_truncl"].apply(null,arguments)};var _try_complex_special_method=Module["_try_complex_special_method"]=function(){return Module["asm"]["_try_complex_special_method"].apply(null,arguments)};var _try_realloc_chunk=Module["_try_realloc_chunk"]=function(){return Module["asm"]["_try_realloc_chunk"].apply(null,arguments)};var _tstate_delete_common=Module["_tstate_delete_common"]=function(){return Module["asm"]["_tstate_delete_common"].apply(null,arguments)};var _tt_cmap0_char_index=Module["_tt_cmap0_char_index"]=function(){return Module["asm"]["_tt_cmap0_char_index"].apply(null,arguments)};var _tt_cmap0_char_next=Module["_tt_cmap0_char_next"]=function(){return Module["asm"]["_tt_cmap0_char_next"].apply(null,arguments)};var _tt_cmap0_get_info=Module["_tt_cmap0_get_info"]=function(){return Module["asm"]["_tt_cmap0_get_info"].apply(null,arguments)};var _tt_cmap0_validate=Module["_tt_cmap0_validate"]=function(){return Module["asm"]["_tt_cmap0_validate"].apply(null,arguments)};var _tt_cmap10_char_index=Module["_tt_cmap10_char_index"]=function(){return Module["asm"]["_tt_cmap10_char_index"].apply(null,arguments)};var _tt_cmap10_char_next=Module["_tt_cmap10_char_next"]=function(){return Module["asm"]["_tt_cmap10_char_next"].apply(null,arguments)};var _tt_cmap10_get_info=Module["_tt_cmap10_get_info"]=function(){return Module["asm"]["_tt_cmap10_get_info"].apply(null,arguments)};var _tt_cmap10_validate=Module["_tt_cmap10_validate"]=function(){return Module["asm"]["_tt_cmap10_validate"].apply(null,arguments)};var _tt_cmap12_char_index=Module["_tt_cmap12_char_index"]=function(){return Module["asm"]["_tt_cmap12_char_index"].apply(null,arguments)};var _tt_cmap12_char_next=Module["_tt_cmap12_char_next"]=function(){return Module["asm"]["_tt_cmap12_char_next"].apply(null,arguments)};var _tt_cmap12_get_info=Module["_tt_cmap12_get_info"]=function(){return Module["asm"]["_tt_cmap12_get_info"].apply(null,arguments)};var _tt_cmap12_init=Module["_tt_cmap12_init"]=function(){return Module["asm"]["_tt_cmap12_init"].apply(null,arguments)};var _tt_cmap12_next=Module["_tt_cmap12_next"]=function(){return Module["asm"]["_tt_cmap12_next"].apply(null,arguments)};var _tt_cmap12_validate=Module["_tt_cmap12_validate"]=function(){return Module["asm"]["_tt_cmap12_validate"].apply(null,arguments)};var _tt_cmap13_char_index=Module["_tt_cmap13_char_index"]=function(){return Module["asm"]["_tt_cmap13_char_index"].apply(null,arguments)};var _tt_cmap13_char_next=Module["_tt_cmap13_char_next"]=function(){return Module["asm"]["_tt_cmap13_char_next"].apply(null,arguments)};var _tt_cmap13_get_info=Module["_tt_cmap13_get_info"]=function(){return Module["asm"]["_tt_cmap13_get_info"].apply(null,arguments)};var _tt_cmap13_init=Module["_tt_cmap13_init"]=function(){return Module["asm"]["_tt_cmap13_init"].apply(null,arguments)};var _tt_cmap13_validate=Module["_tt_cmap13_validate"]=function(){return Module["asm"]["_tt_cmap13_validate"].apply(null,arguments)};var _tt_cmap14_char_index=Module["_tt_cmap14_char_index"]=function(){return Module["asm"]["_tt_cmap14_char_index"].apply(null,arguments)};var _tt_cmap14_char_next=Module["_tt_cmap14_char_next"]=function(){return Module["asm"]["_tt_cmap14_char_next"].apply(null,arguments)};var _tt_cmap14_char_var_index=Module["_tt_cmap14_char_var_index"]=function(){return Module["asm"]["_tt_cmap14_char_var_index"].apply(null,arguments)};var _tt_cmap14_char_var_isdefault=Module["_tt_cmap14_char_var_isdefault"]=function(){return Module["asm"]["_tt_cmap14_char_var_isdefault"].apply(null,arguments)};var _tt_cmap14_char_variants=Module["_tt_cmap14_char_variants"]=function(){return Module["asm"]["_tt_cmap14_char_variants"].apply(null,arguments)};var _tt_cmap14_done=Module["_tt_cmap14_done"]=function(){return Module["asm"]["_tt_cmap14_done"].apply(null,arguments)};var _tt_cmap14_get_info=Module["_tt_cmap14_get_info"]=function(){return Module["asm"]["_tt_cmap14_get_info"].apply(null,arguments)};var _tt_cmap14_init=Module["_tt_cmap14_init"]=function(){return Module["asm"]["_tt_cmap14_init"].apply(null,arguments)};var _tt_cmap14_validate=Module["_tt_cmap14_validate"]=function(){return Module["asm"]["_tt_cmap14_validate"].apply(null,arguments)};var _tt_cmap14_variant_chars=Module["_tt_cmap14_variant_chars"]=function(){return Module["asm"]["_tt_cmap14_variant_chars"].apply(null,arguments)};var _tt_cmap14_variants=Module["_tt_cmap14_variants"]=function(){return Module["asm"]["_tt_cmap14_variants"].apply(null,arguments)};var _tt_cmap2_char_index=Module["_tt_cmap2_char_index"]=function(){return Module["asm"]["_tt_cmap2_char_index"].apply(null,arguments)};var _tt_cmap2_char_next=Module["_tt_cmap2_char_next"]=function(){return Module["asm"]["_tt_cmap2_char_next"].apply(null,arguments)};var _tt_cmap2_get_info=Module["_tt_cmap2_get_info"]=function(){return Module["asm"]["_tt_cmap2_get_info"].apply(null,arguments)};var _tt_cmap2_validate=Module["_tt_cmap2_validate"]=function(){return Module["asm"]["_tt_cmap2_validate"].apply(null,arguments)};var _tt_cmap4_char_index=Module["_tt_cmap4_char_index"]=function(){return Module["asm"]["_tt_cmap4_char_index"].apply(null,arguments)};var _tt_cmap4_char_map_binary=Module["_tt_cmap4_char_map_binary"]=function(){return Module["asm"]["_tt_cmap4_char_map_binary"].apply(null,arguments)};var _tt_cmap4_char_map_linear=Module["_tt_cmap4_char_map_linear"]=function(){return Module["asm"]["_tt_cmap4_char_map_linear"].apply(null,arguments)};var _tt_cmap4_char_next=Module["_tt_cmap4_char_next"]=function(){return Module["asm"]["_tt_cmap4_char_next"].apply(null,arguments)};var _tt_cmap4_get_info=Module["_tt_cmap4_get_info"]=function(){return Module["asm"]["_tt_cmap4_get_info"].apply(null,arguments)};var _tt_cmap4_init=Module["_tt_cmap4_init"]=function(){return Module["asm"]["_tt_cmap4_init"].apply(null,arguments)};var _tt_cmap4_next=Module["_tt_cmap4_next"]=function(){return Module["asm"]["_tt_cmap4_next"].apply(null,arguments)};var _tt_cmap4_validate=Module["_tt_cmap4_validate"]=function(){return Module["asm"]["_tt_cmap4_validate"].apply(null,arguments)};var _tt_cmap6_char_index=Module["_tt_cmap6_char_index"]=function(){return Module["asm"]["_tt_cmap6_char_index"].apply(null,arguments)};var _tt_cmap6_char_next=Module["_tt_cmap6_char_next"]=function(){return Module["asm"]["_tt_cmap6_char_next"].apply(null,arguments)};var _tt_cmap6_get_info=Module["_tt_cmap6_get_info"]=function(){return Module["asm"]["_tt_cmap6_get_info"].apply(null,arguments)};var _tt_cmap6_validate=Module["_tt_cmap6_validate"]=function(){return Module["asm"]["_tt_cmap6_validate"].apply(null,arguments)};var _tt_cmap8_char_index=Module["_tt_cmap8_char_index"]=function(){return Module["asm"]["_tt_cmap8_char_index"].apply(null,arguments)};var _tt_cmap8_char_next=Module["_tt_cmap8_char_next"]=function(){return Module["asm"]["_tt_cmap8_char_next"].apply(null,arguments)};var _tt_cmap8_get_info=Module["_tt_cmap8_get_info"]=function(){return Module["asm"]["_tt_cmap8_get_info"].apply(null,arguments)};var _tt_cmap8_validate=Module["_tt_cmap8_validate"]=function(){return Module["asm"]["_tt_cmap8_validate"].apply(null,arguments)};var _tt_cmap_init=Module["_tt_cmap_init"]=function(){return Module["asm"]["_tt_cmap_init"].apply(null,arguments)};var _tt_delta_interpolate=Module["_tt_delta_interpolate"]=function(){return Module["asm"]["_tt_delta_interpolate"].apply(null,arguments)};var _tt_driver_done=Module["_tt_driver_done"]=function(){return Module["asm"]["_tt_driver_done"].apply(null,arguments)};var _tt_driver_init=Module["_tt_driver_init"]=function(){return Module["asm"]["_tt_driver_init"].apply(null,arguments)};var _tt_face_build_cmaps=Module["_tt_face_build_cmaps"]=function(){return Module["asm"]["_tt_face_build_cmaps"].apply(null,arguments)};var _tt_face_done=Module["_tt_face_done"]=function(){return Module["asm"]["_tt_face_done"].apply(null,arguments)};var _tt_face_find_bdf_prop=Module["_tt_face_find_bdf_prop"]=function(){return Module["asm"]["_tt_face_find_bdf_prop"].apply(null,arguments)};var _tt_face_free_name=Module["_tt_face_free_name"]=function(){return Module["asm"]["_tt_face_free_name"].apply(null,arguments)};var _tt_face_free_ps_names=Module["_tt_face_free_ps_names"]=function(){return Module["asm"]["_tt_face_free_ps_names"].apply(null,arguments)};var _tt_face_free_sbit=Module["_tt_face_free_sbit"]=function(){return Module["asm"]["_tt_face_free_sbit"].apply(null,arguments)};var _tt_face_get_kerning=Module["_tt_face_get_kerning"]=function(){return Module["asm"]["_tt_face_get_kerning"].apply(null,arguments)};var _tt_face_get_location=Module["_tt_face_get_location"]=function(){return Module["asm"]["_tt_face_get_location"].apply(null,arguments)};var _tt_face_get_metrics=Module["_tt_face_get_metrics"]=function(){return Module["asm"]["_tt_face_get_metrics"].apply(null,arguments)};var _tt_face_get_name=Module["_tt_face_get_name"]=function(){return Module["asm"]["_tt_face_get_name"].apply(null,arguments)};var _tt_face_get_ps_name=Module["_tt_face_get_ps_name"]=function(){return Module["asm"]["_tt_face_get_ps_name"].apply(null,arguments)};var _tt_face_goto_table=Module["_tt_face_goto_table"]=function(){return Module["asm"]["_tt_face_goto_table"].apply(null,arguments)};var _tt_face_init=Module["_tt_face_init"]=function(){return Module["asm"]["_tt_face_init"].apply(null,arguments)};var _tt_face_load_any=Module["_tt_face_load_any"]=function(){return Module["asm"]["_tt_face_load_any"].apply(null,arguments)};var _tt_face_load_bhed=Module["_tt_face_load_bhed"]=function(){return Module["asm"]["_tt_face_load_bhed"].apply(null,arguments)};var _tt_face_load_cmap=Module["_tt_face_load_cmap"]=function(){return Module["asm"]["_tt_face_load_cmap"].apply(null,arguments)};var _tt_face_load_cvt=Module["_tt_face_load_cvt"]=function(){return Module["asm"]["_tt_face_load_cvt"].apply(null,arguments)};var _tt_face_load_font_dir=Module["_tt_face_load_font_dir"]=function(){return Module["asm"]["_tt_face_load_font_dir"].apply(null,arguments)};var _tt_face_load_gasp=Module["_tt_face_load_gasp"]=function(){return Module["asm"]["_tt_face_load_gasp"].apply(null,arguments)};var _tt_face_load_head=Module["_tt_face_load_head"]=function(){return Module["asm"]["_tt_face_load_head"].apply(null,arguments)};var _tt_face_load_hhea=Module["_tt_face_load_hhea"]=function(){return Module["asm"]["_tt_face_load_hhea"].apply(null,arguments)};var _tt_face_load_hmtx=Module["_tt_face_load_hmtx"]=function(){return Module["asm"]["_tt_face_load_hmtx"].apply(null,arguments)};var _tt_face_load_kern=Module["_tt_face_load_kern"]=function(){return Module["asm"]["_tt_face_load_kern"].apply(null,arguments)};var _tt_face_load_maxp=Module["_tt_face_load_maxp"]=function(){return Module["asm"]["_tt_face_load_maxp"].apply(null,arguments)};var _tt_face_load_name=Module["_tt_face_load_name"]=function(){return Module["asm"]["_tt_face_load_name"].apply(null,arguments)};var _tt_face_load_os2=Module["_tt_face_load_os2"]=function(){return Module["asm"]["_tt_face_load_os2"].apply(null,arguments)};var _tt_face_load_pclt=Module["_tt_face_load_pclt"]=function(){return Module["asm"]["_tt_face_load_pclt"].apply(null,arguments)};var _tt_face_load_post=Module["_tt_face_load_post"]=function(){return Module["asm"]["_tt_face_load_post"].apply(null,arguments)};var _tt_face_load_sbit=Module["_tt_face_load_sbit"]=function(){return Module["asm"]["_tt_face_load_sbit"].apply(null,arguments)};var _tt_face_load_sbit_image=Module["_tt_face_load_sbit_image"]=function(){return Module["asm"]["_tt_face_load_sbit_image"].apply(null,arguments)};var _tt_face_load_strike_metrics=Module["_tt_face_load_strike_metrics"]=function(){return Module["asm"]["_tt_face_load_strike_metrics"].apply(null,arguments)};var _tt_face_set_sbit_strike=Module["_tt_face_set_sbit_strike"]=function(){return Module["asm"]["_tt_face_set_sbit_strike"].apply(null,arguments)};var _tt_face_vary_cvt=Module["_tt_face_vary_cvt"]=function(){return Module["asm"]["_tt_face_vary_cvt"].apply(null,arguments)};var _tt_get_advances=Module["_tt_get_advances"]=function(){return Module["asm"]["_tt_get_advances"].apply(null,arguments)};var _tt_get_cmap_info=Module["_tt_get_cmap_info"]=function(){return Module["asm"]["_tt_get_cmap_info"].apply(null,arguments)};var _tt_get_interface=Module["_tt_get_interface"]=function(){return Module["asm"]["_tt_get_interface"].apply(null,arguments)};var _tt_get_kerning=Module["_tt_get_kerning"]=function(){return Module["asm"]["_tt_get_kerning"].apply(null,arguments)};var _tt_get_metrics=Module["_tt_get_metrics"]=function(){return Module["asm"]["_tt_get_metrics"].apply(null,arguments)};var _tt_glyph_load=Module["_tt_glyph_load"]=function(){return Module["asm"]["_tt_glyph_load"].apply(null,arguments)};var _tt_name_entry_ascii_from_other=Module["_tt_name_entry_ascii_from_other"]=function(){return Module["asm"]["_tt_name_entry_ascii_from_other"].apply(null,arguments)};var _tt_name_entry_ascii_from_utf16=Module["_tt_name_entry_ascii_from_utf16"]=function(){return Module["asm"]["_tt_name_entry_ascii_from_utf16"].apply(null,arguments)};var _tt_property_get=Module["_tt_property_get"]=function(){return Module["asm"]["_tt_property_get"].apply(null,arguments)};var _tt_property_set=Module["_tt_property_set"]=function(){return Module["asm"]["_tt_property_set"].apply(null,arguments)};var _tt_sbit_decoder_load_bit_aligned=Module["_tt_sbit_decoder_load_bit_aligned"]=function(){return Module["asm"]["_tt_sbit_decoder_load_bit_aligned"].apply(null,arguments)};var _tt_sbit_decoder_load_byte_aligned=Module["_tt_sbit_decoder_load_byte_aligned"]=function(){return Module["asm"]["_tt_sbit_decoder_load_byte_aligned"].apply(null,arguments)};var _tt_sbit_decoder_load_compound=Module["_tt_sbit_decoder_load_compound"]=function(){return Module["asm"]["_tt_sbit_decoder_load_compound"].apply(null,arguments)};var _tt_sbit_decoder_load_image=Module["_tt_sbit_decoder_load_image"]=function(){return Module["asm"]["_tt_sbit_decoder_load_image"].apply(null,arguments)};var _tt_size_done=Module["_tt_size_done"]=function(){return Module["asm"]["_tt_size_done"].apply(null,arguments)};var _tt_size_done_bytecode=Module["_tt_size_done_bytecode"]=function(){return Module["asm"]["_tt_size_done_bytecode"].apply(null,arguments)};var _tt_size_init=Module["_tt_size_init"]=function(){return Module["asm"]["_tt_size_init"].apply(null,arguments)};var _tt_size_request=Module["_tt_size_request"]=function(){return Module["asm"]["_tt_size_request"].apply(null,arguments)};var _tt_size_reset=Module["_tt_size_reset"]=function(){return Module["asm"]["_tt_size_reset"].apply(null,arguments)};var _tt_size_run_prep=Module["_tt_size_run_prep"]=function(){return Module["asm"]["_tt_size_run_prep"].apply(null,arguments)};var _tt_size_select=Module["_tt_size_select"]=function(){return Module["asm"]["_tt_size_select"].apply(null,arguments)};var _tt_slot_init=Module["_tt_slot_init"]=function(){return Module["asm"]["_tt_slot_init"].apply(null,arguments)};var _ttyname=Module["_ttyname"]=function(){return Module["asm"]["_ttyname"].apply(null,arguments)};var _ttyname_r=Module["_ttyname_r"]=function(){return Module["asm"]["_ttyname_r"].apply(null,arguments)};var _tuple___getnewargs__=Module["_tuple___getnewargs__"]=function(){return Module["asm"]["_tuple___getnewargs__"].apply(null,arguments)};var _tuple_count=Module["_tuple_count"]=function(){return Module["asm"]["_tuple_count"].apply(null,arguments)};var _tuple_index=Module["_tuple_index"]=function(){return Module["asm"]["_tuple_index"].apply(null,arguments)};var _tuple_iter=Module["_tuple_iter"]=function(){return Module["asm"]["_tuple_iter"].apply(null,arguments)};var _tuple_new=Module["_tuple_new"]=function(){return Module["asm"]["_tuple_new"].apply(null,arguments)};var _tupleconcat=Module["_tupleconcat"]=function(){return Module["asm"]["_tupleconcat"].apply(null,arguments)};var _tuplecontains=Module["_tuplecontains"]=function(){return Module["asm"]["_tuplecontains"].apply(null,arguments)};var _tupledealloc=Module["_tupledealloc"]=function(){return Module["asm"]["_tupledealloc"].apply(null,arguments)};var _tuplehash=Module["_tuplehash"]=function(){return Module["asm"]["_tuplehash"].apply(null,arguments)};var _tupleitem=Module["_tupleitem"]=function(){return Module["asm"]["_tupleitem"].apply(null,arguments)};var _tupleiter_dealloc=Module["_tupleiter_dealloc"]=function(){return Module["asm"]["_tupleiter_dealloc"].apply(null,arguments)};var _tupleiter_len=Module["_tupleiter_len"]=function(){return Module["asm"]["_tupleiter_len"].apply(null,arguments)};var _tupleiter_next=Module["_tupleiter_next"]=function(){return Module["asm"]["_tupleiter_next"].apply(null,arguments)};var _tupleiter_reduce=Module["_tupleiter_reduce"]=function(){return Module["asm"]["_tupleiter_reduce"].apply(null,arguments)};var _tupleiter_setstate=Module["_tupleiter_setstate"]=function(){return Module["asm"]["_tupleiter_setstate"].apply(null,arguments)};var _tupleiter_traverse=Module["_tupleiter_traverse"]=function(){return Module["asm"]["_tupleiter_traverse"].apply(null,arguments)};var _tuplelength=Module["_tuplelength"]=function(){return Module["asm"]["_tuplelength"].apply(null,arguments)};var _tuplerepeat=Module["_tuplerepeat"]=function(){return Module["asm"]["_tuplerepeat"].apply(null,arguments)};var _tuplerepr=Module["_tuplerepr"]=function(){return Module["asm"]["_tuplerepr"].apply(null,arguments)};var _tuplerichcompare=Module["_tuplerichcompare"]=function(){return Module["asm"]["_tuplerichcompare"].apply(null,arguments)};var _tuplesubscript=Module["_tuplesubscript"]=function(){return Module["asm"]["_tuplesubscript"].apply(null,arguments)};var _tupletraverse=Module["_tupletraverse"]=function(){return Module["asm"]["_tupletraverse"].apply(null,arguments)};var _twobyte_memmem=Module["_twobyte_memmem"]=function(){return Module["asm"]["_twobyte_memmem"].apply(null,arguments)};var _twobyte_strstr=Module["_twobyte_strstr"]=function(){return Module["asm"]["_twobyte_strstr"].apply(null,arguments)};var _twoway_memmem=Module["_twoway_memmem"]=function(){return Module["asm"]["_twoway_memmem"].apply(null,arguments)};var _twoway_strstr=Module["_twoway_strstr"]=function(){return Module["asm"]["_twoway_strstr"].apply(null,arguments)};var _twoway_wcsstr=Module["_twoway_wcsstr"]=function(){return Module["asm"]["_twoway_wcsstr"].apply(null,arguments)};var _type___dir__=Module["_type___dir__"]=function(){return Module["asm"]["_type___dir__"].apply(null,arguments)};var _type___instancecheck__=Module["_type___instancecheck__"]=function(){return Module["asm"]["_type___instancecheck__"].apply(null,arguments)};var _type___sizeof__=Module["_type___sizeof__"]=function(){return Module["asm"]["_type___sizeof__"].apply(null,arguments)};var _type___subclasscheck__=Module["_type___subclasscheck__"]=function(){return Module["asm"]["_type___subclasscheck__"].apply(null,arguments)};var _type___subclasses__=Module["_type___subclasses__"]=function(){return Module["asm"]["_type___subclasses__"].apply(null,arguments)};var _type___subclasses___impl=Module["_type___subclasses___impl"]=function(){return Module["asm"]["_type___subclasses___impl"].apply(null,arguments)};var _type_abstractmethods=Module["_type_abstractmethods"]=function(){return Module["asm"]["_type_abstractmethods"].apply(null,arguments)};var _type_call=Module["_type_call"]=function(){return Module["asm"]["_type_call"].apply(null,arguments)};var _type_clear=Module["_type_clear"]=function(){return Module["asm"]["_type_clear"].apply(null,arguments)};var _type_dealloc=Module["_type_dealloc"]=function(){return Module["asm"]["_type_dealloc"].apply(null,arguments)};var _type_dict=Module["_type_dict"]=function(){return Module["asm"]["_type_dict"].apply(null,arguments)};var _type_get_bases=Module["_type_get_bases"]=function(){return Module["asm"]["_type_get_bases"].apply(null,arguments)};var _type_get_doc=Module["_type_get_doc"]=function(){return Module["asm"]["_type_get_doc"].apply(null,arguments)};var _type_get_text_signature=Module["_type_get_text_signature"]=function(){return Module["asm"]["_type_get_text_signature"].apply(null,arguments)};var _type_getattro=Module["_type_getattro"]=function(){return Module["asm"]["_type_getattro"].apply(null,arguments)};var _type_init=Module["_type_init"]=function(){return Module["asm"]["_type_init"].apply(null,arguments)};var _type_is_gc=Module["_type_is_gc"]=function(){return Module["asm"]["_type_is_gc"].apply(null,arguments)};var _type_module=Module["_type_module"]=function(){return Module["asm"]["_type_module"].apply(null,arguments)};var _type_mro=Module["_type_mro"]=function(){return Module["asm"]["_type_mro"].apply(null,arguments)};var _type_name=Module["_type_name"]=function(){return Module["asm"]["_type_name"].apply(null,arguments)};var _type_new=Module["_type_new"]=function(){return Module["asm"]["_type_new"].apply(null,arguments)};var _type_prepare=Module["_type_prepare"]=function(){return Module["asm"]["_type_prepare"].apply(null,arguments)};var _type_qualname=Module["_type_qualname"]=function(){return Module["asm"]["_type_qualname"].apply(null,arguments)};var _type_repr=Module["_type_repr"]=function(){return Module["asm"]["_type_repr"].apply(null,arguments)};var _type_set_abstractmethods=Module["_type_set_abstractmethods"]=function(){return Module["asm"]["_type_set_abstractmethods"].apply(null,arguments)};var _type_set_bases=Module["_type_set_bases"]=function(){return Module["asm"]["_type_set_bases"].apply(null,arguments)};var _type_set_doc=Module["_type_set_doc"]=function(){return Module["asm"]["_type_set_doc"].apply(null,arguments)};var _type_set_module=Module["_type_set_module"]=function(){return Module["asm"]["_type_set_module"].apply(null,arguments)};var _type_set_name=Module["_type_set_name"]=function(){return Module["asm"]["_type_set_name"].apply(null,arguments)};var _type_set_qualname=Module["_type_set_qualname"]=function(){return Module["asm"]["_type_set_qualname"].apply(null,arguments)};var _type_setattro=Module["_type_setattro"]=function(){return Module["asm"]["_type_setattro"].apply(null,arguments)};var _type_traverse=Module["_type_traverse"]=function(){return Module["asm"]["_type_traverse"].apply(null,arguments)};var _typecode_to_mformat_code=Module["_typecode_to_mformat_code"]=function(){return Module["asm"]["_typecode_to_mformat_code"].apply(null,arguments)};var _typeofFunc=Module["_typeofFunc"]=function(){return Module["asm"]["_typeofFunc"].apply(null,arguments)};var _tzinfo_dst=Module["_tzinfo_dst"]=function(){return Module["asm"]["_tzinfo_dst"].apply(null,arguments)};var _tzinfo_from_isoformat_results=Module["_tzinfo_from_isoformat_results"]=function(){return Module["asm"]["_tzinfo_from_isoformat_results"].apply(null,arguments)};var _tzinfo_fromutc=Module["_tzinfo_fromutc"]=function(){return Module["asm"]["_tzinfo_fromutc"].apply(null,arguments)};var _tzinfo_reduce=Module["_tzinfo_reduce"]=function(){return Module["asm"]["_tzinfo_reduce"].apply(null,arguments)};var _tzinfo_tzname=Module["_tzinfo_tzname"]=function(){return Module["asm"]["_tzinfo_tzname"].apply(null,arguments)};var _tzinfo_utcoffset=Module["_tzinfo_utcoffset"]=function(){return Module["asm"]["_tzinfo_utcoffset"].apply(null,arguments)};var _u_compareitems=Module["_u_compareitems"]=function(){return Module["asm"]["_u_compareitems"].apply(null,arguments)};var _u_getitem=Module["_u_getitem"]=function(){return Module["asm"]["_u_getitem"].apply(null,arguments)};var _u_setitem=Module["_u_setitem"]=function(){return Module["asm"]["_u_setitem"].apply(null,arguments)};var _ualarm=Module["_ualarm"]=function(){return Module["asm"]["_ualarm"].apply(null,arguments)};var _ucs1lib_fastsearch=Module["_ucs1lib_fastsearch"]=function(){return Module["asm"]["_ucs1lib_fastsearch"].apply(null,arguments)};var _ucs2lib_fastsearch=Module["_ucs2lib_fastsearch"]=function(){return Module["asm"]["_ucs2lib_fastsearch"].apply(null,arguments)};var _ucs2lib_find_char=Module["_ucs2lib_find_char"]=function(){return Module["asm"]["_ucs2lib_find_char"].apply(null,arguments)};var _ucs4lib_fastsearch=Module["_ucs4lib_fastsearch"]=function(){return Module["asm"]["_ucs4lib_fastsearch"].apply(null,arguments)};var _ucs4lib_find=Module["_ucs4lib_find"]=function(){return Module["asm"]["_ucs4lib_find"].apply(null,arguments)};var _ucs4lib_find_char=Module["_ucs4lib_find_char"]=function(){return Module["asm"]["_ucs4lib_find_char"].apply(null,arguments)};var _ucs4lib_utf8_decode=Module["_ucs4lib_utf8_decode"]=function(){return Module["asm"]["_ucs4lib_utf8_decode"].apply(null,arguments)};var _umask=Module["_umask"]=function(){return Module["asm"]["_umask"].apply(null,arguments)};var _uname=Module["_uname"]=function(){return Module["asm"]["_uname"].apply(null,arguments)};var _unary_not=Module["_unary_not"]=function(){return Module["asm"]["_unary_not"].apply(null,arguments)};var _uncached_lru_cache_wrapper=Module["_uncached_lru_cache_wrapper"]=function(){return Module["asm"]["_uncached_lru_cache_wrapper"].apply(null,arguments)};var _uncompress=Module["_uncompress"]=function(){return Module["asm"]["_uncompress"].apply(null,arguments)};var _ungetc=Module["_ungetc"]=function(){return Module["asm"]["_ungetc"].apply(null,arguments)};var _ungetwc=Module["_ungetwc"]=function(){return Module["asm"]["_ungetwc"].apply(null,arguments)};var _unicodeAddExceptions=Module["_unicodeAddExceptions"]=function(){return Module["asm"]["_unicodeAddExceptions"].apply(null,arguments)};var _unicodeClose=Module["_unicodeClose"]=function(){return Module["asm"]["_unicodeClose"].apply(null,arguments)};var _unicodeCreate=Module["_unicodeCreate"]=function(){return Module["asm"]["_unicodeCreate"].apply(null,arguments)};var _unicodeDestroy=Module["_unicodeDestroy"]=function(){return Module["asm"]["_unicodeDestroy"].apply(null,arguments)};var _unicodeFunc=Module["_unicodeFunc"]=function(){return Module["asm"]["_unicodeFunc"].apply(null,arguments)};var _unicodeIsAlnum=Module["_unicodeIsAlnum"]=function(){return Module["asm"]["_unicodeIsAlnum"].apply(null,arguments)};var _unicodeIsException=Module["_unicodeIsException"]=function(){return Module["asm"]["_unicodeIsException"].apply(null,arguments)};var _unicodeNext=Module["_unicodeNext"]=function(){return Module["asm"]["_unicodeNext"].apply(null,arguments)};var _unicodeOpen=Module["_unicodeOpen"]=function(){return Module["asm"]["_unicodeOpen"].apply(null,arguments)};var _unicodeSetCategories=Module["_unicodeSetCategories"]=function(){return Module["asm"]["_unicodeSetCategories"].apply(null,arguments)};var _unicode___format__=Module["_unicode___format__"]=function(){return Module["asm"]["_unicode___format__"].apply(null,arguments)};var _unicode_capitalize=Module["_unicode_capitalize"]=function(){return Module["asm"]["_unicode_capitalize"].apply(null,arguments)};var _unicode_casefold=Module["_unicode_casefold"]=function(){return Module["asm"]["_unicode_casefold"].apply(null,arguments)};var _unicode_center=Module["_unicode_center"]=function(){return Module["asm"]["_unicode_center"].apply(null,arguments)};var _unicode_compare=Module["_unicode_compare"]=function(){return Module["asm"]["_unicode_compare"].apply(null,arguments)};var _unicode_concatenate=Module["_unicode_concatenate"]=function(){return Module["asm"]["_unicode_concatenate"].apply(null,arguments)};var _unicode_count=Module["_unicode_count"]=function(){return Module["asm"]["_unicode_count"].apply(null,arguments)};var _unicode_dealloc=Module["_unicode_dealloc"]=function(){return Module["asm"]["_unicode_dealloc"].apply(null,arguments)};var _unicode_decode_call_errorhandler_writer=Module["_unicode_decode_call_errorhandler_writer"]=function(){return Module["asm"]["_unicode_decode_call_errorhandler_writer"].apply(null,arguments)};var _unicode_decode_locale=Module["_unicode_decode_locale"]=function(){return Module["asm"]["_unicode_decode_locale"].apply(null,arguments)};var _unicode_encode=Module["_unicode_encode"]=function(){return Module["asm"]["_unicode_encode"].apply(null,arguments)};var _unicode_encode_call_errorhandler=Module["_unicode_encode_call_errorhandler"]=function(){return Module["asm"]["_unicode_encode_call_errorhandler"].apply(null,arguments)};var _unicode_encode_locale=Module["_unicode_encode_locale"]=function(){return Module["asm"]["_unicode_encode_locale"].apply(null,arguments)};var _unicode_encode_ucs1=Module["_unicode_encode_ucs1"]=function(){return Module["asm"]["_unicode_encode_ucs1"].apply(null,arguments)};var _unicode_endswith=Module["_unicode_endswith"]=function(){return Module["asm"]["_unicode_endswith"].apply(null,arguments)};var _unicode_expandtabs=Module["_unicode_expandtabs"]=function(){return Module["asm"]["_unicode_expandtabs"].apply(null,arguments)};var _unicode_find=Module["_unicode_find"]=function(){return Module["asm"]["_unicode_find"].apply(null,arguments)};var _unicode_fromformat_write_str=Module["_unicode_fromformat_write_str"]=function(){return Module["asm"]["_unicode_fromformat_write_str"].apply(null,arguments)};var _unicode_getitem=Module["_unicode_getitem"]=function(){return Module["asm"]["_unicode_getitem"].apply(null,arguments)};var _unicode_getnewargs=Module["_unicode_getnewargs"]=function(){return Module["asm"]["_unicode_getnewargs"].apply(null,arguments)};var _unicode_hash=Module["_unicode_hash"]=function(){return Module["asm"]["_unicode_hash"].apply(null,arguments)};var _unicode_index=Module["_unicode_index"]=function(){return Module["asm"]["_unicode_index"].apply(null,arguments)};var _unicode_isalnum=Module["_unicode_isalnum"]=function(){return Module["asm"]["_unicode_isalnum"].apply(null,arguments)};var _unicode_isalpha=Module["_unicode_isalpha"]=function(){return Module["asm"]["_unicode_isalpha"].apply(null,arguments)};var _unicode_isascii=Module["_unicode_isascii"]=function(){return Module["asm"]["_unicode_isascii"].apply(null,arguments)};var _unicode_isdecimal=Module["_unicode_isdecimal"]=function(){return Module["asm"]["_unicode_isdecimal"].apply(null,arguments)};var _unicode_isdigit=Module["_unicode_isdigit"]=function(){return Module["asm"]["_unicode_isdigit"].apply(null,arguments)};var _unicode_isidentifier=Module["_unicode_isidentifier"]=function(){return Module["asm"]["_unicode_isidentifier"].apply(null,arguments)};var _unicode_islower=Module["_unicode_islower"]=function(){return Module["asm"]["_unicode_islower"].apply(null,arguments)};var _unicode_isnumeric=Module["_unicode_isnumeric"]=function(){return Module["asm"]["_unicode_isnumeric"].apply(null,arguments)};var _unicode_isprintable=Module["_unicode_isprintable"]=function(){return Module["asm"]["_unicode_isprintable"].apply(null,arguments)};var _unicode_isspace=Module["_unicode_isspace"]=function(){return Module["asm"]["_unicode_isspace"].apply(null,arguments)};var _unicode_istitle=Module["_unicode_istitle"]=function(){return Module["asm"]["_unicode_istitle"].apply(null,arguments)};var _unicode_isupper=Module["_unicode_isupper"]=function(){return Module["asm"]["_unicode_isupper"].apply(null,arguments)};var _unicode_iter=Module["_unicode_iter"]=function(){return Module["asm"]["_unicode_iter"].apply(null,arguments)};var _unicode_join=Module["_unicode_join"]=function(){return Module["asm"]["_unicode_join"].apply(null,arguments)};var _unicode_length=Module["_unicode_length"]=function(){return Module["asm"]["_unicode_length"].apply(null,arguments)};var _unicode_ljust=Module["_unicode_ljust"]=function(){return Module["asm"]["_unicode_ljust"].apply(null,arguments)};var _unicode_lower=Module["_unicode_lower"]=function(){return Module["asm"]["_unicode_lower"].apply(null,arguments)};var _unicode_lstrip=Module["_unicode_lstrip"]=function(){return Module["asm"]["_unicode_lstrip"].apply(null,arguments)};var _unicode_maketrans=Module["_unicode_maketrans"]=function(){return Module["asm"]["_unicode_maketrans"].apply(null,arguments)};var _unicode_mod=Module["_unicode_mod"]=function(){return Module["asm"]["_unicode_mod"].apply(null,arguments)};var _unicode_new=Module["_unicode_new"]=function(){return Module["asm"]["_unicode_new"].apply(null,arguments)};var _unicode_partition=Module["_unicode_partition"]=function(){return Module["asm"]["_unicode_partition"].apply(null,arguments)};var _unicode_repeat=Module["_unicode_repeat"]=function(){return Module["asm"]["_unicode_repeat"].apply(null,arguments)};var _unicode_replace=Module["_unicode_replace"]=function(){return Module["asm"]["_unicode_replace"].apply(null,arguments)};var _unicode_repr=Module["_unicode_repr"]=function(){return Module["asm"]["_unicode_repr"].apply(null,arguments)};var _unicode_resize=Module["_unicode_resize"]=function(){return Module["asm"]["_unicode_resize"].apply(null,arguments)};var _unicode_result=Module["_unicode_result"]=function(){return Module["asm"]["_unicode_result"].apply(null,arguments)};var _unicode_result_ready=Module["_unicode_result_ready"]=function(){return Module["asm"]["_unicode_result_ready"].apply(null,arguments)};var _unicode_rfind=Module["_unicode_rfind"]=function(){return Module["asm"]["_unicode_rfind"].apply(null,arguments)};var _unicode_rindex=Module["_unicode_rindex"]=function(){return Module["asm"]["_unicode_rindex"].apply(null,arguments)};var _unicode_rjust=Module["_unicode_rjust"]=function(){return Module["asm"]["_unicode_rjust"].apply(null,arguments)};var _unicode_rpartition=Module["_unicode_rpartition"]=function(){return Module["asm"]["_unicode_rpartition"].apply(null,arguments)};var _unicode_rsplit=Module["_unicode_rsplit"]=function(){return Module["asm"]["_unicode_rsplit"].apply(null,arguments)};var _unicode_rstrip=Module["_unicode_rstrip"]=function(){return Module["asm"]["_unicode_rstrip"].apply(null,arguments)};var _unicode_sizeof=Module["_unicode_sizeof"]=function(){return Module["asm"]["_unicode_sizeof"].apply(null,arguments)};var _unicode_split=Module["_unicode_split"]=function(){return Module["asm"]["_unicode_split"].apply(null,arguments)};var _unicode_splitlines=Module["_unicode_splitlines"]=function(){return Module["asm"]["_unicode_splitlines"].apply(null,arguments)};var _unicode_startswith=Module["_unicode_startswith"]=function(){return Module["asm"]["_unicode_startswith"].apply(null,arguments)};var _unicode_str=Module["_unicode_str"]=function(){return Module["asm"]["_unicode_str"].apply(null,arguments)};var _unicode_strip=Module["_unicode_strip"]=function(){return Module["asm"]["_unicode_strip"].apply(null,arguments)};var _unicode_subscript=Module["_unicode_subscript"]=function(){return Module["asm"]["_unicode_subscript"].apply(null,arguments)};var _unicode_swapcase=Module["_unicode_swapcase"]=function(){return Module["asm"]["_unicode_swapcase"].apply(null,arguments)};var _unicode_title=Module["_unicode_title"]=function(){return Module["asm"]["_unicode_title"].apply(null,arguments)};var _unicode_translate=Module["_unicode_translate"]=function(){return Module["asm"]["_unicode_translate"].apply(null,arguments)};var _unicode_upper=Module["_unicode_upper"]=function(){return Module["asm"]["_unicode_upper"].apply(null,arguments)};var _unicode_zfill=Module["_unicode_zfill"]=function(){return Module["asm"]["_unicode_zfill"].apply(null,arguments)};var _unicodedata_UCD_bidirectional=Module["_unicodedata_UCD_bidirectional"]=function(){return Module["asm"]["_unicodedata_UCD_bidirectional"].apply(null,arguments)};var _unicodedata_UCD_category=Module["_unicodedata_UCD_category"]=function(){return Module["asm"]["_unicodedata_UCD_category"].apply(null,arguments)};var _unicodedata_UCD_combining=Module["_unicodedata_UCD_combining"]=function(){return Module["asm"]["_unicodedata_UCD_combining"].apply(null,arguments)};var _unicodedata_UCD_decimal=Module["_unicodedata_UCD_decimal"]=function(){return Module["asm"]["_unicodedata_UCD_decimal"].apply(null,arguments)};var _unicodedata_UCD_decomposition=Module["_unicodedata_UCD_decomposition"]=function(){return Module["asm"]["_unicodedata_UCD_decomposition"].apply(null,arguments)};var _unicodedata_UCD_digit=Module["_unicodedata_UCD_digit"]=function(){return Module["asm"]["_unicodedata_UCD_digit"].apply(null,arguments)};var _unicodedata_UCD_east_asian_width=Module["_unicodedata_UCD_east_asian_width"]=function(){return Module["asm"]["_unicodedata_UCD_east_asian_width"].apply(null,arguments)};var _unicodedata_UCD_lookup=Module["_unicodedata_UCD_lookup"]=function(){return Module["asm"]["_unicodedata_UCD_lookup"].apply(null,arguments)};var _unicodedata_UCD_mirrored=Module["_unicodedata_UCD_mirrored"]=function(){return Module["asm"]["_unicodedata_UCD_mirrored"].apply(null,arguments)};var _unicodedata_UCD_name=Module["_unicodedata_UCD_name"]=function(){return Module["asm"]["_unicodedata_UCD_name"].apply(null,arguments)};var _unicodedata_UCD_normalize=Module["_unicodedata_UCD_normalize"]=function(){return Module["asm"]["_unicodedata_UCD_normalize"].apply(null,arguments)};var _unicodedata_UCD_numeric=Module["_unicodedata_UCD_numeric"]=function(){return Module["asm"]["_unicodedata_UCD_numeric"].apply(null,arguments)};var _unicodeiter_dealloc=Module["_unicodeiter_dealloc"]=function(){return Module["asm"]["_unicodeiter_dealloc"].apply(null,arguments)};var _unicodeiter_len=Module["_unicodeiter_len"]=function(){return Module["asm"]["_unicodeiter_len"].apply(null,arguments)};var _unicodeiter_next=Module["_unicodeiter_next"]=function(){return Module["asm"]["_unicodeiter_next"].apply(null,arguments)};var _unicodeiter_reduce=Module["_unicodeiter_reduce"]=function(){return Module["asm"]["_unicodeiter_reduce"].apply(null,arguments)};var _unicodeiter_setstate=Module["_unicodeiter_setstate"]=function(){return Module["asm"]["_unicodeiter_setstate"].apply(null,arguments)};var _unicodeiter_traverse=Module["_unicodeiter_traverse"]=function(){return Module["asm"]["_unicodeiter_traverse"].apply(null,arguments)};var _unixAccess=Module["_unixAccess"]=function(){return Module["asm"]["_unixAccess"].apply(null,arguments)};var _unixCheckReservedLock=Module["_unixCheckReservedLock"]=function(){return Module["asm"]["_unixCheckReservedLock"].apply(null,arguments)};var _unixClose=Module["_unixClose"]=function(){return Module["asm"]["_unixClose"].apply(null,arguments)};var _unixCurrentTime=Module["_unixCurrentTime"]=function(){return Module["asm"]["_unixCurrentTime"].apply(null,arguments)};var _unixCurrentTimeInt64=Module["_unixCurrentTimeInt64"]=function(){return Module["asm"]["_unixCurrentTimeInt64"].apply(null,arguments)};var _unixDelete=Module["_unixDelete"]=function(){return Module["asm"]["_unixDelete"].apply(null,arguments)};var _unixDeviceCharacteristics=Module["_unixDeviceCharacteristics"]=function(){return Module["asm"]["_unixDeviceCharacteristics"].apply(null,arguments)};var _unixDlClose=Module["_unixDlClose"]=function(){return Module["asm"]["_unixDlClose"].apply(null,arguments)};var _unixDlError=Module["_unixDlError"]=function(){return Module["asm"]["_unixDlError"].apply(null,arguments)};var _unixDlOpen=Module["_unixDlOpen"]=function(){return Module["asm"]["_unixDlOpen"].apply(null,arguments)};var _unixDlSym=Module["_unixDlSym"]=function(){return Module["asm"]["_unixDlSym"].apply(null,arguments)};var _unixEnterMutex=Module["_unixEnterMutex"]=function(){return Module["asm"]["_unixEnterMutex"].apply(null,arguments)};var _unixFetch=Module["_unixFetch"]=function(){return Module["asm"]["_unixFetch"].apply(null,arguments)};var _unixFileControl=Module["_unixFileControl"]=function(){return Module["asm"]["_unixFileControl"].apply(null,arguments)};var _unixFileLock=Module["_unixFileLock"]=function(){return Module["asm"]["_unixFileLock"].apply(null,arguments)};var _unixFileSize=Module["_unixFileSize"]=function(){return Module["asm"]["_unixFileSize"].apply(null,arguments)};var _unixFullPathname=Module["_unixFullPathname"]=function(){return Module["asm"]["_unixFullPathname"].apply(null,arguments)};var _unixGetLastError=Module["_unixGetLastError"]=function(){return Module["asm"]["_unixGetLastError"].apply(null,arguments)};var _unixGetSystemCall=Module["_unixGetSystemCall"]=function(){return Module["asm"]["_unixGetSystemCall"].apply(null,arguments)};var _unixGetTempname=Module["_unixGetTempname"]=function(){return Module["asm"]["_unixGetTempname"].apply(null,arguments)};var _unixGetpagesize=Module["_unixGetpagesize"]=function(){return Module["asm"]["_unixGetpagesize"].apply(null,arguments)};var _unixLeaveMutex=Module["_unixLeaveMutex"]=function(){return Module["asm"]["_unixLeaveMutex"].apply(null,arguments)};var _unixLock=Module["_unixLock"]=function(){return Module["asm"]["_unixLock"].apply(null,arguments)};var _unixLockSharedMemory=Module["_unixLockSharedMemory"]=function(){return Module["asm"]["_unixLockSharedMemory"].apply(null,arguments)};var _unixLogErrorAtLine=Module["_unixLogErrorAtLine"]=function(){return Module["asm"]["_unixLogErrorAtLine"].apply(null,arguments)};var _unixModeBit=Module["_unixModeBit"]=function(){return Module["asm"]["_unixModeBit"].apply(null,arguments)};var _unixNextSystemCall=Module["_unixNextSystemCall"]=function(){return Module["asm"]["_unixNextSystemCall"].apply(null,arguments)};var _unixOpen=Module["_unixOpen"]=function(){return Module["asm"]["_unixOpen"].apply(null,arguments)};var _unixOpenSharedMemory=Module["_unixOpenSharedMemory"]=function(){return Module["asm"]["_unixOpenSharedMemory"].apply(null,arguments)};var _unixRandomness=Module["_unixRandomness"]=function(){return Module["asm"]["_unixRandomness"].apply(null,arguments)};var _unixRead=Module["_unixRead"]=function(){return Module["asm"]["_unixRead"].apply(null,arguments)};var _unixSectorSize=Module["_unixSectorSize"]=function(){return Module["asm"]["_unixSectorSize"].apply(null,arguments)};var _unixSetSystemCall=Module["_unixSetSystemCall"]=function(){return Module["asm"]["_unixSetSystemCall"].apply(null,arguments)};var _unixShmBarrier=Module["_unixShmBarrier"]=function(){return Module["asm"]["_unixShmBarrier"].apply(null,arguments)};var _unixShmLock=Module["_unixShmLock"]=function(){return Module["asm"]["_unixShmLock"].apply(null,arguments)};var _unixShmMap=Module["_unixShmMap"]=function(){return Module["asm"]["_unixShmMap"].apply(null,arguments)};var _unixShmPurge=Module["_unixShmPurge"]=function(){return Module["asm"]["_unixShmPurge"].apply(null,arguments)};var _unixShmRegionPerMap=Module["_unixShmRegionPerMap"]=function(){return Module["asm"]["_unixShmRegionPerMap"].apply(null,arguments)};var _unixShmSystemLock=Module["_unixShmSystemLock"]=function(){return Module["asm"]["_unixShmSystemLock"].apply(null,arguments)};var _unixShmUnmap=Module["_unixShmUnmap"]=function(){return Module["asm"]["_unixShmUnmap"].apply(null,arguments)};var _unixSleep=Module["_unixSleep"]=function(){return Module["asm"]["_unixSleep"].apply(null,arguments)};var _unixSync=Module["_unixSync"]=function(){return Module["asm"]["_unixSync"].apply(null,arguments)};var _unixTempFileDir=Module["_unixTempFileDir"]=function(){return Module["asm"]["_unixTempFileDir"].apply(null,arguments)};var _unixTruncate=Module["_unixTruncate"]=function(){return Module["asm"]["_unixTruncate"].apply(null,arguments)};var _unixUnfetch=Module["_unixUnfetch"]=function(){return Module["asm"]["_unixUnfetch"].apply(null,arguments)};var _unixUnlock=Module["_unixUnlock"]=function(){return Module["asm"]["_unixUnlock"].apply(null,arguments)};var _unixWrite=Module["_unixWrite"]=function(){return Module["asm"]["_unixWrite"].apply(null,arguments)};var _unknown_isInvalid=Module["_unknown_isInvalid"]=function(){return Module["asm"]["_unknown_isInvalid"].apply(null,arguments)};var _unknown_isName=Module["_unknown_isName"]=function(){return Module["asm"]["_unknown_isName"].apply(null,arguments)};var _unknown_isNmstrt=Module["_unknown_isNmstrt"]=function(){return Module["asm"]["_unknown_isNmstrt"].apply(null,arguments)};var _unknown_toUtf16=Module["_unknown_toUtf16"]=function(){return Module["asm"]["_unknown_toUtf16"].apply(null,arguments)};var _unknown_toUtf8=Module["_unknown_toUtf8"]=function(){return Module["asm"]["_unknown_toUtf8"].apply(null,arguments)};var _unlink=Module["_unlink"]=function(){return Module["asm"]["_unlink"].apply(null,arguments)};var _unlinkat=Module["_unlinkat"]=function(){return Module["asm"]["_unlinkat"].apply(null,arguments)};var _unlockBtreeIfUnused=Module["_unlockBtreeIfUnused"]=function(){return Module["asm"]["_unlockBtreeIfUnused"].apply(null,arguments)};var _unlockBtreeMutex=Module["_unlockBtreeMutex"]=function(){return Module["asm"]["_unlockBtreeMutex"].apply(null,arguments)};var _unlockpt=Module["_unlockpt"]=function(){return Module["asm"]["_unlockpt"].apply(null,arguments)};var _unpack=Module["_unpack"]=function(){return Module["asm"]["_unpack"].apply(null,arguments)};var _unpack_cmp=Module["_unpack_cmp"]=function(){return Module["asm"]["_unpack_cmp"].apply(null,arguments)};var _unpack_from=Module["_unpack_from"]=function(){return Module["asm"]["_unpack_from"].apply(null,arguments)};var _unpack_iterable=Module["_unpack_iterable"]=function(){return Module["asm"]["_unpack_iterable"].apply(null,arguments)};var _unpack_single=Module["_unpack_single"]=function(){return Module["asm"]["_unpack_single"].apply(null,arguments)};var _unpack_stack=Module["_unpack_stack"]=function(){return Module["asm"]["_unpack_stack"].apply(null,arguments)};var _unpackiter_dealloc=Module["_unpackiter_dealloc"]=function(){return Module["asm"]["_unpackiter_dealloc"].apply(null,arguments)};var _unpackiter_iternext=Module["_unpackiter_iternext"]=function(){return Module["asm"]["_unpackiter_iternext"].apply(null,arguments)};var _unpackiter_len=Module["_unpackiter_len"]=function(){return Module["asm"]["_unpackiter_len"].apply(null,arguments)};var _unpackiter_traverse=Module["_unpackiter_traverse"]=function(){return Module["asm"]["_unpackiter_traverse"].apply(null,arguments)};var _unsafe_float_compare=Module["_unsafe_float_compare"]=function(){return Module["asm"]["_unsafe_float_compare"].apply(null,arguments)};var _unsafe_latin_compare=Module["_unsafe_latin_compare"]=function(){return Module["asm"]["_unsafe_latin_compare"].apply(null,arguments)};var _unsafe_long_compare=Module["_unsafe_long_compare"]=function(){return Module["asm"]["_unsafe_long_compare"].apply(null,arguments)};var _unsafe_object_compare=Module["_unsafe_object_compare"]=function(){return Module["asm"]["_unsafe_object_compare"].apply(null,arguments)};var _unsafe_tuple_compare=Module["_unsafe_tuple_compare"]=function(){return Module["asm"]["_unsafe_tuple_compare"].apply(null,arguments)};var _unsetJoinExpr=Module["_unsetJoinExpr"]=function(){return Module["asm"]["_unsetJoinExpr"].apply(null,arguments)};var _updateAccumulator=Module["_updateAccumulator"]=function(){return Module["asm"]["_updateAccumulator"].apply(null,arguments)};var _updateMapping=Module["_updateMapping"]=function(){return Module["asm"]["_updateMapping"].apply(null,arguments)};var _updateRangeAffinityStr=Module["_updateRangeAffinityStr"]=function(){return Module["asm"]["_updateRangeAffinityStr"].apply(null,arguments)};var _updateVirtualTable=Module["_updateVirtualTable"]=function(){return Module["asm"]["_updateVirtualTable"].apply(null,arguments)};var _update_code_filenames=Module["_update_code_filenames"]=function(){return Module["asm"]["_update_code_filenames"].apply(null,arguments)};var _update_one_slot=Module["_update_one_slot"]=function(){return Module["asm"]["_update_one_slot"].apply(null,arguments)};var _update_subclasses=Module["_update_subclasses"]=function(){return Module["asm"]["_update_subclasses"].apply(null,arguments)};var _upperFunc=Module["_upperFunc"]=function(){return Module["asm"]["_upperFunc"].apply(null,arguments)};var _ushort_converter=Module["_ushort_converter"]=function(){return Module["asm"]["_ushort_converter"].apply(null,arguments)};var _utf16_encode=Module["_utf16_encode"]=function(){return Module["asm"]["_utf16_encode"].apply(null,arguments)};var _utf16be_encode=Module["_utf16be_encode"]=function(){return Module["asm"]["_utf16be_encode"].apply(null,arguments)};var _utf16le_encode=Module["_utf16le_encode"]=function(){return Module["asm"]["_utf16le_encode"].apply(null,arguments)};var _utf32_encode=Module["_utf32_encode"]=function(){return Module["asm"]["_utf32_encode"].apply(null,arguments)};var _utf32be_encode=Module["_utf32be_encode"]=function(){return Module["asm"]["_utf32be_encode"].apply(null,arguments)};var _utf32le_encode=Module["_utf32le_encode"]=function(){return Module["asm"]["_utf32le_encode"].apply(null,arguments)};var _utf8_encode=Module["_utf8_encode"]=function(){return Module["asm"]["_utf8_encode"].apply(null,arguments)};var _utf8_isInvalid2=Module["_utf8_isInvalid2"]=function(){return Module["asm"]["_utf8_isInvalid2"].apply(null,arguments)};var _utf8_isInvalid3=Module["_utf8_isInvalid3"]=function(){return Module["asm"]["_utf8_isInvalid3"].apply(null,arguments)};var _utf8_isInvalid4=Module["_utf8_isInvalid4"]=function(){return Module["asm"]["_utf8_isInvalid4"].apply(null,arguments)};var _utf8_isName2=Module["_utf8_isName2"]=function(){return Module["asm"]["_utf8_isName2"].apply(null,arguments)};var _utf8_isName3=Module["_utf8_isName3"]=function(){return Module["asm"]["_utf8_isName3"].apply(null,arguments)};var _utf8_isNmstrt2=Module["_utf8_isNmstrt2"]=function(){return Module["asm"]["_utf8_isNmstrt2"].apply(null,arguments)};var _utf8_isNmstrt3=Module["_utf8_isNmstrt3"]=function(){return Module["asm"]["_utf8_isNmstrt3"].apply(null,arguments)};var _utf8_toUtf16=Module["_utf8_toUtf16"]=function(){return Module["asm"]["_utf8_toUtf16"].apply(null,arguments)};var _utf8_toUtf8=Module["_utf8_toUtf8"]=function(){return Module["asm"]["_utf8_toUtf8"].apply(null,arguments)};var _utimensat=Module["_utimensat"]=function(){return Module["asm"]["_utimensat"].apply(null,arguments)};var _va_build_stack=Module["_va_build_stack"]=function(){return Module["asm"]["_va_build_stack"].apply(null,arguments)};var _validJulianDay=Module["_validJulianDay"]=function(){return Module["asm"]["_validJulianDay"].apply(null,arguments)};var _validate_and_copy_tuple=Module["_validate_and_copy_tuple"]=function(){return Module["asm"]["_validate_and_copy_tuple"].apply(null,arguments)};var _validate_arguments=Module["_validate_arguments"]=function(){return Module["asm"]["_validate_arguments"].apply(null,arguments)};var _validate_constant=Module["_validate_constant"]=function(){return Module["asm"]["_validate_constant"].apply(null,arguments)};var _validate_expr=Module["_validate_expr"]=function(){return Module["asm"]["_validate_expr"].apply(null,arguments)};var _validate_node=Module["_validate_node"]=function(){return Module["asm"]["_validate_node"].apply(null,arguments)};var _validate_slice=Module["_validate_slice"]=function(){return Module["asm"]["_validate_slice"].apply(null,arguments)};var _validate_stmt=Module["_validate_stmt"]=function(){return Module["asm"]["_validate_stmt"].apply(null,arguments)};var _valloc=Module["_valloc"]=function(){return Module["asm"]["_valloc"].apply(null,arguments)};var _valueBytes=Module["_valueBytes"]=function(){return Module["asm"]["_valueBytes"].apply(null,arguments)};var _valueFromExpr=Module["_valueFromExpr"]=function(){return Module["asm"]["_valueFromExpr"].apply(null,arguments)};var _valueNew=Module["_valueNew"]=function(){return Module["asm"]["_valueNew"].apply(null,arguments)};var _valueToText=Module["_valueToText"]=function(){return Module["asm"]["_valueToText"].apply(null,arguments)};var _vasprintf=Module["_vasprintf"]=function(){return Module["asm"]["_vasprintf"].apply(null,arguments)};var _vdbeChangeP4Full=Module["_vdbeChangeP4Full"]=function(){return Module["asm"]["_vdbeChangeP4Full"].apply(null,arguments)};var _vdbeCloseStatement=Module["_vdbeCloseStatement"]=function(){return Module["asm"]["_vdbeCloseStatement"].apply(null,arguments)};var _vdbeClrCopy=Module["_vdbeClrCopy"]=function(){return Module["asm"]["_vdbeClrCopy"].apply(null,arguments)};var _vdbeCommit=Module["_vdbeCommit"]=function(){return Module["asm"]["_vdbeCommit"].apply(null,arguments)};var _vdbeCompareMemString=Module["_vdbeCompareMemString"]=function(){return Module["asm"]["_vdbeCompareMemString"].apply(null,arguments)};var _vdbeFreeOpArray=Module["_vdbeFreeOpArray"]=function(){return Module["asm"]["_vdbeFreeOpArray"].apply(null,arguments)};var _vdbeIncrBgPopulate=Module["_vdbeIncrBgPopulate"]=function(){return Module["asm"]["_vdbeIncrBgPopulate"].apply(null,arguments)};var _vdbeIncrFree=Module["_vdbeIncrFree"]=function(){return Module["asm"]["_vdbeIncrFree"].apply(null,arguments)};var _vdbeIncrMergerNew=Module["_vdbeIncrMergerNew"]=function(){return Module["asm"]["_vdbeIncrMergerNew"].apply(null,arguments)};var _vdbeIncrMergerSetThreads=Module["_vdbeIncrMergerSetThreads"]=function(){return Module["asm"]["_vdbeIncrMergerSetThreads"].apply(null,arguments)};var _vdbeIncrPopulate=Module["_vdbeIncrPopulate"]=function(){return Module["asm"]["_vdbeIncrPopulate"].apply(null,arguments)};var _vdbeIncrPopulateThread=Module["_vdbeIncrPopulateThread"]=function(){return Module["asm"]["_vdbeIncrPopulateThread"].apply(null,arguments)};var _vdbeIncrSwap=Module["_vdbeIncrSwap"]=function(){return Module["asm"]["_vdbeIncrSwap"].apply(null,arguments)};var _vdbeLeave=Module["_vdbeLeave"]=function(){return Module["asm"]["_vdbeLeave"].apply(null,arguments)};var _vdbeMemAddTerminator=Module["_vdbeMemAddTerminator"]=function(){return Module["asm"]["_vdbeMemAddTerminator"].apply(null,arguments)};var _vdbeMemClear=Module["_vdbeMemClear"]=function(){return Module["asm"]["_vdbeMemClear"].apply(null,arguments)};var _vdbeMemClearExternAndSetNull=Module["_vdbeMemClearExternAndSetNull"]=function(){return Module["asm"]["_vdbeMemClearExternAndSetNull"].apply(null,arguments)};var _vdbeMemFromBtreeResize=Module["_vdbeMemFromBtreeResize"]=function(){return Module["asm"]["_vdbeMemFromBtreeResize"].apply(null,arguments)};var _vdbeMergeEngineCompare=Module["_vdbeMergeEngineCompare"]=function(){return Module["asm"]["_vdbeMergeEngineCompare"].apply(null,arguments)};var _vdbeMergeEngineFree=Module["_vdbeMergeEngineFree"]=function(){return Module["asm"]["_vdbeMergeEngineFree"].apply(null,arguments)};var _vdbeMergeEngineInit=Module["_vdbeMergeEngineInit"]=function(){return Module["asm"]["_vdbeMergeEngineInit"].apply(null,arguments)};var _vdbeMergeEngineLevel0=Module["_vdbeMergeEngineLevel0"]=function(){return Module["asm"]["_vdbeMergeEngineLevel0"].apply(null,arguments)};var _vdbeMergeEngineNew=Module["_vdbeMergeEngineNew"]=function(){return Module["asm"]["_vdbeMergeEngineNew"].apply(null,arguments)};var _vdbeMergeEngineStep=Module["_vdbeMergeEngineStep"]=function(){return Module["asm"]["_vdbeMergeEngineStep"].apply(null,arguments)};var _vdbePmaReadBlob=Module["_vdbePmaReadBlob"]=function(){return Module["asm"]["_vdbePmaReadBlob"].apply(null,arguments)};var _vdbePmaReadVarint=Module["_vdbePmaReadVarint"]=function(){return Module["asm"]["_vdbePmaReadVarint"].apply(null,arguments)};var _vdbePmaReaderBgIncrInit=Module["_vdbePmaReaderBgIncrInit"]=function(){return Module["asm"]["_vdbePmaReaderBgIncrInit"].apply(null,arguments)};var _vdbePmaReaderClear=Module["_vdbePmaReaderClear"]=function(){return Module["asm"]["_vdbePmaReaderClear"].apply(null,arguments)};var _vdbePmaReaderIncrInit=Module["_vdbePmaReaderIncrInit"]=function(){return Module["asm"]["_vdbePmaReaderIncrInit"].apply(null,arguments)};var _vdbePmaReaderIncrMergeInit=Module["_vdbePmaReaderIncrMergeInit"]=function(){return Module["asm"]["_vdbePmaReaderIncrMergeInit"].apply(null,arguments)};var _vdbePmaReaderInit=Module["_vdbePmaReaderInit"]=function(){return Module["asm"]["_vdbePmaReaderInit"].apply(null,arguments)};var _vdbePmaReaderNext=Module["_vdbePmaReaderNext"]=function(){return Module["asm"]["_vdbePmaReaderNext"].apply(null,arguments)};var _vdbePmaReaderSeek=Module["_vdbePmaReaderSeek"]=function(){return Module["asm"]["_vdbePmaReaderSeek"].apply(null,arguments)};var _vdbePmaWriteBlob=Module["_vdbePmaWriteBlob"]=function(){return Module["asm"]["_vdbePmaWriteBlob"].apply(null,arguments)};var _vdbePmaWriteVarint=Module["_vdbePmaWriteVarint"]=function(){return Module["asm"]["_vdbePmaWriteVarint"].apply(null,arguments)};var _vdbePmaWriterFinish=Module["_vdbePmaWriterFinish"]=function(){return Module["asm"]["_vdbePmaWriterFinish"].apply(null,arguments)};var _vdbePmaWriterInit=Module["_vdbePmaWriterInit"]=function(){return Module["asm"]["_vdbePmaWriterInit"].apply(null,arguments)};var _vdbeRecordCompareInt=Module["_vdbeRecordCompareInt"]=function(){return Module["asm"]["_vdbeRecordCompareInt"].apply(null,arguments)};var _vdbeRecordCompareString=Module["_vdbeRecordCompareString"]=function(){return Module["asm"]["_vdbeRecordCompareString"].apply(null,arguments)};var _vdbeRecordDecodeInt=Module["_vdbeRecordDecodeInt"]=function(){return Module["asm"]["_vdbeRecordDecodeInt"].apply(null,arguments)};var _vdbeReleaseAndSetInt64=Module["_vdbeReleaseAndSetInt64"]=function(){return Module["asm"]["_vdbeReleaseAndSetInt64"].apply(null,arguments)};var _vdbeSafety=Module["_vdbeSafety"]=function(){return Module["asm"]["_vdbeSafety"].apply(null,arguments)};var _vdbeSafetyNotNull=Module["_vdbeSafetyNotNull"]=function(){return Module["asm"]["_vdbeSafetyNotNull"].apply(null,arguments)};var _vdbeSortAllocUnpacked=Module["_vdbeSortAllocUnpacked"]=function(){return Module["asm"]["_vdbeSortAllocUnpacked"].apply(null,arguments)};var _vdbeSortSubtaskCleanup=Module["_vdbeSortSubtaskCleanup"]=function(){return Module["asm"]["_vdbeSortSubtaskCleanup"].apply(null,arguments)};var _vdbeSorterAddToTree=Module["_vdbeSorterAddToTree"]=function(){return Module["asm"]["_vdbeSorterAddToTree"].apply(null,arguments)};var _vdbeSorterCompare=Module["_vdbeSorterCompare"]=function(){return Module["asm"]["_vdbeSorterCompare"].apply(null,arguments)};var _vdbeSorterCompareInt=Module["_vdbeSorterCompareInt"]=function(){return Module["asm"]["_vdbeSorterCompareInt"].apply(null,arguments)};var _vdbeSorterCompareTail=Module["_vdbeSorterCompareTail"]=function(){return Module["asm"]["_vdbeSorterCompareTail"].apply(null,arguments)};var _vdbeSorterCompareText=Module["_vdbeSorterCompareText"]=function(){return Module["asm"]["_vdbeSorterCompareText"].apply(null,arguments)};var _vdbeSorterCreateThread=Module["_vdbeSorterCreateThread"]=function(){return Module["asm"]["_vdbeSorterCreateThread"].apply(null,arguments)};var _vdbeSorterFlushPMA=Module["_vdbeSorterFlushPMA"]=function(){return Module["asm"]["_vdbeSorterFlushPMA"].apply(null,arguments)};var _vdbeSorterFlushThread=Module["_vdbeSorterFlushThread"]=function(){return Module["asm"]["_vdbeSorterFlushThread"].apply(null,arguments)};var _vdbeSorterGetCompare=Module["_vdbeSorterGetCompare"]=function(){return Module["asm"]["_vdbeSorterGetCompare"].apply(null,arguments)};var _vdbeSorterJoinAll=Module["_vdbeSorterJoinAll"]=function(){return Module["asm"]["_vdbeSorterJoinAll"].apply(null,arguments)};var _vdbeSorterJoinThread=Module["_vdbeSorterJoinThread"]=function(){return Module["asm"]["_vdbeSorterJoinThread"].apply(null,arguments)};var _vdbeSorterListToPMA=Module["_vdbeSorterListToPMA"]=function(){return Module["asm"]["_vdbeSorterListToPMA"].apply(null,arguments)};var _vdbeSorterMapFile=Module["_vdbeSorterMapFile"]=function(){return Module["asm"]["_vdbeSorterMapFile"].apply(null,arguments)};var _vdbeSorterMerge=Module["_vdbeSorterMerge"]=function(){return Module["asm"]["_vdbeSorterMerge"].apply(null,arguments)};var _vdbeSorterMergeTreeBuild=Module["_vdbeSorterMergeTreeBuild"]=function(){return Module["asm"]["_vdbeSorterMergeTreeBuild"].apply(null,arguments)};var _vdbeSorterOpenTempFile=Module["_vdbeSorterOpenTempFile"]=function(){return Module["asm"]["_vdbeSorterOpenTempFile"].apply(null,arguments)};var _vdbeSorterRecordFree=Module["_vdbeSorterRecordFree"]=function(){return Module["asm"]["_vdbeSorterRecordFree"].apply(null,arguments)};var _vdbeSorterRowkey=Module["_vdbeSorterRowkey"]=function(){return Module["asm"]["_vdbeSorterRowkey"].apply(null,arguments)};var _vdbeSorterSetupMerge=Module["_vdbeSorterSetupMerge"]=function(){return Module["asm"]["_vdbeSorterSetupMerge"].apply(null,arguments)};var _vdbeSorterSort=Module["_vdbeSorterSort"]=function(){return Module["asm"]["_vdbeSorterSort"].apply(null,arguments)};var _vdbeSorterTreeDepth=Module["_vdbeSorterTreeDepth"]=function(){return Module["asm"]["_vdbeSorterTreeDepth"].apply(null,arguments)};var _vdbeUnbind=Module["_vdbeUnbind"]=function(){return Module["asm"]["_vdbeUnbind"].apply(null,arguments)};var _vdprintf=Module["_vdprintf"]=function(){return Module["asm"]["_vdprintf"].apply(null,arguments)};var _verifyDbFile=Module["_verifyDbFile"]=function(){return Module["asm"]["_verifyDbFile"].apply(null,arguments)};var _versionFunc=Module["_versionFunc"]=function(){return Module["asm"]["_versionFunc"].apply(null,arguments)};var _versionsort=Module["_versionsort"]=function(){return Module["asm"]["_versionsort"].apply(null,arguments)};var _vfprintf=Module["_vfprintf"]=function(){return Module["asm"]["_vfprintf"].apply(null,arguments)};var _vfsUnlink=Module["_vfsUnlink"]=function(){return Module["asm"]["_vfsUnlink"].apply(null,arguments)};var _vfscanf=Module["_vfscanf"]=function(){return Module["asm"]["_vfscanf"].apply(null,arguments)};var _vfwprintf=Module["_vfwprintf"]=function(){return Module["asm"]["_vfwprintf"].apply(null,arguments)};var _vfwscanf=Module["_vfwscanf"]=function(){return Module["asm"]["_vfwscanf"].apply(null,arguments)};var _vgetargs1_impl=Module["_vgetargs1_impl"]=function(){return Module["asm"]["_vgetargs1_impl"].apply(null,arguments)};var _vgetargskeywords=Module["_vgetargskeywords"]=function(){return Module["asm"]["_vgetargskeywords"].apply(null,arguments)};var _vgetargskeywordsfast_impl=Module["_vgetargskeywordsfast_impl"]=function(){return Module["asm"]["_vgetargskeywordsfast_impl"].apply(null,arguments)};var _visit_decref=Module["_visit_decref"]=function(){return Module["asm"]["_visit_decref"].apply(null,arguments)};var _visit_move=Module["_visit_move"]=function(){return Module["asm"]["_visit_move"].apply(null,arguments)};var _visit_reachable=Module["_visit_reachable"]=function(){return Module["asm"]["_visit_reachable"].apply(null,arguments)};var _vprintf=Module["_vprintf"]=function(){return Module["asm"]["_vprintf"].apply(null,arguments)};var _vscanf=Module["_vscanf"]=function(){return Module["asm"]["_vscanf"].apply(null,arguments)};var _vsnprintf=Module["_vsnprintf"]=function(){return Module["asm"]["_vsnprintf"].apply(null,arguments)};var _vsprintf=Module["_vsprintf"]=function(){return Module["asm"]["_vsprintf"].apply(null,arguments)};var _vsscanf=Module["_vsscanf"]=function(){return Module["asm"]["_vsscanf"].apply(null,arguments)};var _vstrfmon_l=Module["_vstrfmon_l"]=function(){return Module["asm"]["_vstrfmon_l"].apply(null,arguments)};var _vswprintf=Module["_vswprintf"]=function(){return Module["asm"]["_vswprintf"].apply(null,arguments)};var _vswscanf=Module["_vswscanf"]=function(){return Module["asm"]["_vswscanf"].apply(null,arguments)};var _vtabBestIndex=Module["_vtabBestIndex"]=function(){return Module["asm"]["_vtabBestIndex"].apply(null,arguments)};var _vtabCallConstructor=Module["_vtabCallConstructor"]=function(){return Module["asm"]["_vtabCallConstructor"].apply(null,arguments)};var _vtabDisconnectAll=Module["_vtabDisconnectAll"]=function(){return Module["asm"]["_vtabDisconnectAll"].apply(null,arguments)};var _vwprintf=Module["_vwprintf"]=function(){return Module["asm"]["_vwprintf"].apply(null,arguments)};var _vwscanf=Module["_vwscanf"]=function(){return Module["asm"]["_vwscanf"].apply(null,arguments)};var _w_complex_object=Module["_w_complex_object"]=function(){return Module["asm"]["_w_complex_object"].apply(null,arguments)};var _w_decref_entry=Module["_w_decref_entry"]=function(){return Module["asm"]["_w_decref_entry"].apply(null,arguments)};var _w_long=Module["_w_long"]=function(){return Module["asm"]["_w_long"].apply(null,arguments)};var _w_object=Module["_w_object"]=function(){return Module["asm"]["_w_object"].apply(null,arguments)};var _w_pstring=Module["_w_pstring"]=function(){return Module["asm"]["_w_pstring"].apply(null,arguments)};var _wait_helper=Module["_wait_helper"]=function(){return Module["asm"]["_wait_helper"].apply(null,arguments)};var _walBeginShmUnreliable=Module["_walBeginShmUnreliable"]=function(){return Module["asm"]["_walBeginShmUnreliable"].apply(null,arguments)};var _walBusyLock=Module["_walBusyLock"]=function(){return Module["asm"]["_walBusyLock"].apply(null,arguments)};var _walCheckpoint=Module["_walCheckpoint"]=function(){return Module["asm"]["_walCheckpoint"].apply(null,arguments)};var _walChecksumBytes=Module["_walChecksumBytes"]=function(){return Module["asm"]["_walChecksumBytes"].apply(null,arguments)};var _walCkptInfo=Module["_walCkptInfo"]=function(){return Module["asm"]["_walCkptInfo"].apply(null,arguments)};var _walCleanupHash=Module["_walCleanupHash"]=function(){return Module["asm"]["_walCleanupHash"].apply(null,arguments)};var _walDecodeFrame=Module["_walDecodeFrame"]=function(){return Module["asm"]["_walDecodeFrame"].apply(null,arguments)};var _walEncodeFrame=Module["_walEncodeFrame"]=function(){return Module["asm"]["_walEncodeFrame"].apply(null,arguments)};var _walFramePage=Module["_walFramePage"]=function(){return Module["asm"]["_walFramePage"].apply(null,arguments)};var _walFramePgno=Module["_walFramePgno"]=function(){return Module["asm"]["_walFramePgno"].apply(null,arguments)};var _walHash=Module["_walHash"]=function(){return Module["asm"]["_walHash"].apply(null,arguments)};var _walHashGet=Module["_walHashGet"]=function(){return Module["asm"]["_walHashGet"].apply(null,arguments)};var _walIndexAppend=Module["_walIndexAppend"]=function(){return Module["asm"]["_walIndexAppend"].apply(null,arguments)};var _walIndexClose=Module["_walIndexClose"]=function(){return Module["asm"]["_walIndexClose"].apply(null,arguments)};var _walIndexHdr=Module["_walIndexHdr"]=function(){return Module["asm"]["_walIndexHdr"].apply(null,arguments)};var _walIndexPage=Module["_walIndexPage"]=function(){return Module["asm"]["_walIndexPage"].apply(null,arguments)};var _walIndexPageRealloc=Module["_walIndexPageRealloc"]=function(){return Module["asm"]["_walIndexPageRealloc"].apply(null,arguments)};var _walIndexReadHdr=Module["_walIndexReadHdr"]=function(){return Module["asm"]["_walIndexReadHdr"].apply(null,arguments)};var _walIndexRecover=Module["_walIndexRecover"]=function(){return Module["asm"]["_walIndexRecover"].apply(null,arguments)};var _walIndexTryHdr=Module["_walIndexTryHdr"]=function(){return Module["asm"]["_walIndexTryHdr"].apply(null,arguments)};var _walIndexWriteHdr=Module["_walIndexWriteHdr"]=function(){return Module["asm"]["_walIndexWriteHdr"].apply(null,arguments)};var _walIteratorFree=Module["_walIteratorFree"]=function(){return Module["asm"]["_walIteratorFree"].apply(null,arguments)};var _walIteratorInit=Module["_walIteratorInit"]=function(){return Module["asm"]["_walIteratorInit"].apply(null,arguments)};var _walIteratorNext=Module["_walIteratorNext"]=function(){return Module["asm"]["_walIteratorNext"].apply(null,arguments)};var _walLimitSize=Module["_walLimitSize"]=function(){return Module["asm"]["_walLimitSize"].apply(null,arguments)};var _walLockExclusive=Module["_walLockExclusive"]=function(){return Module["asm"]["_walLockExclusive"].apply(null,arguments)};var _walLockShared=Module["_walLockShared"]=function(){return Module["asm"]["_walLockShared"].apply(null,arguments)};var _walMerge=Module["_walMerge"]=function(){return Module["asm"]["_walMerge"].apply(null,arguments)};var _walMergesort=Module["_walMergesort"]=function(){return Module["asm"]["_walMergesort"].apply(null,arguments)};var _walNextHash=Module["_walNextHash"]=function(){return Module["asm"]["_walNextHash"].apply(null,arguments)};var _walPagesize=Module["_walPagesize"]=function(){return Module["asm"]["_walPagesize"].apply(null,arguments)};var _walRestartHdr=Module["_walRestartHdr"]=function(){return Module["asm"]["_walRestartHdr"].apply(null,arguments)};var _walRestartLog=Module["_walRestartLog"]=function(){return Module["asm"]["_walRestartLog"].apply(null,arguments)};var _walRewriteChecksums=Module["_walRewriteChecksums"]=function(){return Module["asm"]["_walRewriteChecksums"].apply(null,arguments)};var _walShmBarrier=Module["_walShmBarrier"]=function(){return Module["asm"]["_walShmBarrier"].apply(null,arguments)};var _walTryBeginRead=Module["_walTryBeginRead"]=function(){return Module["asm"]["_walTryBeginRead"].apply(null,arguments)};var _walUnlockExclusive=Module["_walUnlockExclusive"]=function(){return Module["asm"]["_walUnlockExclusive"].apply(null,arguments)};var _walUnlockShared=Module["_walUnlockShared"]=function(){return Module["asm"]["_walUnlockShared"].apply(null,arguments)};var _walWriteOneFrame=Module["_walWriteOneFrame"]=function(){return Module["asm"]["_walWriteOneFrame"].apply(null,arguments)};var _walWriteToLog=Module["_walWriteToLog"]=function(){return Module["asm"]["_walWriteToLog"].apply(null,arguments)};var _walkExpr=Module["_walkExpr"]=function(){return Module["asm"]["_walkExpr"].apply(null,arguments)};var _walkWindowList=Module["_walkWindowList"]=function(){return Module["asm"]["_walkWindowList"].apply(null,arguments)};var _warn_explicit=Module["_warn_explicit"]=function(){return Module["asm"]["_warn_explicit"].apply(null,arguments)};var _warn_invalid_escape_sequence=Module["_warn_invalid_escape_sequence"]=function(){return Module["asm"]["_warn_invalid_escape_sequence"].apply(null,arguments)};var _warnings_filters_mutated=Module["_warnings_filters_mutated"]=function(){return Module["asm"]["_warnings_filters_mutated"].apply(null,arguments)};var _warnings_warn=Module["_warnings_warn"]=function(){return Module["asm"]["_warnings_warn"].apply(null,arguments)};var _warnings_warn_explicit=Module["_warnings_warn_explicit"]=function(){return Module["asm"]["_warnings_warn_explicit"].apply(null,arguments)};var _wcpcpy=Module["_wcpcpy"]=function(){return Module["asm"]["_wcpcpy"].apply(null,arguments)};var _wcpncpy=Module["_wcpncpy"]=function(){return Module["asm"]["_wcpncpy"].apply(null,arguments)};var _wcrtomb=Module["_wcrtomb"]=function(){return Module["asm"]["_wcrtomb"].apply(null,arguments)};var _wcscasecmp=Module["_wcscasecmp"]=function(){return Module["asm"]["_wcscasecmp"].apply(null,arguments)};var _wcscasecmp_l=Module["_wcscasecmp_l"]=function(){return Module["asm"]["_wcscasecmp_l"].apply(null,arguments)};var _wcscat=Module["_wcscat"]=function(){return Module["asm"]["_wcscat"].apply(null,arguments)};var _wcschr=Module["_wcschr"]=function(){return Module["asm"]["_wcschr"].apply(null,arguments)};var _wcscmp=Module["_wcscmp"]=function(){return Module["asm"]["_wcscmp"].apply(null,arguments)};var _wcscoll=Module["_wcscoll"]=function(){return Module["asm"]["_wcscoll"].apply(null,arguments)};var _wcscpy=Module["_wcscpy"]=function(){return Module["asm"]["_wcscpy"].apply(null,arguments)};var _wcscspn=Module["_wcscspn"]=function(){return Module["asm"]["_wcscspn"].apply(null,arguments)};var _wcsdup=Module["_wcsdup"]=function(){return Module["asm"]["_wcsdup"].apply(null,arguments)};var _wcslen=Module["_wcslen"]=function(){return Module["asm"]["_wcslen"].apply(null,arguments)};var _wcsncasecmp=Module["_wcsncasecmp"]=function(){return Module["asm"]["_wcsncasecmp"].apply(null,arguments)};var _wcsncasecmp_l=Module["_wcsncasecmp_l"]=function(){return Module["asm"]["_wcsncasecmp_l"].apply(null,arguments)};var _wcsncat=Module["_wcsncat"]=function(){return Module["asm"]["_wcsncat"].apply(null,arguments)};var _wcsncmp=Module["_wcsncmp"]=function(){return Module["asm"]["_wcsncmp"].apply(null,arguments)};var _wcsncpy=Module["_wcsncpy"]=function(){return Module["asm"]["_wcsncpy"].apply(null,arguments)};var _wcsnlen=Module["_wcsnlen"]=function(){return Module["asm"]["_wcsnlen"].apply(null,arguments)};var _wcsnrtombs=Module["_wcsnrtombs"]=function(){return Module["asm"]["_wcsnrtombs"].apply(null,arguments)};var _wcspbrk=Module["_wcspbrk"]=function(){return Module["asm"]["_wcspbrk"].apply(null,arguments)};var _wcsrchr=Module["_wcsrchr"]=function(){return Module["asm"]["_wcsrchr"].apply(null,arguments)};var _wcsrtombs=Module["_wcsrtombs"]=function(){return Module["asm"]["_wcsrtombs"].apply(null,arguments)};var _wcsspn=Module["_wcsspn"]=function(){return Module["asm"]["_wcsspn"].apply(null,arguments)};var _wcsstr=Module["_wcsstr"]=function(){return Module["asm"]["_wcsstr"].apply(null,arguments)};var _wcstod=Module["_wcstod"]=function(){return Module["asm"]["_wcstod"].apply(null,arguments)};var _wcstof=Module["_wcstof"]=function(){return Module["asm"]["_wcstof"].apply(null,arguments)};var _wcstoimax=Module["_wcstoimax"]=function(){return Module["asm"]["_wcstoimax"].apply(null,arguments)};var _wcstok=Module["_wcstok"]=function(){return Module["asm"]["_wcstok"].apply(null,arguments)};var _wcstol=Module["_wcstol"]=function(){return Module["asm"]["_wcstol"].apply(null,arguments)};var _wcstold=Module["_wcstold"]=function(){return Module["asm"]["_wcstold"].apply(null,arguments)};var _wcstoll=Module["_wcstoll"]=function(){return Module["asm"]["_wcstoll"].apply(null,arguments)};var _wcstombs=Module["_wcstombs"]=function(){return Module["asm"]["_wcstombs"].apply(null,arguments)};var _wcstoul=Module["_wcstoul"]=function(){return Module["asm"]["_wcstoul"].apply(null,arguments)};var _wcstoull=Module["_wcstoull"]=function(){return Module["asm"]["_wcstoull"].apply(null,arguments)};var _wcstoumax=Module["_wcstoumax"]=function(){return Module["asm"]["_wcstoumax"].apply(null,arguments)};var _wcstox=Module["_wcstox"]=function(){return Module["asm"]["_wcstox"].apply(null,arguments)};var _wcstox_148=Module["_wcstox_148"]=function(){return Module["asm"]["_wcstox_148"].apply(null,arguments)};var _wcswcs=Module["_wcswcs"]=function(){return Module["asm"]["_wcswcs"].apply(null,arguments)};var _wcswidth=Module["_wcswidth"]=function(){return Module["asm"]["_wcswidth"].apply(null,arguments)};var _wcsxfrm=Module["_wcsxfrm"]=function(){return Module["asm"]["_wcsxfrm"].apply(null,arguments)};var _wctob=Module["_wctob"]=function(){return Module["asm"]["_wctob"].apply(null,arguments)};var _wctomb=Module["_wctomb"]=function(){return Module["asm"]["_wctomb"].apply(null,arguments)};var _wctrans=Module["_wctrans"]=function(){return Module["asm"]["_wctrans"].apply(null,arguments)};var _wctrans_l=Module["_wctrans_l"]=function(){return Module["asm"]["_wctrans_l"].apply(null,arguments)};var _wctype=Module["_wctype"]=function(){return Module["asm"]["_wctype"].apply(null,arguments)};var _wctype_l=Module["_wctype_l"]=function(){return Module["asm"]["_wctype_l"].apply(null,arguments)};var _wcwidth=Module["_wcwidth"]=function(){return Module["asm"]["_wcwidth"].apply(null,arguments)};var _weakref___init__=Module["_weakref___init__"]=function(){return Module["asm"]["_weakref___init__"].apply(null,arguments)};var _weakref___new__=Module["_weakref___new__"]=function(){return Module["asm"]["_weakref___new__"].apply(null,arguments)};var _weakref_call=Module["_weakref_call"]=function(){return Module["asm"]["_weakref_call"].apply(null,arguments)};var _weakref_dealloc=Module["_weakref_dealloc"]=function(){return Module["asm"]["_weakref_dealloc"].apply(null,arguments)};var _weakref_getweakrefs=Module["_weakref_getweakrefs"]=function(){return Module["asm"]["_weakref_getweakrefs"].apply(null,arguments)};var _weakref_hash=Module["_weakref_hash"]=function(){return Module["asm"]["_weakref_hash"].apply(null,arguments)};var _weakref_proxy=Module["_weakref_proxy"]=function(){return Module["asm"]["_weakref_proxy"].apply(null,arguments)};var _weakref_repr=Module["_weakref_repr"]=function(){return Module["asm"]["_weakref_repr"].apply(null,arguments)};var _weakref_richcompare=Module["_weakref_richcompare"]=function(){return Module["asm"]["_weakref_richcompare"].apply(null,arguments)};var _whereAndInfoDelete=Module["_whereAndInfoDelete"]=function(){return Module["asm"]["_whereAndInfoDelete"].apply(null,arguments)};var _whereClauseInsert=Module["_whereClauseInsert"]=function(){return Module["asm"]["_whereClauseInsert"].apply(null,arguments)};var _whereCombineDisjuncts=Module["_whereCombineDisjuncts"]=function(){return Module["asm"]["_whereCombineDisjuncts"].apply(null,arguments)};var _whereIndexExprTrans=Module["_whereIndexExprTrans"]=function(){return Module["asm"]["_whereIndexExprTrans"].apply(null,arguments)};var _whereIndexExprTransNode=Module["_whereIndexExprTransNode"]=function(){return Module["asm"]["_whereIndexExprTransNode"].apply(null,arguments)};var _whereInfoFree=Module["_whereInfoFree"]=function(){return Module["asm"]["_whereInfoFree"].apply(null,arguments)};var _whereLikeOptimizationStringFixup=Module["_whereLikeOptimizationStringFixup"]=function(){return Module["asm"]["_whereLikeOptimizationStringFixup"].apply(null,arguments)};var _whereLoopAddAll=Module["_whereLoopAddAll"]=function(){return Module["asm"]["_whereLoopAddAll"].apply(null,arguments)};var _whereLoopAddBtree=Module["_whereLoopAddBtree"]=function(){return Module["asm"]["_whereLoopAddBtree"].apply(null,arguments)};var _whereLoopAddBtreeIndex=Module["_whereLoopAddBtreeIndex"]=function(){return Module["asm"]["_whereLoopAddBtreeIndex"].apply(null,arguments)};var _whereLoopAddOr=Module["_whereLoopAddOr"]=function(){return Module["asm"]["_whereLoopAddOr"].apply(null,arguments)};var _whereLoopAddVirtual=Module["_whereLoopAddVirtual"]=function(){return Module["asm"]["_whereLoopAddVirtual"].apply(null,arguments)};var _whereLoopAddVirtualOne=Module["_whereLoopAddVirtualOne"]=function(){return Module["asm"]["_whereLoopAddVirtualOne"].apply(null,arguments)};var _whereLoopAdjustCost=Module["_whereLoopAdjustCost"]=function(){return Module["asm"]["_whereLoopAdjustCost"].apply(null,arguments)};var _whereLoopCheaperProperSubset=Module["_whereLoopCheaperProperSubset"]=function(){return Module["asm"]["_whereLoopCheaperProperSubset"].apply(null,arguments)};var _whereLoopClear=Module["_whereLoopClear"]=function(){return Module["asm"]["_whereLoopClear"].apply(null,arguments)};var _whereLoopClearUnion=Module["_whereLoopClearUnion"]=function(){return Module["asm"]["_whereLoopClearUnion"].apply(null,arguments)};var _whereLoopDelete=Module["_whereLoopDelete"]=function(){return Module["asm"]["_whereLoopDelete"].apply(null,arguments)};var _whereLoopFindLesser=Module["_whereLoopFindLesser"]=function(){return Module["asm"]["_whereLoopFindLesser"].apply(null,arguments)};var _whereLoopInit=Module["_whereLoopInit"]=function(){return Module["asm"]["_whereLoopInit"].apply(null,arguments)};var _whereLoopInsert=Module["_whereLoopInsert"]=function(){return Module["asm"]["_whereLoopInsert"].apply(null,arguments)};var _whereLoopOutputAdjust=Module["_whereLoopOutputAdjust"]=function(){return Module["asm"]["_whereLoopOutputAdjust"].apply(null,arguments)};var _whereLoopResize=Module["_whereLoopResize"]=function(){return Module["asm"]["_whereLoopResize"].apply(null,arguments)};var _whereLoopXfer=Module["_whereLoopXfer"]=function(){return Module["asm"]["_whereLoopXfer"].apply(null,arguments)};var _whereNthSubterm=Module["_whereNthSubterm"]=function(){return Module["asm"]["_whereNthSubterm"].apply(null,arguments)};var _whereOrInfoDelete=Module["_whereOrInfoDelete"]=function(){return Module["asm"]["_whereOrInfoDelete"].apply(null,arguments)};var _whereOrInsert=Module["_whereOrInsert"]=function(){return Module["asm"]["_whereOrInsert"].apply(null,arguments)};var _whereOrMove=Module["_whereOrMove"]=function(){return Module["asm"]["_whereOrMove"].apply(null,arguments)};var _wherePathSatisfiesOrderBy=Module["_wherePathSatisfiesOrderBy"]=function(){return Module["asm"]["_wherePathSatisfiesOrderBy"].apply(null,arguments)};var _wherePathSolver=Module["_wherePathSolver"]=function(){return Module["asm"]["_wherePathSolver"].apply(null,arguments)};var _whereRangeAdjust=Module["_whereRangeAdjust"]=function(){return Module["asm"]["_whereRangeAdjust"].apply(null,arguments)};var _whereRangeScanEst=Module["_whereRangeScanEst"]=function(){return Module["asm"]["_whereRangeScanEst"].apply(null,arguments)};var _whereRangeVectorLen=Module["_whereRangeVectorLen"]=function(){return Module["asm"]["_whereRangeVectorLen"].apply(null,arguments)};var _whereScanInit=Module["_whereScanInit"]=function(){return Module["asm"]["_whereScanInit"].apply(null,arguments)};var _whereScanInitIndexExpr=Module["_whereScanInitIndexExpr"]=function(){return Module["asm"]["_whereScanInitIndexExpr"].apply(null,arguments)};var _whereScanNext=Module["_whereScanNext"]=function(){return Module["asm"]["_whereScanNext"].apply(null,arguments)};var _whereShortCut=Module["_whereShortCut"]=function(){return Module["asm"]["_whereShortCut"].apply(null,arguments)};var _whereSortingCost=Module["_whereSortingCost"]=function(){return Module["asm"]["_whereSortingCost"].apply(null,arguments)};var _whereUsablePartialIndex=Module["_whereUsablePartialIndex"]=function(){return Module["asm"]["_whereUsablePartialIndex"].apply(null,arguments)};var _windowAggFinal=Module["_windowAggFinal"]=function(){return Module["asm"]["_windowAggFinal"].apply(null,arguments)};var _windowAggStep=Module["_windowAggStep"]=function(){return Module["asm"]["_windowAggStep"].apply(null,arguments)};var _windowArgCount=Module["_windowArgCount"]=function(){return Module["asm"]["_windowArgCount"].apply(null,arguments)};var _windowCheckIntValue=Module["_windowCheckIntValue"]=function(){return Module["asm"]["_windowCheckIntValue"].apply(null,arguments)};var _windowCodeCacheStep=Module["_windowCodeCacheStep"]=function(){return Module["asm"]["_windowCodeCacheStep"].apply(null,arguments)};var _windowCodeDefaultStep=Module["_windowCodeDefaultStep"]=function(){return Module["asm"]["_windowCodeDefaultStep"].apply(null,arguments)};var _windowCodeRowExprStep=Module["_windowCodeRowExprStep"]=function(){return Module["asm"]["_windowCodeRowExprStep"].apply(null,arguments)};var _windowInitAccum=Module["_windowInitAccum"]=function(){return Module["asm"]["_windowInitAccum"].apply(null,arguments)};var _windowPartitionCache=Module["_windowPartitionCache"]=function(){return Module["asm"]["_windowPartitionCache"].apply(null,arguments)};var _windowReturnOneRow=Module["_windowReturnOneRow"]=function(){return Module["asm"]["_windowReturnOneRow"].apply(null,arguments)};var _windowReturnRows=Module["_windowReturnRows"]=function(){return Module["asm"]["_windowReturnRows"].apply(null,arguments)};var _winfnt_get_header=Module["_winfnt_get_header"]=function(){return Module["asm"]["_winfnt_get_header"].apply(null,arguments)};var _winfnt_get_service=Module["_winfnt_get_service"]=function(){return Module["asm"]["_winfnt_get_service"].apply(null,arguments)};var _withDup=Module["_withDup"]=function(){return Module["asm"]["_withDup"].apply(null,arguments)};var _withExpand=Module["_withExpand"]=function(){return Module["asm"]["_withExpand"].apply(null,arguments)};var _wmemchr=Module["_wmemchr"]=function(){return Module["asm"]["_wmemchr"].apply(null,arguments)};var _wmemcmp=Module["_wmemcmp"]=function(){return Module["asm"]["_wmemcmp"].apply(null,arguments)};var _wmemcpy=Module["_wmemcpy"]=function(){return Module["asm"]["_wmemcpy"].apply(null,arguments)};var _wmemmove=Module["_wmemmove"]=function(){return Module["asm"]["_wmemmove"].apply(null,arguments)};var _wmemset=Module["_wmemset"]=function(){return Module["asm"]["_wmemset"].apply(null,arguments)};var _wms_close=Module["_wms_close"]=function(){return Module["asm"]["_wms_close"].apply(null,arguments)};var _wms_seek=Module["_wms_seek"]=function(){return Module["asm"]["_wms_seek"].apply(null,arguments)};var _wms_write=Module["_wms_write"]=function(){return Module["asm"]["_wms_write"].apply(null,arguments)};var _word_to_string=Module["_word_to_string"]=function(){return Module["asm"]["_word_to_string"].apply(null,arguments)};var _wprintf=Module["_wprintf"]=function(){return Module["asm"]["_wprintf"].apply(null,arguments)};var _wprintf_core=Module["_wprintf_core"]=function(){return Module["asm"]["_wprintf_core"].apply(null,arguments)};var _wrap_binaryfunc=Module["_wrap_binaryfunc"]=function(){return Module["asm"]["_wrap_binaryfunc"].apply(null,arguments)};var _wrap_binaryfunc_l=Module["_wrap_binaryfunc_l"]=function(){return Module["asm"]["_wrap_binaryfunc_l"].apply(null,arguments)};var _wrap_binaryfunc_r=Module["_wrap_binaryfunc_r"]=function(){return Module["asm"]["_wrap_binaryfunc_r"].apply(null,arguments)};var _wrap_call=Module["_wrap_call"]=function(){return Module["asm"]["_wrap_call"].apply(null,arguments)};var _wrap_del=Module["_wrap_del"]=function(){return Module["asm"]["_wrap_del"].apply(null,arguments)};var _wrap_delattr=Module["_wrap_delattr"]=function(){return Module["asm"]["_wrap_delattr"].apply(null,arguments)};var _wrap_delitem=Module["_wrap_delitem"]=function(){return Module["asm"]["_wrap_delitem"].apply(null,arguments)};var _wrap_descr_delete=Module["_wrap_descr_delete"]=function(){return Module["asm"]["_wrap_descr_delete"].apply(null,arguments)};var _wrap_descr_get=Module["_wrap_descr_get"]=function(){return Module["asm"]["_wrap_descr_get"].apply(null,arguments)};var _wrap_descr_set=Module["_wrap_descr_set"]=function(){return Module["asm"]["_wrap_descr_set"].apply(null,arguments)};var _wrap_hashfunc=Module["_wrap_hashfunc"]=function(){return Module["asm"]["_wrap_hashfunc"].apply(null,arguments)};var _wrap_indexargfunc=Module["_wrap_indexargfunc"]=function(){return Module["asm"]["_wrap_indexargfunc"].apply(null,arguments)};var _wrap_init=Module["_wrap_init"]=function(){return Module["asm"]["_wrap_init"].apply(null,arguments)};var _wrap_inquirypred=Module["_wrap_inquirypred"]=function(){return Module["asm"]["_wrap_inquirypred"].apply(null,arguments)};var _wrap_lenfunc=Module["_wrap_lenfunc"]=function(){return Module["asm"]["_wrap_lenfunc"].apply(null,arguments)};var _wrap_next=Module["_wrap_next"]=function(){return Module["asm"]["_wrap_next"].apply(null,arguments)};var _wrap_objobjargproc=Module["_wrap_objobjargproc"]=function(){return Module["asm"]["_wrap_objobjargproc"].apply(null,arguments)};var _wrap_objobjproc=Module["_wrap_objobjproc"]=function(){return Module["asm"]["_wrap_objobjproc"].apply(null,arguments)};var _wrap_setattr=Module["_wrap_setattr"]=function(){return Module["asm"]["_wrap_setattr"].apply(null,arguments)};var _wrap_sq_delitem=Module["_wrap_sq_delitem"]=function(){return Module["asm"]["_wrap_sq_delitem"].apply(null,arguments)};var _wrap_sq_item=Module["_wrap_sq_item"]=function(){return Module["asm"]["_wrap_sq_item"].apply(null,arguments)};var _wrap_sq_setitem=Module["_wrap_sq_setitem"]=function(){return Module["asm"]["_wrap_sq_setitem"].apply(null,arguments)};var _wrap_strftime=Module["_wrap_strftime"]=function(){return Module["asm"]["_wrap_strftime"].apply(null,arguments)};var _wrap_ternaryfunc=Module["_wrap_ternaryfunc"]=function(){return Module["asm"]["_wrap_ternaryfunc"].apply(null,arguments)};var _wrap_ternaryfunc_r=Module["_wrap_ternaryfunc_r"]=function(){return Module["asm"]["_wrap_ternaryfunc_r"].apply(null,arguments)};var _wrap_unaryfunc=Module["_wrap_unaryfunc"]=function(){return Module["asm"]["_wrap_unaryfunc"].apply(null,arguments)};var _wrap_write=Module["_wrap_write"]=function(){return Module["asm"]["_wrap_write"].apply(null,arguments)};var _wrapper_call=Module["_wrapper_call"]=function(){return Module["asm"]["_wrapper_call"].apply(null,arguments)};var _wrapper_dealloc=Module["_wrapper_dealloc"]=function(){return Module["asm"]["_wrapper_dealloc"].apply(null,arguments)};var _wrapper_doc=Module["_wrapper_doc"]=function(){return Module["asm"]["_wrapper_doc"].apply(null,arguments)};var _wrapper_hash=Module["_wrapper_hash"]=function(){return Module["asm"]["_wrapper_hash"].apply(null,arguments)};var _wrapper_name=Module["_wrapper_name"]=function(){return Module["asm"]["_wrapper_name"].apply(null,arguments)};var _wrapper_objclass=Module["_wrapper_objclass"]=function(){return Module["asm"]["_wrapper_objclass"].apply(null,arguments)};var _wrapper_qualname=Module["_wrapper_qualname"]=function(){return Module["asm"]["_wrapper_qualname"].apply(null,arguments)};var _wrapper_reduce=Module["_wrapper_reduce"]=function(){return Module["asm"]["_wrapper_reduce"].apply(null,arguments)};var _wrapper_repr=Module["_wrapper_repr"]=function(){return Module["asm"]["_wrapper_repr"].apply(null,arguments)};var _wrapper_richcompare=Module["_wrapper_richcompare"]=function(){return Module["asm"]["_wrapper_richcompare"].apply(null,arguments)};var _wrapper_text_signature=Module["_wrapper_text_signature"]=function(){return Module["asm"]["_wrapper_text_signature"].apply(null,arguments)};var _wrapper_traverse=Module["_wrapper_traverse"]=function(){return Module["asm"]["_wrapper_traverse"].apply(null,arguments)};var _wrapperdescr_call=Module["_wrapperdescr_call"]=function(){return Module["asm"]["_wrapperdescr_call"].apply(null,arguments)};var _wrapperdescr_get=Module["_wrapperdescr_get"]=function(){return Module["asm"]["_wrapperdescr_get"].apply(null,arguments)};var _wrapperdescr_get_doc=Module["_wrapperdescr_get_doc"]=function(){return Module["asm"]["_wrapperdescr_get_doc"].apply(null,arguments)};var _wrapperdescr_get_text_signature=Module["_wrapperdescr_get_text_signature"]=function(){return Module["asm"]["_wrapperdescr_get_text_signature"].apply(null,arguments)};var _wrapperdescr_repr=Module["_wrapperdescr_repr"]=function(){return Module["asm"]["_wrapperdescr_repr"].apply(null,arguments)};var _write=Module["_write"]=function(){return Module["asm"]["_write"].apply(null,arguments)};var _write32bits=Module["_write32bits"]=function(){return Module["asm"]["_write32bits"].apply(null,arguments)};var _writeCoord=Module["_writeCoord"]=function(){return Module["asm"]["_writeCoord"].apply(null,arguments)};var _writeInt16=Module["_writeInt16"]=function(){return Module["asm"]["_writeInt16"].apply(null,arguments)};var _writeInt64=Module["_writeInt64"]=function(){return Module["asm"]["_writeInt64"].apply(null,arguments)};var _writeJournalHdr=Module["_writeJournalHdr"]=function(){return Module["asm"]["_writeJournalHdr"].apply(null,arguments)};var _writeMasterJournal=Module["_writeMasterJournal"]=function(){return Module["asm"]["_writeMasterJournal"].apply(null,arguments)};var _write_str=Module["_write_str"]=function(){return Module["asm"]["_write_str"].apply(null,arguments)};var _writev=Module["_writev"]=function(){return Module["asm"]["_writev"].apply(null,arguments)};var _wscanf=Module["_wscanf"]=function(){return Module["asm"]["_wscanf"].apply(null,arguments)};var _wstring_read=Module["_wstring_read"]=function(){return Module["asm"]["_wstring_read"].apply(null,arguments)};var _x_add=Module["_x_add"]=function(){return Module["asm"]["_x_add"].apply(null,arguments)};var _x_divrem=Module["_x_divrem"]=function(){return Module["asm"]["_x_divrem"].apply(null,arguments)};var _x_sub=Module["_x_sub"]=function(){return Module["asm"]["_x_sub"].apply(null,arguments)};var _xferCompatibleIndex=Module["_xferCompatibleIndex"]=function(){return Module["asm"]["_xferCompatibleIndex"].apply(null,arguments)};var _xferOptimization=Module["_xferOptimization"]=function(){return Module["asm"]["_xferOptimization"].apply(null,arguments)};var _xmlcharrefreplace=Module["_xmlcharrefreplace"]=function(){return Module["asm"]["_xmlcharrefreplace"].apply(null,arguments)};var _xmlcharrefreplace_errors=Module["_xmlcharrefreplace_errors"]=function(){return Module["asm"]["_xmlcharrefreplace_errors"].apply(null,arguments)};var _xmlparse_clear=Module["_xmlparse_clear"]=function(){return Module["asm"]["_xmlparse_clear"].apply(null,arguments)};var _xmlparse_dealloc=Module["_xmlparse_dealloc"]=function(){return Module["asm"]["_xmlparse_dealloc"].apply(null,arguments)};var _xmlparse_getattro=Module["_xmlparse_getattro"]=function(){return Module["asm"]["_xmlparse_getattro"].apply(null,arguments)};var _xmlparse_setattro=Module["_xmlparse_setattro"]=function(){return Module["asm"]["_xmlparse_setattro"].apply(null,arguments)};var _xmlparse_traverse=Module["_xmlparse_traverse"]=function(){return Module["asm"]["_xmlparse_traverse"].apply(null,arguments)};var _xxsubtype_exec=Module["_xxsubtype_exec"]=function(){return Module["asm"]["_xxsubtype_exec"].apply(null,arguments)};var _y0=Module["_y0"]=function(){return Module["asm"]["_y0"].apply(null,arguments)};var _y0f=Module["_y0f"]=function(){return Module["asm"]["_y0f"].apply(null,arguments)};var _y1=Module["_y1"]=function(){return Module["asm"]["_y1"].apply(null,arguments)};var _y1f=Module["_y1f"]=function(){return Module["asm"]["_y1f"].apply(null,arguments)};var _yn=Module["_yn"]=function(){return Module["asm"]["_yn"].apply(null,arguments)};var _ynf=Module["_ynf"]=function(){return Module["asm"]["_ynf"].apply(null,arguments)};var _yyStackOverflow=Module["_yyStackOverflow"]=function(){return Module["asm"]["_yyStackOverflow"].apply(null,arguments)};var _yy_accept=Module["_yy_accept"]=function(){return Module["asm"]["_yy_accept"].apply(null,arguments)};var _yy_destructor=Module["_yy_destructor"]=function(){return Module["asm"]["_yy_destructor"].apply(null,arguments)};var _yy_find_reduce_action=Module["_yy_find_reduce_action"]=function(){return Module["asm"]["_yy_find_reduce_action"].apply(null,arguments)};var _yy_find_shift_action=Module["_yy_find_shift_action"]=function(){return Module["asm"]["_yy_find_shift_action"].apply(null,arguments)};var _yy_pop_parser_stack=Module["_yy_pop_parser_stack"]=function(){return Module["asm"]["_yy_pop_parser_stack"].apply(null,arguments)};var _yy_reduce=Module["_yy_reduce"]=function(){return Module["asm"]["_yy_reduce"].apply(null,arguments)};var _yy_shift=Module["_yy_shift"]=function(){return Module["asm"]["_yy_shift"].apply(null,arguments)};var _yy_syntax_error=Module["_yy_syntax_error"]=function(){return Module["asm"]["_yy_syntax_error"].apply(null,arguments)};var _zError=Module["_zError"]=function(){return Module["asm"]["_zError"].apply(null,arguments)};var _zcalloc=Module["_zcalloc"]=function(){return Module["asm"]["_zcalloc"].apply(null,arguments)};var _zcalloc_14026=Module["_zcalloc_14026"]=function(){return Module["asm"]["_zcalloc_14026"].apply(null,arguments)};var _zcfree=Module["_zcfree"]=function(){return Module["asm"]["_zcfree"].apply(null,arguments)};var _zcfree_14028=Module["_zcfree_14028"]=function(){return Module["asm"]["_zcfree_14028"].apply(null,arguments)};var _zeroJournalHdr=Module["_zeroJournalHdr"]=function(){return Module["asm"]["_zeroJournalHdr"].apply(null,arguments)};var _zeroPage=Module["_zeroPage"]=function(){return Module["asm"]["_zeroPage"].apply(null,arguments)};var _zeroblobFunc=Module["_zeroblobFunc"]=function(){return Module["asm"]["_zeroblobFunc"].apply(null,arguments)};var _zip_dealloc=Module["_zip_dealloc"]=function(){return Module["asm"]["_zip_dealloc"].apply(null,arguments)};var _zip_longest_dealloc=Module["_zip_longest_dealloc"]=function(){return Module["asm"]["_zip_longest_dealloc"].apply(null,arguments)};var _zip_longest_new=Module["_zip_longest_new"]=function(){return Module["asm"]["_zip_longest_new"].apply(null,arguments)};var _zip_longest_next=Module["_zip_longest_next"]=function(){return Module["asm"]["_zip_longest_next"].apply(null,arguments)};var _zip_longest_reduce=Module["_zip_longest_reduce"]=function(){return Module["asm"]["_zip_longest_reduce"].apply(null,arguments)};var _zip_longest_setstate=Module["_zip_longest_setstate"]=function(){return Module["asm"]["_zip_longest_setstate"].apply(null,arguments)};var _zip_longest_traverse=Module["_zip_longest_traverse"]=function(){return Module["asm"]["_zip_longest_traverse"].apply(null,arguments)};var _zip_new=Module["_zip_new"]=function(){return Module["asm"]["_zip_new"].apply(null,arguments)};var _zip_next=Module["_zip_next"]=function(){return Module["asm"]["_zip_next"].apply(null,arguments)};var _zip_reduce=Module["_zip_reduce"]=function(){return Module["asm"]["_zip_reduce"].apply(null,arguments)};var _zip_traverse=Module["_zip_traverse"]=function(){return Module["asm"]["_zip_traverse"].apply(null,arguments)};var _zipimport_zipimporter___init__=Module["_zipimport_zipimporter___init__"]=function(){return Module["asm"]["_zipimport_zipimporter___init__"].apply(null,arguments)};var _zipimport_zipimporter_find_loader=Module["_zipimport_zipimporter_find_loader"]=function(){return Module["asm"]["_zipimport_zipimporter_find_loader"].apply(null,arguments)};var _zipimport_zipimporter_find_module=Module["_zipimport_zipimporter_find_module"]=function(){return Module["asm"]["_zipimport_zipimporter_find_module"].apply(null,arguments)};var _zipimport_zipimporter_get_code=Module["_zipimport_zipimporter_get_code"]=function(){return Module["asm"]["_zipimport_zipimporter_get_code"].apply(null,arguments)};var _zipimport_zipimporter_get_data=Module["_zipimport_zipimporter_get_data"]=function(){return Module["asm"]["_zipimport_zipimporter_get_data"].apply(null,arguments)};var _zipimport_zipimporter_get_filename=Module["_zipimport_zipimporter_get_filename"]=function(){return Module["asm"]["_zipimport_zipimporter_get_filename"].apply(null,arguments)};var _zipimport_zipimporter_get_resource_reader=Module["_zipimport_zipimporter_get_resource_reader"]=function(){return Module["asm"]["_zipimport_zipimporter_get_resource_reader"].apply(null,arguments)};var _zipimport_zipimporter_get_source=Module["_zipimport_zipimporter_get_source"]=function(){return Module["asm"]["_zipimport_zipimporter_get_source"].apply(null,arguments)};var _zipimport_zipimporter_is_package=Module["_zipimport_zipimporter_is_package"]=function(){return Module["asm"]["_zipimport_zipimporter_is_package"].apply(null,arguments)};var _zipimport_zipimporter_load_module=Module["_zipimport_zipimporter_load_module"]=function(){return Module["asm"]["_zipimport_zipimporter_load_module"].apply(null,arguments)};var _zipimporter_dealloc=Module["_zipimporter_dealloc"]=function(){return Module["asm"]["_zipimporter_dealloc"].apply(null,arguments)};var _zipimporter_repr=Module["_zipimporter_repr"]=function(){return Module["asm"]["_zipimporter_repr"].apply(null,arguments)};var _zipimporter_traverse=Module["_zipimporter_traverse"]=function(){return Module["asm"]["_zipimporter_traverse"].apply(null,arguments)};var _zlibCompileFlags=Module["_zlibCompileFlags"]=function(){return Module["asm"]["_zlibCompileFlags"].apply(null,arguments)};var _zlibVersion=Module["_zlibVersion"]=function(){return Module["asm"]["_zlibVersion"].apply(null,arguments)};var _zlib_Compress_compress=Module["_zlib_Compress_compress"]=function(){return Module["asm"]["_zlib_Compress_compress"].apply(null,arguments)};var _zlib_Compress_flush=Module["_zlib_Compress_flush"]=function(){return Module["asm"]["_zlib_Compress_flush"].apply(null,arguments)};var _zlib_Decompress_decompress=Module["_zlib_Decompress_decompress"]=function(){return Module["asm"]["_zlib_Decompress_decompress"].apply(null,arguments)};var _zlib_Decompress_flush=Module["_zlib_Decompress_flush"]=function(){return Module["asm"]["_zlib_Decompress_flush"].apply(null,arguments)};var _zlib_adler32=Module["_zlib_adler32"]=function(){return Module["asm"]["_zlib_adler32"].apply(null,arguments)};var _zlib_compress=Module["_zlib_compress"]=function(){return Module["asm"]["_zlib_compress"].apply(null,arguments)};var _zlib_compressobj=Module["_zlib_compressobj"]=function(){return Module["asm"]["_zlib_compressobj"].apply(null,arguments)};var _zlib_crc32=Module["_zlib_crc32"]=function(){return Module["asm"]["_zlib_crc32"].apply(null,arguments)};var _zlib_decompress=Module["_zlib_decompress"]=function(){return Module["asm"]["_zlib_decompress"].apply(null,arguments)};var _zlib_decompressobj=Module["_zlib_decompressobj"]=function(){return Module["asm"]["_zlib_decompressobj"].apply(null,arguments)};var establishStackSpace=Module["establishStackSpace"]=function(){return Module["asm"]["establishStackSpace"].apply(null,arguments)};var globalCtors=Module["globalCtors"]=function(){return Module["asm"]["globalCtors"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["stackAlloc"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["stackRestore"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["stackSave"].apply(null,arguments)};var dynCall_X=Module["dynCall_X"]=function(){return Module["asm"]["dynCall_X"].apply(null,arguments)};var dynCall_d=Module["dynCall_d"]=function(){return Module["asm"]["dynCall_d"].apply(null,arguments)};var dynCall_dd=Module["dynCall_dd"]=function(){return Module["asm"]["dynCall_dd"].apply(null,arguments)};var dynCall_ddd=Module["dynCall_ddd"]=function(){return Module["asm"]["dynCall_ddd"].apply(null,arguments)};var dynCall_dddd=Module["dynCall_dddd"]=function(){return Module["asm"]["dynCall_dddd"].apply(null,arguments)};var dynCall_dddi=Module["dynCall_dddi"]=function(){return Module["asm"]["dynCall_dddi"].apply(null,arguments)};var dynCall_ddi=Module["dynCall_ddi"]=function(){return Module["asm"]["dynCall_ddi"].apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return Module["asm"]["dynCall_di"].apply(null,arguments)};var dynCall_did=Module["dynCall_did"]=function(){return Module["asm"]["dynCall_did"].apply(null,arguments)};var dynCall_dii=Module["dynCall_dii"]=function(){return Module["asm"]["dynCall_dii"].apply(null,arguments)};var dynCall_diii=Module["dynCall_diii"]=function(){return Module["asm"]["dynCall_diii"].apply(null,arguments)};var dynCall_fd=Module["dynCall_fd"]=function(){return Module["asm"]["dynCall_fd"].apply(null,arguments)};var dynCall_fdi=Module["dynCall_fdi"]=function(){return Module["asm"]["dynCall_fdi"].apply(null,arguments)};var dynCall_ff=Module["dynCall_ff"]=function(){return Module["asm"]["dynCall_ff"].apply(null,arguments)};var dynCall_ffd=Module["dynCall_ffd"]=function(){return Module["asm"]["dynCall_ffd"].apply(null,arguments)};var dynCall_fff=Module["dynCall_fff"]=function(){return Module["asm"]["dynCall_fff"].apply(null,arguments)};var dynCall_ffff=Module["dynCall_ffff"]=function(){return Module["asm"]["dynCall_ffff"].apply(null,arguments)};var dynCall_fffi=Module["dynCall_fffi"]=function(){return Module["asm"]["dynCall_fffi"].apply(null,arguments)};var dynCall_ffi=Module["dynCall_ffi"]=function(){return Module["asm"]["dynCall_ffi"].apply(null,arguments)};var dynCall_fi=Module["dynCall_fi"]=function(){return Module["asm"]["dynCall_fi"].apply(null,arguments)};var dynCall_fif=Module["dynCall_fif"]=function(){return Module["asm"]["dynCall_fif"].apply(null,arguments)};var dynCall_fii=Module["dynCall_fii"]=function(){return Module["asm"]["dynCall_fii"].apply(null,arguments)};var dynCall_fiii=Module["dynCall_fiii"]=function(){return Module["asm"]["dynCall_fiii"].apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return Module["asm"]["dynCall_i"].apply(null,arguments)};var dynCall_id=Module["dynCall_id"]=function(){return Module["asm"]["dynCall_id"].apply(null,arguments)};var dynCall_idd=Module["dynCall_idd"]=function(){return Module["asm"]["dynCall_idd"].apply(null,arguments)};var dynCall_idi=Module["dynCall_idi"]=function(){return Module["asm"]["dynCall_idi"].apply(null,arguments)};var dynCall_idii=Module["dynCall_idii"]=function(){return Module["asm"]["dynCall_idii"].apply(null,arguments)};var dynCall_idiii=Module["dynCall_idiii"]=function(){return Module["asm"]["dynCall_idiii"].apply(null,arguments)};var dynCall_idiiii=Module["dynCall_idiiii"]=function(){return Module["asm"]["dynCall_idiiii"].apply(null,arguments)};var dynCall_idiiiii=Module["dynCall_idiiiii"]=function(){return Module["asm"]["dynCall_idiiiii"].apply(null,arguments)};var dynCall_if=Module["dynCall_if"]=function(){return Module["asm"]["dynCall_if"].apply(null,arguments)};var dynCall_ifi=Module["dynCall_ifi"]=function(){return Module["asm"]["dynCall_ifi"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return Module["asm"]["dynCall_ii"].apply(null,arguments)};var dynCall_iid=Module["dynCall_iid"]=function(){return Module["asm"]["dynCall_iid"].apply(null,arguments)};var dynCall_iidi=Module["dynCall_iidi"]=function(){return Module["asm"]["dynCall_iidi"].apply(null,arguments)};var dynCall_iif=Module["dynCall_iif"]=function(){return Module["asm"]["dynCall_iif"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return Module["asm"]["dynCall_iii"].apply(null,arguments)};var dynCall_iiid=Module["dynCall_iiid"]=function(){return Module["asm"]["dynCall_iiid"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["dynCall_iiii"].apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return Module["asm"]["dynCall_iiiii"].apply(null,arguments)};var dynCall_iiiiid=Module["dynCall_iiiiid"]=function(){return Module["asm"]["dynCall_iiiiid"].apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return Module["asm"]["dynCall_iiiiii"].apply(null,arguments)};var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=function(){return Module["asm"]["dynCall_iiiiiid"].apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiii"].apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiiii"].apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiiiii"].apply(null,arguments)};var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiiiiii"].apply(null,arguments)};var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiiiiiii"].apply(null,arguments)};var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiiiiiiii"].apply(null,arguments)};var dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiiiiiiiii"].apply(null,arguments)};var dynCall_iiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiiiiiiiiiiii"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["dynCall_v"].apply(null,arguments)};var dynCall_vdii=Module["dynCall_vdii"]=function(){return Module["asm"]["dynCall_vdii"].apply(null,arguments)};var dynCall_vfii=Module["dynCall_vfii"]=function(){return Module["asm"]["dynCall_vfii"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return Module["asm"]["dynCall_vid"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["dynCall_vidd"].apply(null,arguments)};var dynCall_vidddd=Module["dynCall_vidddd"]=function(){return Module["asm"]["dynCall_vidddd"].apply(null,arguments)};var dynCall_vif=Module["dynCall_vif"]=function(){return Module["asm"]["dynCall_vif"].apply(null,arguments)};var dynCall_viffff=Module["dynCall_viffff"]=function(){return Module["asm"]["dynCall_viffff"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["dynCall_vii"].apply(null,arguments)};var dynCall_viid=Module["dynCall_viid"]=function(){return Module["asm"]["dynCall_viid"].apply(null,arguments)};var dynCall_viidd=Module["dynCall_viidd"]=function(){return Module["asm"]["dynCall_viidd"].apply(null,arguments)};var dynCall_viidddddddd=Module["dynCall_viidddddddd"]=function(){return Module["asm"]["dynCall_viidddddddd"].apply(null,arguments)};var dynCall_viiddddddddd=Module["dynCall_viiddddddddd"]=function(){return Module["asm"]["dynCall_viiddddddddd"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["dynCall_viii"].apply(null,arguments)};var dynCall_viiidd=Module["dynCall_viiidd"]=function(){return Module["asm"]["dynCall_viiidd"].apply(null,arguments)};var dynCall_viiidi=Module["dynCall_viiidi"]=function(){return Module["asm"]["dynCall_viiidi"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["dynCall_viiii"].apply(null,arguments)};var dynCall_viiiid=Module["dynCall_viiiid"]=function(){return Module["asm"]["dynCall_viiiid"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["dynCall_viiiii"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return Module["asm"]["dynCall_viiiiii"].apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiii"].apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiii"].apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiiii"].apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiiiii"].apply(null,arguments)};var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiiiiii"].apply(null,arguments)};var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=function(){return Module["asm"]["dynCall_viiiiiiiiiiiiiii"].apply(null,arguments)};Module["dynCall_X"]=dynCall_X;Module["dynCall_d"]=dynCall_d;Module["dynCall_dd"]=dynCall_dd;Module["dynCall_ddd"]=dynCall_ddd;Module["dynCall_dddd"]=dynCall_dddd;Module["dynCall_dddi"]=dynCall_dddi;Module["dynCall_ddi"]=dynCall_ddi;Module["dynCall_di"]=dynCall_di;Module["dynCall_did"]=dynCall_did;Module["dynCall_dii"]=dynCall_dii;Module["dynCall_diii"]=dynCall_diii;Module["dynCall_fd"]=dynCall_fd;Module["dynCall_fdi"]=dynCall_fdi;Module["dynCall_ff"]=dynCall_ff;Module["dynCall_ffd"]=dynCall_ffd;Module["dynCall_fff"]=dynCall_fff;Module["dynCall_ffff"]=dynCall_ffff;Module["dynCall_fffi"]=dynCall_fffi;Module["dynCall_ffi"]=dynCall_ffi;Module["dynCall_fi"]=dynCall_fi;Module["dynCall_fif"]=dynCall_fif;Module["dynCall_fii"]=dynCall_fii;Module["dynCall_fiii"]=dynCall_fiii;Module["dynCall_i"]=dynCall_i;Module["dynCall_id"]=dynCall_id;Module["dynCall_idd"]=dynCall_idd;Module["dynCall_idi"]=dynCall_idi;Module["dynCall_idii"]=dynCall_idii;Module["dynCall_idiii"]=dynCall_idiii;Module["dynCall_idiiii"]=dynCall_idiiii;Module["dynCall_idiiiii"]=dynCall_idiiiii;Module["dynCall_if"]=dynCall_if;Module["dynCall_ifi"]=dynCall_ifi;Module["dynCall_ii"]=dynCall_ii;Module["dynCall_iid"]=dynCall_iid;Module["dynCall_iidi"]=dynCall_iidi;Module["dynCall_iif"]=dynCall_iif;Module["dynCall_iii"]=dynCall_iii;Module["dynCall_iiid"]=dynCall_iiid;Module["dynCall_iiii"]=dynCall_iiii;Module["dynCall_iiiii"]=dynCall_iiiii;Module["dynCall_iiiiid"]=dynCall_iiiiid;Module["dynCall_iiiiii"]=dynCall_iiiiii;Module["dynCall_iiiiiid"]=dynCall_iiiiiid;Module["dynCall_iiiiiii"]=dynCall_iiiiiii;Module["dynCall_iiiiiiii"]=dynCall_iiiiiiii;Module["dynCall_iiiiiiiii"]=dynCall_iiiiiiiii;Module["dynCall_iiiiiiiiii"]=dynCall_iiiiiiiiii;Module["dynCall_iiiiiiiiiii"]=dynCall_iiiiiiiiiii;Module["dynCall_iiiiiiiiiiii"]=dynCall_iiiiiiiiiiii;Module["dynCall_iiiiiiiiiiiii"]=dynCall_iiiiiiiiiiiii;Module["dynCall_iiiiiiiiiiiiiiii"]=dynCall_iiiiiiiiiiiiiiii;Module["dynCall_v"]=dynCall_v;Module["dynCall_vdii"]=dynCall_vdii;Module["dynCall_vfii"]=dynCall_vfii;Module["dynCall_vi"]=dynCall_vi;Module["dynCall_vid"]=dynCall_vid;Module["dynCall_vidd"]=dynCall_vidd;Module["dynCall_vidddd"]=dynCall_vidddd;Module["dynCall_vif"]=dynCall_vif;Module["dynCall_viffff"]=dynCall_viffff;Module["dynCall_vii"]=dynCall_vii;Module["dynCall_viid"]=dynCall_viid;Module["dynCall_viidd"]=dynCall_viidd;Module["dynCall_viidddddddd"]=dynCall_viidddddddd;Module["dynCall_viiddddddddd"]=dynCall_viiddddddddd;Module["dynCall_viii"]=dynCall_viii;Module["dynCall_viiidd"]=dynCall_viiidd;Module["dynCall_viiidi"]=dynCall_viiidi;Module["dynCall_viiii"]=dynCall_viiii;Module["dynCall_viiiid"]=dynCall_viiiid;Module["dynCall_viiiii"]=dynCall_viiiii;Module["dynCall_viiiiii"]=dynCall_viiiiii;Module["dynCall_viiiiiii"]=dynCall_viiiiiii;Module["dynCall_viiiiiiii"]=dynCall_viiiiiiii;Module["dynCall_viiiiiiiii"]=dynCall_viiiiiiiii;Module["dynCall_viiiiiiiiii"]=dynCall_viiiiiiiiii;Module["dynCall_viiiiiiiiiii"]=dynCall_viiiiiiiiiii;Module["dynCall_viiiiiiiiiiiiiii"]=dynCall_viiiiiiiiiiiiiii;var NAMED_GLOBALS={"BZ2_crc32Table":2260464,"BZ2_rNums":2261488,"INV_P1P2_MOD_P3":2602968,"INV_P1_MOD_P2":2602964,"LH_P1P2":2602972,"MPD_MINALLOC":2602992,"MPD_TWO63":2602960,"PyAsyncGen_Type":2553316,"PyBaseObject_Type":2566364,"PyBlake2_BLAKE2bType":2596500,"PyBlake2_BLAKE2sType":2596740,"PyBool_Type":2534392,"PyBufferedIOBase_Type":2617496,"PyBufferedRWPair_Type":2618500,"PyBufferedRandom_Type":2618004,"PyBufferedReader_Type":2617720,"PyBufferedWriter_Type":2618252,"PyByteArrayIter_Type":2535412,"PyByteArray_Type":2534752,"PyBytesIO_Type":2617044,"PyBytesIter_Type":2536272,"PyBytes_Type":2535612,"PyCFunction_Type":2561216,"PyCallIter_Type":2556244,"PyCapsule_Type":2563068,"PyCell_Type":2536484,"PyClassMethodDescr_Type":2537948,"PyClassMethod_Type":2555644,"PyCode_Type":2537120,"PyComplex_Type":2537320,"PyContextTokenMissing_Type":2574944,"PyContextToken_Type":2574492,"PyContextVar_Type":2574280,"PyContext_Type":2574692,"PyCoro_Type":2553516,"PyDictItems_Type":2558780,"PyDictIterItem_Type":2558380,"PyDictIterKey_Type":2558580,"PyDictIterValue_Type":2558180,"PyDictKeys_Type":2559164,"PyDictProxy_Type":2538960,"PyDictValues_Type":2557940,"PyDict_Type":2557648,"PyEllipsis_Type":2565216,"PyEnum_Type":2539564,"PyExc_ArithmeticError":2549240,"PyExc_AssertionError":2549036,"PyExc_AttributeError":2542712,"PyExc_BaseException":2540024,"PyExc_BlockingIOError":2542304,"PyExc_BrokenPipeError":2543324,"PyExc_BufferError":2550668,"PyExc_BytesWarning":2552708,"PyExc_ChildProcessError":2543120,"PyExc_ConnectionAbortedError":2543528,"PyExc_ConnectionError":2542916,"PyExc_ConnectionRefusedError":2543732,"PyExc_ConnectionResetError":2543936,"PyExc_DeprecationWarning":2551280,"PyExc_EOFError":2545772,"PyExc_EnvironmentError":3001824,"PyExc_Exception":2540632,"PyExc_FileExistsError":2544140,"PyExc_FileNotFoundError":2544344,"PyExc_FloatingPointError":2549444,"PyExc_FutureWarning":2552096,"PyExc_GeneratorExit":2541044,"PyExc_IOError":3001828,"PyExc_ImportError":2541656,"PyExc_ImportWarning":2552300,"PyExc_IndentationError":2547604,"PyExc_IndexError":2547200,"PyExc_InterruptedError":2544956,"PyExc_IsADirectoryError":2544548,"PyExc_KeyError":2548016,"PyExc_KeyboardInterrupt":2541452,"PyExc_LookupError":2548012,"PyExc_MemoryError":2550464,"PyExc_ModuleNotFoundError":2541896,"PyExc_NameError":2546588,"PyExc_NotADirectoryError":2544752,"PyExc_NotImplementedError":2546384,"PyExc_OSError":2542100,"PyExc_OverflowError":2549648,"PyExc_PendingDeprecationWarning":2551484,"PyExc_PermissionError":2545160,"PyExc_ProcessLookupError":2545364,"PyExc_RecursionError":2546180,"PyExc_ReferenceError":2550260,"PyExc_ResourceWarning":2552912,"PyExc_RuntimeError":2545976,"PyExc_RuntimeWarning":2551892,"PyExc_StopAsyncIteration":2540636,"PyExc_StopIteration":2540840,"PyExc_SyntaxError":2546996,"PyExc_SyntaxWarning":2551688,"PyExc_SystemError":2550056,"PyExc_SystemExit":2541248,"PyExc_TabError":2547808,"PyExc_TimeoutError":2545568,"PyExc_TypeError":2540228,"PyExc_UnboundLocalError":2546792,"PyExc_UnicodeDecodeError":2548628,"PyExc_UnicodeEncodeError":2548424,"PyExc_UnicodeError":2548220,"PyExc_UnicodeTranslateError":2548832,"PyExc_UnicodeWarning":2552504,"PyExc_UserWarning":2551076,"PyExc_ValueError":2542308,"PyExc_Warning":2550872,"PyExc_ZeroDivisionError":2549852,"PyFPE_counter":3003132,"PyFPE_jbuf":2981152,"PyFileIO_Type":2616784,"PyFilter_Type":2572336,"PyFloat_Type":2554836,"PyFrame_Type":2555196,"PyFrozenSet_Type":2564856,"PyFunction_Type":2555408,"PyGen_Type":2553116,"PyGetSetDescr_Type":2538348,"PyIOBase_Type":2616312,"PyImport_FrozenModules":2621004,"PyImport_Inittab":2573656,"PyIncrementalNewlineDecoder_Type":2619008,"PyInstanceMethod_Type":2536920,"PyListIter_Type":2556944,"PyListRevIter_Type":2556744,"PyList_Type":2556444,"PyLongRangeIter_Type":2563864,"PyLong_Type":2557144,"PyMap_Type":2572536,"PyMemberDescr_Type":2538148,"PyMemoryView_Type":2560936,"PyMethodDescr_Type":2537724,"PyMethod_Type":2536684,"PyModuleDef_Type":2561440,"PyModule_Type":2561640,"PyODictItems_Type":2559948,"PyODictIter_Type":2559748,"PyODictKeys_Type":2560348,"PyODictValues_Type":2560148,"PyODict_Type":2559464,"PyOS_InputHook":3001772,"PyOS_ReadlineFunctionPointer":3001776,"PyProperty_Type":2539316,"PyRangeIter_Type":2563664,"PyRange_Type":2563268,"PyRawIOBase_Type":2616572,"PyReversed_Type":2539812,"PySTEntry_Type":2576876,"PySeqIter_Type":2556044,"PySetIter_Type":2564064,"PySet_Type":2564472,"PySimpleQueueType":2599204,"PySlice_Type":2565424,"PyStaticMethod_Type":2555844,"PyStdPrinter_Type":2554588,"PyStringIO_Type":2619804,"PyStructSequence_UnnamedField":2565624,"PySuper_Type":2568012,"PyTextIOBase_Type":2618808,"PyTextIOWrapper_Type":2619316,"PyTraceBack_Type":2577420,"PyTupleIter_Type":2566164,"PyTuple_Type":2565912,"PyType_Type":2566564,"PyUnicodeIter_Type":2568856,"PyUnicode_Type":2568212,"PyWrapperDescr_Type":2538548,"PyZip_Type":2572736,"Py_BytesWarningFlag":3003164,"Py_DebugFlag":3003136,"Py_DontWriteBytecodeFlag":3003176,"Py_FileSystemDefaultEncodeErrors":2572328,"Py_FileSystemDefaultEncoding":3003008,"Py_FrozenFlag":3003168,"Py_HasFileSystemDefaultEncoding":3003012,"Py_HashRandomizationFlag":3003188,"Py_IgnoreEnvironmentFlag":3003172,"Py_InspectFlag":3003152,"Py_InteractiveFlag":3003148,"Py_IsolatedFlag":3003192,"Py_NoSiteFlag":3003160,"Py_NoUserSiteDirectory":3003180,"Py_OptimizeFlag":3003156,"Py_QuietFlag":3003144,"Py_UTF8Mode":2572332,"Py_UnbufferedStdioFlag":3003184,"Py_VerboseFlag":3003140,"Py_hexdigits":2573508,"UH_P1P2":2602976,"_PyAsyncGenASend_Type":2554376,"_PyAsyncGenAThrow_Type":2553964,"_PyAsyncGenWrappedValue_Type":2554176,"_PyByteArray_empty_string":3013114,"_PyBytesIOBuffer_Type":2617288,"_PyCoroWrapper_Type":2553740,"_PyHamtItems_Type":2575144,"_PyHamtKeys_Type":2575756,"_PyHamtValues_Type":2575956,"_PyHamt_ArrayNode_Type":2575556,"_PyHamt_BitmapNode_Type":2575356,"_PyHamt_CollisionNode_Type":2576408,"_PyHamt_Type":2576156,"_PyIO_Module":2616176,"_PyIO_empty_bytes":3006980,"_PyIO_empty_str":3006976,"_PyIO_str_close":3006876,"_PyIO_str_closed":3006880,"_PyIO_str_decode":3006884,"_PyIO_str_encode":3006888,"_PyIO_str_fileno":3006892,"_PyIO_str_flush":3006896,"_PyIO_str_getstate":3006900,"_PyIO_str_isatty":3006904,"_PyIO_str_newlines":3006908,"_PyIO_str_nl":3006912,"_PyIO_str_peek":3006916,"_PyIO_str_read":3006920,"_PyIO_str_read1":3006924,"_PyIO_str_readable":3006928,"_PyIO_str_readall":3006932,"_PyIO_str_readinto":3006936,"_PyIO_str_readline":3006940,"_PyIO_str_reset":3006944,"_PyIO_str_seek":3006948,"_PyIO_str_seekable":3006952,"_PyIO_str_setstate":3006956,"_PyIO_str_tell":3006960,"_PyIO_str_truncate":3006964,"_PyIO_str_writable":3006968,"_PyIO_str_write":3006972,"_PyImport_DynLoadFiletab":212336,"_PyImport_Inittab":212352,"_PyLong_DigitValue":34688,"_PyLong_One":3002108,"_PyLong_Zero":3002104,"_PyManagedBuffer_Type":2560736,"_PyMethodWrapper_Type":2538748,"_PyNamespace_Type":2562020,"_PyNone_Type":2562228,"_PyNotImplemented_Type":2562572,"_PyOS_ReadlineTState":3001768,"_PyOS_mystrnicmp_hack":2574132,"_PyOS_optarg":3004288,"_PyOS_opterr":2577704,"_PyOS_optind":2577708,"_PyParser_Grammar":2573632,"_PyParser_TokenNames":928,"_PyRuntime":3000024,"_PySet_Dummy":2565212,"_PySys_ImplCacheTag":2577080,"_PySys_ImplName":2577076,"_PyUnicode_BidirectionalNames":262992,"_PyUnicode_CategoryNames":262864,"_PyUnicode_Database_Records":260816,"_PyUnicode_EastAsianWidthNames":263104,"_PyUnicode_ExtendedCase":75456,"_PyUnicode_TypeRecords":67504,"_PyWeakref_CallableProxyType":2570108,"_PyWeakref_ProxyType":2569908,"_PyWeakref_RefType":2569708,"_Py_CheckHashBasedPycsMode":2573660,"_Py_CheckRecursionLimit":2573300,"_Py_EllipsisObject":2565416,"_Py_FalseStruct":2534736,"_Py_HashSecret":3e6,"_Py_M__importlib":2153760,"_Py_M__importlib_external":2182896,"_Py_NoneStruct":2562220,"_Py_NotImplementedStruct":2562772,"_Py_PackageContext":3003104,"_Py_SwappedOp":43472,"_Py_TrueStruct":2534376,"_Py_abstract_hack":2562780,"_Py_ascii_whitespace":54640,"_Py_capitalize__doc__":2944,"_Py_center__doc__":5824,"_Py_count__doc__":4544,"_Py_ctype_table":197088,"_Py_ctype_tolower":198112,"_Py_ctype_toupper":198368,"_Py_endswith__doc__":5024,"_Py_expandtabs__doc__":5296,"_Py_find__doc__":3504,"_Py_index__doc__":3744,"_Py_isalnum__doc__":1680,"_Py_isalpha__doc__":1536,"_Py_isascii__doc__":1824,"_Py_isdigit__doc__":1936,"_Py_islower__doc__":2064,"_Py_isspace__doc__":1392,"_Py_istitle__doc__":2352,"_Py_isupper__doc__":2208,"_Py_ljust__doc__":5472,"_Py_lower__doc__":2592,"_Py_maketrans__doc__":3200,"_Py_open_cloexec_works":2577836,"_Py_path_config":3003108,"_Py_rfind__doc__":4016,"_Py_rindex__doc__":4272,"_Py_rjust__doc__":5648,"_Py_startswith__doc__":4752,"_Py_swapcase__doc__":3072,"_Py_title__doc__":2784,"_Py_upper__doc__":2688,"_Py_zfill__doc__":6e3,"_ZNSt12experimental10filesystem2v14path19preferred_separatorE":2918823,"_ZNSt3__210adopt_lockE":3013685,"_ZNSt3__210ctype_base5alnumE":2643544,"_ZNSt3__210ctype_base5alphaE":2643534,"_ZNSt3__210ctype_base5blankE":2643542,"_ZNSt3__210ctype_base5cntrlE":2643528,"_ZNSt3__210ctype_base5digitE":2643536,"_ZNSt3__210ctype_base5graphE":2643546,"_ZNSt3__210ctype_base5lowerE":2643532,"_ZNSt3__210ctype_base5printE":2643526,"_ZNSt3__210ctype_base5punctE":2643538,"_ZNSt3__210ctype_base5spaceE":2643524,"_ZNSt3__210ctype_base5upperE":2643530,"_ZNSt3__210ctype_base6xdigitE":2643540,"_ZNSt3__210defer_lockE":3013683,"_ZNSt3__210moneypunctIcLb0EE2idE":3012788,"_ZNSt3__210moneypunctIcLb0EE4intlE":3013680,"_ZNSt3__210moneypunctIcLb1EE2idE":3012796,"_ZNSt3__210moneypunctIcLb1EE4intlE":2912976,"_ZNSt3__210moneypunctIwLb0EE2idE":3012804,"_ZNSt3__210moneypunctIwLb0EE4intlE":3013681,"_ZNSt3__210moneypunctIwLb1EE2idE":3012812,"_ZNSt3__210moneypunctIwLb1EE4intlE":2913033,"_ZNSt3__211try_to_lockE":3013684,"_ZNSt3__212__rs_default4__c_E":3008916,"_ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4nposE":2639588,"_ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4nposE":2639592,"_ZNSt3__212placeholders2_1E":3013668,"_ZNSt3__212placeholders2_2E":3013669,"_ZNSt3__212placeholders2_3E":3013670,"_ZNSt3__212placeholders2_4E":3013671,"_ZNSt3__212placeholders2_5E":3013672,"_ZNSt3__212placeholders2_6E":3013673,"_ZNSt3__212placeholders2_7E":3013674,"_ZNSt3__212placeholders2_8E":3013675,"_ZNSt3__212placeholders2_9E":3013676,"_ZNSt3__212placeholders3_10E":3013677,"_ZNSt3__213allocator_argE":3013682,"_ZNSt3__214__num_get_base5__srcE":2527600,"_ZNSt3__219__start_std_streamsE":3013679,"_ZNSt3__219piecewise_constructE":3013687,"_ZNSt3__223__libcpp_debug_functionE":2633912,"_ZNSt3__23cinE":3011516,"_ZNSt3__24cerrE":3011860,"_ZNSt3__24clogE":3012028,"_ZNSt3__24coutE":3011692,"_ZNSt3__24wcinE":3011604,"_ZNSt3__25ctypeIcE2idE":3012564,"_ZNSt3__25ctypeIwE2idE":3012596,"_ZNSt3__25wcerrE":3011944,"_ZNSt3__25wclogE":3012112,"_ZNSt3__25wcoutE":3011776,"_ZNSt3__26chrono12steady_clock9is_steadyE":2909793,"_ZNSt3__26chrono12system_clock9is_steadyE":3013678,"_ZNSt3__26locale2id9__next_idE":3012576,"_ZNSt3__26locale3allE":2637888,"_ZNSt3__26locale4noneE":3012868,"_ZNSt3__26locale4timeE":2637880,"_ZNSt3__26locale5ctypeE":2637868,"_ZNSt3__26locale7collateE":2637864,"_ZNSt3__26locale7numericE":2637876,"_ZNSt3__26locale8messagesE":2637884,"_ZNSt3__26locale8monetaryE":2637872,"_ZNSt3__27codecvtIDic11__mbstate_tE2idE":3012896,"_ZNSt3__27codecvtIDsc11__mbstate_tE2idE":3012888,"_ZNSt3__27codecvtIcc11__mbstate_tE2idE":3012872,"_ZNSt3__27codecvtIwc11__mbstate_tE2idE":3012880,"_ZNSt3__27collateIcE2idE":3012548,"_ZNSt3__27collateIwE2idE":3012556,"_ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE":3012588,"_ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE":3012612,"_ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE":3012620,"_ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE":3012628,"_ZNSt3__28ios_base10floatfieldE":2634668,"_ZNSt3__28ios_base10scientificE":2634632,"_ZNSt3__28ios_base11adjustfieldE":2634660,"_ZNSt3__28ios_base2inE":2634696,"_ZNSt3__28ios_base3appE":2634684,"_ZNSt3__28ios_base3ateE":2634688,"_ZNSt3__28ios_base3decE":2634604,"_ZNSt3__28ios_base3hexE":2634612,"_ZNSt3__28ios_base3octE":2634624,"_ZNSt3__28ios_base3outE":2634700,"_ZNSt3__28ios_base4leftE":2634620,"_ZNSt3__28ios_base5fixedE":2634608,"_ZNSt3__28ios_base5rightE":2634628,"_ZNSt3__28ios_base5truncE":2634704,"_ZNSt3__28ios_base6badbitE":2634672,"_ZNSt3__28ios_base6binaryE":2634692,"_ZNSt3__28ios_base6eofbitE":2634676,"_ZNSt3__28ios_base6skipwsE":2634648,"_ZNSt3__28ios_base7failbitE":2634680,"_ZNSt3__28ios_base7goodbitE":3011500,"_ZNSt3__28ios_base7showposE":2634644,"_ZNSt3__28ios_base7unitbufE":2634652,"_ZNSt3__28ios_base8internalE":2634616,"_ZNSt3__28ios_base8showbaseE":2634636,"_ZNSt3__28ios_base9__xindex_E":3011504,"_ZNSt3__28ios_base9basefieldE":2634664,"_ZNSt3__28ios_base9boolalphaE":2634600,"_ZNSt3__28ios_base9showpointE":2634640,"_ZNSt3__28ios_base9uppercaseE":2634656,"_ZNSt3__28messagesIcE2idE":3012852,"_ZNSt3__28messagesIwE2idE":3012860,"_ZNSt3__28numpunctIcE2idE":3012580,"_ZNSt3__28numpunctIwE2idE":3012604,"_ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE":3012696,"_ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE":3012764,"_ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE":3012772,"_ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE":3012780,"_ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE":3012820,"_ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE":3012828,"_ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE":3012836,"_ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE":3012844,"_ZSt7nothrow":3013686,"_ZTCNSt3__210istrstreamE0_NS_13basic_istreamIcNS_11char_traitsIcEEEE":2531624,"_ZTCNSt3__210ostrstreamE0_NS_13basic_ostreamIcNS_11char_traitsIcEEEE":2531680,"_ZTCNSt3__214basic_ifstreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE":2532056,"_ZTCNSt3__214basic_iostreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE":2529552,"_ZTCNSt3__214basic_iostreamIcNS_11char_traitsIcEEEE8_NS_13basic_ostreamIcS2_EE":2529592,"_ZTCNSt3__214basic_ofstreamIcNS_11char_traitsIcEEEE0_NS_13basic_ostreamIcS2_EE":2532096,"_ZTCNSt3__29strstreamE0_NS_13basic_istreamIcNS_11char_traitsIcEEEE":2531800,"_ZTCNSt3__29strstreamE0_NS_14basic_iostreamIcNS_11char_traitsIcEEEE":2531736,"_ZTCNSt3__29strstreamE8_NS_13basic_ostreamIcNS_11char_traitsIcEEEE":2531840,"_ZTIDh":2533216,"_ZTIDi":2533456,"_ZTIDn":2532560,"_ZTIDs":2533416,"_ZTIN10__cxxabiv116__enum_type_infoE":2533528,"_ZTIN10__cxxabiv116__shim_type_infoE":2532208,"_ZTIN10__cxxabiv117__array_type_infoE":2533496,"_ZTIN10__cxxabiv117__class_type_infoE":2532192,"_ZTIN10__cxxabiv117__pbase_type_infoE":2532488,"_ZTIN10__cxxabiv119__pointer_type_infoE":2532504,"_ZTIN10__cxxabiv120__function_type_infoE":2533512,"_ZTIN10__cxxabiv120__si_class_type_infoE":2532232,"_ZTIN10__cxxabiv121__vmi_class_type_infoE":2533544,"_ZTIN10__cxxabiv123__fundamental_type_infoE":2532520,"_ZTIN10__cxxabiv129__pointer_to_member_type_infoE":2533560,"_ZTINSt12experimental10filesystem2v116filesystem_errorE":2532040,"_ZTINSt12experimental15fundamentals_v112bad_any_castE":2529256,"_ZTINSt12experimental15fundamentals_v13pmr15memory_resourceE":2531984,"_ZTINSt12experimental15fundamentals_v13pmr26__null_memory_resource_impE":2531968,"_ZTINSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_impE":2531992,"_ZTINSt12experimental19bad_optional_accessE":2531544,"_ZTINSt3__210__stdinbufIcEE":2529712,"_ZTINSt3__210__stdinbufIwEE":2529696,"_ZTINSt3__210__time_getE":2530168,"_ZTINSt3__210__time_putE":2530256,"_ZTINSt3__210ctype_baseE":2531104,"_ZTINSt3__210istrstreamE":2531608,"_ZTINSt3__210money_baseE":2530360,"_ZTINSt3__210moneypunctIcLb0EEE":2530328,"_ZTINSt3__210moneypunctIcLb1EEE":2530368,"_ZTINSt3__210moneypunctIwLb0EEE":2530400,"_ZTINSt3__210moneypunctIwLb1EEE":2530432,"_ZTINSt3__210ostrstreamE":2531664,"_ZTINSt3__211__money_getIcEE":2530560,"_ZTINSt3__211__money_getIwEE":2530600,"_ZTINSt3__211__money_putIcEE":2530640,"_ZTINSt3__211__money_putIwEE":2530680,"_ZTINSt3__211__stdoutbufIcEE":2529680,"_ZTINSt3__211__stdoutbufIwEE":2529664,"_ZTINSt3__211regex_errorE":2531576,"_ZTINSt3__212__do_messageE":2531896,"_ZTINSt3__212bad_weak_ptrE":2531528,"_ZTINSt3__212codecvt_baseE":2530808,"_ZTINSt3__212ctype_bynameIcEE":2531112,"_ZTINSt3__212ctype_bynameIwEE":2531128,"_ZTINSt3__212future_errorE":2529320,"_ZTINSt3__212strstreambufE":2531592,"_ZTINSt3__212system_errorE":2531936,"_ZTINSt3__213basic_filebufIcNS_11char_traitsIcEEEE":2532136,"_ZTINSt3__213basic_istreamIcNS_11char_traitsIcEEEE":2529424,"_ZTINSt3__213basic_istreamIwNS_11char_traitsIwEEEE":2529448,"_ZTINSt3__213basic_ostreamIcNS_11char_traitsIcEEEE":2529472,"_ZTINSt3__213basic_ostreamIwNS_11char_traitsIwEEEE":2529496,"_ZTINSt3__213messages_baseE":2530720,"_ZTINSt3__214__codecvt_utf8IDiEE":2531304,"_ZTINSt3__214__codecvt_utf8IDsEE":2531288,"_ZTINSt3__214__codecvt_utf8IwEE":2531272,"_ZTINSt3__214__num_get_baseE":2529832,"_ZTINSt3__214__num_put_baseE":2529952,"_ZTINSt3__214__shared_countE":2531496,"_ZTINSt3__214basic_ifstreamIcNS_11char_traitsIcEEEE":2532168,"_ZTINSt3__214basic_iostreamIcNS_11char_traitsIcEEEE":2529520,"_ZTINSt3__214basic_ofstreamIcNS_11char_traitsIcEEEE":2532152,"_ZTINSt3__214codecvt_bynameIDic11__mbstate_tEE":2531008,"_ZTINSt3__214codecvt_bynameIDsc11__mbstate_tEE":2530960,"_ZTINSt3__214codecvt_bynameIcc11__mbstate_tEE":2530864,"_ZTINSt3__214codecvt_bynameIwc11__mbstate_tEE":2530912,"_ZTINSt3__214collate_bynameIcEE":2531040,"_ZTINSt3__214collate_bynameIwEE":2531056,"_ZTINSt3__214error_categoryE":2531912,"_ZTINSt3__215__codecvt_utf16IDiLb0EEE":2531384,"_ZTINSt3__215__codecvt_utf16IDiLb1EEE":2531400,"_ZTINSt3__215__codecvt_utf16IDsLb0EEE":2531352,"_ZTINSt3__215__codecvt_utf16IDsLb1EEE":2531368,"_ZTINSt3__215__codecvt_utf16IwLb0EEE":2531320,"_ZTINSt3__215__codecvt_utf16IwLb1EEE":2531336,"_ZTINSt3__215__time_get_tempIcEE":2531464,"_ZTINSt3__215__time_get_tempIwEE":2531480,"_ZTINSt3__215basic_streambufIcNS_11char_traitsIcEEEE":2529408,"_ZTINSt3__215basic_streambufIwNS_11char_traitsIwEEEE":2529416,"_ZTINSt3__215messages_bynameIcEE":2530832,"_ZTINSt3__215messages_bynameIwEE":2530848,"_ZTINSt3__215numpunct_bynameIcEE":2531208,"_ZTINSt3__215numpunct_bynameIwEE":2531224,"_ZTINSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2530120,"_ZTINSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2530176,"_ZTINSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2530296,"_ZTINSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2530312,"_ZTINSt3__216__narrow_to_utf8ILm16EEE":2531240,"_ZTINSt3__216__narrow_to_utf8ILm32EEE":2530816,"_ZTINSt3__217__assoc_sub_stateE":2529336,"_ZTINSt3__217__widen_from_utf8ILm16EEE":2531256,"_ZTINSt3__217__widen_from_utf8ILm32EEE":2530760,"_ZTINSt3__217bad_function_callE":2529352,"_ZTINSt3__217moneypunct_bynameIcLb0EEE":2530464,"_ZTINSt3__217moneypunct_bynameIcLb1EEE":2530480,"_ZTINSt3__217moneypunct_bynameIwLb0EEE":2530496,"_ZTINSt3__217moneypunct_bynameIwLb1EEE":2530512,"_ZTINSt3__218__time_get_storageIcEE":2530152,"_ZTINSt3__218__time_get_storageIwEE":2530208,"_ZTINSt3__219__iostream_categoryE":2529632,"_ZTINSt3__219__shared_weak_countE":2531504,"_ZTINSt3__220__codecvt_utf8_utf16IDiEE":2531432,"_ZTINSt3__220__codecvt_utf8_utf16IDsEE":2531448,"_ZTINSt3__220__codecvt_utf8_utf16IwEE":2531416,"_ZTINSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEEE":2532008,"_ZTINSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEEE":2532024,"_ZTINSt3__220__time_get_c_storageIcEE":2530064,"_ZTINSt3__220__time_get_c_storageIwEE":2530112,"_ZTINSt3__223__future_error_categoryE":2529304,"_ZTINSt3__223__system_error_categoryE":2531920,"_ZTINSt3__224__generic_error_categoryE":2531880,"_ZTINSt3__224__libcpp_debug_exceptionE":2529272,"_ZTINSt3__25ctypeIcEE":2531072,"_ZTINSt3__25ctypeIwEE":2531144,"_ZTINSt3__26locale5__impE":2531024,"_ZTINSt3__26locale5facetE":2529744,"_ZTINSt3__27codecvtIDic11__mbstate_tEE":2530776,"_ZTINSt3__27codecvtIDsc11__mbstate_tEE":2530976,"_ZTINSt3__27codecvtIcc11__mbstate_tEE":2530880,"_ZTINSt3__27codecvtIwc11__mbstate_tEE":2530928,"_ZTINSt3__27collateIcEE":2529728,"_ZTINSt3__27collateIwEE":2529760,"_ZTINSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2529776,"_ZTINSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2529840,"_ZTINSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2529896,"_ZTINSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2529960,"_ZTINSt3__28__c_nodeE":2529288,"_ZTINSt3__28ios_base7failureE":2529648,"_ZTINSt3__28ios_baseE":2529384,"_ZTINSt3__28messagesIcEE":2530688,"_ZTINSt3__28messagesIwEE":2530728,"_ZTINSt3__28numpunctIcEE":2531176,"_ZTINSt3__28numpunctIwEE":2531192,"_ZTINSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2530016,"_ZTINSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2530072,"_ZTINSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2530224,"_ZTINSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2530264,"_ZTINSt3__29__num_getIcEE":2529808,"_ZTINSt3__29__num_getIwEE":2529872,"_ZTINSt3__29__num_putIcEE":2529928,"_ZTINSt3__29__num_putIwEE":2529992,"_ZTINSt3__29basic_iosIcNS_11char_traitsIcEEEE":2529368,"_ZTINSt3__29basic_iosIwNS_11char_traitsIwEEEE":2529392,"_ZTINSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2530528,"_ZTINSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2530568,"_ZTINSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2530608,"_ZTINSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2530648,"_ZTINSt3__29strstreamE":2531720,"_ZTINSt3__29time_baseE":2530056,"_ZTIPDh":2533224,"_ZTIPDi":2533464,"_ZTIPDn":2532584,"_ZTIPDs":2533424,"_ZTIPKDh":2533240,"_ZTIPKDi":2533480,"_ZTIPKDn":2532600,"_ZTIPKDs":2533440,"_ZTIPKa":2532800,"_ZTIPKb":2532640,"_ZTIPKc":2532720,"_ZTIPKd":2533320,"_ZTIPKe":2533360,"_ZTIPKf":2533280,"_ZTIPKg":2533400,"_ZTIPKh":2532760,"_ZTIPKi":2532920,"_ZTIPKj":2532960,"_ZTIPKl":2533e3,"_ZTIPKm":2533040,"_ZTIPKn":2533160,"_ZTIPKo":2533200,"_ZTIPKs":2532840,"_ZTIPKt":2532880,"_ZTIPKv":2532568,"_ZTIPKw":2532680,"_ZTIPKx":2533080,"_ZTIPKy":2533120,"_ZTIPa":2532784,"_ZTIPb":2532624,"_ZTIPc":2532704,"_ZTIPd":2533304,"_ZTIPe":2533344,"_ZTIPf":2533264,"_ZTIPg":2533384,"_ZTIPh":2532744,"_ZTIPi":2532904,"_ZTIPj":2532944,"_ZTIPl":2532984,"_ZTIPm":2533024,"_ZTIPn":2533144,"_ZTIPo":2533184,"_ZTIPs":2532824,"_ZTIPt":2532864,"_ZTIPv":2532544,"_ZTIPw":2532664,"_ZTIPx":2533064,"_ZTIPy":2533104,"_ZTISt10bad_typeid":2532472,"_ZTISt11logic_error":2532312,"_ZTISt11range_error":2532408,"_ZTISt12bad_any_cast":2529240,"_ZTISt12domain_error":2532344,"_ZTISt12length_error":2532376,"_ZTISt12out_of_range":2532392,"_ZTISt13bad_exception":2532296,"_ZTISt13runtime_error":2532328,"_ZTISt14overflow_error":2532424,"_ZTISt15underflow_error":2532440,"_ZTISt16bad_array_length":2532280,"_ZTISt16invalid_argument":2532360,"_ZTISt16nested_exception":2529296,"_ZTISt18bad_variant_access":2531952,"_ZTISt19bad_optional_access":2531560,"_ZTISt20bad_array_new_length":2532264,"_ZTISt8bad_cast":2532456,"_ZTISt9bad_alloc":2532248,"_ZTISt9exception":2532184,"_ZTISt9type_info":2532224,"_ZTIa":2532776,"_ZTIb":2532616,"_ZTIc":2532696,"_ZTId":2533296,"_ZTIe":2533336,"_ZTIf":2533256,"_ZTIg":2533376,"_ZTIh":2532736,"_ZTIi":2532896,"_ZTIj":2532936,"_ZTIl":2532976,"_ZTIm":2533016,"_ZTIn":2533136,"_ZTIo":2533176,"_ZTIs":2532816,"_ZTIt":2532856,"_ZTIv":2532536,"_ZTIw":2532656,"_ZTIx":2533056,"_ZTIy":2533096,"_ZTSDh":2920533,"_ZTSDi":2920593,"_ZTSDn":2920382,"_ZTSDs":2920581,"_ZTSN10__cxxabiv116__enum_type_infoE":2920676,"_ZTSN10__cxxabiv116__shim_type_infoE":2919565,"_ZTSN10__cxxabiv117__array_type_infoE":2920605,"_ZTSN10__cxxabiv117__class_type_infoE":2919648,"_ZTSN10__cxxabiv117__pbase_type_infoE":2920303,"_ZTSN10__cxxabiv119__pointer_type_infoE":2920267,"_ZTSN10__cxxabiv120__function_type_infoE":2920639,"_ZTSN10__cxxabiv120__si_class_type_infoE":2919611,"_ZTSN10__cxxabiv121__vmi_class_type_infoE":2920709,"_ZTSN10__cxxabiv123__fundamental_type_infoE":2920337,"_ZTSN10__cxxabiv129__pointer_to_member_type_infoE":2920747,"_ZTSNSt12experimental10filesystem2v116filesystem_errorE":2918827,"_ZTSNSt12experimental15fundamentals_v112bad_any_castE":2909743,"_ZTSNSt12experimental15fundamentals_v13pmr15memory_resourceE":2918315,"_ZTSNSt12experimental15fundamentals_v13pmr26__null_memory_resource_impE":2918247,"_ZTSNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_impE":2918372,"_ZTSNSt12experimental19bad_optional_accessE":2915734,"_ZTSNSt3__210__stdinbufIcEE":2911291,"_ZTSNSt3__210__stdinbufIwEE":2911267,"_ZTSNSt3__210__time_getE":2912456,"_ZTSNSt3__210__time_putE":2912655,"_ZTSNSt3__210ctype_baseE":2914202,"_ZTSNSt3__210istrstreamE":2917816,"_ZTSNSt3__210money_baseE":2912927,"_ZTSNSt3__210moneypunctIcLb0EEE":2912899,"_ZTSNSt3__210moneypunctIcLb1EEE":2912948,"_ZTSNSt3__210moneypunctIwLb0EEE":2912977,"_ZTSNSt3__210moneypunctIwLb1EEE":2913005,"_ZTSNSt3__210ostrstreamE":2917837,"_ZTSNSt3__211__money_getIcEE":2913255,"_ZTSNSt3__211__money_getIwEE":2913361,"_ZTSNSt3__211__money_putIcEE":2913462,"_ZTSNSt3__211__money_putIwEE":2913557,"_ZTSNSt3__211__stdoutbufIcEE":2911204,"_ZTSNSt3__211__stdoutbufIwEE":2911179,"_ZTSNSt3__211regex_errorE":2915908,"_ZTSNSt3__212__do_messageE":2917972,"_ZTSNSt3__212bad_weak_ptrE":2915589,"_ZTSNSt3__212codecvt_baseE":2913697,"_ZTSNSt3__212ctype_bynameIcEE":2914223,"_ZTSNSt3__212ctype_bynameIwEE":2914249,"_ZTSNSt3__212future_errorE":2910507,"_ZTSNSt3__212strstreambufE":2917793,"_ZTSNSt3__212system_errorE":2918095,"_ZTSNSt3__213basic_filebufIcNS_11char_traitsIcEEEE":2918966,"_ZTSNSt3__213basic_istreamIcNS_11char_traitsIcEEEE":2910841,"_ZTSNSt3__213basic_istreamIwNS_11char_traitsIwEEEE":2910888,"_ZTSNSt3__213basic_ostreamIcNS_11char_traitsIcEEEE":2910935,"_ZTSNSt3__213basic_ostreamIwNS_11char_traitsIwEEEE":2910982,"_ZTSNSt3__213messages_baseE":2913603,"_ZTSNSt3__214__codecvt_utf8IDiEE":2914519,"_ZTSNSt3__214__codecvt_utf8IDsEE":2914490,"_ZTSNSt3__214__codecvt_utf8IwEE":2914462,"_ZTSNSt3__214__num_get_baseE":2911470,"_ZTSNSt3__214__num_put_baseE":2911687,"_ZTSNSt3__214__shared_countE":2915521,"_ZTSNSt3__214basic_ifstreamIcNS_11char_traitsIcEEEE":2919105,"_ZTSNSt3__214basic_iostreamIcNS_11char_traitsIcEEEE":2911029,"_ZTSNSt3__214basic_ofstreamIcNS_11char_traitsIcEEEE":2919025,"_ZTSNSt3__214codecvt_bynameIDic11__mbstate_tEE":2914063,"_ZTSNSt3__214codecvt_bynameIDsc11__mbstate_tEE":2913985,"_ZTSNSt3__214codecvt_bynameIcc11__mbstate_tEE":2913833,"_ZTSNSt3__214codecvt_bynameIwc11__mbstate_tEE":2913943,"_ZTSNSt3__214collate_bynameIcEE":2914128,"_ZTSNSt3__214collate_bynameIwEE":2914156,"_ZTSNSt3__214error_categoryE":2917995,"_ZTSNSt3__215__codecvt_utf16IDiLb0EEE":2914682,"_ZTSNSt3__215__codecvt_utf16IDiLb1EEE":2914716,"_ZTSNSt3__215__codecvt_utf16IDsLb0EEE":2914614,"_ZTSNSt3__215__codecvt_utf16IDsLb1EEE":2914648,"_ZTSNSt3__215__codecvt_utf16IwLb0EEE":2914548,"_ZTSNSt3__215__codecvt_utf16IwLb1EEE":2914581,"_ZTSNSt3__215__time_get_tempIcEE":2914863,"_ZTSNSt3__215__time_get_tempIwEE":2914991,"_ZTSNSt3__215basic_streambufIcNS_11char_traitsIcEEEE":2910743,"_ZTSNSt3__215basic_streambufIwNS_11char_traitsIwEEEE":2910792,"_ZTSNSt3__215messages_bynameIcEE":2913775,"_ZTSNSt3__215messages_bynameIwEE":2913804,"_ZTSNSt3__215numpunct_bynameIcEE":2914335,"_ZTSNSt3__215numpunct_bynameIwEE":2914364,"_ZTSNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2912347,"_ZTSNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2912477,"_ZTSNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2912745,"_ZTSNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2912822,"_ZTSNSt3__216__narrow_to_utf8ILm16EEE":2914393,"_ZTSNSt3__216__narrow_to_utf8ILm32EEE":2913720,"_ZTSNSt3__217__assoc_sub_stateE":2910530,"_ZTSNSt3__217__widen_from_utf8ILm16EEE":2914427,"_ZTSNSt3__217__widen_from_utf8ILm32EEE":2913627,"_ZTSNSt3__217bad_function_callE":2910613,"_ZTSNSt3__217moneypunct_bynameIcLb0EEE":2913034,"_ZTSNSt3__217moneypunct_bynameIcLb1EEE":2913069,"_ZTSNSt3__217moneypunct_bynameIwLb0EEE":2913104,"_ZTSNSt3__217moneypunct_bynameIwLb1EEE":2913139,"_ZTSNSt3__218__time_get_storageIcEE":2912424,"_ZTSNSt3__218__time_get_storageIwEE":2912554,"_ZTSNSt3__219__iostream_categoryE":2911122,"_ZTSNSt3__219__shared_weak_countE":2915546,"_ZTSNSt3__220__codecvt_utf8_utf16IDiEE":2914784,"_ZTSNSt3__220__codecvt_utf8_utf16IDsEE":2914819,"_ZTSNSt3__220__codecvt_utf8_utf16IwEE":2914750,"_ZTSNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEEE":2918490,"_ZTSNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEEE":2918651,"_ZTSNSt3__220__time_get_c_storageIcEE":2912191,"_ZTSNSt3__220__time_get_c_storageIwEE":2912313,"_ZTSNSt3__223__future_error_categoryE":2910473,"_ZTSNSt3__223__system_error_categoryE":2918061,"_ZTSNSt3__224__generic_error_categoryE":2917937,"_ZTSNSt3__224__libcpp_debug_exceptionE":2910086,"_ZTSNSt3__25ctypeIcEE":2914184,"_ZTSNSt3__25ctypeIwEE":2914275,"_ZTSNSt3__26locale5__impE":2914106,"_ZTSNSt3__26locale5facetE":2911335,"_ZTSNSt3__27codecvtIDic11__mbstate_tEE":2913662,"_ZTSNSt3__27codecvtIDsc11__mbstate_tEE":2914028,"_ZTSNSt3__27codecvtIcc11__mbstate_tEE":2913875,"_ZTSNSt3__27codecvtIwc11__mbstate_tEE":2913909,"_ZTSNSt3__27collateIcEE":2911315,"_ZTSNSt3__27collateIwEE":2911357,"_ZTSNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2911380,"_ZTSNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2911495,"_ZTSNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2911597,"_ZTSNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2911712,"_ZTSNSt3__28__c_nodeE":2910121,"_ZTSNSt3__28ios_base7failureE":2911152,"_ZTSNSt3__28ios_baseE":2910641,"_ZTSNSt3__28messagesIcEE":2913582,"_ZTSNSt3__28messagesIwEE":2913754,"_ZTSNSt3__28numpunctIcEE":2914293,"_ZTSNSt3__28numpunctIwEE":2914314,"_ZTSNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2912122,"_ZTSNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2912244,"_ZTSNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2912586,"_ZTSNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2912676,"_ZTSNSt3__29__num_getIcEE":2911448,"_ZTSNSt3__29__num_getIwEE":2911563,"_ZTSNSt3__29__num_putIcEE":2911665,"_ZTSNSt3__29__num_putIwEE":2911780,"_ZTSNSt3__29basic_iosIcNS_11char_traitsIcEEEE":2910659,"_ZTSNSt3__29basic_iosIwNS_11char_traitsIwEEEE":2910701,"_ZTSNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2913185,"_ZTSNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2913291,"_ZTSNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2913392,"_ZTSNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2913487,"_ZTSNSt3__29strstreamE":2917858,"_ZTSNSt3__29time_baseE":2912225,"_ZTSPDh":2920536,"_ZTSPDi":2920596,"_ZTSPDn":2920389,"_ZTSPDs":2920584,"_ZTSPKDh":2920540,"_ZTSPKDi":2920600,"_ZTSPKDn":2920393,"_ZTSPKDs":2920588,"_ZTSPKa":2920439,"_ZTSPKb":2920403,"_ZTSPKc":2920421,"_ZTSPKd":2920559,"_ZTSPKe":2920568,"_ZTSPKf":2920550,"_ZTSPKg":2920577,"_ZTSPKh":2920430,"_ZTSPKi":2920466,"_ZTSPKj":2920475,"_ZTSPKl":2920484,"_ZTSPKm":2920493,"_ZTSPKn":2920520,"_ZTSPKo":2920529,"_ZTSPKs":2920448,"_ZTSPKt":2920457,"_ZTSPKv":2920385,"_ZTSPKw":2920412,"_ZTSPKx":2920502,"_ZTSPKy":2920511,"_ZTSPa":2920436,"_ZTSPb":2920400,"_ZTSPc":2920418,"_ZTSPd":2920556,"_ZTSPe":2920565,"_ZTSPf":2920547,"_ZTSPg":2920574,"_ZTSPh":2920427,"_ZTSPi":2920463,"_ZTSPj":2920472,"_ZTSPl":2920481,"_ZTSPm":2920490,"_ZTSPn":2920517,"_ZTSPo":2920526,"_ZTSPs":2920445,"_ZTSPt":2920454,"_ZTSPv":2920379,"_ZTSPw":2920409,"_ZTSPx":2920499,"_ZTSPy":2920508,"_ZTSSt10bad_typeid":2920252,"_ZTSSt11logic_error":2920049,"_ZTSSt11range_error":2920155,"_ZTSSt12bad_any_cast":2909726,"_ZTSSt12domain_error":2920083,"_ZTSSt12length_error":2920121,"_ZTSSt12out_of_range":2920138,"_ZTSSt13bad_exception":2920031,"_ZTSSt13runtime_error":2920065,"_ZTSSt14overflow_error":2920171,"_ZTSSt15underflow_error":2920190,"_ZTSSt16bad_array_length":2919976,"_ZTSSt16invalid_argument":2920100,"_ZTSSt16nested_exception":2910139,"_ZTSSt18bad_variant_access":2918224,"_ZTSSt19bad_optional_access":2915794,"_ZTSSt20bad_array_new_length":2919934,"_ZTSSt8bad_cast":2920224,"_ZTSSt9bad_alloc":2919900,"_ZTSSt9exception":2919552,"_ZTSSt9type_info":2919598,"_ZTSa":2920434,"_ZTSb":2920398,"_ZTSc":2920416,"_ZTSd":2920554,"_ZTSe":2920563,"_ZTSf":2920545,"_ZTSg":2920572,"_ZTSh":2920425,"_ZTSi":2920461,"_ZTSj":2920470,"_ZTSl":2920479,"_ZTSm":2920488,"_ZTSn":2920515,"_ZTSo":2920524,"_ZTSs":2920443,"_ZTSt":2920452,"_ZTSv":2920377,"_ZTSw":2920407,"_ZTSx":2920497,"_ZTSy":2920506,"_ZTTNSt3__210istrstreamE":2639824,"_ZTTNSt3__210ostrstreamE":2639880,"_ZTTNSt3__213basic_istreamIcNS_11char_traitsIcEEEE":2634304,"_ZTTNSt3__213basic_istreamIwNS_11char_traitsIwEEEE":2634352,"_ZTTNSt3__213basic_ostreamIcNS_11char_traitsIcEEEE":2634400,"_ZTTNSt3__213basic_ostreamIwNS_11char_traitsIwEEEE":2634448,"_ZTTNSt3__214basic_ifstreamIcNS_11char_traitsIcEEEE":2640432,"_ZTTNSt3__214basic_iostreamIcNS_11char_traitsIcEEEE":2634516,"_ZTTNSt3__214basic_ofstreamIcNS_11char_traitsIcEEEE":2640512,"_ZTTNSt3__29strstreamE":2639956,"_ZTVN10__cxxabiv116__enum_type_infoE":2641096,"_ZTVN10__cxxabiv116__shim_type_infoE":2640956,"_ZTVN10__cxxabiv117__array_type_infoE":2641040,"_ZTVN10__cxxabiv117__class_type_infoE":2640536,"_ZTVN10__cxxabiv117__pbase_type_infoE":2641164,"_ZTVN10__cxxabiv119__pointer_type_infoE":2641012,"_ZTVN10__cxxabiv120__function_type_infoE":2641068,"_ZTVN10__cxxabiv120__si_class_type_infoE":2640576,"_ZTVN10__cxxabiv121__vmi_class_type_infoE":2641124,"_ZTVN10__cxxabiv123__fundamental_type_infoE":2640984,"_ZTVN10__cxxabiv129__pointer_to_member_type_infoE":2641192,"_ZTVNSt12experimental10filesystem2v116filesystem_errorE":2640332,"_ZTVNSt12experimental15fundamentals_v112bad_any_castE":2633892,"_ZTVNSt12experimental15fundamentals_v13pmr15memory_resourceE":2640216,"_ZTVNSt12experimental15fundamentals_v13pmr26__null_memory_resource_impE":2640188,"_ZTVNSt12experimental15fundamentals_v13pmr32__new_delete_memory_resource_impE":2640244,"_ZTVNSt12experimental19bad_optional_accessE":2639528,"_ZTVNSt3__210__stdinbufIcEE":2634904,"_ZTVNSt3__210__stdinbufIwEE":2634840,"_ZTVNSt3__210istrstreamE":2639784,"_ZTVNSt3__210moneypunctIcLb0EEE":2636840,"_ZTVNSt3__210moneypunctIcLb1EEE":2636896,"_ZTVNSt3__210moneypunctIwLb0EEE":2636952,"_ZTVNSt3__210moneypunctIwLb1EEE":2637008,"_ZTVNSt3__210ostrstreamE":2639840,"_ZTVNSt3__211__stdoutbufIcEE":2634776,"_ZTVNSt3__211__stdoutbufIwEE":2634712,"_ZTVNSt3__211regex_errorE":2639568,"_ZTVNSt3__212__do_messageE":2640132,"_ZTVNSt3__212bad_weak_ptrE":2639508,"_ZTVNSt3__212ctype_bynameIcEE":2638028,"_ZTVNSt3__212ctype_bynameIwEE":2638080,"_ZTVNSt3__212future_errorE":2634020,"_ZTVNSt3__212strstreambufE":2639720,"_ZTVNSt3__212system_errorE":2640076,"_ZTVNSt3__213basic_filebufIcNS_11char_traitsIcEEEE":2640448,"_ZTVNSt3__213basic_istreamIcNS_11char_traitsIcEEEE":2634264,"_ZTVNSt3__213basic_istreamIwNS_11char_traitsIwEEEE":2634312,"_ZTVNSt3__213basic_ostreamIcNS_11char_traitsIcEEEE":2634360,"_ZTVNSt3__213basic_ostreamIwNS_11char_traitsIwEEEE":2634408,"_ZTVNSt3__214__codecvt_utf8IDiEE":2638776,"_ZTVNSt3__214__codecvt_utf8IDsEE":2638728,"_ZTVNSt3__214__codecvt_utf8IwEE":2638680,"_ZTVNSt3__214__shared_countE":2639460,"_ZTVNSt3__214basic_ifstreamIcNS_11char_traitsIcEEEE":2640352,"_ZTVNSt3__214basic_iostreamIcNS_11char_traitsIcEEEE":2634456,"_ZTVNSt3__214basic_ofstreamIcNS_11char_traitsIcEEEE":2640392,"_ZTVNSt3__214codecvt_bynameIDic11__mbstate_tEE":2637816,"_ZTVNSt3__214codecvt_bynameIDsc11__mbstate_tEE":2637768,"_ZTVNSt3__214codecvt_bynameIcc11__mbstate_tEE":2637624,"_ZTVNSt3__214codecvt_bynameIwc11__mbstate_tEE":2637672,"_ZTVNSt3__214collate_bynameIcEE":2637912,"_ZTVNSt3__214collate_bynameIwEE":2637944,"_ZTVNSt3__214error_categoryE":2640096,"_ZTVNSt3__215__codecvt_utf16IDiLb0EEE":2639016,"_ZTVNSt3__215__codecvt_utf16IDiLb1EEE":2639064,"_ZTVNSt3__215__codecvt_utf16IDsLb0EEE":2638920,"_ZTVNSt3__215__codecvt_utf16IDsLb1EEE":2638968,"_ZTVNSt3__215__codecvt_utf16IwLb0EEE":2638824,"_ZTVNSt3__215__codecvt_utf16IwLb1EEE":2638872,"_ZTVNSt3__215__time_get_tempIcEE":2639328,"_ZTVNSt3__215__time_get_tempIwEE":2639380,"_ZTVNSt3__215basic_streambufIcNS_11char_traitsIcEEEE":2634136,"_ZTVNSt3__215basic_streambufIwNS_11char_traitsIwEEEE":2634200,"_ZTVNSt3__215messages_bynameIcEE":2637560,"_ZTVNSt3__215messages_bynameIwEE":2637592,"_ZTVNSt3__215numpunct_bynameIcEE":2638272,"_ZTVNSt3__215numpunct_bynameIwEE":2638312,"_ZTVNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2636520,"_ZTVNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2636632,"_ZTVNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2636792,"_ZTVNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2636816,"_ZTVNSt3__216__narrow_to_utf8ILm16EEE":2638584,"_ZTVNSt3__216__narrow_to_utf8ILm32EEE":2637464,"_ZTVNSt3__217__assoc_sub_stateE":2634040,"_ZTVNSt3__217__widen_from_utf8ILm16EEE":2638632,"_ZTVNSt3__217__widen_from_utf8ILm32EEE":2637512,"_ZTVNSt3__217bad_function_callE":2634068,"_ZTVNSt3__217moneypunct_bynameIcLb0EEE":2637064,"_ZTVNSt3__217moneypunct_bynameIcLb1EEE":2637120,"_ZTVNSt3__217moneypunct_bynameIwLb0EEE":2637176,"_ZTVNSt3__217moneypunct_bynameIwLb1EEE":2637232,"_ZTVNSt3__219__iostream_categoryE":2634544,"_ZTVNSt3__219__shared_weak_countE":2639480,"_ZTVNSt3__220__codecvt_utf8_utf16IDiEE":2639160,"_ZTVNSt3__220__codecvt_utf8_utf16IDsEE":2639208,"_ZTVNSt3__220__codecvt_utf8_utf16IwEE":2639112,"_ZTVNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v112__dir_streamENS_9allocatorIS4_EEEE":2640276,"_ZTVNSt3__220__shared_ptr_emplaceINSt12experimental10filesystem2v128recursive_directory_iterator12__shared_impENS_9allocatorIS5_EEEE":2640304,"_ZTVNSt3__220__time_get_c_storageIcEE":2639256,"_ZTVNSt3__220__time_get_c_storageIwEE":2639292,"_ZTVNSt3__223__future_error_categoryE":2633984,"_ZTVNSt3__223__system_error_categoryE":2640032,"_ZTVNSt3__224__generic_error_categoryE":2639996,"_ZTVNSt3__224__libcpp_debug_exceptionE":2633916,"_ZTVNSt3__25ctypeIcEE":2637976,"_ZTVNSt3__25ctypeIwEE":2638372,"_ZTVNSt3__26locale5__impE":2637892,"_ZTVNSt3__26locale5facetE":2638352,"_ZTVNSt3__27codecvtIDic11__mbstate_tEE":2638536,"_ZTVNSt3__27codecvtIDsc11__mbstate_tEE":2638488,"_ZTVNSt3__27codecvtIcc11__mbstate_tEE":2638440,"_ZTVNSt3__27codecvtIwc11__mbstate_tEE":2637720,"_ZTVNSt3__27collateIcEE":2634968,"_ZTVNSt3__27collateIwEE":2635e3,"_ZTVNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2635032,"_ZTVNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2635096,"_ZTVNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2635160,"_ZTVNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2635212,"_ZTVNSt3__28__c_nodeE":2633936,"_ZTVNSt3__28ios_base7failureE":2634580,"_ZTVNSt3__28ios_baseE":2634104,"_ZTVNSt3__28messagesIcEE":2637400,"_ZTVNSt3__28messagesIwEE":2637432,"_ZTVNSt3__28numpunctIcEE":2638148,"_ZTVNSt3__28numpunctIwEE":2638188,"_ZTVNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2635264,"_ZTVNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2635348,"_ZTVNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2636744,"_ZTVNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2636768,"_ZTVNSt3__29basic_iosIcNS_11char_traitsIcEEEE":2634088,"_ZTVNSt3__29basic_iosIwNS_11char_traitsIwEEEE":2634120,"_ZTVNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2637288,"_ZTVNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2637316,"_ZTVNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE":2637344,"_ZTVNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE":2637372,"_ZTVNSt3__29strstreamE":2639896,"_ZTVSt10bad_typeid":2640920,"_ZTVSt11logic_error":2640720,"_ZTVSt11range_error":2640840,"_ZTVSt12bad_any_cast":2633872,"_ZTVSt12domain_error":2640760,"_ZTVSt12length_error":2640800,"_ZTVSt12out_of_range":2640820,"_ZTVSt13bad_exception":2640700,"_ZTVSt13runtime_error":2640740,"_ZTVSt14overflow_error":2640860,"_ZTVSt15underflow_error":2640880,"_ZTVSt16bad_array_length":2640660,"_ZTVSt16invalid_argument":2640780,"_ZTVSt16nested_exception":2633968,"_ZTVSt18bad_variant_access":2640168,"_ZTVSt19bad_optional_access":2639548,"_ZTVSt20bad_array_new_length":2640640,"_ZTVSt8bad_cast":2640900,"_ZTVSt9bad_alloc":2640620,"_ZTVSt9exception":2640680,"_ZTVSt9type_info":2640940,"_ZZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKvE5__fmt":2911585,"_ZZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwmE5__fmt":2911591,"_ZZNSt12experimental10filesystem2v121__temp_directory_pathEPNSt3__210error_codeEE9env_paths":2528880,"__c_dot_utf8":2628716,"__c_dot_utf8_locale":2628744,"__c_locale":3007416,"__cxa_new_handler":3013008,"__cxa_terminate_handler":2640528,"__cxa_unexpected_handler":2640616,"__fsmu8":2365856,"__hwcap":3007536,"__libc":3007472,"__optpos":3007548,"__optreset":3007544,"__progname":3007464,"__progname_full":3007468,"__seed48":2643498,"__signgam":3007440,"__stderr_used":2628920,"__stdin_used":2629052,"__stdout_used":2629184,"__sysinfo":3007540,"_dist_code":2363104,"_enable_callback_tracebacks":3004588,"_length_code":2363616,"_ns_flagdata":2366064,"af_arab_dflt_style_class":2624284,"af_arab_script_class":2623844,"af_arab_uniranges":2264752,"af_autofitter_interface":2625376,"af_beng_dflt_style_class":2625004,"af_beng_script_class":2624024,"af_beng_uniranges":2265200,"af_blue_strings":2263600,"af_blue_stringsets":2264368,"af_cjk_writing_system_class":2625320,"af_cyrl_c2cp_style_class":2624304,"af_cyrl_c2sc_style_class":2624324,"af_cyrl_dflt_style_class":2624484,"af_cyrl_ordn_style_class":2624344,"af_cyrl_pcap_style_class":2624364,"af_cyrl_script_class":2623864,"af_cyrl_sinf_style_class":2624384,"af_cyrl_smcp_style_class":2624404,"af_cyrl_subs_style_class":2624424,"af_cyrl_sups_style_class":2624444,"af_cyrl_titl_style_class":2624464,"af_cyrl_uniranges":2264816,"af_deva_dflt_style_class":2624924,"af_deva_script_class":2623884,"af_deva_uniranges":2264864,"af_dummy_writing_system_class":2625264,"af_grek_c2cp_style_class":2624504,"af_grek_c2sc_style_class":2624524,"af_grek_dflt_style_class":2624684,"af_grek_ordn_style_class":2624544,"af_grek_pcap_style_class":2624564,"af_grek_script_class":2623904,"af_grek_sinf_style_class":2624584,"af_grek_smcp_style_class":2624604,"af_grek_subs_style_class":2624624,"af_grek_sups_style_class":2624644,"af_grek_titl_style_class":2624664,"af_grek_uniranges":2264912,"af_gujr_dflt_style_class":2625024,"af_gujr_script_class":2624044,"af_gujr_uniranges":2265216,"af_guru_dflt_style_class":2625044,"af_guru_script_class":2624064,"af_guru_uniranges":2265232,"af_hani_dflt_style_class":2625244,"af_hani_script_class":2624264,"af_hani_uniranges":2265392,"af_hebr_dflt_style_class":2624704,"af_hebr_script_class":2623924,"af_hebr_uniranges":2264944,"af_indic_writing_system_class":2625348,"af_knda_dflt_style_class":2625064,"af_knda_script_class":2624084,"af_knda_uniranges":2265248,"af_latin_writing_system_class":2625292,"af_latn_c2cp_style_class":2624724,"af_latn_c2sc_style_class":2624744,"af_latn_dflt_style_class":2624904,"af_latn_ordn_style_class":2624764,"af_latn_pcap_style_class":2624784,"af_latn_script_class":2623944,"af_latn_sinf_style_class":2624804,"af_latn_smcp_style_class":2624824,"af_latn_subs_style_class":2624844,"af_latn_sups_style_class":2624864,"af_latn_titl_style_class":2624884,"af_latn_uniranges":2264976,"af_limb_dflt_style_class":2625084,"af_limb_script_class":2624104,"af_limb_uniranges":2265264,"af_mlym_dflt_style_class":2625104,"af_mlym_script_class":2624124,"af_mlym_uniranges":2265280,"af_none_dflt_style_class":2624944,"af_none_script_class":2623964,"af_none_uniranges":3007408,"af_orya_dflt_style_class":2625124,"af_orya_script_class":2624144,"af_orya_uniranges":2265296,"af_script_classes":2265920,"af_sinh_dflt_style_class":2625144,"af_sinh_script_class":2624164,"af_sinh_uniranges":2265312,"af_style_classes":2266048,"af_sund_dflt_style_class":2625164,"af_sund_script_class":2624184,"af_sund_uniranges":2265328,"af_sylo_dflt_style_class":2625184,"af_sylo_script_class":2624204,"af_sylo_uniranges":2265344,"af_taml_dflt_style_class":2625204,"af_taml_script_class":2624224,"af_taml_uniranges":2265360,"af_telu_dflt_style_class":2624964,"af_telu_script_class":2623984,"af_telu_uniranges":2265168,"af_thai_dflt_style_class":2624984,"af_thai_script_class":2624004,"af_thai_uniranges":2265184,"af_tibt_dflt_style_class":2625224,"af_tibt_script_class":2624244,"af_tibt_uniranges":2265376,"af_writing_system_classes":2266016,"afm_parser_funcs":2626632,"autofit_module_class":2625392,"bdf_driver_class":2625524,"cff_cmap_encoding_class_rec":2626e3,"cff_cmap_unicode_class_rec":2625960,"cff_driver_class":2625864,"converters":3004584,"daylight":3008904,"deflate_copyright":2358192,"environ":3008912,"eval_code":3001744,"find_imports":3001752,"ft_bitmap_glyph_class":2625460,"ft_grays_raster":2627740,"ft_outline_glyph_class":2625492,"ft_raster1_renderer_class":2627024,"ft_smooth_lcd_renderer_class":2627848,"ft_smooth_lcdv_renderer_class":2627908,"ft_smooth_renderer_class":2627788,"ft_standard_raster":2627e3,"globals":3001748,"h_errno":3007460,"in6addr_any":3007444,"in6addr_loopback":2628768,"inflate_copyright":2362800,"mpd_bits":2025520,"mpd_callocfunc":2603004,"mpd_clamp_string":2602980,"mpd_free":2603008,"mpd_invmoduli":2025472,"mpd_mallocfunc":2602996,"mpd_moduli":2602936,"mpd_pow10":2025648,"mpd_reallocfunc":2603e3,"mpd_roots":2602948,"mpd_round_string":2025696,"mpd_traphandler":2602988,"optarg":3007552,"opterr":2628788,"optind":2628784,"optopt":3007556,"pcf_driver_class":2626228,"pfr_cmap_class_rec":2626372,"pfr_driver_class":2626412,"png_sRGB_base":2347008,"png_sRGB_delta":2348032,"png_sRGB_table":2346496,"ps_parser_funcs":2626536,"ps_table_funcs":2626520,"psaux_module_class":2626820,"pshinter_module_class":2626884,"psnames_module_class":2626932,"pysqlite_BaseTypeAdapted":3004592,"pysqlite_CacheType":2597180,"pysqlite_ConnectionType":2597380,"pysqlite_CursorType":2597664,"pysqlite_DataError":3004576,"pysqlite_DatabaseError":3004556,"pysqlite_Error":3004544,"pysqlite_IntegrityError":3004572,"pysqlite_InterfaceError":3004552,"pysqlite_InternalError":3004560,"pysqlite_NodeType":2596980,"pysqlite_NotSupportedError":3004580,"pysqlite_OperationalError":3004564,"pysqlite_PrepareProtocolType":2598e3,"pysqlite_ProgrammingError":3004568,"pysqlite_RowType":2598212,"pysqlite_StatementType":2598452,"pysqlite_Warning":3004548,"pysqlite_row_as_mapping":2598200,"sfnt_module_class":2627552,"sqlite3_data_directory":3007156,"sqlite3_fts3_may_be_corrupt":2621016,"sqlite3_fts5_may_be_corrupt":2621020,"sqlite3_temp_directory":3007152,"sqlite3_version":2857544,"sqlite3one":2621012,"stderr":2628792,"stdin":2628924,"stdout":2629056,"str":2643548,"t1_builder_funcs":2626588,"t1_cmap_classes":2626804,"t1_cmap_custom_class_rec":2626724,"t1_cmap_expert_class_rec":2626684,"t1_cmap_standard_class_rec":2626644,"t1_cmap_unicode_class_rec":2626764,"t1_decoder_funcs":2626620,"t1_driver_class":2628168,"t1cid_driver_class":2626096,"t42_driver_class":2628320,"timezone":3008908,"tt_cmap0_class_rec":2627084,"tt_cmap10_class_rec":2627344,"tt_cmap12_class_rec":2627396,"tt_cmap13_class_rec":2627448,"tt_cmap14_class_rec":2627500,"tt_cmap2_class_rec":2627136,"tt_cmap4_class_rec":2627188,"tt_cmap6_class_rec":2627240,"tt_cmap8_class_rec":2627292,"tt_default_graphics_state":2628064,"tt_driver_class":2627968,"tzname":3008896,"winfnt_driver_class":2628448,"z_errmsg":2365776};for(var named in NAMED_GLOBALS){Module["_"+named]=gb+NAMED_GLOBALS[named]}Module["NAMED_GLOBALS"]=NAMED_GLOBALS;for(var named in NAMED_GLOBALS){(function(named){var func=Module["_"+named];Module["g$_"+named]=function(){return func}})(named)}Module["__IO_feof_unlocked"]=Module["_feof"];Module["__IO_ferror_unlocked"]=Module["_ferror"];Module["__IO_getc"]=Module["_getc"];Module["__IO_getc_unlocked"]=Module["_getc_unlocked"];Module["__IO_putc"]=Module["_putc"];Module["__IO_putc_unlocked"]=Module["_putc_unlocked"];Module["__ZN10__cxxabiv116__enum_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv116__enum_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv116__shim_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv117__array_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv117__array_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv117__class_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv117__class_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv117__pbase_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv117__pbase_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv119__pointer_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv119__pointer_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv120__function_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv120__function_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv120__si_class_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv120__si_class_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv121__vmi_class_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv121__vmi_class_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv123__fundamental_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv123__fundamental_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev"]=Module["__ZN10__cxxabiv116__shim_type_infoD2Ev"];Module["__ZNSt10bad_typeidC1Ev"]=Module["__ZNSt10bad_typeidC2Ev"];Module["__ZNSt10bad_typeidD1Ev"]=Module["__ZNSt10bad_typeidD2Ev"];Module["__ZNSt11logic_errorC1EPKc"]=Module["__ZNSt11logic_errorC2EPKc"];Module["__ZNSt11logic_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=Module["__ZNSt11logic_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"];Module["__ZNSt11logic_errorC1ERKS_"]=Module["__ZNSt11logic_errorC2ERKS_"];Module["__ZNSt11logic_errorD1Ev"]=Module["__ZNSt11logic_errorD2Ev"];Module["__ZNSt11range_errorD1Ev"]=Module["__ZNSt13runtime_errorD2Ev"];Module["__ZNSt11range_errorD2Ev"]=Module["__ZNSt13runtime_errorD2Ev"];Module["__ZNSt12domain_errorD1Ev"]=Module["__ZNSt11logic_errorD2Ev"];Module["__ZNSt12domain_errorD2Ev"]=Module["__ZNSt11logic_errorD2Ev"];Module["__ZNSt12experimental10filesystem2v116filesystem_errorD1Ev"]=Module["__ZNSt12experimental10filesystem2v116filesystem_errorD2Ev"];Module["__ZNSt12experimental10filesystem2v118directory_iteratorC1ERKNS1_4pathEPNSt3__210error_codeENS1_17directory_optionsE"]=Module["__ZNSt12experimental10filesystem2v118directory_iteratorC2ERKNS1_4pathEPNSt3__210error_codeENS1_17directory_optionsE"];Module["__ZNSt12experimental10filesystem2v128recursive_directory_iteratorC1ERKNS1_4pathENS1_17directory_optionsEPNSt3__210error_codeE"]=Module["__ZNSt12experimental10filesystem2v128recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNSt3__210error_codeE"];Module["__ZNSt12experimental19bad_optional_accessD1Ev"]=Module["__ZNSt12experimental19bad_optional_accessD2Ev"];Module["__ZNSt12length_errorD1Ev"]=Module["__ZNSt11logic_errorD2Ev"];Module["__ZNSt12length_errorD2Ev"]=Module["__ZNSt11logic_errorD2Ev"];Module["__ZNSt12out_of_rangeD1Ev"]=Module["__ZNSt11logic_errorD2Ev"];Module["__ZNSt12out_of_rangeD2Ev"]=Module["__ZNSt11logic_errorD2Ev"];Module["__ZNSt13bad_exceptionD1Ev"]=Module["__ZNSt9exceptionD2Ev"];Module["__ZNSt13bad_exceptionD2Ev"]=Module["__ZNSt9exceptionD2Ev"];Module["__ZNSt13exception_ptrC1ERKS_"]=Module["__ZNSt13exception_ptrC2ERKS_"];Module["__ZNSt13exception_ptrD1Ev"]=Module["__ZNSt13exception_ptrD2Ev"];Module["__ZNSt13runtime_errorC1EPKc"]=Module["__ZNSt13runtime_errorC2EPKc"];Module["__ZNSt13runtime_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=Module["__ZNSt13runtime_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"];Module["__ZNSt13runtime_errorC1ERKS_"]=Module["__ZNSt13runtime_errorC2ERKS_"];Module["__ZNSt13runtime_errorD1Ev"]=Module["__ZNSt13runtime_errorD2Ev"];Module["__ZNSt14overflow_errorD1Ev"]=Module["__ZNSt13runtime_errorD2Ev"];Module["__ZNSt14overflow_errorD2Ev"]=Module["__ZNSt13runtime_errorD2Ev"];Module["__ZNSt15underflow_errorD1Ev"]=Module["__ZNSt13runtime_errorD2Ev"];Module["__ZNSt15underflow_errorD2Ev"]=Module["__ZNSt13runtime_errorD2Ev"];Module["__ZNSt16bad_array_lengthC1Ev"]=Module["__ZNSt16bad_array_lengthC2Ev"];Module["__ZNSt16bad_array_lengthD1Ev"]=Module["__ZNSt9bad_allocD2Ev"];Module["__ZNSt16bad_array_lengthD2Ev"]=Module["__ZNSt9bad_allocD2Ev"];Module["__ZNSt16invalid_argumentD1Ev"]=Module["__ZNSt11logic_errorD2Ev"];Module["__ZNSt16invalid_argumentD2Ev"]=Module["__ZNSt11logic_errorD2Ev"];Module["__ZNSt16nested_exceptionC1Ev"]=Module["__ZNSt16nested_exceptionC2Ev"];Module["__ZNSt16nested_exceptionD1Ev"]=Module["__ZNSt16nested_exceptionD2Ev"];Module["__ZNSt19bad_optional_accessD1Ev"]=Module["__ZNSt19bad_optional_accessD2Ev"];Module["__ZNSt20bad_array_new_lengthC1Ev"]=Module["__ZNSt20bad_array_new_lengthC2Ev"];Module["__ZNSt20bad_array_new_lengthD1Ev"]=Module["__ZNSt9bad_allocD2Ev"];Module["__ZNSt20bad_array_new_lengthD2Ev"]=Module["__ZNSt9bad_allocD2Ev"];Module["__ZNSt3__210__time_getC1EPKc"]=Module["__ZNSt3__210__time_getC2EPKc"];Module["__ZNSt3__210__time_getC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=Module["__ZNSt3__210__time_getC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"];Module["__ZNSt3__210__time_getD1Ev"]=Module["__ZNSt3__210__time_getD2Ev"];Module["__ZNSt3__210__time_putC1EPKc"]=Module["__ZNSt3__210__time_putC2EPKc"];Module["__ZNSt3__210__time_putC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=Module["__ZNSt3__210__time_putC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"];Module["__ZNSt3__210__time_putD1Ev"]=Module["__ZNSt3__210__time_putD2Ev"];Module["__ZNSt3__210moneypunctIcLb0EEC1Em"]=Module["__ZNSt3__210moneypunctIcLb0EEC2Em"];Module["__ZNSt3__210moneypunctIcLb0EED1Ev"]=Module["__ZNSt3__210moneypunctIcLb0EED2Ev"];Module["__ZNSt3__210moneypunctIcLb1EEC1Em"]=Module["__ZNSt3__210moneypunctIcLb1EEC2Em"];Module["__ZNSt3__210moneypunctIcLb1EED1Ev"]=Module["__ZNSt3__210moneypunctIcLb1EED2Ev"];Module["__ZNSt3__210moneypunctIwLb0EEC1Em"]=Module["__ZNSt3__210moneypunctIwLb0EEC2Em"];Module["__ZNSt3__210moneypunctIwLb0EED1Ev"]=Module["__ZNSt3__210moneypunctIwLb0EED2Ev"];Module["__ZNSt3__210moneypunctIwLb1EEC1Em"]=Module["__ZNSt3__210moneypunctIwLb1EEC2Em"];Module["__ZNSt3__210moneypunctIwLb1EED1Ev"]=Module["__ZNSt3__210moneypunctIwLb1EED2Ev"];Module["__ZNSt3__211__libcpp_dbC1Ev"]=Module["__ZNSt3__211__libcpp_dbC2Ev"];Module["__ZNSt3__211__libcpp_dbD1Ev"]=Module["__ZNSt3__211__libcpp_dbD2Ev"];Module["__ZNSt3__211__money_getIcEC1Ev"]=Module["__ZNSt3__211__money_getIcEC2Ev"];Module["__ZNSt3__211__money_getIwEC1Ev"]=Module["__ZNSt3__211__money_getIwEC2Ev"];Module["__ZNSt3__211__money_putIcEC1Ev"]=Module["__ZNSt3__211__money_putIcEC2Ev"];Module["__ZNSt3__211__money_putIwEC1Ev"]=Module["__ZNSt3__211__money_putIwEC2Ev"];Module["__ZNSt3__211regex_errorC1ENS_15regex_constants10error_typeE"]=Module["__ZNSt3__211regex_errorC2ENS_15regex_constants10error_typeE"];Module["__ZNSt3__211regex_errorD1Ev"]=Module["__ZNSt3__211regex_errorD2Ev"];Module["__ZNSt3__211timed_mutexC1Ev"]=Module["__ZNSt3__211timed_mutexC2Ev"];Module["__ZNSt3__211timed_mutexD1Ev"]=Module["__ZNSt3__211timed_mutexD2Ev"];Module["__ZNSt3__212__rs_defaultC1ERKS0_"]=Module["__ZNSt3__212__rs_defaultC2ERKS0_"];Module["__ZNSt3__212__rs_defaultC1Ev"]=Module["__ZNSt3__212__rs_defaultC2Ev"];Module["__ZNSt3__212__rs_defaultD1Ev"]=Module["__ZNSt3__212__rs_defaultD2Ev"];Module["__ZNSt3__212bad_weak_ptrD1Ev"]=Module["__ZNSt3__212bad_weak_ptrD2Ev"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ENS_17basic_string_viewIcS2_EE"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ENS_17basic_string_viewIcS2_EE"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ENS_17basic_string_viewIcS2_EERKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ENS_17basic_string_viewIcS2_EERKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_RKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_RKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EPKc"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKc"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EPKcRKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcRKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EPKcm"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcm"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EPKcmRKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EPKcmRKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_RKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_RKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mRKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mRKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mmRKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ESt16initializer_listIcE"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ESt16initializer_listIcE"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ESt16initializer_listIcERKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ESt16initializer_listIcERKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1Emc"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Emc"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EmcRKS4_"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EmcRKS4_"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1Ev"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Ev"];Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev"]=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ENS_17basic_string_viewIwS2_EE"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ENS_17basic_string_viewIwS2_EE"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ENS_17basic_string_viewIwS2_EERKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ENS_17basic_string_viewIwS2_EERKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1EOS5_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EOS5_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1EOS5_RKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EOS5_RKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1EPKw"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKw"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1EPKwRKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwRKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1EPKwm"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwm"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1EPKwmRKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EPKwmRKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_RKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_RKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_mRKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mRKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_mmRKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mmRKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ESt16initializer_listIwE"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ESt16initializer_listIwE"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ESt16initializer_listIwERKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ESt16initializer_listIwERKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1Emw"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2Emw"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1EmwRKS4_"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2EmwRKS4_"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1Ev"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2Ev"];Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev"]=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev"];Module["__ZNSt3__212ctype_bynameIcEC1EPKcm"]=Module["__ZNSt3__212ctype_bynameIcEC2EPKcm"];Module["__ZNSt3__212ctype_bynameIcEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__212ctype_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__212ctype_bynameIcED1Ev"]=Module["__ZNSt3__212ctype_bynameIcED2Ev"];Module["__ZNSt3__212ctype_bynameIwEC1EPKcm"]=Module["__ZNSt3__212ctype_bynameIwEC2EPKcm"];Module["__ZNSt3__212ctype_bynameIwEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__212ctype_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__212ctype_bynameIwED1Ev"]=Module["__ZNSt3__212ctype_bynameIwED2Ev"];Module["__ZNSt3__212future_errorC1ENS_10error_codeE"]=Module["__ZNSt3__212future_errorC2ENS_10error_codeE"];Module["__ZNSt3__212future_errorD1Ev"]=Module["__ZNSt3__212future_errorD2Ev"];Module["__ZNSt3__212strstreambufC1EPFPvmEPFvS1_E"]=Module["__ZNSt3__212strstreambufC2EPFPvmEPFvS1_E"];Module["__ZNSt3__212strstreambufC1EPKal"]=Module["__ZNSt3__212strstreambufC2EPKal"];Module["__ZNSt3__212strstreambufC1EPKcl"]=Module["__ZNSt3__212strstreambufC2EPKcl"];Module["__ZNSt3__212strstreambufC1EPKhl"]=Module["__ZNSt3__212strstreambufC2EPKhl"];Module["__ZNSt3__212strstreambufC1EPalS1_"]=Module["__ZNSt3__212strstreambufC2EPalS1_"];Module["__ZNSt3__212strstreambufC1EPclS1_"]=Module["__ZNSt3__212strstreambufC2EPclS1_"];Module["__ZNSt3__212strstreambufC1EPhlS1_"]=Module["__ZNSt3__212strstreambufC2EPhlS1_"];Module["__ZNSt3__212strstreambufC1El"]=Module["__ZNSt3__212strstreambufC2El"];Module["__ZNSt3__212strstreambufD1Ev"]=Module["__ZNSt3__212strstreambufD2Ev"];Module["__ZNSt3__212system_errorC1ENS_10error_codeE"]=Module["__ZNSt3__212system_errorC2ENS_10error_codeE"];Module["__ZNSt3__212system_errorC1ENS_10error_codeEPKc"]=Module["__ZNSt3__212system_errorC2ENS_10error_codeEPKc"];Module["__ZNSt3__212system_errorC1ENS_10error_codeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=Module["__ZNSt3__212system_errorC2ENS_10error_codeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"];Module["__ZNSt3__212system_errorC1EiRKNS_14error_categoryE"]=Module["__ZNSt3__212system_errorC2EiRKNS_14error_categoryE"];Module["__ZNSt3__212system_errorC1EiRKNS_14error_categoryEPKc"]=Module["__ZNSt3__212system_errorC2EiRKNS_14error_categoryEPKc"];Module["__ZNSt3__212system_errorC1EiRKNS_14error_categoryERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=Module["__ZNSt3__212system_errorC2EiRKNS_14error_categoryERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"];Module["__ZNSt3__212system_errorD1Ev"]=Module["__ZNSt3__212system_errorD2Ev"];Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE6sentryC1ERS3_b"]=Module["__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEE6sentryC2ERS3_b"];Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE6sentryC1ERS3_b"]=Module["__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEE6sentryC2ERS3_b"];Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_"]=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_"];Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev"]=Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev"];Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryC1ERS3_"]=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryC2ERS3_"];Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryD1Ev"]=Module["__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEE6sentryD2Ev"];Module["__ZNSt3__213random_deviceC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=Module["__ZNSt3__213random_deviceC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"];Module["__ZNSt3__213random_deviceD1Ev"]=Module["__ZNSt3__213random_deviceD2Ev"];Module["__ZNSt3__213shared_futureIvED1Ev"]=Module["__ZNSt3__213shared_futureIvED2Ev"];Module["__ZNSt3__214__shared_countD1Ev"]=Module["__ZNSt3__214__shared_countD2Ev"];Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tEC1EPKcm"]=Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tEC2EPKcm"];Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tED1Ev"]=Module["__ZNSt3__214codecvt_bynameIDic11__mbstate_tED2Ev"];Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC1EPKcm"]=Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC2EPKcm"];Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tED1Ev"]=Module["__ZNSt3__214codecvt_bynameIDsc11__mbstate_tED2Ev"];Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tEC1EPKcm"]=Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tEC2EPKcm"];Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tED1Ev"]=Module["__ZNSt3__214codecvt_bynameIcc11__mbstate_tED2Ev"];Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tEC1EPKcm"]=Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tEC2EPKcm"];Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tED1Ev"]=Module["__ZNSt3__214codecvt_bynameIwc11__mbstate_tED2Ev"];Module["__ZNSt3__214collate_bynameIcEC1EPKcm"]=Module["__ZNSt3__214collate_bynameIcEC2EPKcm"];Module["__ZNSt3__214collate_bynameIcEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__214collate_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__214collate_bynameIcED1Ev"]=Module["__ZNSt3__214collate_bynameIcED2Ev"];Module["__ZNSt3__214collate_bynameIwEC1EPKcm"]=Module["__ZNSt3__214collate_bynameIwEC2EPKcm"];Module["__ZNSt3__214collate_bynameIwEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__214collate_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__214collate_bynameIwED1Ev"]=Module["__ZNSt3__214collate_bynameIwED2Ev"];Module["__ZNSt3__214error_categoryD1Ev"]=Module["__ZNSt3__214error_categoryD2Ev"];Module["__ZNSt3__215__thread_structC1Ev"]=Module["__ZNSt3__215__thread_structC2Ev"];Module["__ZNSt3__215__thread_structD1Ev"]=Module["__ZNSt3__215__thread_structD2Ev"];Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC1ERKS3_"]=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2ERKS3_"];Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC1Ev"]=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2Ev"];Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED1Ev"]=Module["__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev"];Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC1ERKS3_"]=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2ERKS3_"];Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC1Ev"]=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2Ev"];Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED1Ev"]=Module["__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev"];Module["__ZNSt3__215messages_bynameIcEC1EPKcm"]=Module["__ZNSt3__215messages_bynameIcEC2EPKcm"];Module["__ZNSt3__215messages_bynameIcEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__215messages_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__215messages_bynameIcED1Ev"]=Module["__ZNSt3__215messages_bynameIcED2Ev"];Module["__ZNSt3__215messages_bynameIwEC1EPKcm"]=Module["__ZNSt3__215messages_bynameIwEC2EPKcm"];Module["__ZNSt3__215messages_bynameIwEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__215messages_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__215messages_bynameIwED1Ev"]=Module["__ZNSt3__215messages_bynameIwED2Ev"];Module["__ZNSt3__215numpunct_bynameIcEC1EPKcm"]=Module["__ZNSt3__215numpunct_bynameIcEC2EPKcm"];Module["__ZNSt3__215numpunct_bynameIcEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__215numpunct_bynameIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__215numpunct_bynameIcED1Ev"]=Module["__ZNSt3__28numpunctIcED2Ev"];Module["__ZNSt3__215numpunct_bynameIcED2Ev"]=Module["__ZNSt3__28numpunctIcED2Ev"];Module["__ZNSt3__215numpunct_bynameIwEC1EPKcm"]=Module["__ZNSt3__215numpunct_bynameIwEC2EPKcm"];Module["__ZNSt3__215numpunct_bynameIwEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__215numpunct_bynameIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__215numpunct_bynameIwED1Ev"]=Module["__ZNSt3__28numpunctIwED2Ev"];Module["__ZNSt3__215numpunct_bynameIwED2Ev"]=Module["__ZNSt3__28numpunctIwED2Ev"];Module["__ZNSt3__215recursive_mutexC1Ev"]=Module["__ZNSt3__215recursive_mutexC2Ev"];Module["__ZNSt3__215recursive_mutexD1Ev"]=Module["__ZNSt3__215recursive_mutexD2Ev"];Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC1EPKcm"]=Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm"];Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC1ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"]=Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"];Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev"]=Module["__ZNSt3__215time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"];Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC1EPKcm"]=Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm"];Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC1ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev"]=Module["__ZNSt3__215time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"];Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC1EPKcm"]=Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm"];Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC1ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"]=Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"];Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev"]=Module["__ZNSt3__215time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"];Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC1EPKcm"]=Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm"];Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC1ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev"]=Module["__ZNSt3__215time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"];Module["__ZNSt3__216__narrow_to_utf8ILm16EED1Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__216__narrow_to_utf8ILm16EED2Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__216__narrow_to_utf8ILm32EED1Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__216__narrow_to_utf8ILm32EED2Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__217__widen_from_utf8ILm16EED1Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__217__widen_from_utf8ILm16EED2Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__217__widen_from_utf8ILm32EED1Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__217__widen_from_utf8ILm32EED2Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__217bad_function_callD1Ev"]=Module["__ZNSt3__217bad_function_callD2Ev"];Module["__ZNSt3__217moneypunct_bynameIcLb0EEC1EPKcm"]=Module["__ZNSt3__217moneypunct_bynameIcLb0EEC2EPKcm"];Module["__ZNSt3__217moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__217moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__217moneypunct_bynameIcLb0EED1Ev"]=Module["__ZNSt3__217moneypunct_bynameIcLb0EED2Ev"];Module["__ZNSt3__217moneypunct_bynameIcLb1EEC1EPKcm"]=Module["__ZNSt3__217moneypunct_bynameIcLb1EEC2EPKcm"];Module["__ZNSt3__217moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__217moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__217moneypunct_bynameIcLb1EED1Ev"]=Module["__ZNSt3__217moneypunct_bynameIcLb1EED2Ev"];Module["__ZNSt3__217moneypunct_bynameIwLb0EEC1EPKcm"]=Module["__ZNSt3__217moneypunct_bynameIwLb0EEC2EPKcm"];Module["__ZNSt3__217moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__217moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__217moneypunct_bynameIwLb0EED1Ev"]=Module["__ZNSt3__217moneypunct_bynameIwLb0EED2Ev"];Module["__ZNSt3__217moneypunct_bynameIwLb1EEC1EPKcm"]=Module["__ZNSt3__217moneypunct_bynameIwLb1EEC2EPKcm"];Module["__ZNSt3__217moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__217moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__217moneypunct_bynameIwLb1EED1Ev"]=Module["__ZNSt3__217moneypunct_bynameIwLb1EED2Ev"];Module["__ZNSt3__218__time_get_storageIcEC1EPKc"]=Module["__ZNSt3__218__time_get_storageIcEC2EPKc"];Module["__ZNSt3__218__time_get_storageIcEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=Module["__ZNSt3__218__time_get_storageIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"];Module["__ZNSt3__218__time_get_storageIwEC1EPKc"]=Module["__ZNSt3__218__time_get_storageIwEC2EPKc"];Module["__ZNSt3__218__time_get_storageIwEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=Module["__ZNSt3__218__time_get_storageIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"];Module["__ZNSt3__218condition_variableD1Ev"]=Module["__ZNSt3__218condition_variableD2Ev"];Module["__ZNSt3__218shared_timed_mutexC1Ev"]=Module["__ZNSt3__218shared_timed_mutexC2Ev"];Module["__ZNSt3__219__shared_mutex_baseC1Ev"]=Module["__ZNSt3__219__shared_mutex_baseC2Ev"];Module["__ZNSt3__219__shared_weak_countD1Ev"]=Module["__ZNSt3__214__shared_countD2Ev"];Module["__ZNSt3__219__shared_weak_countD2Ev"]=Module["__ZNSt3__214__shared_countD2Ev"];Module["__ZNSt3__219__thread_struct_impD1Ev"]=Module["__ZNSt3__219__thread_struct_impD2Ev"];Module["__ZNSt3__220__vector_base_commonILb1EEC1Ev"]=Module["__ZNSt3__220__vector_base_commonILb1EEC2Ev"];Module["__ZNSt3__221recursive_timed_mutexC1Ev"]=Module["__ZNSt3__221recursive_timed_mutexC2Ev"];Module["__ZNSt3__221recursive_timed_mutexD1Ev"]=Module["__ZNSt3__221recursive_timed_mutexD2Ev"];Module["__ZNSt3__224__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE"]=Module["__ZNSt3__224__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE"];Module["__ZNSt3__224__libcpp_debug_exceptionC1ERKS0_"]=Module["__ZNSt3__224__libcpp_debug_exceptionC2ERKS0_"];Module["__ZNSt3__224__libcpp_debug_exceptionC1Ev"]=Module["__ZNSt3__224__libcpp_debug_exceptionC2Ev"];Module["__ZNSt3__224__libcpp_debug_exceptionD1Ev"]=Module["__ZNSt3__224__libcpp_debug_exceptionD2Ev"];Module["__ZNSt3__25ctypeIcEC1EPKtbm"]=Module["__ZNSt3__25ctypeIcEC2EPKtbm"];Module["__ZNSt3__25ctypeIcED1Ev"]=Module["__ZNSt3__25ctypeIcED2Ev"];Module["__ZNSt3__25ctypeIwED1Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__25ctypeIwED2Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__25mutexD1Ev"]=Module["__ZNSt3__25mutexD2Ev"];Module["__ZNSt3__26futureIvEC1EPNS_17__assoc_sub_stateE"]=Module["__ZNSt3__26futureIvEC2EPNS_17__assoc_sub_stateE"];Module["__ZNSt3__26futureIvED1Ev"]=Module["__ZNSt3__26futureIvED2Ev"];Module["__ZNSt3__26locale5__impC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__26locale5__impC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__26locale5__impC1ERKS1_"]=Module["__ZNSt3__26locale5__impC2ERKS1_"];Module["__ZNSt3__26locale5__impC1ERKS1_PNS0_5facetEl"]=Module["__ZNSt3__26locale5__impC2ERKS1_PNS0_5facetEl"];Module["__ZNSt3__26locale5__impC1ERKS1_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi"]=Module["__ZNSt3__26locale5__impC2ERKS1_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi"];Module["__ZNSt3__26locale5__impC1ERKS1_S3_i"]=Module["__ZNSt3__26locale5__impC2ERKS1_S3_i"];Module["__ZNSt3__26locale5__impC1Em"]=Module["__ZNSt3__26locale5__impC2Em"];Module["__ZNSt3__26locale5__impD1Ev"]=Module["__ZNSt3__26locale5__impD2Ev"];Module["__ZNSt3__26locale5facetD1Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__26localeC1EPKc"]=Module["__ZNSt3__26localeC2EPKc"];Module["__ZNSt3__26localeC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=Module["__ZNSt3__26localeC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"];Module["__ZNSt3__26localeC1ERKS0_"]=Module["__ZNSt3__26localeC2ERKS0_"];Module["__ZNSt3__26localeC1ERKS0_PKci"]=Module["__ZNSt3__26localeC2ERKS0_PKci"];Module["__ZNSt3__26localeC1ERKS0_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi"]=Module["__ZNSt3__26localeC2ERKS0_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi"];Module["__ZNSt3__26localeC1ERKS0_S2_i"]=Module["__ZNSt3__26localeC2ERKS0_S2_i"];Module["__ZNSt3__26localeC1Ev"]=Module["__ZNSt3__26localeC2Ev"];Module["__ZNSt3__26localeD1Ev"]=Module["__ZNSt3__26localeD2Ev"];Module["__ZNSt3__26threadD1Ev"]=Module["__ZNSt3__26threadD2Ev"];Module["__ZNSt3__27codecvtIDic11__mbstate_tED1Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__27codecvtIDic11__mbstate_tED2Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__27codecvtIDsc11__mbstate_tED1Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__27codecvtIDsc11__mbstate_tED2Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__27codecvtIcc11__mbstate_tED1Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__27codecvtIcc11__mbstate_tED2Ev"]=Module["__ZNSt3__26locale5facetD2Ev"];Module["__ZNSt3__27codecvtIwc11__mbstate_tEC1EPKcm"]=Module["__ZNSt3__27codecvtIwc11__mbstate_tEC2EPKcm"];Module["__ZNSt3__27codecvtIwc11__mbstate_tEC1Em"]=Module["__ZNSt3__27codecvtIwc11__mbstate_tEC2Em"];Module["__ZNSt3__27codecvtIwc11__mbstate_tED1Ev"]=Module["__ZNSt3__27codecvtIwc11__mbstate_tED2Ev"];Module["__ZNSt3__27collateIcEC1Em"]=Module["__ZNSt3__27collateIcEC2Em"];Module["__ZNSt3__27collateIcED1Ev"]=Module["__ZNSt3__27collateIcED2Ev"];Module["__ZNSt3__27collateIwEC1Em"]=Module["__ZNSt3__27collateIwEC2Em"];Module["__ZNSt3__27collateIwED1Ev"]=Module["__ZNSt3__27collateIwED2Ev"];Module["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC1Em"]=Module["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"];Module["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev"]=Module["__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"];Module["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC1Em"]=Module["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"];Module["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev"]=Module["__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"];Module["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC1Em"]=Module["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"];Module["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev"]=Module["__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"];Module["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC1Em"]=Module["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"];Module["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev"]=Module["__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"];Module["__ZNSt3__27promiseIvEC1Ev"]=Module["__ZNSt3__27promiseIvEC2Ev"];Module["__ZNSt3__27promiseIvED1Ev"]=Module["__ZNSt3__27promiseIvED2Ev"];Module["__ZNSt3__28__c_nodeD1Ev"]=Module["__ZNSt3__28__c_nodeD2Ev"];Module["__ZNSt3__28__i_nodeD1Ev"]=Module["__ZNSt3__28__i_nodeD2Ev"];Module["__ZNSt3__28ios_base4InitC1Ev"]=Module["__ZNSt3__28ios_base4InitC2Ev"];Module["__ZNSt3__28ios_base4InitD1Ev"]=Module["__ZNSt3__28ios_base4InitD2Ev"];Module["__ZNSt3__28ios_base7failureC1EPKcRKNS_10error_codeE"]=Module["__ZNSt3__28ios_base7failureC2EPKcRKNS_10error_codeE"];Module["__ZNSt3__28ios_base7failureC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_10error_codeE"]=Module["__ZNSt3__28ios_base7failureC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_10error_codeE"];Module["__ZNSt3__28ios_base7failureD1Ev"]=Module["__ZNSt3__28ios_base7failureD2Ev"];Module["__ZNSt3__28ios_baseD1Ev"]=Module["__ZNSt3__28ios_baseD2Ev"];Module["__ZNSt3__28messagesIcEC1Em"]=Module["__ZNSt3__28messagesIcEC2Em"];Module["__ZNSt3__28messagesIcED1Ev"]=Module["__ZNSt3__28messagesIcED2Ev"];Module["__ZNSt3__28messagesIwEC1Em"]=Module["__ZNSt3__28messagesIwEC2Em"];Module["__ZNSt3__28messagesIwED1Ev"]=Module["__ZNSt3__28messagesIwED2Ev"];Module["__ZNSt3__28numpunctIcEC1Em"]=Module["__ZNSt3__28numpunctIcEC2Em"];Module["__ZNSt3__28numpunctIcED1Ev"]=Module["__ZNSt3__28numpunctIcED2Ev"];Module["__ZNSt3__28numpunctIwEC1Em"]=Module["__ZNSt3__28numpunctIwEC2Em"];Module["__ZNSt3__28numpunctIwED1Ev"]=Module["__ZNSt3__28numpunctIwED2Ev"];Module["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC1Em"]=Module["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"];Module["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev"]=Module["__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"];Module["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC1Em"]=Module["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"];Module["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev"]=Module["__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"];Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC1EPKcm"]=Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2EPKcm"];Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC1ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"]=Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2ERKNS_12basic_stringIcS3_NS_9allocatorIcEEEEm"];Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC1Em"]=Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"];Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev"]=Module["__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"];Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC1EPKcm"]=Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2EPKcm"];Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC1ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"]=Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2ERKNS_12basic_stringIcNS2_IcEENS_9allocatorIcEEEEm"];Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC1Em"]=Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"];Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev"]=Module["__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"];Module["__ZNSt3__28valarrayImEC1Em"]=Module["__ZNSt3__28valarrayImEC2Em"];Module["__ZNSt3__28valarrayImED1Ev"]=Module["__ZNSt3__28valarrayImED2Ev"];Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE"]=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE"];Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC1Ev"]=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEEC2Ev"];Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEED1Ev"]=Module["__ZNSt3__29basic_iosIcNS_11char_traitsIcEEED2Ev"];Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC1EPNS_15basic_streambufIwS2_EE"]=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE"];Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC1Ev"]=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEEC2Ev"];Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEED1Ev"]=Module["__ZNSt3__29basic_iosIwNS_11char_traitsIwEEED2Ev"];Module["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC1Em"]=Module["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"];Module["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev"]=Module["__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"];Module["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC1Em"]=Module["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"];Module["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev"]=Module["__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"];Module["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC1Em"]=Module["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEC2Em"];Module["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev"]=Module["__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev"];Module["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC1Em"]=Module["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEC2Em"];Module["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev"]=Module["__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev"];Module["__ZNSt8bad_castC1Ev"]=Module["__ZNSt8bad_castC2Ev"];Module["__ZNSt8bad_castD1Ev"]=Module["__ZNSt8bad_castD2Ev"];Module["__ZNSt9bad_allocC1Ev"]=Module["__ZNSt9bad_allocC2Ev"];Module["__ZNSt9bad_allocD1Ev"]=Module["__ZNSt9bad_allocD2Ev"];Module["__ZNSt9exceptionD1Ev"]=Module["__ZNSt9exceptionD2Ev"];Module["__ZNSt9type_infoD1Ev"]=Module["__ZNSt9type_infoD2Ev"];Module["___aio_close"]=Module["_dummy_459"];Module["___freelocale"]=Module["_freelocale"];Module["___fxstat64"]=Module["___fxstat"];Module["___fxstatat64"]=Module["___fxstatat"];Module["___getdelim"]=Module["_getdelim"];Module["___isoc99_fscanf"]=Module["_fscanf"];Module["___isoc99_fwscanf"]=Module["_fwscanf"];Module["___isoc99_scanf"]=Module["_scanf"];Module["___isoc99_sscanf"]=Module["_sscanf"];Module["___isoc99_swscanf"]=Module["_swscanf"];Module["___isoc99_vfscanf"]=Module["_vfscanf"];Module["___isoc99_vfwscanf"]=Module["_vfwscanf"];Module["___isoc99_vscanf"]=Module["_vscanf"];Module["___isoc99_vsscanf"]=Module["_vsscanf"];Module["___isoc99_vswscanf"]=Module["_vswscanf"];Module["___isoc99_vwscanf"]=Module["_vwscanf"];Module["___isoc99_wscanf"]=Module["_wscanf"];Module["___lxstat64"]=Module["___lxstat"];Module["___posix_getopt"]=Module["_getopt"];Module["___stdio_exit_needed"]=Module["___stdio_exit"];Module["___strtoimax_internal"]=Module["_strtoimax"];Module["___strtol_internal"]=Module["_strtol"];Module["___strtoll_internal"]=Module["_strtoll"];Module["___strtoul_internal"]=Module["_strtoul"];Module["___strtoull_internal"]=Module["_strtoull"];Module["___strtoumax_internal"]=Module["_strtoumax"];Module["___vm_wait"]=Module["_dummy"];Module["___xpg_basename"]=Module["_basename"];Module["___xpg_strerror_r"]=Module["_strerror_r"];Module["___xstat64"]=Module["___xstat"];Module["_alphasort64"]=Module["_alphasort"];Module["_cfsetspeed"]=Module["_cfsetospeed"];Module["_clearerr_unlocked"]=Module["_clearerr"];Module["_creat64"]=Module["_creat"];Module["_crypt_r"]=Module["___crypt_r"];Module["_dn_comp"]=Module["___dn_comp"];Module["_dn_expand"]=Module["___dn_expand"];Module["_drem"]=Module["_remainder"];Module["_dremf"]=Module["_remainderf"];Module["_dup3"]=Module["___dup3"];Module["_duplocale"]=Module["___duplocale"];Module["_emscripten_builtin_free"]=Module["_free"];Module["_emscripten_builtin_malloc"]=Module["_malloc"];Module["_endnetent"]=Module["_endhostent"];Module["_fdopen"]=Module["___fdopen"];Module["_feof_unlocked"]=Module["_feof"];Module["_ferror_unlocked"]=Module["_ferror"];Module["_fflush_unlocked"]=Module["___fflush_unlocked"];Module["_fgetc_unlocked"]=Module["_getc_unlocked"];Module["_fgetpos64"]=Module["_fgetpos"];Module["_fgets_unlocked"]=Module["_fgets"];Module["_fgetwc_unlocked"]=Module["___fgetwc_unlocked"];Module["_fgetws_unlocked"]=Module["_fgetws"];Module["_fileno_unlocked"]=Module["_fileno"];Module["_fopen64"]=Module["_fopen"];Module["_fpurge"]=Module["___fpurge"];Module["_fputc_unlocked"]=Module["_putc_unlocked"];Module["_fputs_unlocked"]=Module["_fputs"];Module["_fputwc_unlocked"]=Module["___fputwc_unlocked"];Module["_fputws_unlocked"]=Module["_fputws"];Module["_fread_unlocked"]=Module["_fread"];Module["_freopen64"]=Module["_freopen"];Module["_fseeko"]=Module["___fseeko"];Module["_fseeko64"]=Module["___fseeko"];Module["_fsetpos64"]=Module["_fsetpos"];Module["_fstat64"]=Module["_fstat"];Module["_fstatat64"]=Module["_fstatat"];Module["_fstatfs"]=Module["___fstatfs"];Module["_fstatfs64"]=Module["___fstatfs"];Module["_fstatvfs64"]=Module["_fstatvfs"];Module["_ftello"]=Module["___ftello"];Module["_ftello64"]=Module["___ftello"];Module["_ftruncate64"]=Module["_ftruncate"];Module["_futimesat"]=Module["___futimesat"];Module["_fwrite_unlocked"]=Module["_fwrite"];Module["_getdents"]=Module["___getdents"];Module["_getdents64"]=Module["___getdents"];Module["_getnetent"]=Module["_gethostent"];Module["_getrlimit64"]=Module["_getrlimit"];Module["_getwc_unlocked"]=Module["___fgetwc_unlocked"];Module["_getwchar_unlocked"]=Module["_getwchar"];Module["_glob64"]=Module["_glob"];Module["_globfree64"]=Module["_globfree"];Module["_inet_aton"]=Module["___inet_aton"];Module["_lgamma_r"]=Module["___lgamma_r"];Module["_lgammaf_r"]=Module["___lgammaf_r"];Module["_lgammal_r"]=Module["___lgammal_r"];Module["_lockf64"]=Module["_lockf"];Module["_lseek64"]=Module["_lseek"];Module["_lstat64"]=Module["_lstat"];Module["_madvise"]=Module["___madvise"];Module["_memrchr"]=Module["___memrchr"];Module["_mkostemp64"]=Module["_mkostemp"];Module["_mkostemps"]=Module["___mkostemps"];Module["_mkostemps64"]=Module["___mkostemps"];Module["_mkstemp64"]=Module["_mkstemp"];Module["_mkstemps64"]=Module["_mkstemps"];Module["_mmap"]=Module["___mmap"];Module["_mmap64"]=Module["___mmap"];Module["_mprotect"]=Module["___mprotect"];Module["_mremap"]=Module["___mremap"];Module["_munmap"]=Module["___munmap"];Module["_newlocale"]=Module["___newlocale"];Module["_nftw64"]=Module["_nftw"];Module["_nl_langinfo"]=Module["___nl_langinfo"];Module["_nl_langinfo_l"]=Module["___nl_langinfo_l"];Module["_open64"]=Module["_open"];Module["_openat64"]=Module["_openat"];Module["_optreset"]=Module["___optreset"];Module["_posix_fadvise64"]=Module["_posix_fadvise"];Module["_posix_fallocate64"]=Module["_posix_fallocate"];Module["_pow10"]=Module["_exp10"];Module["_pow10f"]=Module["_exp10f"];Module["_pow10l"]=Module["_exp10l"];Module["_pread64"]=Module["_pread"];Module["_preadv64"]=Module["_preadv"];Module["_program_invocation_name"]=Module["___progname_full"];Module["_program_invocation_short_name"]=Module["___progname"];Module["_ptsname_r"]=Module["___ptsname_r"];Module["_putwc_unlocked"]=Module["___fputwc_unlocked"];Module["_putwchar_unlocked"]=Module["_putwchar"];Module["_pwrite64"]=Module["_pwrite"];Module["_pwritev64"]=Module["_pwritev"];Module["_readdir64"]=Module["_readdir"];Module["_readdir64_r"]=Module["_readdir_r"];Module["_res_mkquery"]=Module["___res_mkquery"];Module["_res_send"]=Module["___res_send"];Module["_scandir64"]=Module["_scandir"];Module["_setnetent"]=Module["_sethostent"];Module["_setrlimit64"]=Module["_setrlimit"];Module["_signgam"]=Module["___signgam"];Module["_stat64"]=Module["_stat"];Module["_statfs"]=Module["___statfs"];Module["_statfs64"]=Module["___statfs"];Module["_statvfs64"]=Module["_statvfs"];Module["_stpcpy"]=Module["___stpcpy"];Module["_stpncpy"]=Module["___stpncpy"];Module["_strchrnul"]=Module["___strchrnul"];Module["_strcoll_l"]=Module["___strcoll_l"];Module["_strdup"]=Module["___strdup"];Module["_strxfrm_l"]=Module["___strxfrm_l"];Module["_tmpfile64"]=Module["_tmpfile"];Module["_truncate64"]=Module["_truncate"];Module["_uselocale"]=Module["___uselocale"];Module["_versionsort64"]=Module["_versionsort"];Module["_vsyslog"]=Module["___vsyslog"];Module["_wcscoll_l"]=Module["___wcscoll_l"];Module["_wcsxfrm_l"]=Module["___wcsxfrm_l"];Module["asm"]=asm;Module["allocate"]=allocate;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["then"]=function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=function(){if(old)old();func(Module)}}return Module};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run();
-
-
- return pyodide
-}
-);
-})();
-if (typeof exports === 'object' && typeof module === 'object')
- module.exports = pyodide;
- else if (typeof define === 'function' && define['amd'])
- define([], function() { return pyodide; });
- else if (typeof exports === 'object')
- exports["pyodide"] = pyodide;
-
\ No newline at end of file
+++ /dev/null
-/**
- * The main bootstrap script for loading pyodide.
- */
-
-var languagePluginLoader = new Promise((resolve, reject) => {
- // This is filled in by the Makefile to be either a local file or the
- // deployed location. TODO: This should be done in a less hacky
- // way.
- var baseURL = self.languagePluginUrl || 'https://pyodide.cdn.iodide.io/';
- baseURL = baseURL.substr(0, baseURL.lastIndexOf('/')) + '/';
-
- ////////////////////////////////////////////////////////////
- // Package loading
- let loadedPackages = new Array();
- var loadPackagePromise = new Promise((resolve) => resolve());
- // Regexp for validating package name and URI
- var package_name_regexp = '[a-z0-9_][a-z0-9_\-]*'
- var package_uri_regexp =
- new RegExp('^https?://.*?(' + package_name_regexp + ').js$', 'i');
- var package_name_regexp = new RegExp('^' + package_name_regexp + '$', 'i');
-
- let _uri_to_package_name = (package_uri) => {
- // Generate a unique package name from URI
-
- if (package_name_regexp.test(package_uri)) {
- return package_uri;
- } else if (package_uri_regexp.test(package_uri)) {
- let match = package_uri_regexp.exec(package_uri);
- // Get the regexp group corresponding to the package name
- return match[1];
- } else {
- return null;
- }
- };
-
- // clang-format off
- let preloadWasm = () => {
- // On Chrome, we have to instantiate wasm asynchronously. Since that
- // can't be done synchronously within the call to dlopen, we instantiate
- // every .so that comes our way up front, caching it in the
- // `preloadedWasm` dictionary.
-
- let promise = new Promise((resolve) => resolve());
- let FS = pyodide._module.FS;
-
- function recurseDir(rootpath) {
- let dirs;
- try {
- dirs = FS.readdir(rootpath);
- } catch {
- return;
- }
- for (let entry of dirs) {
- if (entry.startsWith('.')) {
- continue;
- }
- const path = rootpath + entry;
- if (entry.endsWith('.so')) {
- if (Module['preloadedWasm'][path] === undefined) {
- promise = promise
- .then(() => Module['loadWebAssemblyModule'](
- FS.readFile(path), {loadAsync: true}))
- .then((module) => {
- Module['preloadedWasm'][path] = module;
- });
- }
- } else if (FS.isDir(FS.lookupPath(path).node.mode)) {
- recurseDir(path + '/');
- }
- }
- }
-
- recurseDir('/');
-
- return promise;
- }
- // clang-format on
-
- function loadScript(url, onload, onerror) {
- if (self.document) { // browser
- const script = self.document.createElement('script');
- script.src = url;
- script.onload = (e) => { onload(); };
- script.onerror = (e) => { onerror(); };
- self.document.head.appendChild(script);
- } else if (self.importScripts) { // webworker
- try {
- self.importScripts(url);
- onload();
- } catch {
- onerror();
- }
- }
- }
-
- let _loadPackage = (names, messageCallback) => {
- // DFS to find all dependencies of the requested packages
- let packages = self.pyodide._module.packages.dependencies;
- let loadedPackages = self.pyodide.loadedPackages;
- let queue = [].concat(names || []);
- let toLoad = new Array();
- while (queue.length) {
- let package_uri = queue.pop();
-
- const pkg = _uri_to_package_name(package_uri);
-
- if (pkg == null) {
- console.error(`Invalid package name or URI '${package_uri}'`);
- return;
- } else if (pkg == package_uri) {
- package_uri = 'default channel';
- }
-
- if (pkg in loadedPackages) {
- if (package_uri != loadedPackages[pkg]) {
- console.error(`URI mismatch, attempting to load package ` +
- `${pkg} from ${package_uri} while it is already ` +
- `loaded from ${loadedPackages[pkg]}!`);
- return;
- }
- } else if (pkg in toLoad) {
- if (package_uri != toLoad[pkg]) {
- console.error(`URI mismatch, attempting to load package ` +
- `${pkg} from ${package_uri} while it is already ` +
- `being loaded from ${toLoad[pkg]}!`);
- return;
- }
- } else {
- console.log(`Loading ${pkg} from ${package_uri}`);
-
- toLoad[pkg] = package_uri;
- if (packages.hasOwnProperty(pkg)) {
- packages[pkg].forEach((subpackage) => {
- if (!(subpackage in loadedPackages) && !(subpackage in toLoad)) {
- queue.push(subpackage);
- }
- });
- } else {
- console.error(`Unknown package '${pkg}'`);
- }
- }
- }
-
- self.pyodide._module.locateFile = (path) => {
- // handle packages loaded from custom URLs
- let pkg = path.replace(/\.data$/, "");
- if (pkg in toLoad) {
- let package_uri = toLoad[pkg];
- if (package_uri != 'default channel') {
- return package_uri.replace(/\.js$/, ".data");
- };
- };
- return baseURL + path;
- };
-
- let promise = new Promise((resolve, reject) => {
- if (Object.keys(toLoad).length === 0) {
- resolve('No new packages to load');
- return;
- }
-
- const packageList = Array.from(Object.keys(toLoad)).join(', ');
- if (messageCallback !== undefined) {
- messageCallback(`Loading ${packageList}`);
- }
-
- // monitorRunDependencies is called at the beginning and the end of each
- // package being loaded. We know we are done when it has been called
- // exactly "toLoad * 2" times.
- var packageCounter = Object.keys(toLoad).length * 2;
-
- self.pyodide._module.monitorRunDependencies = () => {
- packageCounter--;
- if (packageCounter === 0) {
- for (let pkg in toLoad) {
- self.pyodide.loadedPackages[pkg] = toLoad[pkg];
- }
- delete self.pyodide._module.monitorRunDependencies;
- self.removeEventListener('error', windowErrorHandler);
- if (!isFirefox) {
- preloadWasm().then(() => {resolve(`Loaded ${packageList}`)});
- } else {
- resolve(`Loaded ${packageList}`);
- }
- }
- };
-
- // Add a handler for any exceptions that are thrown in the process of
- // loading a package
- var windowErrorHandler = (err) => {
- delete self.pyodide._module.monitorRunDependencies;
- self.removeEventListener('error', windowErrorHandler);
- // Set up a new Promise chain, since this one failed
- loadPackagePromise = new Promise((resolve) => resolve());
- reject(err.message);
- };
- self.addEventListener('error', windowErrorHandler);
-
- for (let pkg in toLoad) {
- let scriptSrc;
- let package_uri = toLoad[pkg];
- if (package_uri == 'default channel') {
- scriptSrc = `${baseURL}${pkg}.js`;
- } else {
- scriptSrc = `${package_uri}`;
- }
- loadScript(scriptSrc, () => {}, () => {
- // If the package_uri fails to load, call monitorRunDependencies twice
- // (so packageCounter will still hit 0 and finish loading), and remove
- // the package from toLoad so we don't mark it as loaded.
- console.error(`Couldn't load package from URL ${scriptSrc}`)
- let index = toLoad.indexOf(pkg);
- if (index !== -1) {
- toLoad.splice(index, 1);
- }
- for (let i = 0; i < 2; i++) {
- self.pyodide._module.monitorRunDependencies();
- }
- });
- }
-
- // We have to invalidate Python's import caches, or it won't
- // see the new files. This is done here so it happens in parallel
- // with the fetching over the network.
- self.pyodide.runPython('import importlib as _importlib\n' +
- '_importlib.invalidate_caches()\n');
- });
-
- return promise;
- };
-
- let loadPackage = (names, messageCallback) => {
- /* We want to make sure that only one loadPackage invocation runs at any
- * given time, so this creates a "chain" of promises. */
- loadPackagePromise =
- loadPackagePromise.then(() => _loadPackage(names, messageCallback));
- return loadPackagePromise;
- };
-
- ////////////////////////////////////////////////////////////
- // Fix Python recursion limit
- function fixRecursionLimit(pyodide) {
- // The Javascript/Wasm call stack may be too small to handle the default
- // Python call stack limit of 1000 frames. This is generally the case on
- // Chrom(ium), but not on Firefox. Here, we determine the Javascript call
- // stack depth available, and then divide by 50 (determined heuristically)
- // to set the maximum Python call stack depth.
-
- let depth = 0;
- function recurse() {
- depth += 1;
- recurse();
- }
- try {
- recurse();
- } catch (err) {
- ;
- }
-
- let recursionLimit = depth / 50;
- if (recursionLimit > 1000) {
- recursionLimit = 1000;
- }
- pyodide.runPython(
- `import sys; sys.setrecursionlimit(int(${recursionLimit}))`);
- };
-
- ////////////////////////////////////////////////////////////
- // Rearrange namespace for public API
- let PUBLIC_API = [
- 'globals',
- 'loadPackage',
- 'loadedPackages',
- 'pyimport',
- 'repr',
- 'runPython',
- 'runPythonAsync',
- 'checkABI',
- 'version',
- ];
-
- function makePublicAPI(module, public_api) {
- var namespace = {_module : module};
- for (let name of public_api) {
- namespace[name] = module[name];
- }
- return namespace;
- }
-
- ////////////////////////////////////////////////////////////
- // Loading Pyodide
- let wasmURL = `${baseURL}pyodide.asm.wasm`;
- let Module = {};
- self.Module = Module;
-
- Module.noImageDecoding = true;
- Module.noAudioDecoding = true;
- Module.noWasmDecoding = true;
- Module.preloadedWasm = {};
- let isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
-
- let wasm_promise;
- if (WebAssembly.compileStreaming === undefined) {
- wasm_promise = fetch(wasmURL)
- .then(response => response.arrayBuffer())
- .then(bytes => WebAssembly.compile(bytes));
- } else {
- wasm_promise = WebAssembly.compileStreaming(fetch(wasmURL));
- }
-
- Module.instantiateWasm = (info, receiveInstance) => {
- wasm_promise.then(module => WebAssembly.instantiate(module, info))
- .then(instance => receiveInstance(instance));
- return {};
- };
-
- Module.checkABI = function(ABI_number) {
- if (ABI_number !== parseInt('1')) {
- var ABI_mismatch_exception =
- `ABI numbers differ. Expected 1, got ${ABI_number}`;
- console.error(ABI_mismatch_exception);
- throw ABI_mismatch_exception;
- }
- return true;
- };
-
- Module.locateFile = (path) => baseURL + path;
- var postRunPromise = new Promise((resolve, reject) => {
- Module.postRun = () => {
- delete self.Module;
- fetch(`${baseURL}packages.json`)
- .then((response) => response.json())
- .then((json) => {
- fixRecursionLimit(self.pyodide);
- self.pyodide.globals =
- self.pyodide.runPython('import sys\nsys.modules["__main__"]');
- self.pyodide = makePublicAPI(self.pyodide, PUBLIC_API);
- self.pyodide._module.packages = json;
- resolve();
- });
- };
- });
-
- var dataLoadPromise = new Promise((resolve, reject) => {
- Module.monitorRunDependencies =
- (n) => {
- if (n === 0) {
- delete Module.monitorRunDependencies;
- resolve();
- }
- }
- });
-
- Promise.all([ postRunPromise, dataLoadPromise ]).then(() => resolve());
-
- const data_script_src = `${baseURL}pyodide.asm.data.js`;
- loadScript(data_script_src, () => {
- const scriptSrc = `${baseURL}pyodide.asm.js`;
- loadScript(scriptSrc, () => {
- // The emscripten module needs to be at this location for the core
- // filesystem to install itself. Once that's complete, it will be replaced
- // by the call to `makePublicAPI` with a more limited public API.
- self.pyodide = pyodide(Module);
- self.pyodide.loadedPackages = new Array();
- self.pyodide.loadPackage = loadPackage;
- }, () => {});
- }, () => {});
-
- ////////////////////////////////////////////////////////////
- // Iodide-specific functionality, that doesn't make sense
- // if not using with Iodide.
- if (self.iodide !== undefined) {
- // Load the custom CSS for Pyodide
- let link = document.createElement('link');
- link.rel = 'stylesheet';
- link.type = 'text/css';
- link.href = `${baseURL}renderedhtml.css`;
- document.getElementsByTagName('head')[0].appendChild(link);
-
- // Add a custom output handler for Python objects
- self.iodide.addOutputRenderer({
- shouldRender : (val) => {
- return (typeof val === 'function' &&
- pyodide._module.PyProxy.isPyProxy(val));
- },
-
- render : (val) => {
- let div = document.createElement('div');
- div.className = 'rendered_html';
- var element;
- if (val._repr_html_ !== undefined) {
- let result = val._repr_html_();
- if (typeof result === 'string') {
- div.appendChild(new DOMParser()
- .parseFromString(result, 'text/html')
- .body.firstChild);
- element = div;
- } else {
- element = result;
- }
- } else {
- let pre = document.createElement('pre');
- pre.textContent = val.toString();
- div.appendChild(pre);
- element = div;
- }
- return element.outerHTML;
- }
- });
- }
-});
-languagePluginLoader
+++ /dev/null
-/*
- * searchtools.js
- * ~~~~~~~~~~~~~~~~
- *
- * Sphinx JavaScript utilities for the full-text search.
- *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-if (!Scorer) {
- /**
- * Simple result scoring code.
- */
- var Scorer = {
- // Implement the following function to further tweak the score for each result
- // The function takes a result array [filename, title, anchor, descr, score]
- // and returns the new score.
- /*
- score: function(result) {
- return result[4];
- },
- */
-
- // query matches the full name of an object
- objNameMatch: 11,
- // or matches in the last dotted part of the object name
- objPartialMatch: 6,
- // Additive scores depending on the priority of the object
- objPrio: {0: 15, // used to be importantResults
- 1: 5, // used to be objectResults
- 2: -5}, // used to be unimportantResults
- // Used when the priority is not in the mapping.
- objPrioDefault: 0,
-
- // query found in title
- title: 15,
- partialTitle: 7,
- // query found in terms
- term: 5,
- partialTerm: 2
- };
-}
-
-if (!splitQuery) {
- function splitQuery(query) {
- return query.split(/\s+/);
- }
-}
-
-/**
- * Search Module
- */
-var Search = {
-
- _index : null,
- _queued_query : null,
- _pulse_status : -1,
-
- htmlToText : function(htmlString) {
- var htmlElement = document.createElement('span');
- htmlElement.innerHTML = htmlString;
- $(htmlElement).find('.headerlink').remove();
- docContent = $(htmlElement).find('[role=main]')[0];
- return docContent.textContent || docContent.innerText;
- },
-
- init : function() {
- var params = $.getQueryParameters();
- if (params.q) {
- var query = params.q[0];
- $('input[name="q"]')[0].value = query;
- this.performSearch(query);
- }
- },
-
- loadIndex : function(url) {
- $.ajax({type: "GET", url: url, data: null,
- dataType: "script", cache: true,
- complete: function(jqxhr, textstatus) {
- if (textstatus != "success") {
- document.getElementById("searchindexloader").src = url;
- }
- }});
- },
-
- setIndex : function(index) {
- var q;
- this._index = index;
- if ((q = this._queued_query) !== null) {
- this._queued_query = null;
- Search.query(q);
- }
- },
-
- hasIndex : function() {
- return this._index !== null;
- },
-
- deferQuery : function(query) {
- this._queued_query = query;
- },
-
- stopPulse : function() {
- this._pulse_status = 0;
- },
-
- startPulse : function() {
- if (this._pulse_status >= 0)
- return;
- function pulse() {
- var i;
- Search._pulse_status = (Search._pulse_status + 1) % 4;
- var dotString = '';
- for (i = 0; i < Search._pulse_status; i++)
- dotString += '.';
- Search.dots.text(dotString);
- if (Search._pulse_status > -1)
- window.setTimeout(pulse, 500);
- }
- pulse();
- },
-
- /**
- * perform a search for something (or wait until index is loaded)
- */
- performSearch : function(query) {
- // create the required interface elements
- this.out = $('#search-results');
- this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
- this.dots = $('<span></span>').appendTo(this.title);
- this.status = $('<p class="search-summary"> </p>').appendTo(this.out);
- this.output = $('<ul class="search"/>').appendTo(this.out);
-
- $('#search-progress').text(_('Preparing search...'));
- this.startPulse();
-
- // index already loaded, the browser was quick!
- if (this.hasIndex())
- this.query(query);
- else
- this.deferQuery(query);
- },
-
- /**
- * execute search (requires search index to be loaded)
- */
- query : function(query) {
- var i;
-
- // stem the searchterms and add them to the correct list
- var stemmer = new Stemmer();
- var searchterms = [];
- var excluded = [];
- var hlterms = [];
- var tmp = splitQuery(query);
- var objectterms = [];
- for (i = 0; i < tmp.length; i++) {
- if (tmp[i] !== "") {
- objectterms.push(tmp[i].toLowerCase());
- }
-
- if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) ||
- tmp[i] === "") {
- // skip this "word"
- continue;
- }
- // stem the word
- var word = stemmer.stemWord(tmp[i].toLowerCase());
- // prevent stemmer from cutting word smaller than two chars
- if(word.length < 3 && tmp[i].length >= 3) {
- word = tmp[i];
- }
- var toAppend;
- // select the correct list
- if (word[0] == '-') {
- toAppend = excluded;
- word = word.substr(1);
- }
- else {
- toAppend = searchterms;
- hlterms.push(tmp[i].toLowerCase());
- }
- // only add if not already in the list
- if (!$u.contains(toAppend, word))
- toAppend.push(word);
- }
- var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
-
- // console.debug('SEARCH: searching for:');
- // console.info('required: ', searchterms);
- // console.info('excluded: ', excluded);
-
- // prepare search
- var terms = this._index.terms;
- var titleterms = this._index.titleterms;
-
- // array of [filename, title, anchor, descr, score]
- var results = [];
- $('#search-progress').empty();
-
- // lookup as object
- for (i = 0; i < objectterms.length; i++) {
- var others = [].concat(objectterms.slice(0, i),
- objectterms.slice(i+1, objectterms.length));
- results = results.concat(this.performObjectSearch(objectterms[i], others));
- }
-
- // lookup as search terms in fulltext
- results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms));
-
- // let the scorer override scores with a custom scoring function
- if (Scorer.score) {
- for (i = 0; i < results.length; i++)
- results[i][4] = Scorer.score(results[i]);
- }
-
- // now sort the results by score (in opposite order of appearance, since the
- // display function below uses pop() to retrieve items) and then
- // alphabetically
- results.sort(function(a, b) {
- var left = a[4];
- var right = b[4];
- if (left > right) {
- return 1;
- } else if (left < right) {
- return -1;
- } else {
- // same score: sort alphabetically
- left = a[1].toLowerCase();
- right = b[1].toLowerCase();
- return (left > right) ? -1 : ((left < right) ? 1 : 0);
- }
- });
-
- // for debugging
- //Search.lastresults = results.slice(); // a copy
- //console.info('search results:', Search.lastresults);
-
- // print the results
- var resultCount = results.length;
- function displayNextItem() {
- // results left, load the summary and display it
- if (results.length) {
- var item = results.pop();
- var listItem = $('<li style="display:none"></li>');
- if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') {
- // dirhtml builder
- var dirname = item[0] + '/';
- if (dirname.match(/\/index\/$/)) {
- dirname = dirname.substring(0, dirname.length-6);
- } else if (dirname == 'index/') {
- dirname = '';
- }
- listItem.append($('<a/>').attr('href',
- DOCUMENTATION_OPTIONS.URL_ROOT + dirname +
- highlightstring + item[2]).html(item[1]));
- } else {
- // normal html builders
- listItem.append($('<a/>').attr('href',
- item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
- highlightstring + item[2]).html(item[1]));
- }
- if (item[3]) {
- listItem.append($('<span> (' + item[3] + ')</span>'));
- Search.output.append(listItem);
- listItem.slideDown(5, function() {
- displayNextItem();
- });
- } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
- $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX,
- dataType: "text",
- complete: function(jqxhr, textstatus) {
- var data = jqxhr.responseText;
- if (data !== '' && data !== undefined) {
- listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));
- }
- Search.output.append(listItem);
- listItem.slideDown(5, function() {
- displayNextItem();
- });
- }});
- } else {
- // no source available, just display title
- Search.output.append(listItem);
- listItem.slideDown(5, function() {
- displayNextItem();
- });
- }
- }
- // search finished, update title and status message
- else {
- Search.stopPulse();
- Search.title.text(_('Search Results'));
- if (!resultCount)
- Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
- else
- Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
- Search.status.fadeIn(500);
- }
- }
- displayNextItem();
- },
-
- /**
- * search for object names
- */
- performObjectSearch : function(object, otherterms) {
- var filenames = this._index.filenames;
- var docnames = this._index.docnames;
- var objects = this._index.objects;
- var objnames = this._index.objnames;
- var titles = this._index.titles;
-
- var i;
- var results = [];
-
- for (var prefix in objects) {
- for (var name in objects[prefix]) {
- var fullname = (prefix ? prefix + '.' : '') + name;
- if (fullname.toLowerCase().indexOf(object) > -1) {
- var score = 0;
- var parts = fullname.split('.');
- // check for different match types: exact matches of full name or
- // "last name" (i.e. last dotted part)
- if (fullname == object || parts[parts.length - 1] == object) {
- score += Scorer.objNameMatch;
- // matches in last name
- } else if (parts[parts.length - 1].indexOf(object) > -1) {
- score += Scorer.objPartialMatch;
- }
- var match = objects[prefix][name];
- var objname = objnames[match[1]][2];
- var title = titles[match[0]];
- // If more than one term searched for, we require other words to be
- // found in the name/title/description
- if (otherterms.length > 0) {
- var haystack = (prefix + ' ' + name + ' ' +
- objname + ' ' + title).toLowerCase();
- var allfound = true;
- for (i = 0; i < otherterms.length; i++) {
- if (haystack.indexOf(otherterms[i]) == -1) {
- allfound = false;
- break;
- }
- }
- if (!allfound) {
- continue;
- }
- }
- var descr = objname + _(', in ') + title;
-
- var anchor = match[3];
- if (anchor === '')
- anchor = fullname;
- else if (anchor == '-')
- anchor = objnames[match[1]][1] + '-' + fullname;
- // add custom score for some objects according to scorer
- if (Scorer.objPrio.hasOwnProperty(match[2])) {
- score += Scorer.objPrio[match[2]];
- } else {
- score += Scorer.objPrioDefault;
- }
- results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);
- }
- }
- }
-
- return results;
- },
-
- /**
- * search for full-text terms in the index
- */
- performTermsSearch : function(searchterms, excluded, terms, titleterms) {
- var docnames = this._index.docnames;
- var filenames = this._index.filenames;
- var titles = this._index.titles;
-
- var i, j, file;
- var fileMap = {};
- var scoreMap = {};
- var results = [];
-
- // perform the search on the required terms
- for (i = 0; i < searchterms.length; i++) {
- var word = searchterms[i];
- var files = [];
- var _o = [
- {files: terms[word], score: Scorer.term},
- {files: titleterms[word], score: Scorer.title}
- ];
- // add support for partial matches
- if (word.length > 2) {
- for (var w in terms) {
- if (w.match(word) && !terms[word]) {
- _o.push({files: terms[w], score: Scorer.partialTerm})
- }
- }
- for (var w in titleterms) {
- if (w.match(word) && !titleterms[word]) {
- _o.push({files: titleterms[w], score: Scorer.partialTitle})
- }
- }
- }
-
- // no match but word was a required one
- if ($u.every(_o, function(o){return o.files === undefined;})) {
- break;
- }
- // found search word in contents
- $u.each(_o, function(o) {
- var _files = o.files;
- if (_files === undefined)
- return
-
- if (_files.length === undefined)
- _files = [_files];
- files = files.concat(_files);
-
- // set score for the word in each file to Scorer.term
- for (j = 0; j < _files.length; j++) {
- file = _files[j];
- if (!(file in scoreMap))
- scoreMap[file] = {}
- scoreMap[file][word] = o.score;
- }
- });
-
- // create the mapping
- for (j = 0; j < files.length; j++) {
- file = files[j];
- if (file in fileMap)
- fileMap[file].push(word);
- else
- fileMap[file] = [word];
- }
- }
-
- // now check if the files don't contain excluded terms
- for (file in fileMap) {
- var valid = true;
-
- // check if all requirements are matched
- var filteredTermCount = // as search terms with length < 3 are discarded: ignore
- searchterms.filter(function(term){return term.length > 2}).length
- if (
- fileMap[file].length != searchterms.length &&
- fileMap[file].length != filteredTermCount
- ) continue;
-
- // ensure that none of the excluded terms is in the search result
- for (i = 0; i < excluded.length; i++) {
- if (terms[excluded[i]] == file ||
- titleterms[excluded[i]] == file ||
- $u.contains(terms[excluded[i]] || [], file) ||
- $u.contains(titleterms[excluded[i]] || [], file)) {
- valid = false;
- break;
- }
- }
-
- // if we have still a valid result we can add it to the result list
- if (valid) {
- // select one (max) score for the file.
- // for better ranking, we should calculate ranking by using words statistics like basic tf-idf...
- var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));
- results.push([docnames[file], titles[file], '', null, score, filenames[file]]);
- }
- }
- return results;
- },
-
- /**
- * helper function to return a node containing the
- * search summary for a given text. keywords is a list
- * of stemmed words, hlwords is the list of normal, unstemmed
- * words. the first one is used to find the occurrence, the
- * latter for highlighting it.
- */
- makeSearchSummary : function(htmlText, keywords, hlwords) {
- var text = Search.htmlToText(htmlText);
- var textLower = text.toLowerCase();
- var start = 0;
- $.each(keywords, function() {
- var i = textLower.indexOf(this.toLowerCase());
- if (i > -1)
- start = i;
- });
- start = Math.max(start - 120, 0);
- var excerpt = ((start > 0) ? '...' : '') +
- $.trim(text.substr(start, 240)) +
- ((start + 240 - text.length) ? '...' : '');
- var rv = $('<div class="context"></div>').text(excerpt);
- $.each(hlwords, function() {
- rv = rv.highlightText(this, 'highlighted');
- });
- return rv;
- }
-};
-
-$(document).ready(function() {
- Search.init();
-});
+++ /dev/null
-// Underscore.js 1.3.1
-// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
-// Underscore is freely distributable under the MIT license.
-// Portions of Underscore are inspired or borrowed from Prototype,
-// Oliver Steele's Functional, and John Resig's Micro-Templating.
-// For all details and documentation:
-// http://documentcloud.github.com/underscore
-
-(function() {
-
- // Baseline setup
- // --------------
-
- // Establish the root object, `window` in the browser, or `global` on the server.
- var root = this;
-
- // Save the previous value of the `_` variable.
- var previousUnderscore = root._;
-
- // Establish the object that gets returned to break out of a loop iteration.
- var breaker = {};
-
- // Save bytes in the minified (but not gzipped) version:
- var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
-
- // Create quick reference variables for speed access to core prototypes.
- var slice = ArrayProto.slice,
- unshift = ArrayProto.unshift,
- toString = ObjProto.toString,
- hasOwnProperty = ObjProto.hasOwnProperty;
-
- // All **ECMAScript 5** native function implementations that we hope to use
- // are declared here.
- var
- nativeForEach = ArrayProto.forEach,
- nativeMap = ArrayProto.map,
- nativeReduce = ArrayProto.reduce,
- nativeReduceRight = ArrayProto.reduceRight,
- nativeFilter = ArrayProto.filter,
- nativeEvery = ArrayProto.every,
- nativeSome = ArrayProto.some,
- nativeIndexOf = ArrayProto.indexOf,
- nativeLastIndexOf = ArrayProto.lastIndexOf,
- nativeIsArray = Array.isArray,
- nativeKeys = Object.keys,
- nativeBind = FuncProto.bind;
-
- // Create a safe reference to the Underscore object for use below.
- var _ = function(obj) { return new wrapper(obj); };
-
- // Export the Underscore object for **Node.js**, with
- // backwards-compatibility for the old `require()` API. If we're in
- // the browser, add `_` as a global object via a string identifier,
- // for Closure Compiler "advanced" mode.
- if (typeof exports !== 'undefined') {
- if (typeof module !== 'undefined' && module.exports) {
- exports = module.exports = _;
- }
- exports._ = _;
- } else {
- root['_'] = _;
- }
-
- // Current version.
- _.VERSION = '1.3.1';
-
- // Collection Functions
- // --------------------
-
- // The cornerstone, an `each` implementation, aka `forEach`.
- // Handles objects with the built-in `forEach`, arrays, and raw objects.
- // Delegates to **ECMAScript 5**'s native `forEach` if available.
- var each = _.each = _.forEach = function(obj, iterator, context) {
- if (obj == null) return;
- if (nativeForEach && obj.forEach === nativeForEach) {
- obj.forEach(iterator, context);
- } else if (obj.length === +obj.length) {
- for (var i = 0, l = obj.length; i < l; i++) {
- if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return;
- }
- } else {
- for (var key in obj) {
- if (_.has(obj, key)) {
- if (iterator.call(context, obj[key], key, obj) === breaker) return;
- }
- }
- }
- };
-
- // Return the results of applying the iterator to each element.
- // Delegates to **ECMAScript 5**'s native `map` if available.
- _.map = _.collect = function(obj, iterator, context) {
- var results = [];
- if (obj == null) return results;
- if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
- each(obj, function(value, index, list) {
- results[results.length] = iterator.call(context, value, index, list);
- });
- if (obj.length === +obj.length) results.length = obj.length;
- return results;
- };
-
- // **Reduce** builds up a single result from a list of values, aka `inject`,
- // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.
- _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {
- var initial = arguments.length > 2;
- if (obj == null) obj = [];
- if (nativeReduce && obj.reduce === nativeReduce) {
- if (context) iterator = _.bind(iterator, context);
- return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);
- }
- each(obj, function(value, index, list) {
- if (!initial) {
- memo = value;
- initial = true;
- } else {
- memo = iterator.call(context, memo, value, index, list);
- }
- });
- if (!initial) throw new TypeError('Reduce of empty array with no initial value');
- return memo;
- };
-
- // The right-associative version of reduce, also known as `foldr`.
- // Delegates to **ECMAScript 5**'s native `reduceRight` if available.
- _.reduceRight = _.foldr = function(obj, iterator, memo, context) {
- var initial = arguments.length > 2;
- if (obj == null) obj = [];
- if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
- if (context) iterator = _.bind(iterator, context);
- return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
- }
- var reversed = _.toArray(obj).reverse();
- if (context && !initial) iterator = _.bind(iterator, context);
- return initial ? _.reduce(reversed, iterator, memo, context) : _.reduce(reversed, iterator);
- };
-
- // Return the first value which passes a truth test. Aliased as `detect`.
- _.find = _.detect = function(obj, iterator, context) {
- var result;
- any(obj, function(value, index, list) {
- if (iterator.call(context, value, index, list)) {
- result = value;
- return true;
- }
- });
- return result;
- };
-
- // Return all the elements that pass a truth test.
- // Delegates to **ECMAScript 5**'s native `filter` if available.
- // Aliased as `select`.
- _.filter = _.select = function(obj, iterator, context) {
- var results = [];
- if (obj == null) return results;
- if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);
- each(obj, function(value, index, list) {
- if (iterator.call(context, value, index, list)) results[results.length] = value;
- });
- return results;
- };
-
- // Return all the elements for which a truth test fails.
- _.reject = function(obj, iterator, context) {
- var results = [];
- if (obj == null) return results;
- each(obj, function(value, index, list) {
- if (!iterator.call(context, value, index, list)) results[results.length] = value;
- });
- return results;
- };
-
- // Determine whether all of the elements match a truth test.
- // Delegates to **ECMAScript 5**'s native `every` if available.
- // Aliased as `all`.
- _.every = _.all = function(obj, iterator, context) {
- var result = true;
- if (obj == null) return result;
- if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);
- each(obj, function(value, index, list) {
- if (!(result = result && iterator.call(context, value, index, list))) return breaker;
- });
- return result;
- };
-
- // Determine if at least one element in the object matches a truth test.
- // Delegates to **ECMAScript 5**'s native `some` if available.
- // Aliased as `any`.
- var any = _.some = _.any = function(obj, iterator, context) {
- iterator || (iterator = _.identity);
- var result = false;
- if (obj == null) return result;
- if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
- each(obj, function(value, index, list) {
- if (result || (result = iterator.call(context, value, index, list))) return breaker;
- });
- return !!result;
- };
-
- // Determine if a given value is included in the array or object using `===`.
- // Aliased as `contains`.
- _.include = _.contains = function(obj, target) {
- var found = false;
- if (obj == null) return found;
- if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;
- found = any(obj, function(value) {
- return value === target;
- });
- return found;
- };
-
- // Invoke a method (with arguments) on every item in a collection.
- _.invoke = function(obj, method) {
- var args = slice.call(arguments, 2);
- return _.map(obj, function(value) {
- return (_.isFunction(method) ? method || value : value[method]).apply(value, args);
- });
- };
-
- // Convenience version of a common use case of `map`: fetching a property.
- _.pluck = function(obj, key) {
- return _.map(obj, function(value){ return value[key]; });
- };
-
- // Return the maximum element or (element-based computation).
- _.max = function(obj, iterator, context) {
- if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj);
- if (!iterator && _.isEmpty(obj)) return -Infinity;
- var result = {computed : -Infinity};
- each(obj, function(value, index, list) {
- var computed = iterator ? iterator.call(context, value, index, list) : value;
- computed >= result.computed && (result = {value : value, computed : computed});
- });
- return result.value;
- };
-
- // Return the minimum element (or element-based computation).
- _.min = function(obj, iterator, context) {
- if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj);
- if (!iterator && _.isEmpty(obj)) return Infinity;
- var result = {computed : Infinity};
- each(obj, function(value, index, list) {
- var computed = iterator ? iterator.call(context, value, index, list) : value;
- computed < result.computed && (result = {value : value, computed : computed});
- });
- return result.value;
- };
-
- // Shuffle an array.
- _.shuffle = function(obj) {
- var shuffled = [], rand;
- each(obj, function(value, index, list) {
- if (index == 0) {
- shuffled[0] = value;
- } else {
- rand = Math.floor(Math.random() * (index + 1));
- shuffled[index] = shuffled[rand];
- shuffled[rand] = value;
- }
- });
- return shuffled;
- };
-
- // Sort the object's values by a criterion produced by an iterator.
- _.sortBy = function(obj, iterator, context) {
- return _.pluck(_.map(obj, function(value, index, list) {
- return {
- value : value,
- criteria : iterator.call(context, value, index, list)
- };
- }).sort(function(left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- }), 'value');
- };
-
- // Groups the object's values by a criterion. Pass either a string attribute
- // to group by, or a function that returns the criterion.
- _.groupBy = function(obj, val) {
- var result = {};
- var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; };
- each(obj, function(value, index) {
- var key = iterator(value, index);
- (result[key] || (result[key] = [])).push(value);
- });
- return result;
- };
-
- // Use a comparator function to figure out at what index an object should
- // be inserted so as to maintain order. Uses binary search.
- _.sortedIndex = function(array, obj, iterator) {
- iterator || (iterator = _.identity);
- var low = 0, high = array.length;
- while (low < high) {
- var mid = (low + high) >> 1;
- iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid;
- }
- return low;
- };
-
- // Safely convert anything iterable into a real, live array.
- _.toArray = function(iterable) {
- if (!iterable) return [];
- if (iterable.toArray) return iterable.toArray();
- if (_.isArray(iterable)) return slice.call(iterable);
- if (_.isArguments(iterable)) return slice.call(iterable);
- return _.values(iterable);
- };
-
- // Return the number of elements in an object.
- _.size = function(obj) {
- return _.toArray(obj).length;
- };
-
- // Array Functions
- // ---------------
-
- // Get the first element of an array. Passing **n** will return the first N
- // values in the array. Aliased as `head`. The **guard** check allows it to work
- // with `_.map`.
- _.first = _.head = function(array, n, guard) {
- return (n != null) && !guard ? slice.call(array, 0, n) : array[0];
- };
-
- // Returns everything but the last entry of the array. Especcialy useful on
- // the arguments object. Passing **n** will return all the values in
- // the array, excluding the last N. The **guard** check allows it to work with
- // `_.map`.
- _.initial = function(array, n, guard) {
- return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n));
- };
-
- // Get the last element of an array. Passing **n** will return the last N
- // values in the array. The **guard** check allows it to work with `_.map`.
- _.last = function(array, n, guard) {
- if ((n != null) && !guard) {
- return slice.call(array, Math.max(array.length - n, 0));
- } else {
- return array[array.length - 1];
- }
- };
-
- // Returns everything but the first entry of the array. Aliased as `tail`.
- // Especially useful on the arguments object. Passing an **index** will return
- // the rest of the values in the array from that index onward. The **guard**
- // check allows it to work with `_.map`.
- _.rest = _.tail = function(array, index, guard) {
- return slice.call(array, (index == null) || guard ? 1 : index);
- };
-
- // Trim out all falsy values from an array.
- _.compact = function(array) {
- return _.filter(array, function(value){ return !!value; });
- };
-
- // Return a completely flattened version of an array.
- _.flatten = function(array, shallow) {
- return _.reduce(array, function(memo, value) {
- if (_.isArray(value)) return memo.concat(shallow ? value : _.flatten(value));
- memo[memo.length] = value;
- return memo;
- }, []);
- };
-
- // Return a version of the array that does not contain the specified value(s).
- _.without = function(array) {
- return _.difference(array, slice.call(arguments, 1));
- };
-
- // Produce a duplicate-free version of the array. If the array has already
- // been sorted, you have the option of using a faster algorithm.
- // Aliased as `unique`.
- _.uniq = _.unique = function(array, isSorted, iterator) {
- var initial = iterator ? _.map(array, iterator) : array;
- var result = [];
- _.reduce(initial, function(memo, el, i) {
- if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) {
- memo[memo.length] = el;
- result[result.length] = array[i];
- }
- return memo;
- }, []);
- return result;
- };
-
- // Produce an array that contains the union: each distinct element from all of
- // the passed-in arrays.
- _.union = function() {
- return _.uniq(_.flatten(arguments, true));
- };
-
- // Produce an array that contains every item shared between all the
- // passed-in arrays. (Aliased as "intersect" for back-compat.)
- _.intersection = _.intersect = function(array) {
- var rest = slice.call(arguments, 1);
- return _.filter(_.uniq(array), function(item) {
- return _.every(rest, function(other) {
- return _.indexOf(other, item) >= 0;
- });
- });
- };
-
- // Take the difference between one array and a number of other arrays.
- // Only the elements present in just the first array will remain.
- _.difference = function(array) {
- var rest = _.flatten(slice.call(arguments, 1));
- return _.filter(array, function(value){ return !_.include(rest, value); });
- };
-
- // Zip together multiple lists into a single array -- elements that share
- // an index go together.
- _.zip = function() {
- var args = slice.call(arguments);
- var length = _.max(_.pluck(args, 'length'));
- var results = new Array(length);
- for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i);
- return results;
- };
-
- // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),
- // we need this function. Return the position of the first occurrence of an
- // item in an array, or -1 if the item is not included in the array.
- // Delegates to **ECMAScript 5**'s native `indexOf` if available.
- // If the array is large and already in sort order, pass `true`
- // for **isSorted** to use binary search.
- _.indexOf = function(array, item, isSorted) {
- if (array == null) return -1;
- var i, l;
- if (isSorted) {
- i = _.sortedIndex(array, item);
- return array[i] === item ? i : -1;
- }
- if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item);
- for (i = 0, l = array.length; i < l; i++) if (i in array && array[i] === item) return i;
- return -1;
- };
-
- // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.
- _.lastIndexOf = function(array, item) {
- if (array == null) return -1;
- if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item);
- var i = array.length;
- while (i--) if (i in array && array[i] === item) return i;
- return -1;
- };
-
- // Generate an integer Array containing an arithmetic progression. A port of
- // the native Python `range()` function. See
- // [the Python documentation](http://docs.python.org/library/functions.html#range).
- _.range = function(start, stop, step) {
- if (arguments.length <= 1) {
- stop = start || 0;
- start = 0;
- }
- step = arguments[2] || 1;
-
- var len = Math.max(Math.ceil((stop - start) / step), 0);
- var idx = 0;
- var range = new Array(len);
-
- while(idx < len) {
- range[idx++] = start;
- start += step;
- }
-
- return range;
- };
-
- // Function (ahem) Functions
- // ------------------
-
- // Reusable constructor function for prototype setting.
- var ctor = function(){};
-
- // Create a function bound to a given object (assigning `this`, and arguments,
- // optionally). Binding with arguments is also known as `curry`.
- // Delegates to **ECMAScript 5**'s native `Function.bind` if available.
- // We check for `func.bind` first, to fail fast when `func` is undefined.
- _.bind = function bind(func, context) {
- var bound, args;
- if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
- if (!_.isFunction(func)) throw new TypeError;
- args = slice.call(arguments, 2);
- return bound = function() {
- if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));
- ctor.prototype = func.prototype;
- var self = new ctor;
- var result = func.apply(self, args.concat(slice.call(arguments)));
- if (Object(result) === result) return result;
- return self;
- };
- };
-
- // Bind all of an object's methods to that object. Useful for ensuring that
- // all callbacks defined on an object belong to it.
- _.bindAll = function(obj) {
- var funcs = slice.call(arguments, 1);
- if (funcs.length == 0) funcs = _.functions(obj);
- each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });
- return obj;
- };
-
- // Memoize an expensive function by storing its results.
- _.memoize = function(func, hasher) {
- var memo = {};
- hasher || (hasher = _.identity);
- return function() {
- var key = hasher.apply(this, arguments);
- return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));
- };
- };
-
- // Delays a function for the given number of milliseconds, and then calls
- // it with the arguments supplied.
- _.delay = function(func, wait) {
- var args = slice.call(arguments, 2);
- return setTimeout(function(){ return func.apply(func, args); }, wait);
- };
-
- // Defers a function, scheduling it to run after the current call stack has
- // cleared.
- _.defer = function(func) {
- return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));
- };
-
- // Returns a function, that, when invoked, will only be triggered at most once
- // during a given window of time.
- _.throttle = function(func, wait) {
- var context, args, timeout, throttling, more;
- var whenDone = _.debounce(function(){ more = throttling = false; }, wait);
- return function() {
- context = this; args = arguments;
- var later = function() {
- timeout = null;
- if (more) func.apply(context, args);
- whenDone();
- };
- if (!timeout) timeout = setTimeout(later, wait);
- if (throttling) {
- more = true;
- } else {
- func.apply(context, args);
- }
- whenDone();
- throttling = true;
- };
- };
-
- // Returns a function, that, as long as it continues to be invoked, will not
- // be triggered. The function will be called after it stops being called for
- // N milliseconds.
- _.debounce = function(func, wait) {
- var timeout;
- return function() {
- var context = this, args = arguments;
- var later = function() {
- timeout = null;
- func.apply(context, args);
- };
- clearTimeout(timeout);
- timeout = setTimeout(later, wait);
- };
- };
-
- // Returns a function that will be executed at most one time, no matter how
- // often you call it. Useful for lazy initialization.
- _.once = function(func) {
- var ran = false, memo;
- return function() {
- if (ran) return memo;
- ran = true;
- return memo = func.apply(this, arguments);
- };
- };
-
- // Returns the first function passed as an argument to the second,
- // allowing you to adjust arguments, run code before and after, and
- // conditionally execute the original function.
- _.wrap = function(func, wrapper) {
- return function() {
- var args = [func].concat(slice.call(arguments, 0));
- return wrapper.apply(this, args);
- };
- };
-
- // Returns a function that is the composition of a list of functions, each
- // consuming the return value of the function that follows.
- _.compose = function() {
- var funcs = arguments;
- return function() {
- var args = arguments;
- for (var i = funcs.length - 1; i >= 0; i--) {
- args = [funcs[i].apply(this, args)];
- }
- return args[0];
- };
- };
-
- // Returns a function that will only be executed after being called N times.
- _.after = function(times, func) {
- if (times <= 0) return func();
- return function() {
- if (--times < 1) { return func.apply(this, arguments); }
- };
- };
-
- // Object Functions
- // ----------------
-
- // Retrieve the names of an object's properties.
- // Delegates to **ECMAScript 5**'s native `Object.keys`
- _.keys = nativeKeys || function(obj) {
- if (obj !== Object(obj)) throw new TypeError('Invalid object');
- var keys = [];
- for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key;
- return keys;
- };
-
- // Retrieve the values of an object's properties.
- _.values = function(obj) {
- return _.map(obj, _.identity);
- };
-
- // Return a sorted list of the function names available on the object.
- // Aliased as `methods`
- _.functions = _.methods = function(obj) {
- var names = [];
- for (var key in obj) {
- if (_.isFunction(obj[key])) names.push(key);
- }
- return names.sort();
- };
-
- // Extend a given object with all the properties in passed-in object(s).
- _.extend = function(obj) {
- each(slice.call(arguments, 1), function(source) {
- for (var prop in source) {
- obj[prop] = source[prop];
- }
- });
- return obj;
- };
-
- // Fill in a given object with default properties.
- _.defaults = function(obj) {
- each(slice.call(arguments, 1), function(source) {
- for (var prop in source) {
- if (obj[prop] == null) obj[prop] = source[prop];
- }
- });
- return obj;
- };
-
- // Create a (shallow-cloned) duplicate of an object.
- _.clone = function(obj) {
- if (!_.isObject(obj)) return obj;
- return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
- };
-
- // Invokes interceptor with the obj, and then returns obj.
- // The primary purpose of this method is to "tap into" a method chain, in
- // order to perform operations on intermediate results within the chain.
- _.tap = function(obj, interceptor) {
- interceptor(obj);
- return obj;
- };
-
- // Internal recursive comparison function.
- function eq(a, b, stack) {
- // Identical objects are equal. `0 === -0`, but they aren't identical.
- // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal.
- if (a === b) return a !== 0 || 1 / a == 1 / b;
- // A strict comparison is necessary because `null == undefined`.
- if (a == null || b == null) return a === b;
- // Unwrap any wrapped objects.
- if (a._chain) a = a._wrapped;
- if (b._chain) b = b._wrapped;
- // Invoke a custom `isEqual` method if one is provided.
- if (a.isEqual && _.isFunction(a.isEqual)) return a.isEqual(b);
- if (b.isEqual && _.isFunction(b.isEqual)) return b.isEqual(a);
- // Compare `[[Class]]` names.
- var className = toString.call(a);
- if (className != toString.call(b)) return false;
- switch (className) {
- // Strings, numbers, dates, and booleans are compared by value.
- case '[object String]':
- // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
- // equivalent to `new String("5")`.
- return a == String(b);
- case '[object Number]':
- // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for
- // other numeric values.
- return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);
- case '[object Date]':
- case '[object Boolean]':
- // Coerce dates and booleans to numeric primitive values. Dates are compared by their
- // millisecond representations. Note that invalid dates with millisecond representations
- // of `NaN` are not equivalent.
- return +a == +b;
- // RegExps are compared by their source patterns and flags.
- case '[object RegExp]':
- return a.source == b.source &&
- a.global == b.global &&
- a.multiline == b.multiline &&
- a.ignoreCase == b.ignoreCase;
- }
- if (typeof a != 'object' || typeof b != 'object') return false;
- // Assume equality for cyclic structures. The algorithm for detecting cyclic
- // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
- var length = stack.length;
- while (length--) {
- // Linear search. Performance is inversely proportional to the number of
- // unique nested structures.
- if (stack[length] == a) return true;
- }
- // Add the first object to the stack of traversed objects.
- stack.push(a);
- var size = 0, result = true;
- // Recursively compare objects and arrays.
- if (className == '[object Array]') {
- // Compare array lengths to determine if a deep comparison is necessary.
- size = a.length;
- result = size == b.length;
- if (result) {
- // Deep compare the contents, ignoring non-numeric properties.
- while (size--) {
- // Ensure commutative equality for sparse arrays.
- if (!(result = size in a == size in b && eq(a[size], b[size], stack))) break;
- }
- }
- } else {
- // Objects with different constructors are not equivalent.
- if ('constructor' in a != 'constructor' in b || a.constructor != b.constructor) return false;
- // Deep compare objects.
- for (var key in a) {
- if (_.has(a, key)) {
- // Count the expected number of properties.
- size++;
- // Deep compare each member.
- if (!(result = _.has(b, key) && eq(a[key], b[key], stack))) break;
- }
- }
- // Ensure that both objects contain the same number of properties.
- if (result) {
- for (key in b) {
- if (_.has(b, key) && !(size--)) break;
- }
- result = !size;
- }
- }
- // Remove the first object from the stack of traversed objects.
- stack.pop();
- return result;
- }
-
- // Perform a deep comparison to check if two objects are equal.
- _.isEqual = function(a, b) {
- return eq(a, b, []);
- };
-
- // Is a given array, string, or object empty?
- // An "empty" object has no enumerable own-properties.
- _.isEmpty = function(obj) {
- if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;
- for (var key in obj) if (_.has(obj, key)) return false;
- return true;
- };
-
- // Is a given value a DOM element?
- _.isElement = function(obj) {
- return !!(obj && obj.nodeType == 1);
- };
-
- // Is a given value an array?
- // Delegates to ECMA5's native Array.isArray
- _.isArray = nativeIsArray || function(obj) {
- return toString.call(obj) == '[object Array]';
- };
-
- // Is a given variable an object?
- _.isObject = function(obj) {
- return obj === Object(obj);
- };
-
- // Is a given variable an arguments object?
- _.isArguments = function(obj) {
- return toString.call(obj) == '[object Arguments]';
- };
- if (!_.isArguments(arguments)) {
- _.isArguments = function(obj) {
- return !!(obj && _.has(obj, 'callee'));
- };
- }
-
- // Is a given value a function?
- _.isFunction = function(obj) {
- return toString.call(obj) == '[object Function]';
- };
-
- // Is a given value a string?
- _.isString = function(obj) {
- return toString.call(obj) == '[object String]';
- };
-
- // Is a given value a number?
- _.isNumber = function(obj) {
- return toString.call(obj) == '[object Number]';
- };
-
- // Is the given value `NaN`?
- _.isNaN = function(obj) {
- // `NaN` is the only value for which `===` is not reflexive.
- return obj !== obj;
- };
-
- // Is a given value a boolean?
- _.isBoolean = function(obj) {
- return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
- };
-
- // Is a given value a date?
- _.isDate = function(obj) {
- return toString.call(obj) == '[object Date]';
- };
-
- // Is the given value a regular expression?
- _.isRegExp = function(obj) {
- return toString.call(obj) == '[object RegExp]';
- };
-
- // Is a given value equal to null?
- _.isNull = function(obj) {
- return obj === null;
- };
-
- // Is a given variable undefined?
- _.isUndefined = function(obj) {
- return obj === void 0;
- };
-
- // Has own property?
- _.has = function(obj, key) {
- return hasOwnProperty.call(obj, key);
- };
-
- // Utility Functions
- // -----------------
-
- // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
- // previous owner. Returns a reference to the Underscore object.
- _.noConflict = function() {
- root._ = previousUnderscore;
- return this;
- };
-
- // Keep the identity function around for default iterators.
- _.identity = function(value) {
- return value;
- };
-
- // Run a function **n** times.
- _.times = function (n, iterator, context) {
- for (var i = 0; i < n; i++) iterator.call(context, i);
- };
-
- // Escape a string for HTML interpolation.
- _.escape = function(string) {
- return (''+string).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/');
- };
-
- // Add your own custom functions to the Underscore object, ensuring that
- // they're correctly added to the OOP wrapper as well.
- _.mixin = function(obj) {
- each(_.functions(obj), function(name){
- addToWrapper(name, _[name] = obj[name]);
- });
- };
-
- // Generate a unique integer id (unique within the entire client session).
- // Useful for temporary DOM ids.
- var idCounter = 0;
- _.uniqueId = function(prefix) {
- var id = idCounter++;
- return prefix ? prefix + id : id;
- };
-
- // By default, Underscore uses ERB-style template delimiters, change the
- // following template settings to use alternative delimiters.
- _.templateSettings = {
- evaluate : /<%([\s\S]+?)%>/g,
- interpolate : /<%=([\s\S]+?)%>/g,
- escape : /<%-([\s\S]+?)%>/g
- };
-
- // When customizing `templateSettings`, if you don't want to define an
- // interpolation, evaluation or escaping regex, we need one that is
- // guaranteed not to match.
- var noMatch = /.^/;
-
- // Within an interpolation, evaluation, or escaping, remove HTML escaping
- // that had been previously added.
- var unescape = function(code) {
- return code.replace(/\\\\/g, '\\').replace(/\\'/g, "'");
- };
-
- // JavaScript micro-templating, similar to John Resig's implementation.
- // Underscore templating handles arbitrary delimiters, preserves whitespace,
- // and correctly escapes quotes within interpolated code.
- _.template = function(str, data) {
- var c = _.templateSettings;
- var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' +
- 'with(obj||{}){__p.push(\'' +
- str.replace(/\\/g, '\\\\')
- .replace(/'/g, "\\'")
- .replace(c.escape || noMatch, function(match, code) {
- return "',_.escape(" + unescape(code) + "),'";
- })
- .replace(c.interpolate || noMatch, function(match, code) {
- return "'," + unescape(code) + ",'";
- })
- .replace(c.evaluate || noMatch, function(match, code) {
- return "');" + unescape(code).replace(/[\r\n\t]/g, ' ') + ";__p.push('";
- })
- .replace(/\r/g, '\\r')
- .replace(/\n/g, '\\n')
- .replace(/\t/g, '\\t')
- + "');}return __p.join('');";
- var func = new Function('obj', '_', tmpl);
- if (data) return func(data, _);
- return function(data) {
- return func.call(this, data, _);
- };
- };
-
- // Add a "chain" function, which will delegate to the wrapper.
- _.chain = function(obj) {
- return _(obj).chain();
- };
-
- // The OOP Wrapper
- // ---------------
-
- // If Underscore is called as a function, it returns a wrapped object that
- // can be used OO-style. This wrapper holds altered versions of all the
- // underscore functions. Wrapped objects may be chained.
- var wrapper = function(obj) { this._wrapped = obj; };
-
- // Expose `wrapper.prototype` as `_.prototype`
- _.prototype = wrapper.prototype;
-
- // Helper function to continue chaining intermediate results.
- var result = function(obj, chain) {
- return chain ? _(obj).chain() : obj;
- };
-
- // A method to easily add functions to the OOP wrapper.
- var addToWrapper = function(name, func) {
- wrapper.prototype[name] = function() {
- var args = slice.call(arguments);
- unshift.call(args, this._wrapped);
- return result(func.apply(_, args), this._chain);
- };
- };
-
- // Add all of the Underscore functions to the wrapper object.
- _.mixin(_);
-
- // Add all mutator Array functions to the wrapper.
- each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
- var method = ArrayProto[name];
- wrapper.prototype[name] = function() {
- var wrapped = this._wrapped;
- method.apply(wrapped, arguments);
- var length = wrapped.length;
- if ((name == 'shift' || name == 'splice') && length === 0) delete wrapped[0];
- return result(wrapped, this._chain);
- };
- });
-
- // Add all accessor Array functions to the wrapper.
- each(['concat', 'join', 'slice'], function(name) {
- var method = ArrayProto[name];
- wrapper.prototype[name] = function() {
- return result(method.apply(this._wrapped, arguments), this._chain);
- };
- });
-
- // Start chaining a wrapped Underscore object.
- wrapper.prototype.chain = function() {
- this._chain = true;
- return this;
- };
-
- // Extracts the result from a wrapped and chained object.
- wrapper.prototype.value = function() {
- return this._wrapped;
- };
-
-}).call(this);
+++ /dev/null
-// Underscore.js 1.3.1
-// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
-// Underscore is freely distributable under the MIT license.
-// Portions of Underscore are inspired or borrowed from Prototype,
-// Oliver Steele's Functional, and John Resig's Micro-Templating.
-// For all details and documentation:
-// http://documentcloud.github.com/underscore
-(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source==
-c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c,
-h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each=
-b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a==
-null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect=
-function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e=
-e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck=
-function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})});
-return e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a,
-c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]};b.rest=
-b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]);
-return e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c,
-d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g};
-var F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a,
-c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true:
-a.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}};
-b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments,
-1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)};
-b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"};
-b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a),
-function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+
-u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]=
-function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain=
-true;return this};m.prototype.value=function(){return this._wrapped}}).call(this);
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" /><title>Demo — Pygments</title>
- <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../genindex/" />
- <link rel="search" title="Search" href="../search/" />
-
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
-<link rel="stylesheet" type="text/css" href="../_static/demo.css">
-<script type="text/javascript">var languagePluginUrl = "../_static/pyodide/";</script>
-<script type="text/javascript" src="../_static/pyodide/pyodide.js"></script>
-<script type="text/javascript" src="../_static/demo.js"></script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../">Home</a></li>
-
- <li><a href="#">Demo</a></li>
-
- <li><a href="../languages/">Languages</a></li>
- <li><a href="../faq/">FAQ</a></li>
- <li><a href="../download/">Get it</a></li>
- <li><a href="../docs/">Docs</a></li>
- </ul>
- <div>
- <a href="../">
- <img src="../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script><p><a href="#try">Back to top</a></p>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
-
-
-<h1>Demo - Try it out!</h1>
-<p>The highlighting here is performed in-browser using
- a WebAssembly translation of Pygments, courtesy of
- <a href="https://github.com/iodide-project/pyodide">Pyodide</a>.</p>
-<p>Your content is neither sent over the web nor stored anywhere.</p>
-
-<div id="try">
- <h2>Enter code and select a language</h2>
- <form>
- <p><span id="aroundlang">
- <label for="lang">Language:</label> <select id="lang" onchange="reset_err_hl()">
- <option value=""> Select a lexer </option>
- </select>
- </span>
- ·
- <label for="style">Style:</label> <select id="style">
- <option value="default">default </option>
- </select></p>
- <p><label for="file">Upload a file here:</label>
- <input type="file" id="file" onchange="new_file()"> or enter code below:</p>
- <p><textarea id="code" rows="1" cols="60"></textarea></p>
- <p style="text-align: right">
- <input type="button" value="Highlight!" onclick="highlight()" id="hlbtn" disabled>
- <input type="reset" value="Reset"></p>
- </form>
- <div id="loading">
- <p><img src="../_static/spinner.gif" style="vertical-align: middle"></p>
- <p>Loading Python...</p>
- </div>
-</div>
-
-<div id="hlcode"></div>
-
-<div id="hlcodedl" style="display: none">
- <input type="button" value="Download" onclick="download_code()">
-</div>
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>The full Pygments API — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Write your own lexer" href="../lexerdevelopment/" />
- <link rel="prev" title="Builtin Tokens" href="../tokens/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">The full Pygments API</a><ul>
-<li><a class="reference internal" href="#module-pygments">High-level API</a></li>
-<li><a class="reference internal" href="#lexers">Lexers</a></li>
-<li><a class="reference internal" href="#formatters">Formatters</a></li>
-<li><a class="reference internal" href="#option-processing">Option processing</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../tokens/"
- title="previous chapter">Builtin Tokens</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../lexerdevelopment/"
- title="next chapter">Write your own lexer</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/api.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="the-full-pygments-api">
-<h1>The full Pygments API<a class="headerlink" href="#the-full-pygments-api" title="Permalink to this headline">¶</a></h1>
-<p>This page describes the Pygments API.</p>
-<div class="section" id="module-pygments">
-<span id="high-level-api"></span><h2>High-level API<a class="headerlink" href="#module-pygments" title="Permalink to this headline">¶</a></h2>
-<p>Functions from the <a class="reference internal" href="#module-pygments" title="pygments"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments</span></code></a> module:</p>
-<dl class="function">
-<dt id="pygments.lex">
-<code class="descclassname">pygments.</code><code class="descname">lex</code><span class="sig-paren">(</span><em>code</em>, <em>lexer</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lex" title="Permalink to this definition">¶</a></dt>
-<dd><p>Lex <cite>code</cite> with the <cite>lexer</cite> (must be a <cite>Lexer</cite> instance)
-and return an iterable of tokens. Currently, this only calls
-<cite>lexer.get_tokens()</cite>.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.format">
-<code class="descclassname">pygments.</code><code class="descname">format</code><span class="sig-paren">(</span><em>tokens</em>, <em>formatter</em>, <em>outfile=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.format" title="Permalink to this definition">¶</a></dt>
-<dd><p>Format a token stream (iterable of tokens) <cite>tokens</cite> with the
-<cite>formatter</cite> (must be a <cite>Formatter</cite> instance). The result is
-written to <cite>outfile</cite>, or if that is <code class="docutils literal notranslate"><span class="pre">None</span></code>, returned as a
-string.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.highlight">
-<code class="descclassname">pygments.</code><code class="descname">highlight</code><span class="sig-paren">(</span><em>code</em>, <em>lexer</em>, <em>formatter</em>, <em>outfile=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.highlight" title="Permalink to this definition">¶</a></dt>
-<dd><p>This is the most high-level highlighting function.
-It combines <cite>lex</cite> and <cite>format</cite> in one function.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers"></span><p>Functions from <a class="reference internal" href="#module-pygments.lexers" title="pygments.lexers"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.lexers</span></code></a>:</p>
-<dl class="function">
-<dt id="pygments.lexers.get_lexer_by_name">
-<code class="descclassname">pygments.lexers.</code><code class="descname">get_lexer_by_name</code><span class="sig-paren">(</span><em>alias</em>, <em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.get_lexer_by_name" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return an instance of a <cite>Lexer</cite> subclass that has <cite>alias</cite> in its
-aliases list. The lexer is given the <cite>options</cite> at its
-instantiation.</p>
-<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no lexer with that alias is
-found.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.lexers.get_lexer_for_filename">
-<code class="descclassname">pygments.lexers.</code><code class="descname">get_lexer_for_filename</code><span class="sig-paren">(</span><em>fn</em>, <em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.get_lexer_for_filename" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return a <cite>Lexer</cite> subclass instance that has a filename pattern
-matching <cite>fn</cite>. The lexer is given the <cite>options</cite> at its
-instantiation.</p>
-<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no lexer for that filename
-is found.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.lexers.get_lexer_for_mimetype">
-<code class="descclassname">pygments.lexers.</code><code class="descname">get_lexer_for_mimetype</code><span class="sig-paren">(</span><em>mime</em>, <em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.get_lexer_for_mimetype" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return a <cite>Lexer</cite> subclass instance that has <cite>mime</cite> in its mimetype
-list. The lexer is given the <cite>options</cite> at its instantiation.</p>
-<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if not lexer for that mimetype
-is found.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.lexers.load_lexer_from_file">
-<code class="descclassname">pygments.lexers.</code><code class="descname">load_lexer_from_file</code><span class="sig-paren">(</span><em>filename</em>, <em>lexername="CustomLexer"</em>, <em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.load_lexer_from_file" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return a <cite>Lexer</cite> subclass instance loaded from the provided file, relative
-to the current directory. The file is expected to contain a Lexer class
-named <cite>lexername</cite> (by default, CustomLexer). Users should be very careful with
-the input, because this method is equivalent to running eval on the input file.
-The lexer is given the <cite>options</cite> at its instantiation.</p>
-<p><code class="xref py py-exc docutils literal notranslate"><span class="pre">ClassNotFound</span></code> is raised if there are any errors loading the Lexer</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.lexers.guess_lexer">
-<code class="descclassname">pygments.lexers.</code><code class="descname">guess_lexer</code><span class="sig-paren">(</span><em>text</em>, <em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.guess_lexer" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return a <cite>Lexer</cite> subclass instance that’s guessed from the text in
-<cite>text</cite>. For that, the <a class="reference internal" href="#pygments.lexer.Lexer.analyse_text" title="pygments.lexer.Lexer.analyse_text"><code class="xref py py-meth docutils literal notranslate"><span class="pre">analyse_text()</span></code></a> method of every known lexer
-class is called with the text as argument, and the lexer which returned the
-highest value will be instantiated and returned.</p>
-<p><code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> is raised if no lexer thinks it can
-handle the content.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.lexers.guess_lexer_for_filename">
-<code class="descclassname">pygments.lexers.</code><code class="descname">guess_lexer_for_filename</code><span class="sig-paren">(</span><em>filename</em>, <em>text</em>, <em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.guess_lexer_for_filename" title="Permalink to this definition">¶</a></dt>
-<dd><p>As <a class="reference internal" href="#pygments.lexers.guess_lexer" title="pygments.lexers.guess_lexer"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer()</span></code></a>, but only lexers which have a pattern in <cite>filenames</cite>
-or <cite>alias_filenames</cite> that matches <cite>filename</cite> are taken into consideration.</p>
-<p><code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> is raised if no lexer thinks it can
-handle the content.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.lexers.get_all_lexers">
-<code class="descclassname">pygments.lexers.</code><code class="descname">get_all_lexers</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.get_all_lexers" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return an iterable over all registered lexers, yielding tuples in the
-format:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">longname</span><span class="p">,</span> <span class="nb">tuple</span> <span class="n">of</span> <span class="n">aliases</span><span class="p">,</span> <span class="nb">tuple</span> <span class="n">of</span> <span class="n">filename</span> <span class="n">patterns</span><span class="p">,</span> <span class="nb">tuple</span> <span class="n">of</span> <span class="n">mimetypes</span><span class="p">)</span>
-</pre></div>
-</div>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.lexers.find_lexer_class_by_name">
-<code class="descclassname">pygments.lexers.</code><code class="descname">find_lexer_class_by_name</code><span class="sig-paren">(</span><em>alias</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.find_lexer_class_by_name" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return the <cite>Lexer</cite> subclass that has <cite>alias</cite> in its aliases list, without
-instantiating it.</p>
-<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no lexer with that alias is
-found.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.lexers.find_lexer_class">
-<code class="descclassname">pygments.lexers.</code><code class="descname">find_lexer_class</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.find_lexer_class" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return the <cite>Lexer</cite> subclass that with the <em>name</em> attribute as given by
-the <em>name</em> argument.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.formatters"></span><p>Functions from <a class="reference internal" href="#module-pygments.formatters" title="pygments.formatters"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.formatters</span></code></a>:</p>
-<dl class="function">
-<dt id="pygments.formatters.get_formatter_by_name">
-<code class="descclassname">pygments.formatters.</code><code class="descname">get_formatter_by_name</code><span class="sig-paren">(</span><em>alias</em>, <em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatters.get_formatter_by_name" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return an instance of a <a class="reference internal" href="#pygments.formatter.Formatter" title="pygments.formatter.Formatter"><code class="xref py py-class docutils literal notranslate"><span class="pre">Formatter</span></code></a> subclass that has <cite>alias</cite> in its
-aliases list. The formatter is given the <cite>options</cite> at its instantiation.</p>
-<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no formatter with that
-alias is found.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.formatters.get_formatter_for_filename">
-<code class="descclassname">pygments.formatters.</code><code class="descname">get_formatter_for_filename</code><span class="sig-paren">(</span><em>fn</em>, <em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatters.get_formatter_for_filename" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return a <a class="reference internal" href="#pygments.formatter.Formatter" title="pygments.formatter.Formatter"><code class="xref py py-class docutils literal notranslate"><span class="pre">Formatter</span></code></a> subclass instance that has a filename pattern
-matching <cite>fn</cite>. The formatter is given the <cite>options</cite> at its instantiation.</p>
-<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no formatter for that filename
-is found.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.formatters.load_formatter_from_file">
-<code class="descclassname">pygments.formatters.</code><code class="descname">load_formatter_from_file</code><span class="sig-paren">(</span><em>filename</em>, <em>formattername="CustomFormatter"</em>, <em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatters.load_formatter_from_file" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return a <cite>Formatter</cite> subclass instance loaded from the provided file, relative
-to the current directory. The file is expected to contain a Formatter class
-named <code class="docutils literal notranslate"><span class="pre">formattername</span></code> (by default, CustomFormatter). Users should be very
-careful with the input, because this method is equivalent to running eval
-on the input file. The formatter is given the <cite>options</cite> at its instantiation.</p>
-<p><code class="xref py py-exc docutils literal notranslate"><span class="pre">ClassNotFound</span></code> is raised if there are any errors loading the Formatter</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.styles"></span><p>Functions from <a class="reference internal" href="#module-pygments.styles" title="pygments.styles"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.styles</span></code></a>:</p>
-<dl class="function">
-<dt id="pygments.styles.get_style_by_name">
-<code class="descclassname">pygments.styles.</code><code class="descname">get_style_by_name</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.styles.get_style_by_name" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return a style class by its short name. The names of the builtin styles
-are listed in <code class="xref py py-data docutils literal notranslate"><span class="pre">pygments.styles.STYLE_MAP</span></code>.</p>
-<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no style of that name is
-found.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.styles.get_all_styles">
-<code class="descclassname">pygments.styles.</code><code class="descname">get_all_styles</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pygments.styles.get_all_styles" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return an iterable over all registered styles, yielding their names.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexer"></span></div>
-<div class="section" id="lexers">
-<h2>Lexers<a class="headerlink" href="#lexers" title="Permalink to this headline">¶</a></h2>
-<p>The base lexer class from which all lexers are derived is:</p>
-<dl class="class">
-<dt id="pygments.lexer.Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexer.</code><code class="descname">Lexer</code><span class="sig-paren">(</span><em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexer.Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><p>The constructor takes a **keywords dictionary of options.
-Every subclass must first process its own options and then call
-the <cite>Lexer</cite> constructor, since it processes the <cite>stripnl</cite>,
-<cite>stripall</cite> and <cite>tabsize</cite> options.</p>
-<p>An example looks like this:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">):</span>
- <span class="bp">self</span><span class="o">.</span><span class="n">compress</span> <span class="o">=</span> <span class="n">options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'compress'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
- <span class="n">Lexer</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>As these options must all be specifiable as strings (due to the
-command line usage), there are various utility functions
-available to help with that, see <a class="reference internal" href="#option-processing">Option processing</a>.</p>
-<dl class="method">
-<dt id="pygments.lexer.Lexer.get_tokens">
-<code class="descname">get_tokens</code><span class="sig-paren">(</span><em>text</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexer.Lexer.get_tokens" title="Permalink to this definition">¶</a></dt>
-<dd><p>This method is the basic interface of a lexer. It is called by
-the <cite>highlight()</cite> function. It must process the text and return an
-iterable of <code class="docutils literal notranslate"><span class="pre">(tokentype,</span> <span class="pre">value)</span></code> pairs from <cite>text</cite>.</p>
-<p>Normally, you don’t need to override this method. The default
-implementation processes the <cite>stripnl</cite>, <cite>stripall</cite> and <cite>tabsize</cite>
-options and then yields all tokens from <cite>get_tokens_unprocessed()</cite>,
-with the <code class="docutils literal notranslate"><span class="pre">index</span></code> dropped.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="pygments.lexer.Lexer.get_tokens_unprocessed">
-<code class="descname">get_tokens_unprocessed</code><span class="sig-paren">(</span><em>text</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexer.Lexer.get_tokens_unprocessed" title="Permalink to this definition">¶</a></dt>
-<dd><p>This method should process the text and return an iterable of
-<code class="docutils literal notranslate"><span class="pre">(index,</span> <span class="pre">tokentype,</span> <span class="pre">value)</span></code> tuples where <code class="docutils literal notranslate"><span class="pre">index</span></code> is the starting
-position of the token within the input text.</p>
-<p>This method must be overridden by subclasses.</p>
-</dd></dl>
-
-<dl class="staticmethod">
-<dt id="pygments.lexer.Lexer.analyse_text">
-<em class="property">static </em><code class="descname">analyse_text</code><span class="sig-paren">(</span><em>text</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexer.Lexer.analyse_text" title="Permalink to this definition">¶</a></dt>
-<dd><p>A static method which is called for lexer guessing. It should analyse
-the text and return a float in the range from <code class="docutils literal notranslate"><span class="pre">0.0</span></code> to <code class="docutils literal notranslate"><span class="pre">1.0</span></code>.
-If it returns <code class="docutils literal notranslate"><span class="pre">0.0</span></code>, the lexer will not be selected as the most
-probable one, if it returns <code class="docutils literal notranslate"><span class="pre">1.0</span></code>, it will be selected immediately.</p>
-<div class="admonition note">
-<p class="admonition-title">Note</p>
-<p>You don’t have to add <code class="docutils literal notranslate"><span class="pre">@staticmethod</span></code> to the definition of
-this method, this will be taken care of by the Lexer’s metaclass.</p>
-</div>
-</dd></dl>
-
-<p>For a list of known tokens have a look at the <a class="reference internal" href="../tokens/"><span class="doc">Builtin Tokens</span></a> page.</p>
-<p>A lexer also can have the following attributes (in fact, they are mandatory
-except <cite>alias_filenames</cite>) that are used by the builtin lookup mechanism.</p>
-<dl class="attribute">
-<dt id="pygments.lexer.Lexer.name">
-<code class="descname">name</code><a class="headerlink" href="#pygments.lexer.Lexer.name" title="Permalink to this definition">¶</a></dt>
-<dd><p>Full name for the lexer, in human-readable form.</p>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="pygments.lexer.Lexer.aliases">
-<code class="descname">aliases</code><a class="headerlink" href="#pygments.lexer.Lexer.aliases" title="Permalink to this definition">¶</a></dt>
-<dd><p>A list of short, unique identifiers that can be used to lookup
-the lexer from a list, e.g. using <cite>get_lexer_by_name()</cite>.</p>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="pygments.lexer.Lexer.filenames">
-<code class="descname">filenames</code><a class="headerlink" href="#pygments.lexer.Lexer.filenames" title="Permalink to this definition">¶</a></dt>
-<dd><p>A list of <cite>fnmatch</cite> patterns that match filenames which contain
-content for this lexer. The patterns in this list should be unique among
-all lexers.</p>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="pygments.lexer.Lexer.alias_filenames">
-<code class="descname">alias_filenames</code><a class="headerlink" href="#pygments.lexer.Lexer.alias_filenames" title="Permalink to this definition">¶</a></dt>
-<dd><p>A list of <cite>fnmatch</cite> patterns that match filenames which may or may not
-contain content for this lexer. This list is used by the
-<a class="reference internal" href="#pygments.lexers.guess_lexer_for_filename" title="pygments.lexers.guess_lexer_for_filename"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer_for_filename()</span></code></a> function, to determine which lexers
-are then included in guessing the correct one. That means that
-e.g. every lexer for HTML and a template language should include
-<code class="docutils literal notranslate"><span class="pre">\*.html</span></code> in this list.</p>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="pygments.lexer.Lexer.mimetypes">
-<code class="descname">mimetypes</code><a class="headerlink" href="#pygments.lexer.Lexer.mimetypes" title="Permalink to this definition">¶</a></dt>
-<dd><p>A list of MIME types for content that can be lexed with this
-lexer.</p>
-</dd></dl>
-
-</dd></dl>
-
-<span class="target" id="module-pygments.formatter"></span></div>
-<div class="section" id="formatters">
-<h2>Formatters<a class="headerlink" href="#formatters" title="Permalink to this headline">¶</a></h2>
-<p>A formatter is derived from this class:</p>
-<dl class="class">
-<dt id="pygments.formatter.Formatter">
-<em class="property">class </em><code class="descclassname">pygments.formatter.</code><code class="descname">Formatter</code><span class="sig-paren">(</span><em>**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatter.Formatter" title="Permalink to this definition">¶</a></dt>
-<dd><p>As with lexers, this constructor processes options and then must call the
-base class <code class="xref py py-meth docutils literal notranslate"><span class="pre">__init__()</span></code>.</p>
-<p>The <a class="reference internal" href="#pygments.formatter.Formatter" title="pygments.formatter.Formatter"><code class="xref py py-class docutils literal notranslate"><span class="pre">Formatter</span></code></a> class recognizes the options <cite>style</cite>, <cite>full</cite> and
-<cite>title</cite>. It is up to the formatter class whether it uses them.</p>
-<dl class="method">
-<dt id="pygments.formatter.Formatter.get_style_defs">
-<code class="descname">get_style_defs</code><span class="sig-paren">(</span><em>arg=''</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatter.Formatter.get_style_defs" title="Permalink to this definition">¶</a></dt>
-<dd><p>This method must return statements or declarations suitable to define
-the current style for subsequent highlighted text (e.g. CSS classes
-in the <cite>HTMLFormatter</cite>).</p>
-<p>The optional argument <cite>arg</cite> can be used to modify the generation and
-is formatter dependent (it is standardized because it can be given on
-the command line).</p>
-<p>This method is called by the <code class="docutils literal notranslate"><span class="pre">-S</span></code> <a class="reference internal" href="../cmdline/"><span class="doc">command-line option</span></a>,
-the <cite>arg</cite> is then given by the <code class="docutils literal notranslate"><span class="pre">-a</span></code> option.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="pygments.formatter.Formatter.format">
-<code class="descname">format</code><span class="sig-paren">(</span><em>tokensource</em>, <em>outfile</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatter.Formatter.format" title="Permalink to this definition">¶</a></dt>
-<dd><p>This method must format the tokens from the <cite>tokensource</cite> iterable and
-write the formatted version to the file object <cite>outfile</cite>.</p>
-<p>Formatter options can control how exactly the tokens are converted.</p>
-</dd></dl>
-
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7: </span>A formatter must have the following attributes that are used by the
-builtin lookup mechanism.</p>
-</div>
-<dl class="attribute">
-<dt id="pygments.formatter.Formatter.name">
-<code class="descname">name</code><a class="headerlink" href="#pygments.formatter.Formatter.name" title="Permalink to this definition">¶</a></dt>
-<dd><p>Full name for the formatter, in human-readable form.</p>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="pygments.formatter.Formatter.aliases">
-<code class="descname">aliases</code><a class="headerlink" href="#pygments.formatter.Formatter.aliases" title="Permalink to this definition">¶</a></dt>
-<dd><p>A list of short, unique identifiers that can be used to lookup
-the formatter from a list, e.g. using <a class="reference internal" href="#pygments.formatters.get_formatter_by_name" title="pygments.formatters.get_formatter_by_name"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_formatter_by_name()</span></code></a>.</p>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="pygments.formatter.Formatter.filenames">
-<code class="descname">filenames</code><a class="headerlink" href="#pygments.formatter.Formatter.filenames" title="Permalink to this definition">¶</a></dt>
-<dd><p>A list of <code class="xref py py-mod docutils literal notranslate"><span class="pre">fnmatch</span></code> patterns that match filenames for which this
-formatter can produce output. The patterns in this list should be unique
-among all formatters.</p>
-</dd></dl>
-
-</dd></dl>
-
-<span class="target" id="module-pygments.util"></span></div>
-<div class="section" id="option-processing">
-<h2>Option processing<a class="headerlink" href="#option-processing" title="Permalink to this headline">¶</a></h2>
-<p>The <a class="reference internal" href="#module-pygments.util" title="pygments.util"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.util</span></code></a> module has some utility functions usable for option
-processing:</p>
-<dl class="exception">
-<dt id="pygments.util.OptionError">
-<em class="property">exception </em><code class="descclassname">pygments.util.</code><code class="descname">OptionError</code><a class="headerlink" href="#pygments.util.OptionError" title="Permalink to this definition">¶</a></dt>
-<dd><p>This exception will be raised by all option processing functions if
-the type or value of the argument is not correct.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.util.get_bool_opt">
-<code class="descclassname">pygments.util.</code><code class="descname">get_bool_opt</code><span class="sig-paren">(</span><em>options</em>, <em>optname</em>, <em>default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.util.get_bool_opt" title="Permalink to this definition">¶</a></dt>
-<dd><p>Interpret the key <cite>optname</cite> from the dictionary <cite>options</cite> as a boolean and
-return it. Return <cite>default</cite> if <cite>optname</cite> is not in <cite>options</cite>.</p>
-<p>The valid string values for <code class="docutils literal notranslate"><span class="pre">True</span></code> are <code class="docutils literal notranslate"><span class="pre">1</span></code>, <code class="docutils literal notranslate"><span class="pre">yes</span></code>, <code class="docutils literal notranslate"><span class="pre">true</span></code> and
-<code class="docutils literal notranslate"><span class="pre">on</span></code>, the ones for <code class="docutils literal notranslate"><span class="pre">False</span></code> are <code class="docutils literal notranslate"><span class="pre">0</span></code>, <code class="docutils literal notranslate"><span class="pre">no</span></code>, <code class="docutils literal notranslate"><span class="pre">false</span></code> and <code class="docutils literal notranslate"><span class="pre">off</span></code>
-(matched case-insensitively).</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.util.get_int_opt">
-<code class="descclassname">pygments.util.</code><code class="descname">get_int_opt</code><span class="sig-paren">(</span><em>options</em>, <em>optname</em>, <em>default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.util.get_int_opt" title="Permalink to this definition">¶</a></dt>
-<dd><p>As <a class="reference internal" href="#pygments.util.get_bool_opt" title="pygments.util.get_bool_opt"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_bool_opt()</span></code></a>, but interpret the value as an integer.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.util.get_list_opt">
-<code class="descclassname">pygments.util.</code><code class="descname">get_list_opt</code><span class="sig-paren">(</span><em>options</em>, <em>optname</em>, <em>default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.util.get_list_opt" title="Permalink to this definition">¶</a></dt>
-<dd><p>If the key <cite>optname</cite> from the dictionary <cite>options</cite> is a string,
-split it at whitespace and return it. If it is already a list
-or a tuple, it is returned as a list.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="pygments.util.get_choice_opt">
-<code class="descclassname">pygments.util.</code><code class="descname">get_choice_opt</code><span class="sig-paren">(</span><em>options</em>, <em>optname</em>, <em>allowed</em>, <em>default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.util.get_choice_opt" title="Permalink to this definition">¶</a></dt>
-<dd><p>If the key <cite>optname</cite> from the dictionary is not in the sequence
-<cite>allowed</cite>, raise an error, otherwise return it.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.8.</span></p>
-</div>
-</dd></dl>
-
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Full contributor list — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="prev" title="Pygments changelog" href="../changelog/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h4>Previous topic</h4>
- <p class="topless"><a href="../changelog/"
- title="previous chapter">Pygments changelog</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/authors.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="full-contributor-list">
-<h1>Full contributor list<a class="headerlink" href="#full-contributor-list" title="Permalink to this headline">¶</a></h1>
-<p>Pygments is written and maintained by Georg Brandl <<a class="reference external" href="mailto:georg%40python.org">georg<span>@</span>python<span>.</span>org</a>>.</p>
-<p>Major developers are Tim Hatch <<a class="reference external" href="mailto:tim%40timhatch.com">tim<span>@</span>timhatch<span>.</span>com</a>> and Armin Ronacher
-<<a class="reference external" href="mailto:armin.ronacher%40active-4.com">armin<span>.</span>ronacher<span>@</span>active-4<span>.</span>com</a>>.</p>
-<p>Other contributors, listed alphabetically, are:</p>
-<ul class="simple">
-<li><p>Sam Aaron – Ioke lexer</p></li>
-<li><p>Ali Afshar – image formatter</p></li>
-<li><p>Thomas Aglassinger – Easytrieve, JCL, Rexx, Transact-SQL and VBScript
-lexers</p></li>
-<li><p>Muthiah Annamalai – Ezhil lexer</p></li>
-<li><p>Kumar Appaiah – Debian control lexer</p></li>
-<li><p>Andreas Amann – AppleScript lexer</p></li>
-<li><p>Timothy Armstrong – Dart lexer fixes</p></li>
-<li><p>Jeffrey Arnold – R/S, Rd, BUGS, Jags, and Stan lexers</p></li>
-<li><p>Jeremy Ashkenas – CoffeeScript lexer</p></li>
-<li><p>José Joaquín Atria – Praat lexer</p></li>
-<li><p>Stefan Matthias Aust – Smalltalk lexer</p></li>
-<li><p>Lucas Bajolet – Nit lexer</p></li>
-<li><p>Ben Bangert – Mako lexers</p></li>
-<li><p>Max Battcher – Darcs patch lexer</p></li>
-<li><p>Thomas Baruchel – APL lexer</p></li>
-<li><p>Tim Baumann – (Literate) Agda lexer</p></li>
-<li><p>Paul Baumgart, 280 North, Inc. – Objective-J lexer</p></li>
-<li><p>Michael Bayer – Myghty lexers</p></li>
-<li><p>Thomas Beale – Archetype lexers</p></li>
-<li><p>John Benediktsson – Factor lexer</p></li>
-<li><p>Trevor Bergeron – mIRC formatter</p></li>
-<li><p>Vincent Bernat – LessCSS lexer</p></li>
-<li><p>Christopher Bertels – Fancy lexer</p></li>
-<li><p>Sébastien Bigaret – QVT Operational lexer</p></li>
-<li><p>Jarrett Billingsley – MiniD lexer</p></li>
-<li><p>Adam Blinkinsop – Haskell, Redcode lexers</p></li>
-<li><p>Stéphane Blondon – SGF lexer</p></li>
-<li><p>Frits van Bommel – assembler lexers</p></li>
-<li><p>Pierre Bourdon – bugfixes</p></li>
-<li><p>Matthias Bussonnier – ANSI style handling for terminal-256 formatter</p></li>
-<li><p>chebee7i – Python traceback lexer improvements</p></li>
-<li><p>Hiram Chirino – Scaml and Jade lexers</p></li>
-<li><p>Mauricio Caceres – SAS and Stata lexers.</p></li>
-<li><p>Ian Cooper – VGL lexer</p></li>
-<li><p>David Corbett – Inform, Jasmin, JSGF, Snowball, and TADS 3 lexers</p></li>
-<li><p>Leaf Corcoran – MoonScript lexer</p></li>
-<li><p>Christopher Creutzig – MuPAD lexer</p></li>
-<li><p>Daniël W. Crompton – Pike lexer</p></li>
-<li><p>Pete Curry – bugfixes</p></li>
-<li><p>Bryan Davis – EBNF lexer</p></li>
-<li><p>Bruno Deferrari – Shen lexer</p></li>
-<li><p>Giedrius Dubinskas – HTML formatter improvements</p></li>
-<li><p>Owen Durni – Haxe lexer</p></li>
-<li><p>Alexander Dutton, Oxford University Computing Services – SPARQL lexer</p></li>
-<li><p>James Edwards – Terraform lexer</p></li>
-<li><p>Nick Efford – Python 3 lexer</p></li>
-<li><p>Sven Efftinge – Xtend lexer</p></li>
-<li><p>Artem Egorkine – terminal256 formatter</p></li>
-<li><p>Matthew Fernandez – CAmkES lexer</p></li>
-<li><p>Michael Ficarra – CPSA lexer</p></li>
-<li><p>James H. Fisher – PostScript lexer</p></li>
-<li><p>William S. Fulton – SWIG lexer</p></li>
-<li><p>Carlos Galdino – Elixir and Elixir Console lexers</p></li>
-<li><p>Michael Galloy – IDL lexer</p></li>
-<li><p>Naveen Garg – Autohotkey lexer</p></li>
-<li><p>Laurent Gautier – R/S lexer</p></li>
-<li><p>Alex Gaynor – PyPy log lexer</p></li>
-<li><p>Richard Gerkin – Igor Pro lexer</p></li>
-<li><p>Alain Gilbert – TypeScript lexer</p></li>
-<li><p>Alex Gilding – BlitzBasic lexer</p></li>
-<li><p>Bertrand Goetzmann – Groovy lexer</p></li>
-<li><p>Krzysiek Goj – Scala lexer</p></li>
-<li><p>Andrey Golovizin – BibTeX lexers</p></li>
-<li><p>Matt Good – Genshi, Cheetah lexers</p></li>
-<li><p>Michał Górny – vim modeline support</p></li>
-<li><p>Alex Gosse – TrafficScript lexer</p></li>
-<li><p>Patrick Gotthardt – PHP namespaces support</p></li>
-<li><p>Olivier Guibe – Asymptote lexer</p></li>
-<li><p>Phil Hagelberg – Fennel lexer</p></li>
-<li><p>Florian Hahn – Boogie lexer</p></li>
-<li><p>Martin Harriman – SNOBOL lexer</p></li>
-<li><p>Matthew Harrison – SVG formatter</p></li>
-<li><p>Steven Hazel – Tcl lexer</p></li>
-<li><p>Dan Michael Heggø – Turtle lexer</p></li>
-<li><p>Aslak Hellesøy – Gherkin lexer</p></li>
-<li><p>Greg Hendershott – Racket lexer</p></li>
-<li><p>Justin Hendrick – ParaSail lexer</p></li>
-<li><p>Jordi Gutiérrez Hermoso – Octave lexer</p></li>
-<li><p>David Hess, Fish Software, Inc. – Objective-J lexer</p></li>
-<li><p>Varun Hiremath – Debian control lexer</p></li>
-<li><p>Rob Hoelz – Perl 6 lexer</p></li>
-<li><p>Doug Hogan – Mscgen lexer</p></li>
-<li><p>Ben Hollis – Mason lexer</p></li>
-<li><p>Max Horn – GAP lexer</p></li>
-<li><p>Alastair Houghton – Lexer inheritance facility</p></li>
-<li><p>Tim Howard – BlitzMax lexer</p></li>
-<li><p>Dustin Howett – Logos lexer</p></li>
-<li><p>Ivan Inozemtsev – Fantom lexer</p></li>
-<li><p>Hiroaki Itoh – Shell console rewrite, Lexers for PowerShell session,
-MSDOS session, BC, WDiff</p></li>
-<li><p>Brian R. Jackson – Tea lexer</p></li>
-<li><p>Christian Jann – ShellSession lexer</p></li>
-<li><p>Dennis Kaarsemaker – sources.list lexer</p></li>
-<li><p>Dmitri Kabak – Inferno Limbo lexer</p></li>
-<li><p>Igor Kalnitsky – vhdl lexer</p></li>
-<li><p>Alexander Kit – MaskJS lexer</p></li>
-<li><p>Pekka Klärck – Robot Framework lexer</p></li>
-<li><p>Gerwin Klein – Isabelle lexer</p></li>
-<li><p>Eric Knibbe – Lasso lexer</p></li>
-<li><p>Stepan Koltsov – Clay lexer</p></li>
-<li><p>Adam Koprowski – Opa lexer</p></li>
-<li><p>Benjamin Kowarsch – Modula-2 lexer</p></li>
-<li><p>Domen Kožar – Nix lexer</p></li>
-<li><p>Oleh Krekel – Emacs Lisp lexer</p></li>
-<li><p>Alexander Kriegisch – Kconfig and AspectJ lexers</p></li>
-<li><p>Marek Kubica – Scheme lexer</p></li>
-<li><p>Jochen Kupperschmidt – Markdown processor</p></li>
-<li><p>Gerd Kurzbach – Modelica lexer</p></li>
-<li><p>Jon Larimer, Google Inc. – Smali lexer</p></li>
-<li><p>Olov Lassus – Dart lexer</p></li>
-<li><p>Matt Layman – TAP lexer</p></li>
-<li><p>Kristian Lyngstøl – Varnish lexers</p></li>
-<li><p>Sylvestre Ledru – Scilab lexer</p></li>
-<li><p>Chee Sing Lee – Flatline lexer</p></li>
-<li><p>Mark Lee – Vala lexer</p></li>
-<li><p>Valentin Lorentz – C++ lexer improvements</p></li>
-<li><p>Ben Mabey – Gherkin lexer</p></li>
-<li><p>Angus MacArthur – QML lexer</p></li>
-<li><p>Louis Mandel – X10 lexer</p></li>
-<li><p>Louis Marchand – Eiffel lexer</p></li>
-<li><p>Simone Margaritelli – Hybris lexer</p></li>
-<li><p>Kirk McDonald – D lexer</p></li>
-<li><p>Gordon McGregor – SystemVerilog lexer</p></li>
-<li><p>Stephen McKamey – Duel/JBST lexer</p></li>
-<li><p>Brian McKenna – F# lexer</p></li>
-<li><p>Charles McLaughlin – Puppet lexer</p></li>
-<li><p>Kurt McKee – Tera Term macro lexer</p></li>
-<li><p>Lukas Meuser – BBCode formatter, Lua lexer</p></li>
-<li><p>Cat Miller – Pig lexer</p></li>
-<li><p>Paul Miller – LiveScript lexer</p></li>
-<li><p>Hong Minhee – HTTP lexer</p></li>
-<li><p>Michael Mior – Awk lexer</p></li>
-<li><p>Bruce Mitchener – Dylan lexer rewrite</p></li>
-<li><p>Reuben Morais – SourcePawn lexer</p></li>
-<li><p>Jon Morton – Rust lexer</p></li>
-<li><p>Paulo Moura – Logtalk lexer</p></li>
-<li><p>Mher Movsisyan – DTD lexer</p></li>
-<li><p>Dejan Muhamedagic – Crmsh lexer</p></li>
-<li><p>Ana Nelson – Ragel, ANTLR, R console lexers</p></li>
-<li><p>Kurt Neufeld – Markdown lexer</p></li>
-<li><p>Nam T. Nguyen – Monokai style</p></li>
-<li><p>Jesper Noehr – HTML formatter “anchorlinenos”</p></li>
-<li><p>Mike Nolta – Julia lexer</p></li>
-<li><p>Jonas Obrist – BBCode lexer</p></li>
-<li><p>Edward O’Callaghan – Cryptol lexer</p></li>
-<li><p>David Oliva – Rebol lexer</p></li>
-<li><p>Pat Pannuto – nesC lexer</p></li>
-<li><p>Jon Parise – Protocol buffers and Thrift lexers</p></li>
-<li><p>Benjamin Peterson – Test suite refactoring</p></li>
-<li><p>Ronny Pfannschmidt – BBCode lexer</p></li>
-<li><p>Dominik Picheta – Nimrod lexer</p></li>
-<li><p>Andrew Pinkham – RTF Formatter Refactoring</p></li>
-<li><p>Clément Prévost – UrbiScript lexer</p></li>
-<li><p>Tanner Prynn – cmdline -x option and loading lexers from files</p></li>
-<li><p>Oleh Prypin – Crystal lexer (based on Ruby lexer)</p></li>
-<li><p>Elias Rabel – Fortran fixed form lexer</p></li>
-<li><p>raichoo – Idris lexer</p></li>
-<li><p>Kashif Rasul – CUDA lexer</p></li>
-<li><p>Nathan Reed – HLSL lexer</p></li>
-<li><p>Justin Reidy – MXML lexer</p></li>
-<li><p>Norman Richards – JSON lexer</p></li>
-<li><p>Corey Richardson – Rust lexer updates</p></li>
-<li><p>Lubomir Rintel – GoodData MAQL and CL lexers</p></li>
-<li><p>Andre Roberge – Tango style</p></li>
-<li><p>Georg Rollinger – HSAIL lexer</p></li>
-<li><p>Michiel Roos – TypoScript lexer</p></li>
-<li><p>Konrad Rudolph – LaTeX formatter enhancements</p></li>
-<li><p>Mario Ruggier – Evoque lexers</p></li>
-<li><p>Miikka Salminen – Lovelace style, Hexdump lexer, lexer enhancements</p></li>
-<li><p>Stou Sandalski – NumPy, FORTRAN, tcsh and XSLT lexers</p></li>
-<li><p>Matteo Sasso – Common Lisp lexer</p></li>
-<li><p>Joe Schafer – Ada lexer</p></li>
-<li><p>Ken Schutte – Matlab lexers</p></li>
-<li><p>René Schwaiger – Rainbow Dash style</p></li>
-<li><p>Sebastian Schweizer – Whiley lexer</p></li>
-<li><p>Tassilo Schweyer – Io, MOOCode lexers</p></li>
-<li><p>Ted Shaw – AutoIt lexer</p></li>
-<li><p>Joerg Sieker – ABAP lexer</p></li>
-<li><p>Robert Simmons – Standard ML lexer</p></li>
-<li><p>Kirill Simonov – YAML lexer</p></li>
-<li><p>Corbin Simpson – Monte lexer</p></li>
-<li><p>Alexander Smishlajev – Visual FoxPro lexer</p></li>
-<li><p>Steve Spigarelli – XQuery lexer</p></li>
-<li><p>Jerome St-Louis – eC lexer</p></li>
-<li><p>Camil Staps – Clean and NuSMV lexers; Solarized style</p></li>
-<li><p>James Strachan – Kotlin lexer</p></li>
-<li><p>Tom Stuart – Treetop lexer</p></li>
-<li><p>Colin Sullivan – SuperCollider lexer</p></li>
-<li><p>Ben Swift – Extempore lexer</p></li>
-<li><p>Edoardo Tenani – Arduino lexer</p></li>
-<li><p>Tiberius Teng – default style overhaul</p></li>
-<li><p>Jeremy Thurgood – Erlang, Squid config lexers</p></li>
-<li><p>Brian Tiffin – OpenCOBOL lexer</p></li>
-<li><p>Bob Tolbert – Hy lexer</p></li>
-<li><p>Matthias Trute – Forth lexer</p></li>
-<li><p>Erick Tryzelaar – Felix lexer</p></li>
-<li><p>Alexander Udalov – Kotlin lexer improvements</p></li>
-<li><p>Thomas Van Doren – Chapel lexer</p></li>
-<li><p>Daniele Varrazzo – PostgreSQL lexers</p></li>
-<li><p>Abe Voelker – OpenEdge ABL lexer</p></li>
-<li><p>Pepijn de Vos – HTML formatter CTags support</p></li>
-<li><p>Matthias Vallentin – Bro lexer</p></li>
-<li><p>Benoît Vinot – AMPL lexer</p></li>
-<li><p>Linh Vu Hong – RSL lexer</p></li>
-<li><p>Nathan Weizenbaum – Haml and Sass lexers</p></li>
-<li><p>Nathan Whetsell – Csound lexers</p></li>
-<li><p>Dietmar Winkler – Modelica lexer</p></li>
-<li><p>Nils Winter – Smalltalk lexer</p></li>
-<li><p>Davy Wybiral – Clojure lexer</p></li>
-<li><p>Whitney Young – ObjectiveC lexer</p></li>
-<li><p>Diego Zamboni – CFengine3 lexer</p></li>
-<li><p>Enrique Zamudio – Ceylon lexer</p></li>
-<li><p>Alex Zimin – Nemerle lexer</p></li>
-<li><p>Rob Zimmerman – Kal lexer</p></li>
-<li><p>Vincent Zurczak – Roboconf lexer</p></li>
-<li><p>Rostyslav Golda – FloScript lexer</p></li>
-<li><p>GitHub, Inc – DASM16, Augeas, TOML, and Slash lexers</p></li>
-<li><p>Simon Garnotel – FreeFem++ lexer</p></li>
-</ul>
-<p>Many thanks for all contributions!</p>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Pygments changelog — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Full contributor list" href="../authors/" />
- <link rel="prev" title="Using Pygments in various scenarios" href="../integrate/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Pygments changelog</a><ul>
-<li><a class="reference internal" href="#version-2-5-0">Version 2.5.0</a></li>
-<li><a class="reference internal" href="#version-2-4-2">Version 2.4.2</a></li>
-<li><a class="reference internal" href="#version-2-4-1">Version 2.4.1</a></li>
-<li><a class="reference internal" href="#version-2-4-0">Version 2.4.0</a></li>
-<li><a class="reference internal" href="#version-2-3-1">Version 2.3.1</a></li>
-<li><a class="reference internal" href="#version-2-3-0">Version 2.3.0</a></li>
-<li><a class="reference internal" href="#version-2-2-0">Version 2.2.0</a></li>
-<li><a class="reference internal" href="#version-2-1-3">Version 2.1.3</a></li>
-<li><a class="reference internal" href="#version-2-1-2">Version 2.1.2</a></li>
-<li><a class="reference internal" href="#version-2-1-1">Version 2.1.1</a></li>
-<li><a class="reference internal" href="#version-2-1">Version 2.1</a></li>
-<li><a class="reference internal" href="#version-2-0-2">Version 2.0.2</a></li>
-<li><a class="reference internal" href="#version-2-0-1">Version 2.0.1</a></li>
-<li><a class="reference internal" href="#version-2-0">Version 2.0</a></li>
-<li><a class="reference internal" href="#version-2-0rc1">Version 2.0rc1</a></li>
-<li><a class="reference internal" href="#version-1-6">Version 1.6</a></li>
-<li><a class="reference internal" href="#version-1-6rc1">Version 1.6rc1</a></li>
-<li><a class="reference internal" href="#version-1-5">Version 1.5</a></li>
-<li><a class="reference internal" href="#version-1-4">Version 1.4</a></li>
-<li><a class="reference internal" href="#version-1-3-1">Version 1.3.1</a></li>
-<li><a class="reference internal" href="#version-1-3">Version 1.3</a></li>
-<li><a class="reference internal" href="#version-1-2-2">Version 1.2.2</a></li>
-<li><a class="reference internal" href="#version-1-2-1">Version 1.2.1</a></li>
-<li><a class="reference internal" href="#version-1-2">Version 1.2</a></li>
-<li><a class="reference internal" href="#version-1-1-1">Version 1.1.1</a></li>
-<li><a class="reference internal" href="#version-1-1">Version 1.1</a></li>
-<li><a class="reference internal" href="#version-1-0">Version 1.0</a></li>
-<li><a class="reference internal" href="#version-0-11-1">Version 0.11.1</a></li>
-<li><a class="reference internal" href="#version-0-11">Version 0.11</a></li>
-<li><a class="reference internal" href="#version-0-10">Version 0.10</a></li>
-<li><a class="reference internal" href="#version-0-9">Version 0.9</a></li>
-<li><a class="reference internal" href="#version-0-8-1">Version 0.8.1</a></li>
-<li><a class="reference internal" href="#version-0-8">Version 0.8</a></li>
-<li><a class="reference internal" href="#version-0-7-1">Version 0.7.1</a></li>
-<li><a class="reference internal" href="#version-0-7">Version 0.7</a></li>
-<li><a class="reference internal" href="#version-0-6">Version 0.6</a></li>
-<li><a class="reference internal" href="#version-0-5-1">Version 0.5.1</a></li>
-<li><a class="reference internal" href="#version-0-5">Version 0.5</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../integrate/"
- title="previous chapter">Using Pygments in various scenarios</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../authors/"
- title="next chapter">Full contributor list</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/changelog.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="pygments-changelog">
-<h1>Pygments changelog<a class="headerlink" href="#pygments-changelog" title="Permalink to this headline">¶</a></h1>
-<p>Since 2.5.0, issue numbers refer to the tracker at
-<<a class="reference external" href="https://github.com/pygments/pygments/issues">https://github.com/pygments/pygments/issues</a>>,
-pull request numbers to the requests at
-<<a class="reference external" href="https://github.com/pygments/pygments/pulls">https://github.com/pygments/pygments/pulls</a>>.</p>
-<div class="section" id="version-2-5-0">
-<h2>Version 2.5.0<a class="headerlink" href="#version-2-5-0" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><p>Added lexers:</p>
-<ul>
-<li><p>Email (PR#1246)</p></li>
-<li><p>Erlang, Elxir shells (PR#823, #1521)</p></li>
-<li><p>Zig (PR#820)</p></li>
-</ul>
-</li>
-<li><p>Updated lexers:</p>
-<ul>
-<li><p>Apache2 Configuration (PR#1251)</p></li>
-<li><p>CSound (PR#1250)</p></li>
-<li><p>Handlebars (PR#773)</p></li>
-<li><p>Python3 (PR#1255)</p></li>
-<li><p>YAML (#1528)</p></li>
-</ul>
-</li>
-<li><p>Bump <code class="docutils literal notranslate"><span class="pre">NasmLexer</span></code> priority over <code class="docutils literal notranslate"><span class="pre">TasmLexer</span></code> for <code class="docutils literal notranslate"><span class="pre">.asm</span></code> files
-(fixes #1326)</p></li>
-<li><p>Default font in the <code class="docutils literal notranslate"><span class="pre">ImageFormatter</span></code> has been updated (#928, PR#1245)</p></li>
-<li><p>Test suite switched to py.test, removed nose dependency (#1490)</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-4-2">
-<h2>Version 2.4.2<a class="headerlink" href="#version-2-4-2" title="Permalink to this headline">¶</a></h2>
-<p>(released May 28, 2019)</p>
-<ul class="simple">
-<li><p>Fix encoding error when guessing lexer with given <code class="docutils literal notranslate"><span class="pre">encoding</span></code> option
-(#1438)</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-4-1">
-<h2>Version 2.4.1<a class="headerlink" href="#version-2-4-1" title="Permalink to this headline">¶</a></h2>
-<p>(released May 24, 2019)</p>
-<ul class="simple">
-<li><p>Updated lexers:</p>
-<ul>
-<li><p>Coq (#1430)</p></li>
-<li><p>MSDOS Session (PR#734)</p></li>
-<li><p>NASM (#1517)</p></li>
-<li><p>Objective-C (PR#813, #1508)</p></li>
-<li><p>Prolog (#1511)</p></li>
-<li><p>TypeScript (#1515)</p></li>
-</ul>
-</li>
-<li><p>Support CSS variables in stylesheets (PR#814, #1356)</p></li>
-<li><p>Fix F# lexer name (PR#709)</p></li>
-<li><p>Fix <code class="docutils literal notranslate"><span class="pre">TerminalFormatter</span></code> using bold for bright text (#1480)</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-4-0">
-<h2>Version 2.4.0<a class="headerlink" href="#version-2-4-0" title="Permalink to this headline">¶</a></h2>
-<p>(released May 8, 2019)</p>
-<ul class="simple">
-<li><p>Added lexers:</p>
-<ul>
-<li><p>Augeas (PR#807)</p></li>
-<li><p>BBC Basic (PR#806)</p></li>
-<li><p>Boa (PR#756)</p></li>
-<li><p>Charm++ CI (PR#788)</p></li>
-<li><p>DASM16 (PR#807)</p></li>
-<li><p>FloScript (PR#750)</p></li>
-<li><p>FreeFem++ (PR#785)</p></li>
-<li><p>Hspec (PR#790)</p></li>
-<li><p>Pony (PR#627)</p></li>
-<li><p>SGF (PR#780)</p></li>
-<li><p>Slash (PR#807)</p></li>
-<li><p>Slurm (PR#760)</p></li>
-<li><p>Tera Term Language (PR#749)</p></li>
-<li><p>TOML (PR#807)</p></li>
-<li><p>Unicon (PR#731)</p></li>
-<li><p>VBScript (PR#673)</p></li>
-</ul>
-</li>
-<li><p>Updated lexers:</p>
-<ul>
-<li><p>Apache2 (PR#766)</p></li>
-<li><p>Cypher (PR#746)</p></li>
-<li><p>LLVM (PR#792)</p></li>
-<li><p>Makefiles (PR#766)</p></li>
-<li><p>PHP (#1482)</p></li>
-<li><p>Rust</p></li>
-<li><p>SQL (PR#672)</p></li>
-<li><p>Stan (PR#774)</p></li>
-<li><p>Stata (PR#800)</p></li>
-<li><p>Terraform (PR#787)</p></li>
-<li><p>YAML</p></li>
-</ul>
-</li>
-<li><p>Add solarized style (PR#708)</p></li>
-<li><p>Add support for Markdown reference-style links (PR#753)</p></li>
-<li><p>Add license information to generated HTML/CSS files (#1496)</p></li>
-<li><p>Change ANSI color names (PR#777)</p></li>
-<li><p>Fix catastrophic backtracking in the bash lexer (#1494)</p></li>
-<li><p>Fix documentation failing to build using Sphinx 2.0 (#1501)</p></li>
-<li><p>Fix incorrect links in the Lisp and R lexer documentation (PR#775)</p></li>
-<li><p>Fix rare unicode errors on Python 2.7 (PR#798, #1492)</p></li>
-<li><p>Fix lexers popping from an empty stack (#1506)</p></li>
-<li><p>TypoScript uses <code class="docutils literal notranslate"><span class="pre">.typoscript</span></code> now (#1498)</p></li>
-<li><p>Updated Trove classifiers and <code class="docutils literal notranslate"><span class="pre">pip</span></code> requirements (PR#799)</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-3-1">
-<h2>Version 2.3.1<a class="headerlink" href="#version-2-3-1" title="Permalink to this headline">¶</a></h2>
-<p>(released Dec 16, 2018)</p>
-<ul class="simple">
-<li><p>Updated lexers:</p>
-<ul>
-<li><p>ASM (PR#784)</p></li>
-<li><p>Chapel (PR#735)</p></li>
-<li><p>Clean (PR#621)</p></li>
-<li><p>CSound (PR#684)</p></li>
-<li><p>Elm (PR#744)</p></li>
-<li><p>Fortran (PR#747)</p></li>
-<li><p>GLSL (PR#740)</p></li>
-<li><p>Haskell (PR#745)</p></li>
-<li><p>Hy (PR#754)</p></li>
-<li><p>Igor Pro (PR#764)</p></li>
-<li><p>PowerShell (PR#705)</p></li>
-<li><p>Python (PR#720, #1299, PR#715)</p></li>
-<li><p>SLexer (PR#680)</p></li>
-<li><p>YAML (PR#762, PR#724)</p></li>
-</ul>
-</li>
-<li><p>Fix invalid string escape sequences</p></li>
-<li><p>Fix <cite>FutureWarning</cite> introduced by regex changes in Python 3.7</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-3-0">
-<h2>Version 2.3.0<a class="headerlink" href="#version-2-3-0" title="Permalink to this headline">¶</a></h2>
-<p>(released Nov 25, 2018)</p>
-<ul class="simple">
-<li><p>Added lexers:</p>
-<ul>
-<li><p>Fennel (PR#783)</p></li>
-<li><p>HLSL (PR#675)</p></li>
-</ul>
-</li>
-<li><p>Updated lexers:</p>
-<ul>
-<li><p>Dockerfile (PR#714)</p></li>
-</ul>
-</li>
-<li><p>Minimum Python versions changed to 2.7 and 3.5</p></li>
-<li><p>Added support for Python 3.7 generator changes (PR#772)</p></li>
-<li><p>Fix incorrect token type in SCSS for single-quote strings (#1322)</p></li>
-<li><p>Use <cite>terminal256</cite> formatter if <cite>TERM</cite> contains <cite>256</cite> (PR#666)</p></li>
-<li><p>Fix incorrect handling of GitHub style fences in Markdown (PR#741, #1389)</p></li>
-<li><p>Fix <cite>%a</cite> not being highlighted in Python3 strings (PR#727)</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-2-0">
-<h2>Version 2.2.0<a class="headerlink" href="#version-2-2-0" title="Permalink to this headline">¶</a></h2>
-<p>(released Jan 22, 2017)</p>
-<ul class="simple">
-<li><p>Added lexers:</p>
-<ul>
-<li><p>AMPL</p></li>
-<li><p>TypoScript (#1173)</p></li>
-<li><p>Varnish config (PR#554)</p></li>
-<li><p>Clean (PR#503)</p></li>
-<li><p>WDiff (PR#513)</p></li>
-<li><p>Flatline (PR#551)</p></li>
-<li><p>Silver (PR#537)</p></li>
-<li><p>HSAIL (PR#518)</p></li>
-<li><p>JSGF (PR#546)</p></li>
-<li><p>NCAR command language (PR#536)</p></li>
-<li><p>Extempore (PR#530)</p></li>
-<li><p>Cap’n Proto (PR#595)</p></li>
-<li><p>Whiley (PR#573)</p></li>
-<li><p>Monte (PR#592)</p></li>
-<li><p>Crystal (PR#576)</p></li>
-<li><p>Snowball (PR#589)</p></li>
-<li><p>CapDL (PR#579)</p></li>
-<li><p>NuSMV (PR#564)</p></li>
-<li><p>SAS, Stata (PR#593)</p></li>
-</ul>
-</li>
-<li><p>Added the ability to load lexer and formatter classes directly from files
-with the <cite>-x</cite> command line option and the <cite>lexers.load_lexer_from_file()</cite>
-and <cite>formatters.load_formatter_from_file()</cite> functions. (PR#559)</p></li>
-<li><p>Added <cite>lexers.find_lexer_class_by_name()</cite>. (#1203)</p></li>
-<li><p>Added new token types and lexing for magic methods and variables in Python
-and PHP.</p></li>
-<li><p>Added a new token type for string affixes and lexing for them in Python, C++
-and Postgresql lexers.</p></li>
-<li><p>Added a new token type for heredoc (and similar) string delimiters and
-lexing for them in C++, Perl, PHP, Postgresql and Ruby lexers.</p></li>
-<li><p>Styles can now define colors with ANSI colors for use in the 256-color
-terminal formatter. (PR#531)</p></li>
-<li><p>Improved the CSS lexer. (#1083, #1130)</p></li>
-<li><p>Added “Rainbow Dash” style. (PR#623)</p></li>
-<li><p>Delay loading <cite>pkg_resources</cite>, which takes a long while to import. (PR#690)</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-1-3">
-<h2>Version 2.1.3<a class="headerlink" href="#version-2-1-3" title="Permalink to this headline">¶</a></h2>
-<p>(released Mar 2, 2016)</p>
-<ul class="simple">
-<li><p>Fixed regression in Bash lexer (PR#563)</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-1-2">
-<h2>Version 2.1.2<a class="headerlink" href="#version-2-1-2" title="Permalink to this headline">¶</a></h2>
-<p>(released Feb 29, 2016)</p>
-<ul class="simple">
-<li><p>Fixed Python 3 regression in image formatter (#1215)</p></li>
-<li><p>Fixed regression in Bash lexer (PR#562)</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-1-1">
-<h2>Version 2.1.1<a class="headerlink" href="#version-2-1-1" title="Permalink to this headline">¶</a></h2>
-<p>(relased Feb 14, 2016)</p>
-<ul class="simple">
-<li><p>Fixed Jython compatibility (#1205)</p></li>
-<li><p>Fixed HTML formatter output with leading empty lines (#1111)</p></li>
-<li><p>Added a mapping table for LaTeX encodings and added utf8 (#1152)</p></li>
-<li><p>Fixed image formatter font searching on Macs (#1188)</p></li>
-<li><p>Fixed deepcopy-ing of Token instances (#1168)</p></li>
-<li><p>Fixed Julia string interpolation (#1170)</p></li>
-<li><p>Fixed statefulness of HttpLexer between get_tokens calls</p></li>
-<li><p>Many smaller fixes to various lexers</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-1">
-<h2>Version 2.1<a class="headerlink" href="#version-2-1" title="Permalink to this headline">¶</a></h2>
-<p>(released Jan 17, 2016)</p>
-<ul class="simple">
-<li><p>Added lexers:</p>
-<ul>
-<li><p>Emacs Lisp (PR#431)</p></li>
-<li><p>Arduino (PR#442)</p></li>
-<li><p>Modula-2 with multi-dialect support (#1090)</p></li>
-<li><p>Fortran fixed format (PR#213)</p></li>
-<li><p>Archetype Definition language (PR#483)</p></li>
-<li><p>Terraform (PR#432)</p></li>
-<li><p>Jcl, Easytrieve (PR#208)</p></li>
-<li><p>ParaSail (PR#381)</p></li>
-<li><p>Boogie (PR#420)</p></li>
-<li><p>Turtle (PR#425)</p></li>
-<li><p>Fish Shell (PR#422)</p></li>
-<li><p>Roboconf (PR#449)</p></li>
-<li><p>Test Anything Protocol (PR#428)</p></li>
-<li><p>Shen (PR#385)</p></li>
-<li><p>Component Pascal (PR#437)</p></li>
-<li><p>SuperCollider (PR#472)</p></li>
-<li><p>Shell consoles (Tcsh, PowerShell, MSDOS) (PR#479)</p></li>
-<li><p>Elm and J (PR#452)</p></li>
-<li><p>Crmsh (PR#440)</p></li>
-<li><p>Praat (PR#492)</p></li>
-<li><p>CSound (PR#494)</p></li>
-<li><p>Ezhil (PR#443)</p></li>
-<li><p>Thrift (PR#469)</p></li>
-<li><p>QVT Operational (PR#204)</p></li>
-<li><p>Hexdump (PR#508)</p></li>
-<li><p>CAmkES Configuration (PR#462)</p></li>
-</ul>
-</li>
-<li><p>Added styles:</p>
-<ul>
-<li><p>Lovelace (PR#456)</p></li>
-<li><p>Algol and Algol-nu (#1090)</p></li>
-</ul>
-</li>
-<li><p>Added formatters:</p>
-<ul>
-<li><p>IRC (PR#458)</p></li>
-<li><p>True color (24-bit) terminal ANSI sequences (#1142)
-(formatter alias: “16m”)</p></li>
-</ul>
-</li>
-<li><p>New “filename” option for HTML formatter (PR#527).</p></li>
-<li><p>Improved performance of the HTML formatter for long lines (PR#504).</p></li>
-<li><p>Updated autopygmentize script (PR#445).</p></li>
-<li><p>Fixed style inheritance for non-standard token types in HTML output.</p></li>
-<li><p>Added support for async/await to Python 3 lexer.</p></li>
-<li><p>Rewrote linenos option for TerminalFormatter (it’s better, but slightly
-different output than before) (#1147).</p></li>
-<li><p>Javascript lexer now supports most of ES6 (#1100).</p></li>
-<li><p>Cocoa builtins updated for iOS 8.1 (PR#433).</p></li>
-<li><p>Combined BashSessionLexer and ShellSessionLexer, new version should support
-the prompt styles of either.</p></li>
-<li><p>Added option to pygmentize to show a full traceback on exceptions.</p></li>
-<li><p>Fixed incomplete output on Windows and Python 3 (e.g. when using iPython
-Notebook) (#1153).</p></li>
-<li><p>Allowed more traceback styles in Python console lexer (PR#253).</p></li>
-<li><p>Added decorators to TypeScript (PR#509).</p></li>
-<li><p>Fix highlighting of certain IRC logs formats (#1076).</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-0-2">
-<h2>Version 2.0.2<a class="headerlink" href="#version-2-0-2" title="Permalink to this headline">¶</a></h2>
-<p>(released Jan 20, 2015)</p>
-<ul class="simple">
-<li><p>Fix Python tracebacks getting duplicated in the console lexer (#1068).</p></li>
-<li><p>Backquote-delimited identifiers are now recognized in F# (#1062).</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-0-1">
-<h2>Version 2.0.1<a class="headerlink" href="#version-2-0-1" title="Permalink to this headline">¶</a></h2>
-<p>(released Nov 10, 2014)</p>
-<ul class="simple">
-<li><p>Fix an encoding issue when using <code class="docutils literal notranslate"><span class="pre">pygmentize</span></code> with the <code class="docutils literal notranslate"><span class="pre">-o</span></code> option.</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-0">
-<h2>Version 2.0<a class="headerlink" href="#version-2-0" title="Permalink to this headline">¶</a></h2>
-<p>(released Nov 9, 2014)</p>
-<ul class="simple">
-<li><p>Default lexer encoding is now “guess”, i.e. UTF-8 / Locale / Latin1 is
-tried in that order.</p></li>
-<li><p>Major update to Swift lexer (PR#410).</p></li>
-<li><p>Multiple fixes to lexer guessing in conflicting cases:</p>
-<ul>
-<li><p>recognize HTML5 by doctype</p></li>
-<li><p>recognize XML by XML declaration</p></li>
-<li><p>don’t recognize C/C++ as SystemVerilog</p></li>
-</ul>
-</li>
-<li><p>Simplified regexes and builtin lists.</p></li>
-</ul>
-</div>
-<div class="section" id="version-2-0rc1">
-<h2>Version 2.0rc1<a class="headerlink" href="#version-2-0rc1" title="Permalink to this headline">¶</a></h2>
-<p>(released Oct 16, 2014)</p>
-<ul class="simple">
-<li><p>Dropped Python 2.4 and 2.5 compatibility. This is in favor of single-source
-compatibility between Python 2.6, 2.7 and 3.3+.</p></li>
-<li><p>New website and documentation based on Sphinx (finally!)</p></li>
-<li><p>Lexers added:</p>
-<ul>
-<li><p>APL (#969)</p></li>
-<li><p>Agda and Literate Agda (PR#203)</p></li>
-<li><p>Alloy (PR#355)</p></li>
-<li><p>AmbientTalk</p></li>
-<li><p>BlitzBasic (PR#197)</p></li>
-<li><p>ChaiScript (PR#24)</p></li>
-<li><p>Chapel (PR#256)</p></li>
-<li><p>Cirru (PR#275)</p></li>
-<li><p>Clay (PR#184)</p></li>
-<li><p>ColdFusion CFC (PR#283)</p></li>
-<li><p>Cryptol and Literate Cryptol (PR#344)</p></li>
-<li><p>Cypher (PR#257)</p></li>
-<li><p>Docker config files</p></li>
-<li><p>EBNF (PR#193)</p></li>
-<li><p>Eiffel (PR#273)</p></li>
-<li><p>GAP (PR#311)</p></li>
-<li><p>Golo (PR#309)</p></li>
-<li><p>Handlebars (PR#186)</p></li>
-<li><p>Hy (PR#238)</p></li>
-<li><p>Idris and Literate Idris (PR#210)</p></li>
-<li><p>Igor Pro (PR#172)</p></li>
-<li><p>Inform 6/7 (PR#281)</p></li>
-<li><p>Intel objdump (PR#279)</p></li>
-<li><p>Isabelle (PR#386)</p></li>
-<li><p>Jasmin (PR#349)</p></li>
-<li><p>JSON-LD (PR#289)</p></li>
-<li><p>Kal (PR#233)</p></li>
-<li><p>Lean (PR#399)</p></li>
-<li><p>LSL (PR#296)</p></li>
-<li><p>Limbo (PR#291)</p></li>
-<li><p>Liquid (#977)</p></li>
-<li><p>MQL (PR#285)</p></li>
-<li><p>MaskJS (PR#280)</p></li>
-<li><p>Mozilla preprocessors</p></li>
-<li><p>Mathematica (PR#245)</p></li>
-<li><p>NesC (PR#166)</p></li>
-<li><p>Nit (PR#375)</p></li>
-<li><p>Nix (PR#267)</p></li>
-<li><p>Pan</p></li>
-<li><p>Pawn (PR#211)</p></li>
-<li><p>Perl 6 (PR#181)</p></li>
-<li><p>Pig (PR#304)</p></li>
-<li><p>Pike (PR#237)</p></li>
-<li><p>QBasic (PR#182)</p></li>
-<li><p>Red (PR#341)</p></li>
-<li><p>ResourceBundle (#1038)</p></li>
-<li><p>Rexx (PR#199)</p></li>
-<li><p>Rql (PR#251)</p></li>
-<li><p>Rsl</p></li>
-<li><p>SPARQL (PR#78)</p></li>
-<li><p>Slim (PR#366)</p></li>
-<li><p>Swift (PR#371)</p></li>
-<li><p>Swig (PR#168)</p></li>
-<li><p>TADS 3 (PR#407)</p></li>
-<li><p>Todo.txt todo lists</p></li>
-<li><p>Twig (PR#404)</p></li>
-</ul>
-</li>
-<li><p>Added a helper to “optimize” regular expressions that match one of many
-literal words; this can save 20% and more lexing time with lexers that
-highlight many keywords or builtins.</p></li>
-<li><p>New styles: “xcode” and “igor”, similar to the default highlighting of
-the respective IDEs.</p></li>
-<li><p>The command-line “pygmentize” tool now tries a little harder to find the
-correct encoding for files and the terminal (#979).</p></li>
-<li><p>Added “inencoding” option for lexers to override “encoding” analogous
-to “outencoding” (#800).</p></li>
-<li><p>Added line-by-line “streaming” mode for pygmentize with the “-s” option.
-(PR#165) Only fully works for lexers that have no constructs spanning
-lines!</p></li>
-<li><p>Added an “envname” option to the LaTeX formatter to select a replacement
-verbatim environment (PR#235).</p></li>
-<li><p>Updated the Makefile lexer to yield a little more useful highlighting.</p></li>
-<li><p>Lexer aliases passed to <code class="docutils literal notranslate"><span class="pre">get_lexer_by_name()</span></code> are now case-insensitive.</p></li>
-<li><p>File name matching in lexers and formatters will now use a regex cache
-for speed (PR#205).</p></li>
-<li><p>Pygments will now recognize “vim” modelines when guessing the lexer for
-a file based on content (PR#118).</p></li>
-<li><p>Major restructure of the <code class="docutils literal notranslate"><span class="pre">pygments.lexers</span></code> module namespace. There are now
-many more modules with less lexers per module. Old modules are still around
-and re-export the lexers they previously contained.</p></li>
-<li><p>The NameHighlightFilter now works with any Name.* token type (#790).</p></li>
-<li><p>Python 3 lexer: add new exceptions from PEP 3151.</p></li>
-<li><p>Opa lexer: add new keywords (PR#170).</p></li>
-<li><p>Julia lexer: add keywords and underscore-separated number
-literals (PR#176).</p></li>
-<li><p>Lasso lexer: fix method highlighting, update builtins. Fix
-guessing so that plain XML isn’t always taken as Lasso (PR#163).</p></li>
-<li><p>Objective C/C++ lexers: allow “@” prefixing any expression (#871).</p></li>
-<li><p>Ruby lexer: fix lexing of Name::Space tokens (#860) and of symbols
-in hashes (#873).</p></li>
-<li><p>Stan lexer: update for version 2.4.0 of the language (PR#162, PR#255, PR#377).</p></li>
-<li><p>JavaScript lexer: add the “yield” keyword (PR#196).</p></li>
-<li><p>HTTP lexer: support for PATCH method (PR#190).</p></li>
-<li><p>Koka lexer: update to newest language spec (PR#201).</p></li>
-<li><p>Haxe lexer: rewrite and support for Haxe 3 (PR#174).</p></li>
-<li><p>Prolog lexer: add different kinds of numeric literals (#864).</p></li>
-<li><p>F# lexer: rewrite with newest spec for F# 3.0 (#842), fix a bug with
-dotted chains (#948).</p></li>
-<li><p>Kotlin lexer: general update (PR#271).</p></li>
-<li><p>Rebol lexer: fix comment detection and analyse_text (PR#261).</p></li>
-<li><p>LLVM lexer: update keywords to v3.4 (PR#258).</p></li>
-<li><p>PHP lexer: add new keywords and binary literals (PR#222).</p></li>
-<li><p>external/markdown-processor.py updated to newest python-markdown (PR#221).</p></li>
-<li><p>CSS lexer: some highlighting order fixes (PR#231).</p></li>
-<li><p>Ceylon lexer: fix parsing of nested multiline comments (#915).</p></li>
-<li><p>C family lexers: fix parsing of indented preprocessor directives (#944).</p></li>
-<li><p>Rust lexer: update to 0.9 language version (PR#270, PR#388).</p></li>
-<li><p>Elixir lexer: update to 0.15 language version (PR#392).</p></li>
-<li><p>Fix swallowing incomplete tracebacks in Python console lexer (#874).</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-6">
-<h2>Version 1.6<a class="headerlink" href="#version-1-6" title="Permalink to this headline">¶</a></h2>
-<p>(released Feb 3, 2013)</p>
-<ul class="simple">
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Dylan console (PR#149)</p></li>
-<li><p>Logos (PR#150)</p></li>
-<li><p>Shell sessions (PR#158)</p></li>
-</ul>
-</li>
-<li><p>Fix guessed lexers not receiving lexer options (#838).</p></li>
-<li><p>Fix unquoted HTML attribute lexing in Opa (#841).</p></li>
-<li><p>Fixes to the Dart lexer (PR#160).</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-6rc1">
-<h2>Version 1.6rc1<a class="headerlink" href="#version-1-6rc1" title="Permalink to this headline">¶</a></h2>
-<p>(released Jan 9, 2013)</p>
-<ul class="simple">
-<li><p>Lexers added:</p>
-<ul>
-<li><p>AspectJ (PR#90)</p></li>
-<li><p>AutoIt (PR#122)</p></li>
-<li><p>BUGS-like languages (PR#89)</p></li>
-<li><p>Ceylon (PR#86)</p></li>
-<li><p>Croc (new name for MiniD)</p></li>
-<li><p>CUDA (PR#75)</p></li>
-<li><p>Dg (PR#116)</p></li>
-<li><p>IDL (PR#115)</p></li>
-<li><p>Jags (PR#89)</p></li>
-<li><p>Julia (PR#61)</p></li>
-<li><p>Kconfig (#711)</p></li>
-<li><p>Lasso (PR#95, PR#113)</p></li>
-<li><p>LiveScript (PR#84)</p></li>
-<li><p>Monkey (PR#117)</p></li>
-<li><p>Mscgen (PR#80)</p></li>
-<li><p>NSIS scripts (PR#136)</p></li>
-<li><p>OpenCOBOL (PR#72)</p></li>
-<li><p>QML (PR#123)</p></li>
-<li><p>Puppet (PR#133)</p></li>
-<li><p>Racket (PR#94)</p></li>
-<li><p>Rdoc (PR#99)</p></li>
-<li><p>Robot Framework (PR#137)</p></li>
-<li><p>RPM spec files (PR#124)</p></li>
-<li><p>Rust (PR#67)</p></li>
-<li><p>Smali (Dalvik assembly)</p></li>
-<li><p>SourcePawn (PR#39)</p></li>
-<li><p>Stan (PR#89)</p></li>
-<li><p>Treetop (PR#125)</p></li>
-<li><p>TypeScript (PR#114)</p></li>
-<li><p>VGL (PR#12)</p></li>
-<li><p>Visual FoxPro (#762)</p></li>
-<li><p>Windows Registry (#819)</p></li>
-<li><p>Xtend (PR#68)</p></li>
-</ul>
-</li>
-<li><p>The HTML formatter now supports linking to tags using CTags files, when the
-python-ctags package is installed (PR#87).</p></li>
-<li><p>The HTML formatter now has a “linespans” option that wraps every line in a
-<span> tag with a specific id (PR#82).</p></li>
-<li><p>When deriving a lexer from another lexer with token definitions, definitions
-for states not in the child lexer are now inherited. If you override a state
-in the child lexer, an “inherit” keyword has been added to insert the base
-state at that position (PR#141).</p></li>
-<li><p>The C family lexers now inherit token definitions from a common base class,
-removing code duplication (PR#141).</p></li>
-<li><p>Use “colorama” on Windows for console color output (PR#142).</p></li>
-<li><p>Fix Template Haskell highlighting (PR#63).</p></li>
-<li><p>Fix some S/R lexer errors (PR#91).</p></li>
-<li><p>Fix a bug in the Prolog lexer with names that start with ‘is’ (#810).</p></li>
-<li><p>Rewrite Dylan lexer, add Dylan LID lexer (PR#147).</p></li>
-<li><p>Add a Java quickstart document (PR#146).</p></li>
-<li><p>Add a “external/autopygmentize” file that can be used as .lessfilter (#802).</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-5">
-<h2>Version 1.5<a class="headerlink" href="#version-1-5" title="Permalink to this headline">¶</a></h2>
-<p>(codename Zeitdilatation, released Mar 10, 2012)</p>
-<ul class="simple">
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Awk (#630)</p></li>
-<li><p>Fancy (#633)</p></li>
-<li><p>PyPy Log</p></li>
-<li><p>eC</p></li>
-<li><p>Nimrod</p></li>
-<li><p>Nemerle (#667)</p></li>
-<li><p>F# (#353)</p></li>
-<li><p>Groovy (#501)</p></li>
-<li><p>PostgreSQL (#660)</p></li>
-<li><p>DTD</p></li>
-<li><p>Gosu (#634)</p></li>
-<li><p>Octave (PR#22)</p></li>
-<li><p>Standard ML (PR#14)</p></li>
-<li><p>CFengine3 (#601)</p></li>
-<li><p>Opa (PR#37)</p></li>
-<li><p>HTTP sessions (PR#42)</p></li>
-<li><p>JSON (PR#31)</p></li>
-<li><p>SNOBOL (PR#30)</p></li>
-<li><p>MoonScript (PR#43)</p></li>
-<li><p>ECL (PR#29)</p></li>
-<li><p>Urbiscript (PR#17)</p></li>
-<li><p>OpenEdge ABL (PR#27)</p></li>
-<li><p>SystemVerilog (PR#35)</p></li>
-<li><p>Coq (#734)</p></li>
-<li><p>PowerShell (#654)</p></li>
-<li><p>Dart (#715)</p></li>
-<li><p>Fantom (PR#36)</p></li>
-<li><p>Bro (PR#5)</p></li>
-<li><p>NewLISP (PR#26)</p></li>
-<li><p>VHDL (PR#45)</p></li>
-<li><p>Scilab (#740)</p></li>
-<li><p>Elixir (PR#57)</p></li>
-<li><p>Tea (PR#56)</p></li>
-<li><p>Kotlin (PR#58)</p></li>
-</ul>
-</li>
-<li><p>Fix Python 3 terminal highlighting with pygmentize (#691).</p></li>
-<li><p>In the LaTeX formatter, escape special &, < and > chars (#648).</p></li>
-<li><p>In the LaTeX formatter, fix display problems for styles with token
-background colors (#670).</p></li>
-<li><p>Enhancements to the Squid conf lexer (#664).</p></li>
-<li><p>Several fixes to the reStructuredText lexer (#636).</p></li>
-<li><p>Recognize methods in the ObjC lexer (#638).</p></li>
-<li><p>Fix Lua “class” highlighting: it does not have classes (#665).</p></li>
-<li><p>Fix degenerate regex in Scala lexer (#671) and highlighting bugs (#713, 708).</p></li>
-<li><p>Fix number pattern order in Ocaml lexer (#647).</p></li>
-<li><p>Fix generic type highlighting in ActionScript 3 (#666).</p></li>
-<li><p>Fixes to the Clojure lexer (PR#9).</p></li>
-<li><p>Fix degenerate regex in Nemerle lexer (#706).</p></li>
-<li><p>Fix infinite looping in CoffeeScript lexer (#729).</p></li>
-<li><p>Fix crashes and analysis with ObjectiveC lexer (#693, #696).</p></li>
-<li><p>Add some Fortran 2003 keywords.</p></li>
-<li><p>Fix Boo string regexes (#679).</p></li>
-<li><p>Add “rrt” style (#727).</p></li>
-<li><p>Fix infinite looping in Darcs Patch lexer.</p></li>
-<li><p>Lots of misc fixes to character-eating bugs and ordering problems in many
-different lexers.</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-4">
-<h2>Version 1.4<a class="headerlink" href="#version-1-4" title="Permalink to this headline">¶</a></h2>
-<p>(codename Unschärfe, released Jan 03, 2011)</p>
-<ul class="simple">
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Factor (#520)</p></li>
-<li><p>PostScript (#486)</p></li>
-<li><p>Verilog (#491)</p></li>
-<li><p>BlitzMax Basic (#478)</p></li>
-<li><p>Ioke (#465)</p></li>
-<li><p>Java properties, split out of the INI lexer (#445)</p></li>
-<li><p>Scss (#509)</p></li>
-<li><p>Duel/JBST</p></li>
-<li><p>XQuery (#617)</p></li>
-<li><p>Mason (#615)</p></li>
-<li><p>GoodData (#609)</p></li>
-<li><p>SSP (#473)</p></li>
-<li><p>Autohotkey (#417)</p></li>
-<li><p>Google Protocol Buffers</p></li>
-<li><p>Hybris (#506)</p></li>
-</ul>
-</li>
-<li><p>Do not fail in analyse_text methods (#618).</p></li>
-<li><p>Performance improvements in the HTML formatter (#523).</p></li>
-<li><p>With the <code class="docutils literal notranslate"><span class="pre">noclasses</span></code> option in the HTML formatter, some styles
-present in the stylesheet were not added as inline styles.</p></li>
-<li><p>Four fixes to the Lua lexer (#480, #481, #482, #497).</p></li>
-<li><p>More context-sensitive Gherkin lexer with support for more i18n translations.</p></li>
-<li><p>Support new OO keywords in Matlab lexer (#521).</p></li>
-<li><p>Small fix in the CoffeeScript lexer (#519).</p></li>
-<li><p>A bugfix for backslashes in ocaml strings (#499).</p></li>
-<li><p>Fix unicode/raw docstrings in the Python lexer (#489).</p></li>
-<li><p>Allow PIL to work without PIL.pth (#502).</p></li>
-<li><p>Allow seconds as a unit in CSS (#496).</p></li>
-<li><p>Support <code class="docutils literal notranslate"><span class="pre">application/javascript</span></code> as a JavaScript mime type (#504).</p></li>
-<li><p>Support <a class="reference external" href="http://offload.codeplay.com">Offload</a> C++ Extensions as
-keywords in the C++ lexer (#484).</p></li>
-<li><p>Escape more characters in LaTeX output (#505).</p></li>
-<li><p>Update Haml/Sass lexers to version 3 (#509).</p></li>
-<li><p>Small PHP lexer string escaping fix (#515).</p></li>
-<li><p>Support comments before preprocessor directives, and unsigned/
-long long literals in C/C++ (#613, #616).</p></li>
-<li><p>Support line continuations in the INI lexer (#494).</p></li>
-<li><p>Fix lexing of Dylan string and char literals (#628).</p></li>
-<li><p>Fix class/procedure name highlighting in VB.NET lexer (#624).</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-3-1">
-<h2>Version 1.3.1<a class="headerlink" href="#version-1-3-1" title="Permalink to this headline">¶</a></h2>
-<p>(bugfix release, released Mar 05, 2010)</p>
-<ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">pygmentize</span></code> script was missing from the distribution.</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-3">
-<h2>Version 1.3<a class="headerlink" href="#version-1-3" title="Permalink to this headline">¶</a></h2>
-<p>(codename Schneeglöckchen, released Mar 01, 2010)</p>
-<ul class="simple">
-<li><p>Added the <code class="docutils literal notranslate"><span class="pre">ensurenl</span></code> lexer option, which can be used to suppress the
-automatic addition of a newline to the lexer input.</p></li>
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Ada</p></li>
-<li><p>Coldfusion</p></li>
-<li><p>Modula-2</p></li>
-<li><p>Haxe</p></li>
-<li><p>R console</p></li>
-<li><p>Objective-J</p></li>
-<li><p>Haml and Sass</p></li>
-<li><p>CoffeeScript</p></li>
-</ul>
-</li>
-<li><p>Enhanced reStructuredText highlighting.</p></li>
-<li><p>Added support for PHP 5.3 namespaces in the PHP lexer.</p></li>
-<li><p>Added a bash completion script for <cite>pygmentize</cite>, to the external/
-directory (#466).</p></li>
-<li><p>Fixed a bug in <cite>do_insertions()</cite> used for multi-lexer languages.</p></li>
-<li><p>Fixed a Ruby regex highlighting bug (#476).</p></li>
-<li><p>Fixed regex highlighting bugs in Perl lexer (#258).</p></li>
-<li><p>Add small enhancements to the C lexer (#467) and Bash lexer (#469).</p></li>
-<li><p>Small fixes for the Tcl, Debian control file, Nginx config,
-Smalltalk, Objective-C, Clojure, Lua lexers.</p></li>
-<li><p>Gherkin lexer: Fixed single apostrophe bug and added new i18n keywords.</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-2-2">
-<h2>Version 1.2.2<a class="headerlink" href="#version-1-2-2" title="Permalink to this headline">¶</a></h2>
-<p>(bugfix release, released Jan 02, 2010)</p>
-<ul class="simple">
-<li><p>Removed a backwards incompatibility in the LaTeX formatter that caused
-Sphinx to produce invalid commands when writing LaTeX output (#463).</p></li>
-<li><p>Fixed a forever-backtracking regex in the BashLexer (#462).</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-2-1">
-<h2>Version 1.2.1<a class="headerlink" href="#version-1-2-1" title="Permalink to this headline">¶</a></h2>
-<p>(bugfix release, released Jan 02, 2010)</p>
-<ul class="simple">
-<li><p>Fixed mishandling of an ellipsis in place of the frames in a Python
-console traceback, resulting in clobbered output.</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-2">
-<h2>Version 1.2<a class="headerlink" href="#version-1-2" title="Permalink to this headline">¶</a></h2>
-<p>(codename Neujahr, released Jan 01, 2010)</p>
-<ul class="simple">
-<li><p>Dropped Python 2.3 compatibility.</p></li>
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Asymptote</p></li>
-<li><p>Go</p></li>
-<li><p>Gherkin (Cucumber)</p></li>
-<li><p>CMake</p></li>
-<li><p>Ooc</p></li>
-<li><p>Coldfusion</p></li>
-<li><p>Haxe</p></li>
-<li><p>R console</p></li>
-</ul>
-</li>
-<li><p>Added options for rendering LaTeX in source code comments in the
-LaTeX formatter (#461).</p></li>
-<li><p>Updated the Logtalk lexer.</p></li>
-<li><p>Added <cite>line_number_start</cite> option to image formatter (#456).</p></li>
-<li><p>Added <cite>hl_lines</cite> and <cite>hl_color</cite> options to image formatter (#457).</p></li>
-<li><p>Fixed the HtmlFormatter’s handling of noclasses=True to not output any
-classes (#427).</p></li>
-<li><p>Added the Monokai style (#453).</p></li>
-<li><p>Fixed LLVM lexer identifier syntax and added new keywords (#442).</p></li>
-<li><p>Fixed the PythonTracebackLexer to handle non-traceback data in header or
-trailer, and support more partial tracebacks that start on line 2 (#437).</p></li>
-<li><p>Fixed the CLexer to not highlight ternary statements as labels.</p></li>
-<li><p>Fixed lexing of some Ruby quoting peculiarities (#460).</p></li>
-<li><p>A few ASM lexer fixes (#450).</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-1-1">
-<h2>Version 1.1.1<a class="headerlink" href="#version-1-1-1" title="Permalink to this headline">¶</a></h2>
-<p>(bugfix release, released Sep 15, 2009)</p>
-<ul class="simple">
-<li><p>Fixed the BBCode lexer (#435).</p></li>
-<li><p>Added support for new Jinja2 keywords.</p></li>
-<li><p>Fixed test suite failures.</p></li>
-<li><p>Added Gentoo-specific suffixes to Bash lexer.</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-1">
-<h2>Version 1.1<a class="headerlink" href="#version-1-1" title="Permalink to this headline">¶</a></h2>
-<p>(codename Brillouin, released Sep 11, 2009)</p>
-<ul class="simple">
-<li><p>Ported Pygments to Python 3. This needed a few changes in the way
-encodings are handled; they may affect corner cases when used with
-Python 2 as well.</p></li>
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Antlr/Ragel, thanks to Ana Nelson</p></li>
-<li><p>(Ba)sh shell</p></li>
-<li><p>Erlang shell</p></li>
-<li><p>GLSL</p></li>
-<li><p>Prolog</p></li>
-<li><p>Evoque</p></li>
-<li><p>Modelica</p></li>
-<li><p>Rebol</p></li>
-<li><p>MXML</p></li>
-<li><p>Cython</p></li>
-<li><p>ABAP</p></li>
-<li><p>ASP.net (VB/C#)</p></li>
-<li><p>Vala</p></li>
-<li><p>Newspeak</p></li>
-</ul>
-</li>
-<li><p>Fixed the LaTeX formatter’s output so that output generated for one style
-can be used with the style definitions of another (#384).</p></li>
-<li><p>Added “anchorlinenos” and “noclobber_cssfile” (#396) options to HTML
-formatter.</p></li>
-<li><p>Support multiline strings in Lua lexer.</p></li>
-<li><p>Rewrite of the JavaScript lexer by Pumbaa80 to better support regular
-expression literals (#403).</p></li>
-<li><p>When pygmentize is asked to highlight a file for which multiple lexers
-match the filename, use the analyse_text guessing engine to determine the
-winner (#355).</p></li>
-<li><p>Fixed minor bugs in the JavaScript lexer (#383), the Matlab lexer (#378),
-the Scala lexer (#392), the INI lexer (#391), the Clojure lexer (#387)
-and the AS3 lexer (#389).</p></li>
-<li><p>Fixed three Perl heredoc lexing bugs (#379, #400, #422).</p></li>
-<li><p>Fixed a bug in the image formatter which misdetected lines (#380).</p></li>
-<li><p>Fixed bugs lexing extended Ruby strings and regexes.</p></li>
-<li><p>Fixed a bug when lexing git diffs.</p></li>
-<li><p>Fixed a bug lexing the empty commit in the PHP lexer (#405).</p></li>
-<li><p>Fixed a bug causing Python numbers to be mishighlighted as floats (#397).</p></li>
-<li><p>Fixed a bug when backslashes are used in odd locations in Python (#395).</p></li>
-<li><p>Fixed various bugs in Matlab and S-Plus lexers, thanks to Winston Chang (#410,
-#411, #413, #414) and fmarc (#419).</p></li>
-<li><p>Fixed a bug in Haskell single-line comment detection (#426).</p></li>
-<li><p>Added new-style reStructuredText directive for docutils 0.5+ (#428).</p></li>
-</ul>
-</div>
-<div class="section" id="version-1-0">
-<h2>Version 1.0<a class="headerlink" href="#version-1-0" title="Permalink to this headline">¶</a></h2>
-<p>(codename Dreiundzwanzig, released Nov 23, 2008)</p>
-<ul>
-<li><p>Don’t use join(splitlines()) when converting newlines to <code class="docutils literal notranslate"><span class="pre">\n</span></code>,
-because that doesn’t keep all newlines at the end when the
-<code class="docutils literal notranslate"><span class="pre">stripnl</span></code> lexer option is False.</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">-N</span></code> option to command-line interface to get a lexer name
-for a given filename.</p></li>
-<li><p>Added Tango style, written by Andre Roberge for the Crunchy project.</p></li>
-<li><p>Added Python3TracebackLexer and <code class="docutils literal notranslate"><span class="pre">python3</span></code> option to
-PythonConsoleLexer.</p></li>
-<li><p>Fixed a few bugs in the Haskell lexer.</p></li>
-<li><p>Fixed PythonTracebackLexer to be able to recognize SyntaxError and
-KeyboardInterrupt (#360).</p></li>
-<li><p>Provide one formatter class per image format, so that surprises like:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pygmentize</span> <span class="o">-</span><span class="n">f</span> <span class="n">gif</span> <span class="o">-</span><span class="n">o</span> <span class="n">foo</span><span class="o">.</span><span class="n">gif</span> <span class="n">foo</span><span class="o">.</span><span class="n">py</span>
-</pre></div>
-</div>
-<p>creating a PNG file are avoided.</p>
-</li>
-<li><p>Actually use the <cite>font_size</cite> option of the image formatter.</p></li>
-<li><p>Fixed numpy lexer that it doesn’t listen for <cite>*.py</cite> any longer.</p></li>
-<li><p>Fixed HTML formatter so that text options can be Unicode
-strings (#371).</p></li>
-<li><p>Unified Diff lexer supports the “udiff” alias now.</p></li>
-<li><p>Fixed a few issues in Scala lexer (#367).</p></li>
-<li><p>RubyConsoleLexer now supports simple prompt mode (#363).</p></li>
-<li><p>JavascriptLexer is smarter about what constitutes a regex (#356).</p></li>
-<li><p>Add Applescript lexer, thanks to Andreas Amann (#330).</p></li>
-<li><p>Make the codetags more strict about matching words (#368).</p></li>
-<li><p>NginxConfLexer is a little more accurate on mimetypes and
-variables (#370).</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-11-1">
-<h2>Version 0.11.1<a class="headerlink" href="#version-0-11-1" title="Permalink to this headline">¶</a></h2>
-<p>(released Aug 24, 2008)</p>
-<ul class="simple">
-<li><p>Fixed a Jython compatibility issue in pygments.unistring (#358).</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-11">
-<h2>Version 0.11<a class="headerlink" href="#version-0-11" title="Permalink to this headline">¶</a></h2>
-<p>(codename Straußenei, released Aug 23, 2008)</p>
-<p>Many thanks go to Tim Hatch for writing or integrating most of the bug
-fixes and new features.</p>
-<ul class="simple">
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Nasm-style assembly language, thanks to delroth</p></li>
-<li><p>YAML, thanks to Kirill Simonov</p></li>
-<li><p>ActionScript 3, thanks to Pierre Bourdon</p></li>
-<li><p>Cheetah/Spitfire templates, thanks to Matt Good</p></li>
-<li><p>Lighttpd config files</p></li>
-<li><p>Nginx config files</p></li>
-<li><p>Gnuplot plotting scripts</p></li>
-<li><p>Clojure</p></li>
-<li><p>POV-Ray scene files</p></li>
-<li><p>Sqlite3 interactive console sessions</p></li>
-<li><p>Scala source files, thanks to Krzysiek Goj</p></li>
-</ul>
-</li>
-<li><p>Lexers improved:</p>
-<ul>
-<li><p>C lexer highlights standard library functions now and supports C99
-types.</p></li>
-<li><p>Bash lexer now correctly highlights heredocs without preceding
-whitespace.</p></li>
-<li><p>Vim lexer now highlights hex colors properly and knows a couple
-more keywords.</p></li>
-<li><p>Irc logs lexer now handles xchat’s default time format (#340) and
-correctly highlights lines ending in <code class="docutils literal notranslate"><span class="pre">></span></code>.</p></li>
-<li><p>Support more delimiters for perl regular expressions (#258).</p></li>
-<li><p>ObjectiveC lexer now supports 2.0 features.</p></li>
-</ul>
-</li>
-<li><p>Added “Visual Studio” style.</p></li>
-<li><p>Updated markdown processor to Markdown 1.7.</p></li>
-<li><p>Support roman/sans/mono style defs and use them in the LaTeX
-formatter.</p></li>
-<li><p>The RawTokenFormatter is no longer registered to <code class="docutils literal notranslate"><span class="pre">*.raw</span></code> and it’s
-documented that tokenization with this lexer may raise exceptions.</p></li>
-<li><p>New option <code class="docutils literal notranslate"><span class="pre">hl_lines</span></code> to HTML formatter, to highlight certain
-lines.</p></li>
-<li><p>New option <code class="docutils literal notranslate"><span class="pre">prestyles</span></code> to HTML formatter.</p></li>
-<li><p>New option <em>-g</em> to pygmentize, to allow lexer guessing based on
-filetext (can be slowish, so file extensions are still checked
-first).</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">guess_lexer()</span></code> now makes its decision much faster due to a cache
-of whether data is xml-like (a check which is used in several
-versions of <code class="docutils literal notranslate"><span class="pre">analyse_text()</span></code>. Several lexers also have more
-accurate <code class="docutils literal notranslate"><span class="pre">analyse_text()</span></code> now.</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-10">
-<h2>Version 0.10<a class="headerlink" href="#version-0-10" title="Permalink to this headline">¶</a></h2>
-<p>(codename Malzeug, released May 06, 2008)</p>
-<ul class="simple">
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Io</p></li>
-<li><p>Smalltalk</p></li>
-<li><p>Darcs patches</p></li>
-<li><p>Tcl</p></li>
-<li><p>Matlab</p></li>
-<li><p>Matlab sessions</p></li>
-<li><p>FORTRAN</p></li>
-<li><p>XSLT</p></li>
-<li><p>tcsh</p></li>
-<li><p>NumPy</p></li>
-<li><p>Python 3</p></li>
-<li><p>S, S-plus, R statistics languages</p></li>
-<li><p>Logtalk</p></li>
-</ul>
-</li>
-<li><p>In the LatexFormatter, the <em>commandprefix</em> option is now by default
-‘PY’ instead of ‘C’, since the latter resulted in several collisions
-with other packages. Also, the special meaning of the <em>arg</em>
-argument to <code class="docutils literal notranslate"><span class="pre">get_style_defs()</span></code> was removed.</p></li>
-<li><p>Added ImageFormatter, to format code as PNG, JPG, GIF or BMP.
-(Needs the Python Imaging Library.)</p></li>
-<li><p>Support doc comments in the PHP lexer.</p></li>
-<li><p>Handle format specifications in the Perl lexer.</p></li>
-<li><p>Fix comment handling in the Batch lexer.</p></li>
-<li><p>Add more file name extensions for the C++, INI and XML lexers.</p></li>
-<li><p>Fixes in the IRC and MuPad lexers.</p></li>
-<li><p>Fix function and interface name highlighting in the Java lexer.</p></li>
-<li><p>Fix at-rule handling in the CSS lexer.</p></li>
-<li><p>Handle KeyboardInterrupts gracefully in pygmentize.</p></li>
-<li><p>Added BlackWhiteStyle.</p></li>
-<li><p>Bash lexer now correctly highlights math, does not require
-whitespace after semicolons, and correctly highlights boolean
-operators.</p></li>
-<li><p>Makefile lexer is now capable of handling BSD and GNU make syntax.</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-9">
-<h2>Version 0.9<a class="headerlink" href="#version-0-9" title="Permalink to this headline">¶</a></h2>
-<p>(codename Herbstzeitlose, released Oct 14, 2007)</p>
-<ul class="simple">
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Erlang</p></li>
-<li><p>ActionScript</p></li>
-<li><p>Literate Haskell</p></li>
-<li><p>Common Lisp</p></li>
-<li><p>Various assembly languages</p></li>
-<li><p>Gettext catalogs</p></li>
-<li><p>Squid configuration</p></li>
-<li><p>Debian control files</p></li>
-<li><p>MySQL-style SQL</p></li>
-<li><p>MOOCode</p></li>
-</ul>
-</li>
-<li><p>Lexers improved:</p>
-<ul>
-<li><p>Greatly improved the Haskell and OCaml lexers.</p></li>
-<li><p>Improved the Bash lexer’s handling of nested constructs.</p></li>
-<li><p>The C# and Java lexers exhibited abysmal performance with some
-input code; this should now be fixed.</p></li>
-<li><p>The IRC logs lexer is now able to colorize weechat logs too.</p></li>
-<li><p>The Lua lexer now recognizes multi-line comments.</p></li>
-<li><p>Fixed bugs in the D and MiniD lexer.</p></li>
-</ul>
-</li>
-<li><p>The encoding handling of the command line mode (pygmentize) was
-enhanced. You shouldn’t get UnicodeErrors from it anymore if you
-don’t give an encoding option.</p></li>
-<li><p>Added a <code class="docutils literal notranslate"><span class="pre">-P</span></code> option to the command line mode which can be used to
-give options whose values contain commas or equals signs.</p></li>
-<li><p>Added 256-color terminal formatter.</p></li>
-<li><p>Added an experimental SVG formatter.</p></li>
-<li><p>Added the <code class="docutils literal notranslate"><span class="pre">lineanchors</span></code> option to the HTML formatter, thanks to
-Ian Charnas for the idea.</p></li>
-<li><p>Gave the line numbers table a CSS class in the HTML formatter.</p></li>
-<li><p>Added a Vim 7-like style.</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-8-1">
-<h2>Version 0.8.1<a class="headerlink" href="#version-0-8-1" title="Permalink to this headline">¶</a></h2>
-<p>(released Jun 27, 2007)</p>
-<ul class="simple">
-<li><p>Fixed POD highlighting in the Ruby lexer.</p></li>
-<li><p>Fixed Unicode class and namespace name highlighting in the C# lexer.</p></li>
-<li><p>Fixed Unicode string prefix highlighting in the Python lexer.</p></li>
-<li><p>Fixed a bug in the D and MiniD lexers.</p></li>
-<li><p>Fixed the included MoinMoin parser.</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-8">
-<h2>Version 0.8<a class="headerlink" href="#version-0-8" title="Permalink to this headline">¶</a></h2>
-<p>(codename Maikäfer, released May 30, 2007)</p>
-<ul class="simple">
-<li><p>Lexers added:</p>
-<ul>
-<li><p>Haskell, thanks to Adam Blinkinsop</p></li>
-<li><p>Redcode, thanks to Adam Blinkinsop</p></li>
-<li><p>D, thanks to Kirk McDonald</p></li>
-<li><p>MuPad, thanks to Christopher Creutzig</p></li>
-<li><p>MiniD, thanks to Jarrett Billingsley</p></li>
-<li><p>Vim Script, by Tim Hatch</p></li>
-</ul>
-</li>
-<li><p>The HTML formatter now has a second line-numbers mode in which it
-will just integrate the numbers in the same <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag as the
-code.</p></li>
-<li><p>The <cite>CSharpLexer</cite> now is Unicode-aware, which means that it has an
-option that can be set so that it correctly lexes Unicode
-identifiers allowed by the C# specs.</p></li>
-<li><p>Added a <cite>RaiseOnErrorTokenFilter</cite> that raises an exception when the
-lexer generates an error token, and a <cite>VisibleWhitespaceFilter</cite> that
-converts whitespace (spaces, tabs, newlines) into visible
-characters.</p></li>
-<li><p>Fixed the <cite>do_insertions()</cite> helper function to yield correct
-indices.</p></li>
-<li><p>The ReST lexer now automatically highlights source code blocks in
-“.. sourcecode:: language” and “.. code:: language” directive
-blocks.</p></li>
-<li><p>Improved the default style (thanks to Tiberius Teng). The old
-default is still available as the “emacs” style (which was an alias
-before).</p></li>
-<li><p>The <cite>get_style_defs</cite> method of HTML formatters now uses the
-<cite>cssclass</cite> option as the default selector if it was given.</p></li>
-<li><p>Improved the ReST and Bash lexers a bit.</p></li>
-<li><p>Fixed a few bugs in the Makefile and Bash lexers, thanks to Tim
-Hatch.</p></li>
-<li><p>Fixed a bug in the command line code that disallowed <code class="docutils literal notranslate"><span class="pre">-O</span></code> options
-when using the <code class="docutils literal notranslate"><span class="pre">-S</span></code> option.</p></li>
-<li><p>Fixed a bug in the <cite>RawTokenFormatter</cite>.</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-7-1">
-<h2>Version 0.7.1<a class="headerlink" href="#version-0-7-1" title="Permalink to this headline">¶</a></h2>
-<p>(released Feb 15, 2007)</p>
-<ul class="simple">
-<li><p>Fixed little highlighting bugs in the Python, Java, Scheme and
-Apache Config lexers.</p></li>
-<li><p>Updated the included manpage.</p></li>
-<li><p>Included a built version of the documentation in the source tarball.</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-7">
-<h2>Version 0.7<a class="headerlink" href="#version-0-7" title="Permalink to this headline">¶</a></h2>
-<p>(codename Faschingskrapfn, released Feb 14, 2007)</p>
-<ul class="simple">
-<li><p>Added a MoinMoin parser that uses Pygments. With it, you get
-Pygments highlighting in Moin Wiki pages.</p></li>
-<li><p>Changed the exception raised if no suitable lexer, formatter etc. is
-found in one of the <cite>get_*_by_*</cite> functions to a custom exception,
-<cite>pygments.util.ClassNotFound</cite>. It is, however, a subclass of
-<cite>ValueError</cite> in order to retain backwards compatibility.</p></li>
-<li><p>Added a <cite>-H</cite> command line option which can be used to get the
-docstring of a lexer, formatter or filter.</p></li>
-<li><p>Made the handling of lexers and formatters more consistent. The
-aliases and filename patterns of formatters are now attributes on
-them.</p></li>
-<li><p>Added an OCaml lexer, thanks to Adam Blinkinsop.</p></li>
-<li><p>Made the HTML formatter more flexible, and easily subclassable in
-order to make it easy to implement custom wrappers, e.g. alternate
-line number markup. See the documentation.</p></li>
-<li><p>Added an <cite>outencoding</cite> option to all formatters, making it possible
-to override the <cite>encoding</cite> (which is used by lexers and formatters)
-when using the command line interface. Also, if using the terminal
-formatter and the output file is a terminal and has an encoding
-attribute, use it if no encoding is given.</p></li>
-<li><p>Made it possible to just drop style modules into the <cite>styles</cite>
-subpackage of the Pygments installation.</p></li>
-<li><p>Added a “state” keyword argument to the <cite>using</cite> helper.</p></li>
-<li><p>Added a <cite>commandprefix</cite> option to the <cite>LatexFormatter</cite> which allows
-to control how the command names are constructed.</p></li>
-<li><p>Added quite a few new lexers, thanks to Tim Hatch:</p>
-<ul>
-<li><p>Java Server Pages</p></li>
-<li><p>Windows batch files</p></li>
-<li><p>Trac Wiki markup</p></li>
-<li><p>Python tracebacks</p></li>
-<li><p>ReStructuredText</p></li>
-<li><p>Dylan</p></li>
-<li><p>and the Befunge esoteric programming language (yay!)</p></li>
-</ul>
-</li>
-<li><p>Added Mako lexers by Ben Bangert.</p></li>
-<li><p>Added “fruity” style, another dark background originally vim-based
-theme.</p></li>
-<li><p>Added sources.list lexer by Dennis Kaarsemaker.</p></li>
-<li><p>Added token stream filters, and a pygmentize option to use them.</p></li>
-<li><p>Changed behavior of <cite>in</cite> Operator for tokens.</p></li>
-<li><p>Added mimetypes for all lexers.</p></li>
-<li><p>Fixed some problems lexing Python strings.</p></li>
-<li><p>Fixed tickets: #167, #178, #179, #180, #185, #201.</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-6">
-<h2>Version 0.6<a class="headerlink" href="#version-0-6" title="Permalink to this headline">¶</a></h2>
-<p>(codename Zimtstern, released Dec 20, 2006)</p>
-<ul class="simple">
-<li><p>Added option for the HTML formatter to write the CSS to an external
-file in “full document” mode.</p></li>
-<li><p>Added RTF formatter.</p></li>
-<li><p>Added Bash and Apache configuration lexers (thanks to Tim Hatch).</p></li>
-<li><p>Improved guessing methods for various lexers.</p></li>
-<li><p>Added <cite>@media</cite> support to CSS lexer (thanks to Tim Hatch).</p></li>
-<li><p>Added a Groff lexer (thanks to Tim Hatch).</p></li>
-<li><p>License change to BSD.</p></li>
-<li><p>Added lexers for the Myghty template language.</p></li>
-<li><p>Added a Scheme lexer (thanks to Marek Kubica).</p></li>
-<li><p>Added some functions to iterate over existing lexers, formatters and
-lexers.</p></li>
-<li><p>The HtmlFormatter’s <cite>get_style_defs()</cite> can now take a list as an
-argument to generate CSS with multiple prefixes.</p></li>
-<li><p>Support for guessing input encoding added.</p></li>
-<li><p>Encoding support added: all processing is now done with Unicode
-strings, input and output are converted from and optionally to byte
-strings (see the <code class="docutils literal notranslate"><span class="pre">encoding</span></code> option of lexers and formatters).</p></li>
-<li><p>Some improvements in the C(++) lexers handling comments and line
-continuations.</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-5-1">
-<h2>Version 0.5.1<a class="headerlink" href="#version-0-5-1" title="Permalink to this headline">¶</a></h2>
-<p>(released Oct 30, 2006)</p>
-<ul class="simple">
-<li><p>Fixed traceback in <code class="docutils literal notranslate"><span class="pre">pygmentize</span> <span class="pre">-L</span></code> (thanks to Piotr Ozarowski).</p></li>
-</ul>
-</div>
-<div class="section" id="version-0-5">
-<h2>Version 0.5<a class="headerlink" href="#version-0-5" title="Permalink to this headline">¶</a></h2>
-<p>(codename PyKleur, released Oct 30, 2006)</p>
-<ul class="simple">
-<li><p>Initial public release.</p></li>
-</ul>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Command Line Interface — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Available lexers" href="../lexers/" />
- <link rel="prev" title="Introduction and Quickstart" href="../quickstart/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Command Line Interface</a><ul>
-<li><a class="reference internal" href="#options-and-filters">Options and filters</a></li>
-<li><a class="reference internal" href="#generating-styles">Generating styles</a></li>
-<li><a class="reference internal" href="#getting-lexer-names">Getting lexer names</a></li>
-<li><a class="reference internal" href="#custom-lexers-and-formatters">Custom Lexers and Formatters</a></li>
-<li><a class="reference internal" href="#getting-help">Getting help</a></li>
-<li><a class="reference internal" href="#a-note-on-encodings">A note on encodings</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../quickstart/"
- title="previous chapter">Introduction and Quickstart</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../lexers/"
- title="next chapter">Available lexers</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/cmdline.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="command-line-interface">
-<h1>Command Line Interface<a class="headerlink" href="#command-line-interface" title="Permalink to this headline">¶</a></h1>
-<p>You can use Pygments from the shell, provided you installed the
-<strong class="program">pygmentize</strong> script:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize test.py
-print "Hello World"
-</pre></div>
-</div>
-<p>will print the file test.py to standard output, using the Python lexer
-(inferred from the file name extension) and the terminal formatter (because
-you didn’t give an explicit formatter name).</p>
-<p>If you want HTML output:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -l python -o test.html test.py
-</pre></div>
-</div>
-<p>As you can see, the -l option explicitly selects a lexer. As seen above, if you
-give an input file name and it has an extension that Pygments recognizes, you can
-omit this option.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">-o</span></code> option gives an output file name. If it is not given, output is
-written to stdout.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">-f</span></code> option selects a formatter (as with <code class="docutils literal notranslate"><span class="pre">-l</span></code>, it can also be omitted
-if an output file name is given and has a supported extension).
-If no output file name is given and <code class="docutils literal notranslate"><span class="pre">-f</span></code> is omitted, the
-<a class="reference internal" href="../formatters/#TerminalFormatter" title="TerminalFormatter"><code class="xref py py-class docutils literal notranslate"><span class="pre">TerminalFormatter</span></code></a> is used.</p>
-<p>The above command could therefore also be given as:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -o test.html test.py
-</pre></div>
-</div>
-<p>To create a full HTML document, including line numbers and stylesheet (using the
-“emacs” style), highlighting the Python file <code class="docutils literal notranslate"><span class="pre">test.py</span></code> to <code class="docutils literal notranslate"><span class="pre">test.html</span></code>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -O full,style=emacs -o test.html test.py
-</pre></div>
-</div>
-<div class="section" id="options-and-filters">
-<h2>Options and filters<a class="headerlink" href="#options-and-filters" title="Permalink to this headline">¶</a></h2>
-<p>Lexer and formatter options can be given using the <code class="docutils literal notranslate"><span class="pre">-O</span></code> option:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -O style=colorful,linenos=1 -l python test.py
-</pre></div>
-</div>
-<p>Be sure to enclose the option string in quotes if it contains any special shell
-characters, such as spaces or expansion wildcards like <code class="docutils literal notranslate"><span class="pre">*</span></code>. If an option
-expects a list value, separate the list entries with spaces (you’ll have to
-quote the option value in this case too, so that the shell doesn’t split it).</p>
-<p>Since the <code class="docutils literal notranslate"><span class="pre">-O</span></code> option argument is split at commas and expects the split values
-to be of the form <code class="docutils literal notranslate"><span class="pre">name=value</span></code>, you can’t give an option value that contains
-commas or equals signs. Therefore, an option <code class="docutils literal notranslate"><span class="pre">-P</span></code> is provided (as of Pygments
-0.9) that works like <code class="docutils literal notranslate"><span class="pre">-O</span></code> but can only pass one option per <code class="docutils literal notranslate"><span class="pre">-P</span></code>. Its value
-can then contain all characters:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -P "heading=Pygments, the Python highlighter" ...
-</pre></div>
-</div>
-<p>Filters are added to the token stream using the <code class="docutils literal notranslate"><span class="pre">-F</span></code> option:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -l pascal -F keywordcase:case=upper main.pas
-</pre></div>
-</div>
-<p>As you see, options for the filter are given after a colon. As for <code class="docutils literal notranslate"><span class="pre">-O</span></code>, the
-filter name and options must be one shell word, so there may not be any spaces
-around the colon.</p>
-</div>
-<div class="section" id="generating-styles">
-<h2>Generating styles<a class="headerlink" href="#generating-styles" title="Permalink to this headline">¶</a></h2>
-<p>Formatters normally don’t output full style information. For example, the HTML
-formatter by default only outputs <code class="docutils literal notranslate"><span class="pre"><span></span></code> tags with <code class="docutils literal notranslate"><span class="pre">class</span></code> attributes.
-Therefore, there’s a special <code class="docutils literal notranslate"><span class="pre">-S</span></code> option for generating style definitions.
-Usage is as follows:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -S colorful -a .syntax
-</pre></div>
-</div>
-<p>generates a CSS style sheet (because you selected the HTML formatter) for
-the “colorful” style prepending a “.syntax” selector to all style rules.</p>
-<p>For an explanation what <code class="docutils literal notranslate"><span class="pre">-a</span></code> means for <a class="reference internal" href="../formatters/"><span class="doc">a particular formatter</span></a>, look for the <cite>arg</cite> argument for the formatter’s
-<a class="reference internal" href="../api/#pygments.formatter.Formatter.get_style_defs" title="pygments.formatter.Formatter.get_style_defs"><code class="xref py py-meth docutils literal notranslate"><span class="pre">get_style_defs()</span></code></a> method.</p>
-</div>
-<div class="section" id="getting-lexer-names">
-<h2>Getting lexer names<a class="headerlink" href="#getting-lexer-names" title="Permalink to this headline">¶</a></h2>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.0.</span></p>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">-N</span></code> option guesses a lexer name for a given filename, so that</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -N setup.py
-</pre></div>
-</div>
-<p>will print out <code class="docutils literal notranslate"><span class="pre">python</span></code>. It won’t highlight anything yet. If no specific
-lexer is known for that filename, <code class="docutils literal notranslate"><span class="pre">text</span></code> is printed.</p>
-</div>
-<div class="section" id="custom-lexers-and-formatters">
-<h2>Custom Lexers and Formatters<a class="headerlink" href="#custom-lexers-and-formatters" title="Permalink to this headline">¶</a></h2>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">-x</span></code> flag enables custom lexers and formatters to be loaded
-from files relative to the current directory. Create a file with a class named
-CustomLexer or CustomFormatter, then specify it on the command line:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -l your_lexer.py -f your_formatter.py -x
-</pre></div>
-</div>
-<p>You can also specify the name of your class with a colon:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -l your_lexer.py:SomeLexer -x
-</pre></div>
-</div>
-<p>For more information, see <a class="reference internal" href="../lexerdevelopment/"><span class="doc">the Pygments documentation on Lexer development</span></a>.</p>
-</div>
-<div class="section" id="getting-help">
-<h2>Getting help<a class="headerlink" href="#getting-help" title="Permalink to this headline">¶</a></h2>
-<p>The <code class="docutils literal notranslate"><span class="pre">-L</span></code> option lists lexers, formatters, along with their short
-names and supported file name extensions, styles and filters. If you want to see
-only one category, give it as an argument:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -L filters
-</pre></div>
-</div>
-<p>will list only all installed filters.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">-H</span></code> option will give you detailed information (the same that can be found
-in this documentation) about a lexer, formatter or filter. Usage is as follows:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -H formatter html
-</pre></div>
-</div>
-<p>will print the help for the HTML formatter, while</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -H lexer python
-</pre></div>
-</div>
-<p>will print the help for the Python lexer, etc.</p>
-</div>
-<div class="section" id="a-note-on-encodings">
-<h2>A note on encodings<a class="headerlink" href="#a-note-on-encodings" title="Permalink to this headline">¶</a></h2>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-<p>Pygments tries to be smart regarding encodings in the formatting process:</p>
-<ul class="simple">
-<li><p>If you give an <code class="docutils literal notranslate"><span class="pre">encoding</span></code> option, it will be used as the input and
-output encoding.</p></li>
-<li><p>If you give an <code class="docutils literal notranslate"><span class="pre">outencoding</span></code> option, it will override <code class="docutils literal notranslate"><span class="pre">encoding</span></code>
-as the output encoding.</p></li>
-<li><p>If you give an <code class="docutils literal notranslate"><span class="pre">inencoding</span></code> option, it will override <code class="docutils literal notranslate"><span class="pre">encoding</span></code>
-as the input encoding.</p></li>
-<li><p>If you don’t give an encoding and have given an output file, the default
-encoding for lexer and formatter is the terminal encoding or the default
-locale encoding of the system. As a last resort, <code class="docutils literal notranslate"><span class="pre">latin1</span></code> is used (which
-will pass through all non-ASCII characters).</p></li>
-<li><p>If you don’t give an encoding and haven’t given an output file (that means
-output is written to the console), the default encoding for lexer and
-formatter is the terminal encoding (<code class="docutils literal notranslate"><span class="pre">sys.stdout.encoding</span></code>).</p></li>
-</ul>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Write your own filter — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Register Plugins" href="../plugins/" />
- <link rel="prev" title="Write your own formatter" href="../formatterdevelopment/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Write your own filter</a><ul>
-<li><a class="reference internal" href="#subclassing-filters">Subclassing Filters</a></li>
-<li><a class="reference internal" href="#using-a-decorator">Using a decorator</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../formatterdevelopment/"
- title="previous chapter">Write your own formatter</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../plugins/"
- title="next chapter">Register Plugins</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/filterdevelopment.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="write-your-own-filter">
-<h1>Write your own filter<a class="headerlink" href="#write-your-own-filter" title="Permalink to this headline">¶</a></h1>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-<p>Writing own filters is very easy. All you have to do is to subclass
-the <cite>Filter</cite> class and override the <cite>filter</cite> method. Additionally a
-filter is instantiated with some keyword arguments you can use to
-adjust the behavior of your filter.</p>
-<div class="section" id="subclassing-filters">
-<h2>Subclassing Filters<a class="headerlink" href="#subclassing-filters" title="Permalink to this headline">¶</a></h2>
-<p>As an example, we write a filter that converts all <cite>Name.Function</cite> tokens
-to normal <cite>Name</cite> tokens to make the output less colorful.</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.util</span> <span class="kn">import</span> <span class="n">get_bool_opt</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Name</span>
-<span class="kn">from</span> <span class="nn">pygments.filter</span> <span class="kn">import</span> <span class="n">Filter</span>
-
-<span class="k">class</span> <span class="nc">UncolorFilter</span><span class="p">(</span><span class="n">Filter</span><span class="p">):</span>
-
- <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">):</span>
- <span class="n">Filter</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
- <span class="bp">self</span><span class="o">.</span><span class="n">class_too</span> <span class="o">=</span> <span class="n">get_bool_opt</span><span class="p">(</span><span class="n">options</span><span class="p">,</span> <span class="s1">'classtoo'</span><span class="p">)</span>
-
- <span class="k">def</span> <span class="nf">filter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">lexer</span><span class="p">,</span> <span class="n">stream</span><span class="p">):</span>
- <span class="k">for</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">stream</span><span class="p">:</span>
- <span class="k">if</span> <span class="n">ttype</span> <span class="ow">is</span> <span class="n">Name</span><span class="o">.</span><span class="n">Function</span> <span class="ow">or</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">class_too</span> <span class="ow">and</span>
- <span class="n">ttype</span> <span class="ow">is</span> <span class="n">Name</span><span class="o">.</span><span class="n">Class</span><span class="p">):</span>
- <span class="n">ttype</span> <span class="o">=</span> <span class="n">Name</span>
- <span class="k">yield</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span>
-</pre></div>
-</div>
-<p>Some notes on the <cite>lexer</cite> argument: that can be quite confusing since it doesn’t
-need to be a lexer instance. If a filter was added by using the <cite>add_filter()</cite>
-function of lexers, that lexer is registered for the filter. In that case
-<cite>lexer</cite> will refer to the lexer that has registered the filter. It <em>can</em> be used
-to access options passed to a lexer. Because it could be <cite>None</cite> you always have
-to check for that case if you access it.</p>
-</div>
-<div class="section" id="using-a-decorator">
-<h2>Using a decorator<a class="headerlink" href="#using-a-decorator" title="Permalink to this headline">¶</a></h2>
-<p>You can also use the <cite>simplefilter</cite> decorator from the <cite>pygments.filter</cite> module:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.util</span> <span class="kn">import</span> <span class="n">get_bool_opt</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Name</span>
-<span class="kn">from</span> <span class="nn">pygments.filter</span> <span class="kn">import</span> <span class="n">simplefilter</span>
-
-
-<span class="nd">@simplefilter</span>
-<span class="k">def</span> <span class="nf">uncolor</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">lexer</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="n">options</span><span class="p">):</span>
- <span class="n">class_too</span> <span class="o">=</span> <span class="n">get_bool_opt</span><span class="p">(</span><span class="n">options</span><span class="p">,</span> <span class="s1">'classtoo'</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">stream</span><span class="p">:</span>
- <span class="k">if</span> <span class="n">ttype</span> <span class="ow">is</span> <span class="n">Name</span><span class="o">.</span><span class="n">Function</span> <span class="ow">or</span> <span class="p">(</span><span class="n">class_too</span> <span class="ow">and</span>
- <span class="n">ttype</span> <span class="ow">is</span> <span class="n">Name</span><span class="o">.</span><span class="n">Class</span><span class="p">):</span>
- <span class="n">ttype</span> <span class="o">=</span> <span class="n">Name</span>
- <span class="k">yield</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span>
-</pre></div>
-</div>
-<p>The decorator automatically subclasses an internal filter class and uses the
-decorated function as a method for filtering. (That’s why there is a <cite>self</cite>
-argument that you probably won’t end up using in the method.)</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Filters — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Available formatters" href="../formatters/" />
- <link rel="prev" title="Available lexers" href="../lexers/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Filters</a><ul>
-<li><a class="reference internal" href="#builtin-filters">Builtin Filters</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../lexers/"
- title="previous chapter">Available lexers</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../formatters/"
- title="next chapter">Available formatters</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/filters.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="filters">
-<h1>Filters<a class="headerlink" href="#filters" title="Permalink to this headline">¶</a></h1>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-<p>You can filter token streams coming from lexers to improve or annotate the
-output. For example, you can highlight special words in comments, convert
-keywords to upper or lowercase to enforce a style guide etc.</p>
-<p>To apply a filter, you can use the <cite>add_filter()</cite> method of a lexer:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">PythonLexer</span>
-<span class="gp">>>> </span><span class="n">l</span> <span class="o">=</span> <span class="n">PythonLexer</span><span class="p">()</span>
-<span class="gp">>>> </span><span class="c1"># add a filter given by a string and options</span>
-<span class="gp">>>> </span><span class="n">l</span><span class="o">.</span><span class="n">add_filter</span><span class="p">(</span><span class="s1">'codetagify'</span><span class="p">,</span> <span class="n">case</span><span class="o">=</span><span class="s1">'lower'</span><span class="p">)</span>
-<span class="gp">>>> </span><span class="n">l</span><span class="o">.</span><span class="n">filters</span>
-<span class="go">[<pygments.filters.CodeTagFilter object at 0xb785decc>]</span>
-<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.filters</span> <span class="kn">import</span> <span class="n">KeywordCaseFilter</span>
-<span class="gp">>>> </span><span class="c1"># or give an instance</span>
-<span class="gp">>>> </span><span class="n">l</span><span class="o">.</span><span class="n">add_filter</span><span class="p">(</span><span class="n">KeywordCaseFilter</span><span class="p">(</span><span class="n">case</span><span class="o">=</span><span class="s1">'lower'</span><span class="p">))</span>
-</pre></div>
-</div>
-<p>The <cite>add_filter()</cite> method takes keyword arguments which are forwarded to
-the constructor of the filter.</p>
-<p>To get a list of all registered filters by name, you can use the
-<cite>get_all_filters()</cite> function from the <cite>pygments.filters</cite> module that returns an
-iterable for all known filters.</p>
-<p>If you want to write your own filter, have a look at <a class="reference internal" href="../filterdevelopment/"><span class="doc">Write your own filter</span></a>.</p>
-<div class="section" id="builtin-filters">
-<h2>Builtin Filters<a class="headerlink" href="#builtin-filters" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="CodeTagFilter">
-<em class="property">class </em><code class="descname">CodeTagFilter</code><a class="headerlink" href="#CodeTagFilter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Name</dt>
-<dd class="field-odd"><p>codetagify</p>
-</dd>
-</dl>
-<p>Highlight special code tags in comments and docstrings.</p>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>codetags</cite><span class="classifier">list of strings</span></dt><dd><p>A list of strings that are flagged as code tags. The default is to
-highlight <code class="docutils literal notranslate"><span class="pre">XXX</span></code>, <code class="docutils literal notranslate"><span class="pre">TODO</span></code>, <code class="docutils literal notranslate"><span class="pre">BUG</span></code> and <code class="docutils literal notranslate"><span class="pre">NOTE</span></code>.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="KeywordCaseFilter">
-<em class="property">class </em><code class="descname">KeywordCaseFilter</code><a class="headerlink" href="#KeywordCaseFilter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Name</dt>
-<dd class="field-odd"><p>keywordcase</p>
-</dd>
-</dl>
-<p>Convert keywords to lowercase or uppercase or capitalize them, which
-means first letter uppercase, rest lowercase.</p>
-<p>This can be useful e.g. if you highlight Pascal code and want to adapt the
-code to your styleguide.</p>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>case</cite><span class="classifier">string</span></dt><dd><p>The casing to convert keywords to. Must be one of <code class="docutils literal notranslate"><span class="pre">'lower'</span></code>,
-<code class="docutils literal notranslate"><span class="pre">'upper'</span></code> or <code class="docutils literal notranslate"><span class="pre">'capitalize'</span></code>. The default is <code class="docutils literal notranslate"><span class="pre">'lower'</span></code>.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="NameHighlightFilter">
-<em class="property">class </em><code class="descname">NameHighlightFilter</code><a class="headerlink" href="#NameHighlightFilter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Name</dt>
-<dd class="field-odd"><p>highlight</p>
-</dd>
-</dl>
-<p>Highlight a normal Name (and Name.*) token with a different token type.</p>
-<p>Example:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">filter</span> <span class="o">=</span> <span class="n">NameHighlightFilter</span><span class="p">(</span>
- <span class="n">names</span><span class="o">=</span><span class="p">[</span><span class="s1">'foo'</span><span class="p">,</span> <span class="s1">'bar'</span><span class="p">,</span> <span class="s1">'baz'</span><span class="p">],</span>
- <span class="n">tokentype</span><span class="o">=</span><span class="n">Name</span><span class="o">.</span><span class="n">Function</span><span class="p">,</span>
-<span class="p">)</span>
-</pre></div>
-</div>
-<p>This would highlight the names “foo”, “bar” and “baz”
-as functions. <cite>Name.Function</cite> is the default token type.</p>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>names</cite><span class="classifier">list of strings</span></dt><dd><p>A list of names that should be given the different token type.
-There is no default.</p>
-</dd>
-<dt><cite>tokentype</cite><span class="classifier">TokenType or string</span></dt><dd><p>A token type or a string containing a token type name that is
-used for highlighting the strings in <cite>names</cite>. The default is
-<cite>Name.Function</cite>.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="RaiseOnErrorTokenFilter">
-<em class="property">class </em><code class="descname">RaiseOnErrorTokenFilter</code><a class="headerlink" href="#RaiseOnErrorTokenFilter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Name</dt>
-<dd class="field-odd"><p>raiseonerror</p>
-</dd>
-</dl>
-<p>Raise an exception when the lexer generates an error token.</p>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>excclass</cite><span class="classifier">Exception class</span></dt><dd><p>The exception class to raise.
-The default is <cite>pygments.filters.ErrorToken</cite>.</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.8.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="VisibleWhitespaceFilter">
-<em class="property">class </em><code class="descname">VisibleWhitespaceFilter</code><a class="headerlink" href="#VisibleWhitespaceFilter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Name</dt>
-<dd class="field-odd"><p>whitespace</p>
-</dd>
-</dl>
-<p>Convert tabs, newlines and/or spaces to visible characters.</p>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>spaces</cite><span class="classifier">string or bool</span></dt><dd><p>If this is a one-character string, spaces will be replaces by this string.
-If it is another true value, spaces will be replaced by <code class="docutils literal notranslate"><span class="pre">·</span></code> (unicode
-MIDDLE DOT). If it is a false value, spaces will not be replaced. The
-default is <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
-</dd>
-<dt><cite>tabs</cite><span class="classifier">string or bool</span></dt><dd><p>The same as for <cite>spaces</cite>, but the default replacement character is <code class="docutils literal notranslate"><span class="pre">»</span></code>
-(unicode RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK). The default value
-is <code class="docutils literal notranslate"><span class="pre">False</span></code>. Note: this will not work if the <cite>tabsize</cite> option for the
-lexer is nonzero, as tabs will already have been expanded then.</p>
-</dd>
-<dt><cite>tabsize</cite><span class="classifier">int</span></dt><dd><p>If tabs are to be replaced by this filter (see the <cite>tabs</cite> option), this
-is the total number of characters that a tab should be expanded to.
-The default is <code class="docutils literal notranslate"><span class="pre">8</span></code>.</p>
-</dd>
-<dt><cite>newlines</cite><span class="classifier">string or bool</span></dt><dd><p>The same as for <cite>spaces</cite>, but the default replacement character is <code class="docutils literal notranslate"><span class="pre">¶</span></code>
-(unicode PILCROW SIGN). The default value is <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
-</dd>
-<dt><cite>wstokentype</cite><span class="classifier">bool</span></dt><dd><p>If true, give whitespace the special <cite>Whitespace</cite> token type. This allows
-styling the visible whitespace differently (e.g. greyed out), but it can
-disrupt background colors. The default is <code class="docutils literal notranslate"><span class="pre">True</span></code>.</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.8.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="GobbleFilter">
-<em class="property">class </em><code class="descname">GobbleFilter</code><a class="headerlink" href="#GobbleFilter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Name</dt>
-<dd class="field-odd"><p>gobble</p>
-</dd>
-</dl>
-<p>Gobbles source code lines (eats initial characters).</p>
-<p>This filter drops the first <code class="docutils literal notranslate"><span class="pre">n</span></code> characters off every line of code. This
-may be useful when the source code fed to the lexer is indented by a fixed
-amount of space that isn’t desired in the output.</p>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>n</cite><span class="classifier">int</span></dt><dd><p>The number of characters to gobble.</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="TokenMergeFilter">
-<em class="property">class </em><code class="descname">TokenMergeFilter</code><a class="headerlink" href="#TokenMergeFilter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Name</dt>
-<dd class="field-odd"><p>tokenmerge</p>
-</dd>
-</dl>
-<p>Merges consecutive tokens with the same token type in the output
-stream of a lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd></dl>
-
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Write your own formatter — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Write your own filter" href="../filterdevelopment/" />
- <link rel="prev" title="Write your own lexer" href="../lexerdevelopment/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Write your own formatter</a><ul>
-<li><a class="reference internal" href="#quickstart">Quickstart</a></li>
-<li><a class="reference internal" href="#styles">Styles</a></li>
-<li><a class="reference internal" href="#html-3-2-formatter">HTML 3.2 Formatter</a></li>
-<li><a class="reference internal" href="#generating-style-definitions">Generating Style Definitions</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../lexerdevelopment/"
- title="previous chapter">Write your own lexer</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../filterdevelopment/"
- title="next chapter">Write your own filter</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/formatterdevelopment.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="write-your-own-formatter">
-<h1>Write your own formatter<a class="headerlink" href="#write-your-own-formatter" title="Permalink to this headline">¶</a></h1>
-<p>As well as creating <a class="reference internal" href="../lexerdevelopment/"><span class="doc">your own lexer</span></a>, writing a new
-formatter for Pygments is easy and straightforward.</p>
-<p>A formatter is a class that is initialized with some keyword arguments (the
-formatter options) and that must provides a <cite>format()</cite> method.
-Additionally a formatter should provide a <cite>get_style_defs()</cite> method that
-returns the style definitions from the style in a form usable for the
-formatter’s output format.</p>
-<div class="section" id="quickstart">
-<h2>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline">¶</a></h2>
-<p>The most basic formatter shipped with Pygments is the <cite>NullFormatter</cite>. It just
-sends the value of a token to the output stream:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.formatter</span> <span class="kn">import</span> <span class="n">Formatter</span>
-
-<span class="k">class</span> <span class="nc">NullFormatter</span><span class="p">(</span><span class="n">Formatter</span><span class="p">):</span>
- <span class="k">def</span> <span class="nf">format</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tokensource</span><span class="p">,</span> <span class="n">outfile</span><span class="p">):</span>
- <span class="k">for</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">tokensource</span><span class="p">:</span>
- <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>As you can see, the <cite>format()</cite> method is passed two parameters: <cite>tokensource</cite>
-and <cite>outfile</cite>. The first is an iterable of <code class="docutils literal notranslate"><span class="pre">(token_type,</span> <span class="pre">value)</span></code> tuples,
-the latter a file like object with a <cite>write()</cite> method.</p>
-<p>Because the formatter is that basic it doesn’t overwrite the <cite>get_style_defs()</cite>
-method.</p>
-</div>
-<div class="section" id="styles">
-<h2>Styles<a class="headerlink" href="#styles" title="Permalink to this headline">¶</a></h2>
-<p>Styles aren’t instantiated but their metaclass provides some class functions
-so that you can access the style definitions easily.</p>
-<p>Styles are iterable and yield tuples in the form <code class="docutils literal notranslate"><span class="pre">(ttype,</span> <span class="pre">d)</span></code> where <cite>ttype</cite>
-is a token and <cite>d</cite> is a dict with the following keys:</p>
-<dl class="simple">
-<dt><code class="docutils literal notranslate"><span class="pre">'color'</span></code></dt><dd><p>Hexadecimal color value (eg: <code class="docutils literal notranslate"><span class="pre">'ff0000'</span></code> for red) or <cite>None</cite> if not
-defined.</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">'bold'</span></code></dt><dd><p><cite>True</cite> if the value should be bold</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">'italic'</span></code></dt><dd><p><cite>True</cite> if the value should be italic</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">'underline'</span></code></dt><dd><p><cite>True</cite> if the value should be underlined</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">'bgcolor'</span></code></dt><dd><p>Hexadecimal color value for the background (eg: <code class="docutils literal notranslate"><span class="pre">'eeeeeee'</span></code> for light
-gray) or <cite>None</cite> if not defined.</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">'border'</span></code></dt><dd><p>Hexadecimal color value for the border (eg: <code class="docutils literal notranslate"><span class="pre">'0000aa'</span></code> for a dark
-blue) or <cite>None</cite> for no border.</p>
-</dd>
-</dl>
-<p>Additional keys might appear in the future, formatters should ignore all keys
-they don’t support.</p>
-</div>
-<div class="section" id="html-3-2-formatter">
-<h2>HTML 3.2 Formatter<a class="headerlink" href="#html-3-2-formatter" title="Permalink to this headline">¶</a></h2>
-<p>For an more complex example, let’s implement a HTML 3.2 Formatter. We don’t
-use CSS but inline markup (<code class="docutils literal notranslate"><span class="pre"><u></span></code>, <code class="docutils literal notranslate"><span class="pre"><font></span></code>, etc). Because this isn’t good
-style this formatter isn’t in the standard library ;-)</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.formatter</span> <span class="kn">import</span> <span class="n">Formatter</span>
-
-<span class="k">class</span> <span class="nc">OldHtmlFormatter</span><span class="p">(</span><span class="n">Formatter</span><span class="p">):</span>
-
- <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">):</span>
- <span class="n">Formatter</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
-
- <span class="c1"># create a dict of (start, end) tuples that wrap the</span>
- <span class="c1"># value of a token so that we can use it in the format</span>
- <span class="c1"># method later</span>
- <span class="bp">self</span><span class="o">.</span><span class="n">styles</span> <span class="o">=</span> <span class="p">{}</span>
-
- <span class="c1"># we iterate over the `_styles` attribute of a style item</span>
- <span class="c1"># that contains the parsed style values.</span>
- <span class="k">for</span> <span class="n">token</span><span class="p">,</span> <span class="n">style</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">style</span><span class="p">:</span>
- <span class="n">start</span> <span class="o">=</span> <span class="n">end</span> <span class="o">=</span> <span class="s1">''</span>
- <span class="c1"># a style item is a tuple in the following form:</span>
- <span class="c1"># colors are readily specified in hex: 'RRGGBB'</span>
- <span class="k">if</span> <span class="n">style</span><span class="p">[</span><span class="s1">'color'</span><span class="p">]:</span>
- <span class="n">start</span> <span class="o">+=</span> <span class="s1">'<font color="#</span><span class="si">%s</span><span class="s1">">'</span> <span class="o">%</span> <span class="n">style</span><span class="p">[</span><span class="s1">'color'</span><span class="p">]</span>
- <span class="n">end</span> <span class="o">=</span> <span class="s1">'</font>'</span> <span class="o">+</span> <span class="n">end</span>
- <span class="k">if</span> <span class="n">style</span><span class="p">[</span><span class="s1">'bold'</span><span class="p">]:</span>
- <span class="n">start</span> <span class="o">+=</span> <span class="s1">'<b>'</span>
- <span class="n">end</span> <span class="o">=</span> <span class="s1">'</b>'</span> <span class="o">+</span> <span class="n">end</span>
- <span class="k">if</span> <span class="n">style</span><span class="p">[</span><span class="s1">'italic'</span><span class="p">]:</span>
- <span class="n">start</span> <span class="o">+=</span> <span class="s1">'<i>'</span>
- <span class="n">end</span> <span class="o">=</span> <span class="s1">'</i>'</span> <span class="o">+</span> <span class="n">end</span>
- <span class="k">if</span> <span class="n">style</span><span class="p">[</span><span class="s1">'underline'</span><span class="p">]:</span>
- <span class="n">start</span> <span class="o">+=</span> <span class="s1">'<u>'</span>
- <span class="n">end</span> <span class="o">=</span> <span class="s1">'</u>'</span> <span class="o">+</span> <span class="n">end</span>
- <span class="bp">self</span><span class="o">.</span><span class="n">styles</span><span class="p">[</span><span class="n">token</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">)</span>
-
- <span class="k">def</span> <span class="nf">format</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tokensource</span><span class="p">,</span> <span class="n">outfile</span><span class="p">):</span>
- <span class="c1"># lastval is a string we use for caching</span>
- <span class="c1"># because it's possible that an lexer yields a number</span>
- <span class="c1"># of consecutive tokens with the same token type.</span>
- <span class="c1"># to minimize the size of the generated html markup we</span>
- <span class="c1"># try to join the values of same-type tokens here</span>
- <span class="n">lastval</span> <span class="o">=</span> <span class="s1">''</span>
- <span class="n">lasttype</span> <span class="o">=</span> <span class="bp">None</span>
-
- <span class="c1"># wrap the whole output with <pre></span>
- <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'<pre>'</span><span class="p">)</span>
-
- <span class="k">for</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">tokensource</span><span class="p">:</span>
- <span class="c1"># if the token type doesn't exist in the stylemap</span>
- <span class="c1"># we try it with the parent of the token type</span>
- <span class="c1"># eg: parent of Token.Literal.String.Double is</span>
- <span class="c1"># Token.Literal.String</span>
- <span class="k">while</span> <span class="n">ttype</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">styles</span><span class="p">:</span>
- <span class="n">ttype</span> <span class="o">=</span> <span class="n">ttype</span><span class="o">.</span><span class="n">parent</span>
- <span class="k">if</span> <span class="n">ttype</span> <span class="o">==</span> <span class="n">lasttype</span><span class="p">:</span>
- <span class="c1"># the current token type is the same of the last</span>
- <span class="c1"># iteration. cache it</span>
- <span class="n">lastval</span> <span class="o">+=</span> <span class="n">value</span>
- <span class="k">else</span><span class="p">:</span>
- <span class="c1"># not the same token as last iteration, but we</span>
- <span class="c1"># have some data in the buffer. wrap it with the</span>
- <span class="c1"># defined style and write it to the output file</span>
- <span class="k">if</span> <span class="n">lastval</span><span class="p">:</span>
- <span class="n">stylebegin</span><span class="p">,</span> <span class="n">styleend</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">styles</span><span class="p">[</span><span class="n">lasttype</span><span class="p">]</span>
- <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stylebegin</span> <span class="o">+</span> <span class="n">lastval</span> <span class="o">+</span> <span class="n">styleend</span><span class="p">)</span>
- <span class="c1"># set lastval/lasttype to current values</span>
- <span class="n">lastval</span> <span class="o">=</span> <span class="n">value</span>
- <span class="n">lasttype</span> <span class="o">=</span> <span class="n">ttype</span>
-
- <span class="c1"># if something is left in the buffer, write it to the</span>
- <span class="c1"># output file, then close the opened <pre> tag</span>
- <span class="k">if</span> <span class="n">lastval</span><span class="p">:</span>
- <span class="n">stylebegin</span><span class="p">,</span> <span class="n">styleend</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">styles</span><span class="p">[</span><span class="n">lasttype</span><span class="p">]</span>
- <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stylebegin</span> <span class="o">+</span> <span class="n">lastval</span> <span class="o">+</span> <span class="n">styleend</span><span class="p">)</span>
- <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'</pre></span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>The comments should explain it. Again, this formatter doesn’t override the
-<cite>get_style_defs()</cite> method. If we would have used CSS classes instead of
-inline HTML markup, we would need to generate the CSS first. For that
-purpose the <cite>get_style_defs()</cite> method exists:</p>
-</div>
-<div class="section" id="generating-style-definitions">
-<h2>Generating Style Definitions<a class="headerlink" href="#generating-style-definitions" title="Permalink to this headline">¶</a></h2>
-<p>Some formatters like the <cite>LatexFormatter</cite> and the <cite>HtmlFormatter</cite> don’t
-output inline markup but reference either macros or css classes. Because
-the definitions of those are not part of the output, the <cite>get_style_defs()</cite>
-method exists. It is passed one parameter (if it’s used and how it’s used
-is up to the formatter) and has to return a string or <code class="docutils literal notranslate"><span class="pre">None</span></code>.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Available formatters — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Styles" href="../styles/" />
- <link rel="prev" title="Filters" href="../filters/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Available formatters</a><ul>
-<li><a class="reference internal" href="#common-options">Common options</a></li>
-<li><a class="reference internal" href="#formatter-classes">Formatter classes</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../filters/"
- title="previous chapter">Filters</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../styles/"
- title="next chapter">Styles</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/formatters.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="available-formatters">
-<h1>Available formatters<a class="headerlink" href="#available-formatters" title="Permalink to this headline">¶</a></h1>
-<p>This page lists all builtin formatters.</p>
-<div class="section" id="common-options">
-<h2>Common options<a class="headerlink" href="#common-options" title="Permalink to this headline">¶</a></h2>
-<p>All formatters support these options:</p>
-<dl>
-<dt><cite>encoding</cite></dt><dd><p>If given, must be an encoding name (such as <code class="docutils literal notranslate"><span class="pre">"utf-8"</span></code>). This will
-be used to convert the token strings (which are Unicode strings)
-to byte strings in the output (default: <code class="docutils literal notranslate"><span class="pre">None</span></code>).
-It will also be written in an encoding declaration suitable for the
-document format if the <cite>full</cite> option is given (e.g. a <code class="docutils literal notranslate"><span class="pre">meta</span>
-<span class="pre">content-type</span></code> directive in HTML or an invocation of the <cite>inputenc</cite>
-package in LaTeX).</p>
-<p>If this is <code class="docutils literal notranslate"><span class="pre">""</span></code> or <code class="docutils literal notranslate"><span class="pre">None</span></code>, Unicode strings will be written
-to the output file, which most file-like objects do not support.
-For example, <cite>pygments.highlight()</cite> will return a Unicode string if
-called with no <cite>outfile</cite> argument and a formatter that has <cite>encoding</cite>
-set to <code class="docutils literal notranslate"><span class="pre">None</span></code> because it uses a <cite>StringIO.StringIO</cite> object that
-supports Unicode arguments to <cite>write()</cite>. Using a regular file object
-wouldn’t work.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd>
-<dt><cite>outencoding</cite></dt><dd><p>When using Pygments from the command line, any <cite>encoding</cite> option given is
-passed to the lexer and the formatter. This is sometimes not desirable,
-for example if you want to set the input encoding to <code class="docutils literal notranslate"><span class="pre">"guess"</span></code>.
-Therefore, <cite>outencoding</cite> has been introduced which overrides <cite>encoding</cite>
-for the formatter if given.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd>
-</dl>
-</div>
-<div class="section" id="formatter-classes">
-<h2>Formatter classes<a class="headerlink" href="#formatter-classes" title="Permalink to this headline">¶</a></h2>
-<p>All these classes are importable from <a class="reference internal" href="../api/#module-pygments.formatters" title="pygments.formatters"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.formatters</span></code></a>.</p>
-<dl class="class">
-<dt id="BBCodeFormatter">
-<em class="property">class </em><code class="descname">BBCodeFormatter</code><a class="headerlink" href="#BBCodeFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bbcode, bb</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-</dl>
-<p>Format tokens with BBcodes. These formatting codes are used by many
-bulletin boards, so you can highlight your sourcecode with pygments before
-posting it there.</p>
-<p>This formatter has no support for background colors and borders, as there
-are no common BBcode tags for that.</p>
-<p>Some board systems (e.g. phpBB) don’t support colors in their [code] tag,
-so you can’t use the highlighting together with that tag.
-Text in a [code] tag usually is shown with a monospace font (which this
-formatter can do with the <code class="docutils literal notranslate"><span class="pre">monofont</span></code> option) and no spaces (which you
-need for indentation) are removed.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
-<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
-</dd>
-<dt><cite>codetag</cite></dt><dd><p>If set to true, put the output into <code class="docutils literal notranslate"><span class="pre">[code]</span></code> tags (default:
-<code class="docutils literal notranslate"><span class="pre">false</span></code>)</p>
-</dd>
-<dt><cite>monofont</cite></dt><dd><p>If set to true, add a tag to show the code with a monospace font
-(default: <code class="docutils literal notranslate"><span class="pre">false</span></code>).</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="BmpImageFormatter">
-<em class="property">class </em><code class="descname">BmpImageFormatter</code><a class="headerlink" href="#BmpImageFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bmp, bitmap</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bmp</p>
-</dd>
-</dl>
-<p>Create a bitmap image from source code. This uses the Python Imaging Library to
-generate a pixmap from the source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="GifImageFormatter">
-<em class="property">class </em><code class="descname">GifImageFormatter</code><a class="headerlink" href="#GifImageFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>gif</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.gif</p>
-</dd>
-</dl>
-<p>Create a GIF image from source code. This uses the Python Imaging Library to
-generate a pixmap from the source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="HtmlFormatter">
-<em class="property">class </em><code class="descname">HtmlFormatter</code><a class="headerlink" href="#HtmlFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.html, *.htm</p>
-</dd>
-</dl>
-<p>Format tokens as HTML 4 <code class="docutils literal notranslate"><span class="pre"><span></span></code> tags within a <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag, wrapped
-in a <code class="docutils literal notranslate"><span class="pre"><div></span></code> tag. The <code class="docutils literal notranslate"><span class="pre"><div></span></code>’s CSS class can be set by the <cite>cssclass</cite>
-option.</p>
-<p>If the <cite>linenos</cite> option is set to <code class="docutils literal notranslate"><span class="pre">"table"</span></code>, the <code class="docutils literal notranslate"><span class="pre"><pre></span></code> is
-additionally wrapped inside a <code class="docutils literal notranslate"><span class="pre"><table></span></code> which has one row and two
-cells: one containing the line numbers and one containing the code.
-Example:</p>
-<div class="highlight-html notranslate"><div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span> <span class="p">></span>
-<span class="p"><</span><span class="nt">table</span><span class="p">><</span><span class="nt">tr</span><span class="p">></span>
- <span class="p"><</span><span class="nt">td</span> <span class="na">class</span><span class="o">=</span><span class="s">"linenos"</span> <span class="na">title</span><span class="o">=</span><span class="s">"click to toggle"</span>
- <span class="na">onclick</span><span class="o">=</span><span class="s">"with (this.firstChild.style)</span>
-<span class="s"> { display = (display == '') ? 'none' : '' }"</span><span class="p">></span>
- <span class="p"><</span><span class="nt">pre</span><span class="p">></span>1
- 2<span class="p"></</span><span class="nt">pre</span><span class="p">></span>
- <span class="p"></</span><span class="nt">td</span><span class="p">></span>
- <span class="p"><</span><span class="nt">td</span> <span class="na">class</span><span class="o">=</span><span class="s">"code"</span><span class="p">></span>
- <span class="p"><</span><span class="nt">pre</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"Ke"</span><span class="p">></span>def <span class="p"></</span><span class="nt">span</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"NaFu"</span><span class="p">></span>foo<span class="p"></</span><span class="nt">span</span><span class="p">></span>(bar):
- <span class="p"><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"Ke"</span><span class="p">></span>pass<span class="p"></</span><span class="nt">span</span><span class="p">></span>
- <span class="p"></</span><span class="nt">pre</span><span class="p">></span>
- <span class="p"></</span><span class="nt">td</span><span class="p">></span>
-<span class="p"></</span><span class="nt">tr</span><span class="p">></</span><span class="nt">table</span><span class="p">></</span><span class="nt">div</span><span class="p">></span>
-</pre></div>
-</div>
-<p>(whitespace added to improve clarity).</p>
-<p>Wrapping can be disabled using the <cite>nowrap</cite> option.</p>
-<p>A list of lines can be specified using the <cite>hl_lines</cite> option to make these
-lines highlighted (as of Pygments 0.11).</p>
-<p>With the <cite>full</cite> option, a complete HTML 4 document is output, including
-the style definitions inside a <code class="docutils literal notranslate"><span class="pre"><style></span></code> tag, or in a separate file if
-the <cite>cssfile</cite> option is given.</p>
-<p>When <cite>tagsfile</cite> is set to the path of a ctags index file, it is used to
-generate hyperlinks from names to their definition. You must enable
-<cite>lineanchors</cite> and run ctags with the <cite>-n</cite> option for this to work. The
-<cite>python-ctags</cite> module from PyPI must be installed to use this feature;
-otherwise a <cite>RuntimeError</cite> will be raised.</p>
-<p>The <cite>get_style_defs(arg=’‘)</cite> method of a <cite>HtmlFormatter</cite> returns a string
-containing CSS rules for the CSS classes used by the formatter. The
-argument <cite>arg</cite> can be used to specify additional CSS selectors that
-are prepended to the classes. A call <cite>fmter.get_style_defs(‘td .code’)</cite>
-would result in the following CSS classes:</p>
-<div class="highlight-css notranslate"><div class="highlight"><pre><span></span><span class="nt">td</span> <span class="p">.</span><span class="nc">code</span> <span class="p">.</span><span class="nc">kw</span> <span class="p">{</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span><span class="p">;</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#00FF00</span> <span class="p">}</span>
-<span class="nt">td</span> <span class="p">.</span><span class="nc">code</span> <span class="p">.</span><span class="nc">cm</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#999999</span> <span class="p">}</span>
-<span class="o">...</span>
-</pre></div>
-</div>
-<p>If you have Pygments 0.6 or higher, you can also pass a list or tuple to the
-<cite>get_style_defs()</cite> method to request multiple prefixes for the tokens:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">formatter</span><span class="o">.</span><span class="n">get_style_defs</span><span class="p">([</span><span class="s1">'div.syntax pre'</span><span class="p">,</span> <span class="s1">'pre.syntax'</span><span class="p">])</span>
-</pre></div>
-</div>
-<p>The output would then look like this:</p>
-<div class="highlight-css notranslate"><div class="highlight"><pre><span></span><span class="nt">div</span><span class="p">.</span><span class="nc">syntax</span> <span class="nt">pre</span> <span class="p">.</span><span class="nc">kw</span><span class="o">,</span>
-<span class="nt">pre</span><span class="p">.</span><span class="nc">syntax</span> <span class="p">.</span><span class="nc">kw</span> <span class="p">{</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span><span class="p">;</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#00FF00</span> <span class="p">}</span>
-<span class="nt">div</span><span class="p">.</span><span class="nc">syntax</span> <span class="nt">pre</span> <span class="p">.</span><span class="nc">cm</span><span class="o">,</span>
-<span class="nt">pre</span><span class="p">.</span><span class="nc">syntax</span> <span class="p">.</span><span class="nc">cm</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#999999</span> <span class="p">}</span>
-<span class="o">...</span>
-</pre></div>
-</div>
-<p>Additional options accepted:</p>
-<dl>
-<dt><cite>nowrap</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, don’t wrap the tokens at all, not even inside a <code class="docutils literal notranslate"><span class="pre"><pre></span></code>
-tag. This disables most other options (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-</dd>
-<dt><cite>full</cite></dt><dd><p>Tells the formatter to output a “full” document, i.e. a complete
-self-contained document (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-</dd>
-<dt><cite>title</cite></dt><dd><p>If <cite>full</cite> is true, the title that should be used to caption the
-document (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
-</dd>
-<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
-<code class="docutils literal notranslate"><span class="pre">'default'</span></code>). This option has no effect if the <cite>cssfile</cite>
-and <cite>noclobber_cssfile</cite> option are given and the file specified in
-<cite>cssfile</cite> exists.</p>
-</dd>
-<dt><cite>noclasses</cite></dt><dd><p>If set to true, token <code class="docutils literal notranslate"><span class="pre"><span></span></code> tags will not use CSS classes, but
-inline styles. This is not recommended for larger pieces of code since
-it increases output size by quite a bit (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-</dd>
-<dt><cite>classprefix</cite></dt><dd><p>Since the token types use relatively short class names, they may clash
-with some of your own class names. In this case you can use the
-<cite>classprefix</cite> option to give a string to prepend to all Pygments-generated
-CSS class names for token types.
-Note that this option also affects the output of <cite>get_style_defs()</cite>.</p>
-</dd>
-<dt><cite>cssclass</cite></dt><dd><p>CSS class for the wrapping <code class="docutils literal notranslate"><span class="pre"><div></span></code> tag (default: <code class="docutils literal notranslate"><span class="pre">'highlight'</span></code>).
-If you set this option, the default selector for <cite>get_style_defs()</cite>
-will be this class.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9: </span>If you select the <code class="docutils literal notranslate"><span class="pre">'table'</span></code> line numbers, the wrapping table will
-have a CSS class of this string plus <code class="docutils literal notranslate"><span class="pre">'table'</span></code>, the default is
-accordingly <code class="docutils literal notranslate"><span class="pre">'highlighttable'</span></code>.</p>
-</div>
-</dd>
-<dt><cite>cssstyles</cite></dt><dd><p>Inline CSS styles for the wrapping <code class="docutils literal notranslate"><span class="pre"><div></span></code> tag (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
-</dd>
-<dt><cite>prestyles</cite></dt><dd><p>Inline CSS styles for the <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd>
-<dt><cite>cssfile</cite></dt><dd><p>If the <cite>full</cite> option is true and this option is given, it must be the
-name of an external file. If the filename does not include an absolute
-path, the file’s path will be assumed to be relative to the main output
-file’s path, if the latter can be found. The stylesheet is then written
-to this file instead of the HTML file.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd>
-<dt><cite>noclobber_cssfile</cite></dt><dd><p>If <cite>cssfile</cite> is given and the specified file exists, the css file will
-not be overwritten. This allows the use of the <cite>full</cite> option in
-combination with a user specified css file. Default is <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd>
-<dt><cite>linenos</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">'table'</span></code>, output line numbers as a table with two cells,
-one containing the line numbers, the other the whole code. This is
-copy-and-paste-friendly, but may cause alignment problems with some
-browsers or fonts. If set to <code class="docutils literal notranslate"><span class="pre">'inline'</span></code>, the line numbers will be
-integrated in the <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag that contains the code (that setting
-is <em>new in Pygments 0.8</em>).</p>
-<p>For compatibility with Pygments 0.7 and earlier, every true value
-except <code class="docutils literal notranslate"><span class="pre">'inline'</span></code> means the same as <code class="docutils literal notranslate"><span class="pre">'table'</span></code> (in particular, that
-means also <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
-<p>The default value is <code class="docutils literal notranslate"><span class="pre">False</span></code>, which means no line numbers at all.</p>
-<p><strong>Note:</strong> with the default (“table”) line number mechanism, the line
-numbers and code can have different line heights in Internet Explorer
-unless you give the enclosing <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tags an explicit <code class="docutils literal notranslate"><span class="pre">line-height</span></code>
-CSS property (you get the default line spacing with <code class="docutils literal notranslate"><span class="pre">line-height:</span>
-<span class="pre">125%</span></code>).</p>
-</dd>
-<dt><cite>hl_lines</cite></dt><dd><p>Specify a list of lines to be highlighted.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd>
-<dt><cite>linenostart</cite></dt><dd><p>The line number for the first line (default: <code class="docutils literal notranslate"><span class="pre">1</span></code>).</p>
-</dd>
-<dt><cite>linenostep</cite></dt><dd><p>If set to a number n > 1, only every nth line number is printed.</p>
-</dd>
-<dt><cite>linenospecial</cite></dt><dd><p>If set to a number n > 0, every nth line number is given the CSS
-class <code class="docutils literal notranslate"><span class="pre">"special"</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>).</p>
-</dd>
-<dt><cite>nobackground</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, the formatter won’t output the background color
-for the wrapping element (this automatically defaults to <code class="docutils literal notranslate"><span class="pre">False</span></code>
-when there is no wrapping element [eg: no argument for the
-<cite>get_syntax_defs</cite> method given]) (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd>
-<dt><cite>lineseparator</cite></dt><dd><p>This string is output between lines of code. It defaults to <code class="docutils literal notranslate"><span class="pre">"\n"</span></code>,
-which is enough to break a line inside <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tags, but you can
-e.g. set it to <code class="docutils literal notranslate"><span class="pre">"<br>"</span></code> to get HTML line breaks.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd>
-<dt><cite>lineanchors</cite></dt><dd><p>If set to a nonempty string, e.g. <code class="docutils literal notranslate"><span class="pre">foo</span></code>, the formatter will wrap each
-output line in an anchor tag with a <code class="docutils literal notranslate"><span class="pre">name</span></code> of <code class="docutils literal notranslate"><span class="pre">foo-linenumber</span></code>.
-This allows easy linking to certain lines.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-</dd>
-<dt><cite>linespans</cite></dt><dd><p>If set to a nonempty string, e.g. <code class="docutils literal notranslate"><span class="pre">foo</span></code>, the formatter will wrap each
-output line in a span tag with an <code class="docutils literal notranslate"><span class="pre">id</span></code> of <code class="docutils literal notranslate"><span class="pre">foo-linenumber</span></code>.
-This allows easy access to lines via javascript.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd>
-<dt><cite>anchorlinenos</cite></dt><dd><p>If set to <cite>True</cite>, will wrap line numbers in <a> tags. Used in
-combination with <cite>linenos</cite> and <cite>lineanchors</cite>.</p>
-</dd>
-<dt><cite>tagsfile</cite></dt><dd><p>If set to the path of a ctags file, wrap names in anchor tags that
-link to their definitions. <cite>lineanchors</cite> should be used, and the
-tags file should specify line numbers (see the <cite>-n</cite> option to ctags).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd>
-<dt><cite>tagurlformat</cite></dt><dd><p>A string formatting pattern used to generate links to ctags definitions.
-Available variables are <cite>%(path)s</cite>, <cite>%(fname)s</cite> and <cite>%(fext)s</cite>.
-Defaults to an empty string, resulting in just <cite>#prefix-number</cite> links.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd>
-<dt><cite>filename</cite></dt><dd><p>A string used to generate a filename when rendering <code class="docutils literal notranslate"><span class="pre"><pre></span></code> blocks,
-for example if displaying source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd>
-<dt><cite>wrapcode</cite></dt><dd><p>Wrap the code inside <code class="docutils literal notranslate"><span class="pre"><pre></span></code> blocks using <code class="docutils literal notranslate"><span class="pre"><code></span></code>, as recommended
-by the HTML5 specification.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd>
-</dl>
-<p><strong>Subclassing the HTML formatter</strong></p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-<p>The HTML formatter is now built in a way that allows easy subclassing, thus
-customizing the output HTML code. The <cite>format()</cite> method calls
-<cite>self._format_lines()</cite> which returns a generator that yields tuples of <code class="docutils literal notranslate"><span class="pre">(1,</span>
-<span class="pre">line)</span></code>, where the <code class="docutils literal notranslate"><span class="pre">1</span></code> indicates that the <code class="docutils literal notranslate"><span class="pre">line</span></code> is a line of the
-formatted source code.</p>
-<p>If the <cite>nowrap</cite> option is set, the generator is the iterated over and the
-resulting HTML is output.</p>
-<p>Otherwise, <cite>format()</cite> calls <cite>self.wrap()</cite>, which wraps the generator with
-other generators. These may add some HTML code to the one generated by
-<cite>_format_lines()</cite>, either by modifying the lines generated by the latter,
-then yielding them again with <code class="docutils literal notranslate"><span class="pre">(1,</span> <span class="pre">line)</span></code>, and/or by yielding other HTML
-code before or after the lines, with <code class="docutils literal notranslate"><span class="pre">(0,</span> <span class="pre">html)</span></code>. The distinction between
-source lines and other code makes it possible to wrap the generator multiple
-times.</p>
-<p>The default <cite>wrap()</cite> implementation adds a <code class="docutils literal notranslate"><span class="pre"><div></span></code> and a <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag.</p>
-<p>A custom <cite>HtmlFormatter</cite> subclass could look like this:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">CodeHtmlFormatter</span><span class="p">(</span><span class="n">HtmlFormatter</span><span class="p">):</span>
-
- <span class="k">def</span> <span class="nf">wrap</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source</span><span class="p">,</span> <span class="n">outfile</span><span class="p">):</span>
- <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wrap_code</span><span class="p">(</span><span class="n">source</span><span class="p">)</span>
-
- <span class="k">def</span> <span class="nf">_wrap_code</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source</span><span class="p">):</span>
- <span class="k">yield</span> <span class="mi">0</span><span class="p">,</span> <span class="s1">'<code>'</span>
- <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">source</span><span class="p">:</span>
- <span class="k">if</span> <span class="n">i</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
- <span class="c1"># it's a line of formatted code</span>
- <span class="n">t</span> <span class="o">+=</span> <span class="s1">'<br>'</span>
- <span class="k">yield</span> <span class="n">i</span><span class="p">,</span> <span class="n">t</span>
- <span class="k">yield</span> <span class="mi">0</span><span class="p">,</span> <span class="s1">'</code>'</span>
-</pre></div>
-</div>
-<p>This results in wrapping the formatted lines with a <code class="docutils literal notranslate"><span class="pre"><code></span></code> tag, where the
-source lines are broken using <code class="docutils literal notranslate"><span class="pre"><br></span></code> tags.</p>
-<p>After calling <cite>wrap()</cite>, the <cite>format()</cite> method also adds the “line numbers”
-and/or “full document” wrappers if the respective options are set. Then, all
-HTML yielded by the wrapped generator is output.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="IRCFormatter">
-<em class="property">class </em><code class="descname">IRCFormatter</code><a class="headerlink" href="#IRCFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>irc, IRC</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-</dl>
-<p>Format tokens with IRC color sequences</p>
-<p>The <cite>get_style_defs()</cite> method doesn’t do anything special since there is
-no support for common styles.</p>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>bg</cite></dt><dd><p>Set to <code class="docutils literal notranslate"><span class="pre">"light"</span></code> or <code class="docutils literal notranslate"><span class="pre">"dark"</span></code> depending on the terminal’s background
-(default: <code class="docutils literal notranslate"><span class="pre">"light"</span></code>).</p>
-</dd>
-<dt><cite>colorscheme</cite></dt><dd><p>A dictionary mapping token types to (lightbg, darkbg) color names or
-<code class="docutils literal notranslate"><span class="pre">None</span></code> (default: <code class="docutils literal notranslate"><span class="pre">None</span></code> = use builtin colorscheme).</p>
-</dd>
-<dt><cite>linenos</cite></dt><dd><p>Set to <code class="docutils literal notranslate"><span class="pre">True</span></code> to have line numbers in the output as well
-(default: <code class="docutils literal notranslate"><span class="pre">False</span></code> = no line numbers).</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="ImageFormatter">
-<em class="property">class </em><code class="descname">ImageFormatter</code><a class="headerlink" href="#ImageFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>img, IMG, png</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.png</p>
-</dd>
-</dl>
-<p>Create a PNG image from source code. This uses the Python Imaging Library to
-generate a pixmap from the source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-<p>Additional options accepted:</p>
-<dl>
-<dt><cite>image_format</cite></dt><dd><p>An image format to output to that is recognised by PIL, these include:</p>
-<ul class="simple">
-<li><p>“PNG” (default)</p></li>
-<li><p>“JPEG”</p></li>
-<li><p>“BMP”</p></li>
-<li><p>“GIF”</p></li>
-</ul>
-</dd>
-<dt><cite>line_pad</cite></dt><dd><p>The extra spacing (in pixels) between each line of text.</p>
-<p>Default: 2</p>
-</dd>
-<dt><cite>font_name</cite></dt><dd><p>The font name to be used as the base font from which others, such as
-bold and italic fonts will be generated. This really should be a
-monospace font to look sane.</p>
-<dl class="simple">
-<dt>Default: “Courier New” on Windows, “Menlo” on Mac OS, and</dt><dd><p>“DejaVu Sans Mono” on *nix</p>
-</dd>
-</dl>
-</dd>
-<dt><cite>font_size</cite></dt><dd><p>The font size in points to be used.</p>
-<p>Default: 14</p>
-</dd>
-<dt><cite>image_pad</cite></dt><dd><p>The padding, in pixels to be used at each edge of the resulting image.</p>
-<p>Default: 10</p>
-</dd>
-<dt><cite>line_numbers</cite></dt><dd><p>Whether line numbers should be shown: True/False</p>
-<p>Default: True</p>
-</dd>
-<dt><cite>line_number_start</cite></dt><dd><p>The line number of the first line.</p>
-<p>Default: 1</p>
-</dd>
-<dt><cite>line_number_step</cite></dt><dd><p>The step used when printing line numbers.</p>
-<p>Default: 1</p>
-</dd>
-<dt><cite>line_number_bg</cite></dt><dd><p>The background colour (in “#123456” format) of the line number bar, or
-None to use the style background color.</p>
-<p>Default: “#eed”</p>
-</dd>
-<dt><cite>line_number_fg</cite></dt><dd><p>The text color of the line numbers (in “#123456”-like format).</p>
-<p>Default: “#886”</p>
-</dd>
-<dt><cite>line_number_chars</cite></dt><dd><p>The number of columns of line numbers allowable in the line number
-margin.</p>
-<p>Default: 2</p>
-</dd>
-<dt><cite>line_number_bold</cite></dt><dd><p>Whether line numbers will be bold: True/False</p>
-<p>Default: False</p>
-</dd>
-<dt><cite>line_number_italic</cite></dt><dd><p>Whether line numbers will be italicized: True/False</p>
-<p>Default: False</p>
-</dd>
-<dt><cite>line_number_separator</cite></dt><dd><p>Whether a line will be drawn between the line number area and the
-source code area: True/False</p>
-<p>Default: True</p>
-</dd>
-<dt><cite>line_number_pad</cite></dt><dd><p>The horizontal padding (in pixels) between the line number margin, and
-the source code area.</p>
-<p>Default: 6</p>
-</dd>
-<dt><cite>hl_lines</cite></dt><dd><p>Specify a list of lines to be highlighted.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-<p>Default: empty list</p>
-</dd>
-<dt><cite>hl_color</cite></dt><dd><p>Specify the color for highlighting lines.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-<p>Default: highlight color of the selected style</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="JpgImageFormatter">
-<em class="property">class </em><code class="descname">JpgImageFormatter</code><a class="headerlink" href="#JpgImageFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>jpg, jpeg</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.jpg</p>
-</dd>
-</dl>
-<p>Create a JPEG image from source code. This uses the Python Imaging Library to
-generate a pixmap from the source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="LatexFormatter">
-<em class="property">class </em><code class="descname">LatexFormatter</code><a class="headerlink" href="#LatexFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>latex, tex</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.tex</p>
-</dd>
-</dl>
-<p>Format tokens as LaTeX code. This needs the <cite>fancyvrb</cite> and <cite>color</cite>
-standard packages.</p>
-<p>Without the <cite>full</cite> option, code is formatted as one <code class="docutils literal notranslate"><span class="pre">Verbatim</span></code>
-environment, like this:</p>
-<div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\begin</span><span class="nb">{</span>Verbatim<span class="nb">}</span>[commandchars=<span class="k">\\\{\}</span>]
-<span class="k">\PY</span><span class="nb">{</span>k<span class="nb">}{</span>def <span class="nb">}</span><span class="k">\PY</span><span class="nb">{</span>n+nf<span class="nb">}{</span>foo<span class="nb">}</span>(<span class="k">\PY</span><span class="nb">{</span>n<span class="nb">}{</span>bar<span class="nb">}</span>):
- <span class="k">\PY</span><span class="nb">{</span>k<span class="nb">}{</span>pass<span class="nb">}</span>
-<span class="k">\end</span><span class="nb">{</span>Verbatim<span class="nb">}</span>
-</pre></div>
-</div>
-<p>The special command used here (<code class="docutils literal notranslate"><span class="pre">\PY</span></code>) and all the other macros it needs
-are output by the <cite>get_style_defs</cite> method.</p>
-<p>With the <cite>full</cite> option, a complete LaTeX document is output, including
-the command definitions in the preamble.</p>
-<p>The <cite>get_style_defs()</cite> method of a <cite>LatexFormatter</cite> returns a string
-containing <code class="docutils literal notranslate"><span class="pre">\def</span></code> commands defining the macros needed inside the
-<code class="docutils literal notranslate"><span class="pre">Verbatim</span></code> environments.</p>
-<p>Additional options accepted:</p>
-<dl>
-<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
-<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
-</dd>
-<dt><cite>full</cite></dt><dd><p>Tells the formatter to output a “full” document, i.e. a complete
-self-contained document (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-</dd>
-<dt><cite>title</cite></dt><dd><p>If <cite>full</cite> is true, the title that should be used to caption the
-document (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
-</dd>
-<dt><cite>docclass</cite></dt><dd><p>If the <cite>full</cite> option is enabled, this is the document class to use
-(default: <code class="docutils literal notranslate"><span class="pre">'article'</span></code>).</p>
-</dd>
-<dt><cite>preamble</cite></dt><dd><p>If the <cite>full</cite> option is enabled, this can be further preamble commands,
-e.g. <code class="docutils literal notranslate"><span class="pre">\usepackage</span></code> (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
-</dd>
-<dt><cite>linenos</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, output line numbers (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-</dd>
-<dt><cite>linenostart</cite></dt><dd><p>The line number for the first line (default: <code class="docutils literal notranslate"><span class="pre">1</span></code>).</p>
-</dd>
-<dt><cite>linenostep</cite></dt><dd><p>If set to a number n > 1, only every nth line number is printed.</p>
-</dd>
-<dt><cite>verboptions</cite></dt><dd><p>Additional options given to the Verbatim environment (see the <em>fancyvrb</em>
-docs for possible values) (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
-</dd>
-<dt><cite>commandprefix</cite></dt><dd><p>The LaTeX commands used to produce colored output are constructed
-using this prefix and some letters (default: <code class="docutils literal notranslate"><span class="pre">'PY'</span></code>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-<div class="versionchanged">
-<p><span class="versionmodified changed">Changed in version 0.10: </span>The default is now <code class="docutils literal notranslate"><span class="pre">'PY'</span></code> instead of <code class="docutils literal notranslate"><span class="pre">'C'</span></code>.</p>
-</div>
-</dd>
-<dt><cite>texcomments</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, enables LaTeX comment lines. That is, LaTex markup
-in comment tokens is not escaped so that LaTeX can render it (default:
-<code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd>
-<dt><cite>mathescape</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, enables LaTeX math mode escape in comments. That
-is, <code class="docutils literal notranslate"><span class="pre">'$...$'</span></code> inside a comment will trigger math mode (default:
-<code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd>
-<dt><cite>escapeinside</cite></dt><dd><p>If set to a string of length 2, enables escaping to LaTeX. Text
-delimited by these 2 characters is read as LaTeX code and
-typeset accordingly. It has no effect in string literals. It has
-no effect in comments if <cite>texcomments</cite> or <cite>mathescape</cite> is
-set. (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd>
-<dt><cite>envname</cite></dt><dd><p>Allows you to pick an alternative environment name replacing Verbatim.
-The alternate environment still has to support Verbatim’s option syntax.
-(default: <code class="docutils literal notranslate"><span class="pre">'Verbatim'</span></code>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="NullFormatter">
-<em class="property">class </em><code class="descname">NullFormatter</code><a class="headerlink" href="#NullFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>text, null</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.txt</p>
-</dd>
-</dl>
-<p>Output the text unchanged without any formatting.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="RawTokenFormatter">
-<em class="property">class </em><code class="descname">RawTokenFormatter</code><a class="headerlink" href="#RawTokenFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>raw, tokens</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.raw</p>
-</dd>
-</dl>
-<p>Format tokens as a raw representation for storing token streams.</p>
-<p>The format is <code class="docutils literal notranslate"><span class="pre">tokentype<TAB>repr(tokenstring)\n</span></code>. The output can later
-be converted to a token stream with the <cite>RawTokenLexer</cite>, described in the
-<a class="reference internal" href="../lexers/"><span class="doc">lexer list</span></a>.</p>
-<p>Only two options are accepted:</p>
-<dl>
-<dt><cite>compress</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">'gz'</span></code> or <code class="docutils literal notranslate"><span class="pre">'bz2'</span></code>, compress the output with the given
-compression algorithm after encoding (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
-</dd>
-<dt><cite>error_color</cite></dt><dd><p>If set to a color name, highlight error tokens using that color. If
-set but with no value, defaults to <code class="docutils literal notranslate"><span class="pre">'red'</span></code>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="RtfFormatter">
-<em class="property">class </em><code class="descname">RtfFormatter</code><a class="headerlink" href="#RtfFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rtf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rtf</p>
-</dd>
-</dl>
-<p>Format tokens as RTF markup. This formatter automatically outputs full RTF
-documents with color information and other useful stuff. Perfect for Copy and
-Paste into Microsoft(R) Word(R) documents.</p>
-<p>Please note that <code class="docutils literal notranslate"><span class="pre">encoding</span></code> and <code class="docutils literal notranslate"><span class="pre">outencoding</span></code> options are ignored.
-The RTF format is ASCII natively, but handles unicode characters correctly
-thanks to escape sequences.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-<p>Additional options accepted:</p>
-<dl>
-<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
-<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
-</dd>
-<dt><cite>fontface</cite></dt><dd><p>The used font family, for example <code class="docutils literal notranslate"><span class="pre">Bitstream</span> <span class="pre">Vera</span> <span class="pre">Sans</span></code>. Defaults to
-some generic font which is supposed to have fixed width.</p>
-</dd>
-<dt><cite>fontsize</cite></dt><dd><p>Size of the font used. Size is specified in half points. The
-default is 24 half-points, giving a size 12 font.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="SvgFormatter">
-<em class="property">class </em><code class="descname">SvgFormatter</code><a class="headerlink" href="#SvgFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>svg</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.svg</p>
-</dd>
-</dl>
-<p>Format tokens as an SVG graphics file. This formatter is still experimental.
-Each line of code is a <code class="docutils literal notranslate"><span class="pre"><text></span></code> element with explicit <code class="docutils literal notranslate"><span class="pre">x</span></code> and <code class="docutils literal notranslate"><span class="pre">y</span></code>
-coordinates containing <code class="docutils literal notranslate"><span class="pre"><tspan></span></code> elements with the individual token styles.</p>
-<p>By default, this formatter outputs a full SVG document including doctype
-declaration and the <code class="docutils literal notranslate"><span class="pre"><svg></span></code> root element.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>nowrap</cite></dt><dd><p>Don’t wrap the SVG <code class="docutils literal notranslate"><span class="pre"><text></span></code> elements in <code class="docutils literal notranslate"><span class="pre"><svg><g></span></code> elements and
-don’t add a XML declaration and a doctype. If true, the <cite>fontfamily</cite>
-and <cite>fontsize</cite> options are ignored. Defaults to <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
-</dd>
-<dt><cite>fontfamily</cite></dt><dd><p>The value to give the wrapping <code class="docutils literal notranslate"><span class="pre"><g></span></code> element’s <code class="docutils literal notranslate"><span class="pre">font-family</span></code>
-attribute, defaults to <code class="docutils literal notranslate"><span class="pre">"monospace"</span></code>.</p>
-</dd>
-<dt><cite>fontsize</cite></dt><dd><p>The value to give the wrapping <code class="docutils literal notranslate"><span class="pre"><g></span></code> element’s <code class="docutils literal notranslate"><span class="pre">font-size</span></code>
-attribute, defaults to <code class="docutils literal notranslate"><span class="pre">"14px"</span></code>.</p>
-</dd>
-<dt><cite>xoffset</cite></dt><dd><p>Starting offset in X direction, defaults to <code class="docutils literal notranslate"><span class="pre">0</span></code>.</p>
-</dd>
-<dt><cite>yoffset</cite></dt><dd><p>Starting offset in Y direction, defaults to the font size if it is given
-in pixels, or <code class="docutils literal notranslate"><span class="pre">20</span></code> else. (This is necessary since text coordinates
-refer to the text baseline, not the top edge.)</p>
-</dd>
-<dt><cite>ystep</cite></dt><dd><p>Offset to add to the Y coordinate for each subsequent line. This should
-roughly be the text size plus 5. It defaults to that value if the text
-size is given in pixels, or <code class="docutils literal notranslate"><span class="pre">25</span></code> else.</p>
-</dd>
-<dt><cite>spacehack</cite></dt><dd><p>Convert spaces in the source to <code class="docutils literal notranslate"><span class="pre">&#160;</span></code>, which are non-breaking
-spaces. SVG provides the <code class="docutils literal notranslate"><span class="pre">xml:space</span></code> attribute to control how
-whitespace inside tags is handled, in theory, the <code class="docutils literal notranslate"><span class="pre">preserve</span></code> value
-could be used to keep all whitespace as-is. However, many current SVG
-viewers don’t obey that rule, so this option is provided as a workaround
-and defaults to <code class="docutils literal notranslate"><span class="pre">True</span></code>.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="Terminal256Formatter">
-<em class="property">class </em><code class="descname">Terminal256Formatter</code><a class="headerlink" href="#Terminal256Formatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>terminal256, console256, 256</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-</dl>
-<p>Format tokens with ANSI color sequences, for output in a 256-color
-terminal or console. Like in <cite>TerminalFormatter</cite> color sequences
-are terminated at newlines, so that paging the output works correctly.</p>
-<p>The formatter takes colors from a style defined by the <cite>style</cite> option
-and converts them to nearest ANSI 256-color escape sequences. Bold and
-underline attributes from the style are preserved (and displayed).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-<div class="versionchanged">
-<p><span class="versionmodified changed">Changed in version 2.2: </span>If the used style defines foreground colors in the form <code class="docutils literal notranslate"><span class="pre">#ansi*</span></code>, then
-<cite>Terminal256Formatter</cite> will map these to non extended foreground color.
-See <a class="reference internal" href="../styles/#ansiterminalstyle"><span class="std std-ref">Terminal Styles</span></a> for more information.</p>
-</div>
-<div class="versionchanged">
-<p><span class="versionmodified changed">Changed in version 2.4: </span>The ANSI color names have been updated with names that are easier to
-understand and align with colornames of other projects and terminals.
-See <a class="reference internal" href="../styles/#new-ansi-color-names"><span class="std std-ref">this table</span></a> for more information.</p>
-</div>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
-<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="TerminalFormatter">
-<em class="property">class </em><code class="descname">TerminalFormatter</code><a class="headerlink" href="#TerminalFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>terminal, console</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-</dl>
-<p>Format tokens with ANSI color sequences, for output in a text console.
-Color sequences are terminated at newlines, so that paging the output
-works correctly.</p>
-<p>The <cite>get_style_defs()</cite> method doesn’t do anything special since there is
-no support for common styles.</p>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>bg</cite></dt><dd><p>Set to <code class="docutils literal notranslate"><span class="pre">"light"</span></code> or <code class="docutils literal notranslate"><span class="pre">"dark"</span></code> depending on the terminal’s background
-(default: <code class="docutils literal notranslate"><span class="pre">"light"</span></code>).</p>
-</dd>
-<dt><cite>colorscheme</cite></dt><dd><p>A dictionary mapping token types to (lightbg, darkbg) color names or
-<code class="docutils literal notranslate"><span class="pre">None</span></code> (default: <code class="docutils literal notranslate"><span class="pre">None</span></code> = use builtin colorscheme).</p>
-</dd>
-<dt><cite>linenos</cite></dt><dd><p>Set to <code class="docutils literal notranslate"><span class="pre">True</span></code> to have line numbers on the terminal output as well
-(default: <code class="docutils literal notranslate"><span class="pre">False</span></code> = no line numbers).</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="TerminalTrueColorFormatter">
-<em class="property">class </em><code class="descname">TerminalTrueColorFormatter</code><a class="headerlink" href="#TerminalTrueColorFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>terminal16m, console16m, 16m</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-</dl>
-<p>Format tokens with ANSI color sequences, for output in a true-color
-terminal or console. Like in <cite>TerminalFormatter</cite> color sequences
-are terminated at newlines, so that paging the output works correctly.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-<p>Options accepted:</p>
-<dl class="simple">
-<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
-<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="TestcaseFormatter">
-<em class="property">class </em><code class="descname">TestcaseFormatter</code><a class="headerlink" href="#TestcaseFormatter" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>testcase</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-</dl>
-<p>Format tokens as appropriate for a new testcase.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Pygments documentation — Pygments</title>
- <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../genindex/" />
- <link rel="search" title="Search" href="../search/" />
- <link rel="next" title="Download and installation" href="../download/" />
- <link rel="prev" title="Welcome!" href="../" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../">Home</a></li>
-
- <li><a href="../demo/">Demo</a></li>
-
- <li><a href="../languages/">Languages</a></li>
- <li><a href="../faq/">FAQ</a></li>
- <li><a href="../download/">Get it</a></li>
- <li><a href="#">Docs</a></li>
- </ul>
- <div>
- <a href="../">
- <img src="../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h4>Previous topic</h4>
- <p class="topless"><a href="../"
- title="previous chapter">Welcome!</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../download/"
- title="next chapter">Download and installation</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/docs/index.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="pygments-documentation">
-<h1>Pygments documentation<a class="headerlink" href="#pygments-documentation" title="Permalink to this headline">¶</a></h1>
-<p><strong>Starting with Pygments</strong></p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../download/">Download and installation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="quickstart/">Introduction and Quickstart</a></li>
-<li class="toctree-l1"><a class="reference internal" href="cmdline/">Command Line Interface</a></li>
-</ul>
-</div>
-<p><strong>Builtin components</strong></p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="lexers/">Available lexers</a></li>
-<li class="toctree-l1"><a class="reference internal" href="filters/">Filters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="formatters/">Available formatters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="styles/">Styles</a></li>
-</ul>
-</div>
-<p><strong>Reference</strong></p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="unicode/">Unicode and Encodings</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tokens/">Builtin Tokens</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/">The full Pygments API</a></li>
-</ul>
-</div>
-<p><strong>Hacking for Pygments</strong></p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="lexerdevelopment/">Write your own lexer</a></li>
-<li class="toctree-l1"><a class="reference internal" href="formatterdevelopment/">Write your own formatter</a></li>
-<li class="toctree-l1"><a class="reference internal" href="filterdevelopment/">Write your own filter</a></li>
-<li class="toctree-l1"><a class="reference internal" href="plugins/">Register Plugins</a></li>
-</ul>
-</div>
-<p><strong>Hints and tricks</strong></p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="rstdirective/">Using Pygments in ReST documents</a></li>
-<li class="toctree-l1"><a class="reference internal" href="moinmoin/">Using Pygments with MoinMoin</a></li>
-<li class="toctree-l1"><a class="reference internal" href="java/">Use Pygments in Java</a></li>
-<li class="toctree-l1"><a class="reference internal" href="integrate/">Using Pygments in various scenarios</a></li>
-</ul>
-</div>
-<p><strong>About Pygments</strong></p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="changelog/">Pygments changelog</a></li>
-<li class="toctree-l1"><a class="reference internal" href="authors/">Full contributor list</a></li>
-</ul>
-</div>
-<p>If you find bugs or have suggestions for the documentation, please submit them
-on <cite>GitHub <https://github.com/pygments/pygments></cite>.</p>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Using Pygments in various scenarios — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Pygments changelog" href="../changelog/" />
- <link rel="prev" title="Use Pygments in Java" href="../java/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Using Pygments in various scenarios</a><ul>
-<li><a class="reference internal" href="#markdown">Markdown</a></li>
-<li><a class="reference internal" href="#textmate">TextMate</a></li>
-<li><a class="reference internal" href="#bash-completion">Bash completion</a></li>
-<li><a class="reference internal" href="#wrappers-for-other-languages">Wrappers for other languages</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../java/"
- title="previous chapter">Use Pygments in Java</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../changelog/"
- title="next chapter">Pygments changelog</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/integrate.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="using-pygments-in-various-scenarios">
-<h1>Using Pygments in various scenarios<a class="headerlink" href="#using-pygments-in-various-scenarios" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="markdown">
-<h2>Markdown<a class="headerlink" href="#markdown" title="Permalink to this headline">¶</a></h2>
-<p>Since Pygments 0.9, the distribution ships <a class="reference external" href="http://www.freewisdom.org/projects/python-markdown/">Markdown</a> preprocessor sample code
-that uses Pygments to render source code in
-<code class="file docutils literal notranslate"><span class="pre">external/markdown-processor.py</span></code>. You can copy and adapt it to your
-liking.</p>
-</div>
-<div class="section" id="textmate">
-<h2>TextMate<a class="headerlink" href="#textmate" title="Permalink to this headline">¶</a></h2>
-<p>Antonio Cangiano has created a Pygments bundle for TextMate that allows to
-colorize code via a simple menu option. It can be found <a class="reference external" href="http://antoniocangiano.com/2008/10/28/pygments-textmate-bundle/">here</a>.</p>
-</div>
-<div class="section" id="bash-completion">
-<h2>Bash completion<a class="headerlink" href="#bash-completion" title="Permalink to this headline">¶</a></h2>
-<p>The source distribution contains a file <code class="docutils literal notranslate"><span class="pre">external/pygments.bashcomp</span></code> that
-sets up completion for the <code class="docutils literal notranslate"><span class="pre">pygmentize</span></code> command in bash.</p>
-</div>
-<div class="section" id="wrappers-for-other-languages">
-<h2>Wrappers for other languages<a class="headerlink" href="#wrappers-for-other-languages" title="Permalink to this headline">¶</a></h2>
-<p>These libraries provide Pygments highlighting for users of other languages
-than Python:</p>
-<ul class="simple">
-<li><p><a class="reference external" href="https://github.com/tmm1/pygments.rb">pygments.rb</a>, a pygments wrapper for Ruby</p></li>
-<li><p><a class="reference external" href="https://github.com/bfontaine/clygments">Clygments</a>, a pygments wrapper for
-Clojure</p></li>
-<li><p><a class="reference external" href="https://github.com/capynet/PHPygments">PHPygments</a>, a pygments wrapper for PHP</p></li>
-</ul>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Use Pygments in Java — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Using Pygments in various scenarios" href="../integrate/" />
- <link rel="prev" title="Using Pygments with MoinMoin" href="../moinmoin/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h4>Previous topic</h4>
- <p class="topless"><a href="../moinmoin/"
- title="previous chapter">Using Pygments with MoinMoin</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../integrate/"
- title="next chapter">Using Pygments in various scenarios</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/java.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="use-pygments-in-java">
-<h1>Use Pygments in Java<a class="headerlink" href="#use-pygments-in-java" title="Permalink to this headline">¶</a></h1>
-<p>Thanks to <a class="reference external" href="http://www.jython.org">Jython</a> it is possible to use Pygments in
-Java.</p>
-<p>This page is a simple tutorial to get an idea of how this works. You can
-then look at the <a class="reference external" href="http://www.jython.org/docs/">Jython documentation</a> for more
-advanced uses.</p>
-<p>Since version 1.5, Pygments is deployed on <a class="reference external" href="http://repo1.maven.org/maven2/org/pygments/pygments/">Maven Central</a> as a JAR, as is Jython
-which makes it a lot easier to create a Java project.</p>
-<p>Here is an example of a <a class="reference external" href="http://www.maven.org">Maven</a> <code class="docutils literal notranslate"><span class="pre">pom.xml</span></code> file for a
-project running Pygments:</p>
-<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
-
-<span class="nt"><project</span> <span class="na">xmlns=</span><span class="s">"http://maven.apache.org/POM/4.0.0"</span>
- <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
- <span class="na">xsi:schemaLocation=</span><span class="s">"http://maven.apache.org/POM/4.0.0</span>
-<span class="s"> http://maven.apache.org/maven-v4_0_0.xsd"</span><span class="nt">></span>
- <span class="nt"><modelVersion></span>4.0.0<span class="nt"></modelVersion></span>
- <span class="nt"><groupId></span>example<span class="nt"></groupId></span>
- <span class="nt"><artifactId></span>example<span class="nt"></artifactId></span>
- <span class="nt"><version></span>1.0-SNAPSHOT<span class="nt"></version></span>
- <span class="nt"><dependencies></span>
- <span class="nt"><dependency></span>
- <span class="nt"><groupId></span>org.python<span class="nt"></groupId></span>
- <span class="nt"><artifactId></span>jython-standalone<span class="nt"></artifactId></span>
- <span class="nt"><version></span>2.5.3<span class="nt"></version></span>
- <span class="nt"></dependency></span>
- <span class="nt"><dependency></span>
- <span class="nt"><groupId></span>org.pygments<span class="nt"></groupId></span>
- <span class="nt"><artifactId></span>pygments<span class="nt"></artifactId></span>
- <span class="nt"><version></span>1.5<span class="nt"></version></span>
- <span class="nt"><scope></span>runtime<span class="nt"></scope></span>
- <span class="nt"></dependency></span>
- <span class="nt"></dependencies></span>
-<span class="nt"></project></span>
-</pre></div>
-</div>
-<p>The following Java example:</p>
-<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="n">PythonInterpreter</span> <span class="n">interpreter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PythonInterpreter</span><span class="o">();</span>
-
-<span class="c1">// Set a variable with the content you want to work with</span>
-<span class="n">interpreter</span><span class="o">.</span><span class="na">set</span><span class="o">(</span><span class="s">"code"</span><span class="o">,</span> <span class="n">code</span><span class="o">);</span>
-
-<span class="c1">// Simple use Pygments as you would in Python</span>
-<span class="n">interpreter</span><span class="o">.</span><span class="na">exec</span><span class="o">(</span><span class="s">"from pygments import highlight\n"</span>
- <span class="o">+</span> <span class="s">"from pygments.lexers import PythonLexer\n"</span>
- <span class="o">+</span> <span class="s">"from pygments.formatters import HtmlFormatter\n"</span>
- <span class="o">+</span> <span class="s">"\nresult = highlight(code, PythonLexer(), HtmlFormatter())"</span><span class="o">);</span>
-
-<span class="c1">// Get the result that has been set in a variable</span>
-<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">interpreter</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"result"</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">));</span>
-</pre></div>
-</div>
-<p>will print something like:</p>
-<div class="highlight-html notranslate"><div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span><span class="p">></span>
-<span class="p"><</span><span class="nt">pre</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"k"</span><span class="p">></span>print<span class="p"></</span><span class="nt">span</span><span class="p">></span> <span class="p"><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"s"</span><span class="p">></span><span class="ni">&quot;</span>Hello World<span class="ni">&quot;</span><span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">pre</span><span class="p">></span>
-<span class="p"></</span><span class="nt">div</span><span class="p">></span>
-</pre></div>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Write your own lexer — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Write your own formatter" href="../formatterdevelopment/" />
- <link rel="prev" title="The full Pygments API" href="../api/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Write your own lexer</a><ul>
-<li><a class="reference internal" href="#regexlexer">RegexLexer</a></li>
-<li><a class="reference internal" href="#adding-and-testing-a-new-lexer">Adding and testing a new lexer</a></li>
-<li><a class="reference internal" href="#regex-flags">Regex Flags</a></li>
-<li><a class="reference internal" href="#scanning-multiple-tokens-at-once">Scanning multiple tokens at once</a></li>
-<li><a class="reference internal" href="#changing-states">Changing states</a></li>
-<li><a class="reference internal" href="#advanced-state-tricks">Advanced state tricks</a></li>
-<li><a class="reference internal" href="#subclassing-lexers-derived-from-regexlexer">Subclassing lexers derived from RegexLexer</a></li>
-<li><a class="reference internal" href="#using-multiple-lexers">Using multiple lexers</a></li>
-<li><a class="reference internal" href="#delegating-lexer">Delegating Lexer</a></li>
-<li><a class="reference internal" href="#callbacks">Callbacks</a></li>
-<li><a class="reference internal" href="#the-extendedregexlexer-class">The ExtendedRegexLexer class</a></li>
-<li><a class="reference internal" href="#handling-lists-of-keywords">Handling Lists of Keywords</a></li>
-<li><a class="reference internal" href="#modifying-token-streams">Modifying Token Streams</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../api/"
- title="previous chapter">The full Pygments API</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../formatterdevelopment/"
- title="next chapter">Write your own formatter</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/lexerdevelopment.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="write-your-own-lexer">
-<h1>Write your own lexer<a class="headerlink" href="#write-your-own-lexer" title="Permalink to this headline">¶</a></h1>
-<p>If a lexer for your favorite language is missing in the Pygments package, you
-can easily write your own and extend Pygments.</p>
-<p>All you need can be found inside the <a class="reference internal" href="../api/#module-pygments.lexer" title="pygments.lexer"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.lexer</span></code></a> module. As you can
-read in the <a class="reference internal" href="../api/"><span class="doc">API documentation</span></a>, a lexer is a class that is
-initialized with some keyword arguments (the lexer options) and that provides a
-<a class="reference internal" href="../api/#pygments.lexer.Lexer.get_tokens_unprocessed" title="pygments.lexer.Lexer.get_tokens_unprocessed"><code class="xref py py-meth docutils literal notranslate"><span class="pre">get_tokens_unprocessed()</span></code></a> method which is given a string or unicode
-object with the data to lex.</p>
-<p>The <a class="reference internal" href="../api/#pygments.lexer.Lexer.get_tokens_unprocessed" title="pygments.lexer.Lexer.get_tokens_unprocessed"><code class="xref py py-meth docutils literal notranslate"><span class="pre">get_tokens_unprocessed()</span></code></a> method must return an iterator or iterable
-containing tuples in the form <code class="docutils literal notranslate"><span class="pre">(index,</span> <span class="pre">token,</span> <span class="pre">value)</span></code>. Normally you don’t
-need to do this since there are base lexers that do most of the work and that
-you can subclass.</p>
-<div class="section" id="regexlexer">
-<h2>RegexLexer<a class="headerlink" href="#regexlexer" title="Permalink to this headline">¶</a></h2>
-<p>The lexer base class used by almost all of Pygments’ lexers is the
-<code class="xref py py-class docutils literal notranslate"><span class="pre">RegexLexer</span></code>. This class allows you to define lexing rules in terms of
-<em>regular expressions</em> for different <em>states</em>.</p>
-<p>States are groups of regular expressions that are matched against the input
-string at the <em>current position</em>. If one of these expressions matches, a
-corresponding action is performed (such as yielding a token with a specific
-type, or changing state), the current position is set to where the last match
-ended and the matching process continues with the first regex of the current
-state.</p>
-<p>Lexer states are kept on a stack: each time a new state is entered, the new
-state is pushed onto the stack. The most basic lexers (like the <cite>DiffLexer</cite>)
-just need one state.</p>
-<p>Each state is defined as a list of tuples in the form (<cite>regex</cite>, <cite>action</cite>,
-<cite>new_state</cite>) where the last item is optional. In the most basic form, <cite>action</cite>
-is a token type (like <cite>Name.Builtin</cite>). That means: When <cite>regex</cite> matches, emit a
-token with the match text and type <cite>tokentype</cite> and push <cite>new_state</cite> on the state
-stack. If the new state is <code class="docutils literal notranslate"><span class="pre">'#pop'</span></code>, the topmost state is popped from the
-stack instead. To pop more than one state, use <code class="docutils literal notranslate"><span class="pre">'#pop:2'</span></code> and so on.
-<code class="docutils literal notranslate"><span class="pre">'#push'</span></code> is a synonym for pushing the current state on the stack.</p>
-<p>The following example shows the <cite>DiffLexer</cite> from the builtin lexers. Note that
-it contains some additional attributes <cite>name</cite>, <cite>aliases</cite> and <cite>filenames</cite> which
-aren’t required for a lexer. They are used by the builtin lexer lookup
-functions.</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
-
-<span class="k">class</span> <span class="nc">DiffLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
- <span class="n">name</span> <span class="o">=</span> <span class="s1">'Diff'</span>
- <span class="n">aliases</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'diff'</span><span class="p">]</span>
- <span class="n">filenames</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'*.diff'</span><span class="p">]</span>
-
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">' .*\n'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'\+.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Inserted</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'-.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Deleted</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'@.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Subheading</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'Index.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Heading</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'=.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Heading</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'.*\n'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
- <span class="p">]</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>As you can see this lexer only uses one state. When the lexer starts scanning
-the text, it first checks if the current character is a space. If this is true
-it scans everything until newline and returns the data as a <cite>Text</cite> token (which
-is the “no special highlighting” token).</p>
-<p>If this rule doesn’t match, it checks if the current char is a plus sign. And
-so on.</p>
-<p>If no rule matches at the current position, the current char is emitted as an
-<cite>Error</cite> token that indicates a lexing error, and the position is increased by
-one.</p>
-</div>
-<div class="section" id="adding-and-testing-a-new-lexer">
-<h2>Adding and testing a new lexer<a class="headerlink" href="#adding-and-testing-a-new-lexer" title="Permalink to this headline">¶</a></h2>
-<p>The easiest way to use a new lexer is to use Pygments’ support for loading
-the lexer from a file relative to your current directory.</p>
-<p>First, change the name of your lexer class to CustomLexer:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
-
-<span class="k">class</span> <span class="nc">CustomLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
- <span class="sd">"""All your lexer code goes here!"""</span>
-</pre></div>
-</div>
-<p>Then you can load the lexer from the command line with the additional
-flag <code class="docutils literal notranslate"><span class="pre">-x</span></code>:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pygmentize -l your_lexer_file.py -x
-</pre></div>
-</div>
-<p>To specify a class name other than CustomLexer, append it with a colon:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pygmentize -l your_lexer.py:SomeLexer -x
-</pre></div>
-</div>
-<p>Or, using the Python API:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># For a lexer named CustomLexer</span>
-<span class="n">your_lexer</span> <span class="o">=</span> <span class="n">load_lexer_from_file</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
-
-<span class="c1"># For a lexer named MyNewLexer</span>
-<span class="n">your_named_lexer</span> <span class="o">=</span> <span class="n">load_lexer_from_file</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s2">"MyNewLexer"</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>When loading custom lexers and formatters, be extremely careful to use only
-trusted files; Pygments will perform the equivalent of <code class="docutils literal notranslate"><span class="pre">eval</span></code> on them.</p>
-<p>If you only want to use your lexer with the Pygments API, you can import and
-instantiate the lexer yourself, then pass it to <a class="reference internal" href="../api/#pygments.highlight" title="pygments.highlight"><code class="xref py py-func docutils literal notranslate"><span class="pre">pygments.highlight()</span></code></a>.</p>
-<p>To prepare your new lexer for inclusion in the Pygments distribution, so that it
-will be found when passing filenames or lexer aliases from the command line, you
-have to perform the following steps.</p>
-<p>First, change to the current directory containing the Pygments source code. You
-will need to have either an unpacked source tarball, or (preferably) a copy
-cloned from GitHub.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> <span class="nb">cd</span> .../pygments-main
-</pre></div>
-</div>
-<p>Select a matching module under <code class="docutils literal notranslate"><span class="pre">pygments/lexers</span></code>, or create a new module for
-your lexer class.</p>
-<p>Next, make sure the lexer is known from outside of the module. All modules in
-the <code class="docutils literal notranslate"><span class="pre">pygments.lexers</span></code> package specify <code class="docutils literal notranslate"><span class="pre">__all__</span></code>. For example,
-<code class="docutils literal notranslate"><span class="pre">esoteric.py</span></code> sets:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'BrainfuckLexer'</span><span class="p">,</span> <span class="s1">'BefungeLexer'</span><span class="p">,</span> <span class="o">...</span><span class="p">]</span>
-</pre></div>
-</div>
-<p>Add the name of your lexer class to this list (or create the list if your lexer
-is the only class in the module).</p>
-<p>Finally the lexer can be made publicly known by rebuilding the lexer mapping:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> make mapfiles
-</pre></div>
-</div>
-<p>To test the new lexer, store an example file with the proper extension in
-<code class="docutils literal notranslate"><span class="pre">tests/examplefiles</span></code>. For example, to test your <code class="docutils literal notranslate"><span class="pre">DiffLexer</span></code>, add a
-<code class="docutils literal notranslate"><span class="pre">tests/examplefiles/example.diff</span></code> containing a sample diff output.</p>
-<p>Now you can use pygmentize to render your example to HTML:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> ./pygmentize -O full -f html -o /tmp/example.html tests/examplefiles/example.diff
-</pre></div>
-</div>
-<p>Note that this explicitly calls the <code class="docutils literal notranslate"><span class="pre">pygmentize</span></code> in the current directory
-by preceding it with <code class="docutils literal notranslate"><span class="pre">./</span></code>. This ensures your modifications are used.
-Otherwise a possibly already installed, unmodified version without your new
-lexer would have been called from the system search path (<code class="docutils literal notranslate"><span class="pre">$PATH</span></code>).</p>
-<p>To view the result, open <code class="docutils literal notranslate"><span class="pre">/tmp/example.html</span></code> in your browser.</p>
-<p>Once the example renders as expected, you should run the complete test suite:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> make <span class="nb">test</span>
-</pre></div>
-</div>
-<p>It also tests that your lexer fulfills the lexer API and certain invariants,
-such as that the concatenation of all token text is the same as the input text.</p>
-</div>
-<div class="section" id="regex-flags">
-<h2>Regex Flags<a class="headerlink" href="#regex-flags" title="Permalink to this headline">¶</a></h2>
-<p>You can either define regex flags locally in the regex (<code class="docutils literal notranslate"><span class="pre">r'(?x)foo</span> <span class="pre">bar'</span></code>) or
-globally by adding a <cite>flags</cite> attribute to your lexer class. If no attribute is
-defined, it defaults to <cite>re.MULTILINE</cite>. For more information about regular
-expression flags see the page about <a class="reference external" href="http://docs.python.org/library/re.html#regular-expression-syntax">regular expressions</a> in the Python
-documentation.</p>
-</div>
-<div class="section" id="scanning-multiple-tokens-at-once">
-<h2>Scanning multiple tokens at once<a class="headerlink" href="#scanning-multiple-tokens-at-once" title="Permalink to this headline">¶</a></h2>
-<p>So far, the <cite>action</cite> element in the rule tuple of regex, action and state has
-been a single token type. Now we look at the first of several other possible
-values.</p>
-<p>Here is a more complex lexer that highlights INI files. INI files consist of
-sections, comments and <code class="docutils literal notranslate"><span class="pre">key</span> <span class="pre">=</span> <span class="pre">value</span></code> pairs:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">bygroups</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
-
-<span class="k">class</span> <span class="nc">IniLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
- <span class="n">name</span> <span class="o">=</span> <span class="s1">'INI'</span>
- <span class="n">aliases</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'ini'</span><span class="p">,</span> <span class="s1">'cfg'</span><span class="p">]</span>
- <span class="n">filenames</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'*.ini'</span><span class="p">,</span> <span class="s1">'*.cfg'</span><span class="p">]</span>
-
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'\s+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">';.*?$'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'\[.*?\]$'</span><span class="p">,</span> <span class="n">Keyword</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'(.*?)(\s*)(=)(\s*)(.*?)$'</span><span class="p">,</span>
- <span class="n">bygroups</span><span class="p">(</span><span class="n">Name</span><span class="o">.</span><span class="n">Attribute</span><span class="p">,</span> <span class="n">Text</span><span class="p">,</span> <span class="n">Operator</span><span class="p">,</span> <span class="n">Text</span><span class="p">,</span> <span class="n">String</span><span class="p">))</span>
- <span class="p">]</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>The lexer first looks for whitespace, comments and section names. Later it
-looks for a line that looks like a key, value pair, separated by an <code class="docutils literal notranslate"><span class="pre">'='</span></code>
-sign, and optional whitespace.</p>
-<p>The <cite>bygroups</cite> helper yields each capturing group in the regex with a different
-token type. First the <cite>Name.Attribute</cite> token, then a <cite>Text</cite> token for the
-optional whitespace, after that a <cite>Operator</cite> token for the equals sign. Then a
-<cite>Text</cite> token for the whitespace again. The rest of the line is returned as
-<cite>String</cite>.</p>
-<p>Note that for this to work, every part of the match must be inside a capturing
-group (a <code class="docutils literal notranslate"><span class="pre">(...)</span></code>), and there must not be any nested capturing groups. If you
-nevertheless need a group, use a non-capturing group defined using this syntax:
-<code class="docutils literal notranslate"><span class="pre">(?:some|words|here)</span></code> (note the <code class="docutils literal notranslate"><span class="pre">?:</span></code> after the beginning parenthesis).</p>
-<p>If you find yourself needing a capturing group inside the regex which shouldn’t
-be part of the output but is used in the regular expressions for backreferencing
-(eg: <code class="docutils literal notranslate"><span class="pre">r'(<(foo|bar)>)(.*?)(</\2>)'</span></code>), you can pass <cite>None</cite> to the bygroups
-function and that group will be skipped in the output.</p>
-</div>
-<div class="section" id="changing-states">
-<h2>Changing states<a class="headerlink" href="#changing-states" title="Permalink to this headline">¶</a></h2>
-<p>Many lexers need multiple states to work as expected. For example, some
-languages allow multiline comments to be nested. Since this is a recursive
-pattern it’s impossible to lex just using regular expressions.</p>
-<p>Here is a lexer that recognizes C++ style comments (multi-line with <code class="docutils literal notranslate"><span class="pre">/*</span> <span class="pre">*/</span></code>
-and single-line with <code class="docutils literal notranslate"><span class="pre">//</span></code> until end of line):</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
-
-<span class="k">class</span> <span class="nc">CppCommentLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
- <span class="n">name</span> <span class="o">=</span> <span class="s1">'Example Lexer with states'</span>
-
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'[^/]+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'/\*'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">,</span> <span class="s1">'comment'</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'//.*?$'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Singleline</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'/'</span><span class="p">,</span> <span class="n">Text</span><span class="p">)</span>
- <span class="p">],</span>
- <span class="s1">'comment'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'[^*/]'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'/\*'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">,</span> <span class="s1">'#push'</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'\*/'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'[*/]'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">)</span>
- <span class="p">]</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>This lexer starts lexing in the <code class="docutils literal notranslate"><span class="pre">'root'</span></code> state. It tries to match as much as
-possible until it finds a slash (<code class="docutils literal notranslate"><span class="pre">'/'</span></code>). If the next character after the slash
-is an asterisk (<code class="docutils literal notranslate"><span class="pre">'*'</span></code>) the <cite>RegexLexer</cite> sends those two characters to the
-output stream marked as <cite>Comment.Multiline</cite> and continues lexing with the rules
-defined in the <code class="docutils literal notranslate"><span class="pre">'comment'</span></code> state.</p>
-<p>If there wasn’t an asterisk after the slash, the <cite>RegexLexer</cite> checks if it’s a
-Singleline comment (i.e. followed by a second slash). If this also wasn’t the
-case it must be a single slash, which is not a comment starter (the separate
-regex for a single slash must also be given, else the slash would be marked as
-an error token).</p>
-<p>Inside the <code class="docutils literal notranslate"><span class="pre">'comment'</span></code> state, we do the same thing again. Scan until the
-lexer finds a star or slash. If it’s the opening of a multiline comment, push
-the <code class="docutils literal notranslate"><span class="pre">'comment'</span></code> state on the stack and continue scanning, again in the
-<code class="docutils literal notranslate"><span class="pre">'comment'</span></code> state. Else, check if it’s the end of the multiline comment. If
-yes, pop one state from the stack.</p>
-<p>Note: If you pop from an empty stack you’ll get an <cite>IndexError</cite>. (There is an
-easy way to prevent this from happening: don’t <code class="docutils literal notranslate"><span class="pre">'#pop'</span></code> in the root state).</p>
-<p>If the <cite>RegexLexer</cite> encounters a newline that is flagged as an error token, the
-stack is emptied and the lexer continues scanning in the <code class="docutils literal notranslate"><span class="pre">'root'</span></code> state. This
-can help producing error-tolerant highlighting for erroneous input, e.g. when a
-single-line string is not closed.</p>
-</div>
-<div class="section" id="advanced-state-tricks">
-<h2>Advanced state tricks<a class="headerlink" href="#advanced-state-tricks" title="Permalink to this headline">¶</a></h2>
-<p>There are a few more things you can do with states:</p>
-<ul>
-<li><p>You can push multiple states onto the stack if you give a tuple instead of a
-simple string as the third item in a rule tuple. For example, if you want to
-match a comment containing a directive, something like:</p>
-<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>/* <processing directive> rest of comment */
-</pre></div>
-</div>
-<p>you can use this rule:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'/\* <'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="p">(</span><span class="s1">'comment'</span><span class="p">,</span> <span class="s1">'directive'</span><span class="p">)),</span>
- <span class="o">...</span>
- <span class="p">],</span>
- <span class="s1">'directive'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'[^>]*'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Directive</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'>'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
- <span class="p">],</span>
- <span class="s1">'comment'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'[^*]+'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'\*/'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'\*'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
- <span class="p">]</span>
-<span class="p">}</span>
-</pre></div>
-</div>
-<p>When this encounters the above sample, first <code class="docutils literal notranslate"><span class="pre">'comment'</span></code> and <code class="docutils literal notranslate"><span class="pre">'directive'</span></code>
-are pushed onto the stack, then the lexer continues in the directive state
-until it finds the closing <code class="docutils literal notranslate"><span class="pre">></span></code>, then it continues in the comment state until
-the closing <code class="docutils literal notranslate"><span class="pre">*/</span></code>. Then, both states are popped from the stack again and
-lexing continues in the root state.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9: </span>The tuple can contain the special <code class="docutils literal notranslate"><span class="pre">'#push'</span></code> and <code class="docutils literal notranslate"><span class="pre">'#pop'</span></code> (but not
-<code class="docutils literal notranslate"><span class="pre">'#pop:n'</span></code>) directives.</p>
-</div>
-</li>
-<li><p>You can include the rules of a state in the definition of another. This is
-done by using <cite>include</cite> from <cite>pygments.lexer</cite>:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">bygroups</span><span class="p">,</span> <span class="n">include</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
-
-<span class="k">class</span> <span class="nc">ExampleLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'comments'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'/\*.*?\*/'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'//.*?\n'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
- <span class="p">],</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="n">include</span><span class="p">(</span><span class="s1">'comments'</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'(function )(\w+)( {)'</span><span class="p">,</span>
- <span class="n">bygroups</span><span class="p">(</span><span class="n">Keyword</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="n">Keyword</span><span class="p">),</span> <span class="s1">'function'</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
- <span class="p">],</span>
- <span class="s1">'function'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'[^}/]+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
- <span class="n">include</span><span class="p">(</span><span class="s1">'comments'</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'/'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'\}'</span><span class="p">,</span> <span class="n">Keyword</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
- <span class="p">]</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>This is a hypothetical lexer for a language that consist of functions and
-comments. Because comments can occur at toplevel and in functions, we need
-rules for comments in both states. As you can see, the <cite>include</cite> helper saves
-repeating rules that occur more than once (in this example, the state
-<code class="docutils literal notranslate"><span class="pre">'comment'</span></code> will never be entered by the lexer, as it’s only there to be
-included in <code class="docutils literal notranslate"><span class="pre">'root'</span></code> and <code class="docutils literal notranslate"><span class="pre">'function'</span></code>).</p>
-</li>
-<li><p>Sometimes, you may want to “combine” a state from existing ones. This is
-possible with the <cite>combined</cite> helper from <cite>pygments.lexer</cite>.</p>
-<p>If you, instead of a new state, write <code class="docutils literal notranslate"><span class="pre">combined('state1',</span> <span class="pre">'state2')</span></code> as the
-third item of a rule tuple, a new anonymous state will be formed from state1
-and state2 and if the rule matches, the lexer will enter this state.</p>
-<p>This is not used very often, but can be helpful in some cases, such as the
-<cite>PythonLexer</cite>’s string literal processing.</p>
-</li>
-<li><p>If you want your lexer to start lexing in a different state you can modify the
-stack by overriding the <cite>get_tokens_unprocessed()</cite> method:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
-
-<span class="k">class</span> <span class="nc">ExampleLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span><span class="o">...</span><span class="p">}</span>
-
- <span class="k">def</span> <span class="nf">get_tokens_unprocessed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">stack</span><span class="o">=</span><span class="p">(</span><span class="s1">'root'</span><span class="p">,</span> <span class="s1">'otherstate'</span><span class="p">)):</span>
- <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">RegexLexer</span><span class="o">.</span><span class="n">get_tokens_unprocessed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">stack</span><span class="p">):</span>
- <span class="k">yield</span> <span class="n">item</span>
-</pre></div>
-</div>
-<p>Some lexers like the <cite>PhpLexer</cite> use this to make the leading <code class="docutils literal notranslate"><span class="pre"><?php</span></code>
-preprocessor comments optional. Note that you can crash the lexer easily by
-putting values into the stack that don’t exist in the token map. Also
-removing <code class="docutils literal notranslate"><span class="pre">'root'</span></code> from the stack can result in strange errors!</p>
-</li>
-<li><p>In some lexers, a state should be popped if anything is encountered that isn’t
-matched by a rule in the state. You could use an empty regex at the end of
-the state list, but Pygments provides a more obvious way of spelling that:
-<code class="docutils literal notranslate"><span class="pre">default('#pop')</span></code> is equivalent to <code class="docutils literal notranslate"><span class="pre">('',</span> <span class="pre">Text,</span> <span class="pre">'#pop')</span></code>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</li>
-</ul>
-</div>
-<div class="section" id="subclassing-lexers-derived-from-regexlexer">
-<h2>Subclassing lexers derived from RegexLexer<a class="headerlink" href="#subclassing-lexers-derived-from-regexlexer" title="Permalink to this headline">¶</a></h2>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-<p>Sometimes multiple languages are very similar, but should still be lexed by
-different lexer classes.</p>
-<p>When subclassing a lexer derived from RegexLexer, the <code class="docutils literal notranslate"><span class="pre">tokens</span></code> dictionaries
-defined in the parent and child class are merged. For example:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">inherit</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
-
-<span class="k">class</span> <span class="nc">BaseLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="s1">'[a-z]+'</span><span class="p">,</span> <span class="n">Name</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'/\*'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="s1">'comment'</span><span class="p">),</span>
- <span class="p">(</span><span class="s1">'"'</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="s1">'string'</span><span class="p">),</span>
- <span class="p">(</span><span class="s1">'\s+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
- <span class="p">],</span>
- <span class="s1">'string'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="s1">'[^"]+'</span><span class="p">,</span> <span class="n">String</span><span class="p">),</span>
- <span class="p">(</span><span class="s1">'"'</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
- <span class="p">],</span>
- <span class="s1">'comment'</span><span class="p">:</span> <span class="p">[</span>
- <span class="o">...</span>
- <span class="p">],</span>
- <span class="p">}</span>
-
-<span class="k">class</span> <span class="nc">DerivedLexer</span><span class="p">(</span><span class="n">BaseLexer</span><span class="p">):</span>
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="s1">'[0-9]+'</span><span class="p">,</span> <span class="n">Number</span><span class="p">),</span>
- <span class="n">inherit</span><span class="p">,</span>
- <span class="p">],</span>
- <span class="s1">'string'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'[^"</span><span class="se">\\</span><span class="s1">]+'</span><span class="p">,</span> <span class="n">String</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'</span><span class="se">\\</span><span class="s1">.'</span><span class="p">,</span> <span class="n">String</span><span class="o">.</span><span class="n">Escape</span><span class="p">),</span>
- <span class="p">(</span><span class="s1">'"'</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
- <span class="p">],</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>The <cite>BaseLexer</cite> defines two states, lexing names and strings. The
-<cite>DerivedLexer</cite> defines its own tokens dictionary, which extends the definitions
-of the base lexer:</p>
-<ul class="simple">
-<li><p>The “root” state has an additional rule and then the special object <cite>inherit</cite>,
-which tells Pygments to insert the token definitions of the parent class at
-that point.</p></li>
-<li><p>The “string” state is replaced entirely, since there is not <cite>inherit</cite> rule.</p></li>
-<li><p>The “comment” state is inherited entirely.</p></li>
-</ul>
-</div>
-<div class="section" id="using-multiple-lexers">
-<h2>Using multiple lexers<a class="headerlink" href="#using-multiple-lexers" title="Permalink to this headline">¶</a></h2>
-<p>Using multiple lexers for the same input can be tricky. One of the easiest
-combination techniques is shown here: You can replace the action entry in a rule
-tuple with a lexer class. The matched text will then be lexed with that lexer,
-and the resulting tokens will be yielded.</p>
-<p>For example, look at this stripped-down HTML lexer:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">bygroups</span><span class="p">,</span> <span class="n">using</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
-<span class="kn">from</span> <span class="nn">pygments.lexers.javascript</span> <span class="kn">import</span> <span class="n">JavascriptLexer</span>
-
-<span class="k">class</span> <span class="nc">HtmlLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
- <span class="n">name</span> <span class="o">=</span> <span class="s1">'HTML'</span>
- <span class="n">aliases</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'html'</span><span class="p">]</span>
- <span class="n">filenames</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'*.html'</span><span class="p">,</span> <span class="s1">'*.htm'</span><span class="p">]</span>
-
- <span class="n">flags</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">IGNORECASE</span> <span class="o">|</span> <span class="n">re</span><span class="o">.</span><span class="n">DOTALL</span>
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="s1">'[^<&]+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
- <span class="p">(</span><span class="s1">'&.*?;'</span><span class="p">,</span> <span class="n">Name</span><span class="o">.</span><span class="n">Entity</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'<\s*script\s*'</span><span class="p">,</span> <span class="n">Name</span><span class="o">.</span><span class="n">Tag</span><span class="p">,</span> <span class="p">(</span><span class="s1">'script-content'</span><span class="p">,</span> <span class="s1">'tag'</span><span class="p">)),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'<\s*[a-zA-Z0-9:]+'</span><span class="p">,</span> <span class="n">Name</span><span class="o">.</span><span class="n">Tag</span><span class="p">,</span> <span class="s1">'tag'</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'<\s*/\s*[a-zA-Z0-9:]+\s*>'</span><span class="p">,</span> <span class="n">Name</span><span class="o">.</span><span class="n">Tag</span><span class="p">),</span>
- <span class="p">],</span>
- <span class="s1">'script-content'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'(.+?)(<\s*/\s*script\s*>)'</span><span class="p">,</span>
- <span class="n">bygroups</span><span class="p">(</span><span class="n">using</span><span class="p">(</span><span class="n">JavascriptLexer</span><span class="p">),</span> <span class="n">Name</span><span class="o">.</span><span class="n">Tag</span><span class="p">),</span>
- <span class="s1">'#pop'</span><span class="p">),</span>
- <span class="p">]</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>Here the content of a <code class="docutils literal notranslate"><span class="pre"><script></span></code> tag is passed to a newly created instance of
-a <cite>JavascriptLexer</cite> and not processed by the <cite>HtmlLexer</cite>. This is done using
-the <cite>using</cite> helper that takes the other lexer class as its parameter.</p>
-<p>Note the combination of <cite>bygroups</cite> and <cite>using</cite>. This makes sure that the
-content up to the <code class="docutils literal notranslate"><span class="pre"></script></span></code> end tag is processed by the <cite>JavascriptLexer</cite>,
-while the end tag is yielded as a normal token with the <cite>Name.Tag</cite> type.</p>
-<p>Also note the <code class="docutils literal notranslate"><span class="pre">(r'<\s*script\s*',</span> <span class="pre">Name.Tag,</span> <span class="pre">('script-content',</span> <span class="pre">'tag'))</span></code> rule.
-Here, two states are pushed onto the state stack, <code class="docutils literal notranslate"><span class="pre">'script-content'</span></code> and
-<code class="docutils literal notranslate"><span class="pre">'tag'</span></code>. That means that first <code class="docutils literal notranslate"><span class="pre">'tag'</span></code> is processed, which will lex
-attributes and the closing <code class="docutils literal notranslate"><span class="pre">></span></code>, then the <code class="docutils literal notranslate"><span class="pre">'tag'</span></code> state is popped and the
-next state on top of the stack will be <code class="docutils literal notranslate"><span class="pre">'script-content'</span></code>.</p>
-<p>Since you cannot refer to the class currently being defined, use <cite>this</cite>
-(imported from <cite>pygments.lexer</cite>) to refer to the current lexer class, i.e.
-<code class="docutils literal notranslate"><span class="pre">using(this)</span></code>. This construct may seem unnecessary, but this is often the
-most obvious way of lexing arbitrary syntax between fixed delimiters without
-introducing deeply nested states.</p>
-<p>The <cite>using()</cite> helper has a special keyword argument, <cite>state</cite>, which works as
-follows: if given, the lexer to use initially is not in the <code class="docutils literal notranslate"><span class="pre">"root"</span></code> state,
-but in the state given by this argument. This does not work with advanced
-<cite>RegexLexer</cite> subclasses such as <cite>ExtendedRegexLexer</cite> (see below).</p>
-<p>Any other keywords arguments passed to <cite>using()</cite> are added to the keyword
-arguments used to create the lexer.</p>
-</div>
-<div class="section" id="delegating-lexer">
-<h2>Delegating Lexer<a class="headerlink" href="#delegating-lexer" title="Permalink to this headline">¶</a></h2>
-<p>Another approach for nested lexers is the <cite>DelegatingLexer</cite> which is for example
-used for the template engine lexers. It takes two lexers as arguments on
-initialisation: a <cite>root_lexer</cite> and a <cite>language_lexer</cite>.</p>
-<p>The input is processed as follows: First, the whole text is lexed with the
-<cite>language_lexer</cite>. All tokens yielded with the special type of <code class="docutils literal notranslate"><span class="pre">Other</span></code> are
-then concatenated and given to the <cite>root_lexer</cite>. The language tokens of the
-<cite>language_lexer</cite> are then inserted into the <cite>root_lexer</cite>’s token stream at the
-appropriate positions.</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">DelegatingLexer</span>
-<span class="kn">from</span> <span class="nn">pygments.lexers.web</span> <span class="kn">import</span> <span class="n">HtmlLexer</span><span class="p">,</span> <span class="n">PhpLexer</span>
-
-<span class="k">class</span> <span class="nc">HtmlPhpLexer</span><span class="p">(</span><span class="n">DelegatingLexer</span><span class="p">):</span>
- <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">):</span>
- <span class="nb">super</span><span class="p">(</span><span class="n">HtmlPhpLexer</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">HtmlLexer</span><span class="p">,</span> <span class="n">PhpLexer</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>This procedure ensures that e.g. HTML with template tags in it is highlighted
-correctly even if the template tags are put into HTML tags or attributes.</p>
-<p>If you want to change the needle token <code class="docutils literal notranslate"><span class="pre">Other</span></code> to something else, you can give
-the lexer another token type as the third parameter:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">DelegatingLexer</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">MyLexer</span><span class="p">,</span> <span class="n">OtherLexer</span><span class="p">,</span> <span class="n">Text</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="callbacks">
-<h2>Callbacks<a class="headerlink" href="#callbacks" title="Permalink to this headline">¶</a></h2>
-<p>Sometimes the grammar of a language is so complex that a lexer would be unable
-to process it just by using regular expressions and stacks.</p>
-<p>For this, the <cite>RegexLexer</cite> allows callbacks to be given in rule tuples, instead
-of token types (<cite>bygroups</cite> and <cite>using</cite> are nothing else but preimplemented
-callbacks). The callback must be a function taking two arguments:</p>
-<ul class="simple">
-<li><p>the lexer itself</p></li>
-<li><p>the match object for the last matched rule</p></li>
-</ul>
-<p>The callback must then return an iterable of (or simply yield) <code class="docutils literal notranslate"><span class="pre">(index,</span>
-<span class="pre">tokentype,</span> <span class="pre">value)</span></code> tuples, which are then just passed through by
-<cite>get_tokens_unprocessed()</cite>. The <code class="docutils literal notranslate"><span class="pre">index</span></code> here is the position of the token in
-the input string, <code class="docutils literal notranslate"><span class="pre">tokentype</span></code> is the normal token type (like <cite>Name.Builtin</cite>),
-and <code class="docutils literal notranslate"><span class="pre">value</span></code> the associated part of the input string.</p>
-<p>You can see an example here:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Generic</span>
-
-<span class="k">class</span> <span class="nc">HypotheticLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
-
- <span class="k">def</span> <span class="nf">headline_callback</span><span class="p">(</span><span class="n">lexer</span><span class="p">,</span> <span class="n">match</span><span class="p">):</span>
- <span class="n">equal_signs</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
- <span class="n">text</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
- <span class="k">yield</span> <span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">(),</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Headline</span><span class="p">,</span> <span class="n">equal_signs</span> <span class="o">+</span> <span class="n">text</span> <span class="o">+</span> <span class="n">equal_signs</span>
-
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'(=+)(.*?)(\1)'</span><span class="p">,</span> <span class="n">headline_callback</span><span class="p">)</span>
- <span class="p">]</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>If the regex for the <cite>headline_callback</cite> matches, the function is called with
-the match object. Note that after the callback is done, processing continues
-normally, that is, after the end of the previous match. The callback has no
-possibility to influence the position.</p>
-<p>There are not really any simple examples for lexer callbacks, but you can see
-them in action e.g. in the <cite>SMLLexer</cite> class in <a class="reference external" href="https://github.com/pygments/pygments/blob/master/pygments/lexers/ml.py">ml.py</a>.</p>
-</div>
-<div class="section" id="the-extendedregexlexer-class">
-<h2>The ExtendedRegexLexer class<a class="headerlink" href="#the-extendedregexlexer-class" title="Permalink to this headline">¶</a></h2>
-<p>The <cite>RegexLexer</cite>, even with callbacks, unfortunately isn’t powerful enough for
-the funky syntax rules of languages such as Ruby.</p>
-<p>But fear not; even then you don’t have to abandon the regular expression
-approach: Pygments has a subclass of <cite>RegexLexer</cite>, the <cite>ExtendedRegexLexer</cite>.
-All features known from RegexLexers are available here too, and the tokens are
-specified in exactly the same way, <em>except</em> for one detail:</p>
-<p>The <cite>get_tokens_unprocessed()</cite> method holds its internal state data not as local
-variables, but in an instance of the <cite>pygments.lexer.LexerContext</cite> class, and
-that instance is passed to callbacks as a third argument. This means that you
-can modify the lexer state in callbacks.</p>
-<p>The <cite>LexerContext</cite> class has the following members:</p>
-<ul class="simple">
-<li><p><cite>text</cite> – the input text</p></li>
-<li><p><cite>pos</cite> – the current starting position that is used for matching regexes</p></li>
-<li><p><cite>stack</cite> – a list containing the state stack</p></li>
-<li><p><cite>end</cite> – the maximum position to which regexes are matched, this defaults to
-the length of <cite>text</cite></p></li>
-</ul>
-<p>Additionally, the <cite>get_tokens_unprocessed()</cite> method can be given a
-<cite>LexerContext</cite> instead of a string and will then process this context instead of
-creating a new one for the string argument.</p>
-<p>Note that because you can set the current position to anything in the callback,
-it won’t be automatically be set by the caller after the callback is finished.
-For example, this is how the hypothetical lexer above would be written with the
-<cite>ExtendedRegexLexer</cite>:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">ExtendedRegexLexer</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Generic</span>
-
-<span class="k">class</span> <span class="nc">ExHypotheticLexer</span><span class="p">(</span><span class="n">ExtendedRegexLexer</span><span class="p">):</span>
-
- <span class="k">def</span> <span class="nf">headline_callback</span><span class="p">(</span><span class="n">lexer</span><span class="p">,</span> <span class="n">match</span><span class="p">,</span> <span class="n">ctx</span><span class="p">):</span>
- <span class="n">equal_signs</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
- <span class="n">text</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
- <span class="k">yield</span> <span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">(),</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Headline</span><span class="p">,</span> <span class="n">equal_signs</span> <span class="o">+</span> <span class="n">text</span> <span class="o">+</span> <span class="n">equal_signs</span>
- <span class="n">ctx</span><span class="o">.</span><span class="n">pos</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">end</span><span class="p">()</span>
-
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'(=+)(.*?)(\1)'</span><span class="p">,</span> <span class="n">headline_callback</span><span class="p">)</span>
- <span class="p">]</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>This might sound confusing (and it can really be). But it is needed, and for an
-example look at the Ruby lexer in <a class="reference external" href="https://github.com/pygments/pygments/blob/master/pygments/lexers/ruby.py">ruby.py</a>.</p>
-</div>
-<div class="section" id="handling-lists-of-keywords">
-<h2>Handling Lists of Keywords<a class="headerlink" href="#handling-lists-of-keywords" title="Permalink to this headline">¶</a></h2>
-<p>For a relatively short list (hundreds) you can construct an optimized regular
-expression directly using <code class="docutils literal notranslate"><span class="pre">words()</span></code> (longer lists, see next section). This
-function handles a few things for you automatically, including escaping
-metacharacters and Python’s first-match rather than longest-match in
-alternations. Feel free to put the lists themselves in
-<code class="docutils literal notranslate"><span class="pre">pygments/lexers/_$lang_builtins.py</span></code> (see examples there), and generated by
-code if possible.</p>
-<p>An example of using <code class="docutils literal notranslate"><span class="pre">words()</span></code> is something like:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">words</span><span class="p">,</span> <span class="n">Name</span>
-
-<span class="k">class</span> <span class="nc">MyLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
-
- <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
- <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">(</span><span class="n">words</span><span class="p">((</span><span class="s1">'else'</span><span class="p">,</span> <span class="s1">'elseif'</span><span class="p">),</span> <span class="n">suffix</span><span class="o">=</span><span class="sa">r</span><span class="s1">'\b'</span><span class="p">),</span> <span class="n">Name</span><span class="o">.</span><span class="n">Builtin</span><span class="p">),</span>
- <span class="p">(</span><span class="sa">r</span><span class="s1">'\w+'</span><span class="p">,</span> <span class="n">Name</span><span class="p">),</span>
- <span class="p">],</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>As you can see, you can add <code class="docutils literal notranslate"><span class="pre">prefix</span></code> and <code class="docutils literal notranslate"><span class="pre">suffix</span></code> parts to the constructed
-regex.</p>
-</div>
-<div class="section" id="modifying-token-streams">
-<h2>Modifying Token Streams<a class="headerlink" href="#modifying-token-streams" title="Permalink to this headline">¶</a></h2>
-<p>Some languages ship a lot of builtin functions (for example PHP). The total
-amount of those functions differs from system to system because not everybody
-has every extension installed. In the case of PHP there are over 3000 builtin
-functions. That’s an incredibly huge amount of functions, much more than you
-want to put into a regular expression.</p>
-<p>But because only <cite>Name</cite> tokens can be function names this is solvable by
-overriding the <code class="docutils literal notranslate"><span class="pre">get_tokens_unprocessed()</span></code> method. The following lexer
-subclasses the <cite>PythonLexer</cite> so that it highlights some additional names as
-pseudo keywords:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexers.python</span> <span class="kn">import</span> <span class="n">PythonLexer</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Name</span><span class="p">,</span> <span class="n">Keyword</span>
-
-<span class="k">class</span> <span class="nc">MyPythonLexer</span><span class="p">(</span><span class="n">PythonLexer</span><span class="p">):</span>
- <span class="n">EXTRA_KEYWORDS</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="s1">'foo'</span><span class="p">,</span> <span class="s1">'bar'</span><span class="p">,</span> <span class="s1">'foobar'</span><span class="p">,</span> <span class="s1">'barfoo'</span><span class="p">,</span> <span class="s1">'spam'</span><span class="p">,</span> <span class="s1">'eggs'</span><span class="p">))</span>
-
- <span class="k">def</span> <span class="nf">get_tokens_unprocessed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">):</span>
- <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">token</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">PythonLexer</span><span class="o">.</span><span class="n">get_tokens_unprocessed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">):</span>
- <span class="k">if</span> <span class="n">token</span> <span class="ow">is</span> <span class="n">Name</span> <span class="ow">and</span> <span class="n">value</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">EXTRA_KEYWORDS</span><span class="p">:</span>
- <span class="k">yield</span> <span class="n">index</span><span class="p">,</span> <span class="n">Keyword</span><span class="o">.</span><span class="n">Pseudo</span><span class="p">,</span> <span class="n">value</span>
- <span class="k">else</span><span class="p">:</span>
- <span class="k">yield</span> <span class="n">index</span><span class="p">,</span> <span class="n">token</span><span class="p">,</span> <span class="n">value</span>
-</pre></div>
-</div>
-<p>The <cite>PhpLexer</cite> and <cite>LuaLexer</cite> use this method to resolve builtin functions.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Available lexers — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Filters" href="../filters/" />
- <link rel="prev" title="Command Line Interface" href="../cmdline/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Available lexers</a><ul>
-<li><a class="reference internal" href="#lexers-for-actionscript-and-mxml">Lexers for ActionScript and MXML</a></li>
-<li><a class="reference internal" href="#lexers-for-computer-algebra-systems">Lexers for computer algebra systems</a></li>
-<li><a class="reference internal" href="#lexers-for-ambienttalk-language">Lexers for AmbientTalk language</a></li>
-<li><a class="reference internal" href="#lexers-for-the-ampl-language">Lexers for the AMPL language</a></li>
-<li><a class="reference internal" href="#lexers-for-apl">Lexers for APL</a></li>
-<li><a class="reference internal" href="#lexer-for-archetype-related-syntaxes-including">Lexer for Archetype-related syntaxes, including:</a></li>
-<li><a class="reference internal" href="#lexers-for-assembly-languages">Lexers for assembly languages</a></li>
-<li><a class="reference internal" href="#lexers-for-automation-scripting-languages">Lexers for automation scripting languages</a></li>
-<li><a class="reference internal" href="#lexers-for-basic-like-languages-other-than-vb-net">Lexers for BASIC like languages (other than VB.net)</a></li>
-<li><a class="reference internal" href="#lexers-for-bibtex-bibliography-data-and-styles">Lexers for BibTeX bibliography data and styles</a></li>
-<li><a class="reference internal" href="#lexers-for-the-boa-language">Lexers for the Boa language</a></li>
-<li><a class="reference internal" href="#lexers-for-business-oriented-languages">Lexers for “business-oriented” languages</a></li>
-<li><a class="reference internal" href="#lexers-for-c-c-languages">Lexers for C/C++ languages</a></li>
-<li><a class="reference internal" href="#lexers-for-other-c-like-languages">Lexers for other C-like languages</a></li>
-<li><a class="reference internal" href="#lexers-for-the-cap-n-proto-schema-language">Lexers for the Cap’n Proto schema language</a></li>
-<li><a class="reference internal" href="#lexer-for-the-chapel-language">Lexer for the Chapel language</a></li>
-<li><a class="reference internal" href="#lexer-for-the-clean-language">Lexer for the Clean language</a></li>
-<li><a class="reference internal" href="#lexers-for-configuration-file-formats">Lexers for configuration file formats</a></li>
-<li><a class="reference internal" href="#lexers-for-misc-console-output">Lexers for misc console output</a></li>
-<li><a class="reference internal" href="#lexer-for-crystal">Lexer for Crystal</a></li>
-<li><a class="reference internal" href="#lexers-for-csound-languages">Lexers for Csound languages</a></li>
-<li><a class="reference internal" href="#lexers-for-css-and-related-stylesheet-formats">Lexers for CSS and related stylesheet formats</a></li>
-<li><a class="reference internal" href="#lexers-for-d-languages">Lexers for D languages</a></li>
-<li><a class="reference internal" href="#pygments-lexers-for-dalvik-vm-related-languages">Pygments lexers for Dalvik VM-related languages</a></li>
-<li><a class="reference internal" href="#lexers-for-data-file-format">Lexers for data file format</a></li>
-<li><a class="reference internal" href="#lexers-for-diff-patch-formats">Lexers for diff/patch formats</a></li>
-<li><a class="reference internal" href="#lexers-for-net-languages">Lexers for .net languages</a></li>
-<li><a class="reference internal" href="#lexers-for-various-domain-specific-languages">Lexers for various domain-specific languages</a></li>
-<li><a class="reference internal" href="#lexers-for-the-dylan-language">Lexers for the Dylan language</a></li>
-<li><a class="reference internal" href="#lexers-for-the-ecl-language">Lexers for the ECL language</a></li>
-<li><a class="reference internal" href="#lexer-for-the-eiffel-language">Lexer for the Eiffel language</a></li>
-<li><a class="reference internal" href="#lexer-for-the-elm-programming-language">Lexer for the Elm programming language</a></li>
-<li><a class="reference internal" href="#lexer-for-the-raw-e-mail">Lexer for the raw E-mail</a></li>
-<li><a class="reference internal" href="#lexers-for-erlang">Lexers for Erlang</a></li>
-<li><a class="reference internal" href="#lexers-for-esoteric-languages">Lexers for esoteric languages</a></li>
-<li><a class="reference internal" href="#pygments-lexers-for-ezhil-language">Pygments lexers for Ezhil language</a></li>
-<li><a class="reference internal" href="#lexers-for-the-factor-language">Lexers for the Factor language</a></li>
-<li><a class="reference internal" href="#lexer-for-the-fantom-language">Lexer for the Fantom language</a></li>
-<li><a class="reference internal" href="#lexer-for-the-felix-language">Lexer for the Felix language</a></li>
-<li><a class="reference internal" href="#lexer-for-floscript">Lexer for FloScript</a></li>
-<li><a class="reference internal" href="#lexer-for-the-forth-language">Lexer for the Forth language</a></li>
-<li><a class="reference internal" href="#lexers-for-fortran-languages">Lexers for Fortran languages</a></li>
-<li><a class="reference internal" href="#simple-lexer-for-microsoft-visual-foxpro-source-code">Simple lexer for Microsoft Visual FoxPro source code</a></li>
-<li><a class="reference internal" href="#lexer-for-freefem-language">Lexer for FreeFem++ language</a></li>
-<li><a class="reference internal" href="#lexers-for-the-google-go-language">Lexers for the Google Go language</a></li>
-<li><a class="reference internal" href="#lexers-for-grammer-notations-like-bnf">Lexers for grammer notations like BNF</a></li>
-<li><a class="reference internal" href="#lexers-for-graph-query-languages">Lexers for graph query languages</a></li>
-<li><a class="reference internal" href="#lexers-for-computer-graphics-and-plotting-related-languages">Lexers for computer graphics and plotting related languages</a></li>
-<li><a class="reference internal" href="#lexers-for-haskell-and-related-languages">Lexers for Haskell and related languages</a></li>
-<li><a class="reference internal" href="#lexers-for-haxe-and-related-stuff">Lexers for Haxe and related stuff</a></li>
-<li><a class="reference internal" href="#lexers-for-hardware-descriptor-languages">Lexers for hardware descriptor languages</a></li>
-<li><a class="reference internal" href="#lexers-for-hexadecimal-dumps">Lexers for hexadecimal dumps</a></li>
-<li><a class="reference internal" href="#lexers-for-html-xml-and-related-markup">Lexers for HTML, XML and related markup</a></li>
-<li><a class="reference internal" href="#lexers-for-idl">Lexers for IDL</a></li>
-<li><a class="reference internal" href="#lexers-for-igor-pro">Lexers for Igor Pro</a></li>
-<li><a class="reference internal" href="#lexers-for-inferno-os-and-all-the-related-stuff">Lexers for Inferno os and all the related stuff</a></li>
-<li><a class="reference internal" href="#lexers-for-installer-packager-dsls-and-formats">Lexers for installer/packager DSLs and formats</a></li>
-<li><a class="reference internal" href="#lexers-for-interactive-fiction-languages">Lexers for interactive fiction languages</a></li>
-<li><a class="reference internal" href="#lexers-for-the-io-language">Lexers for the Io language</a></li>
-<li><a class="reference internal" href="#lexer-for-the-j-programming-language">Lexer for the J programming language</a></li>
-<li><a class="reference internal" href="#lexers-for-javascript-and-related-languages">Lexers for JavaScript and related languages</a></li>
-<li><a class="reference internal" href="#lexers-for-the-julia-language">Lexers for the Julia language</a></li>
-<li><a class="reference internal" href="#pygments-lexers-for-jvm-languages">Pygments lexers for JVM languages</a></li>
-<li><a class="reference internal" href="#lexers-for-lispy-languages">Lexers for Lispy languages</a></li>
-<li><a class="reference internal" href="#lexers-for-makefiles-and-similar">Lexers for Makefiles and similar</a></li>
-<li><a class="reference internal" href="#lexers-for-non-html-markup-languages">Lexers for non-HTML markup languages</a></li>
-<li><a class="reference internal" href="#lexers-for-matlab-and-related-languages">Lexers for Matlab and related languages</a></li>
-<li><a class="reference internal" href="#lexer-for-multipurpose-internet-mail-extensions-mime-data">Lexer for Multipurpose Internet Mail Extensions (MIME) data</a></li>
-<li><a class="reference internal" href="#lexers-for-ml-family-languages">Lexers for ML family languages</a></li>
-<li><a class="reference internal" href="#lexers-for-modeling-languages">Lexers for modeling languages</a></li>
-<li><a class="reference internal" href="#multi-dialect-lexer-for-modula-2">Multi-Dialect Lexer for Modula-2</a></li>
-<li><a class="reference internal" href="#lexer-for-the-monte-programming-language">Lexer for the Monte programming language</a></li>
-<li><a class="reference internal" href="#lexers-for-ncar-command-language">Lexers for NCAR Command Language</a></li>
-<li><a class="reference internal" href="#lexer-for-the-nim-language-formerly-known-as-nimrod">Lexer for the Nim language (formerly known as Nimrod)</a></li>
-<li><a class="reference internal" href="#lexer-for-the-nit-language">Lexer for the Nit language</a></li>
-<li><a class="reference internal" href="#lexers-for-the-nixos-nix-language">Lexers for the NixOS Nix language</a></li>
-<li><a class="reference internal" href="#lexers-for-oberon-family-languages">Lexers for Oberon family languages</a></li>
-<li><a class="reference internal" href="#lexers-for-objective-c-family-languages">Lexers for Objective-C family languages</a></li>
-<li><a class="reference internal" href="#lexers-for-the-ooc-language">Lexers for the Ooc language</a></li>
-<li><a class="reference internal" href="#lexer-for-parasail">Lexer for ParaSail</a></li>
-<li><a class="reference internal" href="#lexers-for-parser-generators">Lexers for parser generators</a></li>
-<li><a class="reference internal" href="#lexers-for-pascal-family-languages">Lexers for Pascal family languages</a></li>
-<li><a class="reference internal" href="#lexers-for-the-pawn-languages">Lexers for the Pawn languages</a></li>
-<li><a class="reference internal" href="#lexers-for-perl-and-related-languages">Lexers for Perl and related languages</a></li>
-<li><a class="reference internal" href="#lexers-for-php-and-related-languages">Lexers for PHP and related languages</a></li>
-<li><a class="reference internal" href="#lexers-for-pony-and-related-languages">Lexers for Pony and related languages</a></li>
-<li><a class="reference internal" href="#lexer-for-praat">Lexer for Praat</a></li>
-<li><a class="reference internal" href="#lexers-for-prolog-and-prolog-like-languages">Lexers for Prolog and Prolog-like languages</a></li>
-<li><a class="reference internal" href="#lexers-for-python-and-related-languages">Lexers for Python and related languages</a></li>
-<li><a class="reference internal" href="#lexer-for-qvt-operational-language">Lexer for QVT Operational language</a></li>
-<li><a class="reference internal" href="#lexers-for-the-r-s-languages">Lexers for the R/S languages</a></li>
-<li><a class="reference internal" href="#lexers-for-semantic-web-and-rdf-query-languages-and-markup">Lexers for semantic web and RDF query languages and markup</a></li>
-<li><a class="reference internal" href="#lexers-for-the-rebol-and-related-languages">Lexers for the REBOL and related languages</a></li>
-<li><a class="reference internal" href="#lexer-for-resource-definition-files">Lexer for resource definition files</a></li>
-<li><a class="reference internal" href="#lexer-for-relax-ng-compact-syntax">Lexer for Relax-NG Compact syntax</a></li>
-<li><a class="reference internal" href="#lexers-for-roboconf-dsl">Lexers for Roboconf DSL</a></li>
-<li><a class="reference internal" href="#lexer-for-robot-framework">Lexer for Robot Framework</a></li>
-<li><a class="reference internal" href="#lexers-for-ruby-and-related-languages">Lexers for Ruby and related languages</a></li>
-<li><a class="reference internal" href="#lexers-for-the-rust-language">Lexers for the Rust language</a></li>
-<li><a class="reference internal" href="#lexer-for-sas">Lexer for SAS</a></li>
-<li><a class="reference internal" href="#lexer-for-scripting-and-embedded-languages">Lexer for scripting and embedded languages</a></li>
-<li><a class="reference internal" href="#lexer-for-smart-game-format-sgf-file-format">Lexer for Smart Game Format (sgf) file format</a></li>
-<li><a class="reference internal" href="#lexers-for-various-shells">Lexers for various shells</a></li>
-<li><a class="reference internal" href="#lexer-for-the-slash-programming">Lexer for the Slash programming</a></li>
-<li><a class="reference internal" href="#lexers-for-smalltalk-and-related-languages">Lexers for Smalltalk and related languages</a></li>
-<li><a class="reference internal" href="#lexers-for-the-smv-languages">Lexers for the SMV languages</a></li>
-<li><a class="reference internal" href="#lexers-for-the-snobol-language">Lexers for the SNOBOL language</a></li>
-<li><a class="reference internal" href="#special-lexers">Special lexers</a></li>
-<li><a class="reference internal" href="#lexers-for-various-sql-dialects-and-related-interactive-sessions">Lexers for various SQL dialects and related interactive sessions</a></li>
-<li><a class="reference internal" href="#lexer-for-stata">Lexer for Stata</a></li>
-<li><a class="reference internal" href="#lexer-for-supercollider">Lexer for SuperCollider</a></li>
-<li><a class="reference internal" href="#lexers-for-tcl-and-related-languages">Lexers for Tcl and related languages</a></li>
-<li><a class="reference internal" href="#lexers-for-various-template-engines-markup">Lexers for various template engines’ markup</a></li>
-<li><a class="reference internal" href="#lexer-for-tera-term-macro-files">Lexer for Tera Term macro files</a></li>
-<li><a class="reference internal" href="#lexers-for-testing-languages">Lexers for testing languages</a></li>
-<li><a class="reference internal" href="#lexers-for-languages-related-to-text-processing">Lexers for languages related to text processing</a></li>
-<li><a class="reference internal" href="#lexers-for-various-text-formats">Lexers for various text formats</a></li>
-<li><a class="reference internal" href="#lexers-for-theorem-proving-languages">Lexers for theorem-proving languages</a></li>
-<li><a class="reference internal" href="#lexer-for-riverbed-s-trafficscript-rts-language">Lexer for RiverBed’s TrafficScript (RTS) language</a></li>
-<li><a class="reference internal" href="#lexers-for-typoscript">Lexers for TypoScript</a></li>
-<li><a class="reference internal" href="#lexers-for-the-icon-and-unicon-languages-including-ucode-vm">Lexers for the Icon and Unicon languages, including ucode VM</a></li>
-<li><a class="reference internal" href="#lexers-for-urbiscript-language">Lexers for UrbiScript language</a></li>
-<li><a class="reference internal" href="#lexers-for-varnish-configuration">Lexers for Varnish configuration</a></li>
-<li><a class="reference internal" href="#lexer-for-intermediate-verification-languages-ivls">Lexer for Intermediate Verification Languages (IVLs)</a></li>
-<li><a class="reference internal" href="#lexers-for-misc-web-stuff">Lexers for misc. web stuff</a></li>
-<li><a class="reference internal" href="#lexers-for-the-whiley-language">Lexers for the Whiley language</a></li>
-<li><a class="reference internal" href="#lexers-for-the-x10-programming-language">Lexers for the X10 programming language</a></li>
-<li><a class="reference internal" href="#lexers-for-xorg-configs">Lexers for Xorg configs</a></li>
-<li><a class="reference internal" href="#lexers-for-zig">Lexers for Zig</a></li>
-<li><a class="reference internal" href="#iterating-over-all-lexers">Iterating over all lexers</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../cmdline/"
- title="previous chapter">Command Line Interface</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../filters/"
- title="next chapter">Filters</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/lexers.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="available-lexers">
-<h1>Available lexers<a class="headerlink" href="#available-lexers" title="Permalink to this headline">¶</a></h1>
-<p>This page lists all available builtin lexers and the options they take.</p>
-<p>Currently, <strong>all lexers</strong> support these options:</p>
-<dl>
-<dt><cite>stripnl</cite></dt><dd><p>Strip leading and trailing newlines from the input (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>)</p>
-</dd>
-<dt><cite>stripall</cite></dt><dd><p>Strip all leading and trailing whitespace from the input (default:
-<code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-</dd>
-<dt><cite>ensurenl</cite></dt><dd><p>Make sure that the input ends with a newline (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>). This
-is required for some lexers that consume input linewise.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.3.</span></p>
-</div>
-</dd>
-<dt><cite>tabsize</cite></dt><dd><p>If given and greater than 0, expand tabs in the input (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>).</p>
-</dd>
-<dt><cite>encoding</cite></dt><dd><p>If given, must be an encoding name (such as <code class="docutils literal notranslate"><span class="pre">"utf-8"</span></code>). This encoding
-will be used to convert the input string to Unicode (if it is not already
-a Unicode string). The default is <code class="docutils literal notranslate"><span class="pre">"guess"</span></code>.</p>
-<p>If this option is set to <code class="docutils literal notranslate"><span class="pre">"guess"</span></code>, a simple UTF-8 vs. Latin-1
-detection is used, if it is set to <code class="docutils literal notranslate"><span class="pre">"chardet"</span></code>, the
-<a class="reference external" href="https://chardet.github.io/">chardet library</a> is used to
-guess the encoding of the input.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd>
-</dl>
-<p>The “Short Names” field lists the identifiers that can be used with the
-<cite>get_lexer_by_name()</cite> function.</p>
-<p>These lexers are builtin and can be imported from <cite>pygments.lexers</cite>:</p>
-<span class="target" id="module-pygments.lexers.actionscript"></span><div class="section" id="lexers-for-actionscript-and-mxml">
-<h2>Lexers for ActionScript and MXML<a class="headerlink" href="#lexers-for-actionscript-and-mxml" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.actionscript.ActionScript3Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.actionscript.</code><code class="descname">ActionScript3Lexer</code><a class="headerlink" href="#pygments.lexers.actionscript.ActionScript3Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>as3, actionscript3</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.as</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-actionscript3, text/x-actionscript3, text/actionscript3</p>
-</dd>
-</dl>
-<p>For ActionScript 3 source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.actionscript.ActionScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.actionscript.</code><code class="descname">ActionScriptLexer</code><a class="headerlink" href="#pygments.lexers.actionscript.ActionScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>as, actionscript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.as</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-actionscript, text/x-actionscript, text/actionscript</p>
-</dd>
-</dl>
-<p>For ActionScript source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.actionscript.MxmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.actionscript.</code><code class="descname">MxmlLexer</code><a class="headerlink" href="#pygments.lexers.actionscript.MxmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mxml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.mxml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For MXML markup.
-Nested AS3 in <script> tags is highlighted by the appropriate lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.algebra"></span></div>
-<div class="section" id="lexers-for-computer-algebra-systems">
-<h2>Lexers for computer algebra systems<a class="headerlink" href="#lexers-for-computer-algebra-systems" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.algebra.BCLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.algebra.</code><code class="descname">BCLexer</code><a class="headerlink" href="#pygments.lexers.algebra.BCLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A <a class="reference external" href="https://www.gnu.org/software/bc/">BC</a> lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.algebra.GAPLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.algebra.</code><code class="descname">GAPLexer</code><a class="headerlink" href="#pygments.lexers.algebra.GAPLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>gap</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.g, *.gd, *.gi, *.gap</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.gap-system.org">GAP</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.algebra.MathematicaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.algebra.</code><code class="descname">MathematicaLexer</code><a class="headerlink" href="#pygments.lexers.algebra.MathematicaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mathematica, mma, nb</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.nb, *.cdf, *.nbp, *.ma</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/mathematica, application/vnd.wolfram.mathematica, application/vnd.wolfram.mathematica.package, application/vnd.wolfram.cdf</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://www.wolfram.com/mathematica/">Mathematica</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.algebra.MuPADLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.algebra.</code><code class="descname">MuPADLexer</code><a class="headerlink" href="#pygments.lexers.algebra.MuPADLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mupad</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.mu</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A <a class="reference external" href="http://www.mupad.com">MuPAD</a> lexer.
-Contributed by Christopher Creutzig <<a class="reference external" href="mailto:christopher%40creutzig.de">christopher<span>@</span>creutzig<span>.</span>de</a>>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.8.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.ambient"></span></div>
-<div class="section" id="lexers-for-ambienttalk-language">
-<h2>Lexers for AmbientTalk language<a class="headerlink" href="#lexers-for-ambienttalk-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.ambient.AmbientTalkLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ambient.</code><code class="descname">AmbientTalkLexer</code><a class="headerlink" href="#pygments.lexers.ambient.AmbientTalkLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>at, ambienttalk, ambienttalk/2</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.at</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ambienttalk</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="https://code.google.com/p/ambienttalk">AmbientTalk</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.ampl"></span></div>
-<div class="section" id="lexers-for-the-ampl-language">
-<h2>Lexers for the AMPL language<a class="headerlink" href="#lexers-for-the-ampl-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.ampl.AmplLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ampl.</code><code class="descname">AmplLexer</code><a class="headerlink" href="#pygments.lexers.ampl.AmplLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ampl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.run</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://ampl.com/">AMPL</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.apl"></span></div>
-<div class="section" id="lexers-for-apl">
-<h2>Lexers for APL<a class="headerlink" href="#lexers-for-apl" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.apl.APLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.apl.</code><code class="descname">APLLexer</code><a class="headerlink" href="#pygments.lexers.apl.APLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>apl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.apl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A simple APL lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.archetype"></span></div>
-<div class="section" id="lexer-for-archetype-related-syntaxes-including">
-<h2>Lexer for Archetype-related syntaxes, including:<a class="headerlink" href="#lexer-for-archetype-related-syntaxes-including" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.archetype.AdlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.archetype.</code><code class="descname">AdlLexer</code><a class="headerlink" href="#pygments.lexers.archetype.AdlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>adl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.adl, *.adls, *.adlf, *.adlx</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for ADL syntax.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.archetype.CadlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.archetype.</code><code class="descname">CadlLexer</code><a class="headerlink" href="#pygments.lexers.archetype.CadlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cadl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cadl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for cADL syntax.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.archetype.OdinLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.archetype.</code><code class="descname">OdinLexer</code><a class="headerlink" href="#pygments.lexers.archetype.OdinLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>odin</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.odin</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/odin</p>
-</dd>
-</dl>
-<p>Lexer for ODIN syntax.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.asm"></span></div>
-<div class="section" id="lexers-for-assembly-languages">
-<h2>Lexers for assembly languages<a class="headerlink" href="#lexers-for-assembly-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.asm.CObjdumpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">CObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.CObjdumpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>c-objdump</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.c-objdump</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-c-objdump</p>
-</dd>
-</dl>
-<p>For the output of ‘objdump -Sr on compiled C files’</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.Ca65Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">Ca65Lexer</code><a class="headerlink" href="#pygments.lexers.asm.Ca65Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ca65</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.s</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For ca65 assembler sources.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.CppObjdumpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">CppObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.CppObjdumpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cpp-objdump, c++-objdumb, cxx-objdump</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cpp-objdump, *.c++-objdump, *.cxx-objdump</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-cpp-objdump</p>
-</dd>
-</dl>
-<p>For the output of ‘objdump -Sr on compiled C++ files’</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.DObjdumpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">DObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.DObjdumpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>d-objdump</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.d-objdump</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-d-objdump</p>
-</dd>
-</dl>
-<p>For the output of ‘objdump -Sr on compiled D files’</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.Dasm16Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">Dasm16Lexer</code><a class="headerlink" href="#pygments.lexers.asm.Dasm16Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>dasm16</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.dasm16, *.dasm</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-dasm16</p>
-</dd>
-</dl>
-<p>Simple lexer for DCPU-16 Assembly</p>
-<p>Check <a class="reference external" href="http://0x10c.com/doc/dcpu-16.txt">http://0x10c.com/doc/dcpu-16.txt</a></p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.GasLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">GasLexer</code><a class="headerlink" href="#pygments.lexers.asm.GasLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>gas, asm</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.s, *.S</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-gas</p>
-</dd>
-</dl>
-<p>For Gas (AT&T) assembly code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.HsailLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">HsailLexer</code><a class="headerlink" href="#pygments.lexers.asm.HsailLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>hsail, hsa</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.hsail</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-hsail</p>
-</dd>
-</dl>
-<p>For HSAIL assembly code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.LlvmLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">LlvmLexer</code><a class="headerlink" href="#pygments.lexers.asm.LlvmLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>llvm</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ll</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-llvm</p>
-</dd>
-</dl>
-<p>For LLVM assembly code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.NasmLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">NasmLexer</code><a class="headerlink" href="#pygments.lexers.asm.NasmLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>nasm</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.asm, *.ASM</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-nasm</p>
-</dd>
-</dl>
-<p>For Nasm (Intel) assembly code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.NasmObjdumpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">NasmObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.NasmObjdumpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>objdump-nasm</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.objdump-intel</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-nasm-objdump</p>
-</dd>
-</dl>
-<p>For the output of ‘objdump -d -M intel’.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.ObjdumpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">ObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.ObjdumpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>objdump</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.objdump</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-objdump</p>
-</dd>
-</dl>
-<p>For the output of ‘objdump -dr’</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.asm.TasmLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.asm.</code><code class="descname">TasmLexer</code><a class="headerlink" href="#pygments.lexers.asm.TasmLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>tasm</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.asm, *.ASM, *.tasm</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-tasm</p>
-</dd>
-</dl>
-<p>For Tasm (Turbo Assembler) assembly code.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.automation"></span></div>
-<div class="section" id="lexers-for-automation-scripting-languages">
-<h2>Lexers for automation scripting languages<a class="headerlink" href="#lexers-for-automation-scripting-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.automation.AutoItLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.automation.</code><code class="descname">AutoItLexer</code><a class="headerlink" href="#pygments.lexers.automation.AutoItLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>autoit</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.au3</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-autoit</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.autoitscript.com/site/autoit/">AutoIt</a> files.</p>
-<p>AutoIt is a freeware BASIC-like scripting language
-designed for automating the Windows GUI and general scripting</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.automation.AutohotkeyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.automation.</code><code class="descname">AutohotkeyLexer</code><a class="headerlink" href="#pygments.lexers.automation.AutohotkeyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ahk, autohotkey</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ahk, *.ahkl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-autohotkey</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.autohotkey.com/">autohotkey</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.basic"></span></div>
-<div class="section" id="lexers-for-basic-like-languages-other-than-vb-net">
-<h2>Lexers for BASIC like languages (other than VB.net)<a class="headerlink" href="#lexers-for-basic-like-languages-other-than-vb-net" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.basic.BBCBasicLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.basic.</code><code class="descname">BBCBasicLexer</code><a class="headerlink" href="#pygments.lexers.basic.BBCBasicLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bbcbasic</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bbc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>BBC Basic was supplied on the BBC Micro, and later Acorn RISC OS.
-It is also used by BBC Basic For Windows.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.basic.BlitzBasicLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.basic.</code><code class="descname">BlitzBasicLexer</code><a class="headerlink" href="#pygments.lexers.basic.BlitzBasicLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>blitzbasic, b3d, bplus</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bb, *.decls</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-bb</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://blitzbasic.com">BlitzBasic</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.basic.BlitzMaxLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.basic.</code><code class="descname">BlitzMaxLexer</code><a class="headerlink" href="#pygments.lexers.basic.BlitzMaxLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>blitzmax, bmax</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bmx</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-bmx</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://blitzbasic.com">BlitzMax</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.basic.CbmBasicV2Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.basic.</code><code class="descname">CbmBasicV2Lexer</code><a class="headerlink" href="#pygments.lexers.basic.CbmBasicV2Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cbmbas</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bas</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For CBM BASIC V2 sources.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.basic.MonkeyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.basic.</code><code class="descname">MonkeyLexer</code><a class="headerlink" href="#pygments.lexers.basic.MonkeyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>monkey</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.monkey</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-monkey</p>
-</dd>
-</dl>
-<p>For
-<a class="reference external" href="https://en.wikipedia.org/wiki/Monkey_(programming_language)">Monkey</a>
-source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.basic.QBasicLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.basic.</code><code class="descname">QBasicLexer</code><a class="headerlink" href="#pygments.lexers.basic.QBasicLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>qbasic, basic</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.BAS, *.bas</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/basic</p>
-</dd>
-</dl>
-<p>For
-<a class="reference external" href="http://en.wikipedia.org/wiki/QBasic">QBasic</a>
-source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.basic.VBScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.basic.</code><code class="descname">VBScriptLexer</code><a class="headerlink" href="#pygments.lexers.basic.VBScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>vbscript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.vbs, *.VBS</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>VBScript is scripting language that is modeled on Visual Basic.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.bibtex"></span></div>
-<div class="section" id="lexers-for-bibtex-bibliography-data-and-styles">
-<h2>Lexers for BibTeX bibliography data and styles<a class="headerlink" href="#lexers-for-bibtex-bibliography-data-and-styles" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.bibtex.BSTLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.bibtex.</code><code class="descname">BSTLexer</code><a class="headerlink" href="#pygments.lexers.bibtex.BSTLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bst, bst-pybtex</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bst</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for BibTeX bibliography styles.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.bibtex.BibTeXLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.bibtex.</code><code class="descname">BibTeXLexer</code><a class="headerlink" href="#pygments.lexers.bibtex.BibTeXLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bib, bibtex</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bib</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-bibtex</p>
-</dd>
-</dl>
-<p>A lexer for BibTeX bibliography data format.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.boa"></span></div>
-<div class="section" id="lexers-for-the-boa-language">
-<h2>Lexers for the Boa language<a class="headerlink" href="#lexers-for-the-boa-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.boa.BoaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.boa.</code><code class="descname">BoaLexer</code><a class="headerlink" href="#pygments.lexers.boa.BoaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>boa</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.boa</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for the <a class="reference external" href="http://boa.cs.iastate.edu/docs/">Boa</a> language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.business"></span></div>
-<div class="section" id="lexers-for-business-oriented-languages">
-<h2>Lexers for “business-oriented” languages<a class="headerlink" href="#lexers-for-business-oriented-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.business.ABAPLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.business.</code><code class="descname">ABAPLexer</code><a class="headerlink" href="#pygments.lexers.business.ABAPLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>abap</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.abap, *.ABAP</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-abap</p>
-</dd>
-</dl>
-<p>Lexer for ABAP, SAP’s integrated language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.business.CobolFreeformatLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.business.</code><code class="descname">CobolFreeformatLexer</code><a class="headerlink" href="#pygments.lexers.business.CobolFreeformatLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cobolfree</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cbl, *.CBL</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for Free format OpenCOBOL code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.business.CobolLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.business.</code><code class="descname">CobolLexer</code><a class="headerlink" href="#pygments.lexers.business.CobolLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cobol</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cob, *.COB, *.cpy, *.CPY</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-cobol</p>
-</dd>
-</dl>
-<p>Lexer for OpenCOBOL code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.business.GoodDataCLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.business.</code><code class="descname">GoodDataCLLexer</code><a class="headerlink" href="#pygments.lexers.business.GoodDataCLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>gooddata-cl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.gdc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-gooddata-cl</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://github.com/gooddata/GoodData-CL/raw/master/cli/src/main/resources/com/gooddata/processor/COMMANDS.txt">GoodData-CL</a>
-script files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.business.MaqlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.business.</code><code class="descname">MaqlLexer</code><a class="headerlink" href="#pygments.lexers.business.MaqlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>maql</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.maql</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-gooddata-maql, application/x-gooddata-maql</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="https://secure.gooddata.com/docs/html/advanced.metric.tutorial.html">GoodData MAQL</a>
-scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.business.OpenEdgeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.business.</code><code class="descname">OpenEdgeLexer</code><a class="headerlink" href="#pygments.lexers.business.OpenEdgeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>openedge, abl, progress</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.p, *.cls</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-openedge, application/x-openedge</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://web.progress.com/en/openedge/abl.html">OpenEdge ABL (formerly Progress)</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.c_cpp"></span></div>
-<div class="section" id="lexers-for-c-c-languages">
-<h2>Lexers for C/C++ languages<a class="headerlink" href="#lexers-for-c-c-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.c_cpp.CLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_cpp.</code><code class="descname">CLexer</code><a class="headerlink" href="#pygments.lexers.c_cpp.CLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>c</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.c, *.h, *.idc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-chdr, text/x-csrc</p>
-</dd>
-</dl>
-<p>For C source code with preprocessor directives.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_cpp.CppLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_cpp.</code><code class="descname">CppLexer</code><a class="headerlink" href="#pygments.lexers.c_cpp.CppLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cpp, c++</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cpp, *.hpp, *.c++, *.h++, *.cc, *.hh, *.cxx, *.hxx, *.C, *.H, *.cp, *.CPP</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-c++hdr, text/x-c++src</p>
-</dd>
-</dl>
-<p>For C++ source code with preprocessor directives.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.c_like"></span></div>
-<div class="section" id="lexers-for-other-c-like-languages">
-<h2>Lexers for other C-like languages<a class="headerlink" href="#lexers-for-other-c-like-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.c_like.ArduinoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">ArduinoLexer</code><a class="headerlink" href="#pygments.lexers.c_like.ArduinoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>arduino</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ino</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-arduino</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://arduino.cc/">Arduino(tm)</a> source.</p>
-<p>This is an extension of the CppLexer, as the Arduino® Language is a superset
-of C++</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_like.CharmciLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">CharmciLexer</code><a class="headerlink" href="#pygments.lexers.c_like.CharmciLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>charmci</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ci</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://charm.cs.illinois.edu">Charm++</a> interface files (.ci).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_like.ClayLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">ClayLexer</code><a class="headerlink" href="#pygments.lexers.c_like.ClayLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>clay</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.clay</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-clay</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://claylabs.com/clay/">Clay</a> source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_like.CudaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">CudaLexer</code><a class="headerlink" href="#pygments.lexers.c_like.CudaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cuda, cu</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cu, *.cuh</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-cuda</p>
-</dd>
-</dl>
-<p>For NVIDIA <a class="reference external" href="http://developer.nvidia.com/category/zone/cuda-zone">CUDA™</a>
-source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_like.ECLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">ECLexer</code><a class="headerlink" href="#pygments.lexers.c_like.ECLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ec</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ec, *.eh</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-echdr, text/x-ecsrc</p>
-</dd>
-</dl>
-<p>For eC source code with preprocessor directives.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_like.MqlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">MqlLexer</code><a class="headerlink" href="#pygments.lexers.c_like.MqlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mql, mq4, mq5, mql4, mql5</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.mq4, *.mq5, *.mqh</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-mql</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://docs.mql4.com/">MQL4</a> and
-<a class="reference external" href="http://www.mql5.com/en/docs">MQL5</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_like.NesCLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">NesCLexer</code><a class="headerlink" href="#pygments.lexers.c_like.NesCLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>nesc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.nc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-nescsrc</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://github.com/tinyos/nesc">nesC</a> source code with preprocessor
-directives.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_like.PikeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">PikeLexer</code><a class="headerlink" href="#pygments.lexers.c_like.PikeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pike</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pike, *.pmod</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-pike</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://pike.lysator.liu.se/">Pike</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_like.SwigLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">SwigLexer</code><a class="headerlink" href="#pygments.lexers.c_like.SwigLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>swig</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.swg, *.i</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/swig</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.swig.org/">SWIG</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.c_like.ValaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.c_like.</code><code class="descname">ValaLexer</code><a class="headerlink" href="#pygments.lexers.c_like.ValaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>vala, vapi</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.vala, *.vapi</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-vala</p>
-</dd>
-</dl>
-<p>For Vala source code with preprocessor directives.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.capnproto"></span></div>
-<div class="section" id="lexers-for-the-cap-n-proto-schema-language">
-<h2>Lexers for the Cap’n Proto schema language<a class="headerlink" href="#lexers-for-the-cap-n-proto-schema-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.capnproto.CapnProtoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.capnproto.</code><code class="descname">CapnProtoLexer</code><a class="headerlink" href="#pygments.lexers.capnproto.CapnProtoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>capnp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.capnp</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://capnproto.org">Cap’n Proto</a> source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.chapel"></span></div>
-<div class="section" id="lexer-for-the-chapel-language">
-<h2>Lexer for the Chapel language<a class="headerlink" href="#lexer-for-the-chapel-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.chapel.ChapelLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.chapel.</code><code class="descname">ChapelLexer</code><a class="headerlink" href="#pygments.lexers.chapel.ChapelLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>chapel, chpl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.chpl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://chapel.cray.com/">Chapel</a> source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.clean"></span></div>
-<div class="section" id="lexer-for-the-clean-language">
-<h2>Lexer for the Clean language<a class="headerlink" href="#lexer-for-the-clean-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.clean.CleanLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.clean.</code><code class="descname">CleanLexer</code><a class="headerlink" href="#pygments.lexers.clean.CleanLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>clean</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.icl, *.dcl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for the general purpose, state-of-the-art, pure and lazy functional
-programming language Clean (<a class="reference external" href="http://clean.cs.ru.nl/Clean">http://clean.cs.ru.nl/Clean</a>).</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.configs"></span></div>
-<div class="section" id="lexers-for-configuration-file-formats">
-<h2>Lexers for configuration file formats<a class="headerlink" href="#lexers-for-configuration-file-formats" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.configs.ApacheConfLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">ApacheConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.ApacheConfLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>apacheconf, aconf, apache</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>.htaccess, apache.conf, apache2.conf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-apacheconf</p>
-</dd>
-</dl>
-<p>Lexer for configuration files following the Apache config file
-format.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.AugeasLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">AugeasLexer</code><a class="headerlink" href="#pygments.lexers.configs.AugeasLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>augeas</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.aug</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://augeas.net">Augeas</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.Cfengine3Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">Cfengine3Lexer</code><a class="headerlink" href="#pygments.lexers.configs.Cfengine3Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cfengine3, cf3</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://cfengine.org">CFEngine3</a> policy files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.DockerLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">DockerLexer</code><a class="headerlink" href="#pygments.lexers.configs.DockerLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>docker, dockerfile</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>Dockerfile, *.docker</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-dockerfile-config</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://docker.io">Docker</a> configuration files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.IniLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">IniLexer</code><a class="headerlink" href="#pygments.lexers.configs.IniLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ini, cfg, dosini</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ini, *.cfg, *.inf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ini, text/inf</p>
-</dd>
-</dl>
-<p>Lexer for configuration files in INI style.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.KconfigLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">KconfigLexer</code><a class="headerlink" href="#pygments.lexers.configs.KconfigLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>kconfig, menuconfig, linux-config, kernel-config</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>Kconfig, *Config.in*, external.in*, standard-modules.in</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-kconfig</p>
-</dd>
-</dl>
-<p>For Linux-style Kconfig files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.LighttpdConfLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">LighttpdConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.LighttpdConfLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>lighty, lighttpd</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-lighttpd-conf</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://lighttpd.net/">Lighttpd</a> configuration files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.NginxConfLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">NginxConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.NginxConfLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>nginx</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>nginx.conf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-nginx-conf</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://nginx.net/">Nginx</a> configuration files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.PacmanConfLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">PacmanConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.PacmanConfLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pacmanconf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>pacman.conf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="https://www.archlinux.org/pacman/pacman.conf.5.html">pacman.conf</a>.</p>
-<p>Actually, IniLexer works almost fine for this format,
-but it yield error token. It is because pacman.conf has
-a form without assignment like:</p>
-<blockquote>
-<div><p>UseSyslog
-Color
-TotalDownload
-CheckSpace
-VerbosePkgLists</p>
-</div></blockquote>
-<p>These are flags to switch on.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.PkgConfigLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">PkgConfigLexer</code><a class="headerlink" href="#pygments.lexers.configs.PkgConfigLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pkgconfig</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a>
-(see also <a class="reference external" href="http://linux.die.net/man/1/pkg-config">manual page</a>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.PropertiesLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">PropertiesLexer</code><a class="headerlink" href="#pygments.lexers.configs.PropertiesLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>properties, jproperties</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.properties</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-java-properties</p>
-</dd>
-</dl>
-<p>Lexer for configuration files in Java’s properties format.</p>
-<p>Note: trailing whitespace counts as part of the value as per spec</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.RegeditLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">RegeditLexer</code><a class="headerlink" href="#pygments.lexers.configs.RegeditLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>registry</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.reg</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-windows-registry</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://en.wikipedia.org/wiki/Windows_Registry#.REG_files">Windows Registry</a> files produced
-by regedit.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.SquidConfLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">SquidConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.SquidConfLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>squidconf, squid.conf, squid</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>squid.conf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-squidconf</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://www.squid-cache.org/">squid</a> configuration files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.TOMLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">TOMLLexer</code><a class="headerlink" href="#pygments.lexers.configs.TOMLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>toml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.toml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="https://github.com/toml-lang/toml">TOML</a>, a simple language
-for config files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.TermcapLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">TermcapLexer</code><a class="headerlink" href="#pygments.lexers.configs.TermcapLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>termcap</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>termcap, termcap.src</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for termcap database source.</p>
-<p>This is very simple and minimal.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.TerminfoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">TerminfoLexer</code><a class="headerlink" href="#pygments.lexers.configs.TerminfoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>terminfo</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>terminfo, terminfo.src</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for terminfo database source.</p>
-<p>This is very simple and minimal.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.configs.TerraformLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.configs.</code><code class="descname">TerraformLexer</code><a class="headerlink" href="#pygments.lexers.configs.TerraformLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>terraform, tf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.tf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-tf, application/x-terraform</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="https://www.terraform.io/">terraformi .tf files</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.console"></span></div>
-<div class="section" id="lexers-for-misc-console-output">
-<h2>Lexers for misc console output<a class="headerlink" href="#lexers-for-misc-console-output" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.console.PyPyLogLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.console.</code><code class="descname">PyPyLogLexer</code><a class="headerlink" href="#pygments.lexers.console.PyPyLogLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pypylog, pypy</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pypylog</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-pypylog</p>
-</dd>
-</dl>
-<p>Lexer for PyPy log files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.console.VCTreeStatusLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.console.</code><code class="descname">VCTreeStatusLexer</code><a class="headerlink" href="#pygments.lexers.console.VCTreeStatusLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>vctreestatus</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For colorizing output of version control status commands, like “hg
-status” or “svn status”.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.crystal"></span></div>
-<div class="section" id="lexer-for-crystal">
-<h2>Lexer for Crystal<a class="headerlink" href="#lexer-for-crystal" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.crystal.CrystalLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.crystal.</code><code class="descname">CrystalLexer</code><a class="headerlink" href="#pygments.lexers.crystal.CrystalLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cr, crystal</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cr</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-crystal</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://crystal-lang.org">Crystal</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.csound"></span></div>
-<div class="section" id="lexers-for-csound-languages">
-<h2>Lexers for Csound languages<a class="headerlink" href="#lexers-for-csound-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.csound.CsoundDocumentLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.csound.</code><code class="descname">CsoundDocumentLexer</code><a class="headerlink" href="#pygments.lexers.csound.CsoundDocumentLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>csound-document, csound-csd</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.csd</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://csound.com">Csound</a> documents.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.csound.CsoundOrchestraLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.csound.</code><code class="descname">CsoundOrchestraLexer</code><a class="headerlink" href="#pygments.lexers.csound.CsoundOrchestraLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>csound, csound-orc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.orc, *.udo</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://csound.com">Csound</a> orchestras.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.csound.CsoundScoreLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.csound.</code><code class="descname">CsoundScoreLexer</code><a class="headerlink" href="#pygments.lexers.csound.CsoundScoreLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>csound-score, csound-sco</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sco</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://csound.com">Csound</a> scores.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.css"></span></div>
-<div class="section" id="lexers-for-css-and-related-stylesheet-formats">
-<h2>Lexers for CSS and related stylesheet formats<a class="headerlink" href="#lexers-for-css-and-related-stylesheet-formats" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.css.CssLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.css.</code><code class="descname">CssLexer</code><a class="headerlink" href="#pygments.lexers.css.CssLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.css</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/css</p>
-</dd>
-</dl>
-<p>For CSS (Cascading Style Sheets).</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.css.LessCssLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.css.</code><code class="descname">LessCssLexer</code><a class="headerlink" href="#pygments.lexers.css.LessCssLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>less</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.less</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-less-css</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://lesscss.org/">LESS</a> styleshets.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.css.SassLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.css.</code><code class="descname">SassLexer</code><a class="headerlink" href="#pygments.lexers.css.SassLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sass</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sass</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-sass</p>
-</dd>
-</dl>
-<p>For Sass stylesheets.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.3.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.css.ScssLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.css.</code><code class="descname">ScssLexer</code><a class="headerlink" href="#pygments.lexers.css.ScssLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>scss</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.scss</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-scss</p>
-</dd>
-</dl>
-<p>For SCSS stylesheets.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.d"></span></div>
-<div class="section" id="lexers-for-d-languages">
-<h2>Lexers for D languages<a class="headerlink" href="#lexers-for-d-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.d.CrocLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.d.</code><code class="descname">CrocLexer</code><a class="headerlink" href="#pygments.lexers.d.CrocLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>croc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.croc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-crocsrc</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://jfbillingsley.com/croc">Croc</a> source.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.d.DLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.d.</code><code class="descname">DLexer</code><a class="headerlink" href="#pygments.lexers.d.DLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>d</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.d, *.di</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-dsrc</p>
-</dd>
-</dl>
-<p>For D source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.d.MiniDLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.d.</code><code class="descname">MiniDLexer</code><a class="headerlink" href="#pygments.lexers.d.MiniDLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>minid</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-minidsrc</p>
-</dd>
-</dl>
-<p>For MiniD source. MiniD is now known as Croc.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.dalvik"></span></div>
-<div class="section" id="pygments-lexers-for-dalvik-vm-related-languages">
-<h2>Pygments lexers for Dalvik VM-related languages<a class="headerlink" href="#pygments-lexers-for-dalvik-vm-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.dalvik.SmaliLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dalvik.</code><code class="descname">SmaliLexer</code><a class="headerlink" href="#pygments.lexers.dalvik.SmaliLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>smali</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.smali</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/smali</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://code.google.com/p/smali/">Smali</a> (Android/Dalvik) assembly
-code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.data"></span></div>
-<div class="section" id="lexers-for-data-file-format">
-<h2>Lexers for data file format<a class="headerlink" href="#lexers-for-data-file-format" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.data.JsonBareObjectLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.data.</code><code class="descname">JsonBareObjectLexer</code><a class="headerlink" href="#pygments.lexers.data.JsonBareObjectLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>json-object</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/json-object</p>
-</dd>
-</dl>
-<p>For JSON data structures (with missing object curly braces).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.data.JsonLdLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.data.</code><code class="descname">JsonLdLexer</code><a class="headerlink" href="#pygments.lexers.data.JsonLdLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>jsonld, json-ld</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.jsonld</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/ld+json</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://json-ld.org/">JSON-LD</a> linked data.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.data.JsonLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.data.</code><code class="descname">JsonLexer</code><a class="headerlink" href="#pygments.lexers.data.JsonLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>json</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.json</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/json</p>
-</dd>
-</dl>
-<p>For JSON data structures.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.data.YamlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.data.</code><code class="descname">YamlLexer</code><a class="headerlink" href="#pygments.lexers.data.YamlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>yaml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.yaml, *.yml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-yaml</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://yaml.org/">YAML</a>, a human-friendly data serialization
-language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.diff"></span></div>
-<div class="section" id="lexers-for-diff-patch-formats">
-<h2>Lexers for diff/patch formats<a class="headerlink" href="#lexers-for-diff-patch-formats" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.diff.DarcsPatchLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.diff.</code><code class="descname">DarcsPatchLexer</code><a class="headerlink" href="#pygments.lexers.diff.DarcsPatchLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>dpatch</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.dpatch, *.darcspatch</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>DarcsPatchLexer is a lexer for the various versions of the darcs patch
-format. Examples of this format are derived by commands such as
-<code class="docutils literal notranslate"><span class="pre">darcs</span> <span class="pre">annotate</span> <span class="pre">--patch</span></code> and <code class="docutils literal notranslate"><span class="pre">darcs</span> <span class="pre">send</span></code>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.diff.DiffLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.diff.</code><code class="descname">DiffLexer</code><a class="headerlink" href="#pygments.lexers.diff.DiffLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>diff, udiff</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.diff, *.patch</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-diff, text/x-patch</p>
-</dd>
-</dl>
-<p>Lexer for unified or context-style diffs or patches.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.diff.WDiffLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.diff.</code><code class="descname">WDiffLexer</code><a class="headerlink" href="#pygments.lexers.diff.WDiffLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>wdiff</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.wdiff</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A <a class="reference external" href="https://www.gnu.org/software/wdiff/">wdiff</a> lexer.</p>
-<p>Note that:</p>
-<ul class="simple">
-<li><p>only to normal output (without option like -l).</p></li>
-<li><p>if target files of wdiff contain “[-“, “-]”, “{+”, “+}”,
-especially they are unbalanced, this lexer will get confusing.</p></li>
-</ul>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.dotnet"></span></div>
-<div class="section" id="lexers-for-net-languages">
-<h2>Lexers for .net languages<a class="headerlink" href="#lexers-for-net-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.dotnet.BooLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dotnet.</code><code class="descname">BooLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.BooLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>boo</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.boo</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-boo</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://boo.codehaus.org/">Boo</a> source code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dotnet.CSharpAspxLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dotnet.</code><code class="descname">CSharpAspxLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.CSharpAspxLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>aspx-cs</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for highlighting C# within ASP.NET pages.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dotnet.CSharpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dotnet.</code><code class="descname">CSharpLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.CSharpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>csharp, c#</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cs</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-csharp</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://msdn2.microsoft.com/en-us/vcsharp/default.aspx">C#</a>
-source code.</p>
-<p>Additional options accepted:</p>
-<dl>
-<dt><cite>unicodelevel</cite></dt><dd><p>Determines which Unicode characters this lexer allows for identifiers.
-The possible values are:</p>
-<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">none</span></code> – only the ASCII letters and numbers are allowed. This
-is the fastest selection.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">basic</span></code> – all Unicode characters from the specification except
-category <code class="docutils literal notranslate"><span class="pre">Lo</span></code> are allowed.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">full</span></code> – all Unicode characters as specified in the C# specs
-are allowed. Note that this means a considerable slowdown since the
-<code class="docutils literal notranslate"><span class="pre">Lo</span></code> category has more than 40,000 characters in it!</p></li>
-</ul>
-<p>The default value is <code class="docutils literal notranslate"><span class="pre">basic</span></code>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.8.</span></p>
-</div>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dotnet.FSharpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dotnet.</code><code class="descname">FSharpLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.FSharpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>fsharp, f#</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.fs, *.fsi</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-fsharp</p>
-</dd>
-</dl>
-<p>For the <a class="reference external" href="https://fsharp.org/">F# language</a> (version 3.0).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dotnet.NemerleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dotnet.</code><code class="descname">NemerleLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.NemerleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>nemerle</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.n</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-nemerle</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://nemerle.org">Nemerle</a> source code.</p>
-<p>Additional options accepted:</p>
-<dl>
-<dt><cite>unicodelevel</cite></dt><dd><p>Determines which Unicode characters this lexer allows for identifiers.
-The possible values are:</p>
-<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">none</span></code> – only the ASCII letters and numbers are allowed. This
-is the fastest selection.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">basic</span></code> – all Unicode characters from the specification except
-category <code class="docutils literal notranslate"><span class="pre">Lo</span></code> are allowed.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">full</span></code> – all Unicode characters as specified in the C# specs
-are allowed. Note that this means a considerable slowdown since the
-<code class="docutils literal notranslate"><span class="pre">Lo</span></code> category has more than 40,000 characters in it!</p></li>
-</ul>
-<p>The default value is <code class="docutils literal notranslate"><span class="pre">basic</span></code>.</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dotnet.VbNetAspxLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dotnet.</code><code class="descname">VbNetAspxLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.VbNetAspxLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>aspx-vb</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for highlighting Visual Basic.net within ASP.NET pages.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dotnet.VbNetLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dotnet.</code><code class="descname">VbNetLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.VbNetLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>vb.net, vbnet</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.vb, *.bas</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-vbnet, text/x-vba</p>
-</dd>
-</dl>
-<p>For
-<a class="reference external" href="http://msdn2.microsoft.com/en-us/vbasic/default.aspx">Visual Basic.NET</a>
-source code.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.dsls"></span></div>
-<div class="section" id="lexers-for-various-domain-specific-languages">
-<h2>Lexers for various domain-specific languages<a class="headerlink" href="#lexers-for-various-domain-specific-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.dsls.AlloyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">AlloyLexer</code><a class="headerlink" href="#pygments.lexers.dsls.AlloyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>alloy</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.als</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-alloy</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://alloy.mit.edu">Alloy</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.BroLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">BroLexer</code><a class="headerlink" href="#pygments.lexers.dsls.BroLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bro</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bro</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://bro-ids.org/">Bro</a> scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.CrmshLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">CrmshLexer</code><a class="headerlink" href="#pygments.lexers.dsls.CrmshLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>crmsh, pcmk</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.crmsh, *.pcmk</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://crmsh.github.io/">crmsh</a> configuration files
-for Pacemaker clusters.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.FlatlineLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">FlatlineLexer</code><a class="headerlink" href="#pygments.lexers.dsls.FlatlineLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>flatline</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-flatline</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="https://github.com/bigmlcom/flatline">Flatline</a> expressions.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.MscgenLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">MscgenLexer</code><a class="headerlink" href="#pygments.lexers.dsls.MscgenLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mscgen, msc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.msc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.mcternan.me.uk/mscgen/">Mscgen</a> files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.PanLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">PanLexer</code><a class="headerlink" href="#pygments.lexers.dsls.PanLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pan</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pan</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://github.com/quattor/pan/">pan</a> source files.</p>
-<p>Based on tcsh lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.ProtoBufLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">ProtoBufLexer</code><a class="headerlink" href="#pygments.lexers.dsls.ProtoBufLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>protobuf, proto</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.proto</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://code.google.com/p/protobuf/">Protocol Buffer</a>
-definition files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.PuppetLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">PuppetLexer</code><a class="headerlink" href="#pygments.lexers.dsls.PuppetLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>puppet</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pp</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://puppetlabs.com/">Puppet</a> configuration DSL.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.RslLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">RslLexer</code><a class="headerlink" href="#pygments.lexers.dsls.RslLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rsl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rsl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/rsl</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://en.wikipedia.org/wiki/RAISE">RSL</a> is the formal specification
-language used in RAISE (Rigorous Approach to Industrial Software Engineering)
-method.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.SnowballLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">SnowballLexer</code><a class="headerlink" href="#pygments.lexers.dsls.SnowballLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>snowball</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sbl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://snowballstem.org/">Snowball</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.ThriftLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">ThriftLexer</code><a class="headerlink" href="#pygments.lexers.dsls.ThriftLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>thrift</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.thrift</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-thrift</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://thrift.apache.org/">Thrift</a> interface definitions.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dsls.VGLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dsls.</code><code class="descname">VGLLexer</code><a class="headerlink" href="#pygments.lexers.dsls.VGLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>vgl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rpf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.thermoscientific.com/samplemanager">SampleManager VGL</a>
-source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.dylan"></span></div>
-<div class="section" id="lexers-for-the-dylan-language">
-<h2>Lexers for the Dylan language<a class="headerlink" href="#lexers-for-the-dylan-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.dylan.DylanConsoleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dylan.</code><code class="descname">DylanConsoleLexer</code><a class="headerlink" href="#pygments.lexers.dylan.DylanConsoleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>dylan-console, dylan-repl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.dylan-console</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-dylan-console</p>
-</dd>
-</dl>
-<p>For Dylan interactive console output like:</p>
-<div class="highlight-dylan-console notranslate"><div class="highlight"><pre><span></span><span class="gp">?</span> <span class="k">let</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
-<span class="go">=> 1</span>
-<span class="gp">?</span> <span class="n">a</span>
-<span class="go">=> 1</span>
-</pre></div>
-</div>
-<p>This is based on a copy of the RubyConsoleLexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dylan.DylanLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dylan.</code><code class="descname">DylanLexer</code><a class="headerlink" href="#pygments.lexers.dylan.DylanLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>dylan</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.dylan, *.dyl, *.intr</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-dylan</p>
-</dd>
-</dl>
-<p>For the <a class="reference external" href="http://www.opendylan.org/">Dylan</a> language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.dylan.DylanLidLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.dylan.</code><code class="descname">DylanLidLexer</code><a class="headerlink" href="#pygments.lexers.dylan.DylanLidLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>dylan-lid, lid</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lid, *.hdp</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-dylan-lid</p>
-</dd>
-</dl>
-<p>For Dylan LID (Library Interchange Definition) files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.ecl"></span></div>
-<div class="section" id="lexers-for-the-ecl-language">
-<h2>Lexers for the ECL language<a class="headerlink" href="#lexers-for-the-ecl-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.ecl.ECLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ecl.</code><code class="descname">ECLLexer</code><a class="headerlink" href="#pygments.lexers.ecl.ECLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ecl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ecl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-ecl</p>
-</dd>
-</dl>
-<p>Lexer for the declarative big-data <a class="reference external" href="http://hpccsystems.com/community/docs/ecl-language-reference/html">ECL</a>
-language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.eiffel"></span></div>
-<div class="section" id="lexer-for-the-eiffel-language">
-<h2>Lexer for the Eiffel language<a class="headerlink" href="#lexer-for-the-eiffel-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.eiffel.EiffelLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.eiffel.</code><code class="descname">EiffelLexer</code><a class="headerlink" href="#pygments.lexers.eiffel.EiffelLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>eiffel</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.e</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-eiffel</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.eiffel.com">Eiffel</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.elm"></span></div>
-<div class="section" id="lexer-for-the-elm-programming-language">
-<h2>Lexer for the Elm programming language<a class="headerlink" href="#lexer-for-the-elm-programming-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.elm.ElmLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.elm.</code><code class="descname">ElmLexer</code><a class="headerlink" href="#pygments.lexers.elm.ElmLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>elm</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.elm</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-elm</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://elm-lang.org/">Elm</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.email"></span></div>
-<div class="section" id="lexer-for-the-raw-e-mail">
-<h2>Lexer for the raw E-mail<a class="headerlink" href="#lexer-for-the-raw-e-mail" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.email.EmailLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.email.</code><code class="descname">EmailLexer</code><a class="headerlink" href="#pygments.lexers.email.EmailLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>email, eml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.eml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>message/rfc822</p>
-</dd>
-</dl>
-<p>Lexer for raw E-mail.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>highlight-X-header</cite></dt><dd><p>Highlight the fields of <code class="docutils literal notranslate"><span class="pre">X-</span></code> user-defined email header. (default:
-<code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.erlang"></span></div>
-<div class="section" id="lexers-for-erlang">
-<h2>Lexers for Erlang<a class="headerlink" href="#lexers-for-erlang" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.erlang.ElixirConsoleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.erlang.</code><code class="descname">ElixirConsoleLexer</code><a class="headerlink" href="#pygments.lexers.erlang.ElixirConsoleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>iex</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-elixir-shellsession</p>
-</dd>
-</dl>
-<p>For Elixir interactive console (iex) output like:</p>
-<div class="highlight-iex notranslate"><div class="highlight"><pre><span></span><span class="gp">iex> </span><span class="p">[</span><span class="n">head</span> <span class="o">|</span> <span class="n">tail</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span>
-<span class="go">[1,2,3]</span>
-<span class="gp">iex> </span><span class="n">head</span>
-<span class="go">1</span>
-<span class="gp">iex> </span><span class="n">tail</span>
-<span class="go">[2,3]</span>
-<span class="gp">iex> </span><span class="p">[</span><span class="n">head</span> <span class="o">|</span> <span class="n">tail</span><span class="p">]</span>
-<span class="go">[1,2,3]</span>
-<span class="gp">iex> </span><span class="n">length</span> <span class="p">[</span><span class="n">head</span> <span class="o">|</span> <span class="n">tail</span><span class="p">]</span>
-<span class="go">3</span>
-</pre></div>
-</div>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.erlang.ElixirLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.erlang.</code><code class="descname">ElixirLexer</code><a class="headerlink" href="#pygments.lexers.erlang.ElixirLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>elixir, ex, exs</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ex, *.exs</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-elixir</p>
-</dd>
-</dl>
-<p>For the <a class="reference external" href="http://elixir-lang.org">Elixir language</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.erlang.ErlangLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.erlang.</code><code class="descname">ErlangLexer</code><a class="headerlink" href="#pygments.lexers.erlang.ErlangLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>erlang</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.erl, *.hrl, *.es, *.escript</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-erlang</p>
-</dd>
-</dl>
-<p>For the Erlang functional programming language.</p>
-<p>Blame Jeremy Thurgood (<a class="reference external" href="http://jerith.za.net/">http://jerith.za.net/</a>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.erlang.ErlangShellLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.erlang.</code><code class="descname">ErlangShellLexer</code><a class="headerlink" href="#pygments.lexers.erlang.ErlangShellLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>erl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.erl-sh</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-erl-shellsession</p>
-</dd>
-</dl>
-<p>Shell sessions in erl (for Erlang code).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.esoteric"></span></div>
-<div class="section" id="lexers-for-esoteric-languages">
-<h2>Lexers for esoteric languages<a class="headerlink" href="#lexers-for-esoteric-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.esoteric.AheuiLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.esoteric.</code><code class="descname">AheuiLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.AheuiLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>aheui</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.aheui</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://aheui.github.io/">Aheui</a> Lexer.</p>
-<p><a class="reference external" href="http://aheui.github.io/">Aheui</a> is esoteric language based on Korean alphabets.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.esoteric.BefungeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.esoteric.</code><code class="descname">BefungeLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.BefungeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>befunge</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.befunge</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-befunge</p>
-</dd>
-</dl>
-<p>Lexer for the esoteric <a class="reference external" href="http://en.wikipedia.org/wiki/Befunge">Befunge</a>
-language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.esoteric.BrainfuckLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.esoteric.</code><code class="descname">BrainfuckLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.BrainfuckLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>brainfuck, bf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bf, *.b</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-brainfuck</p>
-</dd>
-</dl>
-<p>Lexer for the esoteric <a class="reference external" href="http://www.muppetlabs.com/~breadbox/bf/">BrainFuck</a>
-language.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.esoteric.CAmkESLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.esoteric.</code><code class="descname">CAmkESLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.CAmkESLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>camkes, idl4</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.camkes, *.idl4</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Basic lexer for the input language for the
-<a class="reference external" href="https://sel4.systems/CAmkES/">CAmkES</a> component platform.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.esoteric.CapDLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.esoteric.</code><code class="descname">CapDLLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.CapDLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>capdl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cdl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Basic lexer for
-<a class="reference external" href="https://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pml">CapDL</a>.</p>
-<p>The source of the primary tool that reads such specifications is available
-at <a class="reference external" href="https://github.com/seL4/capdl/tree/master/capDL-tool">https://github.com/seL4/capdl/tree/master/capDL-tool</a>. Note that this
-lexer only supports a subset of the grammar. For example, identifiers can
-shadow type names, but these instances are currently incorrectly
-highlighted as types. Supporting this would need a stateful lexer that is
-considered unnecessarily complex for now.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.esoteric.RedcodeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.esoteric.</code><code class="descname">RedcodeLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.RedcodeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>redcode</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cw</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A simple Redcode lexer based on ICWS‘94.
-Contributed by Adam Blinkinsop <<a class="reference external" href="mailto:blinks%40acm.org">blinks<span>@</span>acm<span>.</span>org</a>>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.8.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.ezhil"></span></div>
-<div class="section" id="pygments-lexers-for-ezhil-language">
-<h2>Pygments lexers for Ezhil language<a class="headerlink" href="#pygments-lexers-for-ezhil-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.ezhil.EzhilLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ezhil.</code><code class="descname">EzhilLexer</code><a class="headerlink" href="#pygments.lexers.ezhil.EzhilLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ezhil</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.n</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ezhil</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://ezhillang.org">Ezhil, a Tamil script-based programming language</a></p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.factor"></span></div>
-<div class="section" id="lexers-for-the-factor-language">
-<h2>Lexers for the Factor language<a class="headerlink" href="#lexers-for-the-factor-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.factor.FactorLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.factor.</code><code class="descname">FactorLexer</code><a class="headerlink" href="#pygments.lexers.factor.FactorLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>factor</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.factor</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-factor</p>
-</dd>
-</dl>
-<p>Lexer for the <a class="reference external" href="http://factorcode.org">Factor</a> language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.fantom"></span></div>
-<div class="section" id="lexer-for-the-fantom-language">
-<h2>Lexer for the Fantom language<a class="headerlink" href="#lexer-for-the-fantom-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.fantom.FantomLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.fantom.</code><code class="descname">FantomLexer</code><a class="headerlink" href="#pygments.lexers.fantom.FantomLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>fan</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.fan</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-fantom</p>
-</dd>
-</dl>
-<p>For Fantom source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.felix"></span></div>
-<div class="section" id="lexer-for-the-felix-language">
-<h2>Lexer for the Felix language<a class="headerlink" href="#lexer-for-the-felix-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.felix.FelixLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.felix.</code><code class="descname">FelixLexer</code><a class="headerlink" href="#pygments.lexers.felix.FelixLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>felix, flx</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.flx, *.flxh</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-felix</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.felix-lang.org">Felix</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.floscript"></span></div>
-<div class="section" id="lexer-for-floscript">
-<h2>Lexer for FloScript<a class="headerlink" href="#lexer-for-floscript" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.floscript.FloScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.floscript.</code><code class="descname">FloScriptLexer</code><a class="headerlink" href="#pygments.lexers.floscript.FloScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>floscript, flo</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.flo</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://github.com/ioflo/ioflo">FloScript</a> configuration language source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.forth"></span></div>
-<div class="section" id="lexer-for-the-forth-language">
-<h2>Lexer for the Forth language<a class="headerlink" href="#lexer-for-the-forth-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.forth.ForthLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.forth.</code><code class="descname">ForthLexer</code><a class="headerlink" href="#pygments.lexers.forth.ForthLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>forth</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.frt, *.fs</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-forth</p>
-</dd>
-</dl>
-<p>Lexer for Forth files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.fortran"></span></div>
-<div class="section" id="lexers-for-fortran-languages">
-<h2>Lexers for Fortran languages<a class="headerlink" href="#lexers-for-fortran-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.fortran.FortranFixedLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.fortran.</code><code class="descname">FortranFixedLexer</code><a class="headerlink" href="#pygments.lexers.fortran.FortranFixedLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>fortranfixed</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.f, *.F</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for fixed format Fortran.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.fortran.FortranLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.fortran.</code><code class="descname">FortranLexer</code><a class="headerlink" href="#pygments.lexers.fortran.FortranLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>fortran</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.f03, *.f90, *.F03, *.F90</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-fortran</p>
-</dd>
-</dl>
-<p>Lexer for FORTRAN 90 code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.foxpro"></span></div>
-<div class="section" id="simple-lexer-for-microsoft-visual-foxpro-source-code">
-<h2>Simple lexer for Microsoft Visual FoxPro source code<a class="headerlink" href="#simple-lexer-for-microsoft-visual-foxpro-source-code" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.foxpro.FoxProLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.foxpro.</code><code class="descname">FoxProLexer</code><a class="headerlink" href="#pygments.lexers.foxpro.FoxProLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>foxpro, vfp, clipper, xbase</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.PRG, *.prg</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for Microsoft Visual FoxPro language.</p>
-<p>FoxPro syntax allows to shorten all keywords and function names
-to 4 characters. Shortened forms are not recognized by this lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.freefem"></span></div>
-<div class="section" id="lexer-for-freefem-language">
-<h2>Lexer for FreeFem++ language<a class="headerlink" href="#lexer-for-freefem-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.freefem.FreeFemLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.freefem.</code><code class="descname">FreeFemLexer</code><a class="headerlink" href="#pygments.lexers.freefem.FreeFemLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>freefem</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.edp</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-freefem</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://freefem.org/">FreeFem++</a> source.</p>
-<p>This is an extension of the CppLexer, as the FreeFem Language is a superset
-of C++.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.go"></span></div>
-<div class="section" id="lexers-for-the-google-go-language">
-<h2>Lexers for the Google Go language<a class="headerlink" href="#lexers-for-the-google-go-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.go.GoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.go.</code><code class="descname">GoLexer</code><a class="headerlink" href="#pygments.lexers.go.GoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>go</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.go</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-gosrc</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://golang.org">Go</a> source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.grammar_notation"></span></div>
-<div class="section" id="lexers-for-grammer-notations-like-bnf">
-<h2>Lexers for grammer notations like BNF<a class="headerlink" href="#lexers-for-grammer-notations-like-bnf" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.grammar_notation.AbnfLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.grammar_notation.</code><code class="descname">AbnfLexer</code><a class="headerlink" href="#pygments.lexers.grammar_notation.AbnfLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>abnf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.abnf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-abnf</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://www.ietf.org/rfc/rfc7405.txt">IETF 7405 ABNF</a>
-(Updates <a class="reference external" href="http://www.ietf.org/rfc/rfc5234.txt">5234</a>)
-grammars.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.grammar_notation.BnfLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.grammar_notation.</code><code class="descname">BnfLexer</code><a class="headerlink" href="#pygments.lexers.grammar_notation.BnfLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bnf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bnf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-bnf</p>
-</dd>
-</dl>
-<p>This lexer is for grammer notations which are similar to
-original BNF.</p>
-<p>In order to maximize a number of targets of this lexer,
-let’s decide some designs:</p>
-<ul class="simple">
-<li><p>We don’t distinguish <cite>Terminal Symbol</cite>.</p></li>
-<li><p>We do assume that <cite>NonTerminal Symbol</cite> are always enclosed
-with arrow brackets.</p></li>
-<li><p>We do assume that <cite>NonTerminal Symbol</cite> may include
-any printable characters except arrow brackets and ASCII 0x20.
-This assumption is for <a class="reference external" href="http://www.rfc-base.org/txt/rfc-5511.txt">RBNF</a>.</p></li>
-<li><p>We do assume that target notation doesn’t support comment.</p></li>
-<li><p>We don’t distinguish any operators and punctuation except
-<cite>::=</cite>.</p></li>
-</ul>
-<p>Though these desision making might cause too minimal highlighting
-and you might be disappointed, but it is reasonable for us.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.grammar_notation.JsgfLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.grammar_notation.</code><code class="descname">JsgfLexer</code><a class="headerlink" href="#pygments.lexers.grammar_notation.JsgfLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>jsgf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.jsgf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/jsgf, application/x-jsgf, text/jsgf</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://www.w3.org/TR/jsgf/">JSpeech Grammar Format</a>
-grammars.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.graph"></span></div>
-<div class="section" id="lexers-for-graph-query-languages">
-<h2>Lexers for graph query languages<a class="headerlink" href="#lexers-for-graph-query-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.graph.CypherLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.graph.</code><code class="descname">CypherLexer</code><a class="headerlink" href="#pygments.lexers.graph.CypherLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cypher</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cyp, *.cypher</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://neo4j.com/docs/developer-manual/3.3/cypher/">Cypher Query Language</a></p>
-<p>For the Cypher version in Neo4j 3.3</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.graphics"></span></div>
-<div class="section" id="lexers-for-computer-graphics-and-plotting-related-languages">
-<h2>Lexers for computer graphics and plotting related languages<a class="headerlink" href="#lexers-for-computer-graphics-and-plotting-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.graphics.AsymptoteLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.graphics.</code><code class="descname">AsymptoteLexer</code><a class="headerlink" href="#pygments.lexers.graphics.AsymptoteLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>asy, asymptote</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.asy</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-asymptote</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://asymptote.sf.net/">Asymptote</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.graphics.GLShaderLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.graphics.</code><code class="descname">GLShaderLexer</code><a class="headerlink" href="#pygments.lexers.graphics.GLShaderLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>glsl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.vert, *.frag, *.geo</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-glslsrc</p>
-</dd>
-</dl>
-<p>GLSL (OpenGL Shader) lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.graphics.GnuplotLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.graphics.</code><code class="descname">GnuplotLexer</code><a class="headerlink" href="#pygments.lexers.graphics.GnuplotLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>gnuplot</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.plot, *.plt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-gnuplot</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://gnuplot.info/">Gnuplot</a> plotting scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.graphics.HLSLShaderLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.graphics.</code><code class="descname">HLSLShaderLexer</code><a class="headerlink" href="#pygments.lexers.graphics.HLSLShaderLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>hlsl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.hlsl, *.hlsli</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-hlsl</p>
-</dd>
-</dl>
-<p>HLSL (Microsoft Direct3D Shader) lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.3.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.graphics.PostScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.graphics.</code><code class="descname">PostScriptLexer</code><a class="headerlink" href="#pygments.lexers.graphics.PostScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>postscript, postscr</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ps, *.eps</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/postscript</p>
-</dd>
-</dl>
-<p>Lexer for PostScript files.</p>
-<p>The PostScript Language Reference published by Adobe at
-<<a class="reference external" href="http://partners.adobe.com/public/developer/en/ps/PLRM.pdf">http://partners.adobe.com/public/developer/en/ps/PLRM.pdf</a>>
-is the authority for this.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.graphics.PovrayLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.graphics.</code><code class="descname">PovrayLexer</code><a class="headerlink" href="#pygments.lexers.graphics.PovrayLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pov</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pov, *.inc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-povray</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.povray.org/">Persistence of Vision Raytracer</a> files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.haskell"></span></div>
-<div class="section" id="lexers-for-haskell-and-related-languages">
-<h2>Lexers for Haskell and related languages<a class="headerlink" href="#lexers-for-haskell-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.haskell.AgdaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">AgdaLexer</code><a class="headerlink" href="#pygments.lexers.haskell.AgdaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>agda</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.agda</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-agda</p>
-</dd>
-</dl>
-<p>For the <a class="reference external" href="http://wiki.portal.chalmers.se/agda/pmwiki.php">Agda</a>
-dependently typed functional programming language and proof assistant.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haskell.CryptolLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">CryptolLexer</code><a class="headerlink" href="#pygments.lexers.haskell.CryptolLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cryptol, cry</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cry</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-cryptol</p>
-</dd>
-</dl>
-<p>FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haskell.HaskellLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">HaskellLexer</code><a class="headerlink" href="#pygments.lexers.haskell.HaskellLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>haskell, hs</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.hs</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-haskell</p>
-</dd>
-</dl>
-<p>A Haskell lexer based on the lexemes defined in the Haskell 98 Report.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.8.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haskell.HspecLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">HspecLexer</code><a class="headerlink" href="#pygments.lexers.haskell.HspecLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>hspec</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A Haskell lexer with support for Hspec constructs.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haskell.IdrisLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">IdrisLexer</code><a class="headerlink" href="#pygments.lexers.haskell.IdrisLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>idris, idr</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.idr</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-idris</p>
-</dd>
-</dl>
-<p>A lexer for the dependently typed programming language Idris.</p>
-<p>Based on the Haskell and Agda Lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haskell.KokaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">KokaLexer</code><a class="headerlink" href="#pygments.lexers.haskell.KokaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>koka</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.kk, *.kki</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-koka</p>
-</dd>
-</dl>
-<p>Lexer for the <a class="reference external" href="http://koka.codeplex.com">Koka</a>
-language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haskell.LiterateAgdaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">LiterateAgdaLexer</code><a class="headerlink" href="#pygments.lexers.haskell.LiterateAgdaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>lagda, literate-agda</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lagda</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-literate-agda</p>
-</dd>
-</dl>
-<p>For Literate Agda source.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>litstyle</cite></dt><dd><p>If given, must be <code class="docutils literal notranslate"><span class="pre">"bird"</span></code> or <code class="docutils literal notranslate"><span class="pre">"latex"</span></code>. If not given, the style
-is autodetected: if the first non-whitespace character in the source
-is a backslash or percent character, LaTeX is assumed, else Bird.</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haskell.LiterateCryptolLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">LiterateCryptolLexer</code><a class="headerlink" href="#pygments.lexers.haskell.LiterateCryptolLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>lcry, literate-cryptol, lcryptol</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lcry</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-literate-cryptol</p>
-</dd>
-</dl>
-<p>For Literate Cryptol (Bird-style or LaTeX) source.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>litstyle</cite></dt><dd><p>If given, must be <code class="docutils literal notranslate"><span class="pre">"bird"</span></code> or <code class="docutils literal notranslate"><span class="pre">"latex"</span></code>. If not given, the style
-is autodetected: if the first non-whitespace character in the source
-is a backslash or percent character, LaTeX is assumed, else Bird.</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haskell.LiterateHaskellLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">LiterateHaskellLexer</code><a class="headerlink" href="#pygments.lexers.haskell.LiterateHaskellLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>lhs, literate-haskell, lhaskell</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lhs</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-literate-haskell</p>
-</dd>
-</dl>
-<p>For Literate Haskell (Bird-style or LaTeX) source.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>litstyle</cite></dt><dd><p>If given, must be <code class="docutils literal notranslate"><span class="pre">"bird"</span></code> or <code class="docutils literal notranslate"><span class="pre">"latex"</span></code>. If not given, the style
-is autodetected: if the first non-whitespace character in the source
-is a backslash or percent character, LaTeX is assumed, else Bird.</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haskell.LiterateIdrisLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haskell.</code><code class="descname">LiterateIdrisLexer</code><a class="headerlink" href="#pygments.lexers.haskell.LiterateIdrisLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>lidr, literate-idris, lidris</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lidr</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-literate-idris</p>
-</dd>
-</dl>
-<p>For Literate Idris (Bird-style or LaTeX) source.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>litstyle</cite></dt><dd><p>If given, must be <code class="docutils literal notranslate"><span class="pre">"bird"</span></code> or <code class="docutils literal notranslate"><span class="pre">"latex"</span></code>. If not given, the style
-is autodetected: if the first non-whitespace character in the source
-is a backslash or percent character, LaTeX is assumed, else Bird.</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.haxe"></span></div>
-<div class="section" id="lexers-for-haxe-and-related-stuff">
-<h2>Lexers for Haxe and related stuff<a class="headerlink" href="#lexers-for-haxe-and-related-stuff" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.haxe.HaxeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haxe.</code><code class="descname">HaxeLexer</code><a class="headerlink" href="#pygments.lexers.haxe.HaxeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>hx, haxe, hxsl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.hx, *.hxsl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/haxe, text/x-haxe, text/x-hx</p>
-</dd>
-</dl>
-<p>For Haxe source code (<a class="reference external" href="http://haxe.org/">http://haxe.org/</a>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.3.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.haxe.HxmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.haxe.</code><code class="descname">HxmlLexer</code><a class="headerlink" href="#pygments.lexers.haxe.HxmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>haxeml, hxml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.hxml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://haxe.org/doc/compiler">haXe build</a> files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.hdl"></span></div>
-<div class="section" id="lexers-for-hardware-descriptor-languages">
-<h2>Lexers for hardware descriptor languages<a class="headerlink" href="#lexers-for-hardware-descriptor-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.hdl.SystemVerilogLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.hdl.</code><code class="descname">SystemVerilogLexer</code><a class="headerlink" href="#pygments.lexers.hdl.SystemVerilogLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>systemverilog, sv</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sv, *.svh</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-systemverilog</p>
-</dd>
-</dl>
-<p>Extends verilog lexer to recognise all SystemVerilog keywords from IEEE
-1800-2009 standard.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.hdl.VerilogLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.hdl.</code><code class="descname">VerilogLexer</code><a class="headerlink" href="#pygments.lexers.hdl.VerilogLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>verilog, v</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.v</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-verilog</p>
-</dd>
-</dl>
-<p>For verilog source code with preprocessor directives.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.hdl.VhdlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.hdl.</code><code class="descname">VhdlLexer</code><a class="headerlink" href="#pygments.lexers.hdl.VhdlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>vhdl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.vhdl, *.vhd</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-vhdl</p>
-</dd>
-</dl>
-<p>For VHDL source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.hexdump"></span></div>
-<div class="section" id="lexers-for-hexadecimal-dumps">
-<h2>Lexers for hexadecimal dumps<a class="headerlink" href="#lexers-for-hexadecimal-dumps" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.hexdump.HexdumpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.hexdump.</code><code class="descname">HexdumpLexer</code><a class="headerlink" href="#pygments.lexers.hexdump.HexdumpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>hexdump</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For typical hex dump output formats by the UNIX and GNU/Linux tools <code class="docutils literal notranslate"><span class="pre">hexdump</span></code>,
-<code class="docutils literal notranslate"><span class="pre">hd</span></code>, <code class="docutils literal notranslate"><span class="pre">hexcat</span></code>, <code class="docutils literal notranslate"><span class="pre">od</span></code> and <code class="docutils literal notranslate"><span class="pre">xxd</span></code>, and the DOS tool <code class="docutils literal notranslate"><span class="pre">DEBUG</span></code>. For example:</p>
-<div class="highlight-hexdump notranslate"><div class="highlight"><pre><span></span><span class="nl">00000000</span> <span class="mh">7f</span> <span class="mh">45</span> <span class="mh">4c</span> <span class="mh">46</span> <span class="mh">02</span> <span class="mh">01</span> <span class="mh">01</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="p">|</span><span class="s">.ELF............</span><span class="p">|</span>
-<span class="nl">00000010</span> <span class="mh">02</span> <span class="mh">00</span> <span class="mh">3e</span> <span class="mh">00</span> <span class="mh">01</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">c5</span> <span class="mh">48</span> <span class="mh">40</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="p">|</span><span class="s">..>......H@.....</span><span class="p">|</span>
-</pre></div>
-</div>
-<p>The specific supported formats are the outputs of:</p>
-<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">hexdump</span> <span class="pre">FILE</span></code></p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">hexdump</span> <span class="pre">-C</span> <span class="pre">FILE</span></code> – the <cite>canonical</cite> format used in the example.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">hd</span> <span class="pre">FILE</span></code> – same as <code class="docutils literal notranslate"><span class="pre">hexdump</span> <span class="pre">-C</span> <span class="pre">FILE</span></code>.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">hexcat</span> <span class="pre">FILE</span></code></p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">od</span> <span class="pre">-t</span> <span class="pre">x1z</span> <span class="pre">FILE</span></code></p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">xxd</span> <span class="pre">FILE</span></code></p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">DEBUG.EXE</span> <span class="pre">FILE.COM</span></code> and entering <code class="docutils literal notranslate"><span class="pre">d</span></code> to the prompt.</p></li>
-</ul>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.html"></span></div>
-<div class="section" id="lexers-for-html-xml-and-related-markup">
-<h2>Lexers for HTML, XML and related markup<a class="headerlink" href="#lexers-for-html-xml-and-related-markup" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.html.DtdLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.html.</code><code class="descname">DtdLexer</code><a class="headerlink" href="#pygments.lexers.html.DtdLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>dtd</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.dtd</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml-dtd</p>
-</dd>
-</dl>
-<p>A lexer for DTDs (Document Type Definitions).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.html.HamlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.html.</code><code class="descname">HamlLexer</code><a class="headerlink" href="#pygments.lexers.html.HamlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>haml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.haml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-haml</p>
-</dd>
-</dl>
-<p>For Haml markup.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.3.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.html.HtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.html.</code><code class="descname">HtmlLexer</code><a class="headerlink" href="#pygments.lexers.html.HtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.html, *.htm, *.xhtml, *.xslt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html, application/xhtml+xml</p>
-</dd>
-</dl>
-<p>For HTML 4 and XHTML 1 markup. Nested JavaScript and CSS is highlighted
-by the appropriate lexer.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.html.PugLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.html.</code><code class="descname">PugLexer</code><a class="headerlink" href="#pygments.lexers.html.PugLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pug, jade</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pug, *.jade</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-pug, text/x-jade</p>
-</dd>
-</dl>
-<p>For Pug markup.
-Pug is a variant of Scaml, see:
-<a class="reference external" href="http://scalate.fusesource.org/documentation/scaml-reference.html">http://scalate.fusesource.org/documentation/scaml-reference.html</a></p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.html.ScamlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.html.</code><code class="descname">ScamlLexer</code><a class="headerlink" href="#pygments.lexers.html.ScamlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>scaml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.scaml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-scaml</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://scalate.fusesource.org/">Scaml markup</a>. Scaml is Haml for Scala.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.html.XmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.html.</code><code class="descname">XmlLexer</code><a class="headerlink" href="#pygments.lexers.html.XmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.xml, *.xsl, *.rss, *.xslt, *.xsd, *.wsdl, *.wsf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/xml, application/xml, image/svg+xml, application/rss+xml, application/atom+xml</p>
-</dd>
-</dl>
-<p>Generic lexer for XML (eXtensible Markup Language).</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.html.XsltLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.html.</code><code class="descname">XsltLexer</code><a class="headerlink" href="#pygments.lexers.html.XsltLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xslt</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.xsl, *.xslt, *.xpl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xsl+xml, application/xslt+xml</p>
-</dd>
-</dl>
-<p>A lexer for XSLT.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.idl"></span></div>
-<div class="section" id="lexers-for-idl">
-<h2>Lexers for IDL<a class="headerlink" href="#lexers-for-idl" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.idl.IDLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.idl.</code><code class="descname">IDLLexer</code><a class="headerlink" href="#pygments.lexers.idl.IDLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>idl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pro</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/idl</p>
-</dd>
-</dl>
-<p>Pygments Lexer for IDL (Interactive Data Language).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.igor"></span></div>
-<div class="section" id="lexers-for-igor-pro">
-<h2>Lexers for Igor Pro<a class="headerlink" href="#lexers-for-igor-pro" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.igor.IgorLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.igor.</code><code class="descname">IgorLexer</code><a class="headerlink" href="#pygments.lexers.igor.IgorLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>igor, igorpro</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ipf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/ipf</p>
-</dd>
-</dl>
-<p>Pygments Lexer for Igor Pro procedure files (.ipf).
-See <a class="reference external" href="http://www.wavemetrics.com/">http://www.wavemetrics.com/</a> and <a class="reference external" href="http://www.igorexchange.com/">http://www.igorexchange.com/</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.inferno"></span></div>
-<div class="section" id="lexers-for-inferno-os-and-all-the-related-stuff">
-<h2>Lexers for Inferno os and all the related stuff<a class="headerlink" href="#lexers-for-inferno-os-and-all-the-related-stuff" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.inferno.LimboLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.inferno.</code><code class="descname">LimboLexer</code><a class="headerlink" href="#pygments.lexers.inferno.LimboLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>limbo</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.b</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/limbo</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://www.vitanuova.com/inferno/limbo.html">Limbo programming language</a></p>
-<dl class="simple">
-<dt>TODO:</dt><dd><ul class="simple">
-<li><p>maybe implement better var declaration highlighting</p></li>
-<li><p>some simple syntax error highlighting</p></li>
-</ul>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.installers"></span></div>
-<div class="section" id="lexers-for-installer-packager-dsls-and-formats">
-<h2>Lexers for installer/packager DSLs and formats<a class="headerlink" href="#lexers-for-installer-packager-dsls-and-formats" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.installers.DebianControlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.installers.</code><code class="descname">DebianControlLexer</code><a class="headerlink" href="#pygments.lexers.installers.DebianControlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>control, debcontrol</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>control</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for Debian <code class="docutils literal notranslate"><span class="pre">control</span></code> files and <code class="docutils literal notranslate"><span class="pre">apt-cache</span> <span class="pre">show</span> <span class="pre"><pkg></span></code> outputs.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.installers.NSISLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.installers.</code><code class="descname">NSISLexer</code><a class="headerlink" href="#pygments.lexers.installers.NSISLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>nsis, nsi, nsh</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.nsi, *.nsh</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-nsis</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://nsis.sourceforge.net/">NSIS</a> scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.installers.RPMSpecLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.installers.</code><code class="descname">RPMSpecLexer</code><a class="headerlink" href="#pygments.lexers.installers.RPMSpecLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>spec</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.spec</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-rpm-spec</p>
-</dd>
-</dl>
-<p>For RPM <code class="docutils literal notranslate"><span class="pre">.spec</span></code> files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.installers.SourcesListLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.installers.</code><code class="descname">SourcesListLexer</code><a class="headerlink" href="#pygments.lexers.installers.SourcesListLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sourceslist, sources.list, debsources</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>sources.list</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer that highlights debian sources.list files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.int_fiction"></span></div>
-<div class="section" id="lexers-for-interactive-fiction-languages">
-<h2>Lexers for interactive fiction languages<a class="headerlink" href="#lexers-for-interactive-fiction-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.int_fiction.Inform6Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.int_fiction.</code><code class="descname">Inform6Lexer</code><a class="headerlink" href="#pygments.lexers.int_fiction.Inform6Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>inform6, i6</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.inf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://inform-fiction.org/">Inform 6</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.int_fiction.Inform6TemplateLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.int_fiction.</code><code class="descname">Inform6TemplateLexer</code><a class="headerlink" href="#pygments.lexers.int_fiction.Inform6TemplateLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>i6t</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.i6t</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://inform7.com/sources/src/i6template/Woven/index.html">Inform 6 template</a> code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.int_fiction.Inform7Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.int_fiction.</code><code class="descname">Inform7Lexer</code><a class="headerlink" href="#pygments.lexers.int_fiction.Inform7Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>inform7, i7</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ni, *.i7x</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://inform7.com/">Inform 7</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.int_fiction.Tads3Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.int_fiction.</code><code class="descname">Tads3Lexer</code><a class="headerlink" href="#pygments.lexers.int_fiction.Tads3Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>tads3</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.t</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.tads.org/">TADS 3</a> source code.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.iolang"></span></div>
-<div class="section" id="lexers-for-the-io-language">
-<h2>Lexers for the Io language<a class="headerlink" href="#lexers-for-the-io-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.iolang.IoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.iolang.</code><code class="descname">IoLexer</code><a class="headerlink" href="#pygments.lexers.iolang.IoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>io</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.io</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-iosrc</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://iolanguage.com/">Io</a> (a small, prototype-based
-programming language) source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.j"></span></div>
-<div class="section" id="lexer-for-the-j-programming-language">
-<h2>Lexer for the J programming language<a class="headerlink" href="#lexer-for-the-j-programming-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.j.JLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.j.</code><code class="descname">JLexer</code><a class="headerlink" href="#pygments.lexers.j.JLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>j</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ijs</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-j</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://jsoftware.com/">J</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.javascript"></span></div>
-<div class="section" id="lexers-for-javascript-and-related-languages">
-<h2>Lexers for JavaScript and related languages<a class="headerlink" href="#lexers-for-javascript-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.javascript.CoffeeScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">CoffeeScriptLexer</code><a class="headerlink" href="#pygments.lexers.javascript.CoffeeScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>coffee-script, coffeescript, coffee</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.coffee</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/coffeescript</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://coffeescript.org">CoffeeScript</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.3.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.DartLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">DartLexer</code><a class="headerlink" href="#pygments.lexers.javascript.DartLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>dart</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.dart</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-dart</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://dartlang.org/">Dart</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.EarlGreyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">EarlGreyLexer</code><a class="headerlink" href="#pygments.lexers.javascript.EarlGreyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>earl-grey, earlgrey, eg</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.eg</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-earl-grey</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://breuleux.github.io/earl-grey/">Earl-Grey</a> source code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.JavascriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">JavascriptLexer</code><a class="headerlink" href="#pygments.lexers.javascript.JavascriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js, javascript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.js, *.jsm</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/javascript, application/x-javascript, text/x-javascript, text/javascript</p>
-</dd>
-</dl>
-<p>For JavaScript source code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.JuttleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">JuttleLexer</code><a class="headerlink" href="#pygments.lexers.javascript.JuttleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>juttle, juttle</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.juttle</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/juttle, application/x-juttle, text/x-juttle, text/juttle</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://github.com/juttle/juttle">Juttle</a> source code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.KalLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">KalLexer</code><a class="headerlink" href="#pygments.lexers.javascript.KalLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>kal</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.kal</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/kal, application/kal</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://rzimmerman.github.io/kal">Kal</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.LassoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">LassoLexer</code><a class="headerlink" href="#pygments.lexers.javascript.LassoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>lasso, lassoscript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lasso, *.lasso[89]</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-lasso</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.lassosoft.com/">Lasso</a> source code, covering both Lasso 9
-syntax and LassoScript for Lasso 8.6 and earlier. For Lasso embedded in
-HTML, use the <cite>LassoHtmlLexer</cite>.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>builtinshighlighting</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code>, highlight builtin types, traits, methods, and
-members (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
-</dd>
-<dt><cite>requiredelimiters</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code>, only highlight code between delimiters as Lasso
-(default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.LiveScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">LiveScriptLexer</code><a class="headerlink" href="#pygments.lexers.javascript.LiveScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>live-script, livescript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ls</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/livescript</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://gkz.github.com/LiveScript/">LiveScript</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.MaskLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">MaskLexer</code><a class="headerlink" href="#pygments.lexers.javascript.MaskLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mask</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.mask</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-mask</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://github.com/atmajs/MaskJS">Mask</a> markup.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.ObjectiveJLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">ObjectiveJLexer</code><a class="headerlink" href="#pygments.lexers.javascript.ObjectiveJLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>objective-j, objectivej, obj-j, objj</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.j</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-objective-j</p>
-</dd>
-</dl>
-<p>For Objective-J source code with preprocessor directives.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.3.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.javascript.TypeScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.javascript.</code><code class="descname">TypeScriptLexer</code><a class="headerlink" href="#pygments.lexers.javascript.TypeScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ts, typescript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ts, *.tsx</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-typescript</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://typescriptlang.org/">TypeScript</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.julia"></span></div>
-<div class="section" id="lexers-for-the-julia-language">
-<h2>Lexers for the Julia language<a class="headerlink" href="#lexers-for-the-julia-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.julia.JuliaConsoleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.julia.</code><code class="descname">JuliaConsoleLexer</code><a class="headerlink" href="#pygments.lexers.julia.JuliaConsoleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>jlcon</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For Julia console sessions. Modeled after MatlabSessionLexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.julia.JuliaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.julia.</code><code class="descname">JuliaLexer</code><a class="headerlink" href="#pygments.lexers.julia.JuliaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>julia, jl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.jl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-julia, application/x-julia</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://julialang.org/">Julia</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.jvm"></span></div>
-<div class="section" id="pygments-lexers-for-jvm-languages">
-<h2>Pygments lexers for JVM languages<a class="headerlink" href="#pygments-lexers-for-jvm-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.jvm.AspectJLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">AspectJLexer</code><a class="headerlink" href="#pygments.lexers.jvm.AspectJLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>aspectj</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.aj</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-aspectj</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.eclipse.org/aspectj/">AspectJ</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.CeylonLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">CeylonLexer</code><a class="headerlink" href="#pygments.lexers.jvm.CeylonLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ceylon</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ceylon</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ceylon</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://ceylon-lang.org/">Ceylon</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.ClojureLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">ClojureLexer</code><a class="headerlink" href="#pygments.lexers.jvm.ClojureLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>clojure, clj</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.clj</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-clojure, application/x-clojure</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://clojure.org/">Clojure</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.ClojureScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">ClojureScriptLexer</code><a class="headerlink" href="#pygments.lexers.jvm.ClojureScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>clojurescript, cljs</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cljs</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-clojurescript, application/x-clojurescript</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://clojure.org/clojurescript">ClojureScript</a>
-source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.GoloLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">GoloLexer</code><a class="headerlink" href="#pygments.lexers.jvm.GoloLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>golo</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.golo</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://golo-lang.org/">Golo</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.GosuLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">GosuLexer</code><a class="headerlink" href="#pygments.lexers.jvm.GosuLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>gosu</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.gs, *.gsx, *.gsp, *.vark</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-gosu</p>
-</dd>
-</dl>
-<p>For Gosu source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.GosuTemplateLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">GosuTemplateLexer</code><a class="headerlink" href="#pygments.lexers.jvm.GosuTemplateLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>gst</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.gst</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-gosu-template</p>
-</dd>
-</dl>
-<p>For Gosu templates.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.GroovyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">GroovyLexer</code><a class="headerlink" href="#pygments.lexers.jvm.GroovyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>groovy</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.groovy, *.gradle</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-groovy</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://groovy.codehaus.org/">Groovy</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.IokeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">IokeLexer</code><a class="headerlink" href="#pygments.lexers.jvm.IokeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ioke, ik</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ik</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-iokesrc</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://ioke.org/">Ioke</a> (a strongly typed, dynamic,
-prototype based programming language) source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.JasminLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">JasminLexer</code><a class="headerlink" href="#pygments.lexers.jvm.JasminLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>jasmin, jasminxt</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.j</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://jasmin.sourceforge.net/">Jasmin</a> assembly code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.JavaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">JavaLexer</code><a class="headerlink" href="#pygments.lexers.jvm.JavaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>java</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.java</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-java</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.sun.com/java/">Java</a> source code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.KotlinLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">KotlinLexer</code><a class="headerlink" href="#pygments.lexers.jvm.KotlinLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>kotlin</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.kt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-kotlin</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://kotlinlang.org/">Kotlin</a>
-source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.PigLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">PigLexer</code><a class="headerlink" href="#pygments.lexers.jvm.PigLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pig</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pig</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-pig</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://pig.apache.org/">Pig Latin</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.SarlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">SarlLexer</code><a class="headerlink" href="#pygments.lexers.jvm.SarlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sarl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sarl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-sarl</p>
-</dd>
-</dl>
-</dd></dl>
-
-<p> For <a class="reference external" href="http://www.sarl.io">SARL</a> source code.</p>
-<p>
- .. versionadded:: 2.4</p>
-<p></p>
-<dl class="class">
-<dt id="pygments.lexers.jvm.ScalaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">ScalaLexer</code><a class="headerlink" href="#pygments.lexers.jvm.ScalaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>scala</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.scala</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-scala</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.scala-lang.org">Scala</a> source code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.jvm.XtendLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.jvm.</code><code class="descname">XtendLexer</code><a class="headerlink" href="#pygments.lexers.jvm.XtendLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xtend</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.xtend</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-xtend</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://xtend-lang.org/">Xtend</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.lisp"></span></div>
-<div class="section" id="lexers-for-lispy-languages">
-<h2>Lexers for Lispy languages<a class="headerlink" href="#lexers-for-lispy-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.lisp.CPSALexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">CPSALexer</code><a class="headerlink" href="#pygments.lexers.lisp.CPSALexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cpsa</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cpsa</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A CPSA lexer based on the CPSA language as of version 2.2.12</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.lisp.CommonLispLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">CommonLispLexer</code><a class="headerlink" href="#pygments.lexers.lisp.CommonLispLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>common-lisp, cl, lisp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cl, *.lisp</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-common-lisp</p>
-</dd>
-</dl>
-<p>A Common Lisp lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.lisp.EmacsLispLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">EmacsLispLexer</code><a class="headerlink" href="#pygments.lexers.lisp.EmacsLispLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>emacs, elisp, emacs-lisp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.el</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-elisp, application/x-elisp</p>
-</dd>
-</dl>
-<p>An ELisp lexer, parsing a stream and outputting the tokens
-needed to highlight elisp code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.lisp.FennelLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">FennelLexer</code><a class="headerlink" href="#pygments.lexers.lisp.FennelLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>fennel, fnl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.fnl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for the <a class="reference external" href="https://fennel-lang.org">Fennel programming language</a>.</p>
-<p>Fennel compiles to Lua, so all the Lua builtins are recognized as well
-as the special forms that are particular to the Fennel compiler.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.3.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.lisp.HyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">HyLexer</code><a class="headerlink" href="#pygments.lexers.lisp.HyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>hylang</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.hy</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-hy, application/x-hy</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://hylang.org/">Hy</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.lisp.NewLispLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">NewLispLexer</code><a class="headerlink" href="#pygments.lexers.lisp.NewLispLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>newlisp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lsp, *.nl, *.kif</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-newlisp, application/x-newlisp</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.newlisp.org/">newLISP.</a> source code (version 10.3.0).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.lisp.RacketLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">RacketLexer</code><a class="headerlink" href="#pygments.lexers.lisp.RacketLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>racket, rkt</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rkt, *.rktd, *.rktl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-racket, application/x-racket</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://racket-lang.org/">Racket</a> source code (formerly
-known as PLT Scheme).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.lisp.SchemeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">SchemeLexer</code><a class="headerlink" href="#pygments.lexers.lisp.SchemeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>scheme, scm</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.scm, *.ss</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-scheme, application/x-scheme</p>
-</dd>
-</dl>
-<p>A Scheme lexer, parsing a stream and outputting the tokens
-needed to highlight scheme code.
-This lexer could be most probably easily subclassed to parse
-other LISP-Dialects like Common Lisp, Emacs Lisp or AutoLisp.</p>
-<p>This parser is checked with pastes from the LISP pastebin
-at <a class="reference external" href="http://paste.lisp.org/">http://paste.lisp.org/</a> to cover as much syntax as possible.</p>
-<p>It supports the full Scheme syntax as defined in R5RS.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.lisp.ShenLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">ShenLexer</code><a class="headerlink" href="#pygments.lexers.lisp.ShenLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>shen</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.shen</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-shen, application/x-shen</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://shenlanguage.org/">Shen</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.lisp.XtlangLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.lisp.</code><code class="descname">XtlangLexer</code><a class="headerlink" href="#pygments.lexers.lisp.XtlangLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>extempore</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.xtm</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>An xtlang lexer for the <a class="reference external" href="http://extempore.moso.com.au">Extempore programming environment</a>.</p>
-<p>This is a mixture of Scheme and xtlang, really. Keyword lists are
-taken from the Extempore Emacs mode
-(<a class="reference external" href="https://github.com/extemporelang/extempore-emacs-mode">https://github.com/extemporelang/extempore-emacs-mode</a>)</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.make"></span></div>
-<div class="section" id="lexers-for-makefiles-and-similar">
-<h2>Lexers for Makefiles and similar<a class="headerlink" href="#lexers-for-makefiles-and-similar" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.make.BaseMakefileLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.make.</code><code class="descname">BaseMakefileLexer</code><a class="headerlink" href="#pygments.lexers.make.BaseMakefileLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>basemake</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for simple Makefiles (no preprocessing).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.make.CMakeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.make.</code><code class="descname">CMakeLexer</code><a class="headerlink" href="#pygments.lexers.make.CMakeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cmake</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cmake, CMakeLists.txt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-cmake</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://cmake.org/Wiki/CMake">CMake</a> files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.make.MakefileLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.make.</code><code class="descname">MakefileLexer</code><a class="headerlink" href="#pygments.lexers.make.MakefileLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>make, makefile, mf, bsdmake</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.mak, *.mk, Makefile, makefile, Makefile.*, GNUmakefile</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-makefile</p>
-</dd>
-</dl>
-<p>Lexer for BSD and GNU make extensions (lenient enough to handle both in
-the same file even).</p>
-<p><em>Rewritten in Pygments 0.10.</em></p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.markup"></span></div>
-<div class="section" id="lexers-for-non-html-markup-languages">
-<h2>Lexers for non-HTML markup languages<a class="headerlink" href="#lexers-for-non-html-markup-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.markup.BBCodeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">BBCodeLexer</code><a class="headerlink" href="#pygments.lexers.markup.BBCodeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bbcode</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-bbcode</p>
-</dd>
-</dl>
-<p>A lexer that highlights BBCode(-like) syntax.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.GroffLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">GroffLexer</code><a class="headerlink" href="#pygments.lexers.markup.GroffLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>groff, nroff, man</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.[1234567], *.man</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-troff, text/troff</p>
-</dd>
-</dl>
-<p>Lexer for the (g)roff typesetting language, supporting groff
-extensions. Mainly useful for highlighting manpage sources.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.MarkdownLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">MarkdownLexer</code><a class="headerlink" href="#pygments.lexers.markup.MarkdownLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>md</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.md</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-markdown</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://help.github.com/categories/writing-on-github/">Markdown</a> markup.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.MoinWikiLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">MoinWikiLexer</code><a class="headerlink" href="#pygments.lexers.markup.MoinWikiLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>trac-wiki, moin</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-trac-wiki</p>
-</dd>
-</dl>
-<p>For MoinMoin (and Trac) Wiki markup.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.MozPreprocCssLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">MozPreprocCssLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocCssLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css+mozpreproc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.css.in</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MozPreprocHashLexer</cite> that highlights unlexed data with the
-<cite>CssLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.MozPreprocHashLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">MozPreprocHashLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocHashLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mozhashpreproc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for Mozilla Preprocessor files (with ‘#’ as the marker).</p>
-<p>Other data is left untouched.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.MozPreprocJavascriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">MozPreprocJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocJavascriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>javascript+mozpreproc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.js.in</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MozPreprocHashLexer</cite> that highlights unlexed data with the
-<cite>JavascriptLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.MozPreprocPercentLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">MozPreprocPercentLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocPercentLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mozpercentpreproc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for Mozilla Preprocessor files (with ‘%’ as the marker).</p>
-<p>Other data is left untouched.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.MozPreprocXulLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">MozPreprocXulLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocXulLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xul+mozpreproc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.xul.in</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MozPreprocHashLexer</cite> that highlights unlexed data with the
-<cite>XmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.RstLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">RstLexer</code><a class="headerlink" href="#pygments.lexers.markup.RstLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rst, rest, restructuredtext</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rst, *.rest</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-rst, text/prs.fallenstein.rst</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://docutils.sf.net/rst.html">reStructuredText</a> markup.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-<p>Additional options accepted:</p>
-<dl>
-<dt><cite>handlecodeblocks</cite></dt><dd><p>Highlight the contents of <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">sourcecode::</span> <span class="pre">language</span></code>,
-<code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">code::</span> <span class="pre">language</span></code> and <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">code-block::</span> <span class="pre">language</span></code>
-directives with a lexer for the given language (default:
-<code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.8.</span></p>
-</div>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.markup.TexLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.markup.</code><code class="descname">TexLexer</code><a class="headerlink" href="#pygments.lexers.markup.TexLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>tex, latex</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.tex, *.aux, *.toc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-tex, text/x-latex</p>
-</dd>
-</dl>
-<p>Lexer for the TeX and LaTeX typesetting languages.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.matlab"></span></div>
-<div class="section" id="lexers-for-matlab-and-related-languages">
-<h2>Lexers for Matlab and related languages<a class="headerlink" href="#lexers-for-matlab-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.matlab.MatlabLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.matlab.</code><code class="descname">MatlabLexer</code><a class="headerlink" href="#pygments.lexers.matlab.MatlabLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>matlab</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.m</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/matlab</p>
-</dd>
-</dl>
-<p>For Matlab source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.matlab.MatlabSessionLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.matlab.</code><code class="descname">MatlabSessionLexer</code><a class="headerlink" href="#pygments.lexers.matlab.MatlabSessionLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>matlabsession</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For Matlab sessions. Modeled after PythonConsoleLexer.
-Contributed by Ken Schutte <<a class="reference external" href="mailto:kschutte%40csail.mit.edu">kschutte<span>@</span>csail<span>.</span>mit<span>.</span>edu</a>>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.matlab.OctaveLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.matlab.</code><code class="descname">OctaveLexer</code><a class="headerlink" href="#pygments.lexers.matlab.OctaveLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>octave</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.m</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/octave</p>
-</dd>
-</dl>
-<p>For GNU Octave source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.matlab.ScilabLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.matlab.</code><code class="descname">ScilabLexer</code><a class="headerlink" href="#pygments.lexers.matlab.ScilabLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>scilab</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sci, *.sce, *.tst</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/scilab</p>
-</dd>
-</dl>
-<p>For Scilab source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.mime"></span></div>
-<div class="section" id="lexer-for-multipurpose-internet-mail-extensions-mime-data">
-<h2>Lexer for Multipurpose Internet Mail Extensions (MIME) data<a class="headerlink" href="#lexer-for-multipurpose-internet-mail-extensions-mime-data" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.mime.MIMELexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.mime.</code><code class="descname">MIMELexer</code><a class="headerlink" href="#pygments.lexers.mime.MIMELexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mime</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>multipart/mixed, multipart/related, multipart/alternative</p>
-</dd>
-</dl>
-<p>Lexer for Multipurpose Internet Mail Extensions (MIME) data. This lexer is
-designed to process the nested mulitpart data.</p>
-<p>It assumes that the given data contains both header and body (and is
-splitted by empty line). If no valid header is found, then the entire data
-would be treated as body.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>MIME-max-level</cite></dt><dd><p>Max recurssion level for nested MIME structure. Any negative number
-would treated as unlimited. (default: -1)</p>
-</dd>
-<dt><cite>Content-Type</cite></dt><dd><p>Treat the data as specific content type. Useful when header is
-missing, or this lexer would try to parse from header. (default:
-<cite>text/plain</cite>)</p>
-</dd>
-<dt><cite>Multipart-Boundary</cite></dt><dd><p>Set the default multipart boundary delimiter. This option is only used
-when <cite>Content-Type</cite> is <cite>multipart</cite> and header is missing. This lexer
-would try to parse from header by default. (default: None)</p>
-</dd>
-<dt><cite>Content-Transfer-Encoding</cite></dt><dd><p>Treat the data as specific encoding. Or this lexer would try to parse
-from header by default. (default: None)</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.ml"></span></div>
-<div class="section" id="lexers-for-ml-family-languages">
-<h2>Lexers for ML family languages<a class="headerlink" href="#lexers-for-ml-family-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.ml.OcamlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ml.</code><code class="descname">OcamlLexer</code><a class="headerlink" href="#pygments.lexers.ml.OcamlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ocaml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ml, *.mli, *.mll, *.mly</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ocaml</p>
-</dd>
-</dl>
-<p>For the OCaml language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.ml.OpaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ml.</code><code class="descname">OpaLexer</code><a class="headerlink" href="#pygments.lexers.ml.OpaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>opa</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.opa</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-opa</p>
-</dd>
-</dl>
-<p>Lexer for the Opa language (<a class="reference external" href="http://opalang.org">http://opalang.org</a>).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.ml.SMLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ml.</code><code class="descname">SMLLexer</code><a class="headerlink" href="#pygments.lexers.ml.SMLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sml</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sml, *.sig, *.fun</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-standardml, application/x-standardml</p>
-</dd>
-</dl>
-<p>For the Standard ML language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.modeling"></span></div>
-<div class="section" id="lexers-for-modeling-languages">
-<h2>Lexers for modeling languages<a class="headerlink" href="#lexers-for-modeling-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.modeling.BugsLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.modeling.</code><code class="descname">BugsLexer</code><a class="headerlink" href="#pygments.lexers.modeling.BugsLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bugs, winbugs, openbugs</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bug</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Pygments Lexer for <a class="reference external" href="http://www.openbugs.net/">OpenBugs</a> and WinBugs
-models.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.modeling.JagsLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.modeling.</code><code class="descname">JagsLexer</code><a class="headerlink" href="#pygments.lexers.modeling.JagsLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>jags</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.jag, *.bug</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Pygments Lexer for JAGS.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.modeling.ModelicaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.modeling.</code><code class="descname">ModelicaLexer</code><a class="headerlink" href="#pygments.lexers.modeling.ModelicaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>modelica</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.mo</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-modelica</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.modelica.org/">Modelica</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.modeling.StanLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.modeling.</code><code class="descname">StanLexer</code><a class="headerlink" href="#pygments.lexers.modeling.StanLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>stan</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.stan</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Pygments Lexer for Stan models.</p>
-<p>The Stan modeling language is specified in the <em>Stan Modeling Language
-User’s Guide and Reference Manual, v2.17.0</em>,
-<a class="reference external" href="https://github.com/stan-dev/stan/releases/download/v2.17.0/stan-reference-2.17.0.pdf">pdf</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.modula2"></span></div>
-<div class="section" id="multi-dialect-lexer-for-modula-2">
-<h2>Multi-Dialect Lexer for Modula-2<a class="headerlink" href="#multi-dialect-lexer-for-modula-2" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.modula2.Modula2Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.modula2.</code><code class="descname">Modula2Lexer</code><a class="headerlink" href="#pygments.lexers.modula2.Modula2Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>modula2, m2</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.def, *.mod</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-modula2</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.modula2.org/">Modula-2</a> source code.</p>
-<p>The Modula-2 lexer supports several dialects. By default, it operates in
-fallback mode, recognising the <em>combined</em> literals, punctuation symbols
-and operators of all supported dialects, and the <em>combined</em> reserved words
-and builtins of PIM Modula-2, ISO Modula-2 and Modula-2 R10, while not
-differentiating between library defined identifiers.</p>
-<p>To select a specific dialect, a dialect option may be passed
-or a dialect tag may be embedded into a source file.</p>
-<p>Dialect Options:</p>
-<dl class="simple">
-<dt><cite>m2pim</cite></dt><dd><p>Select PIM Modula-2 dialect.</p>
-</dd>
-<dt><cite>m2iso</cite></dt><dd><p>Select ISO Modula-2 dialect.</p>
-</dd>
-<dt><cite>m2r10</cite></dt><dd><p>Select Modula-2 R10 dialect.</p>
-</dd>
-<dt><cite>objm2</cite></dt><dd><p>Select Objective Modula-2 dialect.</p>
-</dd>
-</dl>
-<p>The PIM and ISO dialect options may be qualified with a language extension.</p>
-<p>Language Extensions:</p>
-<dl class="simple">
-<dt><cite>+aglet</cite></dt><dd><p>Select Aglet Modula-2 extensions, available with m2iso.</p>
-</dd>
-<dt><cite>+gm2</cite></dt><dd><p>Select GNU Modula-2 extensions, available with m2pim.</p>
-</dd>
-<dt><cite>+p1</cite></dt><dd><p>Select p1 Modula-2 extensions, available with m2iso.</p>
-</dd>
-<dt><cite>+xds</cite></dt><dd><p>Select XDS Modula-2 extensions, available with m2iso.</p>
-</dd>
-</dl>
-<p>Passing a Dialect Option via Unix Commandline Interface</p>
-<p>Dialect options may be passed to the lexer using the <cite>dialect</cite> key.
-Only one such option should be passed. If multiple dialect options are
-passed, the first valid option is used, any subsequent options are ignored.</p>
-<p>Examples:</p>
-<dl class="simple">
-<dt><cite>$ pygmentize -O full,dialect=m2iso -f html -o /path/to/output /path/to/input</cite></dt><dd><p>Use ISO dialect to render input to HTML output</p>
-</dd>
-<dt><cite>$ pygmentize -O full,dialect=m2iso+p1 -f rtf -o /path/to/output /path/to/input</cite></dt><dd><p>Use ISO dialect with p1 extensions to render input to RTF output</p>
-</dd>
-</dl>
-<p>Embedding a Dialect Option within a source file</p>
-<p>A dialect option may be embedded in a source file in form of a dialect
-tag, a specially formatted comment that specifies a dialect option.</p>
-<p>Dialect Tag EBNF:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">dialectTag</span> <span class="p">:</span>
- <span class="n">OpeningCommentDelim</span> <span class="n">Prefix</span> <span class="n">dialectOption</span> <span class="n">ClosingCommentDelim</span> <span class="p">;</span>
-
-<span class="n">dialectOption</span> <span class="p">:</span>
- <span class="s1">'m2pim'</span> <span class="o">|</span> <span class="s1">'m2iso'</span> <span class="o">|</span> <span class="s1">'m2r10'</span> <span class="o">|</span> <span class="s1">'objm2'</span> <span class="o">|</span>
- <span class="s1">'m2iso+aglet'</span> <span class="o">|</span> <span class="s1">'m2pim+gm2'</span> <span class="o">|</span> <span class="s1">'m2iso+p1'</span> <span class="o">|</span> <span class="s1">'m2iso+xds'</span> <span class="p">;</span>
-
-<span class="n">Prefix</span> <span class="p">:</span> <span class="s1">'!'</span> <span class="p">;</span>
-
-<span class="n">OpeningCommentDelim</span> <span class="p">:</span> <span class="s1">'(*'</span> <span class="p">;</span>
-
-<span class="n">ClosingCommentDelim</span> <span class="p">:</span> <span class="s1">'*)'</span> <span class="p">;</span>
-</pre></div>
-</div>
-<p>No whitespace is permitted between the tokens of a dialect tag.</p>
-<p>In the event that a source file contains multiple dialect tags, the first
-tag that contains a valid dialect option will be used and any subsequent
-dialect tags will be ignored. Ideally, a dialect tag should be placed
-at the beginning of a source file.</p>
-<p>An embedded dialect tag overrides a dialect option set via command line.</p>
-<p>Examples:</p>
-<dl class="simple">
-<dt><code class="docutils literal notranslate"><span class="pre">(*!m2r10*)</span> <span class="pre">DEFINITION</span> <span class="pre">MODULE</span> <span class="pre">Foobar;</span> <span class="pre">...</span></code></dt><dd><p>Use Modula2 R10 dialect to render this source file.</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">(*!m2pim+gm2*)</span> <span class="pre">DEFINITION</span> <span class="pre">MODULE</span> <span class="pre">Bazbam;</span> <span class="pre">...</span></code></dt><dd><p>Use PIM dialect with GNU extensions to render this source file.</p>
-</dd>
-</dl>
-<p>Algol Publication Mode:</p>
-<p>In Algol publication mode, source text is rendered for publication of
-algorithms in scientific papers and academic texts, following the format
-of the Revised Algol-60 Language Report. It is activated by passing
-one of two corresponding styles as an option:</p>
-<dl class="simple">
-<dt><cite>algol</cite></dt><dd><p>render reserved words lowercase underline boldface
-and builtins lowercase boldface italic</p>
-</dd>
-<dt><cite>algol_nu</cite></dt><dd><p>render reserved words lowercase boldface (no underlining)
-and builtins lowercase boldface italic</p>
-</dd>
-</dl>
-<p>The lexer automatically performs the required lowercase conversion when
-this mode is activated.</p>
-<p>Example:</p>
-<dl class="simple">
-<dt><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">pygmentize</span> <span class="pre">-O</span> <span class="pre">full,style=algol</span> <span class="pre">-f</span> <span class="pre">latex</span> <span class="pre">-o</span> <span class="pre">/path/to/output</span> <span class="pre">/path/to/input</span></code></dt><dd><p>Render input file in Algol publication mode to LaTeX output.</p>
-</dd>
-</dl>
-<p>Rendering Mode of First Class ADT Identifiers:</p>
-<p>The rendering of standard library first class ADT identifiers is controlled
-by option flag “treat_stdlib_adts_as_builtins”.</p>
-<p>When this option is turned on, standard library ADT identifiers are rendered
-as builtins. When it is turned off, they are rendered as ordinary library
-identifiers.</p>
-<p><cite>treat_stdlib_adts_as_builtins</cite> (default: On)</p>
-<p>The option is useful for dialects that support ADTs as first class objects
-and provide ADTs in the standard library that would otherwise be built-in.</p>
-<p>At present, only Modula-2 R10 supports library ADTs as first class objects
-and therefore, no ADT identifiers are defined for any other dialects.</p>
-<p>Example:</p>
-<dl class="simple">
-<dt><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">pygmentize</span> <span class="pre">-O</span> <span class="pre">full,dialect=m2r10,treat_stdlib_adts_as_builtins=Off</span> <span class="pre">...</span></code></dt><dd><p>Render standard library ADTs as ordinary library types.</p>
-</dd>
-</dl>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.3.</span></p>
-</div>
-<div class="versionchanged">
-<p><span class="versionmodified changed">Changed in version 2.1: </span>Added multi-dialect support.</p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.monte"></span></div>
-<div class="section" id="lexer-for-the-monte-programming-language">
-<h2>Lexer for the Monte programming language<a class="headerlink" href="#lexer-for-the-monte-programming-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.monte.MonteLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.monte.</code><code class="descname">MonteLexer</code><a class="headerlink" href="#pygments.lexers.monte.MonteLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>monte</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.mt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for the <a class="reference external" href="https://monte.readthedocs.io/">Monte</a> programming language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.ncl"></span></div>
-<div class="section" id="lexers-for-ncar-command-language">
-<h2>Lexers for NCAR Command Language<a class="headerlink" href="#lexers-for-ncar-command-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.ncl.NCLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ncl.</code><code class="descname">NCLLexer</code><a class="headerlink" href="#pygments.lexers.ncl.NCLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ncl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ncl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/ncl</p>
-</dd>
-</dl>
-<p>Lexer for NCL code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.nimrod"></span></div>
-<div class="section" id="lexer-for-the-nim-language-formerly-known-as-nimrod">
-<h2>Lexer for the Nim language (formerly known as Nimrod)<a class="headerlink" href="#lexer-for-the-nim-language-formerly-known-as-nimrod" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.nimrod.NimrodLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.nimrod.</code><code class="descname">NimrodLexer</code><a class="headerlink" href="#pygments.lexers.nimrod.NimrodLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>nim, nimrod</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.nim, *.nimrod</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-nim</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://nim-lang.org/">Nim</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.nit"></span></div>
-<div class="section" id="lexer-for-the-nit-language">
-<h2>Lexer for the Nit language<a class="headerlink" href="#lexer-for-the-nit-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.nit.NitLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.nit.</code><code class="descname">NitLexer</code><a class="headerlink" href="#pygments.lexers.nit.NitLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>nit</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.nit</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://nitlanguage.org">nit</a> source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.nix"></span></div>
-<div class="section" id="lexers-for-the-nixos-nix-language">
-<h2>Lexers for the NixOS Nix language<a class="headerlink" href="#lexers-for-the-nixos-nix-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.nix.NixLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.nix.</code><code class="descname">NixLexer</code><a class="headerlink" href="#pygments.lexers.nix.NixLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>nixos, nix</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.nix</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-nix</p>
-</dd>
-</dl>
-<p>For the <a class="reference external" href="http://nixos.org/nix/">Nix language</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.oberon"></span></div>
-<div class="section" id="lexers-for-oberon-family-languages">
-<h2>Lexers for Oberon family languages<a class="headerlink" href="#lexers-for-oberon-family-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.oberon.ComponentPascalLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.oberon.</code><code class="descname">ComponentPascalLexer</code><a class="headerlink" href="#pygments.lexers.oberon.ComponentPascalLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>componentpascal, cp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cp, *.cps</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-component-pascal</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.oberon.ch/pdf/CP-Lang.pdf">Component Pascal</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.objective"></span></div>
-<div class="section" id="lexers-for-objective-c-family-languages">
-<h2>Lexers for Objective-C family languages<a class="headerlink" href="#lexers-for-objective-c-family-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.objective.LogosLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.objective.</code><code class="descname">LogosLexer</code><a class="headerlink" href="#pygments.lexers.objective.LogosLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>logos</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.x, *.xi, *.xm, *.xmi</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-logos</p>
-</dd>
-</dl>
-<p>For Logos + Objective-C source code with preprocessor directives.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.objective.ObjectiveCLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.objective.</code><code class="descname">ObjectiveCLexer</code><a class="headerlink" href="#pygments.lexers.objective.ObjectiveCLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>objective-c, objectivec, obj-c, objc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.m, *.h</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-objective-c</p>
-</dd>
-</dl>
-<p>For Objective-C source code with preprocessor directives.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.objective.ObjectiveCppLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.objective.</code><code class="descname">ObjectiveCppLexer</code><a class="headerlink" href="#pygments.lexers.objective.ObjectiveCppLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>objective-c++, objectivec++, obj-c++, objc++</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.mm, *.hh</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-objective-c++</p>
-</dd>
-</dl>
-<p>For Objective-C++ source code with preprocessor directives.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.objective.SwiftLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.objective.</code><code class="descname">SwiftLexer</code><a class="headerlink" href="#pygments.lexers.objective.SwiftLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>swift</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.swift</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-swift</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://developer.apple.com/swift/">Swift</a> source.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.ooc"></span></div>
-<div class="section" id="lexers-for-the-ooc-language">
-<h2>Lexers for the Ooc language<a class="headerlink" href="#lexers-for-the-ooc-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.ooc.OocLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ooc.</code><code class="descname">OocLexer</code><a class="headerlink" href="#pygments.lexers.ooc.OocLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ooc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ooc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ooc</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://ooc-lang.org/">Ooc</a> source code</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.parasail"></span></div>
-<div class="section" id="lexer-for-parasail">
-<h2>Lexer for ParaSail<a class="headerlink" href="#lexer-for-parasail" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.parasail.ParaSailLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parasail.</code><code class="descname">ParaSailLexer</code><a class="headerlink" href="#pygments.lexers.parasail.ParaSailLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>parasail</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.psi, *.psl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-parasail</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.parasail-lang.org">ParaSail</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.parsers"></span></div>
-<div class="section" id="lexers-for-parser-generators">
-<h2>Lexers for parser generators<a class="headerlink" href="#lexers-for-parser-generators" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.parsers.AntlrActionScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">AntlrActionScriptLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrActionScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>antlr-as, antlr-actionscript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.G, *.g</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with ActionScript Target</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.AntlrCSharpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">AntlrCSharpLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrCSharpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>antlr-csharp, antlr-c#</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.G, *.g</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with C# Target</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.AntlrCppLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">AntlrCppLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrCppLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>antlr-cpp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.G, *.g</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with CPP Target</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.AntlrJavaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">AntlrJavaLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrJavaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>antlr-java</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.G, *.g</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Java Target</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1..</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.AntlrLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">AntlrLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>antlr</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Generic <a class="reference external" href="http://www.antlr.org/">ANTLR</a> Lexer.
-Should not be called directly, instead
-use DelegatingLexer for your target language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.AntlrObjectiveCLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">AntlrObjectiveCLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrObjectiveCLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>antlr-objc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.G, *.g</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Objective-C Target</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.AntlrPerlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">AntlrPerlLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrPerlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>antlr-perl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.G, *.g</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Perl Target</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.AntlrPythonLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">AntlrPythonLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrPythonLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>antlr-python</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.G, *.g</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Python Target</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.AntlrRubyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">AntlrRubyLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrRubyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>antlr-ruby, antlr-rb</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.G, *.g</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Ruby Target</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.EbnfLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">EbnfLexer</code><a class="headerlink" href="#pygments.lexers.parsers.EbnfLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ebnf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ebnf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ebnf</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form">ISO/IEC 14977 EBNF</a>
-grammars.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.RagelCLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">RagelCLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelCLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ragel-c</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a C host file.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.RagelCppLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">RagelCppLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelCppLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ragel-cpp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a CPP host file.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.RagelDLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">RagelDLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelDLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ragel-d</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a D host file.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.RagelEmbeddedLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">RagelEmbeddedLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelEmbeddedLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ragel-em</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> embedded in a host language file.</p>
-<p>This will only highlight Ragel statements. If you want host language
-highlighting then call the language-specific Ragel lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.RagelJavaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">RagelJavaLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelJavaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ragel-java</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a Java host file.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.RagelLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">RagelLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ragel</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A pure <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> lexer. Use this for
-fragments of Ragel. For <code class="docutils literal notranslate"><span class="pre">.rl</span></code> files, use RagelEmbeddedLexer instead
-(or one of the language-specific subclasses).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.RagelObjectiveCLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">RagelObjectiveCLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelObjectiveCLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ragel-objc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in an Objective C host file.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.RagelRubyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">RagelRubyLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelRubyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ragel-ruby, ragel-rb</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a Ruby host file.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.parsers.TreetopLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.parsers.</code><code class="descname">TreetopLexer</code><a class="headerlink" href="#pygments.lexers.parsers.TreetopLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>treetop</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.treetop, *.tt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A lexer for <a class="reference external" href="http://treetop.rubyforge.org/">Treetop</a> grammars.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.pascal"></span></div>
-<div class="section" id="lexers-for-pascal-family-languages">
-<h2>Lexers for Pascal family languages<a class="headerlink" href="#lexers-for-pascal-family-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.pascal.AdaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.pascal.</code><code class="descname">AdaLexer</code><a class="headerlink" href="#pygments.lexers.pascal.AdaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ada, ada95, ada2005</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.adb, *.ads, *.ada</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ada</p>
-</dd>
-</dl>
-<p>For Ada source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.3.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.pascal.DelphiLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.pascal.</code><code class="descname">DelphiLexer</code><a class="headerlink" href="#pygments.lexers.pascal.DelphiLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>delphi, pas, pascal, objectpascal</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pas, *.dpr</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-pascal</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.borland.com/delphi/">Delphi</a> (Borland Object Pascal),
-Turbo Pascal and Free Pascal source code.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>turbopascal</cite></dt><dd><p>Highlight Turbo Pascal specific keywords (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
-</dd>
-<dt><cite>delphi</cite></dt><dd><p>Highlight Borland Delphi specific keywords (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
-</dd>
-<dt><cite>freepascal</cite></dt><dd><p>Highlight Free Pascal specific keywords (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
-</dd>
-<dt><cite>units</cite></dt><dd><p>A list of units that should be considered builtin, supported are
-<code class="docutils literal notranslate"><span class="pre">System</span></code>, <code class="docutils literal notranslate"><span class="pre">SysUtils</span></code>, <code class="docutils literal notranslate"><span class="pre">Classes</span></code> and <code class="docutils literal notranslate"><span class="pre">Math</span></code>.
-Default is to consider all of them builtin.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.pawn"></span></div>
-<div class="section" id="lexers-for-the-pawn-languages">
-<h2>Lexers for the Pawn languages<a class="headerlink" href="#lexers-for-the-pawn-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.pawn.PawnLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.pawn.</code><code class="descname">PawnLexer</code><a class="headerlink" href="#pygments.lexers.pawn.PawnLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pawn</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.p, *.pwn, *.inc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-pawn</p>
-</dd>
-</dl>
-<p>For Pawn source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.pawn.SourcePawnLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.pawn.</code><code class="descname">SourcePawnLexer</code><a class="headerlink" href="#pygments.lexers.pawn.SourcePawnLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sp</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-sourcepawn</p>
-</dd>
-</dl>
-<p>For SourcePawn source code with preprocessor directives.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.perl"></span></div>
-<div class="section" id="lexers-for-perl-and-related-languages">
-<h2>Lexers for Perl and related languages<a class="headerlink" href="#lexers-for-perl-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.perl.Perl6Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.perl.</code><code class="descname">Perl6Lexer</code><a class="headerlink" href="#pygments.lexers.perl.Perl6Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>perl6, pl6</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pl, *.pm, *.nqp, *.p6, *.6pl, *.p6l, *.pl6, *.6pm, *.p6m, *.pm6, *.t</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-perl6, application/x-perl6</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.perl6.org">Perl 6</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.perl.PerlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.perl.</code><code class="descname">PerlLexer</code><a class="headerlink" href="#pygments.lexers.perl.PerlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>perl, pl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pl, *.pm, *.t</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-perl, application/x-perl</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.perl.org">Perl</a> source code.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.php"></span></div>
-<div class="section" id="lexers-for-php-and-related-languages">
-<h2>Lexers for PHP and related languages<a class="headerlink" href="#lexers-for-php-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.php.PhpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.php.</code><code class="descname">PhpLexer</code><a class="headerlink" href="#pygments.lexers.php.PhpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>php, php3, php4, php5</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.php, *.php[345], *.inc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-php</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.php.net/">PHP</a> source code.
-For PHP embedded in HTML, use the <cite>HtmlPhpLexer</cite>.</p>
-<p>Additional options accepted:</p>
-<dl>
-<dt><cite>startinline</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code> the lexer starts highlighting with
-php code (i.e.: no starting <code class="docutils literal notranslate"><span class="pre"><?php</span></code> required). The default
-is <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
-</dd>
-<dt><cite>funcnamehighlighting</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code>, highlight builtin function names
-(default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
-</dd>
-<dt><cite>disabledmodules</cite></dt><dd><p>If given, must be a list of module names whose function names
-should not be highlighted. By default all modules are highlighted
-except the special <code class="docutils literal notranslate"><span class="pre">'unknown'</span></code> module that includes functions
-that are known to php but are undocumented.</p>
-<p>To get a list of allowed modules have a look into the
-<cite>_php_builtins</cite> module:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers._php_builtins</span> <span class="kn">import</span> <span class="n">MODULES</span>
-<span class="gp">>>> </span><span class="n">MODULES</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
-<span class="go">['PHP Options/Info', 'Zip', 'dba', ...]</span>
-</pre></div>
-</div>
-<p>In fact the names of those modules match the module names from
-the php documentation.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.php.ZephirLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.php.</code><code class="descname">ZephirLexer</code><a class="headerlink" href="#pygments.lexers.php.ZephirLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>zephir</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.zep</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://zephir-lang.com/">Zephir language</a> source code.</p>
-<p>Zephir is a compiled high level language aimed
-to the creation of C-extensions for PHP.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.pony"></span></div>
-<div class="section" id="lexers-for-pony-and-related-languages">
-<h2>Lexers for Pony and related languages<a class="headerlink" href="#lexers-for-pony-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.pony.PonyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.pony.</code><code class="descname">PonyLexer</code><a class="headerlink" href="#pygments.lexers.pony.PonyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pony</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pony</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For Pony source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.praat"></span></div>
-<div class="section" id="lexer-for-praat">
-<h2>Lexer for Praat<a class="headerlink" href="#lexer-for-praat" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.praat.PraatLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.praat.</code><code class="descname">PraatLexer</code><a class="headerlink" href="#pygments.lexers.praat.PraatLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>praat</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.praat, *.proc, *.psc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.praat.org">Praat</a> scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.prolog"></span></div>
-<div class="section" id="lexers-for-prolog-and-prolog-like-languages">
-<h2>Lexers for Prolog and Prolog-like languages<a class="headerlink" href="#lexers-for-prolog-and-prolog-like-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.prolog.LogtalkLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.prolog.</code><code class="descname">LogtalkLexer</code><a class="headerlink" href="#pygments.lexers.prolog.LogtalkLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>logtalk</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lgt, *.logtalk</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-logtalk</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://logtalk.org/">Logtalk</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.prolog.PrologLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.prolog.</code><code class="descname">PrologLexer</code><a class="headerlink" href="#pygments.lexers.prolog.PrologLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>prolog</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ecl, *.prolog, *.pro, *.pl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-prolog</p>
-</dd>
-</dl>
-<p>Lexer for Prolog files.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.python"></span></div>
-<div class="section" id="lexers-for-python-and-related-languages">
-<h2>Lexers for Python and related languages<a class="headerlink" href="#lexers-for-python-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.python.CythonLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.python.</code><code class="descname">CythonLexer</code><a class="headerlink" href="#pygments.lexers.python.CythonLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cython, pyx, pyrex</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pyx, *.pxd, *.pxi</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-cython, application/x-cython</p>
-</dd>
-</dl>
-<p>For Pyrex and <a class="reference external" href="http://cython.org">Cython</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.python.DgLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.python.</code><code class="descname">DgLexer</code><a class="headerlink" href="#pygments.lexers.python.DgLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>dg</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.dg</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-dg</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://pyos.github.com/dg">dg</a>,
-a functional and object-oriented programming language
-running on the CPython 3 VM.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.python.NumPyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.python.</code><code class="descname">NumPyLexer</code><a class="headerlink" href="#pygments.lexers.python.NumPyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>numpy</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>A Python lexer recognizing Numerical Python builtins.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.python.Python3Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.python.</code><code class="descname">Python3Lexer</code><a class="headerlink" href="#pygments.lexers.python.Python3Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>python3, py3</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-python3, application/x-python3</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.python.org">Python</a> source code (version 3.0).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.python.Python3TracebackLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.python.</code><code class="descname">Python3TracebackLexer</code><a class="headerlink" href="#pygments.lexers.python.Python3TracebackLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>py3tb</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.py3tb</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-python3-traceback</p>
-</dd>
-</dl>
-<p>For Python 3.0 tracebacks, with support for chained exceptions.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.python.PythonConsoleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.python.</code><code class="descname">PythonConsoleLexer</code><a class="headerlink" href="#pygments.lexers.python.PythonConsoleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pycon</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-python-doctest</p>
-</dd>
-</dl>
-<p>For Python console output or doctests, such as:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">a</span> <span class="o">=</span> <span class="s1">'foo'</span>
-<span class="gp">>>> </span><span class="k">print</span> <span class="n">a</span>
-<span class="go">foo</span>
-<span class="gp">>>> </span><span class="mi">1</span> <span class="o">/</span> <span class="mi">0</span>
-<span class="gt">Traceback (most recent call last):</span>
- File <span class="nb">"<stdin>"</span>, line <span class="m">1</span>, in <span class="n"><module></span>
-<span class="gr">ZeroDivisionError</span>: <span class="n">integer division or modulo by zero</span>
-</pre></div>
-</div>
-<p>Additional options:</p>
-<dl>
-<dt><cite>python3</cite></dt><dd><p>Use Python 3 lexer for code. Default is <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.0.</span></p>
-</div>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.python.PythonLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.python.</code><code class="descname">PythonLexer</code><a class="headerlink" href="#pygments.lexers.python.PythonLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>python, py, sage</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.py, *.pyw, *.sc, SConstruct, SConscript, *.tac, *.sage</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-python, application/x-python</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.python.org">Python</a> source code.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.python.PythonTracebackLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.python.</code><code class="descname">PythonTracebackLexer</code><a class="headerlink" href="#pygments.lexers.python.PythonTracebackLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pytb</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pytb</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-python-traceback</p>
-</dd>
-</dl>
-<p>For Python tracebacks.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.qvt"></span></div>
-<div class="section" id="lexer-for-qvt-operational-language">
-<h2>Lexer for QVT Operational language<a class="headerlink" href="#lexer-for-qvt-operational-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.qvt.QVToLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.qvt.</code><code class="descname">QVToLexer</code><a class="headerlink" href="#pygments.lexers.qvt.QVToLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>qvto, qvt</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.qvto</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For the <a class="reference external" href="http://www.omg.org/spec/QVT/1.1/">QVT Operational Mapping language</a>.</p>
-<p>Reference for implementing this: «Meta Object Facility (MOF) 2.0
-Query/View/Transformation Specification», Version 1.1 - January 2011
-(<a class="reference external" href="http://www.omg.org/spec/QVT/1.1/">http://www.omg.org/spec/QVT/1.1/</a>), see §8.4, «Concrete Syntax» in
-particular.</p>
-<p>Notable tokens assignments:</p>
-<ul class="simple">
-<li><p>Name.Class is assigned to the identifier following any of the following
-keywords: metamodel, class, exception, primitive, enum, transformation
-or library</p></li>
-<li><p>Name.Function is assigned to the names of mappings and queries</p></li>
-<li><p>Name.Builtin.Pseudo is assigned to the pre-defined variables ‘this’,
-‘self’ and ‘result’.</p></li>
-</ul>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.r"></span></div>
-<div class="section" id="lexers-for-the-r-s-languages">
-<h2>Lexers for the R/S languages<a class="headerlink" href="#lexers-for-the-r-s-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.r.RConsoleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.r.</code><code class="descname">RConsoleLexer</code><a class="headerlink" href="#pygments.lexers.r.RConsoleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rconsole, rout</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.Rout</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For R console transcripts or R CMD BATCH output files.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.r.RdLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.r.</code><code class="descname">RdLexer</code><a class="headerlink" href="#pygments.lexers.r.RdLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rd</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.Rd</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-r-doc</p>
-</dd>
-</dl>
-<p>Pygments Lexer for R documentation (Rd) files</p>
-<p>This is a very minimal implementation, highlighting little more
-than the macros. A description of Rd syntax is found in <a class="reference external" href="http://cran.r-project.org/doc/manuals/R-exts.html">Writing R
-Extensions</a>
-and <a class="reference external" href="http://developer.r-project.org/parseRd.pdf">Parsing Rd files</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.r.SLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.r.</code><code class="descname">SLexer</code><a class="headerlink" href="#pygments.lexers.r.SLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>splus, s, r</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.S, *.R, .Rhistory, .Rprofile, .Renviron</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/S-plus, text/S, text/x-r-source, text/x-r, text/x-R, text/x-r-history, text/x-r-profile</p>
-</dd>
-</dl>
-<p>For S, S-plus, and R source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.rdf"></span></div>
-<div class="section" id="lexers-for-semantic-web-and-rdf-query-languages-and-markup">
-<h2>Lexers for semantic web and RDF query languages and markup<a class="headerlink" href="#lexers-for-semantic-web-and-rdf-query-languages-and-markup" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.rdf.ShExCLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.rdf.</code><code class="descname">ShExCLexer</code><a class="headerlink" href="#pygments.lexers.rdf.ShExCLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>shexc, shex</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.shex</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/shex</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="https://shex.io/shex-semantics/#shexc">ShExC</a> shape expressions language syntax.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.rdf.SparqlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.rdf.</code><code class="descname">SparqlLexer</code><a class="headerlink" href="#pygments.lexers.rdf.SparqlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sparql</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rq, *.sparql</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/sparql-query</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL</a> query language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.rdf.TurtleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.rdf.</code><code class="descname">TurtleLexer</code><a class="headerlink" href="#pygments.lexers.rdf.TurtleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>turtle</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ttl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/turtle, application/x-turtle</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://www.w3.org/TR/turtle/">Turtle</a> data language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.rebol"></span></div>
-<div class="section" id="lexers-for-the-rebol-and-related-languages">
-<h2>Lexers for the REBOL and related languages<a class="headerlink" href="#lexers-for-the-rebol-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.rebol.RebolLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.rebol.</code><code class="descname">RebolLexer</code><a class="headerlink" href="#pygments.lexers.rebol.RebolLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rebol</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.r, *.r3, *.reb</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-rebol</p>
-</dd>
-</dl>
-<p>A <a class="reference external" href="http://www.rebol.com/">REBOL</a> lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.rebol.RedLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.rebol.</code><code class="descname">RedLexer</code><a class="headerlink" href="#pygments.lexers.rebol.RedLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>red, red/system</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.red, *.reds</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-red, text/x-red-system</p>
-</dd>
-</dl>
-<p>A <a class="reference external" href="http://www.red-lang.org/">Red-language</a> lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.resource"></span></div>
-<div class="section" id="lexer-for-resource-definition-files">
-<h2>Lexer for resource definition files<a class="headerlink" href="#lexer-for-resource-definition-files" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.resource.ResourceLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.resource.</code><code class="descname">ResourceLexer</code><a class="headerlink" href="#pygments.lexers.resource.ResourceLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>resource, resourcebundle</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.txt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://userguide.icu-project.org/locale/resources">ICU Resource bundles</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.rnc"></span></div>
-<div class="section" id="lexer-for-relax-ng-compact-syntax">
-<h2>Lexer for Relax-NG Compact syntax<a class="headerlink" href="#lexer-for-relax-ng-compact-syntax" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.rnc.RNCCompactLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.rnc.</code><code class="descname">RNCCompactLexer</code><a class="headerlink" href="#pygments.lexers.rnc.RNCCompactLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rnc, rng-compact</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rnc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://relaxng.org">RelaxNG-compact</a> syntax.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.roboconf"></span></div>
-<div class="section" id="lexers-for-roboconf-dsl">
-<h2>Lexers for Roboconf DSL<a class="headerlink" href="#lexers-for-roboconf-dsl" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.roboconf.RoboconfGraphLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.roboconf.</code><code class="descname">RoboconfGraphLexer</code><a class="headerlink" href="#pygments.lexers.roboconf.RoboconfGraphLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>roboconf-graph</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.graph</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://roboconf.net/en/roboconf.html">Roboconf</a> graph files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.roboconf.RoboconfInstancesLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.roboconf.</code><code class="descname">RoboconfInstancesLexer</code><a class="headerlink" href="#pygments.lexers.roboconf.RoboconfInstancesLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>roboconf-instances</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.instances</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://roboconf.net/en/roboconf.html">Roboconf</a> instances files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.robotframework"></span></div>
-<div class="section" id="lexer-for-robot-framework">
-<h2>Lexer for Robot Framework<a class="headerlink" href="#lexer-for-robot-framework" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.robotframework.RobotFrameworkLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.robotframework.</code><code class="descname">RobotFrameworkLexer</code><a class="headerlink" href="#pygments.lexers.robotframework.RobotFrameworkLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>robotframework</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.txt, *.robot</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-robotframework</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://robotframework.org">Robot Framework</a> test data.</p>
-<p>Supports both space and pipe separated plain text formats.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.ruby"></span></div>
-<div class="section" id="lexers-for-ruby-and-related-languages">
-<h2>Lexers for Ruby and related languages<a class="headerlink" href="#lexers-for-ruby-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.ruby.FancyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ruby.</code><code class="descname">FancyLexer</code><a class="headerlink" href="#pygments.lexers.ruby.FancyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>fancy, fy</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.fy, *.fancypack</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-fancysrc</p>
-</dd>
-</dl>
-<p>Pygments Lexer For <a class="reference external" href="http://www.fancy-lang.org/">Fancy</a>.</p>
-<p>Fancy is a self-hosted, pure object-oriented, dynamic,
-class-based, concurrent general-purpose programming language
-running on Rubinius, the Ruby VM.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.ruby.RubyConsoleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ruby.</code><code class="descname">RubyConsoleLexer</code><a class="headerlink" href="#pygments.lexers.ruby.RubyConsoleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rbcon, irb</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ruby-shellsession</p>
-</dd>
-</dl>
-<p>For Ruby interactive console (<strong>irb</strong>) output like:</p>
-<div class="highlight-rbcon notranslate"><div class="highlight"><pre><span></span><span class="gp">irb(main):001:0> </span><span class="n">a</span> <span class="o">=</span> <span class="mi">1</span>
-<span class="go">=> 1</span>
-<span class="gp">irb(main):002:0> </span><span class="nb">puts</span> <span class="n">a</span>
-<span class="go">1</span>
-<span class="go">=> nil</span>
-</pre></div>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.ruby.RubyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.ruby.</code><code class="descname">RubyLexer</code><a class="headerlink" href="#pygments.lexers.ruby.RubyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rb, ruby, duby</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rb, *.rbw, Rakefile, *.rake, *.gemspec, *.rbx, *.duby, Gemfile</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-ruby, application/x-ruby</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.ruby-lang.org">Ruby</a> source code.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.rust"></span></div>
-<div class="section" id="lexers-for-the-rust-language">
-<h2>Lexers for the Rust language<a class="headerlink" href="#lexers-for-the-rust-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.rust.RustLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.rust.</code><code class="descname">RustLexer</code><a class="headerlink" href="#pygments.lexers.rust.RustLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rust, rs</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rs, *.rs.in</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/rust</p>
-</dd>
-</dl>
-<p>Lexer for the Rust programming language (version 1.10).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.sas"></span></div>
-<div class="section" id="lexer-for-sas">
-<h2>Lexer for SAS<a class="headerlink" href="#lexer-for-sas" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.sas.SASLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sas.</code><code class="descname">SASLexer</code><a class="headerlink" href="#pygments.lexers.sas.SASLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sas</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.SAS, *.sas</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-sas, text/sas, application/x-sas</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.sas.com/">SAS</a> files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.scripting"></span></div>
-<div class="section" id="lexer-for-scripting-and-embedded-languages">
-<h2>Lexer for scripting and embedded languages<a class="headerlink" href="#lexer-for-scripting-and-embedded-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.scripting.AppleScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">AppleScriptLexer</code><a class="headerlink" href="#pygments.lexers.scripting.AppleScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>applescript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.applescript</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptLangGuide">AppleScript source code</a>,
-including <a class="reference external" href="http://developer.apple.com/documentation/AppleScript/Reference/StudioReference">AppleScript Studio</a>.
-Contributed by Andreas Amann <<a class="reference external" href="mailto:aamann%40mac.com">aamann<span>@</span>mac<span>.</span>com</a>>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.scripting.ChaiscriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">ChaiscriptLexer</code><a class="headerlink" href="#pygments.lexers.scripting.ChaiscriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>chai, chaiscript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.chai</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-chaiscript, application/x-chaiscript</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://chaiscript.com/">ChaiScript</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.scripting.EasytrieveLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">EasytrieveLexer</code><a class="headerlink" href="#pygments.lexers.scripting.EasytrieveLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>easytrieve</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ezt, *.mac</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-easytrieve</p>
-</dd>
-</dl>
-<p>Easytrieve Plus is a programming language for extracting, filtering and
-converting sequential data. Furthermore it can layout data for reports.
-It is mainly used on mainframe platforms and can access several of the
-mainframe’s native file formats. It is somewhat comparable to awk.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.scripting.HybrisLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">HybrisLexer</code><a class="headerlink" href="#pygments.lexers.scripting.HybrisLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>hybris, hy</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.hy, *.hyb</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-hybris, application/x-hybris</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.hybris-lang.org">Hybris</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.scripting.JclLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">JclLexer</code><a class="headerlink" href="#pygments.lexers.scripting.JclLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>jcl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.jcl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-jcl</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B570/CCONTENTS">Job Control Language (JCL)</a>
-is a scripting language used on mainframe platforms to instruct the system
-on how to run a batch job or start a subsystem. It is somewhat
-comparable to MS DOS batch and Unix shell scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.scripting.LSLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">LSLLexer</code><a class="headerlink" href="#pygments.lexers.scripting.LSLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>lsl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lsl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-lsl</p>
-</dd>
-</dl>
-<p>For Second Life’s Linden Scripting Language source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.scripting.LuaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">LuaLexer</code><a class="headerlink" href="#pygments.lexers.scripting.LuaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>lua</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lua, *.wlua</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-lua, application/x-lua</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.lua.org">Lua</a> source code.</p>
-<p>Additional options accepted:</p>
-<dl>
-<dt><cite>func_name_highlighting</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code>, highlight builtin function names
-(default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
-</dd>
-<dt><cite>disabled_modules</cite></dt><dd><p>If given, must be a list of module names whose function names
-should not be highlighted. By default all modules are highlighted.</p>
-<p>To get a list of allowed modules have a look into the
-<cite>_lua_builtins</cite> module:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers._lua_builtins</span> <span class="kn">import</span> <span class="n">MODULES</span>
-<span class="gp">>>> </span><span class="n">MODULES</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
-<span class="go">['string', 'coroutine', 'modules', 'io', 'basic', ...]</span>
-</pre></div>
-</div>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.scripting.MOOCodeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">MOOCodeLexer</code><a class="headerlink" href="#pygments.lexers.scripting.MOOCodeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>moocode, moo</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.moo</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-moocode</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.moo.mud.org/">MOOCode</a> (the MOO scripting
-language).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.scripting.MoonScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">MoonScriptLexer</code><a class="headerlink" href="#pygments.lexers.scripting.MoonScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>moon, moonscript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.moon</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-moonscript, application/x-moonscript</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://moonscript.org">MoonScript</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.scripting.RexxLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.scripting.</code><code class="descname">RexxLexer</code><a class="headerlink" href="#pygments.lexers.scripting.RexxLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rexx, arexx</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rexx, *.rex, *.rx, *.arexx</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-rexx</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://www.rexxinfo.org/">Rexx</a> is a scripting language available for
-a wide range of different platforms with its roots found on mainframe
-systems. It is popular for I/O- and data based tasks and can act as glue
-language to bind different applications together.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.sgf"></span></div>
-<div class="section" id="lexer-for-smart-game-format-sgf-file-format">
-<h2>Lexer for Smart Game Format (sgf) file format<a class="headerlink" href="#lexer-for-smart-game-format-sgf-file-format" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.sgf.SmartGameFormatLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sgf.</code><code class="descname">SmartGameFormatLexer</code><a class="headerlink" href="#pygments.lexers.sgf.SmartGameFormatLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sgf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sgf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for Smart Game Format (sgf) file format.</p>
-<p>The format is used to store game records of board games for two players
-(mainly Go game).
-For more information about the definition of the format, see:
-<a class="reference external" href="https://www.red-bean.com/sgf/">https://www.red-bean.com/sgf/</a></p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.shell"></span></div>
-<div class="section" id="lexers-for-various-shells">
-<h2>Lexers for various shells<a class="headerlink" href="#lexers-for-various-shells" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.shell.BashLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">BashLexer</code><a class="headerlink" href="#pygments.lexers.shell.BashLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bash, sh, ksh, zsh, shell</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sh, *.ksh, *.bash, *.ebuild, *.eclass, *.exheres-0, *.exlib, *.zsh, .bashrc, bashrc, .bash\*, bash\*, zshrc, .zshrc, PKGBUILD</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-sh, application/x-shellscript, text/x-shellscript</p>
-</dd>
-</dl>
-<p>Lexer for (ba|k|z|)sh shell scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.shell.BashSessionLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">BashSessionLexer</code><a class="headerlink" href="#pygments.lexers.shell.BashSessionLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>console, shell-session</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sh-session, *.shell-session</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-shell-session, application/x-sh-session</p>
-</dd>
-</dl>
-<p>Lexer for simplistic shell sessions.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.shell.BatchLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">BatchLexer</code><a class="headerlink" href="#pygments.lexers.shell.BatchLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>bat, batch, dosbatch, winbatch</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bat, *.cmd</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-dos-batch</p>
-</dd>
-</dl>
-<p>Lexer for the DOS/Windows Batch file format.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.shell.FishShellLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">FishShellLexer</code><a class="headerlink" href="#pygments.lexers.shell.FishShellLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>fish, fishshell</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.fish, *.load</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-fish</p>
-</dd>
-</dl>
-<p>Lexer for Fish shell scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.shell.MSDOSSessionLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">MSDOSSessionLexer</code><a class="headerlink" href="#pygments.lexers.shell.MSDOSSessionLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>doscon</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for simplistic MSDOS sessions.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.shell.PowerShellLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">PowerShellLexer</code><a class="headerlink" href="#pygments.lexers.shell.PowerShellLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>powershell, posh, ps1, psm1</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ps1, *.psm1</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-powershell</p>
-</dd>
-</dl>
-<p>For Windows PowerShell code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.shell.PowerShellSessionLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">PowerShellSessionLexer</code><a class="headerlink" href="#pygments.lexers.shell.PowerShellSessionLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ps1con</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for simplistic Windows PowerShell sessions.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.shell.SlurmBashLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">SlurmBashLexer</code><a class="headerlink" href="#pygments.lexers.shell.SlurmBashLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>slurm, sbatch</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for (ba|k|z|)sh Slurm scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.shell.TcshLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">TcshLexer</code><a class="headerlink" href="#pygments.lexers.shell.TcshLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>tcsh, csh</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.tcsh, *.csh</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-csh</p>
-</dd>
-</dl>
-<p>Lexer for tcsh scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.shell.TcshSessionLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.shell.</code><code class="descname">TcshSessionLexer</code><a class="headerlink" href="#pygments.lexers.shell.TcshSessionLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>tcshcon</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for Tcsh sessions.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.slash"></span></div>
-<div class="section" id="lexer-for-the-slash-programming">
-<h2>Lexer for the <a class="reference external" href="https://github.com/arturadib/Slash-A">Slash</a> programming<a class="headerlink" href="#lexer-for-the-slash-programming" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.slash.SlashLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.slash.</code><code class="descname">SlashLexer</code><a class="headerlink" href="#pygments.lexers.slash.SlashLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>slash</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for the Slash programming language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.smalltalk"></span></div>
-<div class="section" id="lexers-for-smalltalk-and-related-languages">
-<h2>Lexers for Smalltalk and related languages<a class="headerlink" href="#lexers-for-smalltalk-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.smalltalk.NewspeakLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.smalltalk.</code><code class="descname">NewspeakLexer</code><a class="headerlink" href="#pygments.lexers.smalltalk.NewspeakLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>newspeak</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ns2</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-newspeak</p>
-</dd>
-</dl>
-<p>For <cite>Newspeak <http://newspeaklanguage.org/></cite> syntax.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.smalltalk.SmalltalkLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.smalltalk.</code><code class="descname">SmalltalkLexer</code><a class="headerlink" href="#pygments.lexers.smalltalk.SmalltalkLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>smalltalk, squeak, st</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.st</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-smalltalk</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.smalltalk.org/">Smalltalk</a> syntax.
-Contributed by Stefan Matthias Aust.
-Rewritten by Nils Winter.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.smv"></span></div>
-<div class="section" id="lexers-for-the-smv-languages">
-<h2>Lexers for the SMV languages<a class="headerlink" href="#lexers-for-the-smv-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.smv.NuSMVLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.smv.</code><code class="descname">NuSMVLexer</code><a class="headerlink" href="#pygments.lexers.smv.NuSMVLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>nusmv</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.smv</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for the NuSMV language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.snobol"></span></div>
-<div class="section" id="lexers-for-the-snobol-language">
-<h2>Lexers for the SNOBOL language<a class="headerlink" href="#lexers-for-the-snobol-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.snobol.SnobolLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.snobol.</code><code class="descname">SnobolLexer</code><a class="headerlink" href="#pygments.lexers.snobol.SnobolLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>snobol</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.snobol</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-snobol</p>
-</dd>
-</dl>
-<p>Lexer for the SNOBOL4 programming language.</p>
-<p>Recognizes the common ASCII equivalents of the original SNOBOL4 operators.
-Does not require spaces around binary operators.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.special"></span></div>
-<div class="section" id="special-lexers">
-<h2>Special lexers<a class="headerlink" href="#special-lexers" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.special.RawTokenLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.special.</code><code class="descname">RawTokenLexer</code><a class="headerlink" href="#pygments.lexers.special.RawTokenLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>raw</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-pygments-tokens</p>
-</dd>
-</dl>
-<p>Recreate a token stream formatted with the <cite>RawTokenFormatter</cite>. This
-lexer raises exceptions during parsing if the token stream in the
-file is malformed.</p>
-<p>Additional options accepted:</p>
-<dl class="simple">
-<dt><cite>compress</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">"gz"</span></code> or <code class="docutils literal notranslate"><span class="pre">"bz2"</span></code>, decompress the token stream with
-the given compression algorithm before lexing (default: <code class="docutils literal notranslate"><span class="pre">""</span></code>).</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.special.TextLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.special.</code><code class="descname">TextLexer</code><a class="headerlink" href="#pygments.lexers.special.TextLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>text</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.txt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/plain</p>
-</dd>
-</dl>
-<p>“Null” lexer, doesn’t highlight anything.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.sql"></span></div>
-<div class="section" id="lexers-for-various-sql-dialects-and-related-interactive-sessions">
-<h2>Lexers for various SQL dialects and related interactive sessions<a class="headerlink" href="#lexers-for-various-sql-dialects-and-related-interactive-sessions" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.sql.MySqlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sql.</code><code class="descname">MySqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.MySqlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mysql</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-mysql</p>
-</dd>
-</dl>
-<p>Special lexer for MySQL.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.sql.PlPgsqlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sql.</code><code class="descname">PlPgsqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.PlPgsqlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>plpgsql</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-plpgsql</p>
-</dd>
-</dl>
-<p>Handle the extra syntax in Pl/pgSQL language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.sql.PostgresConsoleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sql.</code><code class="descname">PostgresConsoleLexer</code><a class="headerlink" href="#pygments.lexers.sql.PostgresConsoleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>psql, postgresql-console, postgres-console</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-postgresql-psql</p>
-</dd>
-</dl>
-<p>Lexer for psql sessions.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.sql.PostgresLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sql.</code><code class="descname">PostgresLexer</code><a class="headerlink" href="#pygments.lexers.sql.PostgresLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>postgresql, postgres</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-postgresql</p>
-</dd>
-</dl>
-<p>Lexer for the PostgreSQL dialect of SQL.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.sql.RqlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sql.</code><code class="descname">RqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.RqlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rql</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rql</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-rql</p>
-</dd>
-</dl>
-<p>Lexer for Relation Query Language.</p>
-<p><a class="reference external" href="http://www.logilab.org/project/rql">RQL</a></p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.sql.SqlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sql.</code><code class="descname">SqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.SqlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sql</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sql</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-sql</p>
-</dd>
-</dl>
-<p>Lexer for Structured Query Language. Currently, this lexer does
-not recognize any special syntax except ANSI SQL.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.sql.SqliteConsoleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sql.</code><code class="descname">SqliteConsoleLexer</code><a class="headerlink" href="#pygments.lexers.sql.SqliteConsoleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sqlite3</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sqlite3-console</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-sqlite3-console</p>
-</dd>
-</dl>
-<p>Lexer for example sessions using sqlite3.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.11.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.sql.TransactSqlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.sql.</code><code class="descname">TransactSqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.TransactSqlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>tsql, t-sql</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sql</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-tsql</p>
-</dd>
-</dl>
-<p>Transact-SQL (T-SQL) is Microsoft’s and Sybase’s proprietary extension to
-SQL.</p>
-<p>The list of keywords includes ODBC and keywords reserved for future use..</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.stata"></span></div>
-<div class="section" id="lexer-for-stata">
-<h2>Lexer for Stata<a class="headerlink" href="#lexer-for-stata" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.stata.StataLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.stata.</code><code class="descname">StataLexer</code><a class="headerlink" href="#pygments.lexers.stata.StataLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>stata, do</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.do, *.ado</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-stata, text/stata, application/x-stata</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.stata.com/">Stata</a> do files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.supercollider"></span></div>
-<div class="section" id="lexer-for-supercollider">
-<h2>Lexer for SuperCollider<a class="headerlink" href="#lexer-for-supercollider" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.supercollider.SuperColliderLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.supercollider.</code><code class="descname">SuperColliderLexer</code><a class="headerlink" href="#pygments.lexers.supercollider.SuperColliderLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>sc, supercollider</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sc, *.scd</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/supercollider, text/supercollider</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://supercollider.github.io/">SuperCollider</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.tcl"></span></div>
-<div class="section" id="lexers-for-tcl-and-related-languages">
-<h2>Lexers for Tcl and related languages<a class="headerlink" href="#lexers-for-tcl-and-related-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.tcl.TclLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.tcl.</code><code class="descname">TclLexer</code><a class="headerlink" href="#pygments.lexers.tcl.TclLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>tcl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.tcl, *.rvt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-tcl, text/x-script.tcl, application/x-tcl</p>
-</dd>
-</dl>
-<p>For Tcl source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.10.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.templates"></span></div>
-<div class="section" id="lexers-for-various-template-engines-markup">
-<h2>Lexers for various template engines’ markup<a class="headerlink" href="#lexers-for-various-template-engines-markup" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.templates.Angular2HtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">Angular2HtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.Angular2HtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+ng2</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ng2</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>Angular2Lexer</cite> that highlights unlexed data with the
-<cite>HtmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.Angular2Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">Angular2Lexer</code><a class="headerlink" href="#pygments.lexers.templates.Angular2Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ng2</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Generic
-<a class="reference external" href="http://victorsavkin.com/post/119943127151/angular-2-template-syntax">angular2</a>
-template lexer.</p>
-<p>Highlights only the Angular template tags (stuff between <cite>{{</cite> and <cite>}}</cite> and
-special attributes: ‘(event)=’, ‘[property]=’, ‘[(twoWayBinding)]=’).
-Everything else is left for a delegating lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.CheetahHtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">CheetahHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.CheetahHtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+cheetah, html+spitfire, htmlcheetah</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+cheetah, text/html+spitfire</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>CheetahLexer</cite> that highlights unlexed data
-with the <cite>HtmlLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.CheetahJavascriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">CheetahJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.templates.CheetahJavascriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js+cheetah, javascript+cheetah, js+spitfire, javascript+spitfire</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-javascript+cheetah, text/x-javascript+cheetah, text/javascript+cheetah, application/x-javascript+spitfire, text/x-javascript+spitfire, text/javascript+spitfire</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>CheetahLexer</cite> that highlights unlexed data
-with the <cite>JavascriptLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.CheetahLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">CheetahLexer</code><a class="headerlink" href="#pygments.lexers.templates.CheetahLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cheetah, spitfire</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.tmpl, *.spt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-cheetah, application/x-spitfire</p>
-</dd>
-</dl>
-<p>Generic <a class="reference external" href="http://www.cheetahtemplate.org/">cheetah templates</a> lexer. Code that isn’t Cheetah
-markup is yielded as <cite>Token.Other</cite>. This also works for
-<a class="reference external" href="http://code.google.com/p/spitfire/">spitfire templates</a> which use the same syntax.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.CheetahXmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">CheetahXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.CheetahXmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+cheetah, xml+spitfire</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+cheetah, application/xml+spitfire</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>CheetahLexer</cite> that highlights unlexed data
-with the <cite>XmlLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.ColdfusionCFCLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">ColdfusionCFCLexer</code><a class="headerlink" href="#pygments.lexers.templates.ColdfusionCFCLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cfc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cfc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Coldfusion markup/script components</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.ColdfusionHtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">ColdfusionHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.ColdfusionHtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cfm</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cfm, *.cfml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-coldfusion</p>
-</dd>
-</dl>
-<p>Coldfusion markup in html</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.ColdfusionLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">ColdfusionLexer</code><a class="headerlink" href="#pygments.lexers.templates.ColdfusionLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cfs</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Coldfusion statements</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.CssDjangoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">CssDjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssDjangoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css+django, css+jinja</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/css+django, text/css+jinja</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
-<cite>CssLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.CssErbLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">CssErbLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssErbLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css+erb, css+ruby</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/css+ruby</p>
-</dd>
-</dl>
-<p>Subclass of <cite>ErbLexer</cite> which highlights unlexed data with the <cite>CssLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.CssGenshiLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">CssGenshiLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssGenshiLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css+genshitext, css+genshi</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/css+genshi</p>
-</dd>
-</dl>
-<p>A lexer that highlights CSS definitions in genshi text templates.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.CssPhpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">CssPhpLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssPhpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css+php</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/css+php</p>
-</dd>
-</dl>
-<p>Subclass of <cite>PhpLexer</cite> which highlights unmatched data with the <cite>CssLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.CssSmartyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">CssSmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssSmartyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css+smarty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/css+smarty</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>SmartyLexer</cite> that highlights unlexed data with the
-<cite>CssLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.DjangoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">DjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.DjangoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>django, jinja</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-django-templating, application/x-jinja</p>
-</dd>
-</dl>
-<p>Generic <a class="reference external" href="http://www.djangoproject.com/documentation/templates/">django</a>
-and <a class="reference external" href="http://wsgiarea.pocoo.org/jinja/">jinja</a> template lexer.</p>
-<p>It just highlights django/jinja code between the preprocessor directives,
-other data is left untouched by the lexer.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.ErbLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">ErbLexer</code><a class="headerlink" href="#pygments.lexers.templates.ErbLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>erb</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-ruby-templating</p>
-</dd>
-</dl>
-<p>Generic <a class="reference external" href="http://ruby-doc.org/core/classes/ERB.html">ERB</a> (Ruby Templating)
-lexer.</p>
-<p>Just highlights ruby code between the preprocessor directives, other data
-is left untouched by the lexer.</p>
-<p>All options are also forwarded to the <cite>RubyLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.EvoqueHtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">EvoqueHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.EvoqueHtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+evoque</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.html</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+evoque</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>EvoqueLexer</cite> that highlights unlexed data with the
-<cite>HtmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.EvoqueLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">EvoqueLexer</code><a class="headerlink" href="#pygments.lexers.templates.EvoqueLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>evoque</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.evoque</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-evoque</p>
-</dd>
-</dl>
-<p>For files using the Evoque templating system.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.EvoqueXmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">EvoqueXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.EvoqueXmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+evoque</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.xml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+evoque</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>EvoqueLexer</cite> that highlights unlexed data with the
-<cite>XmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.GenshiLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">GenshiLexer</code><a class="headerlink" href="#pygments.lexers.templates.GenshiLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>genshi, kid, xml+genshi, xml+kid</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.kid</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-genshi, application/x-kid</p>
-</dd>
-</dl>
-<p>A lexer that highlights <a class="reference external" href="http://genshi.edgewall.org/">genshi</a> and
-<a class="reference external" href="http://kid-templating.org/">kid</a> kid XML templates.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.GenshiTextLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">GenshiTextLexer</code><a class="headerlink" href="#pygments.lexers.templates.GenshiTextLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>genshitext</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-genshi-text, text/x-genshi</p>
-</dd>
-</dl>
-<p>A lexer that highlights <a class="reference external" href="http://genshi.edgewall.org/">genshi</a> text
-templates.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.HandlebarsHtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">HandlebarsHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.HandlebarsHtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+handlebars</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.handlebars, *.hbs</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+handlebars, text/x-handlebars-template</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>HandlebarsLexer</cite> that highlights unlexed data with the
-<cite>HtmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.HandlebarsLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">HandlebarsLexer</code><a class="headerlink" href="#pygments.lexers.templates.HandlebarsLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>handlebars</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Generic <cite>handlebars <http://handlebarsjs.com/></cite> template lexer.</p>
-<p>Highlights only the Handlebars template tags (stuff between <cite>{{</cite> and <cite>}}</cite>).
-Everything else is left for a delegating lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.HtmlDjangoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">HtmlDjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.HtmlDjangoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+django, html+jinja, htmldjango</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+django, text/html+jinja</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
-<cite>HtmlLexer</cite>.</p>
-<p>Nested Javascript and CSS is highlighted too.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.HtmlGenshiLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">HtmlGenshiLexer</code><a class="headerlink" href="#pygments.lexers.templates.HtmlGenshiLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+genshi, html+kid</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+genshi</p>
-</dd>
-</dl>
-<p>A lexer that highlights <a class="reference external" href="http://genshi.edgewall.org/">genshi</a> and
-<a class="reference external" href="http://kid-templating.org/">kid</a> kid HTML templates.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.HtmlPhpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">HtmlPhpLexer</code><a class="headerlink" href="#pygments.lexers.templates.HtmlPhpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+php</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.phtml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-php, application/x-httpd-php, application/x-httpd-php3, application/x-httpd-php4, application/x-httpd-php5</p>
-</dd>
-</dl>
-<p>Subclass of <cite>PhpLexer</cite> that highlights unhandled data with the <cite>HtmlLexer</cite>.</p>
-<p>Nested Javascript and CSS is highlighted too.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.HtmlSmartyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">HtmlSmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.HtmlSmartyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+smarty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+smarty</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>SmartyLexer</cite> that highlights unlexed data with the
-<cite>HtmlLexer</cite>.</p>
-<p>Nested Javascript and CSS is highlighted too.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.JavascriptDjangoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">JavascriptDjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptDjangoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js+django, javascript+django, js+jinja, javascript+jinja</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-javascript+django, application/x-javascript+jinja, text/x-javascript+django, text/x-javascript+jinja, text/javascript+django, text/javascript+jinja</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
-<cite>JavascriptLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.JavascriptErbLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">JavascriptErbLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptErbLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js+erb, javascript+erb, js+ruby, javascript+ruby</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-javascript+ruby, text/x-javascript+ruby, text/javascript+ruby</p>
-</dd>
-</dl>
-<p>Subclass of <cite>ErbLexer</cite> which highlights unlexed data with the
-<cite>JavascriptLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.JavascriptGenshiLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">JavascriptGenshiLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptGenshiLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js+genshitext, js+genshi, javascript+genshitext, javascript+genshi</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-javascript+genshi, text/x-javascript+genshi, text/javascript+genshi</p>
-</dd>
-</dl>
-<p>A lexer that highlights javascript code in genshi text templates.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.JavascriptPhpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">JavascriptPhpLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptPhpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js+php, javascript+php</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-javascript+php, text/x-javascript+php, text/javascript+php</p>
-</dd>
-</dl>
-<p>Subclass of <cite>PhpLexer</cite> which highlights unmatched data with the
-<cite>JavascriptLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.JavascriptSmartyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">JavascriptSmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptSmartyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js+smarty, javascript+smarty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-javascript+smarty, text/x-javascript+smarty, text/javascript+smarty</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>SmartyLexer</cite> that highlights unlexed data with the
-<cite>JavascriptLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.JspLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">JspLexer</code><a class="headerlink" href="#pygments.lexers.templates.JspLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>jsp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.jsp</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-jsp</p>
-</dd>
-</dl>
-<p>Lexer for Java Server Pages.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.LassoCssLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">LassoCssLexer</code><a class="headerlink" href="#pygments.lexers.templates.LassoCssLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css+lasso</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/css+lasso</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>LassoLexer</cite> which highlights unhandled data with the
-<cite>CssLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.LassoHtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">LassoHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.LassoHtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+lasso</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+lasso, application/x-httpd-lasso, application/x-httpd-lasso[89]</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>LassoLexer</cite> which highlights unhandled data with the
-<cite>HtmlLexer</cite>.</p>
-<p>Nested JavaScript and CSS is also highlighted.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.LassoJavascriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">LassoJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.templates.LassoJavascriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js+lasso, javascript+lasso</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-javascript+lasso, text/x-javascript+lasso, text/javascript+lasso</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>LassoLexer</cite> which highlights unhandled data with the
-<cite>JavascriptLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.LassoXmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">LassoXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.LassoXmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+lasso</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+lasso</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>LassoLexer</cite> which highlights unhandled data with the
-<cite>XmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.LiquidLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">LiquidLexer</code><a class="headerlink" href="#pygments.lexers.templates.LiquidLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>liquid</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.liquid</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://www.rubydoc.info/github/Shopify/liquid">Liquid templates</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MakoCssLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MakoCssLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoCssLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css+mako</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/css+mako</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MakoLexer</cite> that highlights unlexed data
-with the <cite>CssLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MakoHtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MakoHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoHtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+mako</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+mako</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MakoLexer</cite> that highlights unlexed data
-with the <cite>HtmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MakoJavascriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MakoJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoJavascriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js+mako, javascript+mako</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-javascript+mako, text/x-javascript+mako, text/javascript+mako</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MakoLexer</cite> that highlights unlexed data
-with the <cite>JavascriptLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MakoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MakoLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mako</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.mao</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-mako</p>
-</dd>
-</dl>
-<p>Generic <a class="reference external" href="http://www.makotemplates.org/">mako templates</a> lexer. Code that isn’t Mako
-markup is yielded as <cite>Token.Other</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MakoXmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MakoXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoXmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+mako</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+mako</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MakoLexer</cite> that highlights unlexed data
-with the <cite>XmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MasonLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MasonLexer</code><a class="headerlink" href="#pygments.lexers.templates.MasonLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>mason</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.m, *.mhtml, *.mc, *.mi, autohandler, dhandler</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-mason</p>
-</dd>
-</dl>
-<p>Generic <a class="reference external" href="http://www.masonhq.com/">mason templates</a> lexer. Stolen from Myghty lexer. Code that isn’t
-Mason markup is HTML.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MyghtyCssLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MyghtyCssLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyCssLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>css+myghty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/css+myghty</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MyghtyLexer</cite> that highlights unlexed data
-with the <cite>CssLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MyghtyHtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MyghtyHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyHtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+myghty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+myghty</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MyghtyLexer</cite> that highlights unlexed data
-with the <cite>HtmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MyghtyJavascriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MyghtyJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyJavascriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>js+myghty, javascript+myghty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-javascript+myghty, text/x-javascript+myghty, text/javascript+mygthy</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MyghtyLexer</cite> that highlights unlexed data
-with the <cite>JavascriptLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MyghtyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MyghtyLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>myghty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.myt, autodelegate</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-myghty</p>
-</dd>
-</dl>
-<p>Generic <a class="reference external" href="http://www.myghty.org/">myghty templates</a> lexer. Code that isn’t Myghty
-markup is yielded as <cite>Token.Other</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.MyghtyXmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">MyghtyXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyXmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+myghty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+myghty</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>MyghtyLexer</cite> that highlights unlexed data
-with the <cite>XmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.RhtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">RhtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.RhtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rhtml, html+erb, html+ruby</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rhtml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+ruby</p>
-</dd>
-</dl>
-<p>Subclass of the ERB lexer that highlights the unlexed data with the
-html lexer.</p>
-<p>Nested Javascript and CSS is highlighted too.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.SmartyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">SmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.SmartyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>smarty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.tpl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-smarty</p>
-</dd>
-</dl>
-<p>Generic <a class="reference external" href="http://smarty.php.net/">Smarty</a> template lexer.</p>
-<p>Just highlights smarty code between the preprocessor directives, other
-data is left untouched by the lexer.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.SspLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">SspLexer</code><a class="headerlink" href="#pygments.lexers.templates.SspLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ssp</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ssp</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-ssp</p>
-</dd>
-</dl>
-<p>Lexer for Scalate Server Pages.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.TeaTemplateLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">TeaTemplateLexer</code><a class="headerlink" href="#pygments.lexers.templates.TeaTemplateLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>tea</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.tea</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-tea</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://teatrove.org/">Tea Templates</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.TwigHtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">TwigHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.TwigHtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+twig</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.twig</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+twig</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>TwigLexer</cite> that highlights unlexed data with the
-<cite>HtmlLexer</cite>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.TwigLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">TwigLexer</code><a class="headerlink" href="#pygments.lexers.templates.TwigLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>twig</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-twig</p>
-</dd>
-</dl>
-<p><a class="reference external" href="http://twig.sensiolabs.org/">Twig</a> template lexer.</p>
-<p>It just highlights Twig code between the preprocessor directives,
-other data is left untouched by the lexer.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.VelocityHtmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">VelocityHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.VelocityHtmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>html+velocity</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/html+velocity</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>VelocityLexer</cite> that highlights unlexed data
-with the <cite>HtmlLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.VelocityLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">VelocityLexer</code><a class="headerlink" href="#pygments.lexers.templates.VelocityLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>velocity</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.vm, *.fhtml</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Generic <a class="reference external" href="http://velocity.apache.org/">Velocity</a> template lexer.</p>
-<p>Just highlights velocity directives and variable references, other
-data is left untouched by the lexer.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.VelocityXmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">VelocityXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.VelocityXmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+velocity</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+velocity</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>VelocityLexer</cite> that highlights unlexed data
-with the <cite>XmlLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.XmlDjangoLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">XmlDjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.XmlDjangoLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+django, xml+jinja</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+django, application/xml+jinja</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
-<cite>XmlLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.XmlErbLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">XmlErbLexer</code><a class="headerlink" href="#pygments.lexers.templates.XmlErbLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+erb, xml+ruby</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+ruby</p>
-</dd>
-</dl>
-<p>Subclass of <cite>ErbLexer</cite> which highlights data outside preprocessor
-directives with the <cite>XmlLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.XmlPhpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">XmlPhpLexer</code><a class="headerlink" href="#pygments.lexers.templates.XmlPhpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+php</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+php</p>
-</dd>
-</dl>
-<p>Subclass of <cite>PhpLexer</cite> that highlights unhandled data with the <cite>XmlLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.XmlSmartyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">XmlSmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.XmlSmartyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xml+smarty</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/xml+smarty</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>SmartyLexer</cite> that highlights unlexed data with the
-<cite>XmlLexer</cite>.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.templates.YamlJinjaLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.templates.</code><code class="descname">YamlJinjaLexer</code><a class="headerlink" href="#pygments.lexers.templates.YamlJinjaLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>yaml+jinja, salt, sls</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sls</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-yaml+jinja, text/x-sls</p>
-</dd>
-</dl>
-<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
-<cite>YamlLexer</cite>.</p>
-<p>Commonly used in Saltstack salt states.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.teraterm"></span></div>
-<div class="section" id="lexer-for-tera-term-macro-files">
-<h2>Lexer for Tera Term macro files<a class="headerlink" href="#lexer-for-tera-term-macro-files" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.teraterm.TeraTermLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.teraterm.</code><code class="descname">TeraTermLexer</code><a class="headerlink" href="#pygments.lexers.teraterm.TeraTermLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ttl, teraterm, teratermmacro</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.ttl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-teratermmacro</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://ttssh2.osdn.jp/">Tera Term</a> macro source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.testing"></span></div>
-<div class="section" id="lexers-for-testing-languages">
-<h2>Lexers for testing languages<a class="headerlink" href="#lexers-for-testing-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.testing.GherkinLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.testing.</code><code class="descname">GherkinLexer</code><a class="headerlink" href="#pygments.lexers.testing.GherkinLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cucumber, gherkin</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.feature</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-gherkin</p>
-</dd>
-</dl>
-<p>For <cite>Gherkin <http://github.com/aslakhellesoy/gherkin/></cite> syntax.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.testing.TAPLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.testing.</code><code class="descname">TAPLexer</code><a class="headerlink" href="#pygments.lexers.testing.TAPLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>tap</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.tap</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For Test Anything Protocol (TAP) output.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.textedit"></span></div>
-<div class="section" id="lexers-for-languages-related-to-text-processing">
-<h2>Lexers for languages related to text processing<a class="headerlink" href="#lexers-for-languages-related-to-text-processing" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.textedit.AwkLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.textedit.</code><code class="descname">AwkLexer</code><a class="headerlink" href="#pygments.lexers.textedit.AwkLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>awk, gawk, mawk, nawk</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.awk</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-awk</p>
-</dd>
-</dl>
-<p>For Awk scripts.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.textedit.VimLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.textedit.</code><code class="descname">VimLexer</code><a class="headerlink" href="#pygments.lexers.textedit.VimLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>vim</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.vim, .vimrc, .exrc, .gvimrc, vimrc, exrc, gvimrc, vimrc, gvimrc</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-vim</p>
-</dd>
-</dl>
-<p>Lexer for VimL script files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.8.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.textfmts"></span></div>
-<div class="section" id="lexers-for-various-text-formats">
-<h2>Lexers for various text formats<a class="headerlink" href="#lexers-for-various-text-formats" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.textfmts.GettextLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.textfmts.</code><code class="descname">GettextLexer</code><a class="headerlink" href="#pygments.lexers.textfmts.GettextLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>pot, po</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.pot, *.po</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-gettext, text/x-gettext, text/gettext</p>
-</dd>
-</dl>
-<p>Lexer for Gettext catalog files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.9.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.textfmts.HttpLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.textfmts.</code><code class="descname">HttpLexer</code><a class="headerlink" href="#pygments.lexers.textfmts.HttpLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>http</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for HTTP sessions.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.textfmts.IrcLogsLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.textfmts.</code><code class="descname">IrcLogsLexer</code><a class="headerlink" href="#pygments.lexers.textfmts.IrcLogsLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>irc</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.weechatlog</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-irclog</p>
-</dd>
-</dl>
-<p>Lexer for IRC logs in <em>irssi</em>, <em>xchat</em> or <em>weechat</em> style.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.textfmts.TodotxtLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.textfmts.</code><code class="descname">TodotxtLexer</code><a class="headerlink" href="#pygments.lexers.textfmts.TodotxtLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>todotxt</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>todo.txt, *.todotxt</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-todo</p>
-</dd>
-</dl>
-<p>Lexer for <a class="reference external" href="http://todotxt.com/">Todo.txt</a> todo list format.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.theorem"></span></div>
-<div class="section" id="lexers-for-theorem-proving-languages">
-<h2>Lexers for theorem-proving languages<a class="headerlink" href="#lexers-for-theorem-proving-languages" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.theorem.CoqLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.theorem.</code><code class="descname">CoqLexer</code><a class="headerlink" href="#pygments.lexers.theorem.CoqLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>coq</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.v</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-coq</p>
-</dd>
-</dl>
-<p>For the <a class="reference external" href="http://coq.inria.fr/">Coq</a> theorem prover.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.theorem.IsabelleLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.theorem.</code><code class="descname">IsabelleLexer</code><a class="headerlink" href="#pygments.lexers.theorem.IsabelleLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>isabelle</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.thy</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-isabelle</p>
-</dd>
-</dl>
-<p>For the <a class="reference external" href="http://isabelle.in.tum.de/">Isabelle</a> proof assistant.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.theorem.LeanLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.theorem.</code><code class="descname">LeanLexer</code><a class="headerlink" href="#pygments.lexers.theorem.LeanLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>lean</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.lean</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-lean</p>
-</dd>
-</dl>
-<p>For the <a class="reference external" href="https://github.com/leanprover/lean">Lean</a>
-theorem prover.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.trafficscript"></span></div>
-<div class="section" id="lexer-for-riverbed-s-trafficscript-rts-language">
-<h2>Lexer for RiverBed’s TrafficScript (RTS) language<a class="headerlink" href="#lexer-for-riverbed-s-trafficscript-rts-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.trafficscript.RtsLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.trafficscript.</code><code class="descname">RtsLexer</code><a class="headerlink" href="#pygments.lexers.trafficscript.RtsLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>rts, trafficscript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.rts</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.riverbed.com/stingray">Riverbed Stingray Traffic Manager</a></p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.typoscript"></span></div>
-<div class="section" id="lexers-for-typoscript">
-<h2>Lexers for TypoScript<a class="headerlink" href="#lexers-for-typoscript" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.typoscript.TypoScriptCssDataLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.typoscript.</code><code class="descname">TypoScriptCssDataLexer</code><a class="headerlink" href="#pygments.lexers.typoscript.TypoScriptCssDataLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>typoscriptcssdata</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer that highlights markers, constants and registers within css blocks.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.typoscript.TypoScriptHtmlDataLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.typoscript.</code><code class="descname">TypoScriptHtmlDataLexer</code><a class="headerlink" href="#pygments.lexers.typoscript.TypoScriptHtmlDataLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>typoscripthtmldata</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer that highlights markers, constants and registers within html tags.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.typoscript.TypoScriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.typoscript.</code><code class="descname">TypoScriptLexer</code><a class="headerlink" href="#pygments.lexers.typoscript.TypoScriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>typoscript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.typoscript</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-typoscript</p>
-</dd>
-</dl>
-<p>Lexer for TypoScript code.</p>
-<p><a class="reference external" href="http://docs.typo3.org/typo3cms/TyposcriptReference/">http://docs.typo3.org/typo3cms/TyposcriptReference/</a></p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.unicon"></span></div>
-<div class="section" id="lexers-for-the-icon-and-unicon-languages-including-ucode-vm">
-<h2>Lexers for the Icon and Unicon languages, including ucode VM<a class="headerlink" href="#lexers-for-the-icon-and-unicon-languages-including-ucode-vm" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.unicon.IconLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.unicon.</code><code class="descname">IconLexer</code><a class="headerlink" href="#pygments.lexers.unicon.IconLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>icon</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.icon, *.ICON</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for Icon.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.unicon.UcodeLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.unicon.</code><code class="descname">UcodeLexer</code><a class="headerlink" href="#pygments.lexers.unicon.UcodeLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>ucode</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.u, *.u1, *.u2</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for Icon ucode files.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.unicon.UniconLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.unicon.</code><code class="descname">UniconLexer</code><a class="headerlink" href="#pygments.lexers.unicon.UniconLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>unicon</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.icn</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/unicon</p>
-</dd>
-</dl>
-<p>For Unicon source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.urbi"></span></div>
-<div class="section" id="lexers-for-urbiscript-language">
-<h2>Lexers for UrbiScript language<a class="headerlink" href="#lexers-for-urbiscript-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.urbi.UrbiscriptLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.urbi.</code><code class="descname">UrbiscriptLexer</code><a class="headerlink" href="#pygments.lexers.urbi.UrbiscriptLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>urbiscript</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.u</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-urbiscript</p>
-</dd>
-</dl>
-<p>For UrbiScript source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.5.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.varnish"></span></div>
-<div class="section" id="lexers-for-varnish-configuration">
-<h2>Lexers for Varnish configuration<a class="headerlink" href="#lexers-for-varnish-configuration" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.varnish.VCLLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.varnish.</code><code class="descname">VCLLexer</code><a class="headerlink" href="#pygments.lexers.varnish.VCLLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>vcl</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.vcl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-vclsrc</p>
-</dd>
-</dl>
-<p>For Varnish Configuration Language (VCL).</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.varnish.VCLSnippetLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.varnish.</code><code class="descname">VCLSnippetLexer</code><a class="headerlink" href="#pygments.lexers.varnish.VCLSnippetLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>vclsnippets, vclsnippet</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>None</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-vclsnippet</p>
-</dd>
-</dl>
-<p>For Varnish Configuration Language snippets.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.verification"></span></div>
-<div class="section" id="lexer-for-intermediate-verification-languages-ivls">
-<h2>Lexer for Intermediate Verification Languages (IVLs)<a class="headerlink" href="#lexer-for-intermediate-verification-languages-ivls" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.verification.BoogieLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.verification.</code><code class="descname">BoogieLexer</code><a class="headerlink" href="#pygments.lexers.verification.BoogieLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>boogie</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.bpl</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://boogie.codeplex.com/">Boogie</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.1.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.verification.SilverLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.verification.</code><code class="descname">SilverLexer</code><a class="headerlink" href="#pygments.lexers.verification.SilverLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>silver</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.sil, *.vpr</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="https://bitbucket.org/viperproject/silver">Silver</a> source code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.webmisc"></span></div>
-<div class="section" id="lexers-for-misc-web-stuff">
-<h2>Lexers for misc. web stuff<a class="headerlink" href="#lexers-for-misc-web-stuff" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.webmisc.CirruLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.webmisc.</code><code class="descname">CirruLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.CirruLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>cirru</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.cirru</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-cirru</p>
-</dd>
-</dl>
-<p>Syntax rules of Cirru can be found at:
-<a class="reference external" href="http://cirru.org/">http://cirru.org/</a></p>
-<ul class="simple">
-<li><p>using <code class="docutils literal notranslate"><span class="pre">()</span></code> for expressions, but restricted in a same line</p></li>
-<li><p>using <code class="docutils literal notranslate"><span class="pre">""</span></code> for strings, with <code class="docutils literal notranslate"><span class="pre">\</span></code> for escaping chars</p></li>
-<li><p>using <code class="docutils literal notranslate"><span class="pre">$</span></code> as folding operator</p></li>
-<li><p>using <code class="docutils literal notranslate"><span class="pre">,</span></code> as unfolding operator</p></li>
-<li><p>using indentations for nested blocks</p></li>
-</ul>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.webmisc.DuelLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.webmisc.</code><code class="descname">DuelLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.DuelLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>duel, jbst, jsonml+bst</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.duel, *.jbst</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-duel, text/x-jbst</p>
-</dd>
-</dl>
-<p>Lexer for Duel Views Engine (formerly JBST) markup with JavaScript code blocks.
-See <a class="reference external" href="http://duelengine.org/">http://duelengine.org/</a>.
-See <a class="reference external" href="http://jsonml.org/jbst/">http://jsonml.org/jbst/</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.webmisc.QmlLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.webmisc.</code><code class="descname">QmlLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.QmlLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>qml, qbs</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.qml, *.qbs</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>application/x-qml, application/x-qt.qbs+qml</p>
-</dd>
-</dl>
-<p>For QML files. See <a class="reference external" href="http://doc.qt.digia.com/4.7/qdeclarativeintroduction.html">http://doc.qt.digia.com/4.7/qdeclarativeintroduction.html</a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.6.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.webmisc.SlimLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.webmisc.</code><code class="descname">SlimLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.SlimLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>slim</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.slim</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-slim</p>
-</dd>
-</dl>
-<p>For Slim markup.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.0.</span></p>
-</div>
-</dd></dl>
-
-<dl class="class">
-<dt id="pygments.lexers.webmisc.XQueryLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.webmisc.</code><code class="descname">XQueryLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.XQueryLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xquery, xqy, xq, xql, xqm</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.xqy, *.xquery, *.xq, *.xql, *.xqm</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/xquery, application/xquery</p>
-</dd>
-</dl>
-<p>An XQuery lexer, parsing a stream and outputting the tokens needed to
-highlight xquery code.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 1.4.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.whiley"></span></div>
-<div class="section" id="lexers-for-the-whiley-language">
-<h2>Lexers for the Whiley language<a class="headerlink" href="#lexers-for-the-whiley-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.whiley.WhileyLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.whiley.</code><code class="descname">WhileyLexer</code><a class="headerlink" href="#pygments.lexers.whiley.WhileyLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>whiley</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.whiley</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-whiley</p>
-</dd>
-</dl>
-<p>Lexer for the Whiley programming language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.x10"></span></div>
-<div class="section" id="lexers-for-the-x10-programming-language">
-<h2>Lexers for the X10 programming language<a class="headerlink" href="#lexers-for-the-x10-programming-language" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.x10.X10Lexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.x10.</code><code class="descname">X10Lexer</code><a class="headerlink" href="#pygments.lexers.x10.X10Lexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>x10, xten</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.x10</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/x-x10</p>
-</dd>
-</dl>
-<p>For the X10 language.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.1.</span></p>
-</div>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.xorg"></span></div>
-<div class="section" id="lexers-for-xorg-configs">
-<h2>Lexers for Xorg configs<a class="headerlink" href="#lexers-for-xorg-configs" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.xorg.XorgLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.xorg.</code><code class="descname">XorgLexer</code><a class="headerlink" href="#pygments.lexers.xorg.XorgLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>xorg.conf</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>xorg.conf</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>None</p>
-</dd>
-</dl>
-<p>Lexer for xorg.conf file.</p>
-</dd></dl>
-
-<span class="target" id="module-pygments.lexers.zig"></span></div>
-<div class="section" id="lexers-for-zig">
-<h2>Lexers for Zig<a class="headerlink" href="#lexers-for-zig" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="pygments.lexers.zig.ZigLexer">
-<em class="property">class </em><code class="descclassname">pygments.lexers.zig.</code><code class="descname">ZigLexer</code><a class="headerlink" href="#pygments.lexers.zig.ZigLexer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Short names</dt>
-<dd class="field-odd"><p>zig</p>
-</dd>
-<dt class="field-even">Filenames</dt>
-<dd class="field-even"><p>*.zig</p>
-</dd>
-<dt class="field-odd">MIME types</dt>
-<dd class="field-odd"><p>text/zig</p>
-</dd>
-</dl>
-<p>For <a class="reference external" href="http://www.ziglang.org">Zig</a> source code.</p>
-<p>grammar: <a class="reference external" href="https://ziglang.org/documentation/master/#Grammar">https://ziglang.org/documentation/master/#Grammar</a></p>
-</dd></dl>
-
-</div>
-<div class="section" id="iterating-over-all-lexers">
-<h2>Iterating over all lexers<a class="headerlink" href="#iterating-over-all-lexers" title="Permalink to this headline">¶</a></h2>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-<p>To get all lexers (both the builtin and the plugin ones), you can
-use the <cite>get_all_lexers()</cite> function from the <cite>pygments.lexers</cite>
-module:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">get_all_lexers</span>
-<span class="gp">>>> </span><span class="n">i</span> <span class="o">=</span> <span class="n">get_all_lexers</span><span class="p">()</span>
-<span class="gp">>>> </span><span class="n">i</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-<span class="go">('Diff', ('diff',), ('*.diff', '*.patch'), ('text/x-diff', 'text/x-patch'))</span>
-<span class="gp">>>> </span><span class="n">i</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-<span class="go">('Delphi', ('delphi', 'objectpascal', 'pas', 'pascal'), ('*.pas',), ('text/x-pascal',))</span>
-<span class="gp">>>> </span><span class="n">i</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-<span class="go">('XML+Ruby', ('xml+erb', 'xml+ruby'), (), ())</span>
-</pre></div>
-</div>
-<p>As you can see, the return value is an iterator which yields tuples
-in the form <code class="docutils literal notranslate"><span class="pre">(name,</span> <span class="pre">aliases,</span> <span class="pre">filetypes,</span> <span class="pre">mimetypes)</span></code>.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Using Pygments with MoinMoin — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Use Pygments in Java" href="../java/" />
- <link rel="prev" title="Using Pygments in ReST documents" href="../rstdirective/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h4>Previous topic</h4>
- <p class="topless"><a href="../rstdirective/"
- title="previous chapter">Using Pygments in ReST documents</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../java/"
- title="next chapter">Use Pygments in Java</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/moinmoin.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="using-pygments-with-moinmoin">
-<h1>Using Pygments with MoinMoin<a class="headerlink" href="#using-pygments-with-moinmoin" title="Permalink to this headline">¶</a></h1>
-<p>From Pygments 0.7, the source distribution ships a <a class="reference external" href="http://moinmoin.wikiwikiweb.de/">Moin</a> parser plugin that
-can be used to get Pygments highlighting in Moin wiki pages.</p>
-<p>To use it, copy the file <cite>external/moin-parser.py</cite> from the Pygments
-distribution to the <cite>data/plugin/parser</cite> subdirectory of your Moin instance.
-Edit the options at the top of the file (currently <code class="docutils literal notranslate"><span class="pre">ATTACHMENTS</span></code> and
-<code class="docutils literal notranslate"><span class="pre">INLINESTYLES</span></code>) and rename the file to the name that the parser directive
-should have. For example, if you name the file <code class="docutils literal notranslate"><span class="pre">code.py</span></code>, you can get a
-highlighted Python code sample with this Wiki markup:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{{{</span>
-<span class="c1">#!code python</span>
-<span class="p">[</span><span class="o">...</span><span class="p">]</span>
-<span class="p">}}}</span>
-</pre></div>
-</div>
-<p>where <code class="docutils literal notranslate"><span class="pre">python</span></code> is the Pygments name of the lexer to use.</p>
-<p>Additionally, if you set the <code class="docutils literal notranslate"><span class="pre">ATTACHMENTS</span></code> option to True, Pygments will also
-be called for all attachments for whose filenames there is no other parser
-registered.</p>
-<p>You are responsible for including CSS rules that will map the Pygments CSS
-classes to colors. You can output a stylesheet file with <cite>pygmentize</cite>, put it
-into the <cite>htdocs</cite> directory of your Moin instance and then include it in the
-<cite>stylesheets</cite> configuration option in the Moin config, e.g.:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">stylesheets</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">'screen'</span><span class="p">,</span> <span class="s1">'/htdocs/pygments.css'</span><span class="p">)]</span>
-</pre></div>
-</div>
-<p>If you do not want to do that and are willing to accept larger HTML output, you
-can set the <code class="docutils literal notranslate"><span class="pre">INLINESTYLES</span></code> option to True.</p>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Register Plugins — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Using Pygments in ReST documents" href="../rstdirective/" />
- <link rel="prev" title="Write your own filter" href="../filterdevelopment/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Register Plugins</a><ul>
-<li><a class="reference internal" href="#entrypoints">Entrypoints</a></li>
-<li><a class="reference internal" href="#how-to-use-entrypoints">How To Use Entrypoints</a></li>
-<li><a class="reference internal" href="#extending-the-core">Extending The Core</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../filterdevelopment/"
- title="previous chapter">Write your own filter</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../rstdirective/"
- title="next chapter">Using Pygments in ReST documents</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/plugins.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="register-plugins">
-<h1>Register Plugins<a class="headerlink" href="#register-plugins" title="Permalink to this headline">¶</a></h1>
-<p>If you want to extend Pygments without hacking the sources, but want to
-use the lexer/formatter/style/filter lookup functions (<cite>lexers.get_lexer_by_name</cite>
-et al.), you can use <a class="reference external" href="http://peak.telecommunity.com/DevCenter/setuptools">setuptools</a> entrypoints to add new lexers, formatters
-or styles as if they were in the Pygments core.</p>
-<p>That means you can use your highlighter modules with the <cite>pygmentize</cite> script,
-which relies on the mentioned functions.</p>
-<div class="section" id="entrypoints">
-<h2>Entrypoints<a class="headerlink" href="#entrypoints" title="Permalink to this headline">¶</a></h2>
-<p>Here is a list of setuptools entrypoints that Pygments understands:</p>
-<p><cite>pygments.lexers</cite></p>
-<blockquote>
-<div><p>This entrypoint is used for adding new lexers to the Pygments core.
-The name of the entrypoint values doesn’t really matter, Pygments extracts
-required metadata from the class definition:</p>
-<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[pygments.lexers]</span>
-<span class="na">yourlexer</span> <span class="o">=</span> <span class="s">yourmodule:YourLexer</span>
-</pre></div>
-</div>
-<p>Note that you have to define <code class="docutils literal notranslate"><span class="pre">name</span></code>, <code class="docutils literal notranslate"><span class="pre">aliases</span></code> and <code class="docutils literal notranslate"><span class="pre">filename</span></code>
-attributes so that you can use the highlighter from the command line:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">YourLexer</span><span class="p">(</span><span class="o">...</span><span class="p">):</span>
- <span class="n">name</span> <span class="o">=</span> <span class="s1">'Name Of Your Lexer'</span>
- <span class="n">aliases</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'alias'</span><span class="p">]</span>
- <span class="n">filenames</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'*.ext'</span><span class="p">]</span>
-</pre></div>
-</div>
-</div></blockquote>
-<p><cite>pygments.formatters</cite></p>
-<blockquote>
-<div><p>You can use this entrypoint to add new formatters to Pygments. The
-name of an entrypoint item is the name of the formatter. If you
-prefix the name with a slash it’s used as a filename pattern:</p>
-<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[pygments.formatters]</span>
-<span class="na">yourformatter</span> <span class="o">=</span> <span class="s">yourmodule:YourFormatter</span>
-<span class="na">/.ext</span> <span class="o">=</span> <span class="s">yourmodule:YourFormatter</span>
-</pre></div>
-</div>
-</div></blockquote>
-<p><cite>pygments.styles</cite></p>
-<blockquote>
-<div><p>To add a new style you can use this entrypoint. The name of the entrypoint
-is the name of the style:</p>
-<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[pygments.styles]</span>
-<span class="na">yourstyle</span> <span class="o">=</span> <span class="s">yourmodule:YourStyle</span>
-</pre></div>
-</div>
-</div></blockquote>
-<p><cite>pygments.filters</cite></p>
-<blockquote>
-<div><p>Use this entrypoint to register a new filter. The name of the
-entrypoint is the name of the filter:</p>
-<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[pygments.filters]</span>
-<span class="na">yourfilter</span> <span class="o">=</span> <span class="s">yourmodule:YourFilter</span>
-</pre></div>
-</div>
-</div></blockquote>
-</div>
-<div class="section" id="how-to-use-entrypoints">
-<h2>How To Use Entrypoints<a class="headerlink" href="#how-to-use-entrypoints" title="Permalink to this headline">¶</a></h2>
-<p>This documentation doesn’t explain how to use those entrypoints because this is
-covered in the <a class="reference external" href="http://peak.telecommunity.com/DevCenter/setuptools">setuptools documentation</a>. That page should cover everything
-you need to write a plugin.</p>
-</div>
-<div class="section" id="extending-the-core">
-<h2>Extending The Core<a class="headerlink" href="#extending-the-core" title="Permalink to this headline">¶</a></h2>
-<p>If you have written a Pygments plugin that is open source, please inform us
-about that. There is a high chance that we’ll add it to the Pygments
-distribution.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Introduction and Quickstart — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Command Line Interface" href="../cmdline/" />
- <link rel="prev" title="Download and installation" href="../../download/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Introduction and Quickstart</a><ul>
-<li><a class="reference internal" href="#architecture">Architecture</a></li>
-<li><a class="reference internal" href="#example">Example</a></li>
-<li><a class="reference internal" href="#options">Options</a></li>
-<li><a class="reference internal" href="#lexer-and-formatter-lookup">Lexer and formatter lookup</a></li>
-<li><a class="reference internal" href="#guessing-lexers">Guessing lexers</a></li>
-<li><a class="reference internal" href="#command-line-usage">Command line usage</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../../download/"
- title="previous chapter">Download and installation</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../cmdline/"
- title="next chapter">Command Line Interface</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/quickstart.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="introduction-and-quickstart">
-<h1>Introduction and Quickstart<a class="headerlink" href="#introduction-and-quickstart" title="Permalink to this headline">¶</a></h1>
-<p>Welcome to Pygments! This document explains the basic concepts and terms and
-gives a few examples of how to use the library.</p>
-<div class="section" id="architecture">
-<h2>Architecture<a class="headerlink" href="#architecture" title="Permalink to this headline">¶</a></h2>
-<p>There are four types of components that work together highlighting a piece of
-code:</p>
-<ul class="simple">
-<li><p>A <strong>lexer</strong> splits the source into tokens, fragments of the source that
-have a token type that determines what the text represents semantically
-(e.g., keyword, string, or comment). There is a lexer for every language
-or markup format that Pygments supports.</p></li>
-<li><p>The token stream can be piped through <strong>filters</strong>, which usually modify
-the token types or text fragments, e.g. uppercasing all keywords.</p></li>
-<li><p>A <strong>formatter</strong> then takes the token stream and writes it to an output
-file, in a format such as HTML, LaTeX or RTF.</p></li>
-<li><p>While writing the output, a <strong>style</strong> determines how to highlight all the
-different token types. It maps them to attributes like “red and bold”.</p></li>
-</ul>
-</div>
-<div class="section" id="example">
-<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
-<p>Here is a small example for highlighting Python code:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments</span> <span class="kn">import</span> <span class="n">highlight</span>
-<span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">PythonLexer</span>
-<span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
-
-<span class="n">code</span> <span class="o">=</span> <span class="s1">'print "Hello World"'</span>
-<span class="k">print</span><span class="p">(</span><span class="n">highlight</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">PythonLexer</span><span class="p">(),</span> <span class="n">HtmlFormatter</span><span class="p">()))</span>
-</pre></div>
-</div>
-<p>which prints something like this:</p>
-<div class="highlight-html notranslate"><div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span><span class="p">></span>
-<span class="p"><</span><span class="nt">pre</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"k"</span><span class="p">></span>print<span class="p"></</span><span class="nt">span</span><span class="p">></span> <span class="p"><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"s"</span><span class="p">></span><span class="ni">&quot;</span>Hello World<span class="ni">&quot;</span><span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">pre</span><span class="p">></span>
-<span class="p"></</span><span class="nt">div</span><span class="p">></span>
-</pre></div>
-</div>
-<p>As you can see, Pygments uses CSS classes (by default, but you can change that)
-instead of inline styles in order to avoid outputting redundant style information over
-and over. A CSS stylesheet that contains all CSS classes possibly used in the output
-can be produced by:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">print</span><span class="p">(</span><span class="n">HtmlFormatter</span><span class="p">()</span><span class="o">.</span><span class="n">get_style_defs</span><span class="p">(</span><span class="s1">'.highlight'</span><span class="p">))</span>
-</pre></div>
-</div>
-<p>The argument to <code class="xref py py-func docutils literal notranslate"><span class="pre">get_style_defs()</span></code> is used as an additional CSS selector:
-the output may look like this:</p>
-<div class="highlight-css notranslate"><div class="highlight"><pre><span></span><span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">k</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#AA22FF</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span>
-<span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">s</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#BB4444</span> <span class="p">}</span>
-<span class="o">...</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="options">
-<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
-<p>The <code class="xref py py-func docutils literal notranslate"><span class="pre">highlight()</span></code> function supports a fourth argument called <em>outfile</em>, it
-must be a file object if given. The formatted output will then be written to
-this file instead of being returned as a string.</p>
-<p>Lexers and formatters both support options. They are given to them as keyword
-arguments either to the class or to the lookup method:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments</span> <span class="kn">import</span> <span class="n">highlight</span>
-<span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">get_lexer_by_name</span>
-<span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
-
-<span class="n">lexer</span> <span class="o">=</span> <span class="n">get_lexer_by_name</span><span class="p">(</span><span class="s2">"python"</span><span class="p">,</span> <span class="n">stripall</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-<span class="n">formatter</span> <span class="o">=</span> <span class="n">HtmlFormatter</span><span class="p">(</span><span class="n">linenos</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">cssclass</span><span class="o">=</span><span class="s2">"source"</span><span class="p">)</span>
-<span class="n">result</span> <span class="o">=</span> <span class="n">highlight</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">lexer</span><span class="p">,</span> <span class="n">formatter</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>This makes the lexer strip all leading and trailing whitespace from the input
-(<cite>stripall</cite> option), lets the formatter output line numbers (<cite>linenos</cite> option),
-and sets the wrapping <code class="docutils literal notranslate"><span class="pre"><div></span></code>’s class to <code class="docutils literal notranslate"><span class="pre">source</span></code> (instead of
-<code class="docutils literal notranslate"><span class="pre">highlight</span></code>).</p>
-<p>Important options include:</p>
-<dl class="simple">
-<dt><cite>encoding</cite><span class="classifier">for lexers and formatters</span></dt><dd><p>Since Pygments uses Unicode strings internally, this determines which
-encoding will be used to convert to or from byte strings.</p>
-</dd>
-<dt><cite>style</cite><span class="classifier">for formatters</span></dt><dd><p>The name of the style to use when writing the output.</p>
-</dd>
-</dl>
-<p>For an overview of builtin lexers and formatters and their options, visit the
-<a class="reference internal" href="../lexers/"><span class="doc">lexer</span></a> and <a class="reference internal" href="../formatters/"><span class="doc">formatters</span></a> lists.</p>
-<p>For a documentation on filters, see <a class="reference internal" href="../filters/"><span class="doc">this page</span></a>.</p>
-</div>
-<div class="section" id="lexer-and-formatter-lookup">
-<h2>Lexer and formatter lookup<a class="headerlink" href="#lexer-and-formatter-lookup" title="Permalink to this headline">¶</a></h2>
-<p>If you want to lookup a built-in lexer by its alias or a filename, you can use
-one of the following methods:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="p">(</span><span class="n">get_lexer_by_name</span><span class="p">,</span>
-<span class="gp">... </span> <span class="n">get_lexer_for_filename</span><span class="p">,</span> <span class="n">get_lexer_for_mimetype</span><span class="p">)</span>
-
-<span class="gp">>>> </span><span class="n">get_lexer_by_name</span><span class="p">(</span><span class="s1">'python'</span><span class="p">)</span>
-<span class="go"><pygments.lexers.PythonLexer></span>
-
-<span class="gp">>>> </span><span class="n">get_lexer_for_filename</span><span class="p">(</span><span class="s1">'spam.rb'</span><span class="p">)</span>
-<span class="go"><pygments.lexers.RubyLexer></span>
-
-<span class="gp">>>> </span><span class="n">get_lexer_for_mimetype</span><span class="p">(</span><span class="s1">'text/x-perl'</span><span class="p">)</span>
-<span class="go"><pygments.lexers.PerlLexer></span>
-</pre></div>
-</div>
-<p>All these functions accept keyword arguments; they will be passed to the lexer
-as options.</p>
-<p>A similar API is available for formatters: use <a class="reference internal" href="../api/#pygments.formatters.get_formatter_by_name" title="pygments.formatters.get_formatter_by_name"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_formatter_by_name()</span></code></a>
-and <a class="reference internal" href="../api/#pygments.formatters.get_formatter_for_filename" title="pygments.formatters.get_formatter_for_filename"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_formatter_for_filename()</span></code></a> from the <a class="reference internal" href="../api/#module-pygments.formatters" title="pygments.formatters"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.formatters</span></code></a>
-module for this purpose.</p>
-</div>
-<div class="section" id="guessing-lexers">
-<h2>Guessing lexers<a class="headerlink" href="#guessing-lexers" title="Permalink to this headline">¶</a></h2>
-<p>If you don’t know the content of the file, or you want to highlight a file
-whose extension is ambiguous, such as <code class="docutils literal notranslate"><span class="pre">.html</span></code> (which could contain plain HTML
-or some template tags), use these functions:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">guess_lexer</span><span class="p">,</span> <span class="n">guess_lexer_for_filename</span>
-
-<span class="gp">>>> </span><span class="n">guess_lexer</span><span class="p">(</span><span class="s1">'#!/usr/bin/python</span><span class="se">\n</span><span class="s1">print "Hello World!"'</span><span class="p">)</span>
-<span class="go"><pygments.lexers.PythonLexer></span>
-
-<span class="gp">>>> </span><span class="n">guess_lexer_for_filename</span><span class="p">(</span><span class="s1">'test.py'</span><span class="p">,</span> <span class="s1">'print "Hello World!"'</span><span class="p">)</span>
-<span class="go"><pygments.lexers.PythonLexer></span>
-</pre></div>
-</div>
-<p><a class="reference internal" href="../api/#pygments.lexers.guess_lexer" title="pygments.lexers.guess_lexer"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer()</span></code></a> passes the given content to the lexer classes’
-<code class="xref py py-meth docutils literal notranslate"><span class="pre">analyse_text()</span></code> method and returns the one for which it returns the
-highest number.</p>
-<p>All lexers have two different filename pattern lists: the primary and the
-secondary one. The <a class="reference internal" href="../api/#pygments.lexers.get_lexer_for_filename" title="pygments.lexers.get_lexer_for_filename"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_lexer_for_filename()</span></code></a> function only uses the
-primary list, whose entries are supposed to be unique among all lexers.
-<a class="reference internal" href="../api/#pygments.lexers.guess_lexer_for_filename" title="pygments.lexers.guess_lexer_for_filename"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer_for_filename()</span></code></a>, however, will first loop through all lexers
-and look at the primary and secondary filename patterns if the filename matches.
-If only one lexer matches, it is returned, else the guessing mechanism of
-<a class="reference internal" href="../api/#pygments.lexers.guess_lexer" title="pygments.lexers.guess_lexer"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer()</span></code></a> is used with the matching lexers.</p>
-<p>As usual, keyword arguments to these functions are given to the created lexer
-as options.</p>
-</div>
-<div class="section" id="command-line-usage">
-<h2>Command line usage<a class="headerlink" href="#command-line-usage" title="Permalink to this headline">¶</a></h2>
-<p>You can use Pygments from the command line, using the <strong class="program">pygmentize</strong>
-script:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize test.py
-</pre></div>
-</div>
-<p>will highlight the Python file test.py using ANSI escape sequences
-(a.k.a. terminal colors) and print the result to standard output.</p>
-<p>To output HTML, use the <code class="docutils literal notranslate"><span class="pre">-f</span></code> option:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -o test.html test.py
-</pre></div>
-</div>
-<p>to write an HTML-highlighted version of test.py to the file test.html.
-Note that it will only be a snippet of HTML, if you want a full HTML document,
-use the “full” option:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -O full -o test.html test.py
-</pre></div>
-</div>
-<p>This will produce a full HTML document with included stylesheet.</p>
-<p>A style can be selected with <code class="docutils literal notranslate"><span class="pre">-O</span> <span class="pre">style=<name></span></code>.</p>
-<p>If you need a stylesheet for an existing HTML file using Pygments CSS classes,
-it can be created with:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -S default -f html > style.css
-</pre></div>
-</div>
-<p>where <code class="docutils literal notranslate"><span class="pre">default</span></code> is the style name.</p>
-<p>More options and tricks and be found in the <a class="reference internal" href="../cmdline/"><span class="doc">command line reference</span></a>.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Using Pygments in ReST documents — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Using Pygments with MoinMoin" href="../moinmoin/" />
- <link rel="prev" title="Register Plugins" href="../plugins/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h4>Previous topic</h4>
- <p class="topless"><a href="../plugins/"
- title="previous chapter">Register Plugins</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../moinmoin/"
- title="next chapter">Using Pygments with MoinMoin</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/rstdirective.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="using-pygments-in-rest-documents">
-<h1>Using Pygments in ReST documents<a class="headerlink" href="#using-pygments-in-rest-documents" title="Permalink to this headline">¶</a></h1>
-<p>Many Python people use <a class="reference external" href="http://docutils.sf.net/rst.html">ReST</a> for documentation their sourcecode, programs,
-scripts et cetera. This also means that documentation often includes sourcecode
-samples or snippets.</p>
-<p>You can easily enable Pygments support for your ReST texts using a custom
-directive – this is also how this documentation displays source code.</p>
-<p>From Pygments 0.9, the directive is shipped in the distribution as
-<cite>external/rst-directive.py</cite>. You can copy and adapt this code to your liking.</p>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Styles — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Unicode and Encodings" href="../unicode/" />
- <link rel="prev" title="Available formatters" href="../formatters/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Styles</a><ul>
-<li><a class="reference internal" href="#creating-own-styles">Creating Own Styles</a></li>
-<li><a class="reference internal" href="#style-rules">Style Rules</a></li>
-<li><a class="reference internal" href="#builtin-styles">Builtin Styles</a></li>
-<li><a class="reference internal" href="#getting-a-list-of-available-styles">Getting a list of available styles</a></li>
-<li><a class="reference internal" href="#terminal-styles">Terminal Styles</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../formatters/"
- title="previous chapter">Available formatters</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../unicode/"
- title="next chapter">Unicode and Encodings</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/styles.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="styles">
-<h1>Styles<a class="headerlink" href="#styles" title="Permalink to this headline">¶</a></h1>
-<p>Pygments comes with some builtin styles that work for both the HTML and
-LaTeX formatter.</p>
-<p>The builtin styles can be looked up with the <cite>get_style_by_name</cite> function:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.styles</span> <span class="kn">import</span> <span class="n">get_style_by_name</span>
-<span class="gp">>>> </span><span class="n">get_style_by_name</span><span class="p">(</span><span class="s1">'colorful'</span><span class="p">)</span>
-<span class="go"><class 'pygments.styles.colorful.ColorfulStyle'></span>
-</pre></div>
-</div>
-<p>You can pass a instance of a <cite>Style</cite> class to a formatter as the <cite>style</cite>
-option in form of a string:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.styles</span> <span class="kn">import</span> <span class="n">get_style_by_name</span>
-<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
-<span class="gp">>>> </span><span class="n">HtmlFormatter</span><span class="p">(</span><span class="n">style</span><span class="o">=</span><span class="s1">'colorful'</span><span class="p">)</span><span class="o">.</span><span class="n">style</span>
-<span class="go"><class 'pygments.styles.colorful.ColorfulStyle'></span>
-</pre></div>
-</div>
-<p>Or you can also import your own style (which must be a subclass of
-<cite>pygments.style.Style</cite>) and pass it to the formatter:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">yourapp.yourmodule</span> <span class="kn">import</span> <span class="n">YourStyle</span>
-<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
-<span class="gp">>>> </span><span class="n">HtmlFormatter</span><span class="p">(</span><span class="n">style</span><span class="o">=</span><span class="n">YourStyle</span><span class="p">)</span><span class="o">.</span><span class="n">style</span>
-<span class="go"><class 'yourapp.yourmodule.YourStyle'></span>
-</pre></div>
-</div>
-<div class="section" id="creating-own-styles">
-<h2>Creating Own Styles<a class="headerlink" href="#creating-own-styles" title="Permalink to this headline">¶</a></h2>
-<p>So, how to create a style? All you have to do is to subclass <cite>Style</cite> and
-define some styles:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.style</span> <span class="kn">import</span> <span class="n">Style</span>
-<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Keyword</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="n">Error</span><span class="p">,</span> \
- <span class="n">Number</span><span class="p">,</span> <span class="n">Operator</span><span class="p">,</span> <span class="n">Generic</span>
-
-<span class="k">class</span> <span class="nc">YourStyle</span><span class="p">(</span><span class="n">Style</span><span class="p">):</span>
- <span class="n">default_style</span> <span class="o">=</span> <span class="s2">""</span>
- <span class="n">styles</span> <span class="o">=</span> <span class="p">{</span>
- <span class="n">Comment</span><span class="p">:</span> <span class="s1">'italic #888'</span><span class="p">,</span>
- <span class="n">Keyword</span><span class="p">:</span> <span class="s1">'bold #005'</span><span class="p">,</span>
- <span class="n">Name</span><span class="p">:</span> <span class="s1">'#f00'</span><span class="p">,</span>
- <span class="n">Name</span><span class="o">.</span><span class="n">Function</span><span class="p">:</span> <span class="s1">'#0f0'</span><span class="p">,</span>
- <span class="n">Name</span><span class="o">.</span><span class="n">Class</span><span class="p">:</span> <span class="s1">'bold #0f0'</span><span class="p">,</span>
- <span class="n">String</span><span class="p">:</span> <span class="s1">'bg:#eee #111'</span>
- <span class="p">}</span>
-</pre></div>
-</div>
-<p>That’s it. There are just a few rules. When you define a style for <cite>Name</cite>
-the style automatically also affects <cite>Name.Function</cite> and so on. If you
-defined <code class="docutils literal notranslate"><span class="pre">'bold'</span></code> and you don’t want boldface for a subtoken use <code class="docutils literal notranslate"><span class="pre">'nobold'</span></code>.</p>
-<p>(Philosophy: the styles aren’t written in CSS syntax since this way
-they can be used for a variety of formatters.)</p>
-<p><cite>default_style</cite> is the style inherited by all token types.</p>
-<p>To make the style usable for Pygments, you must</p>
-<ul class="simple">
-<li><p>either register it as a plugin (see <a class="reference internal" href="../plugins/"><span class="doc">the plugin docs</span></a>)</p></li>
-<li><p>or drop it into the <cite>styles</cite> subpackage of your Pygments distribution one style
-class per style, where the file name is the style name and the class name is
-<cite>StylenameClass</cite>. For example, if your style should be called
-<code class="docutils literal notranslate"><span class="pre">"mondrian"</span></code>, name the class <cite>MondrianStyle</cite>, put it into the file
-<code class="docutils literal notranslate"><span class="pre">mondrian.py</span></code> and this file into the <code class="docutils literal notranslate"><span class="pre">pygments.styles</span></code> subpackage
-directory.</p></li>
-</ul>
-</div>
-<div class="section" id="style-rules">
-<h2>Style Rules<a class="headerlink" href="#style-rules" title="Permalink to this headline">¶</a></h2>
-<p>Here a small overview of all allowed styles:</p>
-<dl class="simple">
-<dt><code class="docutils literal notranslate"><span class="pre">bold</span></code></dt><dd><p>render text as bold</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">nobold</span></code></dt><dd><p>don’t render text as bold (to prevent subtokens being highlighted bold)</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">italic</span></code></dt><dd><p>render text italic</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">noitalic</span></code></dt><dd><p>don’t render text as italic</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">underline</span></code></dt><dd><p>render text underlined</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">nounderline</span></code></dt><dd><p>don’t render text underlined</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bg:</span></code></dt><dd><p>transparent background</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">bg:#000000</span></code></dt><dd><p>background color (black)</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">border:</span></code></dt><dd><p>no border</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">border:#ffffff</span></code></dt><dd><p>border color (white)</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">#ff0000</span></code></dt><dd><p>text color (red)</p>
-</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">noinherit</span></code></dt><dd><p>don’t inherit styles from supertoken</p>
-</dd>
-</dl>
-<p>Note that there may not be a space between <code class="docutils literal notranslate"><span class="pre">bg:</span></code> and the color value
-since the style definition string is split at whitespace.
-Also, using named colors is not allowed since the supported color names
-vary for different formatters.</p>
-<p>Furthermore, not all lexers might support every style.</p>
-</div>
-<div class="section" id="builtin-styles">
-<h2>Builtin Styles<a class="headerlink" href="#builtin-styles" title="Permalink to this headline">¶</a></h2>
-<p>Pygments ships some builtin styles which are maintained by the Pygments team.</p>
-<p>To get a list of known styles you can use this snippet:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.styles</span> <span class="kn">import</span> <span class="n">STYLE_MAP</span>
-<span class="gp">>>> </span><span class="n">STYLE_MAP</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
-<span class="go">['default', 'emacs', 'friendly', 'colorful']</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="getting-a-list-of-available-styles">
-<h2>Getting a list of available styles<a class="headerlink" href="#getting-a-list-of-available-styles" title="Permalink to this headline">¶</a></h2>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.6.</span></p>
-</div>
-<p>Because it could be that a plugin registered a style, there is
-a way to iterate over all styles:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.styles</span> <span class="kn">import</span> <span class="n">get_all_styles</span>
-<span class="gp">>>> </span><span class="n">styles</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">get_all_styles</span><span class="p">())</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="terminal-styles">
-<span id="ansiterminalstyle"></span><h2>Terminal Styles<a class="headerlink" href="#terminal-styles" title="Permalink to this headline">¶</a></h2>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 2.2.</span></p>
-</div>
-<p>Custom styles used with the 256-color terminal formatter can also map colors to
-use the 8 default ANSI colors. To do so, use <code class="docutils literal notranslate"><span class="pre">ansigreen</span></code>, <code class="docutils literal notranslate"><span class="pre">ansibrightred</span></code> or
-any other colors defined in <code class="xref py py-attr docutils literal notranslate"><span class="pre">pygments.style.ansicolors</span></code>. Foreground ANSI
-colors will be mapped to the corresponding <a class="reference external" href="https://en.wikipedia.org/wiki/ANSI_escape_code#Colors">escape codes 30 to 37</a> thus respecting any
-custom color mapping and themes provided by many terminal emulators. Light
-variants are treated as foreground color with and an added bold flag.
-<code class="docutils literal notranslate"><span class="pre">bg:ansi<color></span></code> will also be respected, except the light variant will be the
-same shade as their dark variant.</p>
-<p>See the following example where the color of the string <code class="docutils literal notranslate"><span class="pre">"hello</span> <span class="pre">world"</span></code> is
-governed by the escape sequence <code class="docutils literal notranslate"><span class="pre">\x1b[34;01m</span></code> (Ansi bright blue, Bold, 41 being red
-background) instead of an extended foreground & background color.</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments</span> <span class="kn">import</span> <span class="n">highlight</span>
-<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.style</span> <span class="kn">import</span> <span class="n">Style</span>
-<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Token</span>
-<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">Python3Lexer</span>
-<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">Terminal256Formatter</span>
-
-<span class="gp">>>> </span><span class="k">class</span> <span class="nc">MyStyle</span><span class="p">(</span><span class="n">Style</span><span class="p">):</span>
-<span class="go"> styles = {</span>
-<span class="go"> Token.String: 'ansibrightblue bg:ansibrightred',</span>
-<span class="go"> }</span>
-
-<span class="gp">>>> </span><span class="n">code</span> <span class="o">=</span> <span class="s1">'print("Hello World")'</span>
-<span class="gp">>>> </span><span class="n">result</span> <span class="o">=</span> <span class="n">highlight</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">Python3Lexer</span><span class="p">(),</span> <span class="n">Terminal256Formatter</span><span class="p">(</span><span class="n">style</span><span class="o">=</span><span class="n">MyStyle</span><span class="p">))</span>
-<span class="gp">>>> </span><span class="k">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">encode</span><span class="p">())</span>
-<span class="go">b'\x1b[34;41;01m"\x1b[39;49;00m\x1b[34;41;01mHello World\x1b[39;49;00m\x1b[34;41;01m"\x1b[39;49;00m'</span>
-</pre></div>
-</div>
-<p>Colors specified using <code class="docutils literal notranslate"><span class="pre">ansi*</span></code> are converted to a default set of RGB colors
-when used with formatters other than the terminal-256 formatter.</p>
-<p>By definition of ANSI, the following colors are considered “light” colors, and
-will be rendered by most terminals as bold:</p>
-<ul class="simple">
-<li><p>“brightblack” (darkgrey), “brightred”, “brightgreen”, “brightyellow”, “brightblue”,
-“brightmagenta”, “brightcyan”, “white”</p></li>
-</ul>
-<p>The following are considered “dark” colors and will be rendered as non-bold:</p>
-<ul class="simple">
-<li><p>“black”, “red”, “green”, “yellow”, “blue”, “magenta”, “cyan”,
-“gray”</p></li>
-</ul>
-<p>Exact behavior might depends on the terminal emulator you are using, and its
-settings.</p>
-<div class="versionchanged" id="new-ansi-color-names">
-<p><span class="versionmodified changed">Changed in version 2.4.</span></p>
-</div>
-<p>The definition of the ANSI color names has changed.
-New names are easier to understand and align to the colors used in other projects.</p>
-<table class="docutils align-center">
-<colgroup>
-<col style="width: 51%" />
-<col style="width: 49%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>New names</p></th>
-<th class="head"><p>Pygments up to 2.3</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansiblack</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansiblack</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansired</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansidarkred</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansigreen</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansidarkgreen</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansiyellow</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansibrown</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansiblue</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansidarkblue</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansimagenta</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansipurple</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansicyan</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansiteal</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansigray</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansilightgray</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightblack</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansidarkgray</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightred</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansired</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightgreen</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansigreen</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightyellow</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansiyellow</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightblue</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansiblue</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightmagenta</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansifuchsia</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightcyan</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansiturquoise</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansiwhite</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">#ansiwhite</span></code></p></td>
-</tr>
-</tbody>
-</table>
-<p>Old ANSI color names are deprecated but will still work.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Builtin Tokens — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="The full Pygments API" href="../api/" />
- <link rel="prev" title="Unicode and Encodings" href="../unicode/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Builtin Tokens</a><ul>
-<li><a class="reference internal" href="#keyword-tokens">Keyword Tokens</a></li>
-<li><a class="reference internal" href="#name-tokens">Name Tokens</a></li>
-<li><a class="reference internal" href="#literals">Literals</a></li>
-<li><a class="reference internal" href="#operators">Operators</a></li>
-<li><a class="reference internal" href="#punctuation">Punctuation</a></li>
-<li><a class="reference internal" href="#comments">Comments</a></li>
-<li><a class="reference internal" href="#generic-tokens">Generic Tokens</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../unicode/"
- title="previous chapter">Unicode and Encodings</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../api/"
- title="next chapter">The full Pygments API</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/tokens.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="module-pygments.token">
-<span id="builtin-tokens"></span><h1>Builtin Tokens<a class="headerlink" href="#module-pygments.token" title="Permalink to this headline">¶</a></h1>
-<p>In the <a class="reference internal" href="#module-pygments.token" title="pygments.token"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.token</span></code></a> module, there is a special object called <cite>Token</cite>
-that is used to create token types.</p>
-<p>You can create a new token type by accessing an attribute of <cite>Token</cite>:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Token</span>
-<span class="gp">>>> </span><span class="n">Token</span><span class="o">.</span><span class="n">String</span>
-<span class="go">Token.String</span>
-<span class="gp">>>> </span><span class="n">Token</span><span class="o">.</span><span class="n">String</span> <span class="ow">is</span> <span class="n">Token</span><span class="o">.</span><span class="n">String</span>
-<span class="go">True</span>
-</pre></div>
-</div>
-<p>Note that tokens are singletons so you can use the <code class="docutils literal notranslate"><span class="pre">is</span></code> operator for comparing
-token types.</p>
-<p>As of Pygments 0.7 you can also use the <code class="docutils literal notranslate"><span class="pre">in</span></code> operator to perform set tests:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Comment</span>
-<span class="gp">>>> </span><span class="n">Comment</span><span class="o">.</span><span class="n">Single</span> <span class="ow">in</span> <span class="n">Comment</span>
-<span class="go">True</span>
-<span class="gp">>>> </span><span class="n">Comment</span> <span class="ow">in</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multi</span>
-<span class="go">False</span>
-</pre></div>
-</div>
-<p>This can be useful in <a class="reference internal" href="../filters/"><span class="doc">filters</span></a> and if you write lexers on your
-own without using the base lexers.</p>
-<p>You can also split a token type into a hierarchy, and get the parent of it:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">String</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
-<span class="go">[Token, Token.Literal, Token.Literal.String]</span>
-<span class="gp">>>> </span><span class="n">String</span><span class="o">.</span><span class="n">parent</span>
-<span class="go">Token.Literal</span>
-</pre></div>
-</div>
-<p>In principle, you can create an unlimited number of token types but nobody can
-guarantee that a style would define style rules for a token type. Because of
-that, Pygments proposes some global token types defined in the
-<cite>pygments.token.STANDARD_TYPES</cite> dict.</p>
-<p>For some tokens aliases are already defined:</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">String</span>
-<span class="gp">>>> </span><span class="n">String</span>
-<span class="go">Token.Literal.String</span>
-</pre></div>
-</div>
-<p>Inside the <a class="reference internal" href="#module-pygments.token" title="pygments.token"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.token</span></code></a> module the following aliases are defined:</p>
-<table class="docutils align-center">
-<colgroup>
-<col style="width: 17%" />
-<col style="width: 36%" />
-<col style="width: 47%" />
-</colgroup>
-<tbody>
-<tr class="row-odd"><td><p><cite>Text</cite></p></td>
-<td><p><cite>Token.Text</cite></p></td>
-<td><p>for any type of text data</p></td>
-</tr>
-<tr class="row-even"><td><p><cite>Whitespace</cite></p></td>
-<td><p><cite>Token.Text.Whitespace</cite></p></td>
-<td><p>for specially highlighted whitespace</p></td>
-</tr>
-<tr class="row-odd"><td><p><cite>Error</cite></p></td>
-<td><p><cite>Token.Error</cite></p></td>
-<td><p>represents lexer errors</p></td>
-</tr>
-<tr class="row-even"><td><p><cite>Other</cite></p></td>
-<td><p><cite>Token.Other</cite></p></td>
-<td><p>special token for data not
-matched by a parser (e.g. HTML
-markup in PHP code)</p></td>
-</tr>
-<tr class="row-odd"><td><p><cite>Keyword</cite></p></td>
-<td><p><cite>Token.Keyword</cite></p></td>
-<td><p>any kind of keywords</p></td>
-</tr>
-<tr class="row-even"><td><p><cite>Name</cite></p></td>
-<td><p><cite>Token.Name</cite></p></td>
-<td><p>variable/function names</p></td>
-</tr>
-<tr class="row-odd"><td><p><cite>Literal</cite></p></td>
-<td><p><cite>Token.Literal</cite></p></td>
-<td><p>Any literals</p></td>
-</tr>
-<tr class="row-even"><td><p><cite>String</cite></p></td>
-<td><p><cite>Token.Literal.String</cite></p></td>
-<td><p>string literals</p></td>
-</tr>
-<tr class="row-odd"><td><p><cite>Number</cite></p></td>
-<td><p><cite>Token.Literal.Number</cite></p></td>
-<td><p>number literals</p></td>
-</tr>
-<tr class="row-even"><td><p><cite>Operator</cite></p></td>
-<td><p><cite>Token.Operator</cite></p></td>
-<td><p>operators (<code class="docutils literal notranslate"><span class="pre">+</span></code>, <code class="docutils literal notranslate"><span class="pre">not</span></code>…)</p></td>
-</tr>
-<tr class="row-odd"><td><p><cite>Punctuation</cite></p></td>
-<td><p><cite>Token.Punctuation</cite></p></td>
-<td><p>punctuation (<code class="docutils literal notranslate"><span class="pre">[</span></code>, <code class="docutils literal notranslate"><span class="pre">(</span></code>…)</p></td>
-</tr>
-<tr class="row-even"><td><p><cite>Comment</cite></p></td>
-<td><p><cite>Token.Comment</cite></p></td>
-<td><p>any kind of comments</p></td>
-</tr>
-<tr class="row-odd"><td><p><cite>Generic</cite></p></td>
-<td><p><cite>Token.Generic</cite></p></td>
-<td><p>generic tokens (have a look at
-the explanation below)</p></td>
-</tr>
-</tbody>
-</table>
-<p>The <cite>Whitespace</cite> token type is new in Pygments 0.8. It is used only by the
-<cite>VisibleWhitespaceFilter</cite> currently.</p>
-<p>Normally you just create token types using the already defined aliases. For each
-of those token aliases, a number of subtypes exists (excluding the special tokens
-<cite>Token.Text</cite>, <cite>Token.Error</cite> and <cite>Token.Other</cite>)</p>
-<p>The <cite>is_token_subtype()</cite> function in the <cite>pygments.token</cite> module can be used to
-test if a token type is a subtype of another (such as <cite>Name.Tag</cite> and <cite>Name</cite>).
-(This is the same as <code class="docutils literal notranslate"><span class="pre">Name.Tag</span> <span class="pre">in</span> <span class="pre">Name</span></code>. The overloaded <cite>in</cite> operator was newly
-introduced in Pygments 0.7, the function still exists for backwards
-compatibility.)</p>
-<p>With Pygments 0.7, it’s also possible to convert strings to token types (for example
-if you want to supply a token from the command line):</p>
-<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">String</span><span class="p">,</span> <span class="n">string_to_tokentype</span>
-<span class="gp">>>> </span><span class="n">string_to_tokentype</span><span class="p">(</span><span class="s2">"String"</span><span class="p">)</span>
-<span class="go">Token.Literal.String</span>
-<span class="gp">>>> </span><span class="n">string_to_tokentype</span><span class="p">(</span><span class="s2">"Token.Literal.String"</span><span class="p">)</span>
-<span class="go">Token.Literal.String</span>
-<span class="gp">>>> </span><span class="n">string_to_tokentype</span><span class="p">(</span><span class="n">String</span><span class="p">)</span>
-<span class="go">Token.Literal.String</span>
-</pre></div>
-</div>
-<div class="section" id="keyword-tokens">
-<h2>Keyword Tokens<a class="headerlink" href="#keyword-tokens" title="Permalink to this headline">¶</a></h2>
-<dl class="simple">
-<dt><cite>Keyword</cite></dt><dd><p>For any kind of keyword (especially if it doesn’t match any of the
-subtypes of course).</p>
-</dd>
-<dt><cite>Keyword.Constant</cite></dt><dd><p>For keywords that are constants (e.g. <code class="docutils literal notranslate"><span class="pre">None</span></code> in future Python versions).</p>
-</dd>
-<dt><cite>Keyword.Declaration</cite></dt><dd><p>For keywords used for variable declaration (e.g. <code class="docutils literal notranslate"><span class="pre">var</span></code> in some programming
-languages like JavaScript).</p>
-</dd>
-<dt><cite>Keyword.Namespace</cite></dt><dd><p>For keywords used for namespace declarations (e.g. <code class="docutils literal notranslate"><span class="pre">import</span></code> in Python and
-Java and <code class="docutils literal notranslate"><span class="pre">package</span></code> in Java).</p>
-</dd>
-<dt><cite>Keyword.Pseudo</cite></dt><dd><p>For keywords that aren’t really keywords (e.g. <code class="docutils literal notranslate"><span class="pre">None</span></code> in old Python
-versions).</p>
-</dd>
-<dt><cite>Keyword.Reserved</cite></dt><dd><p>For reserved keywords.</p>
-</dd>
-<dt><cite>Keyword.Type</cite></dt><dd><p>For builtin types that can’t be used as identifiers (e.g. <code class="docutils literal notranslate"><span class="pre">int</span></code>,
-<code class="docutils literal notranslate"><span class="pre">char</span></code> etc. in C).</p>
-</dd>
-</dl>
-</div>
-<div class="section" id="name-tokens">
-<h2>Name Tokens<a class="headerlink" href="#name-tokens" title="Permalink to this headline">¶</a></h2>
-<dl class="simple">
-<dt><cite>Name</cite></dt><dd><p>For any name (variable names, function names, classes).</p>
-</dd>
-<dt><cite>Name.Attribute</cite></dt><dd><p>For all attributes (e.g. in HTML tags).</p>
-</dd>
-<dt><cite>Name.Builtin</cite></dt><dd><p>Builtin names; names that are available in the global namespace.</p>
-</dd>
-<dt><cite>Name.Builtin.Pseudo</cite></dt><dd><p>Builtin names that are implicit (e.g. <code class="docutils literal notranslate"><span class="pre">self</span></code> in Ruby, <code class="docutils literal notranslate"><span class="pre">this</span></code> in Java).</p>
-</dd>
-<dt><cite>Name.Class</cite></dt><dd><p>Class names. Because no lexer can know if a name is a class or a function
-or something else this token is meant for class declarations.</p>
-</dd>
-<dt><cite>Name.Constant</cite></dt><dd><p>Token type for constants. In some languages you can recognise a token by the
-way it’s defined (the value after a <code class="docutils literal notranslate"><span class="pre">const</span></code> keyword for example). In
-other languages constants are uppercase by definition (Ruby).</p>
-</dd>
-<dt><cite>Name.Decorator</cite></dt><dd><p>Token type for decorators. Decorators are syntactic elements in the Python
-language. Similar syntax elements exist in C# and Java.</p>
-</dd>
-<dt><cite>Name.Entity</cite></dt><dd><p>Token type for special entities. (e.g. <code class="docutils literal notranslate"><span class="pre">&nbsp;</span></code> in HTML).</p>
-</dd>
-<dt><cite>Name.Exception</cite></dt><dd><p>Token type for exception names (e.g. <code class="docutils literal notranslate"><span class="pre">RuntimeError</span></code> in Python). Some languages
-define exceptions in the function signature (Java). You can highlight
-the name of that exception using this token then.</p>
-</dd>
-<dt><cite>Name.Function</cite></dt><dd><p>Token type for function names.</p>
-</dd>
-<dt><cite>Name.Function.Magic</cite></dt><dd><p>same as <cite>Name.Function</cite> but for special function names that have an implicit use
-in a language (e.g. <code class="docutils literal notranslate"><span class="pre">__init__</span></code> method in Python).</p>
-</dd>
-<dt><cite>Name.Label</cite></dt><dd><p>Token type for label names (e.g. in languages that support <code class="docutils literal notranslate"><span class="pre">goto</span></code>).</p>
-</dd>
-<dt><cite>Name.Namespace</cite></dt><dd><p>Token type for namespaces. (e.g. import paths in Java/Python), names following
-the <code class="docutils literal notranslate"><span class="pre">module</span></code>/<code class="docutils literal notranslate"><span class="pre">namespace</span></code> keyword in other languages.</p>
-</dd>
-<dt><cite>Name.Other</cite></dt><dd><p>Other names. Normally unused.</p>
-</dd>
-<dt><cite>Name.Tag</cite></dt><dd><p>Tag names (in HTML/XML markup or configuration files).</p>
-</dd>
-<dt><cite>Name.Variable</cite></dt><dd><p>Token type for variables. Some languages have prefixes for variable names
-(PHP, Ruby, Perl). You can highlight them using this token.</p>
-</dd>
-<dt><cite>Name.Variable.Class</cite></dt><dd><p>same as <cite>Name.Variable</cite> but for class variables (also static variables).</p>
-</dd>
-<dt><cite>Name.Variable.Global</cite></dt><dd><p>same as <cite>Name.Variable</cite> but for global variables (used in Ruby, for
-example).</p>
-</dd>
-<dt><cite>Name.Variable.Instance</cite></dt><dd><p>same as <cite>Name.Variable</cite> but for instance variables.</p>
-</dd>
-<dt><cite>Name.Variable.Magic</cite></dt><dd><p>same as <cite>Name.Variable</cite> but for special variable names that have an implicit use
-in a language (e.g. <code class="docutils literal notranslate"><span class="pre">__doc__</span></code> in Python).</p>
-</dd>
-</dl>
-</div>
-<div class="section" id="literals">
-<h2>Literals<a class="headerlink" href="#literals" title="Permalink to this headline">¶</a></h2>
-<dl class="simple">
-<dt><cite>Literal</cite></dt><dd><p>For any literal (if not further defined).</p>
-</dd>
-<dt><cite>Literal.Date</cite></dt><dd><p>for date literals (e.g. <code class="docutils literal notranslate"><span class="pre">42d</span></code> in Boo).</p>
-</dd>
-<dt><cite>String</cite></dt><dd><p>For any string literal.</p>
-</dd>
-<dt><cite>String.Affix</cite></dt><dd><p>Token type for affixes that further specify the type of the string they’re
-attached to (e.g. the prefixes <code class="docutils literal notranslate"><span class="pre">r</span></code> and <code class="docutils literal notranslate"><span class="pre">u8</span></code> in <code class="docutils literal notranslate"><span class="pre">r"foo"</span></code> and <code class="docutils literal notranslate"><span class="pre">u8"foo"</span></code>).</p>
-</dd>
-<dt><cite>String.Backtick</cite></dt><dd><p>Token type for strings enclosed in backticks.</p>
-</dd>
-<dt><cite>String.Char</cite></dt><dd><p>Token type for single characters (e.g. Java, C).</p>
-</dd>
-<dt><cite>String.Delimiter</cite></dt><dd><p>Token type for delimiting identifiers in “heredoc”, raw and other similar
-strings (e.g. the word <code class="docutils literal notranslate"><span class="pre">END</span></code> in Perl code <code class="docutils literal notranslate"><span class="pre">print</span> <span class="pre"><<'END';</span></code>).</p>
-</dd>
-<dt><cite>String.Doc</cite></dt><dd><p>Token type for documentation strings (for example Python).</p>
-</dd>
-<dt><cite>String.Double</cite></dt><dd><p>Double quoted strings.</p>
-</dd>
-<dt><cite>String.Escape</cite></dt><dd><p>Token type for escape sequences in strings.</p>
-</dd>
-<dt><cite>String.Heredoc</cite></dt><dd><p>Token type for “heredoc” strings (e.g. in Ruby or Perl).</p>
-</dd>
-<dt><cite>String.Interpol</cite></dt><dd><p>Token type for interpolated parts in strings (e.g. <code class="docutils literal notranslate"><span class="pre">#{foo}</span></code> in Ruby).</p>
-</dd>
-<dt><cite>String.Other</cite></dt><dd><p>Token type for any other strings (for example <code class="docutils literal notranslate"><span class="pre">%q{foo}</span></code> string constructs
-in Ruby).</p>
-</dd>
-<dt><cite>String.Regex</cite></dt><dd><p>Token type for regular expression literals (e.g. <code class="docutils literal notranslate"><span class="pre">/foo/</span></code> in JavaScript).</p>
-</dd>
-<dt><cite>String.Single</cite></dt><dd><p>Token type for single quoted strings.</p>
-</dd>
-<dt><cite>String.Symbol</cite></dt><dd><p>Token type for symbols (e.g. <code class="docutils literal notranslate"><span class="pre">:foo</span></code> in LISP or Ruby).</p>
-</dd>
-<dt><cite>Number</cite></dt><dd><p>Token type for any number literal.</p>
-</dd>
-<dt><cite>Number.Bin</cite></dt><dd><p>Token type for binary literals (e.g. <code class="docutils literal notranslate"><span class="pre">0b101010</span></code>).</p>
-</dd>
-<dt><cite>Number.Float</cite></dt><dd><p>Token type for float literals (e.g. <code class="docutils literal notranslate"><span class="pre">42.0</span></code>).</p>
-</dd>
-<dt><cite>Number.Hex</cite></dt><dd><p>Token type for hexadecimal number literals (e.g. <code class="docutils literal notranslate"><span class="pre">0xdeadbeef</span></code>).</p>
-</dd>
-<dt><cite>Number.Integer</cite></dt><dd><p>Token type for integer literals (e.g. <code class="docutils literal notranslate"><span class="pre">42</span></code>).</p>
-</dd>
-<dt><cite>Number.Integer.Long</cite></dt><dd><p>Token type for long integer literals (e.g. <code class="docutils literal notranslate"><span class="pre">42L</span></code> in Python).</p>
-</dd>
-<dt><cite>Number.Oct</cite></dt><dd><p>Token type for octal literals.</p>
-</dd>
-</dl>
-</div>
-<div class="section" id="operators">
-<h2>Operators<a class="headerlink" href="#operators" title="Permalink to this headline">¶</a></h2>
-<dl class="simple">
-<dt><cite>Operator</cite></dt><dd><p>For any punctuation operator (e.g. <code class="docutils literal notranslate"><span class="pre">+</span></code>, <code class="docutils literal notranslate"><span class="pre">-</span></code>).</p>
-</dd>
-<dt><cite>Operator.Word</cite></dt><dd><p>For any operator that is a word (e.g. <code class="docutils literal notranslate"><span class="pre">not</span></code>).</p>
-</dd>
-</dl>
-</div>
-<div class="section" id="punctuation">
-<h2>Punctuation<a class="headerlink" href="#punctuation" title="Permalink to this headline">¶</a></h2>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7.</span></p>
-</div>
-<dl class="simple">
-<dt><cite>Punctuation</cite></dt><dd><p>For any punctuation which is not an operator (e.g. <code class="docutils literal notranslate"><span class="pre">[</span></code>, <code class="docutils literal notranslate"><span class="pre">(</span></code>…)</p>
-</dd>
-</dl>
-</div>
-<div class="section" id="comments">
-<h2>Comments<a class="headerlink" href="#comments" title="Permalink to this headline">¶</a></h2>
-<dl class="simple">
-<dt><cite>Comment</cite></dt><dd><p>Token type for any comment.</p>
-</dd>
-<dt><cite>Comment.Hashbang</cite></dt><dd><dl class="simple">
-<dt>Token type for hashbang comments (i.e. first lines of files that start with</dt><dd><p><code class="docutils literal notranslate"><span class="pre">#!</span></code>).</p>
-</dd>
-</dl>
-</dd>
-<dt><cite>Comment.Multiline</cite></dt><dd><p>Token type for multiline comments.</p>
-</dd>
-<dt><cite>Comment.Preproc</cite></dt><dd><p>Token type for preprocessor comments (also <code class="docutils literal notranslate"><span class="pre"><?php</span></code>/<code class="docutils literal notranslate"><span class="pre"><%</span></code> constructs).</p>
-</dd>
-<dt><cite>Comment.Single</cite></dt><dd><p>Token type for comments that end at the end of a line (e.g. <code class="docutils literal notranslate"><span class="pre">#</span> <span class="pre">foo</span></code>).</p>
-</dd>
-<dt><cite>Comment.Special</cite></dt><dd><p>Special data in comments. For example code tags, author and license
-information, etc.</p>
-</dd>
-</dl>
-</div>
-<div class="section" id="generic-tokens">
-<h2>Generic Tokens<a class="headerlink" href="#generic-tokens" title="Permalink to this headline">¶</a></h2>
-<p>Generic tokens are for special lexers like the <cite>DiffLexer</cite> that doesn’t really
-highlight a programming language but a patch file.</p>
-<dl class="simple">
-<dt><cite>Generic</cite></dt><dd><p>A generic, unstyled token. Normally you don’t use this token type.</p>
-</dd>
-<dt><cite>Generic.Deleted</cite></dt><dd><p>Marks the token value as deleted.</p>
-</dd>
-<dt><cite>Generic.Emph</cite></dt><dd><p>Marks the token value as emphasized.</p>
-</dd>
-<dt><cite>Generic.Error</cite></dt><dd><p>Marks the token value as an error message.</p>
-</dd>
-<dt><cite>Generic.Heading</cite></dt><dd><p>Marks the token value as headline.</p>
-</dd>
-<dt><cite>Generic.Inserted</cite></dt><dd><p>Marks the token value as inserted.</p>
-</dd>
-<dt><cite>Generic.Output</cite></dt><dd><p>Marks the token value as program output (e.g. for python cli lexer).</p>
-</dd>
-<dt><cite>Generic.Prompt</cite></dt><dd><p>Marks the token value as command prompt (e.g. bash lexer).</p>
-</dd>
-<dt><cite>Generic.Strong</cite></dt><dd><p>Marks the token value as bold (e.g. for rst lexer).</p>
-</dd>
-<dt><cite>Generic.Subheading</cite></dt><dd><p>Marks the token value as subheadline.</p>
-</dd>
-<dt><cite>Generic.Traceback</cite></dt><dd><p>Marks the token value as a part of an error traceback.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Unicode and Encodings — Pygments</title>
- <link rel="stylesheet" href="../../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../../_static/jquery.js"></script>
- <script type="text/javascript" src="../../_static/underscore.js"></script>
- <script type="text/javascript" src="../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../../genindex/" />
- <link rel="search" title="Search" href="../../search/" />
- <link rel="next" title="Builtin Tokens" href="../tokens/" />
- <link rel="prev" title="Styles" href="../styles/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../../">Home</a></li>
-
- <li><a href="../../demo/">Demo</a></li>
-
- <li><a href="../../languages/">Languages</a></li>
- <li><a href="../../faq/">FAQ</a></li>
- <li><a href="../../download/">Get it</a></li>
- <li><a href="../">Docs</a></li>
- </ul>
- <div>
- <a href="../../">
- <img src="../../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h4>Previous topic</h4>
- <p class="topless"><a href="../styles/"
- title="previous chapter">Styles</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../tokens/"
- title="next chapter">Builtin Tokens</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../../_sources/docs/unicode.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="unicode-and-encodings">
-<h1>Unicode and Encodings<a class="headerlink" href="#unicode-and-encodings" title="Permalink to this headline">¶</a></h1>
-<p>Since Pygments 0.6, all lexers use unicode strings internally. Because of that
-you might encounter the occasional <code class="xref py py-exc docutils literal notranslate"><span class="pre">UnicodeDecodeError</span></code> if you pass strings
-with the wrong encoding.</p>
-<p>Per default all lexers have their input encoding set to <cite>guess</cite>. This means
-that the following encodings are tried:</p>
-<ul class="simple">
-<li><p>UTF-8 (including BOM handling)</p></li>
-<li><p>The locale encoding (i.e. the result of <cite>locale.getpreferredencoding()</cite>)</p></li>
-<li><p>As a last resort, <cite>latin1</cite></p></li>
-</ul>
-<p>If you pass a lexer a byte string object (not unicode), it tries to decode the
-data using this encoding.</p>
-<p>You can override the encoding using the <cite>encoding</cite> or <cite>inencoding</cite> lexer
-options. If you have the <a class="reference external" href="https://chardet.github.io/">chardet</a> library installed and set the encoding to
-<code class="docutils literal notranslate"><span class="pre">chardet</span></code> if will analyse the text and use the encoding it thinks is the
-right one automatically:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">PythonLexer</span>
-<span class="n">lexer</span> <span class="o">=</span> <span class="n">PythonLexer</span><span class="p">(</span><span class="n">encoding</span><span class="o">=</span><span class="s1">'chardet'</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>The best way is to pass Pygments unicode objects. In that case you can’t get
-unexpected output.</p>
-<p>The formatters now send Unicode objects to the stream if you don’t set the
-output encoding. You can do so by passing the formatters an <cite>encoding</cite> option:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
-<span class="n">f</span> <span class="o">=</span> <span class="n">HtmlFormatter</span><span class="p">(</span><span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span>
-</pre></div>
-</div>
-<p><strong>You will have to set this option if you have non-ASCII characters in the
-source and the output stream does not accept Unicode written to it!</strong>
-This is the case for all regular files and for terminals.</p>
-<p>Note: The Terminal formatter tries to be smart: if its output stream has an
-<cite>encoding</cite> attribute, and you haven’t set the option, it will encode any
-Unicode string with this encoding before writing it. This is the case for
-<cite>sys.stdout</cite>, for example. The other formatters don’t have that behavior.</p>
-<p>Another note: If you call Pygments via the command line (<cite>pygmentize</cite>),
-encoding is handled differently, see <a class="reference internal" href="../cmdline/"><span class="doc">the command line docs</span></a>.</p>
-<div class="versionadded">
-<p><span class="versionmodified added">New in version 0.7: </span>The formatters now also accept an <cite>outencoding</cite> option which will override
-the <cite>encoding</cite> option if given. This makes it possible to use a single
-options dict with lexers and formatters, and still have different input and
-output encodings.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Download and installation — Pygments</title>
- <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../genindex/" />
- <link rel="search" title="Search" href="../search/" />
- <link rel="next" title="Introduction and Quickstart" href="../docs/quickstart/" />
- <link rel="prev" title="Pygments documentation" href="../docs/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../">Home</a></li>
-
- <li><a href="../demo/">Demo</a></li>
-
- <li><a href="../languages/">Languages</a></li>
- <li><a href="../faq/">FAQ</a></li>
- <li><a href="#">Get it</a></li>
- <li><a href="../docs/">Docs</a></li>
- </ul>
- <div>
- <a href="../">
- <img src="../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Download and installation</a><ul>
-<li><a class="reference internal" href="#packaged-versions">Packaged versions</a></li>
-<li><a class="reference internal" href="#development-sources">Development sources</a></li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="../docs/"
- title="previous chapter">Pygments documentation</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="../docs/quickstart/"
- title="next chapter">Introduction and Quickstart</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/download.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="download-and-installation">
-<h1>Download and installation<a class="headerlink" href="#download-and-installation" title="Permalink to this headline">¶</a></h1>
-<p>The current release is version 2.4.2.</p>
-<div class="section" id="packaged-versions">
-<h2>Packaged versions<a class="headerlink" href="#packaged-versions" title="Permalink to this headline">¶</a></h2>
-<p>You can download it <a class="reference external" href="http://pypi.python.org/pypi/Pygments">from the Python Package Index</a>. For installation of packages from
-PyPI, we recommend <a class="reference external" href="http://www.pip-installer.org">Pip</a>, which works on all
-major platforms.</p>
-<p>Under Linux, most distributions include a package for Pygments, usually called
-<code class="docutils literal notranslate"><span class="pre">pygments</span></code> or <code class="docutils literal notranslate"><span class="pre">python-pygments</span></code>. You can install it with the package
-manager as usual.</p>
-</div>
-<div class="section" id="development-sources">
-<h2>Development sources<a class="headerlink" href="#development-sources" title="Permalink to this headline">¶</a></h2>
-<p>We’re using the Git version control system. You can get the development source
-using this command:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">pygments</span><span class="o">/</span><span class="n">pygments</span>
-</pre></div>
-</div>
-<p>Development takes place at <a class="reference external" href="https://github.com/pygments/pygments">GitHub</a>.</p>
-<p>The latest changes in the development source code are listed in the <a class="reference external" href="https://github.com/pygments/pygments/blob/master/CHANGES">changelog</a>.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Pygments FAQ — Pygments</title>
- <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../genindex/" />
- <link rel="search" title="Search" href="../search/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../">Home</a></li>
-
- <li><a href="../demo/">Demo</a></li>
-
- <li><a href="../languages/">Languages</a></li>
- <li><a href="#">FAQ</a></li>
- <li><a href="../download/">Get it</a></li>
- <li><a href="../docs/">Docs</a></li>
- </ul>
- <div>
- <a href="../">
- <img src="../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Pygments FAQ</a><ul>
-<li><a class="reference internal" href="#what-is-pygments">What is Pygments?</a></li>
-<li><a class="reference internal" href="#where-does-the-name-pygments-come-from">Where does the name Pygments come from?</a></li>
-<li><a class="reference internal" href="#what-are-the-system-requirements">What are the system requirements?</a></li>
-<li><a class="reference internal" href="#how-can-i-use-pygments">How can I use Pygments?</a></li>
-<li><a class="reference internal" href="#how-do-i-make-a-new-style">How do I make a new style?</a></li>
-<li><a class="reference internal" href="#how-can-i-report-a-bug-or-suggest-a-feature">How can I report a bug or suggest a feature?</a></li>
-<li><a class="reference internal" href="#i-want-this-support-for-this-language">I want this support for this language!</a></li>
-<li><a class="reference internal" href="#can-i-use-pygments-for-programming-language-processing">Can I use Pygments for programming language processing?</a></li>
-<li><a class="reference internal" href="#who-uses-pygments">Who uses Pygments?</a></li>
-</ul>
-</li>
-</ul>
-
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/faq.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="pygments-faq">
-<h1>Pygments FAQ<a class="headerlink" href="#pygments-faq" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="what-is-pygments">
-<h2>What is Pygments?<a class="headerlink" href="#what-is-pygments" title="Permalink to this headline">¶</a></h2>
-<p>Pygments is a syntax highlighting engine written in Python. That means, it will
-take source code (or other markup) in a supported language and output a
-processed version (in different formats) containing syntax highlighting markup.</p>
-<p>Its features include:</p>
-<ul class="simple">
-<li><p>a wide range of common <a class="reference internal" href="../languages/"><span class="doc">languages and markup formats</span></a> is supported</p></li>
-<li><p>new languages and formats are added easily</p></li>
-<li><p>a number of output formats is available, including:</p>
-<ul>
-<li><p>HTML</p></li>
-<li><p>ANSI sequences (console output)</p></li>
-<li><p>LaTeX</p></li>
-<li><p>RTF</p></li>
-</ul>
-</li>
-<li><p>it is usable as a command-line tool and as a library</p></li>
-<li><p>parsing and formatting is fast</p></li>
-</ul>
-<p>Pygments is licensed under the BSD license.</p>
-</div>
-<div class="section" id="where-does-the-name-pygments-come-from">
-<h2>Where does the name Pygments come from?<a class="headerlink" href="#where-does-the-name-pygments-come-from" title="Permalink to this headline">¶</a></h2>
-<p><em>Py</em> of course stands for Python, while <em>pigments</em> are used for coloring paint,
-and in this case, source code!</p>
-</div>
-<div class="section" id="what-are-the-system-requirements">
-<h2>What are the system requirements?<a class="headerlink" href="#what-are-the-system-requirements" title="Permalink to this headline">¶</a></h2>
-<p>Pygments only needs a standard Python install, version 2.7 or higher or version
-3.5 or higher for Python 3. No additional libraries are needed.</p>
-</div>
-<div class="section" id="how-can-i-use-pygments">
-<h2>How can I use Pygments?<a class="headerlink" href="#how-can-i-use-pygments" title="Permalink to this headline">¶</a></h2>
-<p>Pygments is usable as a command-line tool as well as a library.</p>
-<p>From the command-line, usage looks like this (assuming the pygmentize script is
-properly installed):</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pygmentize</span> <span class="o">-</span><span class="n">f</span> <span class="n">html</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">file</span><span class="o">.</span><span class="n">py</span>
-</pre></div>
-</div>
-<p>This will print a HTML-highlighted version of /path/to/file.py to standard output.</p>
-<p>For a complete help, please run <code class="docutils literal notranslate"><span class="pre">pygmentize</span> <span class="pre">-h</span></code>.</p>
-<p>Usage as a library is thoroughly demonstrated in the Documentation section.</p>
-</div>
-<div class="section" id="how-do-i-make-a-new-style">
-<h2>How do I make a new style?<a class="headerlink" href="#how-do-i-make-a-new-style" title="Permalink to this headline">¶</a></h2>
-<p>Please see the <a class="reference internal" href="../docs/styles/"><span class="doc">documentation on styles</span></a>.</p>
-</div>
-<div class="section" id="how-can-i-report-a-bug-or-suggest-a-feature">
-<h2>How can I report a bug or suggest a feature?<a class="headerlink" href="#how-can-i-report-a-bug-or-suggest-a-feature" title="Permalink to this headline">¶</a></h2>
-<p>Please report bugs and feature wishes in the tracker at GitHub.</p>
-<p>You can also e-mail the authors, see the contact details.</p>
-</div>
-<div class="section" id="i-want-this-support-for-this-language">
-<h2>I want this support for this language!<a class="headerlink" href="#i-want-this-support-for-this-language" title="Permalink to this headline">¶</a></h2>
-<p>Instead of waiting for others to include language support, why not write it
-yourself? All you have to know is <a class="reference internal" href="../docs/lexerdevelopment/"><span class="doc">outlined in the docs</span></a>.</p>
-</div>
-<div class="section" id="can-i-use-pygments-for-programming-language-processing">
-<h2>Can I use Pygments for programming language processing?<a class="headerlink" href="#can-i-use-pygments-for-programming-language-processing" title="Permalink to this headline">¶</a></h2>
-<p>The Pygments lexing machinery is quite powerful can be used to build lexers for
-basically all languages. However, parsing them is not possible, though some
-lexers go some steps in this direction in order to e.g. highlight function names
-differently.</p>
-<p>Also, error reporting is not the scope of Pygments. It focuses on correctly
-highlighting syntactically valid documents, not finding and compensating errors.</p>
-</div>
-<div class="section" id="who-uses-pygments">
-<h2>Who uses Pygments?<a class="headerlink" href="#who-uses-pygments" title="Permalink to this headline">¶</a></h2>
-<p>This is an (incomplete) list of projects and sites known to use the Pygments highlighter.</p>
-<ul class="simple">
-<li><p><a class="reference external" href="http://en.wikipedia.org">Wikipedia</a></p></li>
-<li><p><a class="reference external" href="http://bitbucket.org/">BitBucket</a>, a Mercurial and Git hosting site</p></li>
-<li><p><a class="reference external" href="http://sphinx.pocoo.org/">The Sphinx documentation builder</a>, for embedded source examples</p></li>
-<li><p><a class="reference external" href="http://code.google.com/p/rst2pdf/">rst2pdf</a>, a reStructuredText to PDF converter</p></li>
-<li><p><a class="reference external" href="http://codecov.io/">Codecov</a>, a code coverage CI service</p></li>
-<li><p><a class="reference external" href="http://trac.edgewall.org/">Trac</a>, the universal project management tool</p></li>
-<li><p><a class="reference external" href="http://www.methods.co.nz/asciidoc/">AsciiDoc</a>, a text-based documentation generator</p></li>
-<li><p><a class="reference external" href="http://code.activestate.com/">ActiveState Code</a>, the Python Cookbook successor</p></li>
-<li><p><a class="reference external" href="http://viewvc.org/">ViewVC</a>, a web-based version control repository browser</p></li>
-<li><p><a class="reference external" href="http://repo.or.cz/w/bzrfruit.git">BzrFruit</a>, a Bazaar branch viewer</p></li>
-<li><p><a class="reference external" href="http://bazaar-vcs.org/QBzr">QBzr</a>, a cross-platform Qt-based GUI front end for Bazaar</p></li>
-<li><p><a class="reference external" href="http://www.review-board.org/">Review Board</a>, a collaborative code reviewing tool</p></li>
-<li><p><a class="reference external" href="http://code.google.com/p/diamanda/">Diamanda</a>, a Django powered wiki system with support for Pygments</p></li>
-<li><p><a class="reference external" href="http://progopedia.ru/">Progopedia</a> (<a class="reference external" href="http://progopedia.com/">English</a>),
-an encyclopedia of programming languages</p></li>
-<li><p><a class="reference external" href="http://r1chardj0n3s.googlepages.com/bruce">Bruce</a>, a reStructuredText presentation tool</p></li>
-<li><p><a class="reference external" href="http://pida.co.uk/">PIDA</a>, a universal IDE written in Python</p></li>
-<li><p><a class="reference external" href="http://www.noiseforfree.com/bpython/">BPython</a>, a curses-based intelligent Python shell</p></li>
-<li><p><a class="reference external" href="http://pypi.python.org/pypi/pudb">PuDB</a>, a console Python debugger</p></li>
-<li><p><a class="reference external" href="http://www.xwiki.org/">XWiki</a>, a wiki-based development framework in Java, using Jython</p></li>
-<li><p><a class="reference external" href="http://ananelson.com/software/roux/">roux</a>, a script for running R scripts
-and creating beautiful output including graphs</p></li>
-<li><p><a class="reference external" href="http://hurl.it/">hurl</a>, a web service for making HTTP requests</p></li>
-<li><p><a class="reference external" href="http://colinbarnette.net/projects/wxHTMLPygmentizer">wxHTMLPygmentizer</a> is
-a GUI utility, used to make code-colorization easier</p></li>
-<li><p><a class="reference external" href="http://code.google.com/p/postmarkup/">Postmarkup</a>, a BBCode to XHTML generator</p></li>
-<li><p><a class="reference external" href="http://blog.mirotin.net/?page_id=49">WpPygments</a>, and <a class="reference external" href="https://github.com/capynet/WPygments">WPygments</a>, highlighter plugins for WordPress</p></li>
-<li><p><a class="reference external" href="http://siafoo.net">Siafoo</a>, a tool for sharing and storing useful code and programming experience</p></li>
-<li><p><a class="reference external" href="http://www.dsource.org/">D source</a>, a community for the D programming language</p></li>
-<li><p><a class="reference external" href="http://dpaste.com/">dpaste.com</a>, another Django pastebin</p></li>
-<li><p><a class="reference external" href="http://www.djangosnippets.org/">Django snippets</a>, a pastebin for Django code</p></li>
-<li><p><a class="reference external" href="http://www.fayaa.com/code/">Fayaa</a>, a Chinese pastebin</p></li>
-<li><p><a class="reference external" href="http://incollo.com">Incollo.com</a>, a free collaborative debugging tool</p></li>
-<li><p><a class="reference external" href="http://p.boxnet.eu/">PasteBox</a>, a pastebin focused on privacy</p></li>
-<li><p><a class="reference external" href="http://www.hilite.me/">hilite.me</a>, a site to highlight code snippets</p></li>
-<li><p><a class="reference external" href="http://patx.me/paste">patx.me</a>, a pastebin</p></li>
-<li><p><a class="reference external" href="https://github.com/richsmith/fluidic">Fluidic</a>, an experiment in
-integrating shells with a GUI</p></li>
-<li><p><a class="reference external" href="https://github.com/tmm1/pygments.rb">pygments.rb</a>, a pygments wrapper for Ruby</p></li>
-<li><p><a class="reference external" href="https://github.com/bfontaine/clygments">Clygments</a>, a pygments wrapper for
-Clojure</p></li>
-<li><p><a class="reference external" href="https://github.com/capynet/PHPygments">PHPygments</a>, a pygments wrapper for PHP</p></li>
-</ul>
-<p>If you have a project or web site using Pygments, drop me a line, and I’ll add a
-link here.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Index — Pygments</title>
- <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../_static/favicon.ico"/>
- <link rel="index" title="Index" href="#" />
- <link rel="search" title="Search" href="../search/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../">Home</a></li>
-
- <li><a href="../demo/">Demo</a></li>
-
- <li><a href="../languages/">Languages</a></li>
- <li><a href="../faq/">FAQ</a></li>
- <li><a href="../download/">Get it</a></li>
- <li><a href="../docs/">Docs</a></li>
- </ul>
- <div>
- <a href="../">
- <img src="../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
-
-<h1 id="index">Index</h1>
-
-<div class="genindex-jumpbox">
- <a href="#A"><strong>A</strong></a>
- | <a href="#B"><strong>B</strong></a>
- | <a href="#C"><strong>C</strong></a>
- | <a href="#D"><strong>D</strong></a>
- | <a href="#E"><strong>E</strong></a>
- | <a href="#F"><strong>F</strong></a>
- | <a href="#G"><strong>G</strong></a>
- | <a href="#H"><strong>H</strong></a>
- | <a href="#I"><strong>I</strong></a>
- | <a href="#J"><strong>J</strong></a>
- | <a href="#K"><strong>K</strong></a>
- | <a href="#L"><strong>L</strong></a>
- | <a href="#M"><strong>M</strong></a>
- | <a href="#N"><strong>N</strong></a>
- | <a href="#O"><strong>O</strong></a>
- | <a href="#P"><strong>P</strong></a>
- | <a href="#Q"><strong>Q</strong></a>
- | <a href="#R"><strong>R</strong></a>
- | <a href="#S"><strong>S</strong></a>
- | <a href="#T"><strong>T</strong></a>
- | <a href="#U"><strong>U</strong></a>
- | <a href="#V"><strong>V</strong></a>
- | <a href="#W"><strong>W</strong></a>
- | <a href="#X"><strong>X</strong></a>
- | <a href="#Y"><strong>Y</strong></a>
- | <a href="#Z"><strong>Z</strong></a>
-
-</div>
-<h2 id="A">A</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.business.ABAPLexer">ABAPLexer (class in pygments.lexers.business)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.grammar_notation.AbnfLexer">AbnfLexer (class in pygments.lexers.grammar_notation)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.actionscript.ActionScript3Lexer">ActionScript3Lexer (class in pygments.lexers.actionscript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.actionscript.ActionScriptLexer">ActionScriptLexer (class in pygments.lexers.actionscript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.pascal.AdaLexer">AdaLexer (class in pygments.lexers.pascal)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.archetype.AdlLexer">AdlLexer (class in pygments.lexers.archetype)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.AgdaLexer">AgdaLexer (class in pygments.lexers.haskell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.esoteric.AheuiLexer">AheuiLexer (class in pygments.lexers.esoteric)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexer.Lexer.alias_filenames">alias_filenames (pygments.lexer.Lexer attribute)</a>
-</li>
- <li><a href="../docs/api/#pygments.formatter.Formatter.aliases">aliases (pygments.formatter.Formatter attribute)</a>
-
- <ul>
- <li><a href="../docs/api/#pygments.lexer.Lexer.aliases">(pygments.lexer.Lexer attribute)</a>
-</li>
- </ul></li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.AlloyLexer">AlloyLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ambient.AmbientTalkLexer">AmbientTalkLexer (class in pygments.lexers.ambient)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ampl.AmplLexer">AmplLexer (class in pygments.lexers.ampl)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexer.Lexer.analyse_text">analyse_text() (pygments.lexer.Lexer static method)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.Angular2HtmlLexer">Angular2HtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.Angular2Lexer">Angular2Lexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.AntlrActionScriptLexer">AntlrActionScriptLexer (class in pygments.lexers.parsers)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.AntlrCppLexer">AntlrCppLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.AntlrCSharpLexer">AntlrCSharpLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.AntlrJavaLexer">AntlrJavaLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.AntlrLexer">AntlrLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.AntlrObjectiveCLexer">AntlrObjectiveCLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.AntlrPerlLexer">AntlrPerlLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.AntlrPythonLexer">AntlrPythonLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.AntlrRubyLexer">AntlrRubyLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.ApacheConfLexer">ApacheConfLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.apl.APLLexer">APLLexer (class in pygments.lexers.apl)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.AppleScriptLexer">AppleScriptLexer (class in pygments.lexers.scripting)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.ArduinoLexer">ArduinoLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.AspectJLexer">AspectJLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.graphics.AsymptoteLexer">AsymptoteLexer (class in pygments.lexers.graphics)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.AugeasLexer">AugeasLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.automation.AutohotkeyLexer">AutohotkeyLexer (class in pygments.lexers.automation)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.automation.AutoItLexer">AutoItLexer (class in pygments.lexers.automation)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.textedit.AwkLexer">AwkLexer (class in pygments.lexers.textedit)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="B">B</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.make.BaseMakefileLexer">BaseMakefileLexer (class in pygments.lexers.make)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.BashLexer">BashLexer (class in pygments.lexers.shell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.BashSessionLexer">BashSessionLexer (class in pygments.lexers.shell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.BatchLexer">BatchLexer (class in pygments.lexers.shell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.basic.BBCBasicLexer">BBCBasicLexer (class in pygments.lexers.basic)</a>
-</li>
- <li><a href="../docs/formatters/#BBCodeFormatter">BBCodeFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.BBCodeLexer">BBCodeLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.algebra.BCLexer">BCLexer (class in pygments.lexers.algebra)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.esoteric.BefungeLexer">BefungeLexer (class in pygments.lexers.esoteric)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.bibtex.BibTeXLexer">BibTeXLexer (class in pygments.lexers.bibtex)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.basic.BlitzBasicLexer">BlitzBasicLexer (class in pygments.lexers.basic)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.basic.BlitzMaxLexer">BlitzMaxLexer (class in pygments.lexers.basic)</a>
-</li>
- <li><a href="../docs/formatters/#BmpImageFormatter">BmpImageFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.grammar_notation.BnfLexer">BnfLexer (class in pygments.lexers.grammar_notation)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.boa.BoaLexer">BoaLexer (class in pygments.lexers.boa)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.verification.BoogieLexer">BoogieLexer (class in pygments.lexers.verification)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dotnet.BooLexer">BooLexer (class in pygments.lexers.dotnet)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.esoteric.BrainfuckLexer">BrainfuckLexer (class in pygments.lexers.esoteric)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.BroLexer">BroLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.bibtex.BSTLexer">BSTLexer (class in pygments.lexers.bibtex)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.modeling.BugsLexer">BugsLexer (class in pygments.lexers.modeling)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="C">C</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.asm.Ca65Lexer">Ca65Lexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.archetype.CadlLexer">CadlLexer (class in pygments.lexers.archetype)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.esoteric.CAmkESLexer">CAmkESLexer (class in pygments.lexers.esoteric)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.esoteric.CapDLLexer">CapDLLexer (class in pygments.lexers.esoteric)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.capnproto.CapnProtoLexer">CapnProtoLexer (class in pygments.lexers.capnproto)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.basic.CbmBasicV2Lexer">CbmBasicV2Lexer (class in pygments.lexers.basic)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.CeylonLexer">CeylonLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.Cfengine3Lexer">Cfengine3Lexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.ChaiscriptLexer">ChaiscriptLexer (class in pygments.lexers.scripting)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.chapel.ChapelLexer">ChapelLexer (class in pygments.lexers.chapel)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.CharmciLexer">CharmciLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.CheetahHtmlLexer">CheetahHtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.CheetahJavascriptLexer">CheetahJavascriptLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.CheetahLexer">CheetahLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.CheetahXmlLexer">CheetahXmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.webmisc.CirruLexer">CirruLexer (class in pygments.lexers.webmisc)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.ClayLexer">ClayLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.clean.CleanLexer">CleanLexer (class in pygments.lexers.clean)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_cpp.CLexer">CLexer (class in pygments.lexers.c_cpp)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.ClojureLexer">ClojureLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.ClojureScriptLexer">ClojureScriptLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.make.CMakeLexer">CMakeLexer (class in pygments.lexers.make)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.CObjdumpLexer">CObjdumpLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.business.CobolFreeformatLexer">CobolFreeformatLexer (class in pygments.lexers.business)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.business.CobolLexer">CobolLexer (class in pygments.lexers.business)</a>
-</li>
- <li><a href="../docs/filters/#CodeTagFilter">CodeTagFilter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.CoffeeScriptLexer">CoffeeScriptLexer (class in pygments.lexers.javascript)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.templates.ColdfusionCFCLexer">ColdfusionCFCLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.ColdfusionHtmlLexer">ColdfusionHtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.ColdfusionLexer">ColdfusionLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.CommonLispLexer">CommonLispLexer (class in pygments.lexers.lisp)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.oberon.ComponentPascalLexer">ComponentPascalLexer (class in pygments.lexers.oberon)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.theorem.CoqLexer">CoqLexer (class in pygments.lexers.theorem)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_cpp.CppLexer">CppLexer (class in pygments.lexers.c_cpp)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.CppObjdumpLexer">CppObjdumpLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.CPSALexer">CPSALexer (class in pygments.lexers.lisp)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.CrmshLexer">CrmshLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.d.CrocLexer">CrocLexer (class in pygments.lexers.d)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.CryptolLexer">CryptolLexer (class in pygments.lexers.haskell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.crystal.CrystalLexer">CrystalLexer (class in pygments.lexers.crystal)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dotnet.CSharpAspxLexer">CSharpAspxLexer (class in pygments.lexers.dotnet)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dotnet.CSharpLexer">CSharpLexer (class in pygments.lexers.dotnet)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.csound.CsoundDocumentLexer">CsoundDocumentLexer (class in pygments.lexers.csound)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.csound.CsoundOrchestraLexer">CsoundOrchestraLexer (class in pygments.lexers.csound)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.csound.CsoundScoreLexer">CsoundScoreLexer (class in pygments.lexers.csound)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.CssDjangoLexer">CssDjangoLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.CssErbLexer">CssErbLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.CssGenshiLexer">CssGenshiLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.css.CssLexer">CssLexer (class in pygments.lexers.css)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.CssPhpLexer">CssPhpLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.CssSmartyLexer">CssSmartyLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.CudaLexer">CudaLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.graph.CypherLexer">CypherLexer (class in pygments.lexers.graph)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.python.CythonLexer">CythonLexer (class in pygments.lexers.python)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="D">D</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.diff.DarcsPatchLexer">DarcsPatchLexer (class in pygments.lexers.diff)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.DartLexer">DartLexer (class in pygments.lexers.javascript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.Dasm16Lexer">Dasm16Lexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.installers.DebianControlLexer">DebianControlLexer (class in pygments.lexers.installers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.pascal.DelphiLexer">DelphiLexer (class in pygments.lexers.pascal)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.python.DgLexer">DgLexer (class in pygments.lexers.python)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.diff.DiffLexer">DiffLexer (class in pygments.lexers.diff)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.DjangoLexer">DjangoLexer (class in pygments.lexers.templates)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.d.DLexer">DLexer (class in pygments.lexers.d)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.DObjdumpLexer">DObjdumpLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.DockerLexer">DockerLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.html.DtdLexer">DtdLexer (class in pygments.lexers.html)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.webmisc.DuelLexer">DuelLexer (class in pygments.lexers.webmisc)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dylan.DylanConsoleLexer">DylanConsoleLexer (class in pygments.lexers.dylan)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dylan.DylanLexer">DylanLexer (class in pygments.lexers.dylan)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dylan.DylanLidLexer">DylanLidLexer (class in pygments.lexers.dylan)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="E">E</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.EarlGreyLexer">EarlGreyLexer (class in pygments.lexers.javascript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.EasytrieveLexer">EasytrieveLexer (class in pygments.lexers.scripting)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.EbnfLexer">EbnfLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.ECLexer">ECLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ecl.ECLLexer">ECLLexer (class in pygments.lexers.ecl)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.eiffel.EiffelLexer">EiffelLexer (class in pygments.lexers.eiffel)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.erlang.ElixirConsoleLexer">ElixirConsoleLexer (class in pygments.lexers.erlang)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.erlang.ElixirLexer">ElixirLexer (class in pygments.lexers.erlang)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.elm.ElmLexer">ElmLexer (class in pygments.lexers.elm)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.EmacsLispLexer">EmacsLispLexer (class in pygments.lexers.lisp)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.email.EmailLexer">EmailLexer (class in pygments.lexers.email)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.ErbLexer">ErbLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.erlang.ErlangLexer">ErlangLexer (class in pygments.lexers.erlang)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.erlang.ErlangShellLexer">ErlangShellLexer (class in pygments.lexers.erlang)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.EvoqueHtmlLexer">EvoqueHtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.EvoqueLexer">EvoqueLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.EvoqueXmlLexer">EvoqueXmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ezhil.EzhilLexer">EzhilLexer (class in pygments.lexers.ezhil)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="F">F</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.factor.FactorLexer">FactorLexer (class in pygments.lexers.factor)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ruby.FancyLexer">FancyLexer (class in pygments.lexers.ruby)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.fantom.FantomLexer">FantomLexer (class in pygments.lexers.fantom)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.felix.FelixLexer">FelixLexer (class in pygments.lexers.felix)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.FennelLexer">FennelLexer (class in pygments.lexers.lisp)</a>
-</li>
- <li><a href="../docs/api/#pygments.formatter.Formatter.filenames">filenames (pygments.formatter.Formatter attribute)</a>
-
- <ul>
- <li><a href="../docs/api/#pygments.lexer.Lexer.filenames">(pygments.lexer.Lexer attribute)</a>
-</li>
- </ul></li>
- <li><a href="../docs/api/#pygments.lexers.find_lexer_class">find_lexer_class() (in module pygments.lexers)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexers.find_lexer_class_by_name">find_lexer_class_by_name() (in module pygments.lexers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.FishShellLexer">FishShellLexer (class in pygments.lexers.shell)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.FlatlineLexer">FlatlineLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.floscript.FloScriptLexer">FloScriptLexer (class in pygments.lexers.floscript)</a>
-</li>
- <li><a href="../docs/api/#pygments.format">format() (in module pygments)</a>
-
- <ul>
- <li><a href="../docs/api/#pygments.formatter.Formatter.format">(pygments.formatter.Formatter method)</a>
-</li>
- </ul></li>
- <li><a href="../docs/api/#pygments.formatter.Formatter">Formatter (class in pygments.formatter)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.forth.ForthLexer">ForthLexer (class in pygments.lexers.forth)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.fortran.FortranFixedLexer">FortranFixedLexer (class in pygments.lexers.fortran)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.fortran.FortranLexer">FortranLexer (class in pygments.lexers.fortran)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.foxpro.FoxProLexer">FoxProLexer (class in pygments.lexers.foxpro)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.freefem.FreeFemLexer">FreeFemLexer (class in pygments.lexers.freefem)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dotnet.FSharpLexer">FSharpLexer (class in pygments.lexers.dotnet)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="G">G</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.algebra.GAPLexer">GAPLexer (class in pygments.lexers.algebra)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.GasLexer">GasLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.GenshiLexer">GenshiLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.GenshiTextLexer">GenshiTextLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexers.get_all_lexers">get_all_lexers() (in module pygments.lexers)</a>
-</li>
- <li><a href="../docs/api/#pygments.styles.get_all_styles">get_all_styles() (in module pygments.styles)</a>
-</li>
- <li><a href="../docs/api/#pygments.util.get_bool_opt">get_bool_opt() (in module pygments.util)</a>
-</li>
- <li><a href="../docs/api/#pygments.util.get_choice_opt">get_choice_opt() (in module pygments.util)</a>
-</li>
- <li><a href="../docs/api/#pygments.formatters.get_formatter_by_name">get_formatter_by_name() (in module pygments.formatters)</a>
-</li>
- <li><a href="../docs/api/#pygments.formatters.get_formatter_for_filename">get_formatter_for_filename() (in module pygments.formatters)</a>
-</li>
- <li><a href="../docs/api/#pygments.util.get_int_opt">get_int_opt() (in module pygments.util)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexers.get_lexer_by_name">get_lexer_by_name() (in module pygments.lexers)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexers.get_lexer_for_filename">get_lexer_for_filename() (in module pygments.lexers)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexers.get_lexer_for_mimetype">get_lexer_for_mimetype() (in module pygments.lexers)</a>
-</li>
- <li><a href="../docs/api/#pygments.util.get_list_opt">get_list_opt() (in module pygments.util)</a>
-</li>
- <li><a href="../docs/api/#pygments.styles.get_style_by_name">get_style_by_name() (in module pygments.styles)</a>
-</li>
- <li><a href="../docs/api/#pygments.formatter.Formatter.get_style_defs">get_style_defs() (pygments.formatter.Formatter method)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/api/#pygments.lexer.Lexer.get_tokens">get_tokens() (pygments.lexer.Lexer method)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexer.Lexer.get_tokens_unprocessed">get_tokens_unprocessed() (pygments.lexer.Lexer method)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.textfmts.GettextLexer">GettextLexer (class in pygments.lexers.textfmts)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.testing.GherkinLexer">GherkinLexer (class in pygments.lexers.testing)</a>
-</li>
- <li><a href="../docs/formatters/#GifImageFormatter">GifImageFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.graphics.GLShaderLexer">GLShaderLexer (class in pygments.lexers.graphics)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.graphics.GnuplotLexer">GnuplotLexer (class in pygments.lexers.graphics)</a>
-</li>
- <li><a href="../docs/filters/#GobbleFilter">GobbleFilter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.go.GoLexer">GoLexer (class in pygments.lexers.go)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.GoloLexer">GoloLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.business.GoodDataCLLexer">GoodDataCLLexer (class in pygments.lexers.business)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.GosuLexer">GosuLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.GosuTemplateLexer">GosuTemplateLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.GroffLexer">GroffLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.GroovyLexer">GroovyLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexers.guess_lexer">guess_lexer() (in module pygments.lexers)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexers.guess_lexer_for_filename">guess_lexer_for_filename() (in module pygments.lexers)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="H">H</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.html.HamlLexer">HamlLexer (class in pygments.lexers.html)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.HandlebarsHtmlLexer">HandlebarsHtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.HandlebarsLexer">HandlebarsLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.HaskellLexer">HaskellLexer (class in pygments.lexers.haskell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haxe.HaxeLexer">HaxeLexer (class in pygments.lexers.haxe)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.hexdump.HexdumpLexer">HexdumpLexer (class in pygments.lexers.hexdump)</a>
-</li>
- <li><a href="../docs/api/#pygments.highlight">highlight() (in module pygments)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.graphics.HLSLShaderLexer">HLSLShaderLexer (class in pygments.lexers.graphics)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.HsailLexer">HsailLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.HspecLexer">HspecLexer (class in pygments.lexers.haskell)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.templates.HtmlDjangoLexer">HtmlDjangoLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/formatters/#HtmlFormatter">HtmlFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.HtmlGenshiLexer">HtmlGenshiLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.html.HtmlLexer">HtmlLexer (class in pygments.lexers.html)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.HtmlPhpLexer">HtmlPhpLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.HtmlSmartyLexer">HtmlSmartyLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.textfmts.HttpLexer">HttpLexer (class in pygments.lexers.textfmts)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haxe.HxmlLexer">HxmlLexer (class in pygments.lexers.haxe)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.HybrisLexer">HybrisLexer (class in pygments.lexers.scripting)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.HyLexer">HyLexer (class in pygments.lexers.lisp)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="I">I</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.unicon.IconLexer">IconLexer (class in pygments.lexers.unicon)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.idl.IDLLexer">IDLLexer (class in pygments.lexers.idl)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.IdrisLexer">IdrisLexer (class in pygments.lexers.haskell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.igor.IgorLexer">IgorLexer (class in pygments.lexers.igor)</a>
-</li>
- <li><a href="../docs/formatters/#ImageFormatter">ImageFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.int_fiction.Inform6Lexer">Inform6Lexer (class in pygments.lexers.int_fiction)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.int_fiction.Inform6TemplateLexer">Inform6TemplateLexer (class in pygments.lexers.int_fiction)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.int_fiction.Inform7Lexer">Inform7Lexer (class in pygments.lexers.int_fiction)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.IniLexer">IniLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.IokeLexer">IokeLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.iolang.IoLexer">IoLexer (class in pygments.lexers.iolang)</a>
-</li>
- <li><a href="../docs/formatters/#IRCFormatter">IRCFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.textfmts.IrcLogsLexer">IrcLogsLexer (class in pygments.lexers.textfmts)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.theorem.IsabelleLexer">IsabelleLexer (class in pygments.lexers.theorem)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="J">J</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.modeling.JagsLexer">JagsLexer (class in pygments.lexers.modeling)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.JasminLexer">JasminLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.JavaLexer">JavaLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.JavascriptDjangoLexer">JavascriptDjangoLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.JavascriptErbLexer">JavascriptErbLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.JavascriptGenshiLexer">JavascriptGenshiLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.JavascriptLexer">JavascriptLexer (class in pygments.lexers.javascript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.JavascriptPhpLexer">JavascriptPhpLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.JavascriptSmartyLexer">JavascriptSmartyLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.JclLexer">JclLexer (class in pygments.lexers.scripting)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.j.JLexer">JLexer (class in pygments.lexers.j)</a>
-</li>
- <li><a href="../docs/formatters/#JpgImageFormatter">JpgImageFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.grammar_notation.JsgfLexer">JsgfLexer (class in pygments.lexers.grammar_notation)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.data.JsonBareObjectLexer">JsonBareObjectLexer (class in pygments.lexers.data)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.data.JsonLdLexer">JsonLdLexer (class in pygments.lexers.data)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.data.JsonLexer">JsonLexer (class in pygments.lexers.data)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.JspLexer">JspLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.julia.JuliaConsoleLexer">JuliaConsoleLexer (class in pygments.lexers.julia)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.julia.JuliaLexer">JuliaLexer (class in pygments.lexers.julia)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.JuttleLexer">JuttleLexer (class in pygments.lexers.javascript)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="K">K</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.KalLexer">KalLexer (class in pygments.lexers.javascript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.KconfigLexer">KconfigLexer (class in pygments.lexers.configs)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/filters/#KeywordCaseFilter">KeywordCaseFilter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.KokaLexer">KokaLexer (class in pygments.lexers.haskell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.KotlinLexer">KotlinLexer (class in pygments.lexers.jvm)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="L">L</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.templates.LassoCssLexer">LassoCssLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.LassoHtmlLexer">LassoHtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.LassoJavascriptLexer">LassoJavascriptLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.LassoLexer">LassoLexer (class in pygments.lexers.javascript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.LassoXmlLexer">LassoXmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/formatters/#LatexFormatter">LatexFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.theorem.LeanLexer">LeanLexer (class in pygments.lexers.theorem)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.css.LessCssLexer">LessCssLexer (class in pygments.lexers.css)</a>
-</li>
- <li><a href="../docs/api/#pygments.lex">lex() (in module pygments)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexer.Lexer">Lexer (class in pygments.lexer)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.LighttpdConfLexer">LighttpdConfLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.inferno.LimboLexer">LimboLexer (class in pygments.lexers.inferno)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.templates.LiquidLexer">LiquidLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.LiterateAgdaLexer">LiterateAgdaLexer (class in pygments.lexers.haskell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.LiterateCryptolLexer">LiterateCryptolLexer (class in pygments.lexers.haskell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.LiterateHaskellLexer">LiterateHaskellLexer (class in pygments.lexers.haskell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.haskell.LiterateIdrisLexer">LiterateIdrisLexer (class in pygments.lexers.haskell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.LiveScriptLexer">LiveScriptLexer (class in pygments.lexers.javascript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.LlvmLexer">LlvmLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/api/#pygments.formatters.load_formatter_from_file">load_formatter_from_file() (in module pygments.formatters)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexers.load_lexer_from_file">load_lexer_from_file() (in module pygments.lexers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.objective.LogosLexer">LogosLexer (class in pygments.lexers.objective)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.prolog.LogtalkLexer">LogtalkLexer (class in pygments.lexers.prolog)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.LSLLexer">LSLLexer (class in pygments.lexers.scripting)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.LuaLexer">LuaLexer (class in pygments.lexers.scripting)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="M">M</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.make.MakefileLexer">MakefileLexer (class in pygments.lexers.make)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MakoCssLexer">MakoCssLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MakoHtmlLexer">MakoHtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MakoJavascriptLexer">MakoJavascriptLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MakoLexer">MakoLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MakoXmlLexer">MakoXmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.business.MaqlLexer">MaqlLexer (class in pygments.lexers.business)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.MarkdownLexer">MarkdownLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.MaskLexer">MaskLexer (class in pygments.lexers.javascript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MasonLexer">MasonLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.algebra.MathematicaLexer">MathematicaLexer (class in pygments.lexers.algebra)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.matlab.MatlabLexer">MatlabLexer (class in pygments.lexers.matlab)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.matlab.MatlabSessionLexer">MatlabSessionLexer (class in pygments.lexers.matlab)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.mime.MIMELexer">MIMELexer (class in pygments.lexers.mime)</a>
-</li>
- <li><a href="../docs/api/#pygments.lexer.Lexer.mimetypes">mimetypes (pygments.lexer.Lexer attribute)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.d.MiniDLexer">MiniDLexer (class in pygments.lexers.d)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.modeling.ModelicaLexer">ModelicaLexer (class in pygments.lexers.modeling)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.modula2.Modula2Lexer">Modula2Lexer (class in pygments.lexers.modula2)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.MoinWikiLexer">MoinWikiLexer (class in pygments.lexers.markup)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.basic.MonkeyLexer">MonkeyLexer (class in pygments.lexers.basic)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.monte.MonteLexer">MonteLexer (class in pygments.lexers.monte)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.MOOCodeLexer">MOOCodeLexer (class in pygments.lexers.scripting)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.MoonScriptLexer">MoonScriptLexer (class in pygments.lexers.scripting)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.MozPreprocCssLexer">MozPreprocCssLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.MozPreprocHashLexer">MozPreprocHashLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.MozPreprocJavascriptLexer">MozPreprocJavascriptLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.MozPreprocPercentLexer">MozPreprocPercentLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.MozPreprocXulLexer">MozPreprocXulLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.MqlLexer">MqlLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.MscgenLexer">MscgenLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.MSDOSSessionLexer">MSDOSSessionLexer (class in pygments.lexers.shell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.algebra.MuPADLexer">MuPADLexer (class in pygments.lexers.algebra)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.actionscript.MxmlLexer">MxmlLexer (class in pygments.lexers.actionscript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MyghtyCssLexer">MyghtyCssLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MyghtyHtmlLexer">MyghtyHtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MyghtyJavascriptLexer">MyghtyJavascriptLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MyghtyLexer">MyghtyLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.MyghtyXmlLexer">MyghtyXmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sql.MySqlLexer">MySqlLexer (class in pygments.lexers.sql)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="N">N</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/api/#pygments.formatter.Formatter.name">name (pygments.formatter.Formatter attribute)</a>
-
- <ul>
- <li><a href="../docs/api/#pygments.lexer.Lexer.name">(pygments.lexer.Lexer attribute)</a>
-</li>
- </ul></li>
- <li><a href="../docs/filters/#NameHighlightFilter">NameHighlightFilter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.NasmLexer">NasmLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.NasmObjdumpLexer">NasmObjdumpLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ncl.NCLLexer">NCLLexer (class in pygments.lexers.ncl)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dotnet.NemerleLexer">NemerleLexer (class in pygments.lexers.dotnet)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.NesCLexer">NesCLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.NewLispLexer">NewLispLexer (class in pygments.lexers.lisp)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.smalltalk.NewspeakLexer">NewspeakLexer (class in pygments.lexers.smalltalk)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.NginxConfLexer">NginxConfLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.nimrod.NimrodLexer">NimrodLexer (class in pygments.lexers.nimrod)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.nit.NitLexer">NitLexer (class in pygments.lexers.nit)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.nix.NixLexer">NixLexer (class in pygments.lexers.nix)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.installers.NSISLexer">NSISLexer (class in pygments.lexers.installers)</a>
-</li>
- <li><a href="../docs/formatters/#NullFormatter">NullFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.python.NumPyLexer">NumPyLexer (class in pygments.lexers.python)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.smv.NuSMVLexer">NuSMVLexer (class in pygments.lexers.smv)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="O">O</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.asm.ObjdumpLexer">ObjdumpLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.objective.ObjectiveCLexer">ObjectiveCLexer (class in pygments.lexers.objective)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.objective.ObjectiveCppLexer">ObjectiveCppLexer (class in pygments.lexers.objective)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.ObjectiveJLexer">ObjectiveJLexer (class in pygments.lexers.javascript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ml.OcamlLexer">OcamlLexer (class in pygments.lexers.ml)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.matlab.OctaveLexer">OctaveLexer (class in pygments.lexers.matlab)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.archetype.OdinLexer">OdinLexer (class in pygments.lexers.archetype)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ooc.OocLexer">OocLexer (class in pygments.lexers.ooc)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ml.OpaLexer">OpaLexer (class in pygments.lexers.ml)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.business.OpenEdgeLexer">OpenEdgeLexer (class in pygments.lexers.business)</a>
-</li>
- <li><a href="../docs/api/#pygments.util.OptionError">OptionError</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="P">P</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.configs.PacmanConfLexer">PacmanConfLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.PanLexer">PanLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parasail.ParaSailLexer">ParaSailLexer (class in pygments.lexers.parasail)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.pawn.PawnLexer">PawnLexer (class in pygments.lexers.pawn)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.perl.Perl6Lexer">Perl6Lexer (class in pygments.lexers.perl)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.perl.PerlLexer">PerlLexer (class in pygments.lexers.perl)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.php.PhpLexer">PhpLexer (class in pygments.lexers.php)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.PigLexer">PigLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.PikeLexer">PikeLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.PkgConfigLexer">PkgConfigLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sql.PlPgsqlLexer">PlPgsqlLexer (class in pygments.lexers.sql)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.pony.PonyLexer">PonyLexer (class in pygments.lexers.pony)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sql.PostgresConsoleLexer">PostgresConsoleLexer (class in pygments.lexers.sql)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sql.PostgresLexer">PostgresLexer (class in pygments.lexers.sql)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.graphics.PostScriptLexer">PostScriptLexer (class in pygments.lexers.graphics)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.graphics.PovrayLexer">PovrayLexer (class in pygments.lexers.graphics)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.PowerShellLexer">PowerShellLexer (class in pygments.lexers.shell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.PowerShellSessionLexer">PowerShellSessionLexer (class in pygments.lexers.shell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.praat.PraatLexer">PraatLexer (class in pygments.lexers.praat)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.prolog.PrologLexer">PrologLexer (class in pygments.lexers.prolog)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.PropertiesLexer">PropertiesLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.ProtoBufLexer">ProtoBufLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.html.PugLexer">PugLexer (class in pygments.lexers.html)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.PuppetLexer">PuppetLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/api/#module-pygments">pygments (module)</a>
-</li>
- <li><a href="../docs/api/#module-pygments.formatter">pygments.formatter (module)</a>
-</li>
- <li><a href="../docs/api/#module-pygments.formatters">pygments.formatters (module)</a>
-</li>
- <li><a href="../docs/api/#module-pygments.lexer">pygments.lexer (module)</a>
-</li>
- <li><a href="../docs/api/#module-pygments.lexers">pygments.lexers (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.actionscript">pygments.lexers.actionscript (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.algebra">pygments.lexers.algebra (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.ambient">pygments.lexers.ambient (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.ampl">pygments.lexers.ampl (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.apl">pygments.lexers.apl (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.archetype">pygments.lexers.archetype (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.asm">pygments.lexers.asm (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.automation">pygments.lexers.automation (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.basic">pygments.lexers.basic (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.bibtex">pygments.lexers.bibtex (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.boa">pygments.lexers.boa (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.business">pygments.lexers.business (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.c_cpp">pygments.lexers.c_cpp (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.c_like">pygments.lexers.c_like (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.capnproto">pygments.lexers.capnproto (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.chapel">pygments.lexers.chapel (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.clean">pygments.lexers.clean (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.configs">pygments.lexers.configs (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.console">pygments.lexers.console (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.crystal">pygments.lexers.crystal (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.csound">pygments.lexers.csound (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.css">pygments.lexers.css (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.d">pygments.lexers.d (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.dalvik">pygments.lexers.dalvik (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.data">pygments.lexers.data (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.diff">pygments.lexers.diff (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.dotnet">pygments.lexers.dotnet (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.dsls">pygments.lexers.dsls (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.dylan">pygments.lexers.dylan (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.ecl">pygments.lexers.ecl (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.eiffel">pygments.lexers.eiffel (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.elm">pygments.lexers.elm (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.email">pygments.lexers.email (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.erlang">pygments.lexers.erlang (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.esoteric">pygments.lexers.esoteric (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.ezhil">pygments.lexers.ezhil (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.factor">pygments.lexers.factor (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.fantom">pygments.lexers.fantom (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.felix">pygments.lexers.felix (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.floscript">pygments.lexers.floscript (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.forth">pygments.lexers.forth (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.fortran">pygments.lexers.fortran (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.foxpro">pygments.lexers.foxpro (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.freefem">pygments.lexers.freefem (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.go">pygments.lexers.go (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.grammar_notation">pygments.lexers.grammar_notation (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.graph">pygments.lexers.graph (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.graphics">pygments.lexers.graphics (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.haskell">pygments.lexers.haskell (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.haxe">pygments.lexers.haxe (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.hdl">pygments.lexers.hdl (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.hexdump">pygments.lexers.hexdump (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.html">pygments.lexers.html (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.idl">pygments.lexers.idl (module)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#module-pygments.lexers.igor">pygments.lexers.igor (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.inferno">pygments.lexers.inferno (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.installers">pygments.lexers.installers (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.int_fiction">pygments.lexers.int_fiction (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.iolang">pygments.lexers.iolang (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.j">pygments.lexers.j (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.javascript">pygments.lexers.javascript (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.julia">pygments.lexers.julia (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.jvm">pygments.lexers.jvm (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.lisp">pygments.lexers.lisp (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.make">pygments.lexers.make (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.markup">pygments.lexers.markup (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.matlab">pygments.lexers.matlab (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.mime">pygments.lexers.mime (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.ml">pygments.lexers.ml (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.modeling">pygments.lexers.modeling (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.modula2">pygments.lexers.modula2 (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.monte">pygments.lexers.monte (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.ncl">pygments.lexers.ncl (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.nimrod">pygments.lexers.nimrod (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.nit">pygments.lexers.nit (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.nix">pygments.lexers.nix (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.oberon">pygments.lexers.oberon (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.objective">pygments.lexers.objective (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.ooc">pygments.lexers.ooc (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.parasail">pygments.lexers.parasail (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.parsers">pygments.lexers.parsers (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.pascal">pygments.lexers.pascal (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.pawn">pygments.lexers.pawn (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.perl">pygments.lexers.perl (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.php">pygments.lexers.php (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.pony">pygments.lexers.pony (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.praat">pygments.lexers.praat (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.prolog">pygments.lexers.prolog (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.python">pygments.lexers.python (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.qvt">pygments.lexers.qvt (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.r">pygments.lexers.r (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.rdf">pygments.lexers.rdf (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.rebol">pygments.lexers.rebol (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.resource">pygments.lexers.resource (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.rnc">pygments.lexers.rnc (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.roboconf">pygments.lexers.roboconf (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.robotframework">pygments.lexers.robotframework (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.ruby">pygments.lexers.ruby (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.rust">pygments.lexers.rust (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.sas">pygments.lexers.sas (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.scripting">pygments.lexers.scripting (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.sgf">pygments.lexers.sgf (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.shell">pygments.lexers.shell (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.slash">pygments.lexers.slash (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.smalltalk">pygments.lexers.smalltalk (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.smv">pygments.lexers.smv (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.snobol">pygments.lexers.snobol (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.special">pygments.lexers.special (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.sql">pygments.lexers.sql (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.stata">pygments.lexers.stata (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.supercollider">pygments.lexers.supercollider (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.tcl">pygments.lexers.tcl (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.templates">pygments.lexers.templates (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.teraterm">pygments.lexers.teraterm (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.testing">pygments.lexers.testing (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.textedit">pygments.lexers.textedit (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.textfmts">pygments.lexers.textfmts (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.theorem">pygments.lexers.theorem (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.trafficscript">pygments.lexers.trafficscript (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.typoscript">pygments.lexers.typoscript (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.unicon">pygments.lexers.unicon (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.urbi">pygments.lexers.urbi (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.varnish">pygments.lexers.varnish (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.verification">pygments.lexers.verification (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.webmisc">pygments.lexers.webmisc (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.whiley">pygments.lexers.whiley (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.x10">pygments.lexers.x10 (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.xorg">pygments.lexers.xorg (module)</a>
-</li>
- <li><a href="../docs/lexers/#module-pygments.lexers.zig">pygments.lexers.zig (module)</a>
-</li>
- <li><a href="../docs/api/#module-pygments.styles">pygments.styles (module)</a>
-</li>
- <li><a href="../docs/tokens/#module-pygments.token">pygments.token (module)</a>
-</li>
- <li><a href="../docs/api/#module-pygments.util">pygments.util (module)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.console.PyPyLogLexer">PyPyLogLexer (class in pygments.lexers.console)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.python.Python3Lexer">Python3Lexer (class in pygments.lexers.python)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.python.Python3TracebackLexer">Python3TracebackLexer (class in pygments.lexers.python)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.python.PythonConsoleLexer">PythonConsoleLexer (class in pygments.lexers.python)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.python.PythonLexer">PythonLexer (class in pygments.lexers.python)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.python.PythonTracebackLexer">PythonTracebackLexer (class in pygments.lexers.python)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="Q">Q</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.basic.QBasicLexer">QBasicLexer (class in pygments.lexers.basic)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.webmisc.QmlLexer">QmlLexer (class in pygments.lexers.webmisc)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.qvt.QVToLexer">QVToLexer (class in pygments.lexers.qvt)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="R">R</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.RacketLexer">RacketLexer (class in pygments.lexers.lisp)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.RagelCLexer">RagelCLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.RagelCppLexer">RagelCppLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.RagelDLexer">RagelDLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.RagelEmbeddedLexer">RagelEmbeddedLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.RagelJavaLexer">RagelJavaLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.RagelLexer">RagelLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.RagelObjectiveCLexer">RagelObjectiveCLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.RagelRubyLexer">RagelRubyLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/filters/#RaiseOnErrorTokenFilter">RaiseOnErrorTokenFilter (built-in class)</a>
-</li>
- <li><a href="../docs/formatters/#RawTokenFormatter">RawTokenFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.special.RawTokenLexer">RawTokenLexer (class in pygments.lexers.special)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.r.RConsoleLexer">RConsoleLexer (class in pygments.lexers.r)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.r.RdLexer">RdLexer (class in pygments.lexers.r)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.rebol.RebolLexer">RebolLexer (class in pygments.lexers.rebol)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.esoteric.RedcodeLexer">RedcodeLexer (class in pygments.lexers.esoteric)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.rebol.RedLexer">RedLexer (class in pygments.lexers.rebol)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.configs.RegeditLexer">RegeditLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.resource.ResourceLexer">ResourceLexer (class in pygments.lexers.resource)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.scripting.RexxLexer">RexxLexer (class in pygments.lexers.scripting)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.RhtmlLexer">RhtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.rnc.RNCCompactLexer">RNCCompactLexer (class in pygments.lexers.rnc)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.roboconf.RoboconfGraphLexer">RoboconfGraphLexer (class in pygments.lexers.roboconf)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.roboconf.RoboconfInstancesLexer">RoboconfInstancesLexer (class in pygments.lexers.roboconf)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.robotframework.RobotFrameworkLexer">RobotFrameworkLexer (class in pygments.lexers.robotframework)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.installers.RPMSpecLexer">RPMSpecLexer (class in pygments.lexers.installers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sql.RqlLexer">RqlLexer (class in pygments.lexers.sql)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.RslLexer">RslLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.markup.RstLexer">RstLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/formatters/#RtfFormatter">RtfFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.trafficscript.RtsLexer">RtsLexer (class in pygments.lexers.trafficscript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ruby.RubyConsoleLexer">RubyConsoleLexer (class in pygments.lexers.ruby)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ruby.RubyLexer">RubyLexer (class in pygments.lexers.ruby)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.rust.RustLexer">RustLexer (class in pygments.lexers.rust)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="S">S</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.SarlLexer">SarlLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sas.SASLexer">SASLexer (class in pygments.lexers.sas)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.css.SassLexer">SassLexer (class in pygments.lexers.css)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.ScalaLexer">ScalaLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.html.ScamlLexer">ScamlLexer (class in pygments.lexers.html)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.SchemeLexer">SchemeLexer (class in pygments.lexers.lisp)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.matlab.ScilabLexer">ScilabLexer (class in pygments.lexers.matlab)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.css.ScssLexer">ScssLexer (class in pygments.lexers.css)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.ShenLexer">ShenLexer (class in pygments.lexers.lisp)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.rdf.ShExCLexer">ShExCLexer (class in pygments.lexers.rdf)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.verification.SilverLexer">SilverLexer (class in pygments.lexers.verification)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.slash.SlashLexer">SlashLexer (class in pygments.lexers.slash)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.r.SLexer">SLexer (class in pygments.lexers.r)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.webmisc.SlimLexer">SlimLexer (class in pygments.lexers.webmisc)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.SlurmBashLexer">SlurmBashLexer (class in pygments.lexers.shell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dalvik.SmaliLexer">SmaliLexer (class in pygments.lexers.dalvik)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.smalltalk.SmalltalkLexer">SmalltalkLexer (class in pygments.lexers.smalltalk)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sgf.SmartGameFormatLexer">SmartGameFormatLexer (class in pygments.lexers.sgf)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.templates.SmartyLexer">SmartyLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.ml.SMLLexer">SMLLexer (class in pygments.lexers.ml)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.snobol.SnobolLexer">SnobolLexer (class in pygments.lexers.snobol)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.SnowballLexer">SnowballLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.pawn.SourcePawnLexer">SourcePawnLexer (class in pygments.lexers.pawn)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.installers.SourcesListLexer">SourcesListLexer (class in pygments.lexers.installers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.rdf.SparqlLexer">SparqlLexer (class in pygments.lexers.rdf)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sql.SqliteConsoleLexer">SqliteConsoleLexer (class in pygments.lexers.sql)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sql.SqlLexer">SqlLexer (class in pygments.lexers.sql)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.SquidConfLexer">SquidConfLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.SspLexer">SspLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.modeling.StanLexer">StanLexer (class in pygments.lexers.modeling)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.stata.StataLexer">StataLexer (class in pygments.lexers.stata)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.supercollider.SuperColliderLexer">SuperColliderLexer (class in pygments.lexers.supercollider)</a>
-</li>
- <li><a href="../docs/formatters/#SvgFormatter">SvgFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.objective.SwiftLexer">SwiftLexer (class in pygments.lexers.objective)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.SwigLexer">SwigLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.hdl.SystemVerilogLexer">SystemVerilogLexer (class in pygments.lexers.hdl)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="T">T</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.int_fiction.Tads3Lexer">Tads3Lexer (class in pygments.lexers.int_fiction)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.testing.TAPLexer">TAPLexer (class in pygments.lexers.testing)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.asm.TasmLexer">TasmLexer (class in pygments.lexers.asm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.tcl.TclLexer">TclLexer (class in pygments.lexers.tcl)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.TcshLexer">TcshLexer (class in pygments.lexers.shell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.shell.TcshSessionLexer">TcshSessionLexer (class in pygments.lexers.shell)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.TeaTemplateLexer">TeaTemplateLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.teraterm.TeraTermLexer">TeraTermLexer (class in pygments.lexers.teraterm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.TermcapLexer">TermcapLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/formatters/#Terminal256Formatter">Terminal256Formatter (built-in class)</a>
-</li>
- <li><a href="../docs/formatters/#TerminalFormatter">TerminalFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/formatters/#TerminalTrueColorFormatter">TerminalTrueColorFormatter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.TerminfoLexer">TerminfoLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.TerraformLexer">TerraformLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/formatters/#TestcaseFormatter">TestcaseFormatter (built-in class)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.markup.TexLexer">TexLexer (class in pygments.lexers.markup)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.special.TextLexer">TextLexer (class in pygments.lexers.special)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.ThriftLexer">ThriftLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.textfmts.TodotxtLexer">TodotxtLexer (class in pygments.lexers.textfmts)</a>
-</li>
- <li><a href="../docs/filters/#TokenMergeFilter">TokenMergeFilter (built-in class)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.configs.TOMLLexer">TOMLLexer (class in pygments.lexers.configs)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.sql.TransactSqlLexer">TransactSqlLexer (class in pygments.lexers.sql)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.parsers.TreetopLexer">TreetopLexer (class in pygments.lexers.parsers)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.rdf.TurtleLexer">TurtleLexer (class in pygments.lexers.rdf)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.TwigHtmlLexer">TwigHtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.TwigLexer">TwigLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.javascript.TypeScriptLexer">TypeScriptLexer (class in pygments.lexers.javascript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.typoscript.TypoScriptCssDataLexer">TypoScriptCssDataLexer (class in pygments.lexers.typoscript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.typoscript.TypoScriptHtmlDataLexer">TypoScriptHtmlDataLexer (class in pygments.lexers.typoscript)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.typoscript.TypoScriptLexer">TypoScriptLexer (class in pygments.lexers.typoscript)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="U">U</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.unicon.UcodeLexer">UcodeLexer (class in pygments.lexers.unicon)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.unicon.UniconLexer">UniconLexer (class in pygments.lexers.unicon)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.urbi.UrbiscriptLexer">UrbiscriptLexer (class in pygments.lexers.urbi)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="V">V</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.c_like.ValaLexer">ValaLexer (class in pygments.lexers.c_like)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dotnet.VbNetAspxLexer">VbNetAspxLexer (class in pygments.lexers.dotnet)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dotnet.VbNetLexer">VbNetLexer (class in pygments.lexers.dotnet)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.basic.VBScriptLexer">VBScriptLexer (class in pygments.lexers.basic)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.varnish.VCLLexer">VCLLexer (class in pygments.lexers.varnish)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.varnish.VCLSnippetLexer">VCLSnippetLexer (class in pygments.lexers.varnish)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.console.VCTreeStatusLexer">VCTreeStatusLexer (class in pygments.lexers.console)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.templates.VelocityHtmlLexer">VelocityHtmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.VelocityLexer">VelocityLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.VelocityXmlLexer">VelocityXmlLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.hdl.VerilogLexer">VerilogLexer (class in pygments.lexers.hdl)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.dsls.VGLLexer">VGLLexer (class in pygments.lexers.dsls)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.hdl.VhdlLexer">VhdlLexer (class in pygments.lexers.hdl)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.textedit.VimLexer">VimLexer (class in pygments.lexers.textedit)</a>
-</li>
- <li><a href="../docs/filters/#VisibleWhitespaceFilter">VisibleWhitespaceFilter (built-in class)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="W">W</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.diff.WDiffLexer">WDiffLexer (class in pygments.lexers.diff)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.whiley.WhileyLexer">WhileyLexer (class in pygments.lexers.whiley)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="X">X</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.x10.X10Lexer">X10Lexer (class in pygments.lexers.x10)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.XmlDjangoLexer">XmlDjangoLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.XmlErbLexer">XmlErbLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.html.XmlLexer">XmlLexer (class in pygments.lexers.html)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.templates.XmlPhpLexer">XmlPhpLexer (class in pygments.lexers.templates)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.templates.XmlSmartyLexer">XmlSmartyLexer (class in pygments.lexers.templates)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.xorg.XorgLexer">XorgLexer (class in pygments.lexers.xorg)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.webmisc.XQueryLexer">XQueryLexer (class in pygments.lexers.webmisc)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.html.XsltLexer">XsltLexer (class in pygments.lexers.html)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.jvm.XtendLexer">XtendLexer (class in pygments.lexers.jvm)</a>
-</li>
- <li><a href="../docs/lexers/#pygments.lexers.lisp.XtlangLexer">XtlangLexer (class in pygments.lexers.lisp)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="Y">Y</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.templates.YamlJinjaLexer">YamlJinjaLexer (class in pygments.lexers.templates)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.data.YamlLexer">YamlLexer (class in pygments.lexers.data)</a>
-</li>
- </ul></td>
-</tr></table>
-
-<h2 id="Z">Z</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.php.ZephirLexer">ZephirLexer (class in pygments.lexers.php)</a>
-</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="../docs/lexers/#pygments.lexers.zig.ZigLexer">ZigLexer (class in pygments.lexers.zig)</a>
-</li>
- </ul></td>
-</tr></table>
-
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Welcome! — Pygments</title>
- <link rel="stylesheet" href="_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="#" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
- <link rel="shortcut icon" href="_static/favicon.ico"/>
- <link rel="index" title="Index" href="genindex/" />
- <link rel="search" title="Search" href="search/" />
- <link rel="next" title="Pygments documentation" href="docs/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- .related { display: none; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="#">Home</a></li>
-
- <li><a href="demo/">Demo</a></li>
-
- <li><a href="languages/">Languages</a></li>
- <li><a href="faq/">FAQ</a></li>
- <li><a href="download/">Get it</a></li>
- <li><a href="docs/">Docs</a></li>
- </ul>
- <div>
- <a href="#">
- <img src="_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper"><h3>Download</h3>
-
-<p>Current version: <b>2.4.2</b></p>
-<p>Get Pygments from the <a href="http://pypi.python.org/pypi/Pygments">Python Package
- Index</a>, or install it with:</p>
-<pre>pip install Pygments</pre>
-
-
-<h3>Questions? Suggestions?</h3>
-
-<p><img src="_static/github.png" width="24" />
- Clone at <a href="https://github.com/pygments/pygments">GitHub</a>.</p>
-<p>You can also open an issue at the
- <a href="https://github.com/pygments/pygments/issues">tracker</a>.</p>
-
-<p class="logo">A <a href="http://pocoo.org/">
- <img src="_static/pocoo.png" /></a> project</a></p>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="welcome">
-<h1>Welcome!<a class="headerlink" href="#welcome" title="Permalink to this headline">¶</a></h1>
-<p>This is the home of Pygments. It is a generic syntax highlighter suitable for
-use in code hosting, forums, wikis or other applications that need to prettify
-source code. Highlights are:</p>
-<ul class="simple">
-<li><p>a wide range of over 300 languages and other text formats is supported</p></li>
-<li><p>special attention is paid to details that increase highlighting quality</p></li>
-<li><p>support for new languages and formats are added easily; most languages use a
-simple regex-based lexing mechanism</p></li>
-<li><p>a number of output formats is available, among them HTML, RTF, LaTeX and ANSI
-sequences</p></li>
-<li><p>it is usable as a command-line tool and as a library</p></li>
-<li><p>… and it highlights even Perl 6!</p></li>
-</ul>
-<p>Read more in the <a class="reference internal" href="faq/"><span class="doc">FAQ list</span></a> or the <a class="reference internal" href="docs/"><span class="doc">documentation</span></a>,
-or <a class="reference external" href="http://pypi.python.org/pypi/Pygments">download the latest release</a>.</p>
-<div class="section" id="contribute">
-<span id="id1"></span><h2>Contribute<a class="headerlink" href="#contribute" title="Permalink to this headline">¶</a></h2>
-<p>Like every open-source project, we are always looking for volunteers to help us
-with programming. Python knowledge is required, but don’t fear: Python is a very
-clear and easy to learn language.</p>
-<p>Development takes place on <a class="reference external" href="https://github.com/pygments/pygments">GitHub</a>.</p>
-<p>If you found a bug, just open a ticket in the GitHub tracker. Be sure to log
-in to be notified when the issue is fixed – development is not fast-paced as
-the library is quite stable. You can also send an e-mail to the developers, see
-below.</p>
-</div>
-<div class="section" id="the-authors">
-<h2>The authors<a class="headerlink" href="#the-authors" title="Permalink to this headline">¶</a></h2>
-<p>Pygments is maintained by <strong>Georg Brandl</strong>, e-mail address <em>georg</em><em>@</em><em>python.org</em>
-and <strong>Matthäus Chajdas</strong>.</p>
-<p>Many lexers and fixes have been contributed by <strong>Armin Ronacher</strong>, the rest of
-the <a class="reference external" href="http://dev.pocoo.org/">Pocoo</a> team and <strong>Tim Hatch</strong>.</p>
-<div class="toctree-wrapper compound">
-</div>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Supported languages — Pygments</title>
- <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../genindex/" />
- <link rel="search" title="Search" href="../search/" />
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../">Home</a></li>
-
- <li><a href="../demo/">Demo</a></li>
-
- <li><a href="#">Languages</a></li>
- <li><a href="../faq/">FAQ</a></li>
- <li><a href="../download/">Get it</a></li>
- <li><a href="../docs/">Docs</a></li>
- </ul>
- <div>
- <a href="../">
- <img src="../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="../">Table of Contents</a></h3>
- <ul>
-<li><a class="reference internal" href="#">Supported languages</a><ul>
-<li><a class="reference internal" href="#programming-languages">Programming languages</a></li>
-<li><a class="reference internal" href="#template-languages">Template languages</a></li>
-<li><a class="reference internal" href="#other-markup">Other markup</a></li>
-<li><a class="reference internal" href="#that-s-all">… that’s all?</a></li>
-</ul>
-</li>
-</ul>
-
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/languages.rst.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="supported-languages">
-<h1>Supported languages<a class="headerlink" href="#supported-languages" title="Permalink to this headline">¶</a></h1>
-<p>Pygments supports an ever-growing range of languages. Watch this space…</p>
-<div class="section" id="programming-languages">
-<h2>Programming languages<a class="headerlink" href="#programming-languages" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><p>ActionScript</p></li>
-<li><p>Ada</p></li>
-<li><p>ANTLR</p></li>
-<li><p>AppleScript</p></li>
-<li><p>Assembly (various)</p></li>
-<li><p>Asymptote</p></li>
-<li><p><a class="reference external" href="http://augeas.net">Augeas</a></p></li>
-<li><p>Awk</p></li>
-<li><p>BBC Basic</p></li>
-<li><p>Befunge</p></li>
-<li><p><a class="reference external" href="http://boa.cs.iastate.edu/docs/index.php">Boa</a></p></li>
-<li><p>Boo</p></li>
-<li><p>BrainFuck</p></li>
-<li><p>C, C++</p></li>
-<li><p>C#</p></li>
-<li><p><a class="reference external" href="http://charmplusplus.org/">Charm++ CI</a></p></li>
-<li><p>Clojure</p></li>
-<li><p>CoffeeScript</p></li>
-<li><p>ColdFusion</p></li>
-<li><p>Common Lisp</p></li>
-<li><p>Coq</p></li>
-<li><p>Cryptol (incl. Literate Cryptol)</p></li>
-<li><p><a class="reference external" href="http://crystal-lang.org">Crystal</a></p></li>
-<li><p><a class="reference external" href="http://cython.org">Cython</a></p></li>
-<li><p><a class="reference external" href="http://dlang.org">D</a></p></li>
-<li><p>Dart</p></li>
-<li><p>DCPU-16</p></li>
-<li><p>Delphi</p></li>
-<li><p>Dylan</p></li>
-<li><p><a class="reference external" href="http://elm-lang.org/">Elm</a></p></li>
-<li><p>Erlang</p></li>
-<li><p><a class="reference external" href="http://ezhillang.org">Ezhil</a> Ezhil - A Tamil programming language</p></li>
-<li><p>Factor</p></li>
-<li><p>Fancy</p></li>
-<li><p><a class="reference external" href="https://fennel-lang.org/">Fennel</a></p></li>
-<li><p><a class="reference external" href="http://ioflo.com/">FloScript</a></p></li>
-<li><p>Fortran</p></li>
-<li><p><a class="reference external" href="https://freefem.org/">FreeFEM++</a></p></li>
-<li><p>F#</p></li>
-<li><p>GAP</p></li>
-<li><p>Gherkin (Cucumber)</p></li>
-<li><p>GL shaders</p></li>
-<li><p>Groovy</p></li>
-<li><p><a class="reference external" href="http://www.haskell.org">Haskell</a> (incl. Literate Haskell)</p></li>
-<li><p>HLSL</p></li>
-<li><p><a class="reference external" href="http://hackage.haskell.org/package/hspec">HSpec</a></p></li>
-<li><p>IDL</p></li>
-<li><p>Io</p></li>
-<li><p>Java</p></li>
-<li><p>JavaScript</p></li>
-<li><p>Lasso</p></li>
-<li><p>LLVM</p></li>
-<li><p>Logtalk</p></li>
-<li><p><a class="reference external" href="http://www.lua.org">Lua</a></p></li>
-<li><p>Matlab</p></li>
-<li><p>MiniD</p></li>
-<li><p>Modelica</p></li>
-<li><p>Modula-2</p></li>
-<li><p>MuPad</p></li>
-<li><p>Nemerle</p></li>
-<li><p>Nimrod</p></li>
-<li><p>Objective-C</p></li>
-<li><p>Objective-J</p></li>
-<li><p>Octave</p></li>
-<li><p>OCaml</p></li>
-<li><p>PHP</p></li>
-<li><p><a class="reference external" href="http://perl.org">Perl 5</a> and <a class="reference external" href="https://perl6.org">Perl 6</a></p></li>
-<li><p><a class="reference external" href="https://www.ponylang.io/">Pony</a></p></li>
-<li><p>PovRay</p></li>
-<li><p>PostScript</p></li>
-<li><p>PowerShell</p></li>
-<li><p>Prolog</p></li>
-<li><p><a class="reference external" href="http://www.python.org">Python</a> 2.x and 3.x (incl. console sessions and tracebacks)</p></li>
-<li><p><a class="reference external" href="http://www.rebol.com">REBOL</a></p></li>
-<li><p><a class="reference external" href="http://www.red-lang.org">Red</a></p></li>
-<li><p>Redcode</p></li>
-<li><p><a class="reference external" href="http://www.ruby-lang.org">Ruby</a> (incl. irb sessions)</p></li>
-<li><p>Rust</p></li>
-<li><p>S, S-Plus, R</p></li>
-<li><p>Scala</p></li>
-<li><p>Scheme</p></li>
-<li><p>Scilab</p></li>
-<li><p><a class="reference external" href="https://www.red-bean.com/sgf/">SGF</a></p></li>
-<li><p><a class="reference external" href="https://github.com/arturadib/Slash-A">Slash</a></p></li>
-<li><p><a class="reference external" href="https://slurm.schedmd.com/overview.html">Slurm</a></p></li>
-<li><p>Smalltalk</p></li>
-<li><p>SNOBOL</p></li>
-<li><p>Tcl</p></li>
-<li><p><a class="reference external" href="https://ttssh2.osdn.jp/">Tera Term language</a></p></li>
-<li><p><a class="reference external" href="https://github.com/toml-lang/toml">TOML</a></p></li>
-<li><p>Vala</p></li>
-<li><p>Verilog</p></li>
-<li><p>VHDL</p></li>
-<li><p>Visual Basic.NET</p></li>
-<li><p>Visual FoxPro</p></li>
-<li><p>XQuery</p></li>
-<li><p>Zephir</p></li>
-</ul>
-</div>
-<div class="section" id="template-languages">
-<h2>Template languages<a class="headerlink" href="#template-languages" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><p>Cheetah templates</p></li>
-<li><p><a class="reference external" href="http://www.djangoproject.com">Django</a> / <a class="reference external" href="http://jinja.pocoo.org/jinja">Jinja</a> templates</p></li>
-<li><p>ERB (Ruby templating)</p></li>
-<li><p><a class="reference external" href="http://genshi.edgewall.org">Genshi</a> (the Trac template language)</p></li>
-<li><p>JSP (Java Server Pages)</p></li>
-<li><p><a class="reference external" href="http://www.myghty.org">Myghty</a> (the HTML::Mason based framework)</p></li>
-<li><p><a class="reference external" href="http://www.makotemplates.org">Mako</a> (the Myghty successor)</p></li>
-<li><p><a class="reference external" href="http://www.smarty.net">Smarty</a> templates (PHP templating)</p></li>
-<li><p>Tea</p></li>
-</ul>
-</div>
-<div class="section" id="other-markup">
-<h2>Other markup<a class="headerlink" href="#other-markup" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><p>Apache config files</p></li>
-<li><p>Bash shell scripts</p></li>
-<li><p>BBCode</p></li>
-<li><p>CMake</p></li>
-<li><p>CSS</p></li>
-<li><p>Debian control files</p></li>
-<li><p>Diff files</p></li>
-<li><p>DTD</p></li>
-<li><p>Gettext catalogs</p></li>
-<li><p>Gnuplot script</p></li>
-<li><p>Groff markup</p></li>
-<li><p>HTML</p></li>
-<li><p>HTTP sessions</p></li>
-<li><p>INI-style config files</p></li>
-<li><p>IRC logs (irssi style)</p></li>
-<li><p>Lighttpd config files</p></li>
-<li><p>Makefiles</p></li>
-<li><p>MoinMoin/Trac Wiki markup</p></li>
-<li><p>MySQL</p></li>
-<li><p>Nginx config files</p></li>
-<li><p>POV-Ray scenes</p></li>
-<li><p>Ragel</p></li>
-<li><p>Redcode</p></li>
-<li><p>ReST</p></li>
-<li><p>Robot Framework</p></li>
-<li><p>RPM spec files</p></li>
-<li><p>SQL, also MySQL, SQLite</p></li>
-<li><p>Squid configuration</p></li>
-<li><p>TeX</p></li>
-<li><p>tcsh</p></li>
-<li><p>Vim Script</p></li>
-<li><p>Windows batch files</p></li>
-<li><p>XML</p></li>
-<li><p>XSLT</p></li>
-<li><p>YAML</p></li>
-</ul>
-</div>
-<div class="section" id="that-s-all">
-<h2>… that’s all?<a class="headerlink" href="#that-s-all" title="Permalink to this headline">¶</a></h2>
-<p>Well, why not write your own? Contributing to Pygments is easy and fun. Take a
-look at the <a class="reference internal" href="../docs/lexerdevelopment/"><span class="doc">docs on lexer development</span></a>. Pull
-requests are welcome on <cite>GitHub <https://github.com/pygments/pygments></cite>.</p>
-<p>Note: the languages listed here are supported in the development version. The
-latest release may lack a few of them.</p>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Python Module Index — Pygments</title>
- <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
- <link rel="shortcut icon" href="../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../genindex/" />
- <link rel="search" title="Search" href="../search/" />
-
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
-
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../">Home</a></li>
-
- <li><a href="../demo/">Demo</a></li>
-
- <li><a href="../languages/">Languages</a></li>
- <li><a href="../faq/">FAQ</a></li>
- <li><a href="../download/">Get it</a></li>
- <li><a href="../docs/">Docs</a></li>
- </ul>
- <div>
- <a href="../">
- <img src="../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
-<div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../search/" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- </form>
- </div>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
-
- <h1>Python Module Index</h1>
-
- <div class="modindex-jumpbox">
- <a href="#cap-p"><strong>p</strong></a>
- </div>
-
- <table class="indextable modindextable">
- <tr class="pcap"><td></td><td> </td><td></td></tr>
- <tr class="cap" id="cap-p"><td></td><td>
- <strong>p</strong></td><td></td></tr>
- <tr>
- <td><img src="../_static/minus.png" class="toggler"
- id="toggle-1" style="display: none" alt="-" /></td>
- <td>
- <a href="../docs/api/#module-pygments"><code class="xref">pygments</code></a></td><td>
- <em></em></td></tr>
- <tr>
- <td><img src="../_static/minus.png" class="toggler"
- id="toggle-2" style="display: none" alt="-" /></td>
- <td>
- <code class="xref">pygments</code></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/api/#module-pygments.formatter"><code class="xref">pygments.formatter</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/api/#module-pygments.formatters"><code class="xref">pygments.formatters</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/api/#module-pygments.lexer"><code class="xref">pygments.lexer</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/api/#module-pygments.lexers"><code class="xref">pygments.lexers</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.actionscript"><code class="xref">pygments.lexers.actionscript</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.algebra"><code class="xref">pygments.lexers.algebra</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.ambient"><code class="xref">pygments.lexers.ambient</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.ampl"><code class="xref">pygments.lexers.ampl</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.apl"><code class="xref">pygments.lexers.apl</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.archetype"><code class="xref">pygments.lexers.archetype</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.asm"><code class="xref">pygments.lexers.asm</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.automation"><code class="xref">pygments.lexers.automation</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.basic"><code class="xref">pygments.lexers.basic</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.bibtex"><code class="xref">pygments.lexers.bibtex</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.boa"><code class="xref">pygments.lexers.boa</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.business"><code class="xref">pygments.lexers.business</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.c_cpp"><code class="xref">pygments.lexers.c_cpp</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.c_like"><code class="xref">pygments.lexers.c_like</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.capnproto"><code class="xref">pygments.lexers.capnproto</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.chapel"><code class="xref">pygments.lexers.chapel</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.clean"><code class="xref">pygments.lexers.clean</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.configs"><code class="xref">pygments.lexers.configs</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.console"><code class="xref">pygments.lexers.console</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.crystal"><code class="xref">pygments.lexers.crystal</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.csound"><code class="xref">pygments.lexers.csound</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.css"><code class="xref">pygments.lexers.css</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.d"><code class="xref">pygments.lexers.d</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.dalvik"><code class="xref">pygments.lexers.dalvik</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.data"><code class="xref">pygments.lexers.data</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.diff"><code class="xref">pygments.lexers.diff</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.dotnet"><code class="xref">pygments.lexers.dotnet</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.dsls"><code class="xref">pygments.lexers.dsls</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.dylan"><code class="xref">pygments.lexers.dylan</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.ecl"><code class="xref">pygments.lexers.ecl</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.eiffel"><code class="xref">pygments.lexers.eiffel</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.elm"><code class="xref">pygments.lexers.elm</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.email"><code class="xref">pygments.lexers.email</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.erlang"><code class="xref">pygments.lexers.erlang</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.esoteric"><code class="xref">pygments.lexers.esoteric</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.ezhil"><code class="xref">pygments.lexers.ezhil</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.factor"><code class="xref">pygments.lexers.factor</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.fantom"><code class="xref">pygments.lexers.fantom</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.felix"><code class="xref">pygments.lexers.felix</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.floscript"><code class="xref">pygments.lexers.floscript</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.forth"><code class="xref">pygments.lexers.forth</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.fortran"><code class="xref">pygments.lexers.fortran</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.foxpro"><code class="xref">pygments.lexers.foxpro</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.freefem"><code class="xref">pygments.lexers.freefem</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.go"><code class="xref">pygments.lexers.go</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.grammar_notation"><code class="xref">pygments.lexers.grammar_notation</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.graph"><code class="xref">pygments.lexers.graph</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.graphics"><code class="xref">pygments.lexers.graphics</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.haskell"><code class="xref">pygments.lexers.haskell</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.haxe"><code class="xref">pygments.lexers.haxe</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.hdl"><code class="xref">pygments.lexers.hdl</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.hexdump"><code class="xref">pygments.lexers.hexdump</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.html"><code class="xref">pygments.lexers.html</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.idl"><code class="xref">pygments.lexers.idl</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.igor"><code class="xref">pygments.lexers.igor</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.inferno"><code class="xref">pygments.lexers.inferno</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.installers"><code class="xref">pygments.lexers.installers</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.int_fiction"><code class="xref">pygments.lexers.int_fiction</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.iolang"><code class="xref">pygments.lexers.iolang</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.j"><code class="xref">pygments.lexers.j</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.javascript"><code class="xref">pygments.lexers.javascript</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.julia"><code class="xref">pygments.lexers.julia</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.jvm"><code class="xref">pygments.lexers.jvm</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.lisp"><code class="xref">pygments.lexers.lisp</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.make"><code class="xref">pygments.lexers.make</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.markup"><code class="xref">pygments.lexers.markup</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.matlab"><code class="xref">pygments.lexers.matlab</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.mime"><code class="xref">pygments.lexers.mime</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.ml"><code class="xref">pygments.lexers.ml</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.modeling"><code class="xref">pygments.lexers.modeling</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.modula2"><code class="xref">pygments.lexers.modula2</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.monte"><code class="xref">pygments.lexers.monte</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.ncl"><code class="xref">pygments.lexers.ncl</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.nimrod"><code class="xref">pygments.lexers.nimrod</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.nit"><code class="xref">pygments.lexers.nit</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.nix"><code class="xref">pygments.lexers.nix</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.oberon"><code class="xref">pygments.lexers.oberon</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.objective"><code class="xref">pygments.lexers.objective</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.ooc"><code class="xref">pygments.lexers.ooc</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.parasail"><code class="xref">pygments.lexers.parasail</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.parsers"><code class="xref">pygments.lexers.parsers</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.pascal"><code class="xref">pygments.lexers.pascal</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.pawn"><code class="xref">pygments.lexers.pawn</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.perl"><code class="xref">pygments.lexers.perl</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.php"><code class="xref">pygments.lexers.php</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.pony"><code class="xref">pygments.lexers.pony</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.praat"><code class="xref">pygments.lexers.praat</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.prolog"><code class="xref">pygments.lexers.prolog</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.python"><code class="xref">pygments.lexers.python</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.qvt"><code class="xref">pygments.lexers.qvt</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.r"><code class="xref">pygments.lexers.r</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.rdf"><code class="xref">pygments.lexers.rdf</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.rebol"><code class="xref">pygments.lexers.rebol</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.resource"><code class="xref">pygments.lexers.resource</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.rnc"><code class="xref">pygments.lexers.rnc</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.roboconf"><code class="xref">pygments.lexers.roboconf</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.robotframework"><code class="xref">pygments.lexers.robotframework</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.ruby"><code class="xref">pygments.lexers.ruby</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.rust"><code class="xref">pygments.lexers.rust</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.sas"><code class="xref">pygments.lexers.sas</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.scripting"><code class="xref">pygments.lexers.scripting</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.sgf"><code class="xref">pygments.lexers.sgf</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.shell"><code class="xref">pygments.lexers.shell</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.slash"><code class="xref">pygments.lexers.slash</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.smalltalk"><code class="xref">pygments.lexers.smalltalk</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.smv"><code class="xref">pygments.lexers.smv</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.snobol"><code class="xref">pygments.lexers.snobol</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.special"><code class="xref">pygments.lexers.special</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.sql"><code class="xref">pygments.lexers.sql</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.stata"><code class="xref">pygments.lexers.stata</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.supercollider"><code class="xref">pygments.lexers.supercollider</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.tcl"><code class="xref">pygments.lexers.tcl</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.templates"><code class="xref">pygments.lexers.templates</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.teraterm"><code class="xref">pygments.lexers.teraterm</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.testing"><code class="xref">pygments.lexers.testing</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.textedit"><code class="xref">pygments.lexers.textedit</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.textfmts"><code class="xref">pygments.lexers.textfmts</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.theorem"><code class="xref">pygments.lexers.theorem</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.trafficscript"><code class="xref">pygments.lexers.trafficscript</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.typoscript"><code class="xref">pygments.lexers.typoscript</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.unicon"><code class="xref">pygments.lexers.unicon</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.urbi"><code class="xref">pygments.lexers.urbi</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.varnish"><code class="xref">pygments.lexers.varnish</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.verification"><code class="xref">pygments.lexers.verification</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.webmisc"><code class="xref">pygments.lexers.webmisc</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.whiley"><code class="xref">pygments.lexers.whiley</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.x10"><code class="xref">pygments.lexers.x10</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.xorg"><code class="xref">pygments.lexers.xorg</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/lexers/#module-pygments.lexers.zig"><code class="xref">pygments.lexers.zig</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/api/#module-pygments.styles"><code class="xref">pygments.styles</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/tokens/#module-pygments.token"><code class="xref">pygments.token</code></a></td><td>
- <em></em></td></tr>
- <tr class="cg-2">
- <td></td>
- <td>   
- <a href="../docs/api/#module-pygments.util"><code class="xref">pygments.util</code></a></td><td>
- <em></em></td></tr>
- </table>
-
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8" />
- <title>Search — Pygments</title>
- <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
-
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
- <script type="text/javascript" src="../_static/searchtools.js"></script>
- <link rel="shortcut icon" href="../_static/favicon.ico"/>
- <link rel="index" title="Index" href="../genindex/" />
- <link rel="search" title="Search" href="#" />
- <script type="text/javascript" src="../searchindex.js" defer></script>
-
- <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
- rel='stylesheet' type='text/css'>
-
- <style type="text/css">
- table.right { float: right; margin-left: 20px; }
- table.right td { border: 1px solid #ccc; }
-
- </style>
- <script type="text/javascript">
- // intelligent scrolling of the sidebar content
- $(window).scroll(function() {
- var sb = $('.sphinxsidebarwrapper');
- var win = $(window);
- var sbh = sb.height();
- var offset = $('.sphinxsidebar').position()['top'];
- var wintop = win.scrollTop();
- var winbot = wintop + win.innerHeight();
- var curtop = sb.position()['top'];
- var curbot = curtop + sbh;
- // does sidebar fit in window?
- if (sbh < win.innerHeight()) {
- // yes: easy case -- always keep at the top
- sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
- $(document).height() - sbh - 200]));
- } else {
- // no: only scroll if top/bottom edge of sidebar is at
- // top/bottom edge of window
- if (curtop > wintop && curbot > winbot) {
- sb.css('top', $u.max([wintop - offset - 10, 0]));
- } else if (curtop < wintop && curbot < winbot) {
- sb.css('top', $u.min([winbot - sbh - offset - 20,
- $(document).height() - sbh - 200]));
- }
- }
- });
- </script>
-
-
- </head><body>
-<div class="outerwrapper">
-<div class="pageheader">
- <ul>
- <li><a href="../">Home</a></li>
-
- <li><a href="../demo/">Demo</a></li>
-
- <li><a href="../languages/">Languages</a></li>
- <li><a href="../faq/">FAQ</a></li>
- <li><a href="../download/">Get it</a></li>
- <li><a href="../docs/">Docs</a></li>
- </ul>
- <div>
- <a href="../">
- <img src="../_static/logo.png" alt="Pygments logo" />
- </a>
- </div>
-</div>
-
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- </div>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <h1 id="search-documentation">Search</h1>
- <div id="fallback" class="admonition warning">
- <script type="text/javascript">$('#fallback').hide();</script>
- <p>
- Please activate JavaScript to enable the search
- functionality.
- </p>
- </div>
- <p>
- From here you can search these documents. Enter your search
- words into the box below and click "search". Note that the search
- function will automatically search for all of the words. Pages
- containing fewer words won't appear in the result list.
- </p>
- <form action="" method="get">
- <input type="text" name="q" value="" />
- <input type="submit" value="search" />
- <span id="search-progress" style="padding-left: 10px"></span>
- </form>
-
- <div id="search-results">
-
- </div>
-
- </div>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
- </div>
- </div>
-
- </body>
-</html>
\ No newline at end of file
+++ /dev/null
-Search.setIndex({docnames:["docs/api","docs/authors","docs/changelog","docs/cmdline","docs/filterdevelopment","docs/filters","docs/formatterdevelopment","docs/formatters","docs/index","docs/integrate","docs/java","docs/lexerdevelopment","docs/lexers","docs/moinmoin","docs/plugins","docs/quickstart","docs/rstdirective","docs/styles","docs/tokens","docs/unicode","download","faq","index","languages"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["docs/api.rst","docs/authors.rst","docs/changelog.rst","docs/cmdline.rst","docs/filterdevelopment.rst","docs/filters.rst","docs/formatterdevelopment.rst","docs/formatters.rst","docs/index.rst","docs/integrate.rst","docs/java.rst","docs/lexerdevelopment.rst","docs/lexers.rst","docs/moinmoin.rst","docs/plugins.rst","docs/quickstart.rst","docs/rstdirective.rst","docs/styles.rst","docs/tokens.rst","docs/unicode.rst","download.rst","faq.rst","index.rst","languages.rst"],objects:{"":{BBCodeFormatter:[7,0,1,""],BmpImageFormatter:[7,0,1,""],CodeTagFilter:[5,0,1,""],GifImageFormatter:[7,0,1,""],GobbleFilter:[5,0,1,""],HtmlFormatter:[7,0,1,""],IRCFormatter:[7,0,1,""],ImageFormatter:[7,0,1,""],JpgImageFormatter:[7,0,1,""],KeywordCaseFilter:[5,0,1,""],LatexFormatter:[7,0,1,""],NameHighlightFilter:[5,0,1,""],NullFormatter:[7,0,1,""],RaiseOnErrorTokenFilter:[5,0,1,""],RawTokenFormatter:[7,0,1,""],RtfFormatter:[7,0,1,""],SvgFormatter:[7,0,1,""],Terminal256Formatter:[7,0,1,""],TerminalFormatter:[7,0,1,""],TerminalTrueColorFormatter:[7,0,1,""],TestcaseFormatter:[7,0,1,""],TokenMergeFilter:[5,0,1,""],VisibleWhitespaceFilter:[5,0,1,""],pygments:[0,1,0,"-"]},"pygments.formatter":{Formatter:[0,0,1,""]},"pygments.formatter.Formatter":{aliases:[0,3,1,""],filenames:[0,3,1,""],format:[0,4,1,""],get_style_defs:[0,4,1,""],name:[0,3,1,""]},"pygments.formatters":{get_formatter_by_name:[0,2,1,""],get_formatter_for_filename:[0,2,1,""],load_formatter_from_file:[0,2,1,""]},"pygments.lexer":{Lexer:[0,0,1,""]},"pygments.lexer.Lexer":{alias_filenames:[0,3,1,""],aliases:[0,3,1,""],analyse_text:[0,5,1,""],filenames:[0,3,1,""],get_tokens:[0,4,1,""],get_tokens_unprocessed:[0,4,1,""],mimetypes:[0,3,1,""],name:[0,3,1,""]},"pygments.lexers":{actionscript:[12,1,0,"-"],algebra:[12,1,0,"-"],ambient:[12,1,0,"-"],ampl:[12,1,0,"-"],apl:[12,1,0,"-"],archetype:[12,1,0,"-"],asm:[12,1,0,"-"],automation:[12,1,0,"-"],basic:[12,1,0,"-"],bibtex:[12,1,0,"-"],boa:[12,1,0,"-"],business:[12,1,0,"-"],c_cpp:[12,1,0,"-"],c_like:[12,1,0,"-"],capnproto:[12,1,0,"-"],chapel:[12,1,0,"-"],clean:[12,1,0,"-"],configs:[12,1,0,"-"],console:[12,1,0,"-"],crystal:[12,1,0,"-"],csound:[12,1,0,"-"],css:[12,1,0,"-"],d:[12,1,0,"-"],dalvik:[12,1,0,"-"],data:[12,1,0,"-"],diff:[12,1,0,"-"],dotnet:[12,1,0,"-"],dsls:[12,1,0,"-"],dylan:[12,1,0,"-"],ecl:[12,1,0,"-"],eiffel:[12,1,0,"-"],elm:[12,1,0,"-"],email:[12,1,0,"-"],erlang:[12,1,0,"-"],esoteric:[12,1,0,"-"],ezhil:[12,1,0,"-"],factor:[12,1,0,"-"],fantom:[12,1,0,"-"],felix:[12,1,0,"-"],find_lexer_class:[0,2,1,""],find_lexer_class_by_name:[0,2,1,""],floscript:[12,1,0,"-"],forth:[12,1,0,"-"],fortran:[12,1,0,"-"],foxpro:[12,1,0,"-"],freefem:[12,1,0,"-"],get_all_lexers:[0,2,1,""],get_lexer_by_name:[0,2,1,""],get_lexer_for_filename:[0,2,1,""],get_lexer_for_mimetype:[0,2,1,""],go:[12,1,0,"-"],grammar_notation:[12,1,0,"-"],graph:[12,1,0,"-"],graphics:[12,1,0,"-"],guess_lexer:[0,2,1,""],guess_lexer_for_filename:[0,2,1,""],haskell:[12,1,0,"-"],haxe:[12,1,0,"-"],hdl:[12,1,0,"-"],hexdump:[12,1,0,"-"],html:[12,1,0,"-"],idl:[12,1,0,"-"],igor:[12,1,0,"-"],inferno:[12,1,0,"-"],installers:[12,1,0,"-"],int_fiction:[12,1,0,"-"],iolang:[12,1,0,"-"],j:[12,1,0,"-"],javascript:[12,1,0,"-"],julia:[12,1,0,"-"],jvm:[12,1,0,"-"],lisp:[12,1,0,"-"],load_lexer_from_file:[0,2,1,""],make:[12,1,0,"-"],markup:[12,1,0,"-"],matlab:[12,1,0,"-"],mime:[12,1,0,"-"],ml:[12,1,0,"-"],modeling:[12,1,0,"-"],modula2:[12,1,0,"-"],monte:[12,1,0,"-"],ncl:[12,1,0,"-"],nimrod:[12,1,0,"-"],nit:[12,1,0,"-"],nix:[12,1,0,"-"],oberon:[12,1,0,"-"],objective:[12,1,0,"-"],ooc:[12,1,0,"-"],parasail:[12,1,0,"-"],parsers:[12,1,0,"-"],pascal:[12,1,0,"-"],pawn:[12,1,0,"-"],perl:[12,1,0,"-"],php:[12,1,0,"-"],pony:[12,1,0,"-"],praat:[12,1,0,"-"],prolog:[12,1,0,"-"],python:[12,1,0,"-"],qvt:[12,1,0,"-"],r:[12,1,0,"-"],rdf:[12,1,0,"-"],rebol:[12,1,0,"-"],resource:[12,1,0,"-"],rnc:[12,1,0,"-"],roboconf:[12,1,0,"-"],robotframework:[12,1,0,"-"],ruby:[12,1,0,"-"],rust:[12,1,0,"-"],sas:[12,1,0,"-"],scripting:[12,1,0,"-"],sgf:[12,1,0,"-"],shell:[12,1,0,"-"],slash:[12,1,0,"-"],smalltalk:[12,1,0,"-"],smv:[12,1,0,"-"],snobol:[12,1,0,"-"],special:[12,1,0,"-"],sql:[12,1,0,"-"],stata:[12,1,0,"-"],supercollider:[12,1,0,"-"],tcl:[12,1,0,"-"],templates:[12,1,0,"-"],teraterm:[12,1,0,"-"],testing:[12,1,0,"-"],textedit:[12,1,0,"-"],textfmts:[12,1,0,"-"],theorem:[12,1,0,"-"],trafficscript:[12,1,0,"-"],typoscript:[12,1,0,"-"],unicon:[12,1,0,"-"],urbi:[12,1,0,"-"],varnish:[12,1,0,"-"],verification:[12,1,0,"-"],webmisc:[12,1,0,"-"],whiley:[12,1,0,"-"],x10:[12,1,0,"-"],xorg:[12,1,0,"-"],zig:[12,1,0,"-"]},"pygments.lexers.actionscript":{ActionScript3Lexer:[12,0,1,""],ActionScriptLexer:[12,0,1,""],MxmlLexer:[12,0,1,""]},"pygments.lexers.algebra":{BCLexer:[12,0,1,""],GAPLexer:[12,0,1,""],MathematicaLexer:[12,0,1,""],MuPADLexer:[12,0,1,""]},"pygments.lexers.ambient":{AmbientTalkLexer:[12,0,1,""]},"pygments.lexers.ampl":{AmplLexer:[12,0,1,""]},"pygments.lexers.apl":{APLLexer:[12,0,1,""]},"pygments.lexers.archetype":{AdlLexer:[12,0,1,""],CadlLexer:[12,0,1,""],OdinLexer:[12,0,1,""]},"pygments.lexers.asm":{CObjdumpLexer:[12,0,1,""],Ca65Lexer:[12,0,1,""],CppObjdumpLexer:[12,0,1,""],DObjdumpLexer:[12,0,1,""],Dasm16Lexer:[12,0,1,""],GasLexer:[12,0,1,""],HsailLexer:[12,0,1,""],LlvmLexer:[12,0,1,""],NasmLexer:[12,0,1,""],NasmObjdumpLexer:[12,0,1,""],ObjdumpLexer:[12,0,1,""],TasmLexer:[12,0,1,""]},"pygments.lexers.automation":{AutoItLexer:[12,0,1,""],AutohotkeyLexer:[12,0,1,""]},"pygments.lexers.basic":{BBCBasicLexer:[12,0,1,""],BlitzBasicLexer:[12,0,1,""],BlitzMaxLexer:[12,0,1,""],CbmBasicV2Lexer:[12,0,1,""],MonkeyLexer:[12,0,1,""],QBasicLexer:[12,0,1,""],VBScriptLexer:[12,0,1,""]},"pygments.lexers.bibtex":{BSTLexer:[12,0,1,""],BibTeXLexer:[12,0,1,""]},"pygments.lexers.boa":{BoaLexer:[12,0,1,""]},"pygments.lexers.business":{ABAPLexer:[12,0,1,""],CobolFreeformatLexer:[12,0,1,""],CobolLexer:[12,0,1,""],GoodDataCLLexer:[12,0,1,""],MaqlLexer:[12,0,1,""],OpenEdgeLexer:[12,0,1,""]},"pygments.lexers.c_cpp":{CLexer:[12,0,1,""],CppLexer:[12,0,1,""]},"pygments.lexers.c_like":{ArduinoLexer:[12,0,1,""],CharmciLexer:[12,0,1,""],ClayLexer:[12,0,1,""],CudaLexer:[12,0,1,""],ECLexer:[12,0,1,""],MqlLexer:[12,0,1,""],NesCLexer:[12,0,1,""],PikeLexer:[12,0,1,""],SwigLexer:[12,0,1,""],ValaLexer:[12,0,1,""]},"pygments.lexers.capnproto":{CapnProtoLexer:[12,0,1,""]},"pygments.lexers.chapel":{ChapelLexer:[12,0,1,""]},"pygments.lexers.clean":{CleanLexer:[12,0,1,""]},"pygments.lexers.configs":{ApacheConfLexer:[12,0,1,""],AugeasLexer:[12,0,1,""],Cfengine3Lexer:[12,0,1,""],DockerLexer:[12,0,1,""],IniLexer:[12,0,1,""],KconfigLexer:[12,0,1,""],LighttpdConfLexer:[12,0,1,""],NginxConfLexer:[12,0,1,""],PacmanConfLexer:[12,0,1,""],PkgConfigLexer:[12,0,1,""],PropertiesLexer:[12,0,1,""],RegeditLexer:[12,0,1,""],SquidConfLexer:[12,0,1,""],TOMLLexer:[12,0,1,""],TermcapLexer:[12,0,1,""],TerminfoLexer:[12,0,1,""],TerraformLexer:[12,0,1,""]},"pygments.lexers.console":{PyPyLogLexer:[12,0,1,""],VCTreeStatusLexer:[12,0,1,""]},"pygments.lexers.crystal":{CrystalLexer:[12,0,1,""]},"pygments.lexers.csound":{CsoundDocumentLexer:[12,0,1,""],CsoundOrchestraLexer:[12,0,1,""],CsoundScoreLexer:[12,0,1,""]},"pygments.lexers.css":{CssLexer:[12,0,1,""],LessCssLexer:[12,0,1,""],SassLexer:[12,0,1,""],ScssLexer:[12,0,1,""]},"pygments.lexers.d":{CrocLexer:[12,0,1,""],DLexer:[12,0,1,""],MiniDLexer:[12,0,1,""]},"pygments.lexers.dalvik":{SmaliLexer:[12,0,1,""]},"pygments.lexers.data":{JsonBareObjectLexer:[12,0,1,""],JsonLdLexer:[12,0,1,""],JsonLexer:[12,0,1,""],YamlLexer:[12,0,1,""]},"pygments.lexers.diff":{DarcsPatchLexer:[12,0,1,""],DiffLexer:[12,0,1,""],WDiffLexer:[12,0,1,""]},"pygments.lexers.dotnet":{BooLexer:[12,0,1,""],CSharpAspxLexer:[12,0,1,""],CSharpLexer:[12,0,1,""],FSharpLexer:[12,0,1,""],NemerleLexer:[12,0,1,""],VbNetAspxLexer:[12,0,1,""],VbNetLexer:[12,0,1,""]},"pygments.lexers.dsls":{AlloyLexer:[12,0,1,""],BroLexer:[12,0,1,""],CrmshLexer:[12,0,1,""],FlatlineLexer:[12,0,1,""],MscgenLexer:[12,0,1,""],PanLexer:[12,0,1,""],ProtoBufLexer:[12,0,1,""],PuppetLexer:[12,0,1,""],RslLexer:[12,0,1,""],SnowballLexer:[12,0,1,""],ThriftLexer:[12,0,1,""],VGLLexer:[12,0,1,""]},"pygments.lexers.dylan":{DylanConsoleLexer:[12,0,1,""],DylanLexer:[12,0,1,""],DylanLidLexer:[12,0,1,""]},"pygments.lexers.ecl":{ECLLexer:[12,0,1,""]},"pygments.lexers.eiffel":{EiffelLexer:[12,0,1,""]},"pygments.lexers.elm":{ElmLexer:[12,0,1,""]},"pygments.lexers.email":{EmailLexer:[12,0,1,""]},"pygments.lexers.erlang":{ElixirConsoleLexer:[12,0,1,""],ElixirLexer:[12,0,1,""],ErlangLexer:[12,0,1,""],ErlangShellLexer:[12,0,1,""]},"pygments.lexers.esoteric":{AheuiLexer:[12,0,1,""],BefungeLexer:[12,0,1,""],BrainfuckLexer:[12,0,1,""],CAmkESLexer:[12,0,1,""],CapDLLexer:[12,0,1,""],RedcodeLexer:[12,0,1,""]},"pygments.lexers.ezhil":{EzhilLexer:[12,0,1,""]},"pygments.lexers.factor":{FactorLexer:[12,0,1,""]},"pygments.lexers.fantom":{FantomLexer:[12,0,1,""]},"pygments.lexers.felix":{FelixLexer:[12,0,1,""]},"pygments.lexers.floscript":{FloScriptLexer:[12,0,1,""]},"pygments.lexers.forth":{ForthLexer:[12,0,1,""]},"pygments.lexers.fortran":{FortranFixedLexer:[12,0,1,""],FortranLexer:[12,0,1,""]},"pygments.lexers.foxpro":{FoxProLexer:[12,0,1,""]},"pygments.lexers.freefem":{FreeFemLexer:[12,0,1,""]},"pygments.lexers.go":{GoLexer:[12,0,1,""]},"pygments.lexers.grammar_notation":{AbnfLexer:[12,0,1,""],BnfLexer:[12,0,1,""],JsgfLexer:[12,0,1,""]},"pygments.lexers.graph":{CypherLexer:[12,0,1,""]},"pygments.lexers.graphics":{AsymptoteLexer:[12,0,1,""],GLShaderLexer:[12,0,1,""],GnuplotLexer:[12,0,1,""],HLSLShaderLexer:[12,0,1,""],PostScriptLexer:[12,0,1,""],PovrayLexer:[12,0,1,""]},"pygments.lexers.haskell":{AgdaLexer:[12,0,1,""],CryptolLexer:[12,0,1,""],HaskellLexer:[12,0,1,""],HspecLexer:[12,0,1,""],IdrisLexer:[12,0,1,""],KokaLexer:[12,0,1,""],LiterateAgdaLexer:[12,0,1,""],LiterateCryptolLexer:[12,0,1,""],LiterateHaskellLexer:[12,0,1,""],LiterateIdrisLexer:[12,0,1,""]},"pygments.lexers.haxe":{HaxeLexer:[12,0,1,""],HxmlLexer:[12,0,1,""]},"pygments.lexers.hdl":{SystemVerilogLexer:[12,0,1,""],VerilogLexer:[12,0,1,""],VhdlLexer:[12,0,1,""]},"pygments.lexers.hexdump":{HexdumpLexer:[12,0,1,""]},"pygments.lexers.html":{DtdLexer:[12,0,1,""],HamlLexer:[12,0,1,""],HtmlLexer:[12,0,1,""],PugLexer:[12,0,1,""],ScamlLexer:[12,0,1,""],XmlLexer:[12,0,1,""],XsltLexer:[12,0,1,""]},"pygments.lexers.idl":{IDLLexer:[12,0,1,""]},"pygments.lexers.igor":{IgorLexer:[12,0,1,""]},"pygments.lexers.inferno":{LimboLexer:[12,0,1,""]},"pygments.lexers.installers":{DebianControlLexer:[12,0,1,""],NSISLexer:[12,0,1,""],RPMSpecLexer:[12,0,1,""],SourcesListLexer:[12,0,1,""]},"pygments.lexers.int_fiction":{Inform6Lexer:[12,0,1,""],Inform6TemplateLexer:[12,0,1,""],Inform7Lexer:[12,0,1,""],Tads3Lexer:[12,0,1,""]},"pygments.lexers.iolang":{IoLexer:[12,0,1,""]},"pygments.lexers.j":{JLexer:[12,0,1,""]},"pygments.lexers.javascript":{CoffeeScriptLexer:[12,0,1,""],DartLexer:[12,0,1,""],EarlGreyLexer:[12,0,1,""],JavascriptLexer:[12,0,1,""],JuttleLexer:[12,0,1,""],KalLexer:[12,0,1,""],LassoLexer:[12,0,1,""],LiveScriptLexer:[12,0,1,""],MaskLexer:[12,0,1,""],ObjectiveJLexer:[12,0,1,""],TypeScriptLexer:[12,0,1,""]},"pygments.lexers.julia":{JuliaConsoleLexer:[12,0,1,""],JuliaLexer:[12,0,1,""]},"pygments.lexers.jvm":{AspectJLexer:[12,0,1,""],CeylonLexer:[12,0,1,""],ClojureLexer:[12,0,1,""],ClojureScriptLexer:[12,0,1,""],GoloLexer:[12,0,1,""],GosuLexer:[12,0,1,""],GosuTemplateLexer:[12,0,1,""],GroovyLexer:[12,0,1,""],IokeLexer:[12,0,1,""],JasminLexer:[12,0,1,""],JavaLexer:[12,0,1,""],KotlinLexer:[12,0,1,""],PigLexer:[12,0,1,""],SarlLexer:[12,0,1,""],ScalaLexer:[12,0,1,""],XtendLexer:[12,0,1,""]},"pygments.lexers.lisp":{CPSALexer:[12,0,1,""],CommonLispLexer:[12,0,1,""],EmacsLispLexer:[12,0,1,""],FennelLexer:[12,0,1,""],HyLexer:[12,0,1,""],NewLispLexer:[12,0,1,""],RacketLexer:[12,0,1,""],SchemeLexer:[12,0,1,""],ShenLexer:[12,0,1,""],XtlangLexer:[12,0,1,""]},"pygments.lexers.make":{BaseMakefileLexer:[12,0,1,""],CMakeLexer:[12,0,1,""],MakefileLexer:[12,0,1,""]},"pygments.lexers.markup":{BBCodeLexer:[12,0,1,""],GroffLexer:[12,0,1,""],MarkdownLexer:[12,0,1,""],MoinWikiLexer:[12,0,1,""],MozPreprocCssLexer:[12,0,1,""],MozPreprocHashLexer:[12,0,1,""],MozPreprocJavascriptLexer:[12,0,1,""],MozPreprocPercentLexer:[12,0,1,""],MozPreprocXulLexer:[12,0,1,""],RstLexer:[12,0,1,""],TexLexer:[12,0,1,""]},"pygments.lexers.matlab":{MatlabLexer:[12,0,1,""],MatlabSessionLexer:[12,0,1,""],OctaveLexer:[12,0,1,""],ScilabLexer:[12,0,1,""]},"pygments.lexers.mime":{MIMELexer:[12,0,1,""]},"pygments.lexers.ml":{OcamlLexer:[12,0,1,""],OpaLexer:[12,0,1,""],SMLLexer:[12,0,1,""]},"pygments.lexers.modeling":{BugsLexer:[12,0,1,""],JagsLexer:[12,0,1,""],ModelicaLexer:[12,0,1,""],StanLexer:[12,0,1,""]},"pygments.lexers.modula2":{Modula2Lexer:[12,0,1,""]},"pygments.lexers.monte":{MonteLexer:[12,0,1,""]},"pygments.lexers.ncl":{NCLLexer:[12,0,1,""]},"pygments.lexers.nimrod":{NimrodLexer:[12,0,1,""]},"pygments.lexers.nit":{NitLexer:[12,0,1,""]},"pygments.lexers.nix":{NixLexer:[12,0,1,""]},"pygments.lexers.oberon":{ComponentPascalLexer:[12,0,1,""]},"pygments.lexers.objective":{LogosLexer:[12,0,1,""],ObjectiveCLexer:[12,0,1,""],ObjectiveCppLexer:[12,0,1,""],SwiftLexer:[12,0,1,""]},"pygments.lexers.ooc":{OocLexer:[12,0,1,""]},"pygments.lexers.parasail":{ParaSailLexer:[12,0,1,""]},"pygments.lexers.parsers":{AntlrActionScriptLexer:[12,0,1,""],AntlrCSharpLexer:[12,0,1,""],AntlrCppLexer:[12,0,1,""],AntlrJavaLexer:[12,0,1,""],AntlrLexer:[12,0,1,""],AntlrObjectiveCLexer:[12,0,1,""],AntlrPerlLexer:[12,0,1,""],AntlrPythonLexer:[12,0,1,""],AntlrRubyLexer:[12,0,1,""],EbnfLexer:[12,0,1,""],RagelCLexer:[12,0,1,""],RagelCppLexer:[12,0,1,""],RagelDLexer:[12,0,1,""],RagelEmbeddedLexer:[12,0,1,""],RagelJavaLexer:[12,0,1,""],RagelLexer:[12,0,1,""],RagelObjectiveCLexer:[12,0,1,""],RagelRubyLexer:[12,0,1,""],TreetopLexer:[12,0,1,""]},"pygments.lexers.pascal":{AdaLexer:[12,0,1,""],DelphiLexer:[12,0,1,""]},"pygments.lexers.pawn":{PawnLexer:[12,0,1,""],SourcePawnLexer:[12,0,1,""]},"pygments.lexers.perl":{Perl6Lexer:[12,0,1,""],PerlLexer:[12,0,1,""]},"pygments.lexers.php":{PhpLexer:[12,0,1,""],ZephirLexer:[12,0,1,""]},"pygments.lexers.pony":{PonyLexer:[12,0,1,""]},"pygments.lexers.praat":{PraatLexer:[12,0,1,""]},"pygments.lexers.prolog":{LogtalkLexer:[12,0,1,""],PrologLexer:[12,0,1,""]},"pygments.lexers.python":{CythonLexer:[12,0,1,""],DgLexer:[12,0,1,""],NumPyLexer:[12,0,1,""],Python3Lexer:[12,0,1,""],Python3TracebackLexer:[12,0,1,""],PythonConsoleLexer:[12,0,1,""],PythonLexer:[12,0,1,""],PythonTracebackLexer:[12,0,1,""]},"pygments.lexers.qvt":{QVToLexer:[12,0,1,""]},"pygments.lexers.r":{RConsoleLexer:[12,0,1,""],RdLexer:[12,0,1,""],SLexer:[12,0,1,""]},"pygments.lexers.rdf":{ShExCLexer:[12,0,1,""],SparqlLexer:[12,0,1,""],TurtleLexer:[12,0,1,""]},"pygments.lexers.rebol":{RebolLexer:[12,0,1,""],RedLexer:[12,0,1,""]},"pygments.lexers.resource":{ResourceLexer:[12,0,1,""]},"pygments.lexers.rnc":{RNCCompactLexer:[12,0,1,""]},"pygments.lexers.roboconf":{RoboconfGraphLexer:[12,0,1,""],RoboconfInstancesLexer:[12,0,1,""]},"pygments.lexers.robotframework":{RobotFrameworkLexer:[12,0,1,""]},"pygments.lexers.ruby":{FancyLexer:[12,0,1,""],RubyConsoleLexer:[12,0,1,""],RubyLexer:[12,0,1,""]},"pygments.lexers.rust":{RustLexer:[12,0,1,""]},"pygments.lexers.sas":{SASLexer:[12,0,1,""]},"pygments.lexers.scripting":{AppleScriptLexer:[12,0,1,""],ChaiscriptLexer:[12,0,1,""],EasytrieveLexer:[12,0,1,""],HybrisLexer:[12,0,1,""],JclLexer:[12,0,1,""],LSLLexer:[12,0,1,""],LuaLexer:[12,0,1,""],MOOCodeLexer:[12,0,1,""],MoonScriptLexer:[12,0,1,""],RexxLexer:[12,0,1,""]},"pygments.lexers.sgf":{SmartGameFormatLexer:[12,0,1,""]},"pygments.lexers.shell":{BashLexer:[12,0,1,""],BashSessionLexer:[12,0,1,""],BatchLexer:[12,0,1,""],FishShellLexer:[12,0,1,""],MSDOSSessionLexer:[12,0,1,""],PowerShellLexer:[12,0,1,""],PowerShellSessionLexer:[12,0,1,""],SlurmBashLexer:[12,0,1,""],TcshLexer:[12,0,1,""],TcshSessionLexer:[12,0,1,""]},"pygments.lexers.slash":{SlashLexer:[12,0,1,""]},"pygments.lexers.smalltalk":{NewspeakLexer:[12,0,1,""],SmalltalkLexer:[12,0,1,""]},"pygments.lexers.smv":{NuSMVLexer:[12,0,1,""]},"pygments.lexers.snobol":{SnobolLexer:[12,0,1,""]},"pygments.lexers.special":{RawTokenLexer:[12,0,1,""],TextLexer:[12,0,1,""]},"pygments.lexers.sql":{MySqlLexer:[12,0,1,""],PlPgsqlLexer:[12,0,1,""],PostgresConsoleLexer:[12,0,1,""],PostgresLexer:[12,0,1,""],RqlLexer:[12,0,1,""],SqlLexer:[12,0,1,""],SqliteConsoleLexer:[12,0,1,""],TransactSqlLexer:[12,0,1,""]},"pygments.lexers.stata":{StataLexer:[12,0,1,""]},"pygments.lexers.supercollider":{SuperColliderLexer:[12,0,1,""]},"pygments.lexers.tcl":{TclLexer:[12,0,1,""]},"pygments.lexers.templates":{Angular2HtmlLexer:[12,0,1,""],Angular2Lexer:[12,0,1,""],CheetahHtmlLexer:[12,0,1,""],CheetahJavascriptLexer:[12,0,1,""],CheetahLexer:[12,0,1,""],CheetahXmlLexer:[12,0,1,""],ColdfusionCFCLexer:[12,0,1,""],ColdfusionHtmlLexer:[12,0,1,""],ColdfusionLexer:[12,0,1,""],CssDjangoLexer:[12,0,1,""],CssErbLexer:[12,0,1,""],CssGenshiLexer:[12,0,1,""],CssPhpLexer:[12,0,1,""],CssSmartyLexer:[12,0,1,""],DjangoLexer:[12,0,1,""],ErbLexer:[12,0,1,""],EvoqueHtmlLexer:[12,0,1,""],EvoqueLexer:[12,0,1,""],EvoqueXmlLexer:[12,0,1,""],GenshiLexer:[12,0,1,""],GenshiTextLexer:[12,0,1,""],HandlebarsHtmlLexer:[12,0,1,""],HandlebarsLexer:[12,0,1,""],HtmlDjangoLexer:[12,0,1,""],HtmlGenshiLexer:[12,0,1,""],HtmlPhpLexer:[12,0,1,""],HtmlSmartyLexer:[12,0,1,""],JavascriptDjangoLexer:[12,0,1,""],JavascriptErbLexer:[12,0,1,""],JavascriptGenshiLexer:[12,0,1,""],JavascriptPhpLexer:[12,0,1,""],JavascriptSmartyLexer:[12,0,1,""],JspLexer:[12,0,1,""],LassoCssLexer:[12,0,1,""],LassoHtmlLexer:[12,0,1,""],LassoJavascriptLexer:[12,0,1,""],LassoXmlLexer:[12,0,1,""],LiquidLexer:[12,0,1,""],MakoCssLexer:[12,0,1,""],MakoHtmlLexer:[12,0,1,""],MakoJavascriptLexer:[12,0,1,""],MakoLexer:[12,0,1,""],MakoXmlLexer:[12,0,1,""],MasonLexer:[12,0,1,""],MyghtyCssLexer:[12,0,1,""],MyghtyHtmlLexer:[12,0,1,""],MyghtyJavascriptLexer:[12,0,1,""],MyghtyLexer:[12,0,1,""],MyghtyXmlLexer:[12,0,1,""],RhtmlLexer:[12,0,1,""],SmartyLexer:[12,0,1,""],SspLexer:[12,0,1,""],TeaTemplateLexer:[12,0,1,""],TwigHtmlLexer:[12,0,1,""],TwigLexer:[12,0,1,""],VelocityHtmlLexer:[12,0,1,""],VelocityLexer:[12,0,1,""],VelocityXmlLexer:[12,0,1,""],XmlDjangoLexer:[12,0,1,""],XmlErbLexer:[12,0,1,""],XmlPhpLexer:[12,0,1,""],XmlSmartyLexer:[12,0,1,""],YamlJinjaLexer:[12,0,1,""]},"pygments.lexers.teraterm":{TeraTermLexer:[12,0,1,""]},"pygments.lexers.testing":{GherkinLexer:[12,0,1,""],TAPLexer:[12,0,1,""]},"pygments.lexers.textedit":{AwkLexer:[12,0,1,""],VimLexer:[12,0,1,""]},"pygments.lexers.textfmts":{GettextLexer:[12,0,1,""],HttpLexer:[12,0,1,""],IrcLogsLexer:[12,0,1,""],TodotxtLexer:[12,0,1,""]},"pygments.lexers.theorem":{CoqLexer:[12,0,1,""],IsabelleLexer:[12,0,1,""],LeanLexer:[12,0,1,""]},"pygments.lexers.trafficscript":{RtsLexer:[12,0,1,""]},"pygments.lexers.typoscript":{TypoScriptCssDataLexer:[12,0,1,""],TypoScriptHtmlDataLexer:[12,0,1,""],TypoScriptLexer:[12,0,1,""]},"pygments.lexers.unicon":{IconLexer:[12,0,1,""],UcodeLexer:[12,0,1,""],UniconLexer:[12,0,1,""]},"pygments.lexers.urbi":{UrbiscriptLexer:[12,0,1,""]},"pygments.lexers.varnish":{VCLLexer:[12,0,1,""],VCLSnippetLexer:[12,0,1,""]},"pygments.lexers.verification":{BoogieLexer:[12,0,1,""],SilverLexer:[12,0,1,""]},"pygments.lexers.webmisc":{CirruLexer:[12,0,1,""],DuelLexer:[12,0,1,""],QmlLexer:[12,0,1,""],SlimLexer:[12,0,1,""],XQueryLexer:[12,0,1,""]},"pygments.lexers.whiley":{WhileyLexer:[12,0,1,""]},"pygments.lexers.x10":{X10Lexer:[12,0,1,""]},"pygments.lexers.xorg":{XorgLexer:[12,0,1,""]},"pygments.lexers.zig":{ZigLexer:[12,0,1,""]},"pygments.styles":{get_all_styles:[0,2,1,""],get_style_by_name:[0,2,1,""]},"pygments.util":{OptionError:[0,6,1,""],get_bool_opt:[0,2,1,""],get_choice_opt:[0,2,1,""],get_int_opt:[0,2,1,""],get_list_opt:[0,2,1,""]},pygments:{format:[0,2,1,""],formatter:[0,1,0,"-"],formatters:[0,1,0,"-"],highlight:[0,2,1,""],lex:[0,2,1,""],lexer:[0,1,0,"-"],lexers:[0,1,0,"-"],styles:[0,1,0,"-"],token:[18,1,0,"-"],util:[0,1,0,"-"]}},objnames:{"0":["py","class","Python class"],"1":["py","module","Python module"],"2":["py","function","Python function"],"3":["py","attribute","Python attribute"],"4":["py","method","Python method"],"5":["py","staticmethod","Python static method"],"6":["py","exception","Python exception"]},objtypes:{"0":"py:class","1":"py:module","2":"py:function","3":"py:attribute","4":"py:method","5":"py:staticmethod","6":"py:exception"},terms:{"0000aa":6,"00ff00":7,"00m":17,"01m":17,"01mhello":17,"0b101010":18,"0f0":17,"0x10c":12,"0x20":12,"0xb785decc":5,"0xdeadbeef":18,"14px":7,"16m":[2,7],"42d":18,"42l":18,"6pl":12,"6pm":12,"beno\u00eet":1,"boolean":[0,2],"break":7,"byte":[2,7,15,19],"case":[0,2,3,4,5,7,11,19,21],"char":[2,11,12,18],"cl\u00e9ment":1,"class":[0,2,3,4,5,6,10,12,13,14,15,17,18],"const":18,"dani\u00ebl":1,"default":[0,1,2,3,5,7,11,12,15,17,19],"enum":12,"export":2,"final":[2,11],"float":[0,2,18],"function":[0,2,4,5,6,11,12,14,15,17,18,21],"g\u00f3rny":1,"goto":18,"guti\u00e9rrez":1,"hegg\u00f8":1,"helles\u00f8i":1,"import":[2,4,5,6,7,10,11,12,15,17,18,19],"int":[5,18],"joaqu\u00edn":1,"jos\u00e9":1,"kl\u00e4rck":1,"ko\u017ear":1,"long":[2,18],"lyngst\u00f8l":1,"maik\u00e4fer":2,"matth\u00e4u":22,"micha\u0142":1,"new":[0,2,3,4,5,6,7,10,12,14,17,18,19,22],"null":[7,12],"pr\u00e9vost":1,"public":[2,12],"ren\u00e9":1,"return":[0,5,6,7,11,12,15],"s\u00e9bastien":1,"schneegl\u00f6ckchen":2,"short":[0,3,7,11,12],"st\u00e9phane":1,"static":[0,18],"strau\u00dfenei":2,"super":11,"switch":[2,12],"true":[0,2,5,6,7,11,12,13,15,18],"try":[6,12],"unsch\u00e4rf":2,"var":[12,18],"while":[2,3,6,11,12,15,21],Abe:1,Added:[2,12],And:11,BAS:12,But:11,DOS:12,EXE:12,For:[0,3,5,6,7,11,12,13,15,17,18,20,21],Gas:12,IDE:21,IDEs:2,Its:[3,21],One:11,SAS:[1,2],That:[0,4,7,11,14,17,21],The:[2,3,4,5,6,7,8,9,10,12,15,17,18,19,20,21,23],Then:[7,11],There:[2,5,11,14,15,17],These:[7,9,12],Use:[2,8,12],Used:7,Useful:12,Using:[7,8],VBS:12,Vos:1,Will:0,With:[2,7,18],XDS:12,__all__:11,__doc__:18,__init__:[0,4,6,11,18],_by_:2,_format_lin:7,_lua_builtin:12,_php_builtin:12,_style:6,_wrap_cod:7,aa22ff:15,aamann:12,aaron:1,abandon:11,abap:[1,2,12],abaplex:12,abil:2,abl:[1,2,12],abnf:12,abnflex:12,about:[2,3,8,11,12,14],abov:[3,11],absolut:7,abysm:2,academ:12,accept:[5,7,12,13,15,19],access:[4,6,7,12,18],accordingli:7,accur:2,acm:12,aconf:12,acorn:12,act:12,action:11,actionscript3:12,actionscript3lex:12,actionscript:[2,23],actionscriptlex:12,activ:[1,12],activest:21,actual:[2,12],ada2005:12,ada95:12,ada:[1,2,12,23],adalex:12,adam:[1,2,12],adapt:[5,9,16],adb:12,add:[0,2,5,7,11,14,21],add_filt:[4,5],added:[2,3,4,7,11,17,21,22],adding:[11,14],addit:[2,6,7,11,12,15,21],addition:[4,6,7,11,13],address:22,adjust:4,adl:12,adlf:12,adllex:12,adlx:12,ado:12,adob:12,ads:12,adt:12,advanc:10,affect:[2,7,17],affix:[2,18],afshar:1,after:[2,3,7,11,12,18],again:[6,7,11],against:11,agda:[1,2,12],agdalex:12,aglassing:1,aglet:12,aheui:12,aheuilex:12,ahk:12,ahkl:12,aim:12,alain:1,alastair:1,alex:1,alexand:1,algol:[2,12],algol_nu:12,algorithm:[7,12],ali:1,alia:[0,2,14,15],alias:[0,2,11,12,14,18],alias_filenam:0,align:[7,17],all:[0,1,2,3,4,5,6,7,11,13,15,17,18,19,20,21],alloi:[2,12],allow:[0,2,5,7,9,11,12,17],alloylex:12,almost:[11,12],along:3,alphabet:[1,12],alreadi:[0,5,11,12,18],als:12,also:[0,2,3,4,7,11,12,13,16,17,18,19,21,22,23],altern:[2,7,11,12],alwai:[2,4,12,22],amann:[1,2,12],ambient:12,ambienttalk:2,ambienttalklex:12,ambigu:15,among:[0,15,22],amount:[5,11],ampl:[1,2],ampllex:12,ana:[1,2],analog:2,analys:[0,19],analyse_text:[0,2,15],analysi:2,anchor:7,anchorlineno:[1,2,7],andr:[1,2],andrea:[1,2,12],andrei:1,andrew:1,android:12,angl:5,angu:1,angular2:12,angular2htmllex:12,angular2lex:12,angular:12,ani:[0,2,3,7,11,12,17,18,19],annamalai:1,annot:[5,12],anonym:11,anoth:[2,5,11,18,19,21],ansi:[1,2,7,12,15,17,21,22],ansiblack:17,ansiblu:17,ansibrightblack:17,ansibrightblu:17,ansibrightcyan:17,ansibrightgreen:17,ansibrightmagenta:17,ansibrightr:17,ansibrightyellow:17,ansibrown:17,ansicolor:17,ansicyan:17,ansidarkblu:17,ansidarkgrai:17,ansidarkgreen:17,ansidarkr:17,ansifuchsia:17,ansigrai:17,ansigreen:17,ansilightgrai:17,ansimagenta:17,ansipurpl:17,ansir:17,ansit:17,ansiturquois:17,ansiwhit:17,ansiyellow:17,antlr:[1,2,12,23],antlractionscriptlex:12,antlrcpplex:12,antlrcsharplex:12,antlrjavalex:12,antlrlex:12,antlrobjectiveclex:12,antlrperllex:12,antlrpythonlex:12,antlrrubylex:12,antonio:9,anymor:2,anyth:[2,3,7,11,12],apach:[2,10,12,23],apache2:[2,12],apacheconf:12,apacheconflex:12,api:[8,11,15],apl:[1,2],apllex:12,apostroph:2,appaiah:1,appear:6,append:11,applescript:[1,2,12,23],applescriptlex:12,appli:5,applic:[2,12,22],approach:[11,12],appropri:[7,11,12],apt:12,arbitrari:11,archetyp:[1,2],arduino:[1,2,12],arduinolex:12,area:7,aren:[6,11,17,18],arexx:12,arg:[0,2,3,7],argument:[0,2,3,4,5,6,7,11,15],armin:[1,22],armstrong:1,arnold:1,around:[2,3,12],arrow:12,art:12,artem:1,articl:7,artifactid:10,as3:[2,12],asax:12,ascii:[3,7,12,19],asciidoc:21,ascx:12,ashkena:1,ashx:12,asi:12,ask:2,aslak:1,aslakhellesoi:12,asm:[2,12],asmx:12,asp:[2,12],aspectj:[1,2,12],aspectjlex:12,aspx:12,assembl:[1,2,23],assign:12,assist:12,associ:11,assum:[7,12,21],assumpt:12,asterisk:11,asymptot:[1,2,12,23],asymptotelex:12,async:2,atom:12,atria:1,attach:[13,18],attent:22,attribut:[0,2,3,6,7,11,12,14,15,18,19],au3:12,aug:[2,12],augea:[1,2,12,23],augeaslex:12,aust:[1,12],author:[12,18,21],autodeleg:12,autodetect:12,autohandl:12,autohotkei:[1,2,12],autohotkeylex:12,autoit:[1,2,12],autoitlex:12,autolisp:12,automat:[2,4,7,11,12,17,19],autopygment:2,aux:12,avail:[0,2,8,11,15,18,21,22],avoid:[2,15],await:2,awar:2,awk:[1,2,12,23],awklex:12,axd:12,b3d:12,background:[2,5,6,7,17],backquot:2,backreferenc:11,backslash:[2,12],backtick:18,backtrack:2,backward:[2,18],bajolet:1,bangert:[1,2],bar:[5,7,11],barfoo:11,baruchel:1,bas:12,base:[0,1,2,7,11,12,18,21,22,23],baselex:11,baselin:7,basemak:12,basemakefilelex:12,bash:[2,12,18,23],bashcomp:9,bashlex:[2,12],bashrc:12,bashsessionlex:[2,12],basic:[0,2,6,11,15,21,23],bat:12,batch:[2,12,23],batchlex:12,battcher:1,baumann:1,baumgart:1,bayer:1,baz:5,bazaar:21,bazbam:12,bb4444:15,bbc:[2,12,23],bbcbasic:12,bbcbasiclex:12,bbcode:[1,2,7,12,21,23],bbcodeformatt:7,bbcodelex:12,bclexer:12,beal:1,bean:12,beauti:21,becaus:[0,2,3,4,6,7,11,12,14,17,18,19],been:[2,5,7,10,11,22],befor:[2,7,12,19],befung:[2,12,23],befungelex:[11,12],begin:[7,11,12],behavior:[2,4,17,19],being:[2,11,15,17],below:[11,18,22],ben:[1,2],benediktsson:1,benjamin:1,bergeron:1,bernat:1,bertel:1,bertrand:1,best:19,better:[2,12],between:[2,7,11,12,17],bgcolor:6,bib:12,bibtex:1,bibtexlex:12,big:12,bigaret:1,billingslei:[1,2],bin:[15,18],binari:[2,12,18],bind:12,bird:12,bit:[2,7],bitbucket:21,bitmap:7,bitstream:7,black:17,blackwhitestyl:2,blame:12,blink:12,blinkinsop:[1,2,12],blitzbas:[1,2,12],blitzbasiclex:12,blitzmax:[1,2,12],blitzmaxlex:12,block:[2,7,12],blondon:1,blue:[6,17],bmax:12,bmp:[2,7],bmpimageformatt:7,bmx:12,bnflexer:12,boa:[2,23],boalex:12,board:[7,12,21],bob:1,bodi:12,bold:[2,6,7,15,17,18],boldfac:[12,17],bom:19,bommel:1,boo:[2,12,18,23],boogi:[1,2,12],boogielex:12,bool:5,boolex:12,border:[6,7,17],borland:12,both:[11,12,15,17],boundari:12,bourdon:[1,2],bpl:12,bplu:12,bpython:21,brace:12,bracket:12,brainfuck:[12,23],brainfucklex:[11,12],branch:21,brandl:[1,22],brian:1,bright:[2,17],brightblack:17,brightblu:17,brightcyan:17,brightgreen:17,brightmagenta:17,brightr:17,brightyellow:17,brillouin:2,bro:[1,2,12],broken:7,brolex:12,browser:[7,11,21],bruce:[1,21],bruno:1,bryan:1,bsd:[2,12,21],bsdmake:12,bst:12,bstlexer:12,buffer:[1,2,6,12],bug:[1,2,5,8,12,22],bugfix:[1,2],bugslex:12,build:[2,12,21],builder:21,built:[2,7,12,15],builtin:[0,2,7,8,11,12,15],builtinshighlight:12,bulletin:7,bump:2,bundl:[9,12],bussonni:1,bygroup:11,bz2:[7,12],bzrfruit:21,c99:2,c_cpp:12,c_like:12,ca65:12,ca65lex:12,cacer:1,cach:[2,6,12],cadl:12,cadllex:12,call:[0,2,7,11,12,13,15,17,18,19,20],callaghan:1,caller:11,camil:1,camk:[1,2,12],camkeslex:12,can:[0,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,22],cangiano:9,cannot:11,canon:12,cap:2,capabl:2,capdl:[2,12],capdllex:12,capit:5,capnp:12,capnproto:12,capnprotolex:12,caption:7,captur:11,care:[0,11],carlo:1,cascad:12,cat:1,catalog:[2,12,23],catastroph:2,categori:[3,12],caus:[2,7,12],cbl:12,cbm:12,cbmba:12,cbmbasicv2lex:12,cdf:12,cdl:12,cell:7,central:10,certain:[2,7,11],cetera:16,ceylon:[1,2,12],ceylonlex:12,cf3:12,cfc:[2,12],cfengine3:[1,2,12],cfengine3lex:12,cfg:[11,12],cfm:12,cfml:12,cfs:12,chai:12,chain:[2,12],chaiscript:[2,12],chaiscriptlex:12,chajda:22,chanc:14,chang:[2,7,12,15,17,20],changelog:[8,20],chapel:[1,2],chapellex:12,charact:[2,3,5,7,11,12,18,19],chardet:[12,19],charl:1,charm:[2,12,23],charmci:12,charmcilex:12,charna:2,chdr:12,chebee7i:1,check:[2,4,11,12],checkspac:12,chee:1,cheetah:[1,2,12,23],cheetahhtmllex:12,cheetahjavascriptlex:12,cheetahlex:12,cheetahxmllex:12,child:[2,11],chines:21,chirino:1,chpl:12,christian:1,christoph:[1,2,12],cirru:[2,12],cirrulex:12,clai:[1,2,12],clariti:7,clash:7,class_too:4,classifi:2,classnotfound:[0,2],classprefix:7,classtoo:4,claylex:12,clean:[1,2],cleanlex:12,clear:22,clexer:[2,12],cli:18,click:7,clipper:12,clj:12,clobber:2,clojur:[1,2,9,12,21,23],clojurelex:12,clojurescript:12,clojurescriptlex:12,clone:[11,20],close:[6,11],closingcommentdelim:12,cls:12,cluster:12,clygment:[9,21],cmake:[2,12,23],cmakelex:12,cmakelist:12,cmd:12,cmdline:1,cob:12,cobjdumplex:12,cobol:12,cobolfre:12,cobolfreeformatlex:12,cobollex:12,cocoa:2,code:[0,2,5,7,9,10,11,13,15,16,17,18,20,21,22],codecov:21,codehtmlformatt:7,codenam:2,codetag:[2,5,7],codetagfilt:5,codetagifi:5,coffe:12,coffeescript:[1,2,12,23],coffeescriptlex:12,coldfus:[2,12,23],coldfusioncfclex:12,coldfusionhtmllex:12,coldfusionlex:12,colin:1,collabor:21,collis:2,colon:[3,11],color:[2,3,4,5,6,7,9,12,13,15,17,21],colorama:2,colorfulstyl:17,colornam:7,colorschem:7,colour:7,column:7,com:[1,2,8,12,20,21,23],combin:[0,2,7,11,12],come:[5,17],comma:[2,3],command:[0,2,7,8,9,11,14,18,19,20,21,22],commandchar:7,commandlin:12,commandprefix:[2,7],comment:[2,5,6,7,11,12,15,17],commit:2,common:[1,2,12,21,23],commonli:12,commonlisplex:12,commun:21,compar:[12,18],compat:[2,7,18],compens:21,compil:12,complet:[2,7,11,21],complex:[6,11,12],compon:[2,8,12,15],componentpasc:12,componentpascallex:12,compress:[0,7,12],comput:1,concaten:11,concept:15,concret:12,concurr:12,conf:[2,12],config:[1,2,13,23],configur:[2,13,18,23],conflict:2,confus:[4,11,12],consecut:[5,6],consid:[12,17],consider:[0,12],consist:[2,11],consol:[1,2,3,7,21,23],console16m:7,console256:7,constant:[12,18],constitut:2,construct:[2,7,11,12,18],constructor:[0,5],consum:12,contact:21,contain:[0,2,3,5,6,7,9,11,12,15,21],content:[0,2,7,10,11,12,15],context:[2,11,12],continu:[2,11],contribut:[1,12,23],contributor:8,control:[0,1,2,7,12,20,21,23],convers:12,convert:[0,2,4,5,7,12,15,17,18,21],cookbook:21,cooper:1,coordin:7,copi:[7,9,11,12,13,16],coq:[2,12,23],coqlex:12,corbett:1,corbin:1,corcoran:1,corei:1,corner:2,coroutin:12,correct:[0,2],correctli:[2,7,11,21],correspond:[11,12,17],could:[3,4,7,11,12,15,17],count:12,coupl:2,courier:7,cours:[18,21],cover:[12,14],coverag:21,cpp:12,cppcommentlex:11,cpplexer:12,cppobjdumplex:12,cps:12,cpsa:[1,12],cpsalex:12,cpy:12,cpython:12,crash:[2,11],creat:[2,3,6,7,9,10,11,15,18,21],creation:12,creutzig:[1,2,12],crmsh:[1,2,12],crmshlexer:12,croc:[2,12],croclex:12,crocsrc:12,crompton:1,cross:21,crunchi:2,cry:12,cryptol2:12,cryptol:[1,2,12,23],cryptollex:12,crystal:[1,2,23],crystallex:12,csail:12,csd:12,csh:12,csharp:12,csharpaspxlex:12,csharplex:[2,12],csound:[1,2],csounddocumentlex:12,csoundorchestralex:12,csoundscorelex:12,csrc:12,css:[0,2,3,6,7,13,15,17,23],cssclass:[2,7,15],cssdjangolex:12,csserblex:12,cssfile:7,cssgenshilex:12,csslexer:12,cssphplexer:12,csssmartylex:12,cssstyle:7,ctag:[1,2,7],ctx:11,cucumb:[2,12,23],cuda:[1,2,12],cudalex:12,cuh:12,curli:12,current:[0,3,6,7,11,12,13,18,20],curri:1,curs:21,custom:[2,7,11,16,17],customformatt:[0,3],customlex:[0,3,11],cxx:12,cyan:17,cyp:12,cypher:[2,12],cypherlex:12,cython:[2,12,23],cythonlex:12,dalvik:2,dan:1,daniel:1,darc:[1,2,12],darcspatch:12,darcspatchlex:12,dark:[2,6,7,17],darkbg:7,darkgrei:17,dart:[1,2,12,23],dartlex:12,dash:[1,2],dasm16:[1,2,12],dasm16lex:12,dasm:12,data:[2,6,11,13,18,19],databas:12,date:18,davi:1,david:1,dba:12,dcl:12,dcpu:[12,23],debcontrol:12,debian:[1,2,12,23],debiancontrollex:12,debsourc:12,debug:[12,21],debugg:21,dec:2,decid:12,decis:2,decl:12,declar:[0,2,7,12,18],decod:19,decompress:12,decor:[2,18],deepcopi:2,deepli:11,def:[0,2,4,6,7,11,12],default_styl:17,deferrari:1,defin:[0,2,6,7,11,12,14,17,18],definit:[0,2,3,7,11,14,17,18],degener:2,dejan:1,dejavu:7,delai:2,deleg:12,delegatinglex:[11,12],delet:[11,18],delimit:[2,7,11,12,18],delphi:[12,23],delphilex:12,delroth:2,demonstr:21,denni:[1,2],depend:[0,2,7,10,12,17],deploi:10,deprec:17,deriv:[0,2,12],derivedlex:11,describ:[0,7],descript:12,design:12,desir:[5,7],desis:12,detail:[3,11,21,22],detect:[2,12],determin:[0,2,12,15],develop:[1,3,12,21,22,23],dglexer:12,dhandler:12,dialect:2,dialectopt:12,dialecttag:12,diamanda:21,dict:[6,18,19],dictionari:[0,7,11],didn:3,diego:1,dietmar:1,diff:[2,11,23],differ:[2,5,7,11,12,15,17,19,21],differenti:12,difflex:[11,12,18],digia:12,direct3d:12,direct:[2,7,11,12,13,16,21],directli:[2,11,12],directori:[0,2,3,11,13,17],disabl:7,disabled_modul:12,disabledmodul:12,disallow:2,disappoint:12,displai:[2,7,16],disrupt:5,distinct:7,distinguish:12,distribut:[2,9,11,13,14,16,17,20],div:[7,10,15],divis:12,django:[12,21,23],djangolex:12,dlexer:12,dmitri:1,do_insert:2,dobjdumplex:12,doc:[2,7,12,17,18,19,21,23],docclass:7,docker:[2,12],dockerfil:[2,12],dockerlex:12,docstr:[2,5],doctest:12,doctyp:[2,7],document:[2,3,7,10,11,12,14,15,18,21,22],docutil:2,doe:[2,7,11,12,19],doesn:[2,3,4,6,7,11,12,14,18],domen:1,dominik:1,don:[0,2,3,6,7,11,12,15,17,18,19,22],done:[2,11],doren:1,dos:12,dosbatch:12,doscon:12,dosini:12,dot:[2,5],dotal:11,dotnet:12,doubl:[5,6,18],doug:1,down:11,download:[8,22],dpast:21,dpatch:12,dpr:12,drawn:7,dreiundzwanzig:2,drop:[0,2,5,17,21],dsrc:12,dtd:[1,2,12,23],dtdlexer:12,dubi:12,dubinska:1,due:[0,2],duel:[1,2,12],duelengin:12,duellex:12,duplic:2,dure:12,durni:1,dustin:1,dutton:1,dyl:12,dylan:[1,2,23],dylanconsolelex:12,dylanlex:12,dylanlidlex:12,dynam:12,each:[7,11,18],earl:12,earlgrei:12,earlgreylex:12,earlier:[7,12],easi:[2,4,6,7,11,22,23],easier:[7,10,17,21],easiest:11,easili:[2,6,11,12,16,21,22],easytriev:[1,2,12],easytrievelex:12,eat:[2,5],ebnf:[1,2,12],ebnflex:12,ebuild:12,echdr:12,ecl:2,eclass:12,eclex:12,ecllex:12,ecsrc:12,edg:7,edit:13,edoardo:1,edp:12,edu:12,edward:1,eed:7,eee:17,eeeeeee:6,effect:7,efford:1,effting:1,egg:11,egorkin:1,eiffel:[1,2],eiffellex:12,either:[2,6,7,11,15,17],element:[7,11,18],elf:12,elia:1,elisp:12,elixir:[1,2,12],elixirconsolelex:12,elixirlex:12,ellipsi:2,elm:[2,23],elmlex:12,els:[6,7,11,12,15,18],elseif:11,elxir:2,emac:[1,2,3,12,17],emacslisplex:12,email:[2,12],emaillex:12,embed:21,emit:11,eml:12,emph:18,emphas:18,empti:[2,7,11,12],emul:17,enabl:[3,7,16],enclos:[3,7,12,18],encod:[2,7,8,10,12,15,17],encount:[11,19],encyclopedia:21,end:[2,4,6,7,11,12,18,21],enforc:5,engin:[2,11,21],english:21,enhanc:[1,2],enough:[7,11,12],enriqu:1,ensur:11,ensurenl:[2,12],enter:[11,12],entir:[11,12],entiti:[11,18],entri:[3,11,15],environ:[2,7,12],envnam:[2,7],eps:12,equal:[2,3,11],equal_sign:11,equival:[0,11,12],erb:[12,23],erblex:12,eric:1,erick:1,erl:12,erlang:[1,2,23],erlanglex:12,erlangshelllex:12,erron:11,error:[0,2,5,7,11,12,17,18,21],error_color:7,errortoken:5,es6:2,escap:[2,7,11,12,15,17,18],escapeinsid:7,escript:12,esoter:[2,11],especi:[12,18],etc:[2,3,5,6,18],eval:[0,11],even:[7,11,12,22],event:12,ever:23,everi:[0,2,5,7,11,15,17,22],everybodi:11,everyth:[11,12,14],evoqu:[1,2,12],evoquehtmllex:12,evoquelex:12,evoquexmllex:12,exact:17,exactli:[0,11],exampl:[0,3,4,5,6,7,10,11,12,13,17,18,19,21],examplefil:11,examplelex:11,excclass:5,except:[0,2,5,7,11,12,17,18],exclud:18,exec:10,exher:12,exhibit:2,exhypotheticlex:11,exist:[2,6,7,11,15,18],exlib:12,expand:[5,12],expans:3,expect:[0,3,11],experi:21,experiment:[2,7],explain:[6,14,15],explan:[3,18],explicit:[3,7],explicitli:[3,11],explor:7,express:[2,11,12,18],exrc:12,exs:12,ext:14,extempor:[1,2,12],extemporelang:12,extend:[2,7,11,12,17],extens:[2,3,11,15],extern:[2,7,9,12,13,16],extra:[7,12],extra_keyword:11,extract:[12,14],extrem:11,ezhil:[1,2,23],ezhillex:12,ezt:12,f00:17,f03:12,f90:12,facil:[1,12],fact:[0,12],factor:[1,2,23],factorlex:12,fail:2,failur:2,fallback:12,fallenstein:12,fals:[0,2,5,7,12,18],famili:[2,7],fan:12,fanci:[1,2,12,23],fancylex:12,fancypack:12,fancysrc:12,fancyvrb:7,fantom:[1,2],fantomlex:12,faq:22,far:11,faschingskrapfn:2,fast:[21,22],faster:2,fastest:12,favor:2,favorit:11,fayaa:21,fear:[11,22],featur:[2,7,11,12],feb:2,fed:5,feel:11,felix:1,felixlex:12,fenc:2,fennel:[1,2,12,23],fennellex:12,fernandez:1,few:[2,11,15,17,23],fext:7,ff0000:[6,17],ffffff:17,fhtml:12,ficarra:1,field:12,file:[0,1,2,3,6,7,9,10,11,13,15,17,18,19,21,23],filenam:[0,2,3,7,11,12,13,14,15],filetext:2,filetyp:12,filter:[2,8,12,14,15,18],find:[2,8,11,21],find_lexer_class:0,find_lexer_class_by_nam:[0,2],fine:12,finish:11,first:[0,2,5,6,7,11,12,15,18],firstchild:7,fish:[1,2,12],fisher:1,fishshel:12,fishshelllex:12,fix:[1,2,5,7,11,12,22],fixm:12,flag:[3,5,12,17],flatlin:[1,2,12],flatlinelex:12,flexibl:2,flo:12,florian:1,floscript:[1,2,23],floscriptlex:12,fluidic:21,flx:12,flxh:12,fmarc:2,fmter:7,fname:7,fnl:12,fnmatch:0,focus:21,fold:12,follow:[0,3,6,7,10,11,12,15,17,18,19],font:[2,6,7,15],font_nam:7,font_siz:[2,7],fontfac:7,fontfamili:7,fontsiz:7,foo:[2,5,7,11,12,18],foobar:[11,12],foreground:[7,17],forev:2,form:[0,1,3,6,7,11,12,17],formal:12,format:[0,2,3,6,7,15,21,22],formatt:[1,2,8,10,11,14,17,19],formatternam:0,forth:1,forthlex:12,fortran:[1,2,23],fortranfix:12,fortranfixedlex:12,fortranlex:12,forum:22,forward:[5,12],found:[0,2,3,7,9,11,12,15,22],four:[2,15],fourth:15,foxpro:[1,2,23],foxprolex:12,frag:12,fragment:[12,15],frame:2,framework:[1,2,21,23],free:[11,12,21],freefem:[1,2,23],freefemlex:12,freepasc:12,freewar:12,friendli:[7,12,17],frit:1,from:[0,1,2,3,4,5,6,7,10,12,13,14,15,16,17,18,19,20],front:21,frt:12,fruiti:2,fsharp:12,fsharplex:12,fsi:12,fulfil:11,full:[2,3,7,8,11,12,15],fulli:2,fulton:1,fun:[12,23],func_name_highlight:12,funcnamehighlight:12,funki:11,further:[7,18],furthermor:[12,17],fusesourc:12,futur:[6,12,18],futurewarn:2,galdino:1,galloi:1,gap:[1,2,12,23],gaplex:12,garg:1,garnotel:1,gas:12,gaslex:12,gautier:1,gave:2,gawk:12,gaynor:1,gdc:12,gemfil:12,gemspec:12,gener:[0,2,5,7,11,17,21,22],genshi:[1,12,23],genshilex:12,genshitext:12,genshitextlex:12,gentoo:2,geo:12,georg:[1,22],gerd:1,gerkin:1,gerwin:1,get:[0,2,5,7,10,11,12,13,18,19,20],get_:2,get_all_filt:5,get_all_lex:[0,12],get_all_styl:[0,17],get_bool_opt:[0,4],get_choice_opt:0,get_formatter_by_nam:[0,15],get_formatter_for_filenam:[0,15],get_int_opt:0,get_lexer_by_nam:[0,2,12,14,15],get_lexer_for_filenam:[0,15],get_lexer_for_mimetyp:[0,15],get_list_opt:0,get_style_by_nam:[0,17],get_style_def:[0,2,3,6,7,15],get_syntax_def:7,get_token:[0,2],get_tokens_unprocess:[0,11],getpreferredencod:19,gettext:[2,12,23],gettextlex:12,gherkin:[1,2,12,23],gherkinlex:12,giedriu:1,gif:[2,7],gifimageformatt:7,gilbert:1,gild:1,git:[2,20,21],github:[1,2,8,11,12,20,21,22,23],give:[2,3,5,7,11,15],given:[0,2,3,5,7,11,12,15,19],global:[11,18],glshaderlex:12,glsl:[2,12],glslsrc:12,glue:12,gm2:12,gnu:[2,12],gnumakefil:12,gnuplot:[2,12,23],gnuplotlex:12,gobbl:5,gobblefilt:5,goe:11,goetzmann:1,goj:[1,2],golda:1,golex:12,golo:[2,12],gololex:12,golovizin:1,good:[1,2,6],gooddata:[1,2,12],gooddatacllex:12,googl:[1,2],gordon:1,gosrc:12,goss:1,gosu:[2,12],gosulex:12,gosutemplatelex:12,gotthardt:1,govern:17,gracefulli:2,gradl:12,grai:[6,17],grammar:[11,12],grammar_not:12,graph:21,graphic:7,greater:12,greatli:2,green:17,greg:1,grei:[5,12],groff:[2,12,23],grofflex:12,groovi:[1,2,12,23],groovylex:12,group:11,groupid:10,grow:23,gsp:12,gst:12,gsx:12,guarante:18,guess:[0,2,3,7,12,19],guess_lex:[0,2,15],guess_lexer_for_filenam:[0,15],gui:[12,21],guib:1,guid:[5,12],gvimrc:12,hack:[8,14],hagelberg:1,hahn:1,half:7,haml:[1,2,12],hamllex:12,handl:[0,1,2,7,12,19],handlebar:[2,12],handlebarshtmllex:12,handlebarsj:12,handlebarslex:12,handlecodeblock:12,happen:11,harder:2,harriman:1,harrison:1,has:[0,2,3,4,6,7,9,10,11,12,17,19],hash:2,hashbang:18,haskel:[1,2,23],haskelllex:12,hatch:[1,2,22],have:[0,2,3,4,5,6,7,8,11,12,13,14,15,17,18,19,21,22],haven:[3,19],hax:[1,2],haxelex:12,haxeml:12,hazel:1,hbs:12,hdl:12,hdp:12,hdr:12,head:[3,11,12,18],header:[2,12],headlin:[11,18],headline_callback:11,height:7,hello:[3,10,15,17],help:[0,11,21,22],helper:[2,11],hendershott:1,hendrick:1,herbstzeitlos:2,here:[6,7,9,10,11,14,15,17,21,23],heredoc:[2,18],hermoso:1,hess:1,hex:[2,6,12,18],hexadecim:[6,18],hexcat:12,hexdump:[1,2,12],hexdumplex:12,hierarchi:18,high:[12,14],higher:[7,21],highest:[0,15],highlight:[0,2,3,5,7,9,10,11,12,13,14,15,17,18,21,22],highlightt:7,hilit:21,hint:8,hiram:1,hiremath:1,hiroaki:1,histori:12,hl_color:[2,7],hl_line:[2,7],hlsl:[1,2,12,23],hlsli:12,hlslshaderlex:12,hoelz:1,hogan:1,hold:11,holli:1,home:22,hong:1,horizont:7,horn:1,host:[12,21,22],houghton:1,how:[0,2,6,7,10,11,12,15,16,17],howard:1,howett:1,howev:[2,7,15,21],hpp:12,hrl:12,hsa:12,hsail:[1,2,12],hsaillex:12,hspec:[2,12,23],hspeclex:12,htaccess:12,htdoc:13,htm:[7,11,12],html5:[2,7],html:[0,1,2,3,7,11,13,15,17,18,21,22,23],htmlcheetah:12,htmldjango:12,htmldjangolex:12,htmlformatt:[0,2,6,7,10,15,17,19],htmlgenshilex:12,htmllexer:[11,12],htmlphplexer:[11,12],htmlsmartylex:12,http:[1,2,8,10,12,20,21,23],httpd:12,httplexer:[2,12],huge:11,human:[0,12],hundr:11,hurl:21,hxml:12,hxmllexer:12,hxsl:12,hxx:12,hyb:12,hybri:[1,2,12],hybrislex:12,hylang:12,hylex:12,hyperlink:7,hypothet:11,hypotheticlex:11,i18n:2,i6t:12,i7x:12,iOS:2,ian:[1,2],icl:12,icn:12,iconlex:12,icu:12,icw:12,idc:12,idea:[2,10],ideal:12,identifi:[0,2,12,18],idl4:12,idl:[1,2,23],idllex:12,idr:12,idri:[1,2,12],idrislex:12,iec:12,ieee:12,ietf:12,iex:12,ignor:[6,7,12],ignorecas:11,igor:[1,2],igorexchang:12,igorlex:12,igorpro:12,ijs:12,imag:[1,2,7,12],image_format:7,image_pad:7,imageformatt:[2,7],img:7,immedi:0,implement:[0,2,6,7,12],implicit:18,imposs:11,improv:[1,2,5,7],inc:[1,12],incl:23,includ:[0,2,3,7,11,13,15,16,19,20,21],inclus:11,incollo:21,incompat:2,incomplet:[2,21],incorrect:2,incorrectli:12,increas:[7,11,22],incred:11,indent:[2,5,7,12],index:[0,7,11,20],indexerror:11,indic:[2,7,11],individu:7,industri:12,inencod:[2,3,19],inf:12,infer:3,inferno:1,infinit:2,influenc:11,info:12,inform6:12,inform6lex:12,inform6templatelex:12,inform7:12,inform7lex:12,inform:[1,2,3,7,11,12,14,15,18],ing:2,inherit:[1,2,11,17],ini:[2,11,12,23],inilex:[11,12],initi:[2,5,6,11],initialis:11,inlin:[2,6,7,15],inlinestyl:13,ino:12,inozemtsev:1,input:[0,2,3,7,11,12,15,19],inputenc:7,insensit:[0,2],insert:[2,11,18],insid:[7,11,18],instal:[2,3,7,8,11,19,21],instanc:[0,2,4,5,10,11,12,13,17,18],instanti:[0,4,6,11],instead:[2,6,7,11,12,15,17,21],instruct:12,int_fict:12,integ:[0,12,18],integr:[2,7,12,21],intel:[2,12],intellig:21,interact:2,interchang:12,interfac:[0,2,8,12],intern:[4,11,15,19],internet:7,interpol:[2,18],interpret:[0,10],intr:12,introduc:[2,7,11,18],introduct:8,invalid:2,invari:11,invoc:7,iok:[1,2,12],iokelex:12,iokesrc:12,iolang:12,iolex:12,iosrc:12,ipf:12,ipython:2,irb:[12,23],irc:[2,7,12,23],ircformatt:7,irclog:12,irclogslex:12,irssi:[12,23],is_token_subtyp:18,isabel:[1,2,12],isabellelex:12,isn:[2,5,6,11,12],iso:12,issu:[2,22],ital:[6,7,12,17],italic:7,item:[6,11,14],iter:[0,2,5,6,7,11,17],itoh:1,its:[0,2,11,12,15,17,19],itself:11,ivan:1,jackson:1,jade:[1,12],jag:[1,2,12],jagslex:12,jame:1,jan:2,jann:1,januari:12,jar:10,jarrett:[1,2],jasmin:[1,2,12],jasminlex:12,jasminxt:12,java:[2,8,12,18,21,23],javalex:12,javascript:[2,7,11,18,23],javascriptdjangolex:12,javascripterblex:12,javascriptgenshilex:12,javascriptlex:[2,11,12],javascriptphplex:12,javascriptsmartylex:12,jbst:[1,2,12],jcl:[1,2,12],jcllexer:12,jeffrei:1,jeremi:[1,12],jerith:12,jerom:1,jesper:1,jinja2:2,jinja:[12,23],jlcon:12,jlexer:12,job:12,jochen:1,joe:1,joerg:1,john:1,join:[2,6],jon:1,jona:1,jordi:1,jpeg:7,jpg:[2,7],jpgimageformatt:7,jproperti:12,jsgf:[1,2,12],jsgflexer:12,jsm:12,json:[1,2,12],jsonbareobjectlex:12,jsonld:12,jsonldlex:12,jsonlex:12,jsonml:12,jsp:[12,23],jspeech:12,jsplexer:12,julia:[1,2],juliaconsolelex:12,julialex:12,jun:2,just:[2,6,7,11,12,17,18,22],justin:1,juttl:12,juttlelex:12,jython:[2,10,21],kaarsemak:[1,2],kabak:1,kal:[1,2,12],kallex:12,kalnitski:1,kashif:1,kconfig:[1,2,12],kconfiglex:12,keep:[2,7],kei:[0,6,11,12,17],ken:[1,12],kept:11,kernel:12,keyboardinterrupt:2,keyword:[0,2,4,5,6,12,15,17],keywordcas:[3,5],keywordcasefilt:5,kid:12,kif:12,kind:[2,18],kiril:[1,2],kirk:[1,2],kit:1,kki:12,klein:1,knibb:1,know:[2,15,18,21],knowledg:22,known:[0,3,5,11,17,21],koka:[2,12],kokalex:12,koltsov:1,konrad:1,koprowski:1,korean:12,kotlin:[1,2,12],kotlinlex:12,kowarsch:1,krekel:1,kriegisch:1,kristian:1,krzysiek:[1,2],kschutt:12,ksh:12,kubica:[1,2],kumar:1,kupperschmidt:1,kurt:1,kurzbach:1,label:[2,18],lack:23,lagda:12,lang_builtin:11,languag:[0,2,11,15,18,22],language_lex:11,larger:[7,13],larim:1,lasso:[1,2,12,23],lassocsslex:12,lassohtmllex:12,lassojavascriptlex:12,lassolex:12,lassoscript:12,lassoxmllex:12,lassu:1,last:[3,6,11,12,19],lasttyp:6,lastval:6,later:[6,7,11,12],latest:[20,22,23],latex:[1,2,7,12,15,17,21,22],latexformatt:[2,6,7],latin1:[2,3,19],latin:12,latter:[2,6,7],laurent:1,layman:1,layout:12,lazi:12,lcry:12,lcryptol:12,lead:[2,11,12,15],leaf:1,lean:[2,12],leanlex:12,learn:22,ledru:1,lee:1,left:[6,12],length:[7,11,12],lenient:12,less:[2,4,12],lesscss:1,lesscsslex:12,lessfilt:2,let:[6,12,15],letter:[5,7,12],level:12,lex:[0,2,11,12,21,22],lexem:12,lexer:[1,2,4,5,6,7,8,10,13,14,17,18,19,21,22,23],lexercontext:11,lexernam:0,lgt:12,lhaskel:12,lhs:12,librari:[2,6,7,9,12,15,19,21,22],licens:[2,18,21],lid:[2,12],lidr:12,lidri:12,life:12,light:[6,7,17],lightbg:7,lighti:12,lighttpd:[2,12,23],lighttpdconflex:12,like:[0,2,3,6,7,9,10,11,15,16,18,21,22],limbo:[1,2,12],limbolex:12,linden:12,line:[0,2,5,7,8,11,12,14,18,19,21,22],line_numb:7,line_number_bg:7,line_number_bold:7,line_number_char:7,line_number_fg:7,line_number_ital:7,line_number_pad:7,line_number_separ:7,line_number_start:[2,7],line_number_step:7,line_pad:7,lineanchor:[2,7],lineno:[2,3,7,15],linenospeci:7,linenostart:7,linenostep:7,linenumb:7,linesepar:7,linespan:[2,7],linewis:12,linh:1,link:[2,7,12,21],linux:[12,20],liquid:[2,12],liquidlex:12,lisp:[1,2,12,18,23],list:[0,2,3,5,7,8,12,14,15,20,21,22,23],listen:2,liter:[1,2,6,7,11,12,23],literateagdalex:12,literatecryptollex:12,literatehaskelllex:12,literateidrislex:12,litstyl:12,littl:[2,12],live:12,livescript:[1,2,12],livescriptlex:12,llvm:[2,12,23],llvmlexer:12,load:[0,1,2,3,11,12],load_formatter_from_fil:[0,2],load_lexer_from_fil:[0,2,11],local:[2,3,11,19],locat:2,log:[1,2,12,22,23],logo:[1,2,12],logoslex:12,logtalk:[1,2,12,23],logtalklex:12,longer:[2,11],longest:11,longnam:0,look:[0,3,5,7,10,11,12,15,17,18,21,22,23],lookup:[0,11,14],loop:[2,15],lorentz:1,lot:[2,10,11],loui:1,lovelac:[1,2],lower:5,lowercas:[5,12],lsl:[2,12],lsllexer:12,lsp:12,lua:[1,2,12,23],lualex:[11,12],lubomir:1,luca:1,luka:1,m2iso:12,m2pim:12,m2r10:12,mabei:1,mac:[2,7,12],macarthur:1,machineri:21,macro:[1,6,7],made:[2,11],magenta:17,magic:[2,18],mai:[0,2,3,5,7,11,12,15,17,23],mail:[21,22],main:[3,7,11,12],mainfram:12,mainli:12,maintain:[1,17,22],major:[1,2,20],mak:12,make:[2,4,7,10,11,12,15,17,19],makefil:[2,23],makefilelex:12,mako:[1,2,12,23],makocsslex:12,makohtmllex:12,makojavascriptlex:12,makolex:12,makoxmllex:12,malform:12,malzeug:2,man:12,manag:[12,20,21],mandatori:0,mandel:1,mani:[1,2,7,11,16,17,22],manpag:[2,12],manual:12,mao:12,map:[2,7,11,12,13,15,17],mapfil:11,maql:[1,12],maqllex:12,mar:2,marchand:1,marek:[1,2],margaritelli:1,margin:7,mario:1,mark:[1,5,11,18],markdown:[1,2,12],markdownlex:12,marker:12,markup:[2,6,7,13,15,18,21],martin:1,mask:12,maskj:[1,2],masklex:12,mason:[1,2,12,23],masonlex:12,master:12,match:[0,2,11,12,15,18],math:[2,7,12],mathematica:[2,12],mathematicalex:12,mathescap:7,matlab:[1,2,23],matlablex:12,matlabsess:12,matlabsessionlex:12,matt:[1,2],matteo:1,matter:14,matthew:1,matthia:[1,12],mauricio:1,maven:10,mawk:12,max:[1,12],maxim:12,maximum:11,mayb:12,mcdonald:[1,2],mcgregor:1,mckamei:1,mckee:1,mckenna:1,mclaughlin:1,mean:[0,2,3,5,7,11,12,14,16,19,21],meant:18,mechan:[0,7,15,22],media:2,member:[11,12],menlo:7,mention:14,menu:9,menuconfig:12,mercuri:21,merg:[5,11],messag:[12,18],meta:[7,12],metacharact:11,metaclass:[0,6],metadata:14,metamodel:12,method:[0,2,3,4,5,6,7,11,12,15,18],meuser:1,mher:1,mhtml:12,michael:1,michiel:1,micro:12,microsoft:7,middl:5,might:[6,11,12,17,19],miikka:1,mike:1,miller:1,mime:[0,2],mimelex:12,mimetyp:[0,2,12],minhe:1,minid:[1,2,12,23],minidlex:12,minidsrc:12,minim:[6,12],minimum:2,minor:2,mior:1,mirc:1,misc:2,misdetect:2,mishandl:2,mishighlight:2,miss:[2,11,12],mit:12,mitchen:1,mix:12,mixtur:12,mli:12,mll:12,mly:12,mma:12,mod:12,mode:[2,7,12],modelica:[1,2,12,23],modelicalex:12,modelin:[1,2],modelvers:10,modif:11,modifi:[0,7,15],modul:[0,2,4,5,7,11,12,14,15,18],modula2:12,modula2lex:12,modula:[1,2,23],modulo:12,mof:12,moin:[2,12,13],moinmoin:[2,8,12,23],moinwikilex:12,mondrian:17,mondrianstyl:17,monkei:[2,12],monkeylex:12,mono:[2,7],monofont:7,monokai:[1,2],monospac:7,mont:[1,2],montelex:12,moo:12,moocod:[1,2,12],moocodelex:12,moon:12,moonscript:[1,2,12],moonscriptlex:12,morai:1,more:[2,3,6,7,10,11,12,15,22],morton:1,most:[0,2,6,7,11,12,17,20,22],moura:1,movsisyan:1,mozhashpreproc:12,mozilla:[2,12],mozpercentpreproc:12,mozpreproc:12,mozpreproccsslex:12,mozpreprochashlex:12,mozpreprocjavascriptlex:12,mozpreprocpercentlex:12,mozpreprocxullex:12,mq4:12,mq5:12,mqh:12,mql4:12,mql5:12,mql:[2,12],mqllexer:12,msc:12,mscgen:[1,2,12],mscgenlex:12,msdo:[1,2,12],msdossessionlex:12,much:[2,11,12],muhamedag:1,mulitpart:12,multi:[2,11,18],multilin:[2,11,18],multipart:12,multipl:[2,7,12],mupad:[1,2,12,23],mupadlex:12,must:[0,3,5,6,7,11,12,15,17],muthiah:1,mxml:[1,2],mxmllexer:12,myghti:[1,2,12,23],myghtycsslex:12,myghtyhtmllex:12,myghtyjavascriptlex:12,myghtylex:12,myghtyxmllex:12,mygthi:12,mylex:11,mynewlex:11,mypythonlex:11,mysql:[2,12,23],mysqllex:12,mystyl:17,myt:12,nafu:7,nam:1,name:[0,2,4,5,7,11,12,13,14,15,17],namehighlightfilt:[2,5],namespac:[1,2,18],nasm:[2,12],nasmlex:[2,12],nasmobjdumplex:12,nathan:1,nativ:[7,12],naveen:1,nawk:12,nbp:12,nbsp:18,ncar:2,ncl:12,ncllexer:12,nearest:7,necessari:7,need:[0,2,4,6,7,11,12,14,15,21,22],needl:11,neg:12,nelson:[1,2],nemerl:[1,2,12,23],nemerlelex:12,neo4j:12,nesc:[1,2,12],nesclex:12,nescsrc:12,nest:[2,11,12],net:[2,23],neufeld:1,neujahr:2,never:11,nevertheless:11,new_stat:11,newest:2,newli:[11,18],newlin:[2,5,7,11,12],newlisp:[2,12],newlisplex:12,newspeak:[2,12],newspeaklanguag:12,newspeaklex:12,next:[11,12],ng2:12,nginx:[2,12,23],nginxconflex:[2,12],nguyen:1,nick:1,nil:[1,12],nimrod:[1,2,23],nimrodlex:12,nit:[1,2],nitlex:12,nix:[1,2,7],nixlex:12,nobackground:7,nobodi:18,nobold:17,noclass:[2,7],noclobber_cssfil:[2,7],noehr:1,noinherit:17,noital:17,nolta:1,non:[2,3,7,11,17,19],none:[0,4,6,7,11,12,18],nonempti:7,nontermin:12,nonzero:5,normal:[0,3,4,5,11,12,18],norman:1,north:1,nose:2,notabl:12,note:[4,5,7,11,12,14,15,17,18,19,23],notebook:2,noth:11,notifi:22,nounderlin:17,nov:2,now:[2,7,11,12,19],nowrap:7,nprint:15,nqp:12,nresult:10,nroff:12,ns2:12,nsh:12,nsi:[2,12],nsislex:12,nth:7,nullformatt:[6,7],number:[2,3,5,6,7,11,12,15,17,18,21,22],numer:[2,12],numpi:[1,2,12],numpylex:12,nusmv:[1,2,12],nusmvlex:12,nvidia:12,obei:7,obj:12,objc:[2,12],objdumb:12,objdump:[2,12],objdumplex:12,object:[0,1,2,5,6,7,11,15,18,19,23],objectivec:[1,2,12],objectiveclex:12,objectivecpplex:12,objectivej:12,objectivejlex:12,objectpasc:12,objj:12,objm2:12,obrist:1,obviou:11,ocaml:[2,12,23],ocamllex:12,occasion:19,occur:11,oct:[2,18],octal:18,octav:[1,2,12,23],octavelex:12,odbc:12,odd:2,odin:12,odinlex:12,off:[0,5,12],offload:2,offset:7,often:[11,16],old:[2,17,18],oldhtmlformatt:6,oleh:1,oliva:1,olivi:1,olov:1,omg:12,omit:3,onclick:7,one:[0,2,3,5,6,7,11,12,15,17,19],ones:[0,11,12],onli:[0,2,3,7,11,12,15,18,21],onto:11,ooc:2,ooclex:12,opa:[1,2,12],opalang:12,opalex:12,open:[6,11,14,22],openbug:12,opencobol:[1,2,12],openedg:[1,2,12],openedgelex:12,opengl:12,openingcommentdelim:12,oper:[1,2,11,17],optim:[2,11],option:[1,2,4,5,6,9,11,12,13,17,19],optionerror:0,optnam:0,orc:12,orchestra:12,order:[2,12,15,21],ordinari:12,org:[1,10,12,22],origin:[2,12],other:[1,2,7,11,13,17,18,19,21,22],otherlex:11,otherst:11,otherwis:[0,7,11,12],out:[2,3,5,10],outencod:[2,3,7,19],outfil:[0,6,7,15],outlin:21,output:[0,2,3,4,5,6,7,11,13,15,18,19,21,22],outsid:[11,12],over:[0,2,6,7,11,15,17,22],overhaul:1,overload:18,overrid:[0,2,3,4,6,7,11,12,19],overridden:0,overview:[15,17],overwrit:6,overwritten:7,owen:1,own:[0,5,7,8,18,23],oxford:1,ozarowski:2,p6l:12,p6m:12,pace:22,pacemak:12,packag:[2,7,11,18],pacman:12,pacmanconf:12,pacmanconflex:12,pad:7,page:[0,2,7,10,11,12,13,14,15,23],paid:22,paint:21,pair:[0,11],pan:[2,12],panlex:12,pannuto:1,paper:12,paramet:[6,11],parasail:[1,2],parasaillex:12,parent:[6,11,18],parenthesi:11,paris:1,pars:[2,6,12,21],parser:[2,13,18],part:[6,11,12,18],partial:2,particular:[3,7,12],partner:12,pas:[3,12],pascal:[2,3,5],pass:[2,3,4,6,7,11,12,15,17,19],past:[7,12],pastebin:[12,21],pastebox:21,pat:1,patch:[1,2,18],path:[7,11,12,18,21],patrick:1,pattern:[0,2,7,11,14,15],patx:21,paul:1,paulo:1,pawn:2,pawnlex:12,pcmk:12,pdf:[12,21],peculiar:2,pekka:1,peopl:16,pep:2,pepijn:1,per:[2,3,12,17,19],percent:12,perfect:7,perform:[2,11,12,18],perl6:12,perl6lex:12,perl:[1,2,15,18,22,23],perllex:[12,15],permit:12,persist:12,pete:1,peterson:1,pfannschmidt:1,pgsql:12,phil:1,philosophi:17,php3:12,php4:12,php5:12,php:[1,2,9,11,18,21,23],phpbb:7,phplexer:[11,12],phpygment:[9,21],phtml:12,picheta:1,pick:7,pida:21,piec:[7,15],pierr:[1,2],pig:[1,2,12],piglex:12,pigment:21,pike:[1,2,12],pikelex:12,pil:[2,7],pilcrow:5,pim:12,pinkham:1,piotr:2,pip:[2,20],pipe:[12,15],pixel:7,pixmap:7,pkg:12,pkg_resourc:2,pkgbuild:12,pkgconfig:12,pkgconfiglex:12,pl6:12,place:[2,12,20,22],plain:[2,12,15],platform:[12,20,21],player:12,pleas:[7,8,14,21],plot:2,plpgsql:12,plpgsqllexer:12,plrm:12,plt:12,plu:[2,7,11,12,23],plugin:[8,12,13,17,21],pm6:12,pmod:12,png:[2,7],pocoo:22,pod:2,point:[5,7,11],polici:12,pom:10,poni:[2,23],ponylex:12,pop:[2,11],popular:12,port:2,pos:11,posh:12,posit:[0,2,11],possibl:[2,6,7,10,11,12,15,18,19,21],post:7,postgr:12,postgresconsolelex:12,postgreslex:12,postgresql:[1,2,12],postmarkup:21,postscr:12,postscript:[1,2,12,23],postscriptlex:12,pot:12,pov:[2,12,23],povrai:[12,23],povraylex:12,power:[11,21],powershel:[1,2,12,23],powershelllex:12,powershellsessionlex:12,praat:[1,2],praatlex:12,pre:[2,6,7,10,12,15],preambl:7,preced:[2,11],prefer:11,prefix:[2,7,11,12,14,18],preimplement:11,prepar:11,prepend:[3,7],preproc:18,preprocess:12,preprocessor:[2,9,11,12,18],present:[2,12,21],preserv:7,prestyl:[2,7],prettifi:22,prevent:[11,17],previou:11,previous:2,prg:12,primari:[12,15],primit:12,principl:18,print:[3,7,10,12,15,17,18,21],printabl:12,println:10,prioriti:2,privaci:21,pro:[1,2],probabl:[0,4,12],problem:[2,7],proc:12,procedur:[2,11,12],process:[2,3,11],processor:[1,2,9],produc:[0,2,7,11,12,15],profil:12,progopedia:21,program:[2,16,18,22],progress:12,project:[2,7,10,17,21,22],prolog:[2,23],prologlex:12,prompt:[2,12,18],proof:12,proper:11,properli:[2,21],properti:[2,7,12],propertieslex:12,propos:18,proprietari:12,proto:2,protobuf:12,protobuflex:12,protocol:[1,2,12],prototyp:12,prover:12,provid:[0,2,3,6,7,9,11,12,17],prs:12,prynn:1,prypin:1,ps1:12,ps1con:12,psc:12,pseudo:[11,12,18],psi:12,psl:12,psm1:12,psql:12,pth:2,publicli:11,publish:12,pudb:21,pug:12,puglex:12,pull:[2,23],pumbaa80:2,punctuat:12,puppet:[1,2,12],puppetlex:12,pure:12,purpos:[6,12,15],push:11,put:[7,11,12,13,17],pwn:12,pxd:12,pxi:12,py3:12,py3tb:12,pybtex:12,pycon:12,pygment:[1,3,4,5,6,7,11,14,15,17,18,19,20,22,23],pykleur:2,pypi:[1,2,7,12,20],pypylog:12,pypyloglex:12,pyrex:12,pytb:12,python3:[2,12],python3lex:[12,17],python3tracebacklex:[2,12],python:[1,2,3,7,9,10,11,13,15,16,18,20,21,22,23],pythonconsolelex:[2,12],pythoninterpret:10,pythonlex:[5,10,11,12,15,19],pythontracebacklex:[2,12],pyw:12,pyx:12,qbasic:[2,12],qbasiclex:12,qbs:12,qbzr:21,qdeclarativeintroduct:12,qml:[1,2,12],qmllexer:12,qualifi:12,qualiti:22,quickstart:[2,8],quit:[2,4,7,21,22],quot:[2,3,10,15,18],quotat:5,qvt:[1,2],qvto:12,qvtolex:12,r10:12,r5r:12,rabel:1,racket:[1,2,12],racketlex:12,ragel:[1,2,12,23],ragelclex:12,ragelcpplex:12,rageldlex:12,ragelembeddedlex:12,rageljavalex:12,ragellex:12,ragelobjectiveclex:12,ragelrubylex:12,rai:[2,23],raichoo:1,rainbow:[1,2],rais:[0,2,5,7,12],raiseonerror:5,raiseonerrortokenfilt:[2,5],rake:12,rakefil:12,rang:[0,12,21,22,23],rare:2,rasul:1,rather:11,raw:[2,7,18],rawtokenformatt:[2,7,12],rawtokenlex:[7,12],raytrac:12,rbcon:12,rbnf:12,rbw:12,rbx:12,rconsol:12,rconsolelex:12,rdlexer:12,rdoc:2,read:[7,11,12,22],readabl:0,readili:6,realli:[7,11,12,14,18],reason:12,reb:12,rebol:[1,2,23],rebollex:12,rebuild:11,receiv:2,recent:12,recogn:[0,2,3,11,12],recognis:[7,12,18],recommend:[7,20],record:12,recreat:12,recurs:11,recurss:12,red:[2,6,7,12,15,17,23],redcod:[1,2,12,23],redcodelex:12,redlex:12,redund:15,reed:1,refactor:1,refer:[2,4,6,7,8,11,12,15],reg:12,regard:3,regedit:12,regeditlex:12,regex:[2,18,22],regist:[0,2,4,5,8,12,13,17],registri:[2,12],regress:2,regular:[2,7,11,18,19],reidi:1,rel:[0,3,7,11],relas:2,relaxng:12,releas:[2,20,22,23],reli:14,remov:[2,7,11],renam:13,render:[2,7,9,11,12,17],renviron:12,repeat:11,repl:12,replac:[2,5,7,11],report:12,repositori:21,repr:7,repres:[15,18],represent:7,request:[2,7,21,23],requir:[2,11,12,14,22],requiredelimit:12,reserv:[12,18],resolv:11,resort:[3,19],resourcebundl:[2,12],resourcelex:12,respect:[2,7,17],respons:13,rest:[2,5,8,11,12,22,23],restrict:12,restructur:2,restructuredtext:[2,12,21],result:[0,2,7,10,11,12,15,17,19],retain:2,reuben:1,review:21,revis:12,rewrit:[1,2],rewritten:12,rewrot:2,rex:12,rexx:[1,2,12],rexxlex:12,rfc822:12,rgb:17,rhistori:12,rhtml:12,rhtmllexer:12,richard:1,richardson:1,right:[5,19],rigor:12,rintel:1,risc:12,rkt:12,rktd:12,rktl:12,rnc:12,rnccompactlex:12,rng:12,rob:1,roberg:[1,2],robert:1,roboconf:[1,2],roboconfgraphlex:12,roboconfinstanceslex:12,robot:[1,2,23],robotframework:12,robotframeworklex:12,roff:12,rolling:1,roman:2,ronach:[1,22],ronni:1,roo:1,root:[7,11,12],root_lex:11,rostyslav:1,roughli:7,rout:12,roux:21,row:7,rpf:12,rpm:[2,12,23],rpmspeclex:12,rprofil:12,rql:[2,12],rqllexer:12,rrggbb:6,rrt:2,rsl:[1,2,12],rsllexer:12,rss:12,rst2pdf:21,rst:[12,16,18],rstlexer:12,rtf:[1,2,7,12,15,21,22],rtfformatt:7,rts:12,rtslexer:12,rubi:[1,2,9,11,18,21,23],rubiniu:12,rubyconsolelex:[2,12],rubylex:[12,15],rudolph:1,ruggier:1,rule:[2,3,7,11,12,13,18],run:[0,7,10,11,12,21],runtim:10,runtimeerror:[7,18],rust:[1,2,23],rustlex:12,rvt:12,sage:12,salminen:1,salt:12,saltstack:12,sam:1,same:[2,3,5,6,7,11,12,17,18],sampl:[9,11,13,16],samplemanag:12,san:[2,7],sandalski:1,sane:7,sap:12,sarl:12,sarllex:12,sas:12,saslex:12,sass:[1,2,12],sasslex:12,sasso:1,save:[2,11],sbatch:12,sbl:12,scala:[1,2,12,23],scalalex:12,scalat:12,scaml:[1,12],scamllex:12,scd:12,sce:12,scenario:8,scene:[2,23],schafer:1,schemaloc:10,scheme:[1,2,12,23],schemelex:12,schutt:[1,12],schwaiger:1,schweizer:1,schweyer:1,sci:12,scientif:12,scilab:[1,2,12,23],scilablex:12,scm:12,sco:12,sconscript:12,sconstruct:12,scope:[10,21],score:12,screen:13,script:[2,3,11,14,15,16,21,23],scss:[2,12],scsslexer:12,search:[2,11],sebastian:1,second:[2,11,12],secondari:15,section:[11,21],see:[0,2,3,5,6,7,11,12,15,17,19,21,22],seem:11,seen:3,sel4:12,select:[0,2,3,7,11,12,15],selector:[2,3,7,15],self:[0,4,6,7,11,12,18],semant:15,semicolon:2,send:[6,11,12,19,22],sensit:2,sep:2,separ:[2,3,7,11,12],sequenc:[0,2,7,15,17,18,21,22],sequenti:12,serial:12,server:[2,12,23],servic:[1,21],session:[1,2,23],set:[2,6,7,9,10,11,12,13,15,17,18,19],setup:3,setuptool:14,sever:[2,11,12],sgf:[1,2,23],shade:17,shader:[12,23],shadow:12,shape:12,share:21,shaw:1,sheet:[3,12],shell:[1,2,3,21,23],shellscript:12,shellsess:[1,12],shellsessionlex:2,shen:[1,2,12],shenlex:12,shex:12,shexc:12,shexclex:12,ship:[6,9,11,13,16,17],shorten:12,should:[0,2,5,6,7,11,12,13,14,17],shouldn:[2,11],show:[2,7,11,12],shown:[7,11],siafoo:21,sieker:1,sig:12,sign:[2,3,5,11],signatur:18,sil:12,silver:[2,12],silverlex:12,similar:[2,11,15,18],simmon:1,simon:1,simonov:[1,2],simpl:[2,9,10,11,22],simplefilt:4,simpli:11,simplifi:2,simplist:12,simpson:1,sinc:[0,2,3,4,7,9,10,11,12,15,17,19],sing:1,singl:[2,11,18,19],singlelin:11,singleton:18,site:21,size:[6,7],skip:11,slash:[1,2,11,14,23],slashlex:12,slexer:[2,12],slightli:2,slim:[2,12],slimlex:12,slowdown:12,slowish:2,sls:12,slurm:[2,12,23],slurmbashlex:12,smali:[1,2,12],smalilex:12,small:[2,12,15,17],smaller:2,smalltalk:[1,2,23],smalltalklex:12,smart:[3,19],smarter:2,smartgameformatlex:12,smarti:[12,23],smartylex:12,smishlajev:1,sml:12,smllexer:[11,12],snapshot:10,snippet:[12,15,16,17,21],snobol4:12,snobol:[1,2,23],snobollex:12,snowbal:[1,2,12],snowballlex:12,softwar:[1,12],solar:[1,2],solvabl:11,some:[0,2,4,6,7,11,12,15,17,18,21],somelex:[3,11],someth:[6,10,11,15,18],sometim:[7,11],somewhat:12,sound:11,sourc:[1,2,5,7,9,11,13,14,15,16,19,21,22],sourcecod:[2,7,12,16],sourcepawn:[1,2,12],sourcepawnlex:12,sourceslist:12,sourceslistlex:12,space:[2,3,5,7,11,12,17,23],spacehack:7,spam:[11,15],span:[2,3,7,10,15],sparql:[1,2,12],sparqllex:12,spec:[2,12,23],special:[2,3,5,7,11,18,22],specif:[2,3,7,11],specifi:[0,3,6,7,11,12,17,18],speed:2,spell:11,sphinx:[2,21],spigarelli:1,spitfir:[2,12],split:[0,2,3,12,15,17,18],splitlin:2,splu:12,spt:12,sql:[1,2,23],sqlite3:[2,12],sqlite:23,sqliteconsolelex:12,sqllexer:12,squeak:12,squid:[1,2,12,23],squidconf:12,squidconflex:12,src:12,ssp:[2,12],ssplexer:12,stabl:22,stack:[2,11],stan:[1,2,12],stand:21,standalon:10,standard:[0,1,2,3,6,7,12,15,21],standard_typ:18,standardml:12,stanlex:12,stap:1,star:11,start:[0,2,6,7,8,11,12,18],starter:11,startinlin:12,stata:[1,2],statalex:12,state1:11,state2:11,state:[2,12],statement:[0,2,12],staticmethod:0,statist:2,statu:12,stdin:12,stdout:[3,19],stefan:[1,12],step:[7,11,21],stepan:1,stephen:1,steve:1,steven:1,still:[2,7,11,17,18,19],stingrai:12,stolen:12,store:[7,11,12,21],stou:1,strachan:1,straightforward:6,strang:11,stream:[0,2,3,4,5,6,7,12,15,19],strict:2,string:[0,2,3,5,6,7,10,11,12,15,17,18,19],string_to_tokentyp:18,stringio:7,strip:[11,12,15],stripal:[0,12,15],stripnl:[0,2,12],strong:18,strongli:12,structur:12,stuart:1,studio:[2,12],stuff:7,style:[0,1,2,5,7,8,11,14,15,18,23],style_map:[0,17],stylebegin:6,styleend:6,styleguid:5,stylemap:6,stylenameclass:17,stylesheet:[2,3,7,13,15],styleshet:12,subclass:[0,2,7,12,17],subdirectori:13,subhead:[11,18],subheadlin:18,submit:8,subpackag:[2,17],subsequ:[0,7,12],subset:12,subsystem:12,subtoken:17,subtyp:18,successor:[21,23],suffix:[2,11],suggest:8,suit:[1,2,11],suitabl:[0,2,7,22],sullivan:1,supercollid:[1,2],supercolliderlex:12,superset:12,supertoken:17,suppli:[12,18],support:[1,2,3,6,7,11,12,15,16,17,18,22],suppos:[7,15],suppress:2,sure:[3,11,12,22],surpris:2,sven:1,svg:[1,2,7,12],svgformatt:7,svh:12,svn:12,swallow:2,swg:12,swift:[1,2,12],swiftlex:12,swig:[1,2,12],swiglex:12,sybas:12,sylvestr:1,symbol:[2,12,18],synonym:11,syntact:[18,21],syntax:[2,3,7,11,17,18,21,22],syntaxerror:2,sys:[3,19],system:[3,7,10,11,20],systemverilog:[1,2,12],systemveriloglex:12,sysutil:12,tab:[2,5,7,12],tabl:[2,7],tabsiz:[0,5,12],tac:12,tad:[1,2,12],tads3:12,tads3lex:12,tag:[2,3,5,6,7,11,12,15,18],tagsfil:7,tagurlformat:7,tail:12,take:[0,2,5,7,11,12,15,20,21,22,23],taken:[0,2,12],tamil:[12,23],tango:[1,2],tanner:1,tap:[1,12],taplex:12,tarbal:[2,11],target:12,task:12,tasm:12,tasmlex:[2,12],tassilo:1,tcl:[1,2,23],tcllexer:12,tcsh:[1,2,12,23],tcshcon:12,tcshlexer:12,tcshsessionlex:12,tea:[1,2,12,23],team:[17,22],teatemplatelex:12,techniqu:11,ted:1,tell:[7,11],templat:[0,2,11,15],tenani:1,teng:[1,2],tera:[1,2,23],teraterm:12,teratermlex:12,teratermmacro:12,term:[1,2,11,15,23],termcap:12,termcaplex:12,termin:[1,2,3,7,12,15,19],terminal16m:7,terminal256:[1,2,7],terminal256formatt:[7,17],terminalformatt:[2,3,7],terminaltruecolorformatt:7,terminfo:12,terminfolex:12,ternari:2,terraform:[1,2,12],terraformi:12,terraformlex:12,test:[1,2,3,15,18],testcas:7,testcaseformatt:7,tex:[7,12,23],texcom:7,texlex:12,text:[0,2,3,7,11,15,16,17,18,19,21,22],textedit:12,textfmt:12,textlex:12,than:[2,9,11,17],thank:[1,2,7,10],thei:[0,2,6,7,11,12,14,15,17,18],them:[0,2,5,7,8,11,12,15,18,21,22,23],theme:[2,17],themselv:11,theori:7,therefor:[3,7,12],thi:[0,2,3,5,6,7,10,11,12,13,14,15,16,17,18,19,20,22,23],thing:11,think:[0,19],third:11,thoma:1,thoroughli:21,those:[6,11,12,14,18],though:[12,21],three:2,thrift:[1,2,12],thriftlex:12,through:[3,11,15],thu:[7,17],thurgood:[1,12],thy:12,tiberiu:[1,2],ticket:[2,22],tiffin:1,tim:[1,2,22],time:[2,7,11],timhatch:1,timothi:1,titl:[0,7],tmp:11,tmpl:12,toc:12,todo:[2,5,12],todotxt:12,todotxtlex:12,togeth:[7,12,15],toggl:7,token:[0,2,3,4,5,6,7,8,12,15,17],token_typ:6,tokenmerg:5,tokenmergefilt:5,tokensourc:[0,6],tokenstr:7,tokentyp:[0,5,7,11],tolbert:1,toler:11,tom:1,toml:[1,2,12,23],tomllex:12,too:[2,3,11,12],tool:[2,12,21,22],top:[7,11,13],toplevel:11,topmost:11,total:[5,11],totaldownload:12,tpl:12,trac:[2,12,21,23],traceback:[1,2,12,18,23],tracker:[2,21,22],traffic:12,trafficscript:1,trail:[12,15],trailer:2,trait:12,transact:[1,12],transactsqllex:12,transcript:12,transfer:12,transform:12,translat:2,transpar:17,treat:[12,17],treat_stdlib_adts_as_builtin:12,tree:12,treetop:[1,2,12],treetoplex:12,trevor:1,tri:[2,3,11,19],trick:[8,15],tricki:11,trigger:7,troff:12,trove:2,trust:11,trute:1,tryzelaar:1,tspan:7,tsql:12,tst:12,tsx:12,ttl:12,ttype:[4,6],tupl:[0,6,7,11,12],turbo:12,turbopasc:12,turn:12,turtl:[1,2,12],turtlelex:12,tutori:10,twig:[2,12],twightmllex:12,twiglex:12,two:[6,7,11,12,15],twowaybind:12,txt:[2,7,12],type:[0,2,5,6,7,11,12,15,17,18],typescript:[1,2,12],typescriptlex:12,typeset:[7,12],typic:12,typo3:12,typo3cm:12,typoscript:[1,2],typoscriptcssdata:12,typoscriptcssdatalex:12,typoscripthtmldata:12,typoscripthtmldatalex:12,typoscriptlex:12,typoscriptrefer:12,ucodelex:12,udalov:1,udiff:[2,12],udo:12,unabl:11,unbalanc:12,unchang:7,uncolor:4,uncolorfilt:4,under:[11,20,21],underlin:[6,7,12,17],underscor:2,understand:[7,14,17],undocu:12,unexpect:19,unfold:12,unfortun:11,unhandl:12,unicod:[2,5,7,8,11,12,15],unicodedecodeerror:19,unicodeerror:2,unicodelevel:12,unicon:2,uniconlex:12,unifi:[2,12],uniqu:[0,15],unistr:2,unit:[2,12],univers:[1,21],unix:12,unknown:12,unless:7,unlex:12,unlimit:[12,18],unmatch:12,unmodifi:11,unnecessari:11,unnecessarili:12,unpack:11,unquot:2,unsign:2,unstyl:18,until:11,untouch:12,unus:18,updat:[1,2,7,12],upper:[3,5],uppercas:[5,15,18],urbi:12,urbiscript:[1,2],urbiscriptlex:12,usabl:[0,6,17,21,22],usag:[0,3,21],use:[2,3,4,5,6,7,10,11,12,13,14,15,16,17,18,19,22],used:[0,2,3,4,5,6,7,11,12,13,14,15,17,18,21],useful:[2,5,7,12,18,21],usepackag:7,user:[0,7,9,12],uses:[0,2,4,7,9,10,11,15],usesyslog:12,using:[0,2,3,4,7,11,12,15,16,17,18,19,20,21],usr:15,usual:[7,15,20],utf8:2,utf:[2,7,10,12,19],util:[0,2,4,21],v4_0_0:10,vala:[1,2,12,23],valalex:12,valentin:1,valid:[0,12,21],vallentin:1,valu:[0,2,3,4,5,6,7,11,12,14,17,18],valueerror:2,van:1,vapi:12,vari:17,variabl:[2,7,10,11,12,18],variant:[12,17],varieti:17,variou:[0,2,8,23],vark:12,varnish:[1,2],varrazzo:1,varun:1,vba:12,vbnet:12,vbnetaspxlex:12,vbnetlex:12,vbs:12,vbscript:[1,2,12],vbscriptlex:12,vcl:12,vcllexer:12,vclsnippet:12,vclsnippetlex:12,vclsrc:12,vctreestatu:12,vctreestatuslex:12,veloc:12,velocityhtmllex:12,velocitylex:12,velocityxmllex:12,vera:7,verbatim:[2,7],verbopt:7,verbosepkglist:12,veri:[0,4,11,12,22],verilog:[2,12,23],veriloglex:12,version:[0,3,4,5,7,10,11,12,15,17,18,19,21,23],versionad:12,vert:12,vfp:12,vgl:[1,2,12],vgllexer:12,vhd:12,vhdl:[1,2,12,23],vhdllexer:12,via:[7,9,12,19],view:[11,12],viewer:[7,21],viewvc:21,vim:[1,2,12,23],viml:12,vimlex:12,vimrc:12,vincent:1,vinot:1,visibl:[2,5],visiblewhitespacefilt:[2,5,18],vision:12,visit:15,visual:[1,2,23],vnd:12,voelker:1,volunt:22,vpr:12,wai:[2,7,11,17,18,19],wait:21,want:[3,5,7,10,11,12,13,14,15,17,18],wasn:11,watch:23,wavemetr:12,wdiff:[1,2,12],wdifflex:12,web:[11,21],webmisc:12,websit:2,weechat:[2,12],weechatlog:12,weight:[7,15],weizenbaum:1,welcom:[15,23],well:[2,6,7,12,21,23],were:[2,14],what:[2,3,15],when:[2,5,7,11,12,15,17,22],where:[0,6,7,11,13,15,17],whether:[0,2,7],whetsel:1,which:[0,2,3,5,7,10,11,12,14,15,17,18,19,20],whilei:[1,2],whileylex:12,white:17,whitespac:[0,2,5,7,11,12,15,17,18],whitnei:1,whole:[6,7,11],whose:[2,12,13,15],why:[4,21,23],wide:[12,21,22],width:7,wiki:[2,12,13,21,22,23],wikipedia:21,wildcard:3,william:1,willing:13,winbatch:12,winbug:12,window:[2,7,12,23],winkler:1,winner:2,winston:2,winter:[1,12],wish:21,within:[0,7,12],without:[0,2,7,11,12,14,18],wlua:12,wolfram:12,won:[3,4,7,11],word:[2,3,5,7,11,12,18],wordpress:21,work:[2,3,5,7,10,11,12,15,17,20],workaround:7,world:[3,10,15,17],would:[5,6,7,10,11,12,18],wouldn:7,wppygment:21,wpygment:21,wrap:[2,6,7,15],wrapcod:7,wrapper:[2,7,21],write:[0,2,5,7,8,12,14,15,18,19,21,23],written:[0,1,2,3,7,11,14,15,17,19,21],wrong:19,wsdl:12,wsf:12,wstokentyp:5,www:[10,12],wxhtmlpygment:21,wybir:1,x10:1,x10lexer:12,x1b:17,x1z:12,xbase:12,xchat:[2,12],xcode:2,xds:12,xhtml:[12,21],xmi:12,xml:[2,7,10,18,23],xmldjangolex:12,xmlerblex:12,xmllexer:12,xmln:10,xmlphplexer:12,xmlschema:10,xmlsmartylex:12,xoffset:7,xorglex:12,xpl:12,xql:12,xqm:12,xqueri:[1,2,12,23],xquerylex:12,xqy:12,xsd:[10,12],xsi:10,xsl:12,xslt:[1,2,12,23],xsltlexer:12,xten:12,xtend:[1,2,12],xtendlex:12,xtlang:12,xtlanglex:12,xtm:12,xul:12,xwiki:21,xxd:12,xxx:5,yai:2,yaml:[1,2,12,23],yamljinjalex:12,yamllex:12,yellow:17,yes:[0,11],yet:3,yield:[0,2,4,6,7,11,12],yml:12,yoffset:7,you:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],young:1,your:[3,5,7,8,9,12,13,14,16,17,18,23],your_formatt:3,your_lex:[3,11],your_lexer_fil:11,your_named_lex:11,yourapp:17,yourfilt:14,yourformatt:14,yourlex:14,yourmodul:[14,17],yourself:[11,21],yourstyl:[14,17],ystep:7,zamboni:1,zamudio:1,zeitdilat:2,zep:12,zephir:[12,23],zephirlex:12,zero:12,zerodivisionerror:12,zig:2,ziglang:12,ziglex:12,zimin:1,zimmerman:1,zimtstern:2,zip:12,zsh:12,zshrc:12,zurczak:1},titles:["The full Pygments API","Full contributor list","Pygments changelog","Command Line Interface","Write your own filter","Filters","Write your own formatter","Available formatters","Pygments documentation","Using Pygments in various scenarios","Use Pygments in Java","Write your own lexer","Available lexers","Using Pygments with MoinMoin","Register Plugins","Introduction and Quickstart","Using Pygments in ReST documents","Styles","Builtin Tokens","Unicode and Encodings","Download and installation","Pygments FAQ","Welcome!","Supported languages"],titleterms:{"0rc1":2,"6rc1":2,"class":[7,11],"new":[11,21],Adding:11,RTS:12,SAS:12,The:[0,11,14,22],Use:[10,14],Using:[4,9,11,13,16],actionscript:12,advanc:11,algebra:12,all:[12,23],ambienttalk:12,ampl:12,api:0,apl:12,archetyp:12,architectur:15,assembl:12,author:22,autom:12,avail:[7,12,17],bash:9,basic:12,bibliographi:12,bibtex:12,bnf:12,boa:12,bug:21,builtin:[5,17,18],busi:12,callback:11,can:21,cap:12,chang:11,changelog:2,chapel:12,clean:12,code:12,come:21,command:[3,12,15],comment:18,common:7,compact:12,complet:9,comput:12,config:12,configur:12,consol:12,contribut:22,contributor:1,core:14,creat:17,crystal:12,csound:12,css:12,custom:3,dalvik:12,data:12,decor:4,definit:[6,12],deleg:11,deriv:11,descriptor:12,develop:20,dialect:12,diff:12,document:[8,16],doe:21,domain:12,download:20,dsl:12,dump:12,dylan:12,ecl:12,eiffel:12,elm:12,embed:12,encod:[3,19],engin:12,entrypoint:14,erlang:12,esoter:12,exampl:15,extend:14,extendedregexlex:11,extens:12,ezhil:12,factor:12,famili:12,fantom:12,faq:21,featur:21,felix:12,fiction:12,file:12,filter:[3,4,5],flag:11,floscript:12,format:12,formatt:[0,3,6,7,15],formerli:12,forth:12,fortran:12,foxpro:12,framework:12,freefem:12,from:[11,21],full:[0,1],game:12,gener:[3,6,12,18],get:[3,17],googl:12,grammer:12,graph:12,graphic:12,guess:15,handl:11,hardwar:12,haskel:12,hax:12,help:3,hexadecim:12,high:0,how:[14,21],html:[6,12],icon:12,idl:12,igor:12,includ:12,inferno:12,instal:[12,20],interact:12,interfac:3,intermedi:12,internet:12,introduct:15,iter:12,ivl:12,java:10,javascript:12,julia:12,jvm:12,keyword:[11,18],known:12,languag:[9,12,21,23],level:0,lexer:[0,3,11,12,15],like:12,line:[3,15],lispi:12,list:[1,11,17],liter:18,lookup:15,macro:12,mail:12,make:21,makefil:12,markdown:9,markup:[12,23],matlab:12,microsoft:12,mime:12,misc:12,model:12,modifi:11,modula:12,moinmoin:13,mont:12,multi:12,multipl:11,multipurpos:12,mxml:12,name:[3,18,21],ncar:12,net:12,nim:12,nimrod:12,nit:12,nix:12,nixo:12,non:12,notat:12,note:3,oberon:12,object:12,onc:11,ooc:12,oper:[12,18],option:[0,3,7,15],orient:12,other:[9,12,23],output:12,over:12,own:[4,6,11,17],packag:[12,20],parasail:12,parser:12,pascal:12,patch:12,pawn:12,perl:12,php:12,plot:12,plugin:14,poni:12,praat:12,pro:12,process:[0,12,21],program:[12,21,23],prolog:12,proto:12,prove:12,punctuat:18,pygment:[0,2,8,9,10,12,13,16,21],python:12,queri:12,quickstart:[6,15],qvt:12,raw:12,rdf:12,rebol:12,regex:11,regexlex:11,regist:14,relat:12,relax:12,report:21,requir:21,resourc:12,rest:16,riverb:12,roboconf:12,robot:12,rubi:12,rule:17,rust:12,scan:11,scenario:9,schema:12,script:12,semant:12,session:12,sgf:12,shell:12,similar:12,simpl:12,slash:12,smalltalk:12,smart:12,smv:12,snobol:12,sourc:[12,20],special:12,specif:12,sql:12,stata:12,state:11,stream:11,stuff:12,style:[3,6,12,17,21],stylesheet:12,subclass:[4,11],suggest:21,supercollid:12,support:[21,23],syntax:12,system:[12,21],tcl:12,templat:[12,23],tera:12,term:12,termin:17,test:[11,12],text:12,textmat:9,than:12,theorem:12,thi:21,token:[11,18],trafficscript:12,trick:11,typoscript:12,ucod:12,unicod:19,unicon:12,urbiscript:12,usag:15,use:21,uses:21,variou:[9,12],varnish:12,verif:12,version:[2,20],visual:12,want:21,web:12,welcom:22,what:21,where:21,whilei:12,who:21,wrapper:9,write:[4,6,11],x10:12,xml:12,xorg:12,your:[4,6,11],zig:12}})
\ No newline at end of file
--- /dev/null
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: c79bd2c7f6735b09a44f7dfcaa237099
+tags: 645f666f9bcd5a90fca523b33c5a78b7
--- /dev/null
+.. -*- mode: rst -*-
+
+=====================
+The full Pygments API
+=====================
+
+This page describes the Pygments API.
+
+High-level API
+==============
+
+.. module:: pygments
+
+Functions from the :mod:`pygments` module:
+
+.. function:: lex(code, lexer)
+
+ Lex `code` with the `lexer` (must be a `Lexer` instance)
+ and return an iterable of tokens. Currently, this only calls
+ `lexer.get_tokens()`.
+
+.. function:: format(tokens, formatter, outfile=None)
+
+ Format a token stream (iterable of tokens) `tokens` with the
+ `formatter` (must be a `Formatter` instance). The result is
+ written to `outfile`, or if that is ``None``, returned as a
+ string.
+
+.. function:: highlight(code, lexer, formatter, outfile=None)
+
+ This is the most high-level highlighting function.
+ It combines `lex` and `format` in one function.
+
+
+.. module:: pygments.lexers
+
+Functions from :mod:`pygments.lexers`:
+
+.. function:: get_lexer_by_name(alias, **options)
+
+ Return an instance of a `Lexer` subclass that has `alias` in its
+ aliases list. The lexer is given the `options` at its
+ instantiation.
+
+ Will raise :exc:`pygments.util.ClassNotFound` if no lexer with that alias is
+ found.
+
+.. function:: get_lexer_for_filename(fn, **options)
+
+ Return a `Lexer` subclass instance that has a filename pattern
+ matching `fn`. The lexer is given the `options` at its
+ instantiation.
+
+ Will raise :exc:`pygments.util.ClassNotFound` if no lexer for that filename
+ is found.
+
+.. function:: get_lexer_for_mimetype(mime, **options)
+
+ Return a `Lexer` subclass instance that has `mime` in its mimetype
+ list. The lexer is given the `options` at its instantiation.
+
+ Will raise :exc:`pygments.util.ClassNotFound` if not lexer for that mimetype
+ is found.
+
+.. function:: load_lexer_from_file(filename, lexername="CustomLexer", **options)
+
+ Return a `Lexer` subclass instance loaded from the provided file, relative
+ to the current directory. The file is expected to contain a Lexer class
+ named `lexername` (by default, CustomLexer). Users should be very careful with
+ the input, because this method is equivalent to running eval on the input file.
+ The lexer is given the `options` at its instantiation.
+
+ :exc:`ClassNotFound` is raised if there are any errors loading the Lexer
+
+ .. versionadded:: 2.2
+
+.. function:: guess_lexer(text, **options)
+
+ Return a `Lexer` subclass instance that's guessed from the text in
+ `text`. For that, the :meth:`.analyse_text()` method of every known lexer
+ class is called with the text as argument, and the lexer which returned the
+ highest value will be instantiated and returned.
+
+ :exc:`pygments.util.ClassNotFound` is raised if no lexer thinks it can
+ handle the content.
+
+.. function:: guess_lexer_for_filename(filename, text, **options)
+
+ As :func:`guess_lexer()`, but only lexers which have a pattern in `filenames`
+ or `alias_filenames` that matches `filename` are taken into consideration.
+
+ :exc:`pygments.util.ClassNotFound` is raised if no lexer thinks it can
+ handle the content.
+
+.. function:: get_all_lexers()
+
+ Return an iterable over all registered lexers, yielding tuples in the
+ format::
+
+ (longname, tuple of aliases, tuple of filename patterns, tuple of mimetypes)
+
+ .. versionadded:: 0.6
+
+.. function:: find_lexer_class_by_name(alias)
+
+ Return the `Lexer` subclass that has `alias` in its aliases list, without
+ instantiating it.
+
+ Will raise :exc:`pygments.util.ClassNotFound` if no lexer with that alias is
+ found.
+
+ .. versionadded:: 2.2
+
+.. function:: find_lexer_class(name)
+
+ Return the `Lexer` subclass that with the *name* attribute as given by
+ the *name* argument.
+
+
+.. module:: pygments.formatters
+
+Functions from :mod:`pygments.formatters`:
+
+.. function:: get_formatter_by_name(alias, **options)
+
+ Return an instance of a :class:`.Formatter` subclass that has `alias` in its
+ aliases list. The formatter is given the `options` at its instantiation.
+
+ Will raise :exc:`pygments.util.ClassNotFound` if no formatter with that
+ alias is found.
+
+.. function:: get_formatter_for_filename(fn, **options)
+
+ Return a :class:`.Formatter` subclass instance that has a filename pattern
+ matching `fn`. The formatter is given the `options` at its instantiation.
+
+ Will raise :exc:`pygments.util.ClassNotFound` if no formatter for that filename
+ is found.
+
+.. function:: load_formatter_from_file(filename, formattername="CustomFormatter", **options)
+
+ Return a `Formatter` subclass instance loaded from the provided file, relative
+ to the current directory. The file is expected to contain a Formatter class
+ named ``formattername`` (by default, CustomFormatter). Users should be very
+ careful with the input, because this method is equivalent to running eval
+ on the input file. The formatter is given the `options` at its instantiation.
+
+ :exc:`ClassNotFound` is raised if there are any errors loading the Formatter
+
+ .. versionadded:: 2.2
+
+.. module:: pygments.styles
+
+Functions from :mod:`pygments.styles`:
+
+.. function:: get_style_by_name(name)
+
+ Return a style class by its short name. The names of the builtin styles
+ are listed in :data:`pygments.styles.STYLE_MAP`.
+
+ Will raise :exc:`pygments.util.ClassNotFound` if no style of that name is
+ found.
+
+.. function:: get_all_styles()
+
+ Return an iterable over all registered styles, yielding their names.
+
+ .. versionadded:: 0.6
+
+
+.. module:: pygments.lexer
+
+Lexers
+======
+
+The base lexer class from which all lexers are derived is:
+
+.. class:: Lexer(**options)
+
+ The constructor takes a \*\*keywords dictionary of options.
+ Every subclass must first process its own options and then call
+ the `Lexer` constructor, since it processes the `stripnl`,
+ `stripall` and `tabsize` options.
+
+ An example looks like this:
+
+ .. sourcecode:: python
+
+ def __init__(self, **options):
+ self.compress = options.get('compress', '')
+ Lexer.__init__(self, **options)
+
+ As these options must all be specifiable as strings (due to the
+ command line usage), there are various utility functions
+ available to help with that, see `Option processing`_.
+
+ .. method:: get_tokens(text)
+
+ This method is the basic interface of a lexer. It is called by
+ the `highlight()` function. It must process the text and return an
+ iterable of ``(tokentype, value)`` pairs from `text`.
+
+ Normally, you don't need to override this method. The default
+ implementation processes the `stripnl`, `stripall` and `tabsize`
+ options and then yields all tokens from `get_tokens_unprocessed()`,
+ with the ``index`` dropped.
+
+ .. method:: get_tokens_unprocessed(text)
+
+ This method should process the text and return an iterable of
+ ``(index, tokentype, value)`` tuples where ``index`` is the starting
+ position of the token within the input text.
+
+ This method must be overridden by subclasses.
+
+ .. staticmethod:: analyse_text(text)
+
+ A static method which is called for lexer guessing. It should analyse
+ the text and return a float in the range from ``0.0`` to ``1.0``.
+ If it returns ``0.0``, the lexer will not be selected as the most
+ probable one, if it returns ``1.0``, it will be selected immediately.
+
+ .. note:: You don't have to add ``@staticmethod`` to the definition of
+ this method, this will be taken care of by the Lexer's metaclass.
+
+ For a list of known tokens have a look at the :doc:`tokens` page.
+
+ A lexer also can have the following attributes (in fact, they are mandatory
+ except `alias_filenames`) that are used by the builtin lookup mechanism.
+
+ .. attribute:: name
+
+ Full name for the lexer, in human-readable form.
+
+ .. attribute:: aliases
+
+ A list of short, unique identifiers that can be used to lookup
+ the lexer from a list, e.g. using `get_lexer_by_name()`.
+
+ .. attribute:: filenames
+
+ A list of `fnmatch` patterns that match filenames which contain
+ content for this lexer. The patterns in this list should be unique among
+ all lexers.
+
+ .. attribute:: alias_filenames
+
+ A list of `fnmatch` patterns that match filenames which may or may not
+ contain content for this lexer. This list is used by the
+ :func:`.guess_lexer_for_filename()` function, to determine which lexers
+ are then included in guessing the correct one. That means that
+ e.g. every lexer for HTML and a template language should include
+ ``\*.html`` in this list.
+
+ .. attribute:: mimetypes
+
+ A list of MIME types for content that can be lexed with this
+ lexer.
+
+
+.. module:: pygments.formatter
+
+Formatters
+==========
+
+A formatter is derived from this class:
+
+
+.. class:: Formatter(**options)
+
+ As with lexers, this constructor processes options and then must call the
+ base class :meth:`__init__`.
+
+ The :class:`Formatter` class recognizes the options `style`, `full` and
+ `title`. It is up to the formatter class whether it uses them.
+
+ .. method:: get_style_defs(arg='')
+
+ This method must return statements or declarations suitable to define
+ the current style for subsequent highlighted text (e.g. CSS classes
+ in the `HTMLFormatter`).
+
+ The optional argument `arg` can be used to modify the generation and
+ is formatter dependent (it is standardized because it can be given on
+ the command line).
+
+ This method is called by the ``-S`` :doc:`command-line option <cmdline>`,
+ the `arg` is then given by the ``-a`` option.
+
+ .. method:: format(tokensource, outfile)
+
+ This method must format the tokens from the `tokensource` iterable and
+ write the formatted version to the file object `outfile`.
+
+ Formatter options can control how exactly the tokens are converted.
+
+ .. versionadded:: 0.7
+ A formatter must have the following attributes that are used by the
+ builtin lookup mechanism.
+
+ .. attribute:: name
+
+ Full name for the formatter, in human-readable form.
+
+ .. attribute:: aliases
+
+ A list of short, unique identifiers that can be used to lookup
+ the formatter from a list, e.g. using :func:`.get_formatter_by_name()`.
+
+ .. attribute:: filenames
+
+ A list of :mod:`fnmatch` patterns that match filenames for which this
+ formatter can produce output. The patterns in this list should be unique
+ among all formatters.
+
+
+.. module:: pygments.util
+
+Option processing
+=================
+
+The :mod:`pygments.util` module has some utility functions usable for option
+processing:
+
+.. exception:: OptionError
+
+ This exception will be raised by all option processing functions if
+ the type or value of the argument is not correct.
+
+.. function:: get_bool_opt(options, optname, default=None)
+
+ Interpret the key `optname` from the dictionary `options` as a boolean and
+ return it. Return `default` if `optname` is not in `options`.
+
+ The valid string values for ``True`` are ``1``, ``yes``, ``true`` and
+ ``on``, the ones for ``False`` are ``0``, ``no``, ``false`` and ``off``
+ (matched case-insensitively).
+
+.. function:: get_int_opt(options, optname, default=None)
+
+ As :func:`get_bool_opt`, but interpret the value as an integer.
+
+.. function:: get_list_opt(options, optname, default=None)
+
+ If the key `optname` from the dictionary `options` is a string,
+ split it at whitespace and return it. If it is already a list
+ or a tuple, it is returned as a list.
+
+.. function:: get_choice_opt(options, optname, allowed, default=None)
+
+ If the key `optname` from the dictionary is not in the sequence
+ `allowed`, raise an error, otherwise return it.
+
+ .. versionadded:: 0.8
--- /dev/null
+Full contributor list
+=====================
+
+.. include:: ../../AUTHORS
--- /dev/null
+.. include:: ../../CHANGES
--- /dev/null
+.. -*- mode: rst -*-
+
+======================
+Command Line Interface
+======================
+
+You can use Pygments from the shell, provided you installed the
+:program:`pygmentize` script::
+
+ $ pygmentize test.py
+ print "Hello World"
+
+will print the file test.py to standard output, using the Python lexer
+(inferred from the file name extension) and the terminal formatter (because
+you didn't give an explicit formatter name).
+
+If you want HTML output::
+
+ $ pygmentize -f html -l python -o test.html test.py
+
+As you can see, the -l option explicitly selects a lexer. As seen above, if you
+give an input file name and it has an extension that Pygments recognizes, you can
+omit this option.
+
+The ``-o`` option gives an output file name. If it is not given, output is
+written to stdout.
+
+The ``-f`` option selects a formatter (as with ``-l``, it can also be omitted
+if an output file name is given and has a supported extension).
+If no output file name is given and ``-f`` is omitted, the
+:class:`.TerminalFormatter` is used.
+
+The above command could therefore also be given as::
+
+ $ pygmentize -o test.html test.py
+
+To create a full HTML document, including line numbers and stylesheet (using the
+"emacs" style), highlighting the Python file ``test.py`` to ``test.html``::
+
+ $ pygmentize -O full,style=emacs -o test.html test.py
+
+
+Options and filters
+-------------------
+
+Lexer and formatter options can be given using the ``-O`` option::
+
+ $ pygmentize -f html -O style=colorful,linenos=1 -l python test.py
+
+Be sure to enclose the option string in quotes if it contains any special shell
+characters, such as spaces or expansion wildcards like ``*``. If an option
+expects a list value, separate the list entries with spaces (you'll have to
+quote the option value in this case too, so that the shell doesn't split it).
+
+Since the ``-O`` option argument is split at commas and expects the split values
+to be of the form ``name=value``, you can't give an option value that contains
+commas or equals signs. Therefore, an option ``-P`` is provided (as of Pygments
+0.9) that works like ``-O`` but can only pass one option per ``-P``. Its value
+can then contain all characters::
+
+ $ pygmentize -P "heading=Pygments, the Python highlighter" ...
+
+Filters are added to the token stream using the ``-F`` option::
+
+ $ pygmentize -f html -l pascal -F keywordcase:case=upper main.pas
+
+As you see, options for the filter are given after a colon. As for ``-O``, the
+filter name and options must be one shell word, so there may not be any spaces
+around the colon.
+
+
+Generating styles
+-----------------
+
+Formatters normally don't output full style information. For example, the HTML
+formatter by default only outputs ``<span>`` tags with ``class`` attributes.
+Therefore, there's a special ``-S`` option for generating style definitions.
+Usage is as follows::
+
+ $ pygmentize -f html -S colorful -a .syntax
+
+generates a CSS style sheet (because you selected the HTML formatter) for
+the "colorful" style prepending a ".syntax" selector to all style rules.
+
+For an explanation what ``-a`` means for :doc:`a particular formatter
+<formatters>`, look for the `arg` argument for the formatter's
+:meth:`.get_style_defs()` method.
+
+
+Getting lexer names
+-------------------
+
+.. versionadded:: 1.0
+
+The ``-N`` option guesses a lexer name for a given filename, so that ::
+
+ $ pygmentize -N setup.py
+
+will print out ``python``. It won't highlight anything yet. If no specific
+lexer is known for that filename, ``text`` is printed.
+
+Custom Lexers and Formatters
+----------------------------
+
+.. versionadded:: 2.2
+
+The ``-x`` flag enables custom lexers and formatters to be loaded
+from files relative to the current directory. Create a file with a class named
+CustomLexer or CustomFormatter, then specify it on the command line::
+
+ $ pygmentize -l your_lexer.py -f your_formatter.py -x
+
+You can also specify the name of your class with a colon::
+
+ $ pygmentize -l your_lexer.py:SomeLexer -x
+
+For more information, see :doc:`the Pygments documentation on Lexer development
+<lexerdevelopment>`.
+
+Getting help
+------------
+
+The ``-L`` option lists lexers, formatters, along with their short
+names and supported file name extensions, styles and filters. If you want to see
+only one category, give it as an argument::
+
+ $ pygmentize -L filters
+
+will list only all installed filters.
+
+The ``-H`` option will give you detailed information (the same that can be found
+in this documentation) about a lexer, formatter or filter. Usage is as follows::
+
+ $ pygmentize -H formatter html
+
+will print the help for the HTML formatter, while ::
+
+ $ pygmentize -H lexer python
+
+will print the help for the Python lexer, etc.
+
+
+A note on encodings
+-------------------
+
+.. versionadded:: 0.9
+
+Pygments tries to be smart regarding encodings in the formatting process:
+
+* If you give an ``encoding`` option, it will be used as the input and
+ output encoding.
+
+* If you give an ``outencoding`` option, it will override ``encoding``
+ as the output encoding.
+
+* If you give an ``inencoding`` option, it will override ``encoding``
+ as the input encoding.
+
+* If you don't give an encoding and have given an output file, the default
+ encoding for lexer and formatter is the terminal encoding or the default
+ locale encoding of the system. As a last resort, ``latin1`` is used (which
+ will pass through all non-ASCII characters).
+
+* If you don't give an encoding and haven't given an output file (that means
+ output is written to the console), the default encoding for lexer and
+ formatter is the terminal encoding (``sys.stdout.encoding``).
--- /dev/null
+.. -*- mode: rst -*-
+
+=====================
+Write your own filter
+=====================
+
+.. versionadded:: 0.7
+
+Writing own filters is very easy. All you have to do is to subclass
+the `Filter` class and override the `filter` method. Additionally a
+filter is instantiated with some keyword arguments you can use to
+adjust the behavior of your filter.
+
+
+Subclassing Filters
+===================
+
+As an example, we write a filter that converts all `Name.Function` tokens
+to normal `Name` tokens to make the output less colorful.
+
+.. sourcecode:: python
+
+ from pygments.util import get_bool_opt
+ from pygments.token import Name
+ from pygments.filter import Filter
+
+ class UncolorFilter(Filter):
+
+ def __init__(self, **options):
+ Filter.__init__(self, **options)
+ self.class_too = get_bool_opt(options, 'classtoo')
+
+ def filter(self, lexer, stream):
+ for ttype, value in stream:
+ if ttype is Name.Function or (self.class_too and
+ ttype is Name.Class):
+ ttype = Name
+ yield ttype, value
+
+Some notes on the `lexer` argument: that can be quite confusing since it doesn't
+need to be a lexer instance. If a filter was added by using the `add_filter()`
+function of lexers, that lexer is registered for the filter. In that case
+`lexer` will refer to the lexer that has registered the filter. It *can* be used
+to access options passed to a lexer. Because it could be `None` you always have
+to check for that case if you access it.
+
+
+Using a decorator
+=================
+
+You can also use the `simplefilter` decorator from the `pygments.filter` module:
+
+.. sourcecode:: python
+
+ from pygments.util import get_bool_opt
+ from pygments.token import Name
+ from pygments.filter import simplefilter
+
+
+ @simplefilter
+ def uncolor(self, lexer, stream, options):
+ class_too = get_bool_opt(options, 'classtoo')
+ for ttype, value in stream:
+ if ttype is Name.Function or (class_too and
+ ttype is Name.Class):
+ ttype = Name
+ yield ttype, value
+
+The decorator automatically subclasses an internal filter class and uses the
+decorated function as a method for filtering. (That's why there is a `self`
+argument that you probably won't end up using in the method.)
--- /dev/null
+.. -*- mode: rst -*-
+
+=======
+Filters
+=======
+
+.. versionadded:: 0.7
+
+You can filter token streams coming from lexers to improve or annotate the
+output. For example, you can highlight special words in comments, convert
+keywords to upper or lowercase to enforce a style guide etc.
+
+To apply a filter, you can use the `add_filter()` method of a lexer:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.lexers import PythonLexer
+ >>> l = PythonLexer()
+ >>> # add a filter given by a string and options
+ >>> l.add_filter('codetagify', case='lower')
+ >>> l.filters
+ [<pygments.filters.CodeTagFilter object at 0xb785decc>]
+ >>> from pygments.filters import KeywordCaseFilter
+ >>> # or give an instance
+ >>> l.add_filter(KeywordCaseFilter(case='lower'))
+
+The `add_filter()` method takes keyword arguments which are forwarded to
+the constructor of the filter.
+
+To get a list of all registered filters by name, you can use the
+`get_all_filters()` function from the `pygments.filters` module that returns an
+iterable for all known filters.
+
+If you want to write your own filter, have a look at :doc:`Write your own filter
+<filterdevelopment>`.
+
+
+Builtin Filters
+===============
+
+.. pygmentsdoc:: filters
--- /dev/null
+.. -*- mode: rst -*-
+
+========================
+Write your own formatter
+========================
+
+As well as creating :doc:`your own lexer <lexerdevelopment>`, writing a new
+formatter for Pygments is easy and straightforward.
+
+A formatter is a class that is initialized with some keyword arguments (the
+formatter options) and that must provides a `format()` method.
+Additionally a formatter should provide a `get_style_defs()` method that
+returns the style definitions from the style in a form usable for the
+formatter's output format.
+
+
+Quickstart
+==========
+
+The most basic formatter shipped with Pygments is the `NullFormatter`. It just
+sends the value of a token to the output stream:
+
+.. sourcecode:: python
+
+ from pygments.formatter import Formatter
+
+ class NullFormatter(Formatter):
+ def format(self, tokensource, outfile):
+ for ttype, value in tokensource:
+ outfile.write(value)
+
+As you can see, the `format()` method is passed two parameters: `tokensource`
+and `outfile`. The first is an iterable of ``(token_type, value)`` tuples,
+the latter a file like object with a `write()` method.
+
+Because the formatter is that basic it doesn't overwrite the `get_style_defs()`
+method.
+
+
+Styles
+======
+
+Styles aren't instantiated but their metaclass provides some class functions
+so that you can access the style definitions easily.
+
+Styles are iterable and yield tuples in the form ``(ttype, d)`` where `ttype`
+is a token and `d` is a dict with the following keys:
+
+``'color'``
+ Hexadecimal color value (eg: ``'ff0000'`` for red) or `None` if not
+ defined.
+
+``'bold'``
+ `True` if the value should be bold
+
+``'italic'``
+ `True` if the value should be italic
+
+``'underline'``
+ `True` if the value should be underlined
+
+``'bgcolor'``
+ Hexadecimal color value for the background (eg: ``'eeeeeee'`` for light
+ gray) or `None` if not defined.
+
+``'border'``
+ Hexadecimal color value for the border (eg: ``'0000aa'`` for a dark
+ blue) or `None` for no border.
+
+Additional keys might appear in the future, formatters should ignore all keys
+they don't support.
+
+
+HTML 3.2 Formatter
+==================
+
+For an more complex example, let's implement a HTML 3.2 Formatter. We don't
+use CSS but inline markup (``<u>``, ``<font>``, etc). Because this isn't good
+style this formatter isn't in the standard library ;-)
+
+.. sourcecode:: python
+
+ from pygments.formatter import Formatter
+
+ class OldHtmlFormatter(Formatter):
+
+ def __init__(self, **options):
+ Formatter.__init__(self, **options)
+
+ # create a dict of (start, end) tuples that wrap the
+ # value of a token so that we can use it in the format
+ # method later
+ self.styles = {}
+
+ # we iterate over the `_styles` attribute of a style item
+ # that contains the parsed style values.
+ for token, style in self.style:
+ start = end = ''
+ # a style item is a tuple in the following form:
+ # colors are readily specified in hex: 'RRGGBB'
+ if style['color']:
+ start += '<font color="#%s">' % style['color']
+ end = '</font>' + end
+ if style['bold']:
+ start += '<b>'
+ end = '</b>' + end
+ if style['italic']:
+ start += '<i>'
+ end = '</i>' + end
+ if style['underline']:
+ start += '<u>'
+ end = '</u>' + end
+ self.styles[token] = (start, end)
+
+ def format(self, tokensource, outfile):
+ # lastval is a string we use for caching
+ # because it's possible that an lexer yields a number
+ # of consecutive tokens with the same token type.
+ # to minimize the size of the generated html markup we
+ # try to join the values of same-type tokens here
+ lastval = ''
+ lasttype = None
+
+ # wrap the whole output with <pre>
+ outfile.write('<pre>')
+
+ for ttype, value in tokensource:
+ # if the token type doesn't exist in the stylemap
+ # we try it with the parent of the token type
+ # eg: parent of Token.Literal.String.Double is
+ # Token.Literal.String
+ while ttype not in self.styles:
+ ttype = ttype.parent
+ if ttype == lasttype:
+ # the current token type is the same of the last
+ # iteration. cache it
+ lastval += value
+ else:
+ # not the same token as last iteration, but we
+ # have some data in the buffer. wrap it with the
+ # defined style and write it to the output file
+ if lastval:
+ stylebegin, styleend = self.styles[lasttype]
+ outfile.write(stylebegin + lastval + styleend)
+ # set lastval/lasttype to current values
+ lastval = value
+ lasttype = ttype
+
+ # if something is left in the buffer, write it to the
+ # output file, then close the opened <pre> tag
+ if lastval:
+ stylebegin, styleend = self.styles[lasttype]
+ outfile.write(stylebegin + lastval + styleend)
+ outfile.write('</pre>\n')
+
+The comments should explain it. Again, this formatter doesn't override the
+`get_style_defs()` method. If we would have used CSS classes instead of
+inline HTML markup, we would need to generate the CSS first. For that
+purpose the `get_style_defs()` method exists:
+
+
+Generating Style Definitions
+============================
+
+Some formatters like the `LatexFormatter` and the `HtmlFormatter` don't
+output inline markup but reference either macros or css classes. Because
+the definitions of those are not part of the output, the `get_style_defs()`
+method exists. It is passed one parameter (if it's used and how it's used
+is up to the formatter) and has to return a string or ``None``.
--- /dev/null
+.. -*- mode: rst -*-
+
+====================
+Available formatters
+====================
+
+This page lists all builtin formatters.
+
+Common options
+==============
+
+All formatters support these options:
+
+`encoding`
+ If given, must be an encoding name (such as ``"utf-8"``). This will
+ be used to convert the token strings (which are Unicode strings)
+ to byte strings in the output (default: ``None``).
+ It will also be written in an encoding declaration suitable for the
+ document format if the `full` option is given (e.g. a ``meta
+ content-type`` directive in HTML or an invocation of the `inputenc`
+ package in LaTeX).
+
+ If this is ``""`` or ``None``, Unicode strings will be written
+ to the output file, which most file-like objects do not support.
+ For example, `pygments.highlight()` will return a Unicode string if
+ called with no `outfile` argument and a formatter that has `encoding`
+ set to ``None`` because it uses a `StringIO.StringIO` object that
+ supports Unicode arguments to `write()`. Using a regular file object
+ wouldn't work.
+
+ .. versionadded:: 0.6
+
+`outencoding`
+ When using Pygments from the command line, any `encoding` option given is
+ passed to the lexer and the formatter. This is sometimes not desirable,
+ for example if you want to set the input encoding to ``"guess"``.
+ Therefore, `outencoding` has been introduced which overrides `encoding`
+ for the formatter if given.
+
+ .. versionadded:: 0.7
+
+
+Formatter classes
+=================
+
+All these classes are importable from :mod:`pygments.formatters`.
+
+.. pygmentsdoc:: formatters
--- /dev/null
+Pygments documentation
+======================
+
+**Starting with Pygments**
+
+.. toctree::
+ :maxdepth: 1
+
+ ../download
+ quickstart
+ cmdline
+
+**Builtin components**
+
+.. toctree::
+ :maxdepth: 1
+
+ lexers
+ filters
+ formatters
+ styles
+
+**Reference**
+
+.. toctree::
+ :maxdepth: 1
+
+ unicode
+ tokens
+ api
+
+**Hacking for Pygments**
+
+.. toctree::
+ :maxdepth: 1
+
+ lexerdevelopment
+ formatterdevelopment
+ filterdevelopment
+ plugins
+
+**Hints and tricks**
+
+.. toctree::
+ :maxdepth: 1
+
+ rstdirective
+ moinmoin
+ java
+ integrate
+
+**About Pygments**
+
+.. toctree::
+ :maxdepth: 1
+
+ changelog
+ authors
+
+If you find bugs or have suggestions for the documentation, please submit them
+on `GitHub <https://github.com/pygments/pygments>`.
--- /dev/null
+.. -*- mode: rst -*-
+
+===================================
+Using Pygments in various scenarios
+===================================
+
+Markdown
+--------
+
+Since Pygments 0.9, the distribution ships Markdown_ preprocessor sample code
+that uses Pygments to render source code in
+:file:`external/markdown-processor.py`. You can copy and adapt it to your
+liking.
+
+.. _Markdown: http://www.freewisdom.org/projects/python-markdown/
+
+TextMate
+--------
+
+Antonio Cangiano has created a Pygments bundle for TextMate that allows to
+colorize code via a simple menu option. It can be found here_.
+
+.. _here: http://antoniocangiano.com/2008/10/28/pygments-textmate-bundle/
+
+Bash completion
+---------------
+
+The source distribution contains a file ``external/pygments.bashcomp`` that
+sets up completion for the ``pygmentize`` command in bash.
+
+Wrappers for other languages
+----------------------------
+
+These libraries provide Pygments highlighting for users of other languages
+than Python:
+
+* `pygments.rb <https://github.com/tmm1/pygments.rb>`_, a pygments wrapper for Ruby
+* `Clygments <https://github.com/bfontaine/clygments>`_, a pygments wrapper for
+ Clojure
+* `PHPygments <https://github.com/capynet/PHPygments>`_, a pygments wrapper for PHP
--- /dev/null
+=====================
+Use Pygments in Java
+=====================
+
+Thanks to `Jython <http://www.jython.org>`_ it is possible to use Pygments in
+Java.
+
+This page is a simple tutorial to get an idea of how this works. You can
+then look at the `Jython documentation <http://www.jython.org/docs/>`_ for more
+advanced uses.
+
+Since version 1.5, Pygments is deployed on `Maven Central
+<http://repo1.maven.org/maven2/org/pygments/pygments/>`_ as a JAR, as is Jython
+which makes it a lot easier to create a Java project.
+
+Here is an example of a `Maven <http://www.maven.org>`_ ``pom.xml`` file for a
+project running Pygments:
+
+.. sourcecode:: xml
+
+ <?xml version="1.0" encoding="UTF-8"?>
+
+ <project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>example</groupId>
+ <artifactId>example</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.python</groupId>
+ <artifactId>jython-standalone</artifactId>
+ <version>2.5.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.pygments</groupId>
+ <artifactId>pygments</artifactId>
+ <version>1.5</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+ </project>
+
+The following Java example:
+
+.. sourcecode:: java
+
+ PythonInterpreter interpreter = new PythonInterpreter();
+
+ // Set a variable with the content you want to work with
+ interpreter.set("code", code);
+
+ // Simple use Pygments as you would in Python
+ interpreter.exec("from pygments import highlight\n"
+ + "from pygments.lexers import PythonLexer\n"
+ + "from pygments.formatters import HtmlFormatter\n"
+ + "\nresult = highlight(code, PythonLexer(), HtmlFormatter())");
+
+ // Get the result that has been set in a variable
+ System.out.println(interpreter.get("result", String.class));
+
+will print something like:
+
+.. sourcecode:: html
+
+ <div class="highlight">
+ <pre><span class="k">print</span> <span class="s">"Hello World"</span></pre>
+ </div>
--- /dev/null
+.. -*- mode: rst -*-
+
+.. highlight:: python
+
+====================
+Write your own lexer
+====================
+
+If a lexer for your favorite language is missing in the Pygments package, you
+can easily write your own and extend Pygments.
+
+All you need can be found inside the :mod:`pygments.lexer` module. As you can
+read in the :doc:`API documentation <api>`, a lexer is a class that is
+initialized with some keyword arguments (the lexer options) and that provides a
+:meth:`.get_tokens_unprocessed()` method which is given a string or unicode
+object with the data to lex.
+
+The :meth:`.get_tokens_unprocessed()` method must return an iterator or iterable
+containing tuples in the form ``(index, token, value)``. Normally you don't
+need to do this since there are base lexers that do most of the work and that
+you can subclass.
+
+
+RegexLexer
+==========
+
+The lexer base class used by almost all of Pygments' lexers is the
+:class:`RegexLexer`. This class allows you to define lexing rules in terms of
+*regular expressions* for different *states*.
+
+States are groups of regular expressions that are matched against the input
+string at the *current position*. If one of these expressions matches, a
+corresponding action is performed (such as yielding a token with a specific
+type, or changing state), the current position is set to where the last match
+ended and the matching process continues with the first regex of the current
+state.
+
+Lexer states are kept on a stack: each time a new state is entered, the new
+state is pushed onto the stack. The most basic lexers (like the `DiffLexer`)
+just need one state.
+
+Each state is defined as a list of tuples in the form (`regex`, `action`,
+`new_state`) where the last item is optional. In the most basic form, `action`
+is a token type (like `Name.Builtin`). That means: When `regex` matches, emit a
+token with the match text and type `tokentype` and push `new_state` on the state
+stack. If the new state is ``'#pop'``, the topmost state is popped from the
+stack instead. To pop more than one state, use ``'#pop:2'`` and so on.
+``'#push'`` is a synonym for pushing the current state on the stack.
+
+The following example shows the `DiffLexer` from the builtin lexers. Note that
+it contains some additional attributes `name`, `aliases` and `filenames` which
+aren't required for a lexer. They are used by the builtin lexer lookup
+functions. ::
+
+ from pygments.lexer import RegexLexer
+ from pygments.token import *
+
+ class DiffLexer(RegexLexer):
+ name = 'Diff'
+ aliases = ['diff']
+ filenames = ['*.diff']
+
+ tokens = {
+ 'root': [
+ (r' .*\n', Text),
+ (r'\+.*\n', Generic.Inserted),
+ (r'-.*\n', Generic.Deleted),
+ (r'@.*\n', Generic.Subheading),
+ (r'Index.*\n', Generic.Heading),
+ (r'=.*\n', Generic.Heading),
+ (r'.*\n', Text),
+ ]
+ }
+
+As you can see this lexer only uses one state. When the lexer starts scanning
+the text, it first checks if the current character is a space. If this is true
+it scans everything until newline and returns the data as a `Text` token (which
+is the "no special highlighting" token).
+
+If this rule doesn't match, it checks if the current char is a plus sign. And
+so on.
+
+If no rule matches at the current position, the current char is emitted as an
+`Error` token that indicates a lexing error, and the position is increased by
+one.
+
+
+Adding and testing a new lexer
+==============================
+
+The easiest way to use a new lexer is to use Pygments' support for loading
+the lexer from a file relative to your current directory.
+
+First, change the name of your lexer class to CustomLexer:
+
+.. code-block:: python
+
+ from pygments.lexer import RegexLexer
+ from pygments.token import *
+
+ class CustomLexer(RegexLexer):
+ """All your lexer code goes here!"""
+
+Then you can load the lexer from the command line with the additional
+flag ``-x``:
+
+.. code-block:: console
+
+ $ pygmentize -l your_lexer_file.py -x
+
+To specify a class name other than CustomLexer, append it with a colon:
+
+.. code-block:: console
+
+ $ pygmentize -l your_lexer.py:SomeLexer -x
+
+Or, using the Python API:
+
+.. code-block:: python
+
+ # For a lexer named CustomLexer
+ your_lexer = load_lexer_from_file(filename, **options)
+
+ # For a lexer named MyNewLexer
+ your_named_lexer = load_lexer_from_file(filename, "MyNewLexer", **options)
+
+When loading custom lexers and formatters, be extremely careful to use only
+trusted files; Pygments will perform the equivalent of ``eval`` on them.
+
+If you only want to use your lexer with the Pygments API, you can import and
+instantiate the lexer yourself, then pass it to :func:`pygments.highlight`.
+
+To prepare your new lexer for inclusion in the Pygments distribution, so that it
+will be found when passing filenames or lexer aliases from the command line, you
+have to perform the following steps.
+
+First, change to the current directory containing the Pygments source code. You
+will need to have either an unpacked source tarball, or (preferably) a copy
+cloned from GitHub.
+
+.. code-block:: console
+
+ $ cd .../pygments-main
+
+Select a matching module under ``pygments/lexers``, or create a new module for
+your lexer class.
+
+Next, make sure the lexer is known from outside of the module. All modules in
+the ``pygments.lexers`` package specify ``__all__``. For example,
+``esoteric.py`` sets::
+
+ __all__ = ['BrainfuckLexer', 'BefungeLexer', ...]
+
+Add the name of your lexer class to this list (or create the list if your lexer
+is the only class in the module).
+
+Finally the lexer can be made publicly known by rebuilding the lexer mapping:
+
+.. code-block:: console
+
+ $ make mapfiles
+
+To test the new lexer, store an example file with the proper extension in
+``tests/examplefiles``. For example, to test your ``DiffLexer``, add a
+``tests/examplefiles/example.diff`` containing a sample diff output.
+
+Now you can use pygmentize to render your example to HTML:
+
+.. code-block:: console
+
+ $ ./pygmentize -O full -f html -o /tmp/example.html tests/examplefiles/example.diff
+
+Note that this explicitly calls the ``pygmentize`` in the current directory
+by preceding it with ``./``. This ensures your modifications are used.
+Otherwise a possibly already installed, unmodified version without your new
+lexer would have been called from the system search path (``$PATH``).
+
+To view the result, open ``/tmp/example.html`` in your browser.
+
+Once the example renders as expected, you should run the complete test suite:
+
+.. code-block:: console
+
+ $ make test
+
+It also tests that your lexer fulfills the lexer API and certain invariants,
+such as that the concatenation of all token text is the same as the input text.
+
+
+Regex Flags
+===========
+
+You can either define regex flags locally in the regex (``r'(?x)foo bar'``) or
+globally by adding a `flags` attribute to your lexer class. If no attribute is
+defined, it defaults to `re.MULTILINE`. For more information about regular
+expression flags see the page about `regular expressions`_ in the Python
+documentation.
+
+.. _regular expressions: http://docs.python.org/library/re.html#regular-expression-syntax
+
+
+Scanning multiple tokens at once
+================================
+
+So far, the `action` element in the rule tuple of regex, action and state has
+been a single token type. Now we look at the first of several other possible
+values.
+
+Here is a more complex lexer that highlights INI files. INI files consist of
+sections, comments and ``key = value`` pairs::
+
+ from pygments.lexer import RegexLexer, bygroups
+ from pygments.token import *
+
+ class IniLexer(RegexLexer):
+ name = 'INI'
+ aliases = ['ini', 'cfg']
+ filenames = ['*.ini', '*.cfg']
+
+ tokens = {
+ 'root': [
+ (r'\s+', Text),
+ (r';.*?$', Comment),
+ (r'\[.*?\]$', Keyword),
+ (r'(.*?)(\s*)(=)(\s*)(.*?)$',
+ bygroups(Name.Attribute, Text, Operator, Text, String))
+ ]
+ }
+
+The lexer first looks for whitespace, comments and section names. Later it
+looks for a line that looks like a key, value pair, separated by an ``'='``
+sign, and optional whitespace.
+
+The `bygroups` helper yields each capturing group in the regex with a different
+token type. First the `Name.Attribute` token, then a `Text` token for the
+optional whitespace, after that a `Operator` token for the equals sign. Then a
+`Text` token for the whitespace again. The rest of the line is returned as
+`String`.
+
+Note that for this to work, every part of the match must be inside a capturing
+group (a ``(...)``), and there must not be any nested capturing groups. If you
+nevertheless need a group, use a non-capturing group defined using this syntax:
+``(?:some|words|here)`` (note the ``?:`` after the beginning parenthesis).
+
+If you find yourself needing a capturing group inside the regex which shouldn't
+be part of the output but is used in the regular expressions for backreferencing
+(eg: ``r'(<(foo|bar)>)(.*?)(</\2>)'``), you can pass `None` to the bygroups
+function and that group will be skipped in the output.
+
+
+Changing states
+===============
+
+Many lexers need multiple states to work as expected. For example, some
+languages allow multiline comments to be nested. Since this is a recursive
+pattern it's impossible to lex just using regular expressions.
+
+Here is a lexer that recognizes C++ style comments (multi-line with ``/* */``
+and single-line with ``//`` until end of line)::
+
+ from pygments.lexer import RegexLexer
+ from pygments.token import *
+
+ class CppCommentLexer(RegexLexer):
+ name = 'Example Lexer with states'
+
+ tokens = {
+ 'root': [
+ (r'[^/]+', Text),
+ (r'/\*', Comment.Multiline, 'comment'),
+ (r'//.*?$', Comment.Singleline),
+ (r'/', Text)
+ ],
+ 'comment': [
+ (r'[^*/]', Comment.Multiline),
+ (r'/\*', Comment.Multiline, '#push'),
+ (r'\*/', Comment.Multiline, '#pop'),
+ (r'[*/]', Comment.Multiline)
+ ]
+ }
+
+This lexer starts lexing in the ``'root'`` state. It tries to match as much as
+possible until it finds a slash (``'/'``). If the next character after the slash
+is an asterisk (``'*'``) the `RegexLexer` sends those two characters to the
+output stream marked as `Comment.Multiline` and continues lexing with the rules
+defined in the ``'comment'`` state.
+
+If there wasn't an asterisk after the slash, the `RegexLexer` checks if it's a
+Singleline comment (i.e. followed by a second slash). If this also wasn't the
+case it must be a single slash, which is not a comment starter (the separate
+regex for a single slash must also be given, else the slash would be marked as
+an error token).
+
+Inside the ``'comment'`` state, we do the same thing again. Scan until the
+lexer finds a star or slash. If it's the opening of a multiline comment, push
+the ``'comment'`` state on the stack and continue scanning, again in the
+``'comment'`` state. Else, check if it's the end of the multiline comment. If
+yes, pop one state from the stack.
+
+Note: If you pop from an empty stack you'll get an `IndexError`. (There is an
+easy way to prevent this from happening: don't ``'#pop'`` in the root state).
+
+If the `RegexLexer` encounters a newline that is flagged as an error token, the
+stack is emptied and the lexer continues scanning in the ``'root'`` state. This
+can help producing error-tolerant highlighting for erroneous input, e.g. when a
+single-line string is not closed.
+
+
+Advanced state tricks
+=====================
+
+There are a few more things you can do with states:
+
+- You can push multiple states onto the stack if you give a tuple instead of a
+ simple string as the third item in a rule tuple. For example, if you want to
+ match a comment containing a directive, something like:
+
+ .. code-block:: text
+
+ /* <processing directive> rest of comment */
+
+ you can use this rule::
+
+ tokens = {
+ 'root': [
+ (r'/\* <', Comment, ('comment', 'directive')),
+ ...
+ ],
+ 'directive': [
+ (r'[^>]*', Comment.Directive),
+ (r'>', Comment, '#pop'),
+ ],
+ 'comment': [
+ (r'[^*]+', Comment),
+ (r'\*/', Comment, '#pop'),
+ (r'\*', Comment),
+ ]
+ }
+
+ When this encounters the above sample, first ``'comment'`` and ``'directive'``
+ are pushed onto the stack, then the lexer continues in the directive state
+ until it finds the closing ``>``, then it continues in the comment state until
+ the closing ``*/``. Then, both states are popped from the stack again and
+ lexing continues in the root state.
+
+ .. versionadded:: 0.9
+ The tuple can contain the special ``'#push'`` and ``'#pop'`` (but not
+ ``'#pop:n'``) directives.
+
+
+- You can include the rules of a state in the definition of another. This is
+ done by using `include` from `pygments.lexer`::
+
+ from pygments.lexer import RegexLexer, bygroups, include
+ from pygments.token import *
+
+ class ExampleLexer(RegexLexer):
+ tokens = {
+ 'comments': [
+ (r'/\*.*?\*/', Comment),
+ (r'//.*?\n', Comment),
+ ],
+ 'root': [
+ include('comments'),
+ (r'(function )(\w+)( {)',
+ bygroups(Keyword, Name, Keyword), 'function'),
+ (r'.', Text),
+ ],
+ 'function': [
+ (r'[^}/]+', Text),
+ include('comments'),
+ (r'/', Text),
+ (r'\}', Keyword, '#pop'),
+ ]
+ }
+
+ This is a hypothetical lexer for a language that consist of functions and
+ comments. Because comments can occur at toplevel and in functions, we need
+ rules for comments in both states. As you can see, the `include` helper saves
+ repeating rules that occur more than once (in this example, the state
+ ``'comment'`` will never be entered by the lexer, as it's only there to be
+ included in ``'root'`` and ``'function'``).
+
+- Sometimes, you may want to "combine" a state from existing ones. This is
+ possible with the `combined` helper from `pygments.lexer`.
+
+ If you, instead of a new state, write ``combined('state1', 'state2')`` as the
+ third item of a rule tuple, a new anonymous state will be formed from state1
+ and state2 and if the rule matches, the lexer will enter this state.
+
+ This is not used very often, but can be helpful in some cases, such as the
+ `PythonLexer`'s string literal processing.
+
+- If you want your lexer to start lexing in a different state you can modify the
+ stack by overriding the `get_tokens_unprocessed()` method::
+
+ from pygments.lexer import RegexLexer
+
+ class ExampleLexer(RegexLexer):
+ tokens = {...}
+
+ def get_tokens_unprocessed(self, text, stack=('root', 'otherstate')):
+ for item in RegexLexer.get_tokens_unprocessed(self, text, stack):
+ yield item
+
+ Some lexers like the `PhpLexer` use this to make the leading ``<?php``
+ preprocessor comments optional. Note that you can crash the lexer easily by
+ putting values into the stack that don't exist in the token map. Also
+ removing ``'root'`` from the stack can result in strange errors!
+
+- In some lexers, a state should be popped if anything is encountered that isn't
+ matched by a rule in the state. You could use an empty regex at the end of
+ the state list, but Pygments provides a more obvious way of spelling that:
+ ``default('#pop')`` is equivalent to ``('', Text, '#pop')``.
+
+ .. versionadded:: 2.0
+
+
+Subclassing lexers derived from RegexLexer
+==========================================
+
+.. versionadded:: 1.6
+
+Sometimes multiple languages are very similar, but should still be lexed by
+different lexer classes.
+
+When subclassing a lexer derived from RegexLexer, the ``tokens`` dictionaries
+defined in the parent and child class are merged. For example::
+
+ from pygments.lexer import RegexLexer, inherit
+ from pygments.token import *
+
+ class BaseLexer(RegexLexer):
+ tokens = {
+ 'root': [
+ ('[a-z]+', Name),
+ (r'/\*', Comment, 'comment'),
+ ('"', String, 'string'),
+ ('\s+', Text),
+ ],
+ 'string': [
+ ('[^"]+', String),
+ ('"', String, '#pop'),
+ ],
+ 'comment': [
+ ...
+ ],
+ }
+
+ class DerivedLexer(BaseLexer):
+ tokens = {
+ 'root': [
+ ('[0-9]+', Number),
+ inherit,
+ ],
+ 'string': [
+ (r'[^"\\]+', String),
+ (r'\\.', String.Escape),
+ ('"', String, '#pop'),
+ ],
+ }
+
+The `BaseLexer` defines two states, lexing names and strings. The
+`DerivedLexer` defines its own tokens dictionary, which extends the definitions
+of the base lexer:
+
+* The "root" state has an additional rule and then the special object `inherit`,
+ which tells Pygments to insert the token definitions of the parent class at
+ that point.
+
+* The "string" state is replaced entirely, since there is not `inherit` rule.
+
+* The "comment" state is inherited entirely.
+
+
+Using multiple lexers
+=====================
+
+Using multiple lexers for the same input can be tricky. One of the easiest
+combination techniques is shown here: You can replace the action entry in a rule
+tuple with a lexer class. The matched text will then be lexed with that lexer,
+and the resulting tokens will be yielded.
+
+For example, look at this stripped-down HTML lexer::
+
+ from pygments.lexer import RegexLexer, bygroups, using
+ from pygments.token import *
+ from pygments.lexers.javascript import JavascriptLexer
+
+ class HtmlLexer(RegexLexer):
+ name = 'HTML'
+ aliases = ['html']
+ filenames = ['*.html', '*.htm']
+
+ flags = re.IGNORECASE | re.DOTALL
+ tokens = {
+ 'root': [
+ ('[^<&]+', Text),
+ ('&.*?;', Name.Entity),
+ (r'<\s*script\s*', Name.Tag, ('script-content', 'tag')),
+ (r'<\s*[a-zA-Z0-9:]+', Name.Tag, 'tag'),
+ (r'<\s*/\s*[a-zA-Z0-9:]+\s*>', Name.Tag),
+ ],
+ 'script-content': [
+ (r'(.+?)(<\s*/\s*script\s*>)',
+ bygroups(using(JavascriptLexer), Name.Tag),
+ '#pop'),
+ ]
+ }
+
+Here the content of a ``<script>`` tag is passed to a newly created instance of
+a `JavascriptLexer` and not processed by the `HtmlLexer`. This is done using
+the `using` helper that takes the other lexer class as its parameter.
+
+Note the combination of `bygroups` and `using`. This makes sure that the
+content up to the ``</script>`` end tag is processed by the `JavascriptLexer`,
+while the end tag is yielded as a normal token with the `Name.Tag` type.
+
+Also note the ``(r'<\s*script\s*', Name.Tag, ('script-content', 'tag'))`` rule.
+Here, two states are pushed onto the state stack, ``'script-content'`` and
+``'tag'``. That means that first ``'tag'`` is processed, which will lex
+attributes and the closing ``>``, then the ``'tag'`` state is popped and the
+next state on top of the stack will be ``'script-content'``.
+
+Since you cannot refer to the class currently being defined, use `this`
+(imported from `pygments.lexer`) to refer to the current lexer class, i.e.
+``using(this)``. This construct may seem unnecessary, but this is often the
+most obvious way of lexing arbitrary syntax between fixed delimiters without
+introducing deeply nested states.
+
+The `using()` helper has a special keyword argument, `state`, which works as
+follows: if given, the lexer to use initially is not in the ``"root"`` state,
+but in the state given by this argument. This does not work with advanced
+`RegexLexer` subclasses such as `ExtendedRegexLexer` (see below).
+
+Any other keywords arguments passed to `using()` are added to the keyword
+arguments used to create the lexer.
+
+
+Delegating Lexer
+================
+
+Another approach for nested lexers is the `DelegatingLexer` which is for example
+used for the template engine lexers. It takes two lexers as arguments on
+initialisation: a `root_lexer` and a `language_lexer`.
+
+The input is processed as follows: First, the whole text is lexed with the
+`language_lexer`. All tokens yielded with the special type of ``Other`` are
+then concatenated and given to the `root_lexer`. The language tokens of the
+`language_lexer` are then inserted into the `root_lexer`'s token stream at the
+appropriate positions. ::
+
+ from pygments.lexer import DelegatingLexer
+ from pygments.lexers.web import HtmlLexer, PhpLexer
+
+ class HtmlPhpLexer(DelegatingLexer):
+ def __init__(self, **options):
+ super(HtmlPhpLexer, self).__init__(HtmlLexer, PhpLexer, **options)
+
+This procedure ensures that e.g. HTML with template tags in it is highlighted
+correctly even if the template tags are put into HTML tags or attributes.
+
+If you want to change the needle token ``Other`` to something else, you can give
+the lexer another token type as the third parameter::
+
+ DelegatingLexer.__init__(MyLexer, OtherLexer, Text, **options)
+
+
+Callbacks
+=========
+
+Sometimes the grammar of a language is so complex that a lexer would be unable
+to process it just by using regular expressions and stacks.
+
+For this, the `RegexLexer` allows callbacks to be given in rule tuples, instead
+of token types (`bygroups` and `using` are nothing else but preimplemented
+callbacks). The callback must be a function taking two arguments:
+
+* the lexer itself
+* the match object for the last matched rule
+
+The callback must then return an iterable of (or simply yield) ``(index,
+tokentype, value)`` tuples, which are then just passed through by
+`get_tokens_unprocessed()`. The ``index`` here is the position of the token in
+the input string, ``tokentype`` is the normal token type (like `Name.Builtin`),
+and ``value`` the associated part of the input string.
+
+You can see an example here::
+
+ from pygments.lexer import RegexLexer
+ from pygments.token import Generic
+
+ class HypotheticLexer(RegexLexer):
+
+ def headline_callback(lexer, match):
+ equal_signs = match.group(1)
+ text = match.group(2)
+ yield match.start(), Generic.Headline, equal_signs + text + equal_signs
+
+ tokens = {
+ 'root': [
+ (r'(=+)(.*?)(\1)', headline_callback)
+ ]
+ }
+
+If the regex for the `headline_callback` matches, the function is called with
+the match object. Note that after the callback is done, processing continues
+normally, that is, after the end of the previous match. The callback has no
+possibility to influence the position.
+
+There are not really any simple examples for lexer callbacks, but you can see
+them in action e.g. in the `SMLLexer` class in `ml.py`_.
+
+.. _ml.py: https://github.com/pygments/pygments/blob/master/pygments/lexers/ml.py
+
+
+The ExtendedRegexLexer class
+============================
+
+The `RegexLexer`, even with callbacks, unfortunately isn't powerful enough for
+the funky syntax rules of languages such as Ruby.
+
+But fear not; even then you don't have to abandon the regular expression
+approach: Pygments has a subclass of `RegexLexer`, the `ExtendedRegexLexer`.
+All features known from RegexLexers are available here too, and the tokens are
+specified in exactly the same way, *except* for one detail:
+
+The `get_tokens_unprocessed()` method holds its internal state data not as local
+variables, but in an instance of the `pygments.lexer.LexerContext` class, and
+that instance is passed to callbacks as a third argument. This means that you
+can modify the lexer state in callbacks.
+
+The `LexerContext` class has the following members:
+
+* `text` -- the input text
+* `pos` -- the current starting position that is used for matching regexes
+* `stack` -- a list containing the state stack
+* `end` -- the maximum position to which regexes are matched, this defaults to
+ the length of `text`
+
+Additionally, the `get_tokens_unprocessed()` method can be given a
+`LexerContext` instead of a string and will then process this context instead of
+creating a new one for the string argument.
+
+Note that because you can set the current position to anything in the callback,
+it won't be automatically be set by the caller after the callback is finished.
+For example, this is how the hypothetical lexer above would be written with the
+`ExtendedRegexLexer`::
+
+ from pygments.lexer import ExtendedRegexLexer
+ from pygments.token import Generic
+
+ class ExHypotheticLexer(ExtendedRegexLexer):
+
+ def headline_callback(lexer, match, ctx):
+ equal_signs = match.group(1)
+ text = match.group(2)
+ yield match.start(), Generic.Headline, equal_signs + text + equal_signs
+ ctx.pos = match.end()
+
+ tokens = {
+ 'root': [
+ (r'(=+)(.*?)(\1)', headline_callback)
+ ]
+ }
+
+This might sound confusing (and it can really be). But it is needed, and for an
+example look at the Ruby lexer in `ruby.py`_.
+
+.. _ruby.py: https://github.com/pygments/pygments/blob/master/pygments/lexers/ruby.py
+
+
+Handling Lists of Keywords
+==========================
+
+For a relatively short list (hundreds) you can construct an optimized regular
+expression directly using ``words()`` (longer lists, see next section). This
+function handles a few things for you automatically, including escaping
+metacharacters and Python's first-match rather than longest-match in
+alternations. Feel free to put the lists themselves in
+``pygments/lexers/_$lang_builtins.py`` (see examples there), and generated by
+code if possible.
+
+An example of using ``words()`` is something like::
+
+ from pygments.lexer import RegexLexer, words, Name
+
+ class MyLexer(RegexLexer):
+
+ tokens = {
+ 'root': [
+ (words(('else', 'elseif'), suffix=r'\b'), Name.Builtin),
+ (r'\w+', Name),
+ ],
+ }
+
+As you can see, you can add ``prefix`` and ``suffix`` parts to the constructed
+regex.
+
+
+Modifying Token Streams
+=======================
+
+Some languages ship a lot of builtin functions (for example PHP). The total
+amount of those functions differs from system to system because not everybody
+has every extension installed. In the case of PHP there are over 3000 builtin
+functions. That's an incredibly huge amount of functions, much more than you
+want to put into a regular expression.
+
+But because only `Name` tokens can be function names this is solvable by
+overriding the ``get_tokens_unprocessed()`` method. The following lexer
+subclasses the `PythonLexer` so that it highlights some additional names as
+pseudo keywords::
+
+ from pygments.lexers.python import PythonLexer
+ from pygments.token import Name, Keyword
+
+ class MyPythonLexer(PythonLexer):
+ EXTRA_KEYWORDS = set(('foo', 'bar', 'foobar', 'barfoo', 'spam', 'eggs'))
+
+ def get_tokens_unprocessed(self, text):
+ for index, token, value in PythonLexer.get_tokens_unprocessed(self, text):
+ if token is Name and value in self.EXTRA_KEYWORDS:
+ yield index, Keyword.Pseudo, value
+ else:
+ yield index, token, value
+
+The `PhpLexer` and `LuaLexer` use this method to resolve builtin functions.
--- /dev/null
+.. -*- mode: rst -*-
+
+================
+Available lexers
+================
+
+This page lists all available builtin lexers and the options they take.
+
+Currently, **all lexers** support these options:
+
+`stripnl`
+ Strip leading and trailing newlines from the input (default: ``True``)
+
+`stripall`
+ Strip all leading and trailing whitespace from the input (default:
+ ``False``).
+
+`ensurenl`
+ Make sure that the input ends with a newline (default: ``True``). This
+ is required for some lexers that consume input linewise.
+
+ .. versionadded:: 1.3
+
+`tabsize`
+ If given and greater than 0, expand tabs in the input (default: ``0``).
+
+`encoding`
+ If given, must be an encoding name (such as ``"utf-8"``). This encoding
+ will be used to convert the input string to Unicode (if it is not already
+ a Unicode string). The default is ``"guess"``.
+
+ If this option is set to ``"guess"``, a simple UTF-8 vs. Latin-1
+ detection is used, if it is set to ``"chardet"``, the
+ `chardet library <https://chardet.github.io/>`_ is used to
+ guess the encoding of the input.
+
+ .. versionadded:: 0.6
+
+
+The "Short Names" field lists the identifiers that can be used with the
+`get_lexer_by_name()` function.
+
+These lexers are builtin and can be imported from `pygments.lexers`:
+
+.. pygmentsdoc:: lexers
+
+
+Iterating over all lexers
+-------------------------
+
+.. versionadded:: 0.6
+
+To get all lexers (both the builtin and the plugin ones), you can
+use the `get_all_lexers()` function from the `pygments.lexers`
+module:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.lexers import get_all_lexers
+ >>> i = get_all_lexers()
+ >>> i.next()
+ ('Diff', ('diff',), ('*.diff', '*.patch'), ('text/x-diff', 'text/x-patch'))
+ >>> i.next()
+ ('Delphi', ('delphi', 'objectpascal', 'pas', 'pascal'), ('*.pas',), ('text/x-pascal',))
+ >>> i.next()
+ ('XML+Ruby', ('xml+erb', 'xml+ruby'), (), ())
+
+As you can see, the return value is an iterator which yields tuples
+in the form ``(name, aliases, filetypes, mimetypes)``.
--- /dev/null
+.. -*- mode: rst -*-
+
+============================
+Using Pygments with MoinMoin
+============================
+
+From Pygments 0.7, the source distribution ships a `Moin`_ parser plugin that
+can be used to get Pygments highlighting in Moin wiki pages.
+
+To use it, copy the file `external/moin-parser.py` from the Pygments
+distribution to the `data/plugin/parser` subdirectory of your Moin instance.
+Edit the options at the top of the file (currently ``ATTACHMENTS`` and
+``INLINESTYLES``) and rename the file to the name that the parser directive
+should have. For example, if you name the file ``code.py``, you can get a
+highlighted Python code sample with this Wiki markup::
+
+ {{{
+ #!code python
+ [...]
+ }}}
+
+where ``python`` is the Pygments name of the lexer to use.
+
+Additionally, if you set the ``ATTACHMENTS`` option to True, Pygments will also
+be called for all attachments for whose filenames there is no other parser
+registered.
+
+You are responsible for including CSS rules that will map the Pygments CSS
+classes to colors. You can output a stylesheet file with `pygmentize`, put it
+into the `htdocs` directory of your Moin instance and then include it in the
+`stylesheets` configuration option in the Moin config, e.g.::
+
+ stylesheets = [('screen', '/htdocs/pygments.css')]
+
+If you do not want to do that and are willing to accept larger HTML output, you
+can set the ``INLINESTYLES`` option to True.
+
+
+.. _Moin: http://moinmoin.wikiwikiweb.de/
--- /dev/null
+================
+Register Plugins
+================
+
+If you want to extend Pygments without hacking the sources, but want to
+use the lexer/formatter/style/filter lookup functions (`lexers.get_lexer_by_name`
+et al.), you can use `setuptools`_ entrypoints to add new lexers, formatters
+or styles as if they were in the Pygments core.
+
+.. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools
+
+That means you can use your highlighter modules with the `pygmentize` script,
+which relies on the mentioned functions.
+
+
+Entrypoints
+===========
+
+Here is a list of setuptools entrypoints that Pygments understands:
+
+`pygments.lexers`
+
+ This entrypoint is used for adding new lexers to the Pygments core.
+ The name of the entrypoint values doesn't really matter, Pygments extracts
+ required metadata from the class definition:
+
+ .. sourcecode:: ini
+
+ [pygments.lexers]
+ yourlexer = yourmodule:YourLexer
+
+ Note that you have to define ``name``, ``aliases`` and ``filename``
+ attributes so that you can use the highlighter from the command line:
+
+ .. sourcecode:: python
+
+ class YourLexer(...):
+ name = 'Name Of Your Lexer'
+ aliases = ['alias']
+ filenames = ['*.ext']
+
+
+`pygments.formatters`
+
+ You can use this entrypoint to add new formatters to Pygments. The
+ name of an entrypoint item is the name of the formatter. If you
+ prefix the name with a slash it's used as a filename pattern:
+
+ .. sourcecode:: ini
+
+ [pygments.formatters]
+ yourformatter = yourmodule:YourFormatter
+ /.ext = yourmodule:YourFormatter
+
+
+`pygments.styles`
+
+ To add a new style you can use this entrypoint. The name of the entrypoint
+ is the name of the style:
+
+ .. sourcecode:: ini
+
+ [pygments.styles]
+ yourstyle = yourmodule:YourStyle
+
+
+`pygments.filters`
+
+ Use this entrypoint to register a new filter. The name of the
+ entrypoint is the name of the filter:
+
+ .. sourcecode:: ini
+
+ [pygments.filters]
+ yourfilter = yourmodule:YourFilter
+
+
+How To Use Entrypoints
+======================
+
+This documentation doesn't explain how to use those entrypoints because this is
+covered in the `setuptools documentation`_. That page should cover everything
+you need to write a plugin.
+
+.. _setuptools documentation: http://peak.telecommunity.com/DevCenter/setuptools
+
+
+Extending The Core
+==================
+
+If you have written a Pygments plugin that is open source, please inform us
+about that. There is a high chance that we'll add it to the Pygments
+distribution.
--- /dev/null
+.. -*- mode: rst -*-
+
+===========================
+Introduction and Quickstart
+===========================
+
+
+Welcome to Pygments! This document explains the basic concepts and terms and
+gives a few examples of how to use the library.
+
+
+Architecture
+============
+
+There are four types of components that work together highlighting a piece of
+code:
+
+* A **lexer** splits the source into tokens, fragments of the source that
+ have a token type that determines what the text represents semantically
+ (e.g., keyword, string, or comment). There is a lexer for every language
+ or markup format that Pygments supports.
+* The token stream can be piped through **filters**, which usually modify
+ the token types or text fragments, e.g. uppercasing all keywords.
+* A **formatter** then takes the token stream and writes it to an output
+ file, in a format such as HTML, LaTeX or RTF.
+* While writing the output, a **style** determines how to highlight all the
+ different token types. It maps them to attributes like "red and bold".
+
+
+Example
+=======
+
+Here is a small example for highlighting Python code:
+
+.. sourcecode:: python
+
+ from pygments import highlight
+ from pygments.lexers import PythonLexer
+ from pygments.formatters import HtmlFormatter
+
+ code = 'print "Hello World"'
+ print(highlight(code, PythonLexer(), HtmlFormatter()))
+
+which prints something like this:
+
+.. sourcecode:: html
+
+ <div class="highlight">
+ <pre><span class="k">print</span> <span class="s">"Hello World"</span></pre>
+ </div>
+
+As you can see, Pygments uses CSS classes (by default, but you can change that)
+instead of inline styles in order to avoid outputting redundant style information over
+and over. A CSS stylesheet that contains all CSS classes possibly used in the output
+can be produced by:
+
+.. sourcecode:: python
+
+ print(HtmlFormatter().get_style_defs('.highlight'))
+
+The argument to :func:`get_style_defs` is used as an additional CSS selector:
+the output may look like this:
+
+.. sourcecode:: css
+
+ .highlight .k { color: #AA22FF; font-weight: bold }
+ .highlight .s { color: #BB4444 }
+ ...
+
+
+Options
+=======
+
+The :func:`highlight()` function supports a fourth argument called *outfile*, it
+must be a file object if given. The formatted output will then be written to
+this file instead of being returned as a string.
+
+Lexers and formatters both support options. They are given to them as keyword
+arguments either to the class or to the lookup method:
+
+.. sourcecode:: python
+
+ from pygments import highlight
+ from pygments.lexers import get_lexer_by_name
+ from pygments.formatters import HtmlFormatter
+
+ lexer = get_lexer_by_name("python", stripall=True)
+ formatter = HtmlFormatter(linenos=True, cssclass="source")
+ result = highlight(code, lexer, formatter)
+
+This makes the lexer strip all leading and trailing whitespace from the input
+(`stripall` option), lets the formatter output line numbers (`linenos` option),
+and sets the wrapping ``<div>``'s class to ``source`` (instead of
+``highlight``).
+
+Important options include:
+
+`encoding` : for lexers and formatters
+ Since Pygments uses Unicode strings internally, this determines which
+ encoding will be used to convert to or from byte strings.
+`style` : for formatters
+ The name of the style to use when writing the output.
+
+
+For an overview of builtin lexers and formatters and their options, visit the
+:doc:`lexer <lexers>` and :doc:`formatters <formatters>` lists.
+
+For a documentation on filters, see :doc:`this page <filters>`.
+
+
+Lexer and formatter lookup
+==========================
+
+If you want to lookup a built-in lexer by its alias or a filename, you can use
+one of the following methods:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.lexers import (get_lexer_by_name,
+ ... get_lexer_for_filename, get_lexer_for_mimetype)
+
+ >>> get_lexer_by_name('python')
+ <pygments.lexers.PythonLexer>
+
+ >>> get_lexer_for_filename('spam.rb')
+ <pygments.lexers.RubyLexer>
+
+ >>> get_lexer_for_mimetype('text/x-perl')
+ <pygments.lexers.PerlLexer>
+
+All these functions accept keyword arguments; they will be passed to the lexer
+as options.
+
+A similar API is available for formatters: use :func:`.get_formatter_by_name()`
+and :func:`.get_formatter_for_filename()` from the :mod:`pygments.formatters`
+module for this purpose.
+
+
+Guessing lexers
+===============
+
+If you don't know the content of the file, or you want to highlight a file
+whose extension is ambiguous, such as ``.html`` (which could contain plain HTML
+or some template tags), use these functions:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.lexers import guess_lexer, guess_lexer_for_filename
+
+ >>> guess_lexer('#!/usr/bin/python\nprint "Hello World!"')
+ <pygments.lexers.PythonLexer>
+
+ >>> guess_lexer_for_filename('test.py', 'print "Hello World!"')
+ <pygments.lexers.PythonLexer>
+
+:func:`.guess_lexer()` passes the given content to the lexer classes'
+:meth:`analyse_text()` method and returns the one for which it returns the
+highest number.
+
+All lexers have two different filename pattern lists: the primary and the
+secondary one. The :func:`.get_lexer_for_filename()` function only uses the
+primary list, whose entries are supposed to be unique among all lexers.
+:func:`.guess_lexer_for_filename()`, however, will first loop through all lexers
+and look at the primary and secondary filename patterns if the filename matches.
+If only one lexer matches, it is returned, else the guessing mechanism of
+:func:`.guess_lexer()` is used with the matching lexers.
+
+As usual, keyword arguments to these functions are given to the created lexer
+as options.
+
+
+Command line usage
+==================
+
+You can use Pygments from the command line, using the :program:`pygmentize`
+script::
+
+ $ pygmentize test.py
+
+will highlight the Python file test.py using ANSI escape sequences
+(a.k.a. terminal colors) and print the result to standard output.
+
+To output HTML, use the ``-f`` option::
+
+ $ pygmentize -f html -o test.html test.py
+
+to write an HTML-highlighted version of test.py to the file test.html.
+Note that it will only be a snippet of HTML, if you want a full HTML document,
+use the "full" option::
+
+ $ pygmentize -f html -O full -o test.html test.py
+
+This will produce a full HTML document with included stylesheet.
+
+A style can be selected with ``-O style=<name>``.
+
+If you need a stylesheet for an existing HTML file using Pygments CSS classes,
+it can be created with::
+
+ $ pygmentize -S default -f html > style.css
+
+where ``default`` is the style name.
+
+More options and tricks and be found in the :doc:`command line reference
+<cmdline>`.
--- /dev/null
+.. -*- mode: rst -*-
+
+================================
+Using Pygments in ReST documents
+================================
+
+Many Python people use `ReST`_ for documentation their sourcecode, programs,
+scripts et cetera. This also means that documentation often includes sourcecode
+samples or snippets.
+
+You can easily enable Pygments support for your ReST texts using a custom
+directive -- this is also how this documentation displays source code.
+
+From Pygments 0.9, the directive is shipped in the distribution as
+`external/rst-directive.py`. You can copy and adapt this code to your liking.
+
+.. removed -- too confusing
+ *Loosely related note:* The ReST lexer now recognizes ``.. sourcecode::`` and
+ ``.. code::`` directives and highlights the contents in the specified language
+ if the `handlecodeblocks` option is true.
+
+.. _ReST: http://docutils.sf.net/rst.html
--- /dev/null
+.. -*- mode: rst -*-
+
+======
+Styles
+======
+
+Pygments comes with some builtin styles that work for both the HTML and
+LaTeX formatter.
+
+The builtin styles can be looked up with the `get_style_by_name` function:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.styles import get_style_by_name
+ >>> get_style_by_name('colorful')
+ <class 'pygments.styles.colorful.ColorfulStyle'>
+
+You can pass a instance of a `Style` class to a formatter as the `style`
+option in form of a string:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.styles import get_style_by_name
+ >>> from pygments.formatters import HtmlFormatter
+ >>> HtmlFormatter(style='colorful').style
+ <class 'pygments.styles.colorful.ColorfulStyle'>
+
+Or you can also import your own style (which must be a subclass of
+`pygments.style.Style`) and pass it to the formatter:
+
+.. sourcecode:: pycon
+
+ >>> from yourapp.yourmodule import YourStyle
+ >>> from pygments.formatters import HtmlFormatter
+ >>> HtmlFormatter(style=YourStyle).style
+ <class 'yourapp.yourmodule.YourStyle'>
+
+
+Creating Own Styles
+===================
+
+So, how to create a style? All you have to do is to subclass `Style` and
+define some styles:
+
+.. sourcecode:: python
+
+ from pygments.style import Style
+ from pygments.token import Keyword, Name, Comment, String, Error, \
+ Number, Operator, Generic
+
+ class YourStyle(Style):
+ default_style = ""
+ styles = {
+ Comment: 'italic #888',
+ Keyword: 'bold #005',
+ Name: '#f00',
+ Name.Function: '#0f0',
+ Name.Class: 'bold #0f0',
+ String: 'bg:#eee #111'
+ }
+
+That's it. There are just a few rules. When you define a style for `Name`
+the style automatically also affects `Name.Function` and so on. If you
+defined ``'bold'`` and you don't want boldface for a subtoken use ``'nobold'``.
+
+(Philosophy: the styles aren't written in CSS syntax since this way
+they can be used for a variety of formatters.)
+
+`default_style` is the style inherited by all token types.
+
+To make the style usable for Pygments, you must
+
+* either register it as a plugin (see :doc:`the plugin docs <plugins>`)
+* or drop it into the `styles` subpackage of your Pygments distribution one style
+ class per style, where the file name is the style name and the class name is
+ `StylenameClass`. For example, if your style should be called
+ ``"mondrian"``, name the class `MondrianStyle`, put it into the file
+ ``mondrian.py`` and this file into the ``pygments.styles`` subpackage
+ directory.
+
+
+Style Rules
+===========
+
+Here a small overview of all allowed styles:
+
+``bold``
+ render text as bold
+``nobold``
+ don't render text as bold (to prevent subtokens being highlighted bold)
+``italic``
+ render text italic
+``noitalic``
+ don't render text as italic
+``underline``
+ render text underlined
+``nounderline``
+ don't render text underlined
+``bg:``
+ transparent background
+``bg:#000000``
+ background color (black)
+``border:``
+ no border
+``border:#ffffff``
+ border color (white)
+``#ff0000``
+ text color (red)
+``noinherit``
+ don't inherit styles from supertoken
+
+Note that there may not be a space between ``bg:`` and the color value
+since the style definition string is split at whitespace.
+Also, using named colors is not allowed since the supported color names
+vary for different formatters.
+
+Furthermore, not all lexers might support every style.
+
+
+Builtin Styles
+==============
+
+Pygments ships some builtin styles which are maintained by the Pygments team.
+
+To get a list of known styles you can use this snippet:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.styles import STYLE_MAP
+ >>> STYLE_MAP.keys()
+ ['default', 'emacs', 'friendly', 'colorful']
+
+
+Getting a list of available styles
+==================================
+
+.. versionadded:: 0.6
+
+Because it could be that a plugin registered a style, there is
+a way to iterate over all styles:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.styles import get_all_styles
+ >>> styles = list(get_all_styles())
+
+
+.. _AnsiTerminalStyle:
+
+Terminal Styles
+===============
+
+.. versionadded:: 2.2
+
+Custom styles used with the 256-color terminal formatter can also map colors to
+use the 8 default ANSI colors. To do so, use ``ansigreen``, ``ansibrightred`` or
+any other colors defined in :attr:`pygments.style.ansicolors`. Foreground ANSI
+colors will be mapped to the corresponding `escape codes 30 to 37
+<https://en.wikipedia.org/wiki/ANSI_escape_code#Colors>`_ thus respecting any
+custom color mapping and themes provided by many terminal emulators. Light
+variants are treated as foreground color with and an added bold flag.
+``bg:ansi<color>`` will also be respected, except the light variant will be the
+same shade as their dark variant.
+
+See the following example where the color of the string ``"hello world"`` is
+governed by the escape sequence ``\x1b[34;01m`` (Ansi bright blue, Bold, 41 being red
+background) instead of an extended foreground & background color.
+
+.. sourcecode:: pycon
+
+ >>> from pygments import highlight
+ >>> from pygments.style import Style
+ >>> from pygments.token import Token
+ >>> from pygments.lexers import Python3Lexer
+ >>> from pygments.formatters import Terminal256Formatter
+
+ >>> class MyStyle(Style):
+ styles = {
+ Token.String: 'ansibrightblue bg:ansibrightred',
+ }
+
+ >>> code = 'print("Hello World")'
+ >>> result = highlight(code, Python3Lexer(), Terminal256Formatter(style=MyStyle))
+ >>> print(result.encode())
+ b'\x1b[34;41;01m"\x1b[39;49;00m\x1b[34;41;01mHello World\x1b[39;49;00m\x1b[34;41;01m"\x1b[39;49;00m'
+
+Colors specified using ``ansi*`` are converted to a default set of RGB colors
+when used with formatters other than the terminal-256 formatter.
+
+By definition of ANSI, the following colors are considered "light" colors, and
+will be rendered by most terminals as bold:
+
+- "brightblack" (darkgrey), "brightred", "brightgreen", "brightyellow", "brightblue",
+ "brightmagenta", "brightcyan", "white"
+
+The following are considered "dark" colors and will be rendered as non-bold:
+
+- "black", "red", "green", "yellow", "blue", "magenta", "cyan",
+ "gray"
+
+Exact behavior might depends on the terminal emulator you are using, and its
+settings.
+
+.. _new-ansi-color-names:
+
+.. versionchanged:: 2.4
+
+The definition of the ANSI color names has changed.
+New names are easier to understand and align to the colors used in other projects.
+
+===================== ====================
+New names Pygments up to 2.3
+===================== ====================
+``ansiblack`` ``#ansiblack``
+``ansired`` ``#ansidarkred``
+``ansigreen`` ``#ansidarkgreen``
+``ansiyellow`` ``#ansibrown``
+``ansiblue`` ``#ansidarkblue``
+``ansimagenta`` ``#ansipurple``
+``ansicyan`` ``#ansiteal``
+``ansigray`` ``#ansilightgray``
+``ansibrightblack`` ``#ansidarkgray``
+``ansibrightred`` ``#ansired``
+``ansibrightgreen`` ``#ansigreen``
+``ansibrightyellow`` ``#ansiyellow``
+``ansibrightblue`` ``#ansiblue``
+``ansibrightmagenta`` ``#ansifuchsia``
+``ansibrightcyan`` ``#ansiturquoise``
+``ansiwhite`` ``#ansiwhite``
+===================== ====================
+
+Old ANSI color names are deprecated but will still work.
--- /dev/null
+.. -*- mode: rst -*-
+
+==============
+Builtin Tokens
+==============
+
+.. module:: pygments.token
+
+In the :mod:`pygments.token` module, there is a special object called `Token`
+that is used to create token types.
+
+You can create a new token type by accessing an attribute of `Token`:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.token import Token
+ >>> Token.String
+ Token.String
+ >>> Token.String is Token.String
+ True
+
+Note that tokens are singletons so you can use the ``is`` operator for comparing
+token types.
+
+As of Pygments 0.7 you can also use the ``in`` operator to perform set tests:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.token import Comment
+ >>> Comment.Single in Comment
+ True
+ >>> Comment in Comment.Multi
+ False
+
+This can be useful in :doc:`filters <filters>` and if you write lexers on your
+own without using the base lexers.
+
+You can also split a token type into a hierarchy, and get the parent of it:
+
+.. sourcecode:: pycon
+
+ >>> String.split()
+ [Token, Token.Literal, Token.Literal.String]
+ >>> String.parent
+ Token.Literal
+
+In principle, you can create an unlimited number of token types but nobody can
+guarantee that a style would define style rules for a token type. Because of
+that, Pygments proposes some global token types defined in the
+`pygments.token.STANDARD_TYPES` dict.
+
+For some tokens aliases are already defined:
+
+.. sourcecode:: pycon
+
+ >>> from pygments.token import String
+ >>> String
+ Token.Literal.String
+
+Inside the :mod:`pygments.token` module the following aliases are defined:
+
+============= ============================ ====================================
+`Text` `Token.Text` for any type of text data
+`Whitespace` `Token.Text.Whitespace` for specially highlighted whitespace
+`Error` `Token.Error` represents lexer errors
+`Other` `Token.Other` special token for data not
+ matched by a parser (e.g. HTML
+ markup in PHP code)
+`Keyword` `Token.Keyword` any kind of keywords
+`Name` `Token.Name` variable/function names
+`Literal` `Token.Literal` Any literals
+`String` `Token.Literal.String` string literals
+`Number` `Token.Literal.Number` number literals
+`Operator` `Token.Operator` operators (``+``, ``not``...)
+`Punctuation` `Token.Punctuation` punctuation (``[``, ``(``...)
+`Comment` `Token.Comment` any kind of comments
+`Generic` `Token.Generic` generic tokens (have a look at
+ the explanation below)
+============= ============================ ====================================
+
+The `Whitespace` token type is new in Pygments 0.8. It is used only by the
+`VisibleWhitespaceFilter` currently.
+
+Normally you just create token types using the already defined aliases. For each
+of those token aliases, a number of subtypes exists (excluding the special tokens
+`Token.Text`, `Token.Error` and `Token.Other`)
+
+The `is_token_subtype()` function in the `pygments.token` module can be used to
+test if a token type is a subtype of another (such as `Name.Tag` and `Name`).
+(This is the same as ``Name.Tag in Name``. The overloaded `in` operator was newly
+introduced in Pygments 0.7, the function still exists for backwards
+compatibility.)
+
+With Pygments 0.7, it's also possible to convert strings to token types (for example
+if you want to supply a token from the command line):
+
+.. sourcecode:: pycon
+
+ >>> from pygments.token import String, string_to_tokentype
+ >>> string_to_tokentype("String")
+ Token.Literal.String
+ >>> string_to_tokentype("Token.Literal.String")
+ Token.Literal.String
+ >>> string_to_tokentype(String)
+ Token.Literal.String
+
+
+Keyword Tokens
+==============
+
+`Keyword`
+ For any kind of keyword (especially if it doesn't match any of the
+ subtypes of course).
+
+`Keyword.Constant`
+ For keywords that are constants (e.g. ``None`` in future Python versions).
+
+`Keyword.Declaration`
+ For keywords used for variable declaration (e.g. ``var`` in some programming
+ languages like JavaScript).
+
+`Keyword.Namespace`
+ For keywords used for namespace declarations (e.g. ``import`` in Python and
+ Java and ``package`` in Java).
+
+`Keyword.Pseudo`
+ For keywords that aren't really keywords (e.g. ``None`` in old Python
+ versions).
+
+`Keyword.Reserved`
+ For reserved keywords.
+
+`Keyword.Type`
+ For builtin types that can't be used as identifiers (e.g. ``int``,
+ ``char`` etc. in C).
+
+
+Name Tokens
+===========
+
+`Name`
+ For any name (variable names, function names, classes).
+
+`Name.Attribute`
+ For all attributes (e.g. in HTML tags).
+
+`Name.Builtin`
+ Builtin names; names that are available in the global namespace.
+
+`Name.Builtin.Pseudo`
+ Builtin names that are implicit (e.g. ``self`` in Ruby, ``this`` in Java).
+
+`Name.Class`
+ Class names. Because no lexer can know if a name is a class or a function
+ or something else this token is meant for class declarations.
+
+`Name.Constant`
+ Token type for constants. In some languages you can recognise a token by the
+ way it's defined (the value after a ``const`` keyword for example). In
+ other languages constants are uppercase by definition (Ruby).
+
+`Name.Decorator`
+ Token type for decorators. Decorators are syntactic elements in the Python
+ language. Similar syntax elements exist in C# and Java.
+
+`Name.Entity`
+ Token type for special entities. (e.g. `` `` in HTML).
+
+`Name.Exception`
+ Token type for exception names (e.g. ``RuntimeError`` in Python). Some languages
+ define exceptions in the function signature (Java). You can highlight
+ the name of that exception using this token then.
+
+`Name.Function`
+ Token type for function names.
+
+`Name.Function.Magic`
+ same as `Name.Function` but for special function names that have an implicit use
+ in a language (e.g. ``__init__`` method in Python).
+
+`Name.Label`
+ Token type for label names (e.g. in languages that support ``goto``).
+
+`Name.Namespace`
+ Token type for namespaces. (e.g. import paths in Java/Python), names following
+ the ``module``/``namespace`` keyword in other languages.
+
+`Name.Other`
+ Other names. Normally unused.
+
+`Name.Tag`
+ Tag names (in HTML/XML markup or configuration files).
+
+`Name.Variable`
+ Token type for variables. Some languages have prefixes for variable names
+ (PHP, Ruby, Perl). You can highlight them using this token.
+
+`Name.Variable.Class`
+ same as `Name.Variable` but for class variables (also static variables).
+
+`Name.Variable.Global`
+ same as `Name.Variable` but for global variables (used in Ruby, for
+ example).
+
+`Name.Variable.Instance`
+ same as `Name.Variable` but for instance variables.
+
+`Name.Variable.Magic`
+ same as `Name.Variable` but for special variable names that have an implicit use
+ in a language (e.g. ``__doc__`` in Python).
+
+
+Literals
+========
+
+`Literal`
+ For any literal (if not further defined).
+
+`Literal.Date`
+ for date literals (e.g. ``42d`` in Boo).
+
+
+`String`
+ For any string literal.
+
+`String.Affix`
+ Token type for affixes that further specify the type of the string they're
+ attached to (e.g. the prefixes ``r`` and ``u8`` in ``r"foo"`` and ``u8"foo"``).
+
+`String.Backtick`
+ Token type for strings enclosed in backticks.
+
+`String.Char`
+ Token type for single characters (e.g. Java, C).
+
+`String.Delimiter`
+ Token type for delimiting identifiers in "heredoc", raw and other similar
+ strings (e.g. the word ``END`` in Perl code ``print <<'END';``).
+
+`String.Doc`
+ Token type for documentation strings (for example Python).
+
+`String.Double`
+ Double quoted strings.
+
+`String.Escape`
+ Token type for escape sequences in strings.
+
+`String.Heredoc`
+ Token type for "heredoc" strings (e.g. in Ruby or Perl).
+
+`String.Interpol`
+ Token type for interpolated parts in strings (e.g. ``#{foo}`` in Ruby).
+
+`String.Other`
+ Token type for any other strings (for example ``%q{foo}`` string constructs
+ in Ruby).
+
+`String.Regex`
+ Token type for regular expression literals (e.g. ``/foo/`` in JavaScript).
+
+`String.Single`
+ Token type for single quoted strings.
+
+`String.Symbol`
+ Token type for symbols (e.g. ``:foo`` in LISP or Ruby).
+
+
+`Number`
+ Token type for any number literal.
+
+`Number.Bin`
+ Token type for binary literals (e.g. ``0b101010``).
+
+`Number.Float`
+ Token type for float literals (e.g. ``42.0``).
+
+`Number.Hex`
+ Token type for hexadecimal number literals (e.g. ``0xdeadbeef``).
+
+`Number.Integer`
+ Token type for integer literals (e.g. ``42``).
+
+`Number.Integer.Long`
+ Token type for long integer literals (e.g. ``42L`` in Python).
+
+`Number.Oct`
+ Token type for octal literals.
+
+
+Operators
+=========
+
+`Operator`
+ For any punctuation operator (e.g. ``+``, ``-``).
+
+`Operator.Word`
+ For any operator that is a word (e.g. ``not``).
+
+
+Punctuation
+===========
+
+.. versionadded:: 0.7
+
+`Punctuation`
+ For any punctuation which is not an operator (e.g. ``[``, ``(``...)
+
+
+Comments
+========
+
+`Comment`
+ Token type for any comment.
+
+`Comment.Hashbang`
+ Token type for hashbang comments (i.e. first lines of files that start with
+ ``#!``).
+
+`Comment.Multiline`
+ Token type for multiline comments.
+
+`Comment.Preproc`
+ Token type for preprocessor comments (also ``<?php``/``<%`` constructs).
+
+`Comment.Single`
+ Token type for comments that end at the end of a line (e.g. ``# foo``).
+
+`Comment.Special`
+ Special data in comments. For example code tags, author and license
+ information, etc.
+
+
+Generic Tokens
+==============
+
+Generic tokens are for special lexers like the `DiffLexer` that doesn't really
+highlight a programming language but a patch file.
+
+
+`Generic`
+ A generic, unstyled token. Normally you don't use this token type.
+
+`Generic.Deleted`
+ Marks the token value as deleted.
+
+`Generic.Emph`
+ Marks the token value as emphasized.
+
+`Generic.Error`
+ Marks the token value as an error message.
+
+`Generic.Heading`
+ Marks the token value as headline.
+
+`Generic.Inserted`
+ Marks the token value as inserted.
+
+`Generic.Output`
+ Marks the token value as program output (e.g. for python cli lexer).
+
+`Generic.Prompt`
+ Marks the token value as command prompt (e.g. bash lexer).
+
+`Generic.Strong`
+ Marks the token value as bold (e.g. for rst lexer).
+
+`Generic.Subheading`
+ Marks the token value as subheadline.
+
+`Generic.Traceback`
+ Marks the token value as a part of an error traceback.
--- /dev/null
+=====================
+Unicode and Encodings
+=====================
+
+Since Pygments 0.6, all lexers use unicode strings internally. Because of that
+you might encounter the occasional :exc:`UnicodeDecodeError` if you pass strings
+with the wrong encoding.
+
+Per default all lexers have their input encoding set to `guess`. This means
+that the following encodings are tried:
+
+* UTF-8 (including BOM handling)
+* The locale encoding (i.e. the result of `locale.getpreferredencoding()`)
+* As a last resort, `latin1`
+
+If you pass a lexer a byte string object (not unicode), it tries to decode the
+data using this encoding.
+
+You can override the encoding using the `encoding` or `inencoding` lexer
+options. If you have the `chardet`_ library installed and set the encoding to
+``chardet`` if will analyse the text and use the encoding it thinks is the
+right one automatically:
+
+.. sourcecode:: python
+
+ from pygments.lexers import PythonLexer
+ lexer = PythonLexer(encoding='chardet')
+
+The best way is to pass Pygments unicode objects. In that case you can't get
+unexpected output.
+
+The formatters now send Unicode objects to the stream if you don't set the
+output encoding. You can do so by passing the formatters an `encoding` option:
+
+.. sourcecode:: python
+
+ from pygments.formatters import HtmlFormatter
+ f = HtmlFormatter(encoding='utf-8')
+
+**You will have to set this option if you have non-ASCII characters in the
+source and the output stream does not accept Unicode written to it!**
+This is the case for all regular files and for terminals.
+
+Note: The Terminal formatter tries to be smart: if its output stream has an
+`encoding` attribute, and you haven't set the option, it will encode any
+Unicode string with this encoding before writing it. This is the case for
+`sys.stdout`, for example. The other formatters don't have that behavior.
+
+Another note: If you call Pygments via the command line (`pygmentize`),
+encoding is handled differently, see :doc:`the command line docs <cmdline>`.
+
+.. versionadded:: 0.7
+ The formatters now also accept an `outencoding` option which will override
+ the `encoding` option if given. This makes it possible to use a single
+ options dict with lexers and formatters, and still have different input and
+ output encodings.
+
+.. _chardet: https://chardet.github.io/
--- /dev/null
+Download and installation
+=========================
+
+The current release is version |version|.
+
+Packaged versions
+-----------------
+
+You can download it `from the Python Package Index
+<http://pypi.python.org/pypi/Pygments>`_. For installation of packages from
+PyPI, we recommend `Pip <http://www.pip-installer.org>`_, which works on all
+major platforms.
+
+Under Linux, most distributions include a package for Pygments, usually called
+``pygments`` or ``python-pygments``. You can install it with the package
+manager as usual.
+
+Development sources
+-------------------
+
+We're using the Git version control system. You can get the development source
+using this command::
+
+ git clone https://github.com/pygments/pygments
+
+Development takes place at `GitHub <https://github.com/pygments/pygments>`_.
+
+The latest changes in the development source code are listed in the `changelog
+<https://github.com/pygments/pygments/blob/master/CHANGES>`_.
+
+.. Documentation
+ -------------
+
+.. XXX todo
+
+ You can download the <a href="/docs/">documentation</a> either as
+ a bunch of rst files from the Git repository, see above, or
+ as a tar.gz containing rendered HTML files:</p>
+ <p><a href="/docs/download/pygmentsdocs.tar.gz">pygmentsdocs.tar.gz</a></p>
--- /dev/null
+:orphan:
+
+Pygments FAQ
+=============
+
+What is Pygments?
+-----------------
+
+Pygments is a syntax highlighting engine written in Python. That means, it will
+take source code (or other markup) in a supported language and output a
+processed version (in different formats) containing syntax highlighting markup.
+
+Its features include:
+
+* a wide range of common :doc:`languages and markup formats <languages>` is supported
+* new languages and formats are added easily
+* a number of output formats is available, including:
+
+ - HTML
+ - ANSI sequences (console output)
+ - LaTeX
+ - RTF
+
+* it is usable as a command-line tool and as a library
+* parsing and formatting is fast
+
+Pygments is licensed under the BSD license.
+
+Where does the name Pygments come from?
+---------------------------------------
+
+*Py* of course stands for Python, while *pigments* are used for coloring paint,
+and in this case, source code!
+
+What are the system requirements?
+---------------------------------
+
+Pygments only needs a standard Python install, version 2.7 or higher or version
+3.5 or higher for Python 3. No additional libraries are needed.
+
+How can I use Pygments?
+-----------------------
+
+Pygments is usable as a command-line tool as well as a library.
+
+From the command-line, usage looks like this (assuming the pygmentize script is
+properly installed)::
+
+ pygmentize -f html /path/to/file.py
+
+This will print a HTML-highlighted version of /path/to/file.py to standard output.
+
+For a complete help, please run ``pygmentize -h``.
+
+Usage as a library is thoroughly demonstrated in the Documentation section.
+
+How do I make a new style?
+--------------------------
+
+Please see the :doc:`documentation on styles <docs/styles>`.
+
+How can I report a bug or suggest a feature?
+--------------------------------------------
+
+Please report bugs and feature wishes in the tracker at GitHub.
+
+You can also e-mail the authors, see the contact details.
+
+I want this support for this language!
+--------------------------------------
+
+Instead of waiting for others to include language support, why not write it
+yourself? All you have to know is :doc:`outlined in the docs
+<docs/lexerdevelopment>`.
+
+Can I use Pygments for programming language processing?
+-------------------------------------------------------
+
+The Pygments lexing machinery is quite powerful can be used to build lexers for
+basically all languages. However, parsing them is not possible, though some
+lexers go some steps in this direction in order to e.g. highlight function names
+differently.
+
+Also, error reporting is not the scope of Pygments. It focuses on correctly
+highlighting syntactically valid documents, not finding and compensating errors.
+
+Who uses Pygments?
+------------------
+
+This is an (incomplete) list of projects and sites known to use the Pygments highlighter.
+
+* `Wikipedia <http://en.wikipedia.org>`_
+* `BitBucket <http://bitbucket.org/>`_, a Mercurial and Git hosting site
+* `The Sphinx documentation builder <http://sphinx.pocoo.org/>`_, for embedded source examples
+* `rst2pdf <http://code.google.com/p/rst2pdf/>`_, a reStructuredText to PDF converter
+* `Codecov <http://codecov.io/>`_, a code coverage CI service
+* `Trac <http://trac.edgewall.org/>`_, the universal project management tool
+* `AsciiDoc <http://www.methods.co.nz/asciidoc/>`_, a text-based documentation generator
+* `ActiveState Code <http://code.activestate.com/>`_, the Python Cookbook successor
+* `ViewVC <http://viewvc.org/>`_, a web-based version control repository browser
+* `BzrFruit <http://repo.or.cz/w/bzrfruit.git>`_, a Bazaar branch viewer
+* `QBzr <http://bazaar-vcs.org/QBzr>`_, a cross-platform Qt-based GUI front end for Bazaar
+* `Review Board <http://www.review-board.org/>`_, a collaborative code reviewing tool
+* `Diamanda <http://code.google.com/p/diamanda/>`_, a Django powered wiki system with support for Pygments
+* `Progopedia <http://progopedia.ru/>`_ (`English <http://progopedia.com/>`_),
+ an encyclopedia of programming languages
+* `Bruce <http://r1chardj0n3s.googlepages.com/bruce>`_, a reStructuredText presentation tool
+* `PIDA <http://pida.co.uk/>`_, a universal IDE written in Python
+* `BPython <http://www.noiseforfree.com/bpython/>`_, a curses-based intelligent Python shell
+* `PuDB <http://pypi.python.org/pypi/pudb>`_, a console Python debugger
+* `XWiki <http://www.xwiki.org/>`_, a wiki-based development framework in Java, using Jython
+* `roux <http://ananelson.com/software/roux/>`_, a script for running R scripts
+ and creating beautiful output including graphs
+* `hurl <http://hurl.it/>`_, a web service for making HTTP requests
+* `wxHTMLPygmentizer <http://colinbarnette.net/projects/wxHTMLPygmentizer>`_ is
+ a GUI utility, used to make code-colorization easier
+* `Postmarkup <http://code.google.com/p/postmarkup/>`_, a BBCode to XHTML generator
+* `WpPygments <http://blog.mirotin.net/?page_id=49>`_, and `WPygments
+ <https://github.com/capynet/WPygments>`_, highlighter plugins for WordPress
+* `Siafoo <http://siafoo.net>`_, a tool for sharing and storing useful code and programming experience
+* `D source <http://www.dsource.org/>`_, a community for the D programming language
+* `dpaste.com <http://dpaste.com/>`_, another Django pastebin
+* `Django snippets <http://www.djangosnippets.org/>`_, a pastebin for Django code
+* `Fayaa <http://www.fayaa.com/code/>`_, a Chinese pastebin
+* `Incollo.com <http://incollo.com>`_, a free collaborative debugging tool
+* `PasteBox <http://p.boxnet.eu/>`_, a pastebin focused on privacy
+* `hilite.me <http://www.hilite.me/>`_, a site to highlight code snippets
+* `patx.me <http://patx.me/paste>`_, a pastebin
+* `Fluidic <https://github.com/richsmith/fluidic>`_, an experiment in
+ integrating shells with a GUI
+* `pygments.rb <https://github.com/tmm1/pygments.rb>`_, a pygments wrapper for Ruby
+* `Clygments <https://github.com/bfontaine/clygments>`_, a pygments wrapper for
+ Clojure
+* `PHPygments <https://github.com/capynet/PHPygments>`_, a pygments wrapper for PHP
+* `Spyder <https://www.spyder-ide.org/>`_, the Scientific Python Development
+ Environment, uses pygments for the multi-language syntax highlighting in its
+ `editor <https://docs.spyder-ide.org/editor.html>`_.
+
+If you have a project or web site using Pygments, drop me a line, and I'll add a
+link here.
--- /dev/null
+Welcome!
+========
+
+This is the home of Pygments. It is a generic syntax highlighter suitable for
+use in code hosting, forums, wikis or other applications that need to prettify
+source code. Highlights are:
+
+* a wide range of over 300 languages and other text formats is supported
+* special attention is paid to details that increase highlighting quality
+* support for new languages and formats are added easily; most languages use a
+ simple regex-based lexing mechanism
+* a number of output formats is available, among them HTML, RTF, LaTeX and ANSI
+ sequences
+* it is usable as a command-line tool and as a library
+* ... and it highlights even Perl 6!
+
+Read more in the :doc:`FAQ list <faq>` or the :doc:`documentation <docs/index>`,
+or `download the latest release <http://pypi.python.org/pypi/Pygments>`_.
+
+.. _contribute:
+
+Contribute
+----------
+
+Like every open-source project, we are always looking for volunteers to help us
+with programming. Python knowledge is required, but don't fear: Python is a very
+clear and easy to learn language.
+
+Development takes place on `GitHub <https://github.com/pygments/pygments>`_.
+
+If you found a bug, just open a ticket in the GitHub tracker. Be sure to log
+in to be notified when the issue is fixed -- development is not fast-paced as
+the library is quite stable. You can also send an e-mail to the developers, see
+below.
+
+The authors
+-----------
+
+Pygments is maintained by **Georg Brandl**, e-mail address *georg*\ *@*\ *python.org*
+and **Matthäus Chajdas**.
+
+Many lexers and fixes have been contributed by **Armin Ronacher**, the rest of
+the `Pocoo <http://dev.pocoo.org/>`_ team and **Tim Hatch**.
+
+.. toctree::
+ :maxdepth: 1
+ :hidden:
+
+ docs/index
--- /dev/null
+:orphan:
+
+Supported languages
+===================
+
+Pygments supports an ever-growing range of languages. Watch this space...
+
+Programming languages
+---------------------
+
+* ActionScript
+* Ada
+* ANTLR
+* AppleScript
+* Assembly (various)
+* Asymptote
+* `Augeas <http://augeas.net>`_
+* Awk
+* BBC Basic
+* Befunge
+* `Boa <http://boa.cs.iastate.edu/docs/index.php>`_
+* Boo
+* BrainFuck
+* C, C++
+* C#
+* `Charm++ CI <http://charmplusplus.org/>`_
+* Clojure
+* CoffeeScript
+* ColdFusion
+* Common Lisp
+* Coq
+* Cryptol (incl. Literate Cryptol)
+* `Crystal <http://crystal-lang.org>`_
+* `Cython <http://cython.org>`_
+* `D <http://dlang.org>`_
+* Dart
+* DCPU-16
+* Delphi
+* Dylan
+* `Elm <http://elm-lang.org/>`_
+* Email
+* Erlang
+* `Ezhil <http://ezhillang.org>`_ Ezhil - A Tamil programming language
+* Factor
+* Fancy
+* `Fennel <https://fennel-lang.org/>`_
+* `FloScript <http://ioflo.com/>`_
+* Fortran
+* `FreeFEM++ <https://freefem.org/>`_
+* F#
+* GAP
+* Gherkin (Cucumber)
+* GL shaders
+* Groovy
+* `Haskell <http://www.haskell.org>`_ (incl. Literate Haskell)
+* HLSL
+* `HSpec <http://hackage.haskell.org/package/hspec>`_
+* IDL
+* Io
+* Java
+* JavaScript
+* Lasso
+* LLVM
+* Logtalk
+* `Lua <http://www.lua.org>`_
+* Matlab
+* MiniD
+* Modelica
+* Modula-2
+* MuPad
+* Nemerle
+* Nimrod
+* Notmuch
+* Objective-C
+* Objective-J
+* Octave
+* OCaml
+* PHP
+* `Perl 5 <http://perl.org>`_ and `Perl 6 <https://perl6.org>`_
+* `Pony <https://www.ponylang.io/>`_
+* PovRay
+* PostScript
+* PowerShell
+* Prolog
+* `Python <http://www.python.org>`_ 2.x and 3.x (incl. console sessions and tracebacks)
+* `REBOL <http://www.rebol.com>`_
+* `Red <http://www.red-lang.org>`_
+* Redcode
+* `Ruby <http://www.ruby-lang.org>`_ (incl. irb sessions)
+* Rust
+* S, S-Plus, R
+* Scala
+* `Scdoc <https://git.sr.ht/~sircmpwn/scdoc>`_
+* Scheme
+* Scilab
+* `SGF <https://www.red-bean.com/sgf/>`_
+* `Slash <https://github.com/arturadib/Slash-A>`_
+* `Slurm <https://slurm.schedmd.com/overview.html>`_
+* Smalltalk
+* SNOBOL
+* `Solidity <https://solidity.readthedocs.io/>`_
+* Tcl
+* `Tera Term language <https://ttssh2.osdn.jp/>`_
+* `TOML <https://github.com/toml-lang/toml>`_
+* Vala
+* Verilog
+* VHDL
+* Visual Basic.NET
+* Visual FoxPro
+* XQuery
+* `Zeek <https://www.zeek.org>`_
+* Zephir
+* `Zig <https://ziglang.org/>`_
+
+Template languages
+------------------
+
+* Cheetah templates
+* `Django <http://www.djangoproject.com>`_ / `Jinja
+ <http://jinja.pocoo.org/jinja>`_ templates
+* ERB (Ruby templating)
+* `Genshi <http://genshi.edgewall.org>`_ (the Trac template language)
+* JSP (Java Server Pages)
+* `Myghty <http://www.myghty.org>`_ (the HTML::Mason based framework)
+* `Mako <http://www.makotemplates.org>`_ (the Myghty successor)
+* `Smarty <http://www.smarty.net>`_ templates (PHP templating)
+* Tea
+
+Other markup
+------------
+
+* Apache config files
+* Bash shell scripts
+* BBCode
+* CMake
+* CSS
+* Debian control files
+* Diff files
+* DTD
+* Gettext catalogs
+* Gnuplot script
+* Groff markup
+* HTML
+* HTTP sessions
+* INI-style config files
+* IRC logs (irssi style)
+* Lighttpd config files
+* Makefiles
+* MoinMoin/Trac Wiki markup
+* MySQL
+* Nginx config files
+* POV-Ray scenes
+* Ragel
+* Redcode
+* ReST
+* Robot Framework
+* RPM spec files
+* SQL, also MySQL, SQLite
+* Squid configuration
+* TeX
+* tcsh
+* Vim Script
+* Windows batch files
+* XML
+* XSLT
+* YAML
+
+... that's all?
+---------------
+
+Well, why not write your own? Contributing to Pygments is easy and fun. Take a
+look at the :doc:`docs on lexer development <docs/lexerdevelopment>`. Pull
+requests are welcome on `GitHub <https://github.com/pygments/pygments>`.
+
+Note: the languages listed here are supported in the development version. The
+latest release may lack a few of them.
--- /dev/null
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+ clear: both;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+ width: 100%;
+ font-size: 90%;
+}
+
+div.related h3 {
+ display: none;
+}
+
+div.related ul {
+ margin: 0;
+ padding: 0 0 0 10px;
+ list-style: none;
+}
+
+div.related li {
+ display: inline;
+}
+
+div.related li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+ padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+ float: left;
+ width: 230px;
+ margin-left: -100%;
+ font-size: 90%;
+ word-wrap: break-word;
+ overflow-wrap : break-word;
+}
+
+div.sphinxsidebar ul {
+ list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+ margin-left: 20px;
+ list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+ margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #98dbcc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox form.search {
+ overflow: hidden;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+ float: left;
+ width: 80%;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+ float: left;
+ width: 20%;
+ border-left: none;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+
+img {
+ border: 0;
+ max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+ margin: 10px 0 0 20px;
+ padding: 0;
+}
+
+ul.search li {
+ padding: 5px 0 5px 20px;
+ background-image: url(file.png);
+ background-repeat: no-repeat;
+ background-position: 0 7px;
+}
+
+ul.search li a {
+ font-weight: bold;
+}
+
+ul.search li div.context {
+ color: #888;
+ margin: 2px 0 0 30px;
+ text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+ font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+ width: 90%;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.contentstable p.biglink {
+ line-height: 150%;
+}
+
+a.biglink {
+ font-size: 1.3em;
+}
+
+span.linkdescr {
+ font-style: italic;
+ padding-top: 5px;
+ font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+ width: 100%;
+}
+
+table.indextable td {
+ text-align: left;
+ vertical-align: top;
+}
+
+table.indextable ul {
+ margin-top: 0;
+ margin-bottom: 0;
+ list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+ padding-left: 0em;
+}
+
+table.indextable tr.pcap {
+ height: 10px;
+}
+
+table.indextable tr.cap {
+ margin-top: 10px;
+ background-color: #f2f2f2;
+}
+
+img.toggler {
+ margin-right: 3px;
+ margin-top: 3px;
+ cursor: pointer;
+}
+
+div.modindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+ padding: 2px;
+ border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body {
+ min-width: 450px;
+ max-width: 800px;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+ -moz-hyphens: auto;
+ -ms-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+
+a.headerlink {
+ visibility: hidden;
+}
+
+a.brackets:before,
+span.brackets > a:before{
+ content: "[";
+}
+
+a.brackets:after,
+span.brackets > a:after {
+ content: "]";
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+ visibility: visible;
+}
+
+div.body p.caption {
+ text-align: inherit;
+}
+
+div.body td {
+ text-align: left;
+}
+
+.first {
+ margin-top: 0 !important;
+}
+
+p.rubric {
+ margin-top: 30px;
+ font-weight: bold;
+}
+
+img.align-left, .figure.align-left, object.align-left {
+ clear: left;
+ float: left;
+ margin-right: 1em;
+}
+
+img.align-right, .figure.align-right, object.align-right {
+ clear: right;
+ float: right;
+ margin-left: 1em;
+}
+
+img.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+img.align-default, .figure.align-default {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.align-left {
+ text-align: left;
+}
+
+.align-center {
+ text-align: center;
+}
+
+.align-default {
+ text-align: center;
+}
+
+.align-right {
+ text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar {
+ margin: 0 0 0.5em 1em;
+ border: 1px solid #ddb;
+ padding: 7px 7px 0 7px;
+ background-color: #ffe;
+ width: 40%;
+ float: right;
+}
+
+p.sidebar-title {
+ font-weight: bold;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+ border: 1px solid #ccc;
+ padding: 7px 7px 0 7px;
+ margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+div.admonition dl {
+ margin-bottom: 0;
+}
+
+p.admonition-title {
+ margin: 0px 10px 5px 0px;
+ font-weight: bold;
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.align-center {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.align-default {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table caption span.caption-number {
+ font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+table.docutils td, table.docutils th {
+ padding: 1px 8px 1px 5px;
+ border-top: 0;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 1px solid #aaa;
+}
+
+table.footnote td, table.footnote th {
+ border: 0 !important;
+}
+
+th {
+ text-align: left;
+ padding-right: 5px;
+}
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px;
+}
+
+table.citation td {
+ border-bottom: none;
+}
+
+th > p:first-child,
+td > p:first-child {
+ margin-top: 0px;
+}
+
+th > p:last-child,
+td > p:last-child {
+ margin-bottom: 0px;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure {
+ margin: 0.5em;
+ padding: 0.5em;
+}
+
+div.figure p.caption {
+ padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number {
+ font-style: italic;
+}
+
+div.figure p.caption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+ border: 0 !important;
+}
+
+.field-list ul {
+ margin: 0;
+ padding-left: 1em;
+}
+
+.field-list p {
+ margin: 0;
+}
+
+.field-name {
+ -moz-hyphens: manual;
+ -ms-hyphens: manual;
+ -webkit-hyphens: manual;
+ hyphens: manual;
+}
+
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist td {
+ vertical-align: top;
+}
+
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+ list-style: decimal;
+}
+
+ol.loweralpha {
+ list-style: lower-alpha;
+}
+
+ol.upperalpha {
+ list-style: upper-alpha;
+}
+
+ol.lowerroman {
+ list-style: lower-roman;
+}
+
+ol.upperroman {
+ list-style: upper-roman;
+}
+
+li > p:first-child {
+ margin-top: 0px;
+}
+
+li > p:last-child {
+ margin-bottom: 0px;
+}
+
+dl.footnote > dt,
+dl.citation > dt {
+ float: left;
+}
+
+dl.footnote > dd,
+dl.citation > dd {
+ margin-bottom: 0em;
+}
+
+dl.footnote > dd:after,
+dl.citation > dd:after {
+ content: "";
+ clear: both;
+}
+
+dl.field-list {
+ display: grid;
+ grid-template-columns: fit-content(30%) auto;
+}
+
+dl.field-list > dt {
+ font-weight: bold;
+ word-break: break-word;
+ padding-left: 0.5em;
+ padding-right: 5px;
+}
+
+dl.field-list > dt:after {
+ content: ":";
+}
+
+dl.field-list > dd {
+ padding-left: 0.5em;
+ margin-top: 0em;
+ margin-left: 0em;
+ margin-bottom: 0em;
+}
+
+dl {
+ margin-bottom: 15px;
+}
+
+dd > p:first-child {
+ margin-top: 0px;
+}
+
+dd ul, dd table {
+ margin-bottom: 10px;
+}
+
+dd {
+ margin-top: 3px;
+ margin-bottom: 10px;
+ margin-left: 30px;
+}
+
+dt:target, span.highlighted {
+ background-color: #fbe54e;
+}
+
+rect.highlighted {
+ fill: #fbe54e;
+}
+
+dl.glossary dt {
+ font-weight: bold;
+ font-size: 1.1em;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.sig-paren {
+ font-size: larger;
+}
+
+.versionmodified {
+ font-style: italic;
+}
+
+.system-message {
+ background-color: #fda;
+ padding: 5px;
+ border: 3px solid red;
+}
+
+.footnote:target {
+ background-color: #ffa;
+}
+
+.line-block {
+ display: block;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+.line-block .line-block {
+ margin-top: 0;
+ margin-bottom: 0;
+ margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+ font-family: sans-serif;
+}
+
+.accelerator {
+ text-decoration: underline;
+}
+
+.classifier {
+ font-style: oblique;
+}
+
+.classifier:before {
+ font-style: normal;
+ margin: 0.5em;
+ content: ":";
+}
+
+abbr, acronym {
+ border-bottom: dotted 1px;
+ cursor: help;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+ overflow: auto;
+ overflow-y: hidden; /* fixes display issues on Chrome browsers */
+}
+
+span.pre {
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ -webkit-hyphens: none;
+ hyphens: none;
+}
+
+td.linenos pre {
+ padding: 5px 0px;
+ border: 0;
+ background-color: transparent;
+ color: #aaa;
+}
+
+table.highlighttable {
+ margin-left: 0.5em;
+}
+
+table.highlighttable td {
+ padding: 0 0.5em 0 0.5em;
+}
+
+div.code-block-caption {
+ padding: 2px 5px;
+ font-size: small;
+}
+
+div.code-block-caption code {
+ background-color: transparent;
+}
+
+div.code-block-caption + div > div.highlight > pre {
+ margin-top: 0;
+}
+
+div.code-block-caption span.caption-number {
+ padding: 0.1em 0.3em;
+ font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+ padding: 1em 1em 0;
+}
+
+div.literal-block-wrapper div.highlight {
+ margin: 0;
+}
+
+code.descname {
+ background-color: transparent;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+code.descclassname {
+ background-color: transparent;
+}
+
+code.xref, a code {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+ background-color: transparent;
+}
+
+.viewcode-link {
+ float: right;
+}
+
+.viewcode-back {
+ float: right;
+ font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+ margin: -1px -10px;
+ padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+ vertical-align: middle;
+}
+
+div.body div.math p {
+ text-align: center;
+}
+
+span.eqno {
+ float: right;
+}
+
+span.eqno a.headerlink {
+ position: relative;
+ left: 0px;
+ z-index: 1;
+}
+
+div.math:hover a.headerlink {
+ visibility: visible;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+ div.document,
+ div.documentwrapper,
+ div.bodywrapper {
+ margin: 0 !important;
+ width: 100%;
+ }
+
+ div.sphinxsidebar,
+ div.related,
+ div.footer,
+ #top-link {
+ display: none;
+ }
+}
\ No newline at end of file
--- /dev/null
+#try {
+ background-color: #f6f6f6;
+ border-radius: 0;
+ border: 1px solid #ccc;
+ margin-top: 15px;
+ padding: 10px 15px 5px 10px;
+ position: relative;
+}
+
+#try h2 {
+ margin-top: 0;
+}
+
+#try textarea {
+ border: 1px solid #999;
+ padding: 2px;
+ width: 100%;
+ min-height: 150px;
+}
+
+#hlcode pre {
+ background-color: transparent;
+ border-radius: 0;
+}
+
+#loading {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ margin: auto auto;
+ background-color: #cccccccc;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+}
--- /dev/null
+languagePluginLoader.then(() => {
+ // pyodide is now ready to use...
+ pyodide.loadPackage('Pygments').then(() => {
+ pyodide.runPython('import pygments.lexers, pygments.formatters.html, pygments.styles');
+
+ var lexerlist = pyodide.runPython('list(pygments.lexers.get_all_lexers())');
+ var sel = document.getElementById("lang");
+ for (lex of lexerlist) {
+ var opt = document.createElement("option");
+ opt.text = lex[0];
+ opt.value = lex[1][0];
+ sel.add(opt);
+ }
+
+ var stylelist = pyodide.runPython('list(pygments.styles.get_all_styles())');
+ var sel = document.getElementById("style");
+ for (sty of stylelist) {
+ if (sty != "default") {
+ var opt = document.createElement("option");
+ opt.text = sty;
+ opt.value = sty;
+ sel.add(opt);
+ }
+ }
+
+ document.getElementById("hlbtn").disabled = false;
+ document.getElementById("loading").style.display = "none";
+ });
+});
+
+function new_file() {
+ pyodide.globals['fname'] = document.getElementById("file").files[0].name;
+ var alias = pyodide.runPython('pygments.lexers.find_lexer_class_for_filename(fname).aliases[0]');
+ var sel = document.getElementById("lang");
+ for (var i = 0; i < sel.length; i++) {
+ if (sel.options[i].value == alias) {
+ sel.selectedIndex = i;
+ reset_err_hl();
+ break;
+ }
+ }
+}
+
+function reset_err_hl() {
+ document.getElementById("aroundlang").style.backgroundColor = null;
+}
+
+function highlight() {
+ var select = document.getElementById("lang");
+ var alias = select.options.item(select.selectedIndex).value
+
+ if (alias == "") {
+ document.getElementById("aroundlang").style.backgroundColor = "#ffcccc";
+ return;
+ }
+ pyodide.globals['alias'] = alias;
+
+ var select = document.getElementById("style");
+ pyodide.globals['style'] = select.options.item(select.selectedIndex).value;
+
+ pyodide.runPython('lexer = pygments.lexers.get_lexer_by_name(alias)');
+ pyodide.runPython('fmter = pygments.formatters.html.HtmlFormatter(noclasses=True, style=style)');
+
+ var file = document.getElementById("file").files[0];
+ if (file) {
+ file.arrayBuffer().then(function(buf) {
+ pyodide.globals['code_mem'] = buf;
+ pyodide.runPython('code = bytes(code_mem)');
+ highlight_now();
+ });
+ } else {
+ pyodide.globals['code'] = document.getElementById("code").value;
+ highlight_now();
+ }
+}
+
+function highlight_now() {
+ var out = document.getElementById("hlcode");
+ out.innerHTML = pyodide.runPython('pygments.highlight(code, lexer, fmter)');
+ document.location.hash = "#try";
+ document.getElementById("hlcodedl").style.display = "block";
+}
+
+function download_code() {
+ var filename = "highlighted.html";
+ var hlcode = document.getElementById("hlcode").innerHTML;
+ var blob = new Blob([hlcode], {type: 'text/html'});
+ if (window.navigator.msSaveOrOpenBlob) {
+ window.navigator.msSaveBlob(blob, filename);
+ }
+ else{
+ var elem = window.document.createElement('a');
+ elem.href = window.URL.createObjectURL(blob);
+ elem.download = filename;
+ document.body.appendChild(elem);
+ elem.click();
+ document.body.removeChild(elem);
+ window.URL.revokeObjectURL(elem.href);
+ }
+}
--- /dev/null
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for all documentation.
+ *
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/**
+ * select a different prefix for underscore
+ */
+$u = _.noConflict();
+
+/**
+ * make the code below compatible with browsers without
+ * an installed firebug like debugger
+if (!window.console || !console.firebug) {
+ var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
+ "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
+ "profile", "profileEnd"];
+ window.console = {};
+ for (var i = 0; i < names.length; ++i)
+ window.console[names[i]] = function() {};
+}
+ */
+
+/**
+ * small helper function to urldecode strings
+ */
+jQuery.urldecode = function(x) {
+ return decodeURIComponent(x).replace(/\+/g, ' ');
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+ if (typeof s === 'undefined')
+ s = document.location.search;
+ var parts = s.substr(s.indexOf('?') + 1).split('&');
+ var result = {};
+ for (var i = 0; i < parts.length; i++) {
+ var tmp = parts[i].split('=', 2);
+ var key = jQuery.urldecode(tmp[0]);
+ var value = jQuery.urldecode(tmp[1]);
+ if (key in result)
+ result[key].push(value);
+ else
+ result[key] = [value];
+ }
+ return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+ function highlight(node, addItems) {
+ if (node.nodeType === 3) {
+ var val = node.nodeValue;
+ var pos = val.toLowerCase().indexOf(text);
+ if (pos >= 0 &&
+ !jQuery(node.parentNode).hasClass(className) &&
+ !jQuery(node.parentNode).hasClass("nohighlight")) {
+ var span;
+ var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+ if (isInSVG) {
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ } else {
+ span = document.createElement("span");
+ span.className = className;
+ }
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+ document.createTextNode(val.substr(pos + text.length)),
+ node.nextSibling));
+ node.nodeValue = val.substr(0, pos);
+ if (isInSVG) {
+ var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+ var bbox = node.parentElement.getBBox();
+ rect.x.baseVal.value = bbox.x;
+ rect.y.baseVal.value = bbox.y;
+ rect.width.baseVal.value = bbox.width;
+ rect.height.baseVal.value = bbox.height;
+ rect.setAttribute('class', className);
+ addItems.push({
+ "parent": node.parentNode,
+ "target": rect});
+ }
+ }
+ }
+ else if (!jQuery(node).is("button, select, textarea")) {
+ jQuery.each(node.childNodes, function() {
+ highlight(this, addItems);
+ });
+ }
+ }
+ var addItems = [];
+ var result = this.each(function() {
+ highlight(this, addItems);
+ });
+ for (var i = 0; i < addItems.length; ++i) {
+ jQuery(addItems[i].parent).before(addItems[i].target);
+ }
+ return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+ jQuery.uaMatch = function(ua) {
+ ua = ua.toLowerCase();
+
+ var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+ /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+ /(msie) ([\w.]+)/.exec(ua) ||
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+ [];
+
+ return {
+ browser: match[ 1 ] || "",
+ version: match[ 2 ] || "0"
+ };
+ };
+ jQuery.browser = {};
+ jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+var Documentation = {
+
+ init : function() {
+ this.fixFirefoxAnchorBug();
+ this.highlightSearchWords();
+ this.initIndexTable();
+ if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
+ this.initOnKeyListeners();
+ }
+ },
+
+ /**
+ * i18n support
+ */
+ TRANSLATIONS : {},
+ PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
+ LOCALE : 'unknown',
+
+ // gettext and ngettext don't access this so that the functions
+ // can safely bound to a different name (_ = Documentation.gettext)
+ gettext : function(string) {
+ var translated = Documentation.TRANSLATIONS[string];
+ if (typeof translated === 'undefined')
+ return string;
+ return (typeof translated === 'string') ? translated : translated[0];
+ },
+
+ ngettext : function(singular, plural, n) {
+ var translated = Documentation.TRANSLATIONS[singular];
+ if (typeof translated === 'undefined')
+ return (n == 1) ? singular : plural;
+ return translated[Documentation.PLURALEXPR(n)];
+ },
+
+ addTranslations : function(catalog) {
+ for (var key in catalog.messages)
+ this.TRANSLATIONS[key] = catalog.messages[key];
+ this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
+ this.LOCALE = catalog.locale;
+ },
+
+ /**
+ * add context elements like header anchor links
+ */
+ addContextElements : function() {
+ $('div[id] > :header:first').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this headline')).
+ appendTo(this);
+ });
+ $('dt[id]').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this definition')).
+ appendTo(this);
+ });
+ },
+
+ /**
+ * workaround a firefox stupidity
+ * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
+ */
+ fixFirefoxAnchorBug : function() {
+ if (document.location.hash && $.browser.mozilla)
+ window.setTimeout(function() {
+ document.location.href += '';
+ }, 10);
+ },
+
+ /**
+ * highlight the search words provided in the url in the text
+ */
+ highlightSearchWords : function() {
+ var params = $.getQueryParameters();
+ var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+ if (terms.length) {
+ var body = $('div.body');
+ if (!body.length) {
+ body = $('body');
+ }
+ window.setTimeout(function() {
+ $.each(terms, function() {
+ body.highlightText(this.toLowerCase(), 'highlighted');
+ });
+ }, 10);
+ $('<p class="highlight-link"><a href="javascript:Documentation.' +
+ 'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
+ .appendTo($('#searchbox'));
+ }
+ },
+
+ /**
+ * init the domain index toggle buttons
+ */
+ initIndexTable : function() {
+ var togglers = $('img.toggler').click(function() {
+ var src = $(this).attr('src');
+ var idnum = $(this).attr('id').substr(7);
+ $('tr.cg-' + idnum).toggle();
+ if (src.substr(-9) === 'minus.png')
+ $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+ else
+ $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+ }).css('display', '');
+ if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
+ togglers.click();
+ }
+ },
+
+ /**
+ * helper function to hide the search marks again
+ */
+ hideSearchWords : function() {
+ $('#searchbox .highlight-link').fadeOut(300);
+ $('span.highlighted').removeClass('highlighted');
+ },
+
+ /**
+ * make the url absolute
+ */
+ makeURL : function(relativeURL) {
+ return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+ },
+
+ /**
+ * get the current relative url
+ */
+ getCurrentURL : function() {
+ var path = document.location.pathname;
+ var parts = path.split(/\//);
+ $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+ if (this === '..')
+ parts.pop();
+ });
+ var url = parts.join('/');
+ return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+ },
+
+ initOnKeyListeners: function() {
+ $(document).keyup(function(event) {
+ var activeElementType = document.activeElement.tagName;
+ // don't navigate when in search box or textarea
+ if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
+ switch (event.keyCode) {
+ case 37: // left
+ var prevHref = $('link[rel="prev"]').prop('href');
+ if (prevHref) {
+ window.location.href = prevHref;
+ return false;
+ }
+ case 39: // right
+ var nextHref = $('link[rel="next"]').prop('href');
+ if (nextHref) {
+ window.location.href = nextHref;
+ return false;
+ }
+ }
+ }
+ });
+ }
+};
+
+// quick alias for translations
+_ = Documentation.gettext;
+
+$(document).ready(function() {
+ Documentation.init();
+});
--- /dev/null
+var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
+ VERSION: '2.4.2',
+ LANGUAGE: 'None',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt',
+ NAVIGATION_WITH_KEYS: false
+};
\ No newline at end of file
--- /dev/null
+/*!
+ * jQuery JavaScript Library v3.4.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2019-05-01T21:04Z
+ */
+( function( global, factory ) {
+
+ "use strict";
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+var isFunction = function isFunction( obj ) {
+
+ // Support: Chrome <=57, Firefox <=52
+ // In some browsers, typeof returns "function" for HTML <object> elements
+ // (i.e., `typeof document.createElement( "object" ) === "function"`).
+ // We don't want to classify *any* DOM node as a function.
+ return typeof obj === "function" && typeof obj.nodeType !== "number";
+ };
+
+
+var isWindow = function isWindow( obj ) {
+ return obj != null && obj === obj.window;
+ };
+
+
+
+
+ var preservedScriptAttributes = {
+ type: true,
+ src: true,
+ nonce: true,
+ noModule: true
+ };
+
+ function DOMEval( code, node, doc ) {
+ doc = doc || document;
+
+ var i, val,
+ script = doc.createElement( "script" );
+
+ script.text = code;
+ if ( node ) {
+ for ( i in preservedScriptAttributes ) {
+
+ // Support: Firefox 64+, Edge 18+
+ // Some browsers don't support the "nonce" property on scripts.
+ // On the other hand, just using `getAttribute` is not enough as
+ // the `nonce` attribute is reset to an empty string whenever it
+ // becomes browsing-context connected.
+ // See https://github.com/whatwg/html/issues/2369
+ // See https://html.spec.whatwg.org/#nonce-attributes
+ // The `node.getAttribute` check was added for the sake of
+ // `jQuery.globalEval` so that it can fake a nonce-containing node
+ // via an object.
+ val = node[ i ] || node.getAttribute && node.getAttribute( i );
+ if ( val ) {
+ script.setAttribute( i, val );
+ }
+ }
+ }
+ doc.head.appendChild( script ).parentNode.removeChild( script );
+ }
+
+
+function toType( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+
+ // Support: Android <=2.3 only (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call( obj ) ] || "object" :
+ typeof obj;
+}
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+ version = "3.4.1",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ },
+
+ // Support: Android <=4.0 only
+ // Make sure we trim BOM and NBSP
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+
+jQuery.fn = jQuery.prototype = {
+
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+
+ // Return all the elements in a clean array
+ if ( num == null ) {
+ return slice.call( this );
+ }
+
+ // Return just the one element from the set
+ return num < 0 ? this[ num + this.length ] : this[ num ];
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ each: function( callback ) {
+ return jQuery.each( this, callback );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map( this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ } ) );
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor();
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: arr.sort,
+ splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[ 0 ] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // Skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !isFunction( target ) ) {
+ target = {};
+ }
+
+ // Extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+
+ // Only deal with non-null/undefined values
+ if ( ( options = arguments[ i ] ) != null ) {
+
+ // Extend the base object
+ for ( name in options ) {
+ copy = options[ name ];
+
+ // Prevent Object.prototype pollution
+ // Prevent never-ending loop
+ if ( name === "__proto__" || target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+ ( copyIsArray = Array.isArray( copy ) ) ) ) {
+ src = target[ name ];
+
+ // Ensure proper type for the source value
+ if ( copyIsArray && !Array.isArray( src ) ) {
+ clone = [];
+ } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
+ clone = {};
+ } else {
+ clone = src;
+ }
+ copyIsArray = false;
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend( {
+
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ isPlainObject: function( obj ) {
+ var proto, Ctor;
+
+ // Detect obvious negatives
+ // Use toString instead of jQuery.type to catch host objects
+ if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+ return false;
+ }
+
+ proto = getProto( obj );
+
+ // Objects with no prototype (e.g., `Object.create( null )`) are plain
+ if ( !proto ) {
+ return true;
+ }
+
+ // Objects with prototype are plain iff they were constructed by a global Object function
+ Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+ return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+ },
+
+ isEmptyObject: function( obj ) {
+ var name;
+
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ // Evaluates a script in a global context
+ globalEval: function( code, options ) {
+ DOMEval( code, { nonce: options && options.nonce } );
+ },
+
+ each: function( obj, callback ) {
+ var length, i = 0;
+
+ if ( isArrayLike( obj ) ) {
+ length = obj.length;
+ for ( ; i < length; i++ ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Support: Android <=4.0 only
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArrayLike( Object( arr ) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : indexOf.call( arr, elem, i );
+ },
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ for ( ; j < len; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var length, value,
+ i = 0,
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArrayLike( elems ) ) {
+ length = elems.length;
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+ jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+ // Support: real iOS 8.2 only (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = !!obj && "length" in obj && obj.length,
+ type = toType( obj );
+
+ if ( isFunction( obj ) || isWindow( obj ) ) {
+ return false;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.4
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://js.foundation/
+ *
+ * Date: 2019-04-08
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ nonnativeSelectorCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // https://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+ rdescend = new RegExp( whitespace + "|>" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rhtml = /HTML$/i,
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+
+ // CSS escapes
+ // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // CSS string/identifier serialization
+ // https://drafts.csswg.org/cssom/#common-serializing-idioms
+ rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+ fcssescape = function( ch, asCodePoint ) {
+ if ( asCodePoint ) {
+
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+ if ( ch === "\0" ) {
+ return "\uFFFD";
+ }
+
+ // Control characters and (dependent upon position) numbers get escaped as code points
+ return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ }
+
+ // Other potentially-special ASCII characters get backslash-escaped
+ return "\\" + ch;
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ },
+
+ inDisabledFieldset = addCombinator(
+ function( elem ) {
+ return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
+ },
+ { dir: "parentNode", next: "legend" }
+ );
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
+
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
+
+ results = results || [];
+
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+ context = context || document;
+
+ if ( documentIsHTML ) {
+
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+ // ID selector
+ if ( (m = match[1]) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( (elem = context.getElementById( m )) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && (elem = newContext.getElementById( m )) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !nonnativeSelectorCache[ selector + " " ] &&
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) &&
+
+ // Support: IE 8 only
+ // Exclude object elements
+ (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) {
+
+ newSelector = selector;
+ newContext = context;
+
+ // qSA considers elements outside a scoping root when evaluating child or
+ // descendant combinators, which is not what we want.
+ // In such cases, we work around the behavior by prefixing every selector in the
+ // list with an ID selector referencing the scope context.
+ // Thanks to Andrew Dupont for this technique.
+ if ( nodeType === 1 && rdescend.test( selector ) ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( (nid = context.getAttribute( "id" )) ) {
+ nid = nid.replace( rcssescape, fcssescape );
+ } else {
+ context.setAttribute( "id", (nid = expando) );
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ while ( i-- ) {
+ groups[i] = "#" + nid + " " + toSelector( groups[i] );
+ }
+ newSelector = groups.join( "," );
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+ }
+
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ nonnativeSelectorCache( selector, true );
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+ var el = document.createElement("fieldset");
+
+ try {
+ return !!fn( el );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( el.parentNode ) {
+ el.parentNode.removeChild( el );
+ }
+ // release memory in IE
+ el = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ a.sourceIndex - b.sourceIndex;
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+ // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+ return function( elem ) {
+
+ // Only certain elements can match :enabled or :disabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+ if ( "form" in elem ) {
+
+ // Check for inherited disabledness on relevant non-disabled elements:
+ // * listed form-associated elements in a disabled fieldset
+ // https://html.spec.whatwg.org/multipage/forms.html#category-listed
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+ // * option elements in a disabled optgroup
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+ // All such elements have a "form" property.
+ if ( elem.parentNode && elem.disabled === false ) {
+
+ // Option elements defer to a parent optgroup if present
+ if ( "label" in elem ) {
+ if ( "label" in elem.parentNode ) {
+ return elem.parentNode.disabled === disabled;
+ } else {
+ return elem.disabled === disabled;
+ }
+ }
+
+ // Support: IE 6 - 11
+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors
+ return elem.isDisabled === disabled ||
+
+ // Where there is no isDisabled, check manually
+ /* jshint -W018 */
+ elem.isDisabled !== !disabled &&
+ inDisabledFieldset( elem ) === disabled;
+ }
+
+ return elem.disabled === disabled;
+
+ // Try to winnow out elements that can't be disabled before trusting the disabled property.
+ // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+ // even exist on them, let alone have a boolean value.
+ } else if ( "label" in elem ) {
+ return elem.disabled === disabled;
+ }
+
+ // Remaining elements are neither :enabled nor :disabled
+ return false;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ var namespace = elem.namespaceURI,
+ docElem = (elem.ownerDocument || elem).documentElement;
+
+ // Support: IE <=8
+ // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
+ // https://bugs.jquery.com/ticket/4833
+ return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, subWindow,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9-11, Edge
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ if ( preferredDoc !== document &&
+ (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+ // Support: IE 11, Edge
+ if ( subWindow.addEventListener ) {
+ subWindow.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( subWindow.attachEvent ) {
+ subWindow.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( el ) {
+ el.className = "i";
+ return !el.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( el ) {
+ el.appendChild( document.createComment("") );
+ return !el.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programmatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( el ) {
+ docElem.appendChild( el ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ });
+
+ // ID filter and find
+ if ( support.getById ) {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var elem = context.getElementById( id );
+ return elem ? [ elem ] : [];
+ }
+ };
+ } else {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+
+ // Support: IE 6 - 7 only
+ // getElementById is not reliable as a find shortcut
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var node, i, elems,
+ elem = context.getElementById( id );
+
+ if ( elem ) {
+
+ // Verify the id attribute
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+
+ // Fall back on getElementsByName
+ elems = context.getElementsByName( id );
+ i = 0;
+ while ( (elem = elems[i++]) ) {
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+ }
+ }
+
+ return [];
+ }
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See https://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( el ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // https://bugs.jquery.com/ticket/12359
+ docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+ "<select id='" + expando + "-\r\\' msallowcapture=''>" +
+ "<option selected=''></option></select>";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !el.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !el.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibling-combinator selector` fails
+ if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( el ) {
+ el.innerHTML = "<a href='' disabled='disabled'></a>" +
+ "<select disabled='disabled'><option/></select>";
+
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ el.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( el.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( el.querySelectorAll(":enabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Support: IE9-11+
+ // IE's :disabled selector does not pick up the children of disabled fieldsets
+ docElem.appendChild( el ).disabled = true;
+ if ( el.querySelectorAll(":disabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ el.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( el ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( el, "*" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( el, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === document ? -1 :
+ b === document ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !nonnativeSelectorCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {
+ nonnativeSelectorCache( expr, true );
+ }
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.escape = function( sel ) {
+ return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+ // Use previously-cached element index if available
+ if ( useCache ) {
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": createDisabledPseudo( false ),
+ "disabled": createDisabledPseudo( true ),
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ?
+ argument + length :
+ argument > length ?
+ length :
+ argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ skip = combinator.next,
+ key = skip || dir,
+ checkNonElements = base && key === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ return false;
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+ if ( skip && skip === elem.nodeName.toLowerCase() ) {
+ elem = elem[ dir ] || elem;
+ } else if ( (oldCache = uniqueCache[ key ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ key ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context === document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ if ( !context && elem.ownerDocument !== document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context || document, xml) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+ // Should return 1, but returns 4 (following)
+ return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+ el.innerHTML = "<a href='#'></a>";
+ return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+ el.innerHTML = "<input/>";
+ el.firstChild.setAttribute( "value", "" );
+ return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+ return el.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+
+var siblings = function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ return !!qualifier.call( elem, i, elem ) !== not;
+ } );
+ }
+
+ // Single element
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ } );
+ }
+
+ // Arraylike of elements (jQuery, arguments, Array)
+ if ( typeof qualifier !== "string" ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+ } );
+ }
+
+ // Filtered directly for both simple and complex selectors
+ return jQuery.filter( qualifier, elements, not );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ if ( elems.length === 1 && elem.nodeType === 1 ) {
+ return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+ }
+
+ return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ } ) );
+};
+
+jQuery.fn.extend( {
+ find: function( selector ) {
+ var i, ret,
+ len = this.length,
+ self = this;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ } ) );
+ }
+
+ ret = this.pushStack( [] );
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], false ) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], true ) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ // Shortcut simple #id case for speed
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+ init = jQuery.fn.init = function( selector, context, root ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Method init() accepts an alternate rootjQuery
+ // so migrate can support jQuery.sub (gh-2101)
+ root = root || rootjQuery;
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector[ 0 ] === "<" &&
+ selector[ selector.length - 1 ] === ">" &&
+ selector.length >= 3 ) {
+
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && ( match[ 1 ] || !context ) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[ 1 ] ) {
+ context = context instanceof jQuery ? context[ 0 ] : context;
+
+ // Option to run scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[ 1 ],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+
+ // Properties of context are called as methods if possible
+ if ( isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[ 2 ] );
+
+ if ( elem ) {
+
+ // Inject the element directly into the jQuery object
+ this[ 0 ] = elem;
+ this.length = 1;
+ }
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || root ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this[ 0 ] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( isFunction( selector ) ) {
+ return root.ready !== undefined ?
+ root.ready( selector ) :
+
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+ // Methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.fn.extend( {
+ has: function( target ) {
+ var targets = jQuery( target, this ),
+ l = targets.length;
+
+ return this.filter( function() {
+ var i = 0;
+ for ( ; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[ i ] ) ) {
+ return true;
+ }
+ }
+ } );
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ targets = typeof selectors !== "string" && jQuery( selectors );
+
+ // Positional selectors never match, since there's no _selection_ context
+ if ( !rneedsContext.test( selectors ) ) {
+ for ( ; i < l; i++ ) {
+ for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && ( targets ?
+ targets.index( cur ) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+ },
+
+ // Determine the position of an element within the set
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // Index in selector
+ if ( typeof elem === "string" ) {
+ return indexOf.call( jQuery( elem ), this[ 0 ] );
+ }
+
+ // Locate the position of the desired element
+ return indexOf.call( this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem
+ );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.uniqueSort(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ }
+} );
+
+function sibling( cur, dir ) {
+ while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+ return cur;
+}
+
+jQuery.each( {
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return siblings( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return siblings( elem.firstChild );
+ },
+ contents: function( elem ) {
+ if ( typeof elem.contentDocument !== "undefined" ) {
+ return elem.contentDocument;
+ }
+
+ // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+ // Treat the template element as a regular one in browsers that
+ // don't support it.
+ if ( nodeName( elem, "template" ) ) {
+ elem = elem.content || elem;
+ }
+
+ return jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var matched = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ matched = jQuery.filter( selector, matched );
+ }
+
+ if ( this.length > 1 ) {
+
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ jQuery.uniqueSort( matched );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack( matched );
+ };
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+ var object = {};
+ jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ } );
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ createOptions( options ) :
+ jQuery.extend( {}, options );
+
+ var // Flag to know if list is currently firing
+ firing,
+
+ // Last fire value for non-forgettable lists
+ memory,
+
+ // Flag to know if list was already fired
+ fired,
+
+ // Flag to prevent firing
+ locked,
+
+ // Actual callback list
+ list = [],
+
+ // Queue of execution data for repeatable lists
+ queue = [],
+
+ // Index of currently firing callback (modified by add/remove as needed)
+ firingIndex = -1,
+
+ // Fire callbacks
+ fire = function() {
+
+ // Enforce single-firing
+ locked = locked || options.once;
+
+ // Execute callbacks for all pending executions,
+ // respecting firingIndex overrides and runtime changes
+ fired = firing = true;
+ for ( ; queue.length; firingIndex = -1 ) {
+ memory = queue.shift();
+ while ( ++firingIndex < list.length ) {
+
+ // Run callback and check for early termination
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+ options.stopOnFalse ) {
+
+ // Jump to end and forget the data so .add doesn't re-fire
+ firingIndex = list.length;
+ memory = false;
+ }
+ }
+ }
+
+ // Forget the data if we're done with it
+ if ( !options.memory ) {
+ memory = false;
+ }
+
+ firing = false;
+
+ // Clean up if we're done firing for good
+ if ( locked ) {
+
+ // Keep an empty list if we have data for future add calls
+ if ( memory ) {
+ list = [];
+
+ // Otherwise, this object is spent
+ } else {
+ list = "";
+ }
+ }
+ },
+
+ // Actual Callbacks object
+ self = {
+
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+
+ // If we have memory from a past run, we should fire after adding
+ if ( memory && !firing ) {
+ firingIndex = list.length - 1;
+ queue.push( memory );
+ }
+
+ ( function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ if ( isFunction( arg ) ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && toType( arg ) !== "string" ) {
+
+ // Inspect recursively
+ add( arg );
+ }
+ } );
+ } )( arguments );
+
+ if ( memory && !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Remove a callback from the list
+ remove: function() {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+
+ // Handle firing indexes
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ } );
+ return this;
+ },
+
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ?
+ jQuery.inArray( fn, list ) > -1 :
+ list.length > 0;
+ },
+
+ // Remove all callbacks from the list
+ empty: function() {
+ if ( list ) {
+ list = [];
+ }
+ return this;
+ },
+
+ // Disable .fire and .add
+ // Abort any current/pending executions
+ // Clear all callbacks and values
+ disable: function() {
+ locked = queue = [];
+ list = memory = "";
+ return this;
+ },
+ disabled: function() {
+ return !list;
+ },
+
+ // Disable .fire
+ // Also disable .add unless we have memory (since it would have no effect)
+ // Abort any pending executions
+ lock: function() {
+ locked = queue = [];
+ if ( !memory && !firing ) {
+ list = memory = "";
+ }
+ return this;
+ },
+ locked: function() {
+ return !!locked;
+ },
+
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( !locked ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ queue.push( args );
+ if ( !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+function Identity( v ) {
+ return v;
+}
+function Thrower( ex ) {
+ throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+ var method;
+
+ try {
+
+ // Check for promise aspect first to privilege synchronous behavior
+ if ( value && isFunction( ( method = value.promise ) ) ) {
+ method.call( value ).done( resolve ).fail( reject );
+
+ // Other thenables
+ } else if ( value && isFunction( ( method = value.then ) ) ) {
+ method.call( value, resolve, reject );
+
+ // Other non-thenables
+ } else {
+
+ // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+ // * false: [ value ].slice( 0 ) => resolve( value )
+ // * true: [ value ].slice( 1 ) => resolve()
+ resolve.apply( undefined, [ value ].slice( noValue ) );
+ }
+
+ // For Promises/A+, convert exceptions into rejections
+ // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+ // Deferred#then to conditionally suppress rejection.
+ } catch ( value ) {
+
+ // Support: Android 4.0 only
+ // Strict mode functions invoked without .call/.apply get global-object context
+ reject.apply( undefined, [ value ] );
+ }
+}
+
+jQuery.extend( {
+
+ Deferred: function( func ) {
+ var tuples = [
+
+ // action, add listener, callbacks,
+ // ... .then handlers, argument index, [final state]
+ [ "notify", "progress", jQuery.Callbacks( "memory" ),
+ jQuery.Callbacks( "memory" ), 2 ],
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ "catch": function( fn ) {
+ return promise.then( null, fn );
+ },
+
+ // Keep pipe for back-compat
+ pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+
+ return jQuery.Deferred( function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+
+ // Map tuples (progress, done, fail) to arguments (done, fail, progress)
+ var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+ // deferred.progress(function() { bind to newDefer or newDefer.notify })
+ // deferred.done(function() { bind to newDefer or newDefer.resolve })
+ // deferred.fail(function() { bind to newDefer or newDefer.reject })
+ deferred[ tuple[ 1 ] ]( function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && isFunction( returned.promise ) ) {
+ returned.promise()
+ .progress( newDefer.notify )
+ .done( newDefer.resolve )
+ .fail( newDefer.reject );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ](
+ this,
+ fn ? [ returned ] : arguments
+ );
+ }
+ } );
+ } );
+ fns = null;
+ } ).promise();
+ },
+ then: function( onFulfilled, onRejected, onProgress ) {
+ var maxDepth = 0;
+ function resolve( depth, deferred, handler, special ) {
+ return function() {
+ var that = this,
+ args = arguments,
+ mightThrow = function() {
+ var returned, then;
+
+ // Support: Promises/A+ section 2.3.3.3.3
+ // https://promisesaplus.com/#point-59
+ // Ignore double-resolution attempts
+ if ( depth < maxDepth ) {
+ return;
+ }
+
+ returned = handler.apply( that, args );
+
+ // Support: Promises/A+ section 2.3.1
+ // https://promisesaplus.com/#point-48
+ if ( returned === deferred.promise() ) {
+ throw new TypeError( "Thenable self-resolution" );
+ }
+
+ // Support: Promises/A+ sections 2.3.3.1, 3.5
+ // https://promisesaplus.com/#point-54
+ // https://promisesaplus.com/#point-75
+ // Retrieve `then` only once
+ then = returned &&
+
+ // Support: Promises/A+ section 2.3.4
+ // https://promisesaplus.com/#point-64
+ // Only check objects and functions for thenability
+ ( typeof returned === "object" ||
+ typeof returned === "function" ) &&
+ returned.then;
+
+ // Handle a returned thenable
+ if ( isFunction( then ) ) {
+
+ // Special processors (notify) just wait for resolution
+ if ( special ) {
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special )
+ );
+
+ // Normal processors (resolve) also hook into progress
+ } else {
+
+ // ...and disregard older resolution values
+ maxDepth++;
+
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special ),
+ resolve( maxDepth, deferred, Identity,
+ deferred.notifyWith )
+ );
+ }
+
+ // Handle all other returned values
+ } else {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Identity ) {
+ that = undefined;
+ args = [ returned ];
+ }
+
+ // Process the value(s)
+ // Default process is resolve
+ ( special || deferred.resolveWith )( that, args );
+ }
+ },
+
+ // Only normal processors (resolve) catch and reject exceptions
+ process = special ?
+ mightThrow :
+ function() {
+ try {
+ mightThrow();
+ } catch ( e ) {
+
+ if ( jQuery.Deferred.exceptionHook ) {
+ jQuery.Deferred.exceptionHook( e,
+ process.stackTrace );
+ }
+
+ // Support: Promises/A+ section 2.3.3.3.4.1
+ // https://promisesaplus.com/#point-61
+ // Ignore post-resolution exceptions
+ if ( depth + 1 >= maxDepth ) {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Thrower ) {
+ that = undefined;
+ args = [ e ];
+ }
+
+ deferred.rejectWith( that, args );
+ }
+ }
+ };
+
+ // Support: Promises/A+ section 2.3.3.3.1
+ // https://promisesaplus.com/#point-57
+ // Re-resolve promises immediately to dodge false rejection from
+ // subsequent errors
+ if ( depth ) {
+ process();
+ } else {
+
+ // Call an optional hook to record the stack, in case of exception
+ // since it's otherwise lost when execution goes async
+ if ( jQuery.Deferred.getStackHook ) {
+ process.stackTrace = jQuery.Deferred.getStackHook();
+ }
+ window.setTimeout( process );
+ }
+ };
+ }
+
+ return jQuery.Deferred( function( newDefer ) {
+
+ // progress_handlers.add( ... )
+ tuples[ 0 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onProgress ) ?
+ onProgress :
+ Identity,
+ newDefer.notifyWith
+ )
+ );
+
+ // fulfilled_handlers.add( ... )
+ tuples[ 1 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onFulfilled ) ?
+ onFulfilled :
+ Identity
+ )
+ );
+
+ // rejected_handlers.add( ... )
+ tuples[ 2 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onRejected ) ?
+ onRejected :
+ Thrower
+ )
+ );
+ } ).promise();
+ },
+
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 5 ];
+
+ // promise.progress = list.add
+ // promise.done = list.add
+ // promise.fail = list.add
+ promise[ tuple[ 1 ] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(
+ function() {
+
+ // state = "resolved" (i.e., fulfilled)
+ // state = "rejected"
+ state = stateString;
+ },
+
+ // rejected_callbacks.disable
+ // fulfilled_callbacks.disable
+ tuples[ 3 - i ][ 2 ].disable,
+
+ // rejected_handlers.disable
+ // fulfilled_handlers.disable
+ tuples[ 3 - i ][ 3 ].disable,
+
+ // progress_callbacks.lock
+ tuples[ 0 ][ 2 ].lock,
+
+ // progress_handlers.lock
+ tuples[ 0 ][ 3 ].lock
+ );
+ }
+
+ // progress_handlers.fire
+ // fulfilled_handlers.fire
+ // rejected_handlers.fire
+ list.add( tuple[ 3 ].fire );
+
+ // deferred.notify = function() { deferred.notifyWith(...) }
+ // deferred.resolve = function() { deferred.resolveWith(...) }
+ // deferred.reject = function() { deferred.rejectWith(...) }
+ deferred[ tuple[ 0 ] ] = function() {
+ deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+ return this;
+ };
+
+ // deferred.notifyWith = list.fireWith
+ // deferred.resolveWith = list.fireWith
+ // deferred.rejectWith = list.fireWith
+ deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+ } );
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( singleValue ) {
+ var
+
+ // count of uncompleted subordinates
+ remaining = arguments.length,
+
+ // count of unprocessed arguments
+ i = remaining,
+
+ // subordinate fulfillment data
+ resolveContexts = Array( i ),
+ resolveValues = slice.call( arguments ),
+
+ // the master Deferred
+ master = jQuery.Deferred(),
+
+ // subordinate callback factory
+ updateFunc = function( i ) {
+ return function( value ) {
+ resolveContexts[ i ] = this;
+ resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( !( --remaining ) ) {
+ master.resolveWith( resolveContexts, resolveValues );
+ }
+ };
+ };
+
+ // Single- and empty arguments are adopted like Promise.resolve
+ if ( remaining <= 1 ) {
+ adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+ !remaining );
+
+ // Use .then() to unwrap secondary thenables (cf. gh-3000)
+ if ( master.state() === "pending" ||
+ isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+ return master.then();
+ }
+ }
+
+ // Multiple arguments are aggregated like Promise.all array elements
+ while ( i-- ) {
+ adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+ }
+
+ return master.promise();
+ }
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+ // Support: IE 8 - 9 only
+ // Console exists when dev tools are open, which can happen at any time
+ if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+ window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+ }
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+ window.setTimeout( function() {
+ throw error;
+ } );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+ readyList
+ .then( fn )
+
+ // Wrap jQuery.readyException in a function so that the lookup
+ // happens at the time of error handling instead of callback
+ // registration.
+ .catch( function( error ) {
+ jQuery.readyException( error );
+ } );
+
+ return this;
+};
+
+jQuery.extend( {
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+ }
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+ document.removeEventListener( "DOMContentLoaded", completed );
+ window.removeEventListener( "load", completed );
+ jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+ ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ window.setTimeout( jQuery.ready );
+
+} else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ len = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( toType( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ access( elems, fn, i, key[ i ], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < len; i++ ) {
+ fn(
+ elems[ i ], key, raw ?
+ value :
+ value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ );
+ }
+ }
+ }
+
+ if ( chainable ) {
+ return elems;
+ }
+
+ // Gets
+ if ( bulk ) {
+ return fn.call( elems );
+ }
+
+ return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+
+
+// Matches dashed string for camelizing
+var rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([a-z])/g;
+
+// Used by camelCase as callback to replace()
+function fcamelCase( all, letter ) {
+ return letter.toUpperCase();
+}
+
+// Convert dashed to camelCase; used by the css and data modules
+// Support: IE <=9 - 11, Edge 12 - 15
+// Microsoft forgot to hump their vendor prefix (#9572)
+function camelCase( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+}
+var acceptData = function( owner ) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+ this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+ cache: function( owner ) {
+
+ // Check if the owner object already has a cache
+ var value = owner[ this.expando ];
+
+ // If not, create one
+ if ( !value ) {
+ value = {};
+
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return an empty object.
+ if ( acceptData( owner ) ) {
+
+ // If it is a node unlikely to be stringify-ed or looped over
+ // use plain assignment
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = value;
+
+ // Otherwise secure it in a non-enumerable property
+ // configurable must be true to allow the property to be
+ // deleted when data is removed
+ } else {
+ Object.defineProperty( owner, this.expando, {
+ value: value,
+ configurable: true
+ } );
+ }
+ }
+ }
+
+ return value;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ cache = this.cache( owner );
+
+ // Handle: [ owner, key, value ] args
+ // Always use camelCase key (gh-2257)
+ if ( typeof data === "string" ) {
+ cache[ camelCase( data ) ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+
+ // Copy the properties one-by-one to the cache object
+ for ( prop in data ) {
+ cache[ camelCase( prop ) ] = data[ prop ];
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ return key === undefined ?
+ this.cache( owner ) :
+
+ // Always use camelCase key (gh-2257)
+ owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
+ },
+ access: function( owner, key, value ) {
+
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+ return this.get( owner, key );
+ }
+
+ // When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i,
+ cache = owner[ this.expando ];
+
+ if ( cache === undefined ) {
+ return;
+ }
+
+ if ( key !== undefined ) {
+
+ // Support array or space separated string of keys
+ if ( Array.isArray( key ) ) {
+
+ // If key is an array of keys...
+ // We always set camelCase keys, so remove that.
+ key = key.map( camelCase );
+ } else {
+ key = camelCase( key );
+
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ key = key in cache ?
+ [ key ] :
+ ( key.match( rnothtmlwhite ) || [] );
+ }
+
+ i = key.length;
+
+ while ( i-- ) {
+ delete cache[ key[ i ] ];
+ }
+ }
+
+ // Remove the expando if there's no more data
+ if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+ // Support: Chrome <=35 - 45
+ // Webkit & Blink performance suffers when deleting properties
+ // from DOM nodes, so set to undefined instead
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = undefined;
+ } else {
+ delete owner[ this.expando ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ var cache = owner[ this.expando ];
+ return cache !== undefined && !jQuery.isEmptyObject( cache );
+ }
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+// Implementation Summary
+//
+// 1. Enforce API surface and semantic compatibility with 1.9.x branch
+// 2. Improve the module's maintainability by reducing the storage
+// paths to a single mechanism.
+// 3. Use the same single mechanism to support "private" and "user" data.
+// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+// 5. Avoid exposing implementation details on user objects (eg. expando properties)
+// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+ if ( data === "true" ) {
+ return true;
+ }
+
+ if ( data === "false" ) {
+ return false;
+ }
+
+ if ( data === "null" ) {
+ return null;
+ }
+
+ // Only convert to a number if it doesn't change the string
+ if ( data === +data + "" ) {
+ return +data;
+ }
+
+ if ( rbrace.test( data ) ) {
+ return JSON.parse( data );
+ }
+
+ return data;
+}
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = getData( data );
+ } catch ( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ dataUser.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+
+jQuery.extend( {
+ hasData: function( elem ) {
+ return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return dataUser.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ dataUser.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to dataPriv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return dataPriv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ dataPriv.remove( elem, name );
+ }
+} );
+
+jQuery.fn.extend( {
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = dataUser.get( elem );
+
+ if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE 11 only
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = camelCase( name.slice( 5 ) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ dataPriv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each( function() {
+ dataUser.set( this, key );
+ } );
+ }
+
+ return access( this, function( value ) {
+ var data;
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+
+ // Attempt to get data from the cache
+ // The key will always be camelCased in Data
+ data = dataUser.get( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each( function() {
+
+ // We always store the camelCased key
+ dataUser.set( this, key, value );
+ } );
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each( function() {
+ dataUser.remove( this, key );
+ } );
+ }
+} );
+
+
+jQuery.extend( {
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = dataPriv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || Array.isArray( data ) ) {
+ queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // Clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // Not public - generate a queueHooks object, or return the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+ empty: jQuery.Callbacks( "once memory" ).add( function() {
+ dataPriv.remove( elem, [ type + "queue", key ] );
+ } )
+ } );
+ }
+} );
+
+jQuery.fn.extend( {
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[ 0 ], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each( function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // Ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ dequeue: function( type ) {
+ return this.each( function() {
+ jQuery.dequeue( this, type );
+ } );
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var documentElement = document.documentElement;
+
+
+
+ var isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem );
+ },
+ composed = { composed: true };
+
+ // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
+ // Check attachment across shadow DOM boundaries when possible (gh-3504)
+ // Support: iOS 10.0-10.2 only
+ // Early iOS 10 versions support `attachShadow` but not `getRootNode`,
+ // leading to errors. We need to check for `getRootNode`.
+ if ( documentElement.getRootNode ) {
+ isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem ) ||
+ elem.getRootNode( composed ) === elem.ownerDocument;
+ };
+ }
+var isHiddenWithinTree = function( elem, el ) {
+
+ // isHiddenWithinTree might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+
+ // Inline style trumps all
+ return elem.style.display === "none" ||
+ elem.style.display === "" &&
+
+ // Otherwise, check computed style
+ // Support: Firefox <=43 - 45
+ // Disconnected elements can have computed display: none, so first confirm that elem is
+ // in the document.
+ isAttached( elem ) &&
+
+ jQuery.css( elem, "display" ) === "none";
+ };
+
+var swap = function( elem, options, callback, args ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+ var adjusted, scale,
+ maxIterations = 20,
+ currentValue = tween ?
+ function() {
+ return tween.cur();
+ } :
+ function() {
+ return jQuery.css( elem, prop, "" );
+ },
+ initial = currentValue(),
+ unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+ // Starting value computation is required for potential unit mismatches
+ initialInUnit = elem.nodeType &&
+ ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ rcssNum.exec( jQuery.css( elem, prop ) );
+
+ if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+ // Support: Firefox <=54
+ // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
+ initial = initial / 2;
+
+ // Trust units reported by jQuery.css
+ unit = unit || initialInUnit[ 3 ];
+
+ // Iteratively approximate from a nonzero starting point
+ initialInUnit = +initial || 1;
+
+ while ( maxIterations-- ) {
+
+ // Evaluate and update our best guess (doubling guesses that zero out).
+ // Finish if the scale equals or crosses 1 (making the old*new product non-positive).
+ jQuery.style( elem, prop, initialInUnit + unit );
+ if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
+ maxIterations = 0;
+ }
+ initialInUnit = initialInUnit / scale;
+
+ }
+
+ initialInUnit = initialInUnit * 2;
+ jQuery.style( elem, prop, initialInUnit + unit );
+
+ // Make sure we update the tween properties later on
+ valueParts = valueParts || [];
+ }
+
+ if ( valueParts ) {
+ initialInUnit = +initialInUnit || +initial || 0;
+
+ // Apply relative offset (+=/-=) if specified
+ adjusted = valueParts[ 1 ] ?
+ initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+ +valueParts[ 2 ];
+ if ( tween ) {
+ tween.unit = unit;
+ tween.start = initialInUnit;
+ tween.end = adjusted;
+ }
+ }
+ return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+ var temp,
+ doc = elem.ownerDocument,
+ nodeName = elem.nodeName,
+ display = defaultDisplayMap[ nodeName ];
+
+ if ( display ) {
+ return display;
+ }
+
+ temp = doc.body.appendChild( doc.createElement( nodeName ) );
+ display = jQuery.css( temp, "display" );
+
+ temp.parentNode.removeChild( temp );
+
+ if ( display === "none" ) {
+ display = "block";
+ }
+ defaultDisplayMap[ nodeName ] = display;
+
+ return display;
+}
+
+function showHide( elements, show ) {
+ var display, elem,
+ values = [],
+ index = 0,
+ length = elements.length;
+
+ // Determine new display value for elements that need to change
+ for ( ; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+
+ display = elem.style.display;
+ if ( show ) {
+
+ // Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+ // check is required in this first loop unless we have a nonempty display value (either
+ // inline or about-to-be-restored)
+ if ( display === "none" ) {
+ values[ index ] = dataPriv.get( elem, "display" ) || null;
+ if ( !values[ index ] ) {
+ elem.style.display = "";
+ }
+ }
+ if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+ values[ index ] = getDefaultDisplay( elem );
+ }
+ } else {
+ if ( display !== "none" ) {
+ values[ index ] = "none";
+
+ // Remember what we're overwriting
+ dataPriv.set( elem, "display", display );
+ }
+ }
+ }
+
+ // Set the display of the elements in a second loop to avoid constant reflow
+ for ( index = 0; index < length; index++ ) {
+ if ( values[ index ] != null ) {
+ elements[ index ].style.display = values[ index ];
+ }
+ }
+
+ return elements;
+}
+
+jQuery.fn.extend( {
+ show: function() {
+ return showHide( this, true );
+ },
+ hide: function() {
+ return showHide( this );
+ },
+ toggle: function( state ) {
+ if ( typeof state === "boolean" ) {
+ return state ? this.show() : this.hide();
+ }
+
+ return this.each( function() {
+ if ( isHiddenWithinTree( this ) ) {
+ jQuery( this ).show();
+ } else {
+ jQuery( this ).hide();
+ }
+ } );
+ }
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
+
+var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+ // Support: IE <=9 only
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+ // XHTML parsers do not magically insert elements in the
+ // same way that tag soup parsers do. So we cannot shorten
+ // this by omitting <tbody> or other required elements.
+ thead: [ 1, "<table>", "</table>" ],
+ col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+ _default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+ // Support: IE <=9 - 11 only
+ // Use typeof to avoid zero-argument method invocation on host objects (#15151)
+ var ret;
+
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ ret = context.getElementsByTagName( tag || "*" );
+
+ } else if ( typeof context.querySelectorAll !== "undefined" ) {
+ ret = context.querySelectorAll( tag || "*" );
+
+ } else {
+ ret = [];
+ }
+
+ if ( tag === undefined || tag && nodeName( context, tag ) ) {
+ return jQuery.merge( [ context ], ret );
+ }
+
+ return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ dataPriv.set(
+ elems[ i ],
+ "globalEval",
+ !refElements || dataPriv.get( refElements[ i ], "globalEval" )
+ );
+ }
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+ var elem, tmp, tag, wrap, attached, j,
+ fragment = context.createDocumentFragment(),
+ nodes = [],
+ i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ elem = elems[ i ];
+
+ if ( elem || elem === 0 ) {
+
+ // Add nodes directly
+ if ( toType( elem ) === "object" ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+ // Convert non-html into a text node
+ } else if ( !rhtml.test( elem ) ) {
+ nodes.push( context.createTextNode( elem ) );
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+ // Deserialize a standard representation
+ tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+ wrap = wrapMap[ tag ] || wrapMap._default;
+ tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+ // Descend through wrappers to the right content
+ j = wrap[ 0 ];
+ while ( j-- ) {
+ tmp = tmp.lastChild;
+ }
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Remember the top-level container
+ tmp = fragment.firstChild;
+
+ // Ensure the created nodes are orphaned (#12392)
+ tmp.textContent = "";
+ }
+ }
+ }
+
+ // Remove wrapper from fragment
+ fragment.textContent = "";
+
+ i = 0;
+ while ( ( elem = nodes[ i++ ] ) ) {
+
+ // Skip elements already in the context collection (trac-4087)
+ if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+ if ( ignored ) {
+ ignored.push( elem );
+ }
+ continue;
+ }
+
+ attached = isAttached( elem );
+
+ // Append to fragment
+ tmp = getAll( fragment.appendChild( elem ), "script" );
+
+ // Preserve script evaluation history
+ if ( attached ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( ( elem = tmp[ j++ ] ) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
+ }
+ }
+ }
+ }
+
+ return fragment;
+}
+
+
+( function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Android 4.0 - 4.3 only
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Android <=4.1 only
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE <=11 only
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "<textarea>x</textarea>";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+
+
+var
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+// Support: IE <=9 - 11+
+// focus() and blur() are asynchronous, except when they are no-op.
+// So expect focus to be synchronous when the element is already active,
+// and blur to be synchronous when the element is not already active.
+// (focus and blur are always synchronous in other supported browsers,
+// this just defines when we can count on it).
+function expectSync( elem, type ) {
+ return ( elem === safeActiveElement() ) === ( type === "focus" );
+}
+
+// Support: IE <=9 only
+// Accessing document.activeElement can throw unexpectedly
+// https://bugs.jquery.com/ticket/13393
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+ var origFn, type;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ on( elem, type, selector, data, types[ type ], one );
+ }
+ return elem;
+ }
+
+ if ( data == null && fn == null ) {
+
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return elem;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return elem.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ } );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.get( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Ensure that invalid selectors throw exceptions at attach time
+ // Evaluate against documentElement in case elem is a non-element node (e.g., document)
+ if ( selector ) {
+ jQuery.find.matchesSelector( documentElement, selector );
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !( events = elemData.events ) ) {
+ events = elemData.events = {};
+ }
+ if ( !( eventHandle = elemData.handle ) ) {
+ eventHandle = elemData.handle = function( e ) {
+
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+ };
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend( {
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join( "." )
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !( handlers = events[ type ] ) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup ||
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+ if ( !elemData || !( events = elemData.events ) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[ 2 ] &&
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector ||
+ selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown ||
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove data and the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ dataPriv.remove( elem, "handle events" );
+ }
+ },
+
+ dispatch: function( nativeEvent ) {
+
+ // Make a writable jQuery.Event from the native event object
+ var event = jQuery.event.fix( nativeEvent );
+
+ var i, j, ret, matched, handleObj, handlerQueue,
+ args = new Array( arguments.length ),
+ handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[ 0 ] = event;
+
+ for ( i = 1; i < arguments.length; i++ ) {
+ args[ i ] = arguments[ i ];
+ }
+
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
+ !event.isImmediatePropagationStopped() ) {
+
+ // If the event is namespaced, then each handler is only invoked if it is
+ // specially universal or its namespaces are a superset of the event's.
+ if ( !event.rnamespace || handleObj.namespace === false ||
+ event.rnamespace.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+ handleObj.handler ).apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( ( event.result = ret ) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, handleObj, sel, matchedHandlers, matchedSelectors,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ if ( delegateCount &&
+
+ // Support: IE <=9
+ // Black-hole SVG <use> instance trees (trac-13180)
+ cur.nodeType &&
+
+ // Support: Firefox <=42
+ // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+ // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+ // Support: IE 11 only
+ // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+ !( event.type === "click" && event.button >= 1 ) ) {
+
+ for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+ // Don't check non-elements (#13208)
+ // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+ matchedHandlers = [];
+ matchedSelectors = {};
+ for ( i = 0; i < delegateCount; i++ ) {
+ handleObj = handlers[ i ];
+
+ // Don't conflict with Object.prototype properties (#13203)
+ sel = handleObj.selector + " ";
+
+ if ( matchedSelectors[ sel ] === undefined ) {
+ matchedSelectors[ sel ] = handleObj.needsContext ?
+ jQuery( sel, this ).index( cur ) > -1 :
+ jQuery.find( sel, this, null, [ cur ] ).length;
+ }
+ if ( matchedSelectors[ sel ] ) {
+ matchedHandlers.push( handleObj );
+ }
+ }
+ if ( matchedHandlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+ }
+ }
+ }
+ }
+
+ // Add the remaining (directly-bound) handlers
+ cur = this;
+ if ( delegateCount < handlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+ }
+
+ return handlerQueue;
+ },
+
+ addProp: function( name, hook ) {
+ Object.defineProperty( jQuery.Event.prototype, name, {
+ enumerable: true,
+ configurable: true,
+
+ get: isFunction( hook ) ?
+ function() {
+ if ( this.originalEvent ) {
+ return hook( this.originalEvent );
+ }
+ } :
+ function() {
+ if ( this.originalEvent ) {
+ return this.originalEvent[ name ];
+ }
+ },
+
+ set: function( value ) {
+ Object.defineProperty( this, name, {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value
+ } );
+ }
+ } );
+ },
+
+ fix: function( originalEvent ) {
+ return originalEvent[ jQuery.expando ] ?
+ originalEvent :
+ new jQuery.Event( originalEvent );
+ },
+
+ special: {
+ load: {
+
+ // Prevent triggered image.load events from bubbling to window.load
+ noBubble: true
+ },
+ click: {
+
+ // Utilize native event to ensure correct state for checkable inputs
+ setup: function( data ) {
+
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Claim the first handler
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ // dataPriv.set( el, "click", ... )
+ leverageNative( el, "click", returnTrue );
+ }
+
+ // Return false to allow normal processing in the caller
+ return false;
+ },
+ trigger: function( data ) {
+
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Force setup before triggering a click
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ leverageNative( el, "click" );
+ }
+
+ // Return non-false to allow normal event-path propagation
+ return true;
+ },
+
+ // For cross-browser consistency, suppress native .click() on links
+ // Also prevent it if we're currently inside a leveraged native-event stack
+ _default: function( event ) {
+ var target = event.target;
+ return rcheckableType.test( target.type ) &&
+ target.click && nodeName( target, "input" ) &&
+ dataPriv.get( target, "click" ) ||
+ nodeName( target, "a" );
+ }
+ },
+
+ beforeunload: {
+ postDispatch: function( event ) {
+
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
+ event.originalEvent.returnValue = event.result;
+ }
+ }
+ }
+ }
+};
+
+// Ensure the presence of an event listener that handles manually-triggered
+// synthetic events by interrupting progress until reinvoked in response to
+// *native* events that it fires directly, ensuring that state changes have
+// already occurred before other listeners are invoked.
+function leverageNative( el, type, expectSync ) {
+
+ // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
+ if ( !expectSync ) {
+ if ( dataPriv.get( el, type ) === undefined ) {
+ jQuery.event.add( el, type, returnTrue );
+ }
+ return;
+ }
+
+ // Register the controller as a special universal handler for all event namespaces
+ dataPriv.set( el, type, false );
+ jQuery.event.add( el, type, {
+ namespace: false,
+ handler: function( event ) {
+ var notAsync, result,
+ saved = dataPriv.get( this, type );
+
+ if ( ( event.isTrigger & 1 ) && this[ type ] ) {
+
+ // Interrupt processing of the outer synthetic .trigger()ed event
+ // Saved data should be false in such cases, but might be a leftover capture object
+ // from an async native handler (gh-4350)
+ if ( !saved.length ) {
+
+ // Store arguments for use when handling the inner native event
+ // There will always be at least one argument (an event object), so this array
+ // will not be confused with a leftover capture object.
+ saved = slice.call( arguments );
+ dataPriv.set( this, type, saved );
+
+ // Trigger the native event and capture its result
+ // Support: IE <=9 - 11+
+ // focus() and blur() are asynchronous
+ notAsync = expectSync( this, type );
+ this[ type ]();
+ result = dataPriv.get( this, type );
+ if ( saved !== result || notAsync ) {
+ dataPriv.set( this, type, false );
+ } else {
+ result = {};
+ }
+ if ( saved !== result ) {
+
+ // Cancel the outer synthetic event
+ event.stopImmediatePropagation();
+ event.preventDefault();
+ return result.value;
+ }
+
+ // If this is an inner synthetic event for an event with a bubbling surrogate
+ // (focus or blur), assume that the surrogate already propagated from triggering the
+ // native event and prevent that from happening again here.
+ // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
+ // bubbling surrogate propagates *after* the non-bubbling base), but that seems
+ // less bad than duplication.
+ } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
+ event.stopPropagation();
+ }
+
+ // If this is a native event triggered above, everything is now in order
+ // Fire an inner synthetic event with the original arguments
+ } else if ( saved.length ) {
+
+ // ...and capture the result
+ dataPriv.set( this, type, {
+ value: jQuery.event.trigger(
+
+ // Support: IE <=9 - 11+
+ // Extend with the prototype to reset the above stopImmediatePropagation()
+ jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
+ saved.slice( 1 ),
+ this
+ )
+ } );
+
+ // Abort handling of the native event
+ event.stopImmediatePropagation();
+ }
+ }
+ } );
+}
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+ // This "if" is needed for plain objects
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, handle );
+ }
+};
+
+jQuery.Event = function( src, props ) {
+
+ // Allow instantiation without the 'new' keyword
+ if ( !( this instanceof jQuery.Event ) ) {
+ return new jQuery.Event( src, props );
+ }
+
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
+
+ // Support: Android <=2.3 only
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
+
+ // Create target properties
+ // Support: Safari <=6 - 7 only
+ // Target should not be a text node (#504, #13143)
+ this.target = ( src.target && src.target.nodeType === 3 ) ?
+ src.target.parentNode :
+ src.target;
+
+ this.currentTarget = src.currentTarget;
+ this.relatedTarget = src.relatedTarget;
+
+ // Event type
+ } else {
+ this.type = src;
+ }
+
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
+
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || Date.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ constructor: jQuery.Event,
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
+ isSimulated: false,
+
+ preventDefault: function() {
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.preventDefault();
+ }
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopPropagation();
+ }
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+
+ this.isImmediatePropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopImmediatePropagation();
+ }
+
+ this.stopPropagation();
+ }
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+ altKey: true,
+ bubbles: true,
+ cancelable: true,
+ changedTouches: true,
+ ctrlKey: true,
+ detail: true,
+ eventPhase: true,
+ metaKey: true,
+ pageX: true,
+ pageY: true,
+ shiftKey: true,
+ view: true,
+ "char": true,
+ code: true,
+ charCode: true,
+ key: true,
+ keyCode: true,
+ button: true,
+ buttons: true,
+ clientX: true,
+ clientY: true,
+ offsetX: true,
+ offsetY: true,
+ pointerId: true,
+ pointerType: true,
+ screenX: true,
+ screenY: true,
+ targetTouches: true,
+ toElement: true,
+ touches: true,
+
+ which: function( event ) {
+ var button = event.button;
+
+ // Add which for key events
+ if ( event.which == null && rkeyEvent.test( event.type ) ) {
+ return event.charCode != null ? event.charCode : event.keyCode;
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+ if ( button & 1 ) {
+ return 1;
+ }
+
+ if ( button & 2 ) {
+ return 3;
+ }
+
+ if ( button & 4 ) {
+ return 2;
+ }
+
+ return 0;
+ }
+
+ return event.which;
+ }
+}, jQuery.event.addProp );
+
+jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
+ jQuery.event.special[ type ] = {
+
+ // Utilize native event if possible so blur/focus sequence is correct
+ setup: function() {
+
+ // Claim the first handler
+ // dataPriv.set( this, "focus", ... )
+ // dataPriv.set( this, "blur", ... )
+ leverageNative( this, type, expectSync );
+
+ // Return false to allow normal processing in the caller
+ return false;
+ },
+ trigger: function() {
+
+ // Force setup before trigger
+ leverageNative( this, type );
+
+ // Return non-false to allow normal event-path propagation
+ return true;
+ },
+
+ delegateType: delegateType
+ };
+} );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
+
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
+
+ // For mouseenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
+ }
+ return ret;
+ }
+ };
+} );
+
+jQuery.fn.extend( {
+
+ on: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn );
+ },
+ one: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ?
+ handleObj.origType + "." + handleObj.namespace :
+ handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
+ }
+ return this;
+ }
+ if ( selector === false || typeof selector === "function" ) {
+
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each( function() {
+ jQuery.event.remove( this, types, fn, selector );
+ } );
+ }
+} );
+
+
+var
+
+ /* eslint-disable max-len */
+
+ // See https://github.com/eslint/eslint/issues/3229
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+ /* eslint-enable */
+
+ // Support: IE <=10 - 11, Edge 12 - 13 only
+ // In IE/Edge using regex groups here causes severe slowdowns.
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
+ rnoInnerhtml = /<script|<style|<link/i,
+
+ // checked="checked" or checked
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+ if ( nodeName( elem, "table" ) &&
+ nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+ return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
+ }
+
+ return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+ return elem;
+}
+function restoreScript( elem ) {
+ if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
+ elem.type = elem.type.slice( 5 );
+ } else {
+ elem.removeAttribute( "type" );
+ }
+
+ return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+ if ( dest.nodeType !== 1 ) {
+ return;
+ }
+
+ // 1. Copy private data: events, handlers, etc.
+ if ( dataPriv.hasData( src ) ) {
+ pdataOld = dataPriv.access( src );
+ pdataCur = dataPriv.set( dest, pdataOld );
+ events = pdataOld.events;
+
+ if ( events ) {
+ delete pdataCur.handle;
+ pdataCur.events = {};
+
+ for ( type in events ) {
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+ jQuery.event.add( dest, type, events[ type ][ i ] );
+ }
+ }
+ }
+ }
+
+ // 2. Copy user data
+ if ( dataUser.hasData( src ) ) {
+ udataOld = dataUser.access( src );
+ udataCur = jQuery.extend( {}, udataOld );
+
+ dataUser.set( dest, udataCur );
+ }
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+ var nodeName = dest.nodeName.toLowerCase();
+
+ // Fails to persist the checked state of a cloned checkbox or radio button.
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+ dest.checked = src.checked;
+
+ // Fails to return the selected option to the default selected state when cloning options
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
+ dest.defaultValue = src.defaultValue;
+ }
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+ // Flatten any nested arrays
+ args = concat.apply( [], args );
+
+ var fragment, first, scripts, hasScripts, node, doc,
+ i = 0,
+ l = collection.length,
+ iNoClone = l - 1,
+ value = args[ 0 ],
+ valueIsFunction = isFunction( value );
+
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if ( valueIsFunction ||
+ ( l > 1 && typeof value === "string" &&
+ !support.checkClone && rchecked.test( value ) ) ) {
+ return collection.each( function( index ) {
+ var self = collection.eq( index );
+ if ( valueIsFunction ) {
+ args[ 0 ] = value.call( this, index, self.html() );
+ }
+ domManip( self, args, callback, ignored );
+ } );
+ }
+
+ if ( l ) {
+ fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+ first = fragment.firstChild;
+
+ if ( fragment.childNodes.length === 1 ) {
+ fragment = first;
+ }
+
+ // Require either new content or an interest in ignored elements to invoke the callback
+ if ( first || ignored ) {
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+ hasScripts = scripts.length;
+
+ // Use the original fragment for the last item
+ // instead of the first because it can end up
+ // being emptied incorrectly in certain situations (#8070).
+ for ( ; i < l; i++ ) {
+ node = fragment;
+
+ if ( i !== iNoClone ) {
+ node = jQuery.clone( node, true, true );
+
+ // Keep references to cloned scripts for later restoration
+ if ( hasScripts ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( scripts, getAll( node, "script" ) );
+ }
+ }
+
+ callback.call( collection[ i ], node, i );
+ }
+
+ if ( hasScripts ) {
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+ // Reenable scripts
+ jQuery.map( scripts, restoreScript );
+
+ // Evaluate executable scripts on first document insertion
+ for ( i = 0; i < hasScripts; i++ ) {
+ node = scripts[ i ];
+ if ( rscriptType.test( node.type || "" ) &&
+ !dataPriv.access( node, "globalEval" ) &&
+ jQuery.contains( doc, node ) ) {
+
+ if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) {
+
+ // Optional AJAX dependency, but won't run scripts if not present
+ if ( jQuery._evalUrl && !node.noModule ) {
+ jQuery._evalUrl( node.src, {
+ nonce: node.nonce || node.getAttribute( "nonce" )
+ } );
+ }
+ } else {
+ DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return collection;
+}
+
+function remove( elem, selector, keepData ) {
+ var node,
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
+ i = 0;
+
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+ if ( !keepData && node.nodeType === 1 ) {
+ jQuery.cleanData( getAll( node ) );
+ }
+
+ if ( node.parentNode ) {
+ if ( keepData && isAttached( node ) ) {
+ setGlobalEval( getAll( node, "script" ) );
+ }
+ node.parentNode.removeChild( node );
+ }
+ }
+
+ return elem;
+}
+
+jQuery.extend( {
+ htmlPrefilter: function( html ) {
+ return html.replace( rxhtmlTag, "<$1></$2>" );
+ },
+
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+ var i, l, srcElements, destElements,
+ clone = elem.cloneNode( true ),
+ inPage = isAttached( elem );
+
+ // Fix IE cloning issues
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+ !jQuery.isXMLDoc( elem ) ) {
+
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+ destElements = getAll( clone );
+ srcElements = getAll( elem );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ fixInput( srcElements[ i ], destElements[ i ] );
+ }
+ }
+
+ // Copy the events from the original to the clone
+ if ( dataAndEvents ) {
+ if ( deepDataAndEvents ) {
+ srcElements = srcElements || getAll( elem );
+ destElements = destElements || getAll( clone );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+ }
+ } else {
+ cloneCopyEvent( elem, clone );
+ }
+ }
+
+ // Preserve script evaluation history
+ destElements = getAll( clone, "script" );
+ if ( destElements.length > 0 ) {
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+ }
+
+ // Return the cloned set
+ return clone;
+ },
+
+ cleanData: function( elems ) {
+ var data, elem, type,
+ special = jQuery.event.special,
+ i = 0;
+
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+ if ( acceptData( elem ) ) {
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
+ if ( data.events ) {
+ for ( type in data.events ) {
+ if ( special[ type ] ) {
+ jQuery.event.remove( elem, type );
+
+ // This is a shortcut to avoid jQuery.event.remove's overhead
+ } else {
+ jQuery.removeEvent( elem, type, data.handle );
+ }
+ }
+ }
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataPriv.expando ] = undefined;
+ }
+ if ( elem[ dataUser.expando ] ) {
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataUser.expando ] = undefined;
+ }
+ }
+ }
+ }
+} );
+
+jQuery.fn.extend( {
+ detach: function( selector ) {
+ return remove( this, selector, true );
+ },
+
+ remove: function( selector ) {
+ return remove( this, selector );
+ },
+
+ text: function( value ) {
+ return access( this, function( value ) {
+ return value === undefined ?
+ jQuery.text( this ) :
+ this.empty().each( function() {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ this.textContent = value;
+ }
+ } );
+ }, null, value, arguments.length );
+ },
+
+ append: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.appendChild( elem );
+ }
+ } );
+ },
+
+ prepend: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.insertBefore( elem, target.firstChild );
+ }
+ } );
+ },
+
+ before: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this );
+ }
+ } );
+ },
+
+ after: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this.nextSibling );
+ }
+ } );
+ },
+
+ empty: function() {
+ var elem,
+ i = 0;
+
+ for ( ; ( elem = this[ i ] ) != null; i++ ) {
+ if ( elem.nodeType === 1 ) {
+
+ // Prevent memory leaks
+ jQuery.cleanData( getAll( elem, false ) );
+
+ // Remove any remaining nodes
+ elem.textContent = "";
+ }
+ }
+
+ return this;
+ },
+
+ clone: function( dataAndEvents, deepDataAndEvents ) {
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+ return this.map( function() {
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+ } );
+ },
+
+ html: function( value ) {
+ return access( this, function( value ) {
+ var elem = this[ 0 ] || {},
+ i = 0,
+ l = this.length;
+
+ if ( value === undefined && elem.nodeType === 1 ) {
+ return elem.innerHTML;
+ }
+
+ // See if we can take a shortcut and just use innerHTML
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+ !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+ value = jQuery.htmlPrefilter( value );
+
+ try {
+ for ( ; i < l; i++ ) {
+ elem = this[ i ] || {};
+
+ // Remove element nodes and prevent memory leaks
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem, false ) );
+ elem.innerHTML = value;
+ }
+ }
+
+ elem = 0;
+
+ // If using innerHTML throws an exception, use the fallback method
+ } catch ( e ) {}
+ }
+
+ if ( elem ) {
+ this.empty().append( value );
+ }
+ }, null, value, arguments.length );
+ },
+
+ replaceWith: function() {
+ var ignored = [];
+
+ // Make the changes, replacing each non-ignored context element with the new content
+ return domManip( this, arguments, function( elem ) {
+ var parent = this.parentNode;
+
+ if ( jQuery.inArray( this, ignored ) < 0 ) {
+ jQuery.cleanData( getAll( this ) );
+ if ( parent ) {
+ parent.replaceChild( elem, this );
+ }
+ }
+
+ // Force callback invocation
+ }, ignored );
+ }
+} );
+
+jQuery.each( {
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+}, function( name, original ) {
+ jQuery.fn[ name ] = function( selector ) {
+ var elems,
+ ret = [],
+ insert = jQuery( selector ),
+ last = insert.length - 1,
+ i = 0;
+
+ for ( ; i <= last; i++ ) {
+ elems = i === last ? this : this.clone( true );
+ jQuery( insert[ i ] )[ original ]( elems );
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // .get() because push.apply(_, arraylike) throws on ancient WebKit
+ push.apply( ret, elems.get() );
+ }
+
+ return this.pushStack( ret );
+ };
+} );
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+ // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+ // IE throws on elements created in popups
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+ var view = elem.ownerDocument.defaultView;
+
+ if ( !view || !view.opener ) {
+ view = window;
+ }
+
+ return view.getComputedStyle( elem );
+ };
+
+var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
+
+
+
+( function() {
+
+ // Executing both pixelPosition & boxSizingReliable tests require only one layout
+ // so they're executed at the same time to save the second computation.
+ function computeStyleTests() {
+
+ // This is a singleton, we need to execute it only once
+ if ( !div ) {
+ return;
+ }
+
+ container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
+ "margin-top:1px;padding:0;border:0";
+ div.style.cssText =
+ "position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
+ "margin:auto;border:1px;padding:1px;" +
+ "width:60%;top:1%";
+ documentElement.appendChild( container ).appendChild( div );
+
+ var divStyle = window.getComputedStyle( div );
+ pixelPositionVal = divStyle.top !== "1%";
+
+ // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+ reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
+
+ // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
+ // Some styles come back with percentage values, even though they shouldn't
+ div.style.right = "60%";
+ pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
+
+ // Support: IE 9 - 11 only
+ // Detect misreporting of content dimensions for box-sizing:border-box elements
+ boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
+
+ // Support: IE 9 only
+ // Detect overflow:scroll screwiness (gh-3699)
+ // Support: Chrome <=64
+ // Don't get tricked when zoom affects offsetWidth (gh-4029)
+ div.style.position = "absolute";
+ scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
+
+ documentElement.removeChild( container );
+
+ // Nullify the div so it wouldn't be stored in the memory and
+ // it will also be a sign that checks already performed
+ div = null;
+ }
+
+ function roundPixelMeasures( measure ) {
+ return Math.round( parseFloat( measure ) );
+ }
+
+ var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
+ reliableMarginLeftVal,
+ container = document.createElement( "div" ),
+ div = document.createElement( "div" );
+
+ // Finish early in limited (non-browser) environments
+ if ( !div.style ) {
+ return;
+ }
+
+ // Support: IE <=9 - 11 only
+ // Style of cloned element affects source element cloned (#8908)
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ jQuery.extend( support, {
+ boxSizingReliable: function() {
+ computeStyleTests();
+ return boxSizingReliableVal;
+ },
+ pixelBoxStyles: function() {
+ computeStyleTests();
+ return pixelBoxStylesVal;
+ },
+ pixelPosition: function() {
+ computeStyleTests();
+ return pixelPositionVal;
+ },
+ reliableMarginLeft: function() {
+ computeStyleTests();
+ return reliableMarginLeftVal;
+ },
+ scrollboxSize: function() {
+ computeStyleTests();
+ return scrollboxSizeVal;
+ }
+ } );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+ var width, minWidth, maxWidth, ret,
+
+ // Support: Firefox 51+
+ // Retrieving style before computed somehow
+ // fixes an issue with getting wrong values
+ // on detached elements
+ style = elem.style;
+
+ computed = computed || getStyles( elem );
+
+ // getPropertyValue is needed for:
+ // .css('filter') (IE 9 only, #12537)
+ // .css('--customProperty) (#3144)
+ if ( computed ) {
+ ret = computed.getPropertyValue( name ) || computed[ name ];
+
+ if ( ret === "" && !isAttached( elem ) ) {
+ ret = jQuery.style( elem, name );
+ }
+
+ // A tribute to the "awesome hack by Dean Edwards"
+ // Android Browser returns percentage for some values,
+ // but width seems to be reliably pixels.
+ // This is against the CSSOM draft spec:
+ // https://drafts.csswg.org/cssom/#resolved-values
+ if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
+
+ // Remember the original values
+ width = style.width;
+ minWidth = style.minWidth;
+ maxWidth = style.maxWidth;
+
+ // Put in the new values to get a computed value out
+ style.minWidth = style.maxWidth = style.width = ret;
+ ret = computed.width;
+
+ // Revert the changed values
+ style.width = width;
+ style.minWidth = minWidth;
+ style.maxWidth = maxWidth;
+ }
+ }
+
+ return ret !== undefined ?
+
+ // Support: IE <=9 - 11 only
+ // IE returns zIndex value as an integer.
+ ret + "" :
+ ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+ // Define the hook, we'll check on the first run if it's really needed.
+ return {
+ get: function() {
+ if ( conditionFn() ) {
+
+ // Hook not needed (or it's not possible to use it due
+ // to missing dependency), remove it.
+ delete this.get;
+ return;
+ }
+
+ // Hook needed; redefine it so that the support test is not executed again.
+ return ( this.get = hookFn ).apply( this, arguments );
+ }
+ };
+}
+
+
+var cssPrefixes = [ "Webkit", "Moz", "ms" ],
+ emptyStyle = document.createElement( "div" ).style,
+ vendorProps = {};
+
+// Return a vendor-prefixed property or undefined
+function vendorPropName( name ) {
+
+ // Check for vendor prefixed names
+ var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+ i = cssPrefixes.length;
+
+ while ( i-- ) {
+ name = cssPrefixes[ i ] + capName;
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ }
+}
+
+// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
+function finalPropName( name ) {
+ var final = jQuery.cssProps[ name ] || vendorProps[ name ];
+
+ if ( final ) {
+ return final;
+ }
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ return vendorProps[ name ] = vendorPropName( name ) || name;
+}
+
+
+var
+
+ // Swappable if display is none or starts with table
+ // except "table", "table-cell", or "table-caption"
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+ rcustomProp = /^--/,
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+ cssNormalTransform = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ };
+
+function setPositiveNumber( elem, value, subtract ) {
+
+ // Any relative (+/-) values have already been
+ // normalized at this point
+ var matches = rcssNum.exec( value );
+ return matches ?
+
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
+ Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+ value;
+}
+
+function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
+ var i = dimension === "width" ? 1 : 0,
+ extra = 0,
+ delta = 0;
+
+ // Adjustment may not be necessary
+ if ( box === ( isBorderBox ? "border" : "content" ) ) {
+ return 0;
+ }
+
+ for ( ; i < 4; i += 2 ) {
+
+ // Both box models exclude margin
+ if ( box === "margin" ) {
+ delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
+ }
+
+ // If we get here with a content-box, we're seeking "padding" or "border" or "margin"
+ if ( !isBorderBox ) {
+
+ // Add padding
+ delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+ // For "border" or "margin", add border
+ if ( box !== "padding" ) {
+ delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+
+ // But still keep track of it otherwise
+ } else {
+ extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+
+ // If we get here with a border-box (content + padding + border), we're seeking "content" or
+ // "padding" or "margin"
+ } else {
+
+ // For "content", subtract padding
+ if ( box === "content" ) {
+ delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+ }
+
+ // For "content" or "padding", subtract border
+ if ( box !== "margin" ) {
+ delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ }
+ }
+
+ // Account for positive content-box scroll gutter when requested by providing computedVal
+ if ( !isBorderBox && computedVal >= 0 ) {
+
+ // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
+ // Assuming integer scroll gutter, subtract the rest and round down
+ delta += Math.max( 0, Math.ceil(
+ elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+ computedVal -
+ delta -
+ extra -
+ 0.5
+
+ // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
+ // Use an explicit zero to avoid NaN (gh-3964)
+ ) ) || 0;
+ }
+
+ return delta;
+}
+
+function getWidthOrHeight( elem, dimension, extra ) {
+
+ // Start with computed style
+ var styles = getStyles( elem ),
+
+ // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
+ // Fake content-box until we know it's needed to know the true value.
+ boxSizingNeeded = !support.boxSizingReliable() || extra,
+ isBorderBox = boxSizingNeeded &&
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ valueIsBorderBox = isBorderBox,
+
+ val = curCSS( elem, dimension, styles ),
+ offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
+
+ // Support: Firefox <=54
+ // Return a confounding non-pixel value or feign ignorance, as appropriate.
+ if ( rnumnonpx.test( val ) ) {
+ if ( !extra ) {
+ return val;
+ }
+ val = "auto";
+ }
+
+
+ // Fall back to offsetWidth/offsetHeight when value is "auto"
+ // This happens for inline elements with no explicit setting (gh-3571)
+ // Support: Android <=4.1 - 4.3 only
+ // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
+ // Support: IE 9-11 only
+ // Also use offsetWidth/offsetHeight for when box sizing is unreliable
+ // We use getClientRects() to check for hidden/disconnected.
+ // In those cases, the computed value can be trusted to be border-box
+ if ( ( !support.boxSizingReliable() && isBorderBox ||
+ val === "auto" ||
+ !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
+ elem.getClientRects().length ) {
+
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+ // Where available, offsetWidth/offsetHeight approximate border box dimensions.
+ // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
+ // retrieved value as a content box dimension.
+ valueIsBorderBox = offsetProp in elem;
+ if ( valueIsBorderBox ) {
+ val = elem[ offsetProp ];
+ }
+ }
+
+ // Normalize "" and auto
+ val = parseFloat( val ) || 0;
+
+ // Adjust for the element's box model
+ return ( val +
+ boxModelAdjustment(
+ elem,
+ dimension,
+ extra || ( isBorderBox ? "border" : "content" ),
+ valueIsBorderBox,
+ styles,
+
+ // Provide the current computed size to request scroll gutter calculation (gh-3589)
+ val
+ )
+ ) + "px";
+}
+
+jQuery.extend( {
+
+ // Add in style property hooks for overriding the default
+ // behavior of getting and setting a style property
+ cssHooks: {
+ opacity: {
+ get: function( elem, computed ) {
+ if ( computed ) {
+
+ // We should always get a number back from opacity
+ var ret = curCSS( elem, "opacity" );
+ return ret === "" ? "1" : ret;
+ }
+ }
+ }
+ },
+
+ // Don't automatically add "px" to these possibly-unitless properties
+ cssNumber: {
+ "animationIterationCount": true,
+ "columnCount": true,
+ "fillOpacity": true,
+ "flexGrow": true,
+ "flexShrink": true,
+ "fontWeight": true,
+ "gridArea": true,
+ "gridColumn": true,
+ "gridColumnEnd": true,
+ "gridColumnStart": true,
+ "gridRow": true,
+ "gridRowEnd": true,
+ "gridRowStart": true,
+ "lineHeight": true,
+ "opacity": true,
+ "order": true,
+ "orphans": true,
+ "widows": true,
+ "zIndex": true,
+ "zoom": true
+ },
+
+ // Add in properties whose names you wish to fix before
+ // setting or getting the value
+ cssProps: {},
+
+ // Get and set the style property on a DOM Node
+ style: function( elem, name, value, extra ) {
+
+ // Don't set styles on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+ return;
+ }
+
+ // Make sure that we're working with the right name
+ var ret, type, hooks,
+ origName = camelCase( name ),
+ isCustomProp = rcustomProp.test( name ),
+ style = elem.style;
+
+ // Make sure that we're working with the right name. We don't
+ // want to query the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Gets hook for the prefixed version, then unprefixed version
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // Check if we're setting a value
+ if ( value !== undefined ) {
+ type = typeof value;
+
+ // Convert "+=" or "-=" to relative numbers (#7345)
+ if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+ value = adjustCSS( elem, name, ret );
+
+ // Fixes bug #9237
+ type = "number";
+ }
+
+ // Make sure that null and NaN values aren't set (#7116)
+ if ( value == null || value !== value ) {
+ return;
+ }
+
+ // If a number was passed in, add the unit (except for certain CSS properties)
+ // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
+ // "px" to a few hardcoded values.
+ if ( type === "number" && !isCustomProp ) {
+ value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+ }
+
+ // background-* props affect original clone's values
+ if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+ style[ name ] = "inherit";
+ }
+
+ // If a hook was provided, use that value, otherwise just set the specified value
+ if ( !hooks || !( "set" in hooks ) ||
+ ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+ if ( isCustomProp ) {
+ style.setProperty( name, value );
+ } else {
+ style[ name ] = value;
+ }
+ }
+
+ } else {
+
+ // If a hook was provided get the non-computed value from there
+ if ( hooks && "get" in hooks &&
+ ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+ return ret;
+ }
+
+ // Otherwise just get the value from the style object
+ return style[ name ];
+ }
+ },
+
+ css: function( elem, name, extra, styles ) {
+ var val, num, hooks,
+ origName = camelCase( name ),
+ isCustomProp = rcustomProp.test( name );
+
+ // Make sure that we're working with the right name. We don't
+ // want to modify the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Try prefixed name followed by the unprefixed name
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // If a hook was provided get the computed value from there
+ if ( hooks && "get" in hooks ) {
+ val = hooks.get( elem, true, extra );
+ }
+
+ // Otherwise, if a way to get the computed value exists, use that
+ if ( val === undefined ) {
+ val = curCSS( elem, name, styles );
+ }
+
+ // Convert "normal" to computed value
+ if ( val === "normal" && name in cssNormalTransform ) {
+ val = cssNormalTransform[ name ];
+ }
+
+ // Make numeric if forced or a qualifier was provided and val looks numeric
+ if ( extra === "" || extra ) {
+ num = parseFloat( val );
+ return extra === true || isFinite( num ) ? num || 0 : val;
+ }
+
+ return val;
+ }
+} );
+
+jQuery.each( [ "height", "width" ], function( i, dimension ) {
+ jQuery.cssHooks[ dimension ] = {
+ get: function( elem, computed, extra ) {
+ if ( computed ) {
+
+ // Certain elements can have dimension info if we invisibly show them
+ // but it must have a current display style that would benefit
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+ // Support: Safari 8+
+ // Table columns in Safari have non-zero offsetWidth & zero
+ // getBoundingClientRect().width unless display is changed.
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a disconnected node
+ // in IE throws an error.
+ ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+ swap( elem, cssShow, function() {
+ return getWidthOrHeight( elem, dimension, extra );
+ } ) :
+ getWidthOrHeight( elem, dimension, extra );
+ }
+ },
+
+ set: function( elem, value, extra ) {
+ var matches,
+ styles = getStyles( elem ),
+
+ // Only read styles.position if the test has a chance to fail
+ // to avoid forcing a reflow.
+ scrollboxSizeBuggy = !support.scrollboxSize() &&
+ styles.position === "absolute",
+
+ // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
+ boxSizingNeeded = scrollboxSizeBuggy || extra,
+ isBorderBox = boxSizingNeeded &&
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ subtract = extra ?
+ boxModelAdjustment(
+ elem,
+ dimension,
+ extra,
+ isBorderBox,
+ styles
+ ) :
+ 0;
+
+ // Account for unreliable border-box dimensions by comparing offset* to computed and
+ // faking a content-box to get border and padding (gh-3699)
+ if ( isBorderBox && scrollboxSizeBuggy ) {
+ subtract -= Math.ceil(
+ elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+ parseFloat( styles[ dimension ] ) -
+ boxModelAdjustment( elem, dimension, "border", false, styles ) -
+ 0.5
+ );
+ }
+
+ // Convert to pixels if value adjustment is needed
+ if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+ ( matches[ 3 ] || "px" ) !== "px" ) {
+
+ elem.style[ dimension ] = value;
+ value = jQuery.css( elem, dimension );
+ }
+
+ return setPositiveNumber( elem, value, subtract );
+ }
+ };
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+ function( elem, computed ) {
+ if ( computed ) {
+ return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+ elem.getBoundingClientRect().left -
+ swap( elem, { marginLeft: 0 }, function() {
+ return elem.getBoundingClientRect().left;
+ } )
+ ) + "px";
+ }
+ }
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+ margin: "",
+ padding: "",
+ border: "Width"
+}, function( prefix, suffix ) {
+ jQuery.cssHooks[ prefix + suffix ] = {
+ expand: function( value ) {
+ var i = 0,
+ expanded = {},
+
+ // Assumes a single number if not a string
+ parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+ for ( ; i < 4; i++ ) {
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+ }
+
+ return expanded;
+ }
+ };
+
+ if ( prefix !== "margin" ) {
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+ }
+} );
+
+jQuery.fn.extend( {
+ css: function( name, value ) {
+ return access( this, function( elem, name, value ) {
+ var styles, len,
+ map = {},
+ i = 0;
+
+ if ( Array.isArray( name ) ) {
+ styles = getStyles( elem );
+ len = name.length;
+
+ for ( ; i < len; i++ ) {
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+ }
+
+ return map;
+ }
+
+ return value !== undefined ?
+ jQuery.style( elem, name, value ) :
+ jQuery.css( elem, name );
+ }, name, value, arguments.length > 1 );
+ }
+} );
+
+
+function Tween( elem, options, prop, end, easing ) {
+ return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+jQuery.Tween = Tween;
+
+Tween.prototype = {
+ constructor: Tween,
+ init: function( elem, options, prop, end, easing, unit ) {
+ this.elem = elem;
+ this.prop = prop;
+ this.easing = easing || jQuery.easing._default;
+ this.options = options;
+ this.start = this.now = this.cur();
+ this.end = end;
+ this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+ },
+ cur: function() {
+ var hooks = Tween.propHooks[ this.prop ];
+
+ return hooks && hooks.get ?
+ hooks.get( this ) :
+ Tween.propHooks._default.get( this );
+ },
+ run: function( percent ) {
+ var eased,
+ hooks = Tween.propHooks[ this.prop ];
+
+ if ( this.options.duration ) {
+ this.pos = eased = jQuery.easing[ this.easing ](
+ percent, this.options.duration * percent, 0, 1, this.options.duration
+ );
+ } else {
+ this.pos = eased = percent;
+ }
+ this.now = ( this.end - this.start ) * eased + this.start;
+
+ if ( this.options.step ) {
+ this.options.step.call( this.elem, this.now, this );
+ }
+
+ if ( hooks && hooks.set ) {
+ hooks.set( this );
+ } else {
+ Tween.propHooks._default.set( this );
+ }
+ return this;
+ }
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+ _default: {
+ get: function( tween ) {
+ var result;
+
+ // Use a property on the element directly when it is not a DOM element,
+ // or when there is no matching style property that exists.
+ if ( tween.elem.nodeType !== 1 ||
+ tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
+ return tween.elem[ tween.prop ];
+ }
+
+ // Passing an empty string as a 3rd parameter to .css will automatically
+ // attempt a parseFloat and fallback to a string if the parse fails.
+ // Simple values such as "10px" are parsed to Float;
+ // complex values such as "rotate(1rad)" are returned as-is.
+ result = jQuery.css( tween.elem, tween.prop, "" );
+
+ // Empty strings, null, undefined and "auto" are converted to 0.
+ return !result || result === "auto" ? 0 : result;
+ },
+ set: function( tween ) {
+
+ // Use step hook for back compat.
+ // Use cssHook if its there.
+ // Use .style if available and use plain properties where available.
+ if ( jQuery.fx.step[ tween.prop ] ) {
+ jQuery.fx.step[ tween.prop ]( tween );
+ } else if ( tween.elem.nodeType === 1 && (
+ jQuery.cssHooks[ tween.prop ] ||
+ tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
+ jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+ } else {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+ }
+};
+
+// Support: IE <=9 only
+// Panic based approach to setting things on disconnected nodes
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+ set: function( tween ) {
+ if ( tween.elem.nodeType && tween.elem.parentNode ) {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+};
+
+jQuery.easing = {
+ linear: function( p ) {
+ return p;
+ },
+ swing: function( p ) {
+ return 0.5 - Math.cos( p * Math.PI ) / 2;
+ },
+ _default: "swing"
+};
+
+jQuery.fx = Tween.prototype.init;
+
+// Back compat <1.8 extension point
+jQuery.fx.step = {};
+
+
+
+
+var
+ fxNow, inProgress,
+ rfxtypes = /^(?:toggle|show|hide)$/,
+ rrun = /queueHooks$/;
+
+function schedule() {
+ if ( inProgress ) {
+ if ( document.hidden === false && window.requestAnimationFrame ) {
+ window.requestAnimationFrame( schedule );
+ } else {
+ window.setTimeout( schedule, jQuery.fx.interval );
+ }
+
+ jQuery.fx.tick();
+ }
+}
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+ window.setTimeout( function() {
+ fxNow = undefined;
+ } );
+ return ( fxNow = Date.now() );
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+ var which,
+ i = 0,
+ attrs = { height: type };
+
+ // If we include width, step value is 1 to do all cssExpand values,
+ // otherwise step value is 2 to skip over Left and Right
+ includeWidth = includeWidth ? 1 : 0;
+ for ( ; i < 4; i += 2 - includeWidth ) {
+ which = cssExpand[ i ];
+ attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+ }
+
+ if ( includeWidth ) {
+ attrs.opacity = attrs.width = type;
+ }
+
+ return attrs;
+}
+
+function createTween( value, prop, animation ) {
+ var tween,
+ collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
+ index = 0,
+ length = collection.length;
+ for ( ; index < length; index++ ) {
+ if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
+
+ // We're done with this property
+ return tween;
+ }
+ }
+}
+
+function defaultPrefilter( elem, props, opts ) {
+ var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
+ isBox = "width" in props || "height" in props,
+ anim = this,
+ orig = {},
+ style = elem.style,
+ hidden = elem.nodeType && isHiddenWithinTree( elem ),
+ dataShow = dataPriv.get( elem, "fxshow" );
+
+ // Queue-skipping animations hijack the fx hooks
+ if ( !opts.queue ) {
+ hooks = jQuery._queueHooks( elem, "fx" );
+ if ( hooks.unqueued == null ) {
+ hooks.unqueued = 0;
+ oldfire = hooks.empty.fire;
+ hooks.empty.fire = function() {
+ if ( !hooks.unqueued ) {
+ oldfire();
+ }
+ };
+ }
+ hooks.unqueued++;
+
+ anim.always( function() {
+
+ // Ensure the complete handler is called before this completes
+ anim.always( function() {
+ hooks.unqueued--;
+ if ( !jQuery.queue( elem, "fx" ).length ) {
+ hooks.empty.fire();
+ }
+ } );
+ } );
+ }
+
+ // Detect show/hide animations
+ for ( prop in props ) {
+ value = props[ prop ];
+ if ( rfxtypes.test( value ) ) {
+ delete props[ prop ];
+ toggle = toggle || value === "toggle";
+ if ( value === ( hidden ? "hide" : "show" ) ) {
+
+ // Pretend to be hidden if this is a "show" and
+ // there is still data from a stopped show/hide
+ if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
+ hidden = true;
+
+ // Ignore all other no-op show/hide data
+ } else {
+ continue;
+ }
+ }
+ orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
+ }
+ }
+
+ // Bail out if this is a no-op like .hide().hide()
+ propTween = !jQuery.isEmptyObject( props );
+ if ( !propTween && jQuery.isEmptyObject( orig ) ) {
+ return;
+ }
+
+ // Restrict "overflow" and "display" styles during box animations
+ if ( isBox && elem.nodeType === 1 ) {
+
+ // Support: IE <=9 - 11, Edge 12 - 15
+ // Record all 3 overflow attributes because IE does not infer the shorthand
+ // from identically-valued overflowX and overflowY and Edge just mirrors
+ // the overflowX value there.
+ opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+ // Identify a display type, preferring old show/hide data over the CSS cascade
+ restoreDisplay = dataShow && dataShow.display;
+ if ( restoreDisplay == null ) {
+ restoreDisplay = dataPriv.get( elem, "display" );
+ }
+ display = jQuery.css( elem, "display" );
+ if ( display === "none" ) {
+ if ( restoreDisplay ) {
+ display = restoreDisplay;
+ } else {
+
+ // Get nonempty value(s) by temporarily forcing visibility
+ showHide( [ elem ], true );
+ restoreDisplay = elem.style.display || restoreDisplay;
+ display = jQuery.css( elem, "display" );
+ showHide( [ elem ] );
+ }
+ }
+
+ // Animate inline elements as inline-block
+ if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
+ if ( jQuery.css( elem, "float" ) === "none" ) {
+
+ // Restore the original display value at the end of pure show/hide animations
+ if ( !propTween ) {
+ anim.done( function() {
+ style.display = restoreDisplay;
+ } );
+ if ( restoreDisplay == null ) {
+ display = style.display;
+ restoreDisplay = display === "none" ? "" : display;
+ }
+ }
+ style.display = "inline-block";
+ }
+ }
+ }
+
+ if ( opts.overflow ) {
+ style.overflow = "hidden";
+ anim.always( function() {
+ style.overflow = opts.overflow[ 0 ];
+ style.overflowX = opts.overflow[ 1 ];
+ style.overflowY = opts.overflow[ 2 ];
+ } );
+ }
+
+ // Implement show/hide animations
+ propTween = false;
+ for ( prop in orig ) {
+
+ // General show/hide setup for this element animation
+ if ( !propTween ) {
+ if ( dataShow ) {
+ if ( "hidden" in dataShow ) {
+ hidden = dataShow.hidden;
+ }
+ } else {
+ dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
+ }
+
+ // Store hidden/visible for toggle so `.stop().toggle()` "reverses"
+ if ( toggle ) {
+ dataShow.hidden = !hidden;
+ }
+
+ // Show elements before animating them
+ if ( hidden ) {
+ showHide( [ elem ], true );
+ }
+
+ /* eslint-disable no-loop-func */
+
+ anim.done( function() {
+
+ /* eslint-enable no-loop-func */
+
+ // The final step of a "hide" animation is actually hiding the element
+ if ( !hidden ) {
+ showHide( [ elem ] );
+ }
+ dataPriv.remove( elem, "fxshow" );
+ for ( prop in orig ) {
+ jQuery.style( elem, prop, orig[ prop ] );
+ }
+ } );
+ }
+
+ // Per-property setup
+ propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
+ if ( !( prop in dataShow ) ) {
+ dataShow[ prop ] = propTween.start;
+ if ( hidden ) {
+ propTween.end = propTween.start;
+ propTween.start = 0;
+ }
+ }
+ }
+}
+
+function propFilter( props, specialEasing ) {
+ var index, name, easing, value, hooks;
+
+ // camelCase, specialEasing and expand cssHook pass
+ for ( index in props ) {
+ name = camelCase( index );
+ easing = specialEasing[ name ];
+ value = props[ index ];
+ if ( Array.isArray( value ) ) {
+ easing = value[ 1 ];
+ value = props[ index ] = value[ 0 ];
+ }
+
+ if ( index !== name ) {
+ props[ name ] = value;
+ delete props[ index ];
+ }
+
+ hooks = jQuery.cssHooks[ name ];
+ if ( hooks && "expand" in hooks ) {
+ value = hooks.expand( value );
+ delete props[ name ];
+
+ // Not quite $.extend, this won't overwrite existing keys.
+ // Reusing 'index' because we have the correct "name"
+ for ( index in value ) {
+ if ( !( index in props ) ) {
+ props[ index ] = value[ index ];
+ specialEasing[ index ] = easing;
+ }
+ }
+ } else {
+ specialEasing[ name ] = easing;
+ }
+ }
+}
+
+function Animation( elem, properties, options ) {
+ var result,
+ stopped,
+ index = 0,
+ length = Animation.prefilters.length,
+ deferred = jQuery.Deferred().always( function() {
+
+ // Don't match elem in the :animated selector
+ delete tick.elem;
+ } ),
+ tick = function() {
+ if ( stopped ) {
+ return false;
+ }
+ var currentTime = fxNow || createFxNow(),
+ remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+
+ // Support: Android 2.3 only
+ // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+ temp = remaining / animation.duration || 0,
+ percent = 1 - temp,
+ index = 0,
+ length = animation.tweens.length;
+
+ for ( ; index < length; index++ ) {
+ animation.tweens[ index ].run( percent );
+ }
+
+ deferred.notifyWith( elem, [ animation, percent, remaining ] );
+
+ // If there's more to do, yield
+ if ( percent < 1 && length ) {
+ return remaining;
+ }
+
+ // If this was an empty animation, synthesize a final progress notification
+ if ( !length ) {
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
+ }
+
+ // Resolve the animation and report its conclusion
+ deferred.resolveWith( elem, [ animation ] );
+ return false;
+ },
+ animation = deferred.promise( {
+ elem: elem,
+ props: jQuery.extend( {}, properties ),
+ opts: jQuery.extend( true, {
+ specialEasing: {},
+ easing: jQuery.easing._default
+ }, options ),
+ originalProperties: properties,
+ originalOptions: options,
+ startTime: fxNow || createFxNow(),
+ duration: options.duration,
+ tweens: [],
+ createTween: function( prop, end ) {
+ var tween = jQuery.Tween( elem, animation.opts, prop, end,
+ animation.opts.specialEasing[ prop ] || animation.opts.easing );
+ animation.tweens.push( tween );
+ return tween;
+ },
+ stop: function( gotoEnd ) {
+ var index = 0,
+
+ // If we are going to the end, we want to run all the tweens
+ // otherwise we skip this part
+ length = gotoEnd ? animation.tweens.length : 0;
+ if ( stopped ) {
+ return this;
+ }
+ stopped = true;
+ for ( ; index < length; index++ ) {
+ animation.tweens[ index ].run( 1 );
+ }
+
+ // Resolve when we played the last frame; otherwise, reject
+ if ( gotoEnd ) {
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
+ deferred.resolveWith( elem, [ animation, gotoEnd ] );
+ } else {
+ deferred.rejectWith( elem, [ animation, gotoEnd ] );
+ }
+ return this;
+ }
+ } ),
+ props = animation.props;
+
+ propFilter( props, animation.opts.specialEasing );
+
+ for ( ; index < length; index++ ) {
+ result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
+ if ( result ) {
+ if ( isFunction( result.stop ) ) {
+ jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
+ result.stop.bind( result );
+ }
+ return result;
+ }
+ }
+
+ jQuery.map( props, createTween, animation );
+
+ if ( isFunction( animation.opts.start ) ) {
+ animation.opts.start.call( elem, animation );
+ }
+
+ // Attach callbacks from options
+ animation
+ .progress( animation.opts.progress )
+ .done( animation.opts.done, animation.opts.complete )
+ .fail( animation.opts.fail )
+ .always( animation.opts.always );
+
+ jQuery.fx.timer(
+ jQuery.extend( tick, {
+ elem: elem,
+ anim: animation,
+ queue: animation.opts.queue
+ } )
+ );
+
+ return animation;
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+
+ tweeners: {
+ "*": [ function( prop, value ) {
+ var tween = this.createTween( prop, value );
+ adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
+ return tween;
+ } ]
+ },
+
+ tweener: function( props, callback ) {
+ if ( isFunction( props ) ) {
+ callback = props;
+ props = [ "*" ];
+ } else {
+ props = props.match( rnothtmlwhite );
+ }
+
+ var prop,
+ index = 0,
+ length = props.length;
+
+ for ( ; index < length; index++ ) {
+ prop = props[ index ];
+ Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
+ Animation.tweeners[ prop ].unshift( callback );
+ }
+ },
+
+ prefilters: [ defaultPrefilter ],
+
+ prefilter: function( callback, prepend ) {
+ if ( prepend ) {
+ Animation.prefilters.unshift( callback );
+ } else {
+ Animation.prefilters.push( callback );
+ }
+ }
+} );
+
+jQuery.speed = function( speed, easing, fn ) {
+ var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+ complete: fn || !fn && easing ||
+ isFunction( speed ) && speed,
+ duration: speed,
+ easing: fn && easing || easing && !isFunction( easing ) && easing
+ };
+
+ // Go to the end state if fx are off
+ if ( jQuery.fx.off ) {
+ opt.duration = 0;
+
+ } else {
+ if ( typeof opt.duration !== "number" ) {
+ if ( opt.duration in jQuery.fx.speeds ) {
+ opt.duration = jQuery.fx.speeds[ opt.duration ];
+
+ } else {
+ opt.duration = jQuery.fx.speeds._default;
+ }
+ }
+ }
+
+ // Normalize opt.queue - true/undefined/null -> "fx"
+ if ( opt.queue == null || opt.queue === true ) {
+ opt.queue = "fx";
+ }
+
+ // Queueing
+ opt.old = opt.complete;
+
+ opt.complete = function() {
+ if ( isFunction( opt.old ) ) {
+ opt.old.call( this );
+ }
+
+ if ( opt.queue ) {
+ jQuery.dequeue( this, opt.queue );
+ }
+ };
+
+ return opt;
+};
+
+jQuery.fn.extend( {
+ fadeTo: function( speed, to, easing, callback ) {
+
+ // Show any hidden elements after setting opacity to 0
+ return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
+
+ // Animate to the value specified
+ .end().animate( { opacity: to }, speed, easing, callback );
+ },
+ animate: function( prop, speed, easing, callback ) {
+ var empty = jQuery.isEmptyObject( prop ),
+ optall = jQuery.speed( speed, easing, callback ),
+ doAnimation = function() {
+
+ // Operate on a copy of prop so per-property easing won't be lost
+ var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+ // Empty animations, or finishing resolves immediately
+ if ( empty || dataPriv.get( this, "finish" ) ) {
+ anim.stop( true );
+ }
+ };
+ doAnimation.finish = doAnimation;
+
+ return empty || optall.queue === false ?
+ this.each( doAnimation ) :
+ this.queue( optall.queue, doAnimation );
+ },
+ stop: function( type, clearQueue, gotoEnd ) {
+ var stopQueue = function( hooks ) {
+ var stop = hooks.stop;
+ delete hooks.stop;
+ stop( gotoEnd );
+ };
+
+ if ( typeof type !== "string" ) {
+ gotoEnd = clearQueue;
+ clearQueue = type;
+ type = undefined;
+ }
+ if ( clearQueue && type !== false ) {
+ this.queue( type || "fx", [] );
+ }
+
+ return this.each( function() {
+ var dequeue = true,
+ index = type != null && type + "queueHooks",
+ timers = jQuery.timers,
+ data = dataPriv.get( this );
+
+ if ( index ) {
+ if ( data[ index ] && data[ index ].stop ) {
+ stopQueue( data[ index ] );
+ }
+ } else {
+ for ( index in data ) {
+ if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+ stopQueue( data[ index ] );
+ }
+ }
+ }
+
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this &&
+ ( type == null || timers[ index ].queue === type ) ) {
+
+ timers[ index ].anim.stop( gotoEnd );
+ dequeue = false;
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Start the next in the queue if the last step wasn't forced.
+ // Timers currently will call their complete callbacks, which
+ // will dequeue but only if they were gotoEnd.
+ if ( dequeue || !gotoEnd ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ finish: function( type ) {
+ if ( type !== false ) {
+ type = type || "fx";
+ }
+ return this.each( function() {
+ var index,
+ data = dataPriv.get( this ),
+ queue = data[ type + "queue" ],
+ hooks = data[ type + "queueHooks" ],
+ timers = jQuery.timers,
+ length = queue ? queue.length : 0;
+
+ // Enable finishing flag on private data
+ data.finish = true;
+
+ // Empty the queue first
+ jQuery.queue( this, type, [] );
+
+ if ( hooks && hooks.stop ) {
+ hooks.stop.call( this, true );
+ }
+
+ // Look for any active animations, and finish them
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
+ timers[ index ].anim.stop( true );
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Look for any animations in the old queue and finish them
+ for ( index = 0; index < length; index++ ) {
+ if ( queue[ index ] && queue[ index ].finish ) {
+ queue[ index ].finish.call( this );
+ }
+ }
+
+ // Turn off finishing flag
+ delete data.finish;
+ } );
+ }
+} );
+
+jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+ var cssFn = jQuery.fn[ name ];
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return speed == null || typeof speed === "boolean" ?
+ cssFn.apply( this, arguments ) :
+ this.animate( genFx( name, true ), speed, easing, callback );
+ };
+} );
+
+// Generate shortcuts for custom animations
+jQuery.each( {
+ slideDown: genFx( "show" ),
+ slideUp: genFx( "hide" ),
+ slideToggle: genFx( "toggle" ),
+ fadeIn: { opacity: "show" },
+ fadeOut: { opacity: "hide" },
+ fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return this.animate( props, speed, easing, callback );
+ };
+} );
+
+jQuery.timers = [];
+jQuery.fx.tick = function() {
+ var timer,
+ i = 0,
+ timers = jQuery.timers;
+
+ fxNow = Date.now();
+
+ for ( ; i < timers.length; i++ ) {
+ timer = timers[ i ];
+
+ // Run the timer and safely remove it when done (allowing for external removal)
+ if ( !timer() && timers[ i ] === timer ) {
+ timers.splice( i--, 1 );
+ }
+ }
+
+ if ( !timers.length ) {
+ jQuery.fx.stop();
+ }
+ fxNow = undefined;
+};
+
+jQuery.fx.timer = function( timer ) {
+ jQuery.timers.push( timer );
+ jQuery.fx.start();
+};
+
+jQuery.fx.interval = 13;
+jQuery.fx.start = function() {
+ if ( inProgress ) {
+ return;
+ }
+
+ inProgress = true;
+ schedule();
+};
+
+jQuery.fx.stop = function() {
+ inProgress = null;
+};
+
+jQuery.fx.speeds = {
+ slow: 600,
+ fast: 200,
+
+ // Default speed
+ _default: 400
+};
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function( next, hooks ) {
+ var timeout = window.setTimeout( next, time );
+ hooks.stop = function() {
+ window.clearTimeout( timeout );
+ };
+ } );
+};
+
+
+( function() {
+ var input = document.createElement( "input" ),
+ select = document.createElement( "select" ),
+ opt = select.appendChild( document.createElement( "option" ) );
+
+ input.type = "checkbox";
+
+ // Support: Android <=4.3 only
+ // Default value for a checkbox should be "on"
+ support.checkOn = input.value !== "";
+
+ // Support: IE <=11 only
+ // Must access selectedIndex to make default options select
+ support.optSelected = opt.selected;
+
+ // Support: IE <=11 only
+ // An input loses its value after becoming a radio
+ input = document.createElement( "input" );
+ input.value = "t";
+ input.type = "radio";
+ support.radioValue = input.value === "t";
+} )();
+
+
+var boolHook,
+ attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+ attr: function( name, value ) {
+ return access( this, jQuery.attr, name, value, arguments.length > 1 );
+ },
+
+ removeAttr: function( name ) {
+ return this.each( function() {
+ jQuery.removeAttr( this, name );
+ } );
+ }
+} );
+
+jQuery.extend( {
+ attr: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set attributes on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === "undefined" ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ // Attribute hooks are determined by the lowercase version
+ // Grab necessary hook if one is defined
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+ hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+ }
+
+ if ( value !== undefined ) {
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+ return;
+ }
+
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ ret = jQuery.find.attr( elem, name );
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ? undefined : ret;
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ if ( !support.radioValue && value === "radio" &&
+ nodeName( elem, "input" ) ) {
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name,
+ i = 0,
+
+ // Attribute names can contain non-HTML whitespace characters
+ // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+ attrNames = value && value.match( rnothtmlwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( ( name = attrNames[ i++ ] ) ) {
+ elem.removeAttribute( name );
+ }
+ }
+ }
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ elem.setAttribute( name, name );
+ }
+ return name;
+ }
+};
+
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+ var getter = attrHandle[ name ] || jQuery.find.attr;
+
+ attrHandle[ name ] = function( elem, name, isXML ) {
+ var ret, handle,
+ lowercaseName = name.toLowerCase();
+
+ if ( !isXML ) {
+
+ // Avoid an infinite loop by temporarily removing this function from the getter
+ handle = attrHandle[ lowercaseName ];
+ attrHandle[ lowercaseName ] = ret;
+ ret = getter( elem, name, isXML ) != null ?
+ lowercaseName :
+ null;
+ attrHandle[ lowercaseName ] = handle;
+ }
+ return ret;
+ };
+} );
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+ rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+ prop: function( name, value ) {
+ return access( this, jQuery.prop, name, value, arguments.length > 1 );
+ },
+
+ removeProp: function( name ) {
+ return this.each( function() {
+ delete this[ jQuery.propFix[ name ] || name ];
+ } );
+ }
+} );
+
+jQuery.extend( {
+ prop: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set properties on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+ // Fix name and attach hooks
+ name = jQuery.propFix[ name ] || name;
+ hooks = jQuery.propHooks[ name ];
+ }
+
+ if ( value !== undefined ) {
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ return ( elem[ name ] = value );
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ return elem[ name ];
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+
+ // Support: IE <=9 - 11 only
+ // elem.tabIndex doesn't always return the
+ // correct value when it hasn't been explicitly set
+ // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // Use proper attribute retrieval(#12072)
+ var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+ if ( tabindex ) {
+ return parseInt( tabindex, 10 );
+ }
+
+ if (
+ rfocusable.test( elem.nodeName ) ||
+ rclickable.test( elem.nodeName ) &&
+ elem.href
+ ) {
+ return 0;
+ }
+
+ return -1;
+ }
+ }
+ },
+
+ propFix: {
+ "for": "htmlFor",
+ "class": "className"
+ }
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+ jQuery.propHooks.selected = {
+ get: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent && parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ return null;
+ },
+ set: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent ) {
+ parent.selectedIndex;
+
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ }
+ };
+}
+
+jQuery.each( [
+ "tabIndex",
+ "readOnly",
+ "maxLength",
+ "cellSpacing",
+ "cellPadding",
+ "rowSpan",
+ "colSpan",
+ "useMap",
+ "frameBorder",
+ "contentEditable"
+], function() {
+ jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+ // Strip and collapse whitespace according to HTML spec
+ // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
+ function stripAndCollapse( value ) {
+ var tokens = value.match( rnothtmlwhite ) || [];
+ return tokens.join( " " );
+ }
+
+
+function getClass( elem ) {
+ return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+function classesToArray( value ) {
+ if ( Array.isArray( value ) ) {
+ return value;
+ }
+ if ( typeof value === "string" ) {
+ return value.match( rnothtmlwhite ) || [];
+ }
+ return [];
+}
+
+jQuery.fn.extend( {
+ addClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ classes = classesToArray( value );
+
+ if ( classes.length ) {
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( !arguments.length ) {
+ return this.attr( "class", "" );
+ }
+
+ classes = classesToArray( value );
+
+ if ( classes.length ) {
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value,
+ isValidValue = type === "string" || Array.isArray( value );
+
+ if ( typeof stateVal === "boolean" && isValidValue ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+
+ if ( isFunction( value ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).toggleClass(
+ value.call( this, i, getClass( this ), stateVal ),
+ stateVal
+ );
+ } );
+ }
+
+ return this.each( function() {
+ var className, i, self, classNames;
+
+ if ( isValidValue ) {
+
+ // Toggle individual class names
+ i = 0;
+ self = jQuery( this );
+ classNames = classesToArray( value );
+
+ while ( ( className = classNames[ i++ ] ) ) {
+
+ // Check each className given, space separated list
+ if ( self.hasClass( className ) ) {
+ self.removeClass( className );
+ } else {
+ self.addClass( className );
+ }
+ }
+
+ // Toggle whole class name
+ } else if ( value === undefined || type === "boolean" ) {
+ className = getClass( this );
+ if ( className ) {
+
+ // Store className if set
+ dataPriv.set( this, "__className__", className );
+ }
+
+ // If the element has a class name or if we're passed `false`,
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ if ( this.setAttribute ) {
+ this.setAttribute( "class",
+ className || value === false ?
+ "" :
+ dataPriv.get( this, "__className__" ) || ""
+ );
+ }
+ }
+ } );
+ },
+
+ hasClass: function( selector ) {
+ var className, elem,
+ i = 0;
+
+ className = " " + selector + " ";
+ while ( ( elem = this[ i++ ] ) ) {
+ if ( elem.nodeType === 1 &&
+ ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+} );
+
+
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+ val: function( value ) {
+ var hooks, ret, valueIsFunction,
+ elem = this[ 0 ];
+
+ if ( !arguments.length ) {
+ if ( elem ) {
+ hooks = jQuery.valHooks[ elem.type ] ||
+ jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+ if ( hooks &&
+ "get" in hooks &&
+ ( ret = hooks.get( elem, "value" ) ) !== undefined
+ ) {
+ return ret;
+ }
+
+ ret = elem.value;
+
+ // Handle most common string cases
+ if ( typeof ret === "string" ) {
+ return ret.replace( rreturn, "" );
+ }
+
+ // Handle cases where value is null/undef or number
+ return ret == null ? "" : ret;
+ }
+
+ return;
+ }
+
+ valueIsFunction = isFunction( value );
+
+ return this.each( function( i ) {
+ var val;
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( valueIsFunction ) {
+ val = value.call( this, i, jQuery( this ).val() );
+ } else {
+ val = value;
+ }
+
+ // Treat null/undefined as ""; convert numbers to string
+ if ( val == null ) {
+ val = "";
+
+ } else if ( typeof val === "number" ) {
+ val += "";
+
+ } else if ( Array.isArray( val ) ) {
+ val = jQuery.map( val, function( value ) {
+ return value == null ? "" : value + "";
+ } );
+ }
+
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+ // If set returns undefined, fall back to normal setting
+ if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+ this.value = val;
+ }
+ } );
+ }
+} );
+
+jQuery.extend( {
+ valHooks: {
+ option: {
+ get: function( elem ) {
+
+ var val = jQuery.find.attr( elem, "value" );
+ return val != null ?
+ val :
+
+ // Support: IE <=10 - 11 only
+ // option.text throws exceptions (#14686, #14858)
+ // Strip and collapse whitespace
+ // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+ stripAndCollapse( jQuery.text( elem ) );
+ }
+ },
+ select: {
+ get: function( elem ) {
+ var value, option, i,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one",
+ values = one ? null : [],
+ max = one ? index + 1 : options.length;
+
+ if ( index < 0 ) {
+ i = max;
+
+ } else {
+ i = one ? index : 0;
+ }
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // Support: IE <=9 only
+ // IE8-9 doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+
+ // Don't return options that are disabled or in a disabled optgroup
+ !option.disabled &&
+ ( !option.parentNode.disabled ||
+ !nodeName( option.parentNode, "optgroup" ) ) ) {
+
+ // Get the specific value for the option
+ value = jQuery( option ).val();
+
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
+
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var optionSet, option,
+ options = elem.options,
+ values = jQuery.makeArray( value ),
+ i = options.length;
+
+ while ( i-- ) {
+ option = options[ i ];
+
+ /* eslint-disable no-cond-assign */
+
+ if ( option.selected =
+ jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+ ) {
+ optionSet = true;
+ }
+
+ /* eslint-enable no-cond-assign */
+ }
+
+ // Force browsers to behave consistently when non-matching value is set
+ if ( !optionSet ) {
+ elem.selectedIndex = -1;
+ }
+ return values;
+ }
+ }
+ }
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ set: function( elem, value ) {
+ if ( Array.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+ }
+ }
+ };
+ if ( !support.checkOn ) {
+ jQuery.valHooks[ this ].get = function( elem ) {
+ return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+ };
+ }
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+support.focusin = "onfocusin" in window;
+
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+ stopPropagationCallback = function( e ) {
+ e.stopPropagation();
+ };
+
+jQuery.extend( jQuery.event, {
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
+ eventPath = [ elem || document ],
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+ cur = lastElement = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf( "." ) > -1 ) {
+
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split( "." );
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join( "." );
+ event.rnamespace = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === ( elem.ownerDocument || document ) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+ lastElement = cur;
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+ dataPriv.get( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && handle.apply && acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( ( !special._default ||
+ special._default.apply( eventPath.pop(), data ) === false ) &&
+ acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name as the event.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+
+ if ( event.isPropagationStopped() ) {
+ lastElement.addEventListener( type, stopPropagationCallback );
+ }
+
+ elem[ type ]();
+
+ if ( event.isPropagationStopped() ) {
+ lastElement.removeEventListener( type, stopPropagationCallback );
+ }
+
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ // Piggyback on a donor event to simulate a different one
+ // Used only for `focus(in | out)` events
+ simulate: function( type, elem, event ) {
+ var e = jQuery.extend(
+ new jQuery.Event(),
+ event,
+ {
+ type: type,
+ isSimulated: true
+ }
+ );
+
+ jQuery.event.trigger( e, null, elem );
+ }
+
+} );
+
+jQuery.fn.extend( {
+
+ trigger: function( type, data ) {
+ return this.each( function() {
+ jQuery.event.trigger( type, data, this );
+ } );
+ },
+ triggerHandler: function( type, data ) {
+ var elem = this[ 0 ];
+ if ( elem ) {
+ return jQuery.event.trigger( type, data, elem, true );
+ }
+ }
+} );
+
+
+// Support: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
+ var handler = function( event ) {
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+ };
+
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix );
+
+ if ( !attaches ) {
+ doc.addEventListener( orig, handler, true );
+ }
+ dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix ) - 1;
+
+ if ( !attaches ) {
+ doc.removeEventListener( orig, handler, true );
+ dataPriv.remove( doc, fix );
+
+ } else {
+ dataPriv.access( doc, fix, attaches );
+ }
+ }
+ };
+ } );
+}
+var location = window.location;
+
+var nonce = Date.now();
+
+var rquery = ( /\?/ );
+
+
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+ var xml;
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+
+ // Support: IE 9 - 11 only
+ // IE throws on parseFromString with invalid input.
+ try {
+ xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
+ } catch ( e ) {
+ xml = undefined;
+ }
+
+ if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
+ jQuery.error( "Invalid XML: " + data );
+ }
+ return xml;
+};
+
+
+var
+ rbracket = /\[\]$/,
+ rCRLF = /\r?\n/g,
+ rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+ rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+ var name;
+
+ if ( Array.isArray( obj ) ) {
+
+ // Serialize array item.
+ jQuery.each( obj, function( i, v ) {
+ if ( traditional || rbracket.test( prefix ) ) {
+
+ // Treat each array item as a scalar.
+ add( prefix, v );
+
+ } else {
+
+ // Item is non-scalar (array or object), encode its numeric index.
+ buildParams(
+ prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+ v,
+ traditional,
+ add
+ );
+ }
+ } );
+
+ } else if ( !traditional && toType( obj ) === "object" ) {
+
+ // Serialize object item.
+ for ( name in obj ) {
+ buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+ }
+
+ } else {
+
+ // Serialize scalar item.
+ add( prefix, obj );
+ }
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+ var prefix,
+ s = [],
+ add = function( key, valueOrFunction ) {
+
+ // If value is a function, invoke it and use its return value
+ var value = isFunction( valueOrFunction ) ?
+ valueOrFunction() :
+ valueOrFunction;
+
+ s[ s.length ] = encodeURIComponent( key ) + "=" +
+ encodeURIComponent( value == null ? "" : value );
+ };
+
+ if ( a == null ) {
+ return "";
+ }
+
+ // If an array was passed in, assume that it is an array of form elements.
+ if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+ // Serialize the form elements
+ jQuery.each( a, function() {
+ add( this.name, this.value );
+ } );
+
+ } else {
+
+ // If traditional, encode the "old" way (the way 1.3.2 or older
+ // did it), otherwise encode params recursively.
+ for ( prefix in a ) {
+ buildParams( prefix, a[ prefix ], traditional, add );
+ }
+ }
+
+ // Return the resulting serialization
+ return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+ serialize: function() {
+ return jQuery.param( this.serializeArray() );
+ },
+ serializeArray: function() {
+ return this.map( function() {
+
+ // Can add propHook for "elements" to filter or add form elements
+ var elements = jQuery.prop( this, "elements" );
+ return elements ? jQuery.makeArray( elements ) : this;
+ } )
+ .filter( function() {
+ var type = this.type;
+
+ // Use .is( ":disabled" ) so that fieldset[disabled] works
+ return this.name && !jQuery( this ).is( ":disabled" ) &&
+ rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+ ( this.checked || !rcheckableType.test( type ) );
+ } )
+ .map( function( i, elem ) {
+ var val = jQuery( this ).val();
+
+ if ( val == null ) {
+ return null;
+ }
+
+ if ( Array.isArray( val ) ) {
+ return jQuery.map( val, function( val ) {
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } );
+ }
+
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } ).get();
+ }
+} );
+
+
+var
+ r20 = /%20/g,
+ rhash = /#.*$/,
+ rantiCache = /([?&])_=[^&]*/,
+ rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
+
+ // #7653, #8125, #8152: local protocol detection
+ rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+ rnoContent = /^(?:GET|HEAD)$/,
+ rprotocol = /^\/\//,
+
+ /* Prefilters
+ * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+ * 2) These are called:
+ * - BEFORE asking for a transport
+ * - AFTER param serialization (s.data is a string if s.processData is true)
+ * 3) key is the dataType
+ * 4) the catchall symbol "*" can be used
+ * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+ */
+ prefilters = {},
+
+ /* Transports bindings
+ * 1) key is the dataType
+ * 2) the catchall symbol "*" can be used
+ * 3) selection will start with transport dataType and THEN go to "*" if needed
+ */
+ transports = {},
+
+ // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+ allTypes = "*/".concat( "*" ),
+
+ // Anchor tag for parsing the document origin
+ originAnchor = document.createElement( "a" );
+ originAnchor.href = location.href;
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+ // dataTypeExpression is optional and defaults to "*"
+ return function( dataTypeExpression, func ) {
+
+ if ( typeof dataTypeExpression !== "string" ) {
+ func = dataTypeExpression;
+ dataTypeExpression = "*";
+ }
+
+ var dataType,
+ i = 0,
+ dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
+
+ if ( isFunction( func ) ) {
+
+ // For each dataType in the dataTypeExpression
+ while ( ( dataType = dataTypes[ i++ ] ) ) {
+
+ // Prepend if requested
+ if ( dataType[ 0 ] === "+" ) {
+ dataType = dataType.slice( 1 ) || "*";
+ ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
+
+ // Otherwise append
+ } else {
+ ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
+ }
+ }
+ }
+ };
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
+
+ var inspected = {},
+ seekingTransport = ( structure === transports );
+
+ function inspect( dataType ) {
+ var selected;
+ inspected[ dataType ] = true;
+ jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
+ var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
+ if ( typeof dataTypeOrTransport === "string" &&
+ !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
+
+ options.dataTypes.unshift( dataTypeOrTransport );
+ inspect( dataTypeOrTransport );
+ return false;
+ } else if ( seekingTransport ) {
+ return !( selected = dataTypeOrTransport );
+ }
+ } );
+ return selected;
+ }
+
+ return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+ var key, deep,
+ flatOptions = jQuery.ajaxSettings.flatOptions || {};
+
+ for ( key in src ) {
+ if ( src[ key ] !== undefined ) {
+ ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+ }
+ }
+ if ( deep ) {
+ jQuery.extend( true, target, deep );
+ }
+
+ return target;
+}
+
+/* Handles responses to an ajax request:
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+ var ct, type, finalDataType, firstDataType,
+ contents = s.contents,
+ dataTypes = s.dataTypes;
+
+ // Remove auto dataType and get content-type in the process
+ while ( dataTypes[ 0 ] === "*" ) {
+ dataTypes.shift();
+ if ( ct === undefined ) {
+ ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
+ }
+ }
+
+ // Check if we're dealing with a known content-type
+ if ( ct ) {
+ for ( type in contents ) {
+ if ( contents[ type ] && contents[ type ].test( ct ) ) {
+ dataTypes.unshift( type );
+ break;
+ }
+ }
+ }
+
+ // Check to see if we have a response for the expected dataType
+ if ( dataTypes[ 0 ] in responses ) {
+ finalDataType = dataTypes[ 0 ];
+ } else {
+
+ // Try convertible dataTypes
+ for ( type in responses ) {
+ if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
+ finalDataType = type;
+ break;
+ }
+ if ( !firstDataType ) {
+ firstDataType = type;
+ }
+ }
+
+ // Or just use first one
+ finalDataType = finalDataType || firstDataType;
+ }
+
+ // If we found a dataType
+ // We add the dataType to the list if needed
+ // and return the corresponding response
+ if ( finalDataType ) {
+ if ( finalDataType !== dataTypes[ 0 ] ) {
+ dataTypes.unshift( finalDataType );
+ }
+ return responses[ finalDataType ];
+ }
+}
+
+/* Chain conversions given the request and the original response
+ * Also sets the responseXXX fields on the jqXHR instance
+ */
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
+ var conv2, current, conv, tmp, prev,
+ converters = {},
+
+ // Work with a copy of dataTypes in case we need to modify it for conversion
+ dataTypes = s.dataTypes.slice();
+
+ // Create converters map with lowercased keys
+ if ( dataTypes[ 1 ] ) {
+ for ( conv in s.converters ) {
+ converters[ conv.toLowerCase() ] = s.converters[ conv ];
+ }
+ }
+
+ current = dataTypes.shift();
+
+ // Convert to each sequential dataType
+ while ( current ) {
+
+ if ( s.responseFields[ current ] ) {
+ jqXHR[ s.responseFields[ current ] ] = response;
+ }
+
+ // Apply the dataFilter if provided
+ if ( !prev && isSuccess && s.dataFilter ) {
+ response = s.dataFilter( response, s.dataType );
+ }
+
+ prev = current;
+ current = dataTypes.shift();
+
+ if ( current ) {
+
+ // There's only work to do if current dataType is non-auto
+ if ( current === "*" ) {
+
+ current = prev;
+
+ // Convert response if prev dataType is non-auto and differs from current
+ } else if ( prev !== "*" && prev !== current ) {
+
+ // Seek a direct converter
+ conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+ // If none found, seek a pair
+ if ( !conv ) {
+ for ( conv2 in converters ) {
+
+ // If conv2 outputs current
+ tmp = conv2.split( " " );
+ if ( tmp[ 1 ] === current ) {
+
+ // If prev can be converted to accepted input
+ conv = converters[ prev + " " + tmp[ 0 ] ] ||
+ converters[ "* " + tmp[ 0 ] ];
+ if ( conv ) {
+
+ // Condense equivalence converters
+ if ( conv === true ) {
+ conv = converters[ conv2 ];
+
+ // Otherwise, insert the intermediate dataType
+ } else if ( converters[ conv2 ] !== true ) {
+ current = tmp[ 0 ];
+ dataTypes.unshift( tmp[ 1 ] );
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ // Apply converter (if not an equivalence)
+ if ( conv !== true ) {
+
+ // Unless errors are allowed to bubble, catch and return them
+ if ( conv && s.throws ) {
+ response = conv( response );
+ } else {
+ try {
+ response = conv( response );
+ } catch ( e ) {
+ return {
+ state: "parsererror",
+ error: conv ? e : "No conversion from " + prev + " to " + current
+ };
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return { state: "success", data: response };
+}
+
+jQuery.extend( {
+
+ // Counter for holding the number of active queries
+ active: 0,
+
+ // Last-Modified header cache for next request
+ lastModified: {},
+ etag: {},
+
+ ajaxSettings: {
+ url: location.href,
+ type: "GET",
+ isLocal: rlocalProtocol.test( location.protocol ),
+ global: true,
+ processData: true,
+ async: true,
+ contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+
+ /*
+ timeout: 0,
+ data: null,
+ dataType: null,
+ username: null,
+ password: null,
+ cache: null,
+ throws: false,
+ traditional: false,
+ headers: {},
+ */
+
+ accepts: {
+ "*": allTypes,
+ text: "text/plain",
+ html: "text/html",
+ xml: "application/xml, text/xml",
+ json: "application/json, text/javascript"
+ },
+
+ contents: {
+ xml: /\bxml\b/,
+ html: /\bhtml/,
+ json: /\bjson\b/
+ },
+
+ responseFields: {
+ xml: "responseXML",
+ text: "responseText",
+ json: "responseJSON"
+ },
+
+ // Data converters
+ // Keys separate source (or catchall "*") and destination types with a single space
+ converters: {
+
+ // Convert anything to text
+ "* text": String,
+
+ // Text to html (true = no transformation)
+ "text html": true,
+
+ // Evaluate text as a json expression
+ "text json": JSON.parse,
+
+ // Parse text as xml
+ "text xml": jQuery.parseXML
+ },
+
+ // For options that shouldn't be deep extended:
+ // you can add your own custom options here if
+ // and when you create one that shouldn't be
+ // deep extended (see ajaxExtend)
+ flatOptions: {
+ url: true,
+ context: true
+ }
+ },
+
+ // Creates a full fledged settings object into target
+ // with both ajaxSettings and settings fields.
+ // If target is omitted, writes into ajaxSettings.
+ ajaxSetup: function( target, settings ) {
+ return settings ?
+
+ // Building a settings object
+ ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
+
+ // Extending ajaxSettings
+ ajaxExtend( jQuery.ajaxSettings, target );
+ },
+
+ ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+ ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+ // Main method
+ ajax: function( url, options ) {
+
+ // If url is an object, simulate pre-1.5 signature
+ if ( typeof url === "object" ) {
+ options = url;
+ url = undefined;
+ }
+
+ // Force options to be an object
+ options = options || {};
+
+ var transport,
+
+ // URL without anti-cache param
+ cacheURL,
+
+ // Response headers
+ responseHeadersString,
+ responseHeaders,
+
+ // timeout handle
+ timeoutTimer,
+
+ // Url cleanup var
+ urlAnchor,
+
+ // Request state (becomes false upon send and true upon completion)
+ completed,
+
+ // To know if global events are to be dispatched
+ fireGlobals,
+
+ // Loop variable
+ i,
+
+ // uncached part of the url
+ uncached,
+
+ // Create the final options object
+ s = jQuery.ajaxSetup( {}, options ),
+
+ // Callbacks context
+ callbackContext = s.context || s,
+
+ // Context for global events is callbackContext if it is a DOM node or jQuery collection
+ globalEventContext = s.context &&
+ ( callbackContext.nodeType || callbackContext.jquery ) ?
+ jQuery( callbackContext ) :
+ jQuery.event,
+
+ // Deferreds
+ deferred = jQuery.Deferred(),
+ completeDeferred = jQuery.Callbacks( "once memory" ),
+
+ // Status-dependent callbacks
+ statusCode = s.statusCode || {},
+
+ // Headers (they are sent all at once)
+ requestHeaders = {},
+ requestHeadersNames = {},
+
+ // Default abort message
+ strAbort = "canceled",
+
+ // Fake xhr
+ jqXHR = {
+ readyState: 0,
+
+ // Builds headers hashtable if needed
+ getResponseHeader: function( key ) {
+ var match;
+ if ( completed ) {
+ if ( !responseHeaders ) {
+ responseHeaders = {};
+ while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
+ responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
+ ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
+ .concat( match[ 2 ] );
+ }
+ }
+ match = responseHeaders[ key.toLowerCase() + " " ];
+ }
+ return match == null ? null : match.join( ", " );
+ },
+
+ // Raw string
+ getAllResponseHeaders: function() {
+ return completed ? responseHeadersString : null;
+ },
+
+ // Caches the header
+ setRequestHeader: function( name, value ) {
+ if ( completed == null ) {
+ name = requestHeadersNames[ name.toLowerCase() ] =
+ requestHeadersNames[ name.toLowerCase() ] || name;
+ requestHeaders[ name ] = value;
+ }
+ return this;
+ },
+
+ // Overrides response content-type header
+ overrideMimeType: function( type ) {
+ if ( completed == null ) {
+ s.mimeType = type;
+ }
+ return this;
+ },
+
+ // Status-dependent callbacks
+ statusCode: function( map ) {
+ var code;
+ if ( map ) {
+ if ( completed ) {
+
+ // Execute the appropriate callbacks
+ jqXHR.always( map[ jqXHR.status ] );
+ } else {
+
+ // Lazy-add the new callbacks in a way that preserves old ones
+ for ( code in map ) {
+ statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
+ }
+ }
+ }
+ return this;
+ },
+
+ // Cancel the request
+ abort: function( statusText ) {
+ var finalText = statusText || strAbort;
+ if ( transport ) {
+ transport.abort( finalText );
+ }
+ done( 0, finalText );
+ return this;
+ }
+ };
+
+ // Attach deferreds
+ deferred.promise( jqXHR );
+
+ // Add protocol if not provided (prefilters might expect it)
+ // Handle falsy url in the settings object (#10093: consistency with old signature)
+ // We also use the url parameter if available
+ s.url = ( ( url || s.url || location.href ) + "" )
+ .replace( rprotocol, location.protocol + "//" );
+
+ // Alias method option to type as per ticket #12004
+ s.type = options.method || options.type || s.method || s.type;
+
+ // Extract dataTypes list
+ s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
+
+ // A cross-domain request is in order when the origin doesn't match the current origin.
+ if ( s.crossDomain == null ) {
+ urlAnchor = document.createElement( "a" );
+
+ // Support: IE <=8 - 11, Edge 12 - 15
+ // IE throws exception on accessing the href property if url is malformed,
+ // e.g. http://example.com:80x/
+ try {
+ urlAnchor.href = s.url;
+
+ // Support: IE <=8 - 11 only
+ // Anchor's host property isn't correctly set when s.url is relative
+ urlAnchor.href = urlAnchor.href;
+ s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
+ urlAnchor.protocol + "//" + urlAnchor.host;
+ } catch ( e ) {
+
+ // If there is an error parsing the URL, assume it is crossDomain,
+ // it can be rejected by the transport if it is invalid
+ s.crossDomain = true;
+ }
+ }
+
+ // Convert data if not already a string
+ if ( s.data && s.processData && typeof s.data !== "string" ) {
+ s.data = jQuery.param( s.data, s.traditional );
+ }
+
+ // Apply prefilters
+ inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+ // If request was aborted inside a prefilter, stop there
+ if ( completed ) {
+ return jqXHR;
+ }
+
+ // We can fire global events as of now if asked to
+ // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+ fireGlobals = jQuery.event && s.global;
+
+ // Watch for a new set of requests
+ if ( fireGlobals && jQuery.active++ === 0 ) {
+ jQuery.event.trigger( "ajaxStart" );
+ }
+
+ // Uppercase the type
+ s.type = s.type.toUpperCase();
+
+ // Determine if request has content
+ s.hasContent = !rnoContent.test( s.type );
+
+ // Save the URL in case we're toying with the If-Modified-Since
+ // and/or If-None-Match header later on
+ // Remove hash to simplify url manipulation
+ cacheURL = s.url.replace( rhash, "" );
+
+ // More options handling for requests with no content
+ if ( !s.hasContent ) {
+
+ // Remember the hash so we can put it back
+ uncached = s.url.slice( cacheURL.length );
+
+ // If data is available and should be processed, append data to url
+ if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
+ cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
+
+ // #9682: remove data so that it's not used in an eventual retry
+ delete s.data;
+ }
+
+ // Add or update anti-cache param if needed
+ if ( s.cache === false ) {
+ cacheURL = cacheURL.replace( rantiCache, "$1" );
+ uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
+ }
+
+ // Put hash and anti-cache on the URL that will be requested (gh-1732)
+ s.url = cacheURL + uncached;
+
+ // Change '%20' to '+' if this is encoded form body content (gh-2658)
+ } else if ( s.data && s.processData &&
+ ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
+ s.data = s.data.replace( r20, "+" );
+ }
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ if ( jQuery.lastModified[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
+ }
+ if ( jQuery.etag[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
+ }
+ }
+
+ // Set the correct header, if data is being sent
+ if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+ jqXHR.setRequestHeader( "Content-Type", s.contentType );
+ }
+
+ // Set the Accepts header for the server, depending on the dataType
+ jqXHR.setRequestHeader(
+ "Accept",
+ s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
+ s.accepts[ s.dataTypes[ 0 ] ] +
+ ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+ s.accepts[ "*" ]
+ );
+
+ // Check for headers option
+ for ( i in s.headers ) {
+ jqXHR.setRequestHeader( i, s.headers[ i ] );
+ }
+
+ // Allow custom headers/mimetypes and early abort
+ if ( s.beforeSend &&
+ ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
+
+ // Abort if not done already and return
+ return jqXHR.abort();
+ }
+
+ // Aborting is no longer a cancellation
+ strAbort = "abort";
+
+ // Install callbacks on deferreds
+ completeDeferred.add( s.complete );
+ jqXHR.done( s.success );
+ jqXHR.fail( s.error );
+
+ // Get transport
+ transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+ // If no transport, we auto-abort
+ if ( !transport ) {
+ done( -1, "No Transport" );
+ } else {
+ jqXHR.readyState = 1;
+
+ // Send global event
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+ }
+
+ // If request was aborted inside ajaxSend, stop there
+ if ( completed ) {
+ return jqXHR;
+ }
+
+ // Timeout
+ if ( s.async && s.timeout > 0 ) {
+ timeoutTimer = window.setTimeout( function() {
+ jqXHR.abort( "timeout" );
+ }, s.timeout );
+ }
+
+ try {
+ completed = false;
+ transport.send( requestHeaders, done );
+ } catch ( e ) {
+
+ // Rethrow post-completion exceptions
+ if ( completed ) {
+ throw e;
+ }
+
+ // Propagate others as results
+ done( -1, e );
+ }
+ }
+
+ // Callback for when everything is done
+ function done( status, nativeStatusText, responses, headers ) {
+ var isSuccess, success, error, response, modified,
+ statusText = nativeStatusText;
+
+ // Ignore repeat invocations
+ if ( completed ) {
+ return;
+ }
+
+ completed = true;
+
+ // Clear timeout if it exists
+ if ( timeoutTimer ) {
+ window.clearTimeout( timeoutTimer );
+ }
+
+ // Dereference transport for early garbage collection
+ // (no matter how long the jqXHR object will be used)
+ transport = undefined;
+
+ // Cache response headers
+ responseHeadersString = headers || "";
+
+ // Set readyState
+ jqXHR.readyState = status > 0 ? 4 : 0;
+
+ // Determine if successful
+ isSuccess = status >= 200 && status < 300 || status === 304;
+
+ // Get response data
+ if ( responses ) {
+ response = ajaxHandleResponses( s, jqXHR, responses );
+ }
+
+ // Convert no matter what (that way responseXXX fields are always set)
+ response = ajaxConvert( s, response, jqXHR, isSuccess );
+
+ // If successful, handle type chaining
+ if ( isSuccess ) {
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ modified = jqXHR.getResponseHeader( "Last-Modified" );
+ if ( modified ) {
+ jQuery.lastModified[ cacheURL ] = modified;
+ }
+ modified = jqXHR.getResponseHeader( "etag" );
+ if ( modified ) {
+ jQuery.etag[ cacheURL ] = modified;
+ }
+ }
+
+ // if no content
+ if ( status === 204 || s.type === "HEAD" ) {
+ statusText = "nocontent";
+
+ // if not modified
+ } else if ( status === 304 ) {
+ statusText = "notmodified";
+
+ // If we have data, let's convert it
+ } else {
+ statusText = response.state;
+ success = response.data;
+ error = response.error;
+ isSuccess = !error;
+ }
+ } else {
+
+ // Extract error from statusText and normalize for non-aborts
+ error = statusText;
+ if ( status || !statusText ) {
+ statusText = "error";
+ if ( status < 0 ) {
+ status = 0;
+ }
+ }
+ }
+
+ // Set data for the fake xhr object
+ jqXHR.status = status;
+ jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+ // Success/Error
+ if ( isSuccess ) {
+ deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+ } else {
+ deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+ }
+
+ // Status-dependent callbacks
+ jqXHR.statusCode( statusCode );
+ statusCode = undefined;
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
+ [ jqXHR, s, isSuccess ? success : error ] );
+ }
+
+ // Complete
+ completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+
+ // Handle the global AJAX counter
+ if ( !( --jQuery.active ) ) {
+ jQuery.event.trigger( "ajaxStop" );
+ }
+ }
+ }
+
+ return jqXHR;
+ },
+
+ getJSON: function( url, data, callback ) {
+ return jQuery.get( url, data, callback, "json" );
+ },
+
+ getScript: function( url, callback ) {
+ return jQuery.get( url, undefined, callback, "script" );
+ }
+} );
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+ jQuery[ method ] = function( url, data, callback, type ) {
+
+ // Shift arguments if data argument was omitted
+ if ( isFunction( data ) ) {
+ type = type || callback;
+ callback = data;
+ data = undefined;
+ }
+
+ // The url can be an options object (which then must have .url)
+ return jQuery.ajax( jQuery.extend( {
+ url: url,
+ type: method,
+ dataType: type,
+ data: data,
+ success: callback
+ }, jQuery.isPlainObject( url ) && url ) );
+ };
+} );
+
+
+jQuery._evalUrl = function( url, options ) {
+ return jQuery.ajax( {
+ url: url,
+
+ // Make this explicit, since user can override this through ajaxSetup (#11264)
+ type: "GET",
+ dataType: "script",
+ cache: true,
+ async: false,
+ global: false,
+
+ // Only evaluate the response if it is successful (gh-4126)
+ // dataFilter is not invoked for failure responses, so using it instead
+ // of the default converter is kludgy but it works.
+ converters: {
+ "text script": function() {}
+ },
+ dataFilter: function( response ) {
+ jQuery.globalEval( response, options );
+ }
+ } );
+};
+
+
+jQuery.fn.extend( {
+ wrapAll: function( html ) {
+ var wrap;
+
+ if ( this[ 0 ] ) {
+ if ( isFunction( html ) ) {
+ html = html.call( this[ 0 ] );
+ }
+
+ // The elements to wrap the target around
+ wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+ if ( this[ 0 ].parentNode ) {
+ wrap.insertBefore( this[ 0 ] );
+ }
+
+ wrap.map( function() {
+ var elem = this;
+
+ while ( elem.firstElementChild ) {
+ elem = elem.firstElementChild;
+ }
+
+ return elem;
+ } ).append( this );
+ }
+
+ return this;
+ },
+
+ wrapInner: function( html ) {
+ if ( isFunction( html ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).wrapInner( html.call( this, i ) );
+ } );
+ }
+
+ return this.each( function() {
+ var self = jQuery( this ),
+ contents = self.contents();
+
+ if ( contents.length ) {
+ contents.wrapAll( html );
+
+ } else {
+ self.append( html );
+ }
+ } );
+ },
+
+ wrap: function( html ) {
+ var htmlIsFunction = isFunction( html );
+
+ return this.each( function( i ) {
+ jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
+ } );
+ },
+
+ unwrap: function( selector ) {
+ this.parent( selector ).not( "body" ).each( function() {
+ jQuery( this ).replaceWith( this.childNodes );
+ } );
+ return this;
+ }
+} );
+
+
+jQuery.expr.pseudos.hidden = function( elem ) {
+ return !jQuery.expr.pseudos.visible( elem );
+};
+jQuery.expr.pseudos.visible = function( elem ) {
+ return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
+};
+
+
+
+
+jQuery.ajaxSettings.xhr = function() {
+ try {
+ return new window.XMLHttpRequest();
+ } catch ( e ) {}
+};
+
+var xhrSuccessStatus = {
+
+ // File protocol always yields status code 0, assume 200
+ 0: 200,
+
+ // Support: IE <=9 only
+ // #1450: sometimes IE returns 1223 when it should be 204
+ 1223: 204
+ },
+ xhrSupported = jQuery.ajaxSettings.xhr();
+
+support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
+support.ajax = xhrSupported = !!xhrSupported;
+
+jQuery.ajaxTransport( function( options ) {
+ var callback, errorCallback;
+
+ // Cross domain only allowed if supported through XMLHttpRequest
+ if ( support.cors || xhrSupported && !options.crossDomain ) {
+ return {
+ send: function( headers, complete ) {
+ var i,
+ xhr = options.xhr();
+
+ xhr.open(
+ options.type,
+ options.url,
+ options.async,
+ options.username,
+ options.password
+ );
+
+ // Apply custom fields if provided
+ if ( options.xhrFields ) {
+ for ( i in options.xhrFields ) {
+ xhr[ i ] = options.xhrFields[ i ];
+ }
+ }
+
+ // Override mime type if needed
+ if ( options.mimeType && xhr.overrideMimeType ) {
+ xhr.overrideMimeType( options.mimeType );
+ }
+
+ // X-Requested-With header
+ // For cross-domain requests, seeing as conditions for a preflight are
+ // akin to a jigsaw puzzle, we simply never set it to be sure.
+ // (it can always be set on a per-request basis or even using ajaxSetup)
+ // For same-domain requests, won't change header if already provided.
+ if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
+ headers[ "X-Requested-With" ] = "XMLHttpRequest";
+ }
+
+ // Set headers
+ for ( i in headers ) {
+ xhr.setRequestHeader( i, headers[ i ] );
+ }
+
+ // Callback
+ callback = function( type ) {
+ return function() {
+ if ( callback ) {
+ callback = errorCallback = xhr.onload =
+ xhr.onerror = xhr.onabort = xhr.ontimeout =
+ xhr.onreadystatechange = null;
+
+ if ( type === "abort" ) {
+ xhr.abort();
+ } else if ( type === "error" ) {
+
+ // Support: IE <=9 only
+ // On a manual native abort, IE9 throws
+ // errors on any property access that is not readyState
+ if ( typeof xhr.status !== "number" ) {
+ complete( 0, "error" );
+ } else {
+ complete(
+
+ // File: protocol always yields status 0; see #8605, #14207
+ xhr.status,
+ xhr.statusText
+ );
+ }
+ } else {
+ complete(
+ xhrSuccessStatus[ xhr.status ] || xhr.status,
+ xhr.statusText,
+
+ // Support: IE <=9 only
+ // IE9 has no XHR2 but throws on binary (trac-11426)
+ // For XHR2 non-text, let the caller handle it (gh-2498)
+ ( xhr.responseType || "text" ) !== "text" ||
+ typeof xhr.responseText !== "string" ?
+ { binary: xhr.response } :
+ { text: xhr.responseText },
+ xhr.getAllResponseHeaders()
+ );
+ }
+ }
+ };
+ };
+
+ // Listen to events
+ xhr.onload = callback();
+ errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );
+
+ // Support: IE 9 only
+ // Use onreadystatechange to replace onabort
+ // to handle uncaught aborts
+ if ( xhr.onabort !== undefined ) {
+ xhr.onabort = errorCallback;
+ } else {
+ xhr.onreadystatechange = function() {
+
+ // Check readyState before timeout as it changes
+ if ( xhr.readyState === 4 ) {
+
+ // Allow onerror to be called first,
+ // but that will not handle a native abort
+ // Also, save errorCallback to a variable
+ // as xhr.onerror cannot be accessed
+ window.setTimeout( function() {
+ if ( callback ) {
+ errorCallback();
+ }
+ } );
+ }
+ };
+ }
+
+ // Create the abort callback
+ callback = callback( "abort" );
+
+ try {
+
+ // Do send the request (this may raise an exception)
+ xhr.send( options.hasContent && options.data || null );
+ } catch ( e ) {
+
+ // #14683: Only rethrow if this hasn't been notified as an error yet
+ if ( callback ) {
+ throw e;
+ }
+ }
+ },
+
+ abort: function() {
+ if ( callback ) {
+ callback();
+ }
+ }
+ };
+ }
+} );
+
+
+
+
+// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
+jQuery.ajaxPrefilter( function( s ) {
+ if ( s.crossDomain ) {
+ s.contents.script = false;
+ }
+} );
+
+// Install script dataType
+jQuery.ajaxSetup( {
+ accepts: {
+ script: "text/javascript, application/javascript, " +
+ "application/ecmascript, application/x-ecmascript"
+ },
+ contents: {
+ script: /\b(?:java|ecma)script\b/
+ },
+ converters: {
+ "text script": function( text ) {
+ jQuery.globalEval( text );
+ return text;
+ }
+ }
+} );
+
+// Handle cache's special case and crossDomain
+jQuery.ajaxPrefilter( "script", function( s ) {
+ if ( s.cache === undefined ) {
+ s.cache = false;
+ }
+ if ( s.crossDomain ) {
+ s.type = "GET";
+ }
+} );
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function( s ) {
+
+ // This transport only deals with cross domain or forced-by-attrs requests
+ if ( s.crossDomain || s.scriptAttrs ) {
+ var script, callback;
+ return {
+ send: function( _, complete ) {
+ script = jQuery( "<script>" )
+ .attr( s.scriptAttrs || {} )
+ .prop( { charset: s.scriptCharset, src: s.url } )
+ .on( "load error", callback = function( evt ) {
+ script.remove();
+ callback = null;
+ if ( evt ) {
+ complete( evt.type === "error" ? 404 : 200, evt.type );
+ }
+ } );
+
+ // Use native DOM manipulation to avoid our domManip AJAX trickery
+ document.head.appendChild( script[ 0 ] );
+ },
+ abort: function() {
+ if ( callback ) {
+ callback();
+ }
+ }
+ };
+ }
+} );
+
+
+
+
+var oldCallbacks = [],
+ rjsonp = /(=)\?(?=&|$)|\?\?/;
+
+// Default jsonp settings
+jQuery.ajaxSetup( {
+ jsonp: "callback",
+ jsonpCallback: function() {
+ var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+ this[ callback ] = true;
+ return callback;
+ }
+} );
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+ var callbackName, overwritten, responseContainer,
+ jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
+ "url" :
+ typeof s.data === "string" &&
+ ( s.contentType || "" )
+ .indexOf( "application/x-www-form-urlencoded" ) === 0 &&
+ rjsonp.test( s.data ) && "data"
+ );
+
+ // Handle iff the expected data type is "jsonp" or we have a parameter to set
+ if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
+
+ // Get callback name, remembering preexisting value associated with it
+ callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
+ s.jsonpCallback() :
+ s.jsonpCallback;
+
+ // Insert callback into url or form data
+ if ( jsonProp ) {
+ s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
+ } else if ( s.jsonp !== false ) {
+ s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
+ }
+
+ // Use data converter to retrieve json after script execution
+ s.converters[ "script json" ] = function() {
+ if ( !responseContainer ) {
+ jQuery.error( callbackName + " was not called" );
+ }
+ return responseContainer[ 0 ];
+ };
+
+ // Force json dataType
+ s.dataTypes[ 0 ] = "json";
+
+ // Install callback
+ overwritten = window[ callbackName ];
+ window[ callbackName ] = function() {
+ responseContainer = arguments;
+ };
+
+ // Clean-up function (fires after converters)
+ jqXHR.always( function() {
+
+ // If previous value didn't exist - remove it
+ if ( overwritten === undefined ) {
+ jQuery( window ).removeProp( callbackName );
+
+ // Otherwise restore preexisting value
+ } else {
+ window[ callbackName ] = overwritten;
+ }
+
+ // Save back as free
+ if ( s[ callbackName ] ) {
+
+ // Make sure that re-using the options doesn't screw things around
+ s.jsonpCallback = originalSettings.jsonpCallback;
+
+ // Save the callback name for future use
+ oldCallbacks.push( callbackName );
+ }
+
+ // Call if it was a function and we have a response
+ if ( responseContainer && isFunction( overwritten ) ) {
+ overwritten( responseContainer[ 0 ] );
+ }
+
+ responseContainer = overwritten = undefined;
+ } );
+
+ // Delegate to script
+ return "script";
+ }
+} );
+
+
+
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+ var body = document.implementation.createHTMLDocument( "" ).body;
+ body.innerHTML = "<form></form><form></form>";
+ return body.childNodes.length === 2;
+} )();
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+ if ( typeof data !== "string" ) {
+ return [];
+ }
+ if ( typeof context === "boolean" ) {
+ keepScripts = context;
+ context = false;
+ }
+
+ var base, parsed, scripts;
+
+ if ( !context ) {
+
+ // Stop scripts or inline event handlers from being executed immediately
+ // by using document.implementation
+ if ( support.createHTMLDocument ) {
+ context = document.implementation.createHTMLDocument( "" );
+
+ // Set the base href for the created document
+ // so any parsed elements with URLs
+ // are based on the document's URL (gh-2965)
+ base = context.createElement( "base" );
+ base.href = document.location.href;
+ context.head.appendChild( base );
+ } else {
+ context = document;
+ }
+ }
+
+ parsed = rsingleTag.exec( data );
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if ( parsed ) {
+ return [ context.createElement( parsed[ 1 ] ) ];
+ }
+
+ parsed = buildFragment( [ data ], context, scripts );
+
+ if ( scripts && scripts.length ) {
+ jQuery( scripts ).remove();
+ }
+
+ return jQuery.merge( [], parsed.childNodes );
+};
+
+
+/**
+ * Load a url into a page
+ */
+jQuery.fn.load = function( url, params, callback ) {
+ var selector, type, response,
+ self = this,
+ off = url.indexOf( " " );
+
+ if ( off > -1 ) {
+ selector = stripAndCollapse( url.slice( off ) );
+ url = url.slice( 0, off );
+ }
+
+ // If it's a function
+ if ( isFunction( params ) ) {
+
+ // We assume that it's the callback
+ callback = params;
+ params = undefined;
+
+ // Otherwise, build a param string
+ } else if ( params && typeof params === "object" ) {
+ type = "POST";
+ }
+
+ // If we have elements to modify, make the request
+ if ( self.length > 0 ) {
+ jQuery.ajax( {
+ url: url,
+
+ // If "type" variable is undefined, then "GET" method will be used.
+ // Make value of this field explicit since
+ // user can override it through ajaxSetup method
+ type: type || "GET",
+ dataType: "html",
+ data: params
+ } ).done( function( responseText ) {
+
+ // Save response for use in complete callback
+ response = arguments;
+
+ self.html( selector ?
+
+ // If a selector was specified, locate the right elements in a dummy div
+ // Exclude scripts to avoid IE 'Permission Denied' errors
+ jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
+
+ // Otherwise use the full result
+ responseText );
+
+ // If the request succeeds, this function gets "data", "status", "jqXHR"
+ // but they are ignored because response was set above.
+ // If it fails, this function gets "jqXHR", "status", "error"
+ } ).always( callback && function( jqXHR, status ) {
+ self.each( function() {
+ callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
+ } );
+ } );
+ }
+
+ return this;
+};
+
+
+
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( [
+ "ajaxStart",
+ "ajaxStop",
+ "ajaxComplete",
+ "ajaxError",
+ "ajaxSuccess",
+ "ajaxSend"
+], function( i, type ) {
+ jQuery.fn[ type ] = function( fn ) {
+ return this.on( type, fn );
+ };
+} );
+
+
+
+
+jQuery.expr.pseudos.animated = function( elem ) {
+ return jQuery.grep( jQuery.timers, function( fn ) {
+ return elem === fn.elem;
+ } ).length;
+};
+
+
+
+
+jQuery.offset = {
+ setOffset: function( elem, options, i ) {
+ var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+ position = jQuery.css( elem, "position" ),
+ curElem = jQuery( elem ),
+ props = {};
+
+ // Set position first, in-case top/left are set even on static elem
+ if ( position === "static" ) {
+ elem.style.position = "relative";
+ }
+
+ curOffset = curElem.offset();
+ curCSSTop = jQuery.css( elem, "top" );
+ curCSSLeft = jQuery.css( elem, "left" );
+ calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+ ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+ // Need to be able to calculate position if either
+ // top or left is auto and position is either absolute or fixed
+ if ( calculatePosition ) {
+ curPosition = curElem.position();
+ curTop = curPosition.top;
+ curLeft = curPosition.left;
+
+ } else {
+ curTop = parseFloat( curCSSTop ) || 0;
+ curLeft = parseFloat( curCSSLeft ) || 0;
+ }
+
+ if ( isFunction( options ) ) {
+
+ // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+ options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+ }
+
+ if ( options.top != null ) {
+ props.top = ( options.top - curOffset.top ) + curTop;
+ }
+ if ( options.left != null ) {
+ props.left = ( options.left - curOffset.left ) + curLeft;
+ }
+
+ if ( "using" in options ) {
+ options.using.call( elem, props );
+
+ } else {
+ curElem.css( props );
+ }
+ }
+};
+
+jQuery.fn.extend( {
+
+ // offset() relates an element's border box to the document origin
+ offset: function( options ) {
+
+ // Preserve chaining for setter
+ if ( arguments.length ) {
+ return options === undefined ?
+ this :
+ this.each( function( i ) {
+ jQuery.offset.setOffset( this, options, i );
+ } );
+ }
+
+ var rect, win,
+ elem = this[ 0 ];
+
+ if ( !elem ) {
+ return;
+ }
+
+ // Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a
+ // disconnected node in IE throws an error
+ if ( !elem.getClientRects().length ) {
+ return { top: 0, left: 0 };
+ }
+
+ // Get document-relative position by adding viewport scroll to viewport-relative gBCR
+ rect = elem.getBoundingClientRect();
+ win = elem.ownerDocument.defaultView;
+ return {
+ top: rect.top + win.pageYOffset,
+ left: rect.left + win.pageXOffset
+ };
+ },
+
+ // position() relates an element's margin box to its offset parent's padding box
+ // This corresponds to the behavior of CSS absolute positioning
+ position: function() {
+ if ( !this[ 0 ] ) {
+ return;
+ }
+
+ var offsetParent, offset, doc,
+ elem = this[ 0 ],
+ parentOffset = { top: 0, left: 0 };
+
+ // position:fixed elements are offset from the viewport, which itself always has zero offset
+ if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+ // Assume position:fixed implies availability of getBoundingClientRect
+ offset = elem.getBoundingClientRect();
+
+ } else {
+ offset = this.offset();
+
+ // Account for the *real* offset parent, which can be the document or its root element
+ // when a statically positioned element is identified
+ doc = elem.ownerDocument;
+ offsetParent = elem.offsetParent || doc.documentElement;
+ while ( offsetParent &&
+ ( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
+ jQuery.css( offsetParent, "position" ) === "static" ) {
+
+ offsetParent = offsetParent.parentNode;
+ }
+ if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
+
+ // Incorporate borders into its offset, since they are outside its content origin
+ parentOffset = jQuery( offsetParent ).offset();
+ parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
+ parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
+ }
+ }
+
+ // Subtract parent offsets and element margins
+ return {
+ top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+ left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+ };
+ },
+
+ // This method will return documentElement in the following cases:
+ // 1) For the element inside the iframe without offsetParent, this method will return
+ // documentElement of the parent window
+ // 2) For the hidden or detached element
+ // 3) For body or html element, i.e. in case of the html node - it will return itself
+ //
+ // but those exceptions were never presented as a real life use-cases
+ // and might be considered as more preferable results.
+ //
+ // This logic, however, is not guaranteed and can change at any point in the future
+ offsetParent: function() {
+ return this.map( function() {
+ var offsetParent = this.offsetParent;
+
+ while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+ offsetParent = offsetParent.offsetParent;
+ }
+
+ return offsetParent || documentElement;
+ } );
+ }
+} );
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+ var top = "pageYOffset" === prop;
+
+ jQuery.fn[ method ] = function( val ) {
+ return access( this, function( elem, method, val ) {
+
+ // Coalesce documents and windows
+ var win;
+ if ( isWindow( elem ) ) {
+ win = elem;
+ } else if ( elem.nodeType === 9 ) {
+ win = elem.defaultView;
+ }
+
+ if ( val === undefined ) {
+ return win ? win[ prop ] : elem[ method ];
+ }
+
+ if ( win ) {
+ win.scrollTo(
+ !top ? val : win.pageXOffset,
+ top ? val : win.pageYOffset
+ );
+
+ } else {
+ elem[ method ] = val;
+ }
+ }, method, val, arguments.length );
+ };
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+ jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+ function( elem, computed ) {
+ if ( computed ) {
+ computed = curCSS( elem, prop );
+
+ // If curCSS returns percentage, fallback to offset
+ return rnumnonpx.test( computed ) ?
+ jQuery( elem ).position()[ prop ] + "px" :
+ computed;
+ }
+ }
+ );
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+ jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+ function( defaultExtra, funcName ) {
+
+ // Margin is only for outerHeight, outerWidth
+ jQuery.fn[ funcName ] = function( margin, value ) {
+ var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+ extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+ return access( this, function( elem, type, value ) {
+ var doc;
+
+ if ( isWindow( elem ) ) {
+
+ // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+ return funcName.indexOf( "outer" ) === 0 ?
+ elem[ "inner" + name ] :
+ elem.document.documentElement[ "client" + name ];
+ }
+
+ // Get document width or height
+ if ( elem.nodeType === 9 ) {
+ doc = elem.documentElement;
+
+ // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+ // whichever is greatest
+ return Math.max(
+ elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+ elem.body[ "offset" + name ], doc[ "offset" + name ],
+ doc[ "client" + name ]
+ );
+ }
+
+ return value === undefined ?
+
+ // Get width or height on the element, requesting but not forcing parseFloat
+ jQuery.css( elem, type, extra ) :
+
+ // Set width or height on the element
+ jQuery.style( elem, type, value, extra );
+ }, type, chainable ? margin : undefined, chainable );
+ };
+ } );
+} );
+
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
+ function( i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( data, fn ) {
+ return arguments.length > 0 ?
+ this.on( name, null, data, fn ) :
+ this.trigger( name );
+ };
+} );
+
+jQuery.fn.extend( {
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+ }
+} );
+
+
+
+
+jQuery.fn.extend( {
+
+ bind: function( types, data, fn ) {
+ return this.on( types, null, data, fn );
+ },
+ unbind: function( types, fn ) {
+ return this.off( types, null, fn );
+ },
+
+ delegate: function( selector, types, data, fn ) {
+ return this.on( types, selector, data, fn );
+ },
+ undelegate: function( selector, types, fn ) {
+
+ // ( namespace ) or ( selector, types [, fn] )
+ return arguments.length === 1 ?
+ this.off( selector, "**" ) :
+ this.off( types, selector || "**", fn );
+ }
+} );
+
+// Bind a function to a context, optionally partially applying any
+// arguments.
+// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
+// However, it is not slated for removal any time soon
+jQuery.proxy = function( fn, context ) {
+ var tmp, args, proxy;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+};
+
+jQuery.holdReady = function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+jQuery.isFunction = isFunction;
+jQuery.isWindow = isWindow;
+jQuery.camelCase = camelCase;
+jQuery.type = toType;
+
+jQuery.now = Date.now;
+
+jQuery.isNumeric = function( obj ) {
+
+ // As of jQuery 3.0, isNumeric is limited to
+ // strings and numbers (primitives or objects)
+ // that can be coerced to finite numbers (gh-2662)
+ var type = jQuery.type( obj );
+ return ( type === "number" || type === "string" ) &&
+
+ // parseFloat NaNs numeric-cast false positives ("")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ !isNaN( obj - parseFloat( obj ) );
+};
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+ define( "jquery", [], function() {
+ return jQuery;
+ } );
+}
+
+
+
+
+var
+
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+ if ( window.$ === jQuery ) {
+ window.$ = _$;
+ }
+
+ if ( deep && window.jQuery === jQuery ) {
+ window.jQuery = _jQuery;
+ }
+
+ return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+ window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+} );
--- /dev/null
+/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
--- /dev/null
+/*
+ * language_data.js
+ * ~~~~~~~~~~~~~~~~
+ *
+ * This script contains the language-specific data used by searchtools.js,
+ * namely the list of stopwords, stemmer, scorer and splitter.
+ *
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
+
+
+/* Non-minified version JS is _stemmer.js if file is provided */
+/**
+ * Porter Stemmer
+ */
+var Stemmer = function() {
+
+ var step2list = {
+ ational: 'ate',
+ tional: 'tion',
+ enci: 'ence',
+ anci: 'ance',
+ izer: 'ize',
+ bli: 'ble',
+ alli: 'al',
+ entli: 'ent',
+ eli: 'e',
+ ousli: 'ous',
+ ization: 'ize',
+ ation: 'ate',
+ ator: 'ate',
+ alism: 'al',
+ iveness: 'ive',
+ fulness: 'ful',
+ ousness: 'ous',
+ aliti: 'al',
+ iviti: 'ive',
+ biliti: 'ble',
+ logi: 'log'
+ };
+
+ var step3list = {
+ icate: 'ic',
+ ative: '',
+ alize: 'al',
+ iciti: 'ic',
+ ical: 'ic',
+ ful: '',
+ ness: ''
+ };
+
+ var c = "[^aeiou]"; // consonant
+ var v = "[aeiouy]"; // vowel
+ var C = c + "[^aeiouy]*"; // consonant sequence
+ var V = v + "[aeiou]*"; // vowel sequence
+
+ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
+ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
+ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
+ var s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ this.stemWord = function (w) {
+ var stem;
+ var suffix;
+ var firstch;
+ var origword = w;
+
+ if (w.length < 3)
+ return w;
+
+ var re;
+ var re2;
+ var re3;
+ var re4;
+
+ firstch = w.substr(0,1);
+ if (firstch == "y")
+ w = firstch.toUpperCase() + w.substr(1);
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w))
+ w = w.replace(re,"$1$2");
+ else if (re2.test(w))
+ w = w.replace(re2,"$1$2");
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w))
+ w = w + "e";
+ else if (re3.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ else if (re4.test(w))
+ w = w + "e";
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem))
+ w = stem + "i";
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step2list[suffix];
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step3list[suffix];
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem))
+ w = stem;
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem))
+ w = stem;
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+ w = stem;
+ }
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+ if (firstch == "y")
+ w = firstch.toLowerCase() + w.substr(1);
+ return w;
+ }
+}
+
+
+
+
+
+var splitChars = (function() {
+ var result = {};
+ var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
+ 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
+ 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
+ 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
+ 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
+ 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
+ 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
+ 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
+ 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
+ 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
+ var i, j, start, end;
+ for (i = 0; i < singles.length; i++) {
+ result[singles[i]] = true;
+ }
+ var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
+ [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
+ [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
+ [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
+ [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
+ [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
+ [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
+ [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
+ [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
+ [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
+ [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
+ [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
+ [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
+ [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
+ [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
+ [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
+ [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
+ [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
+ [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
+ [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
+ [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
+ [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
+ [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
+ [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
+ [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
+ [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
+ [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
+ [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
+ [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
+ [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
+ [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
+ [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
+ [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
+ [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
+ [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
+ [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
+ [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
+ [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
+ [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
+ [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
+ [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
+ [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
+ [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
+ [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
+ [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
+ [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
+ [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
+ [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
+ [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
+ for (i = 0; i < ranges.length; i++) {
+ start = ranges[i][0];
+ end = ranges[i][1];
+ for (j = start; j <= end; j++) {
+ result[j] = true;
+ }
+ }
+ return result;
+})();
+
+function splitQuery(query) {
+ var result = [];
+ var start = -1;
+ for (var i = 0; i < query.length; i++) {
+ if (splitChars[query.charCodeAt(i)]) {
+ if (start !== -1) {
+ result.push(query.slice(start, i));
+ start = -1;
+ }
+ } else if (start === -1) {
+ start = i;
+ }
+ }
+ if (start !== -1) {
+ result.push(query.slice(start));
+ }
+ return result;
+}
+
+
--- /dev/null
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #f0f0f0; }
+.highlight .c { color: #60a0b0; font-style: italic } /* Comment */
+.highlight .err { border: 1px solid #FF0000 } /* Error */
+.highlight .k { color: #007020; font-weight: bold } /* Keyword */
+.highlight .o { color: #666666 } /* Operator */
+.highlight .ch { color: #60a0b0; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #007020 } /* Comment.Preproc */
+.highlight .cpf { color: #60a0b0; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #007020 } /* Keyword.Pseudo */
+.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #902000 } /* Keyword.Type */
+.highlight .m { color: #40a070 } /* Literal.Number */
+.highlight .s { color: #4070a0 } /* Literal.String */
+.highlight .na { color: #4070a0 } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.highlight .no { color: #60add5 } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #007020 } /* Name.Exception */
+.highlight .nf { color: #06287e } /* Name.Function */
+.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #bb60d5 } /* Name.Variable */
+.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #40a070 } /* Literal.Number.Bin */
+.highlight .mf { color: #40a070 } /* Literal.Number.Float */
+.highlight .mh { color: #40a070 } /* Literal.Number.Hex */
+.highlight .mi { color: #40a070 } /* Literal.Number.Integer */
+.highlight .mo { color: #40a070 } /* Literal.Number.Oct */
+.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
+.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
+.highlight .sc { color: #4070a0 } /* Literal.String.Char */
+.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
+.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
+.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+.highlight .sx { color: #c65d09 } /* Literal.String.Other */
+.highlight .sr { color: #235388 } /* Literal.String.Regex */
+.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
+.highlight .ss { color: #517918 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #06287e } /* Name.Function.Magic */
+.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
+.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
+.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
+.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
+.highlight .il { color: #40a070 } /* Literal.Number.Integer.Long */
\ No newline at end of file
--- /dev/null
+/*
+ * pygments14.css
+ * ~~~~~~~~~~~~~~
+ *
+ * Sphinx stylesheet -- pygments14 theme. Heavily copied from sphinx13.
+ *
+ * :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+ font-family: PT Sans, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
+ 'Verdana', sans-serif;
+ font-size: 14px;
+ text-align: center;
+ background-image: url(bodybg.png);
+ background-color: #f9f9f9;
+ color: black;
+ padding: 0;
+ /*
+ border-right: 1px solid #66b55e;
+ border-left: 1px solid #66b55e;
+ */
+
+ margin: 0 auto;
+ min-width: 780px;
+ max-width: 1080px;
+}
+
+.outerwrapper {
+ background-image: url(docbg.png);
+ background-attachment: fixed;
+}
+
+.pageheader {
+ text-align: left;
+ padding: 10px 15px;
+}
+
+.pageheader ul {
+ float: right;
+ color: white;
+ list-style-type: none;
+ padding-left: 0;
+ margin-top: 40px;
+ margin-right: 10px;
+}
+
+.pageheader li {
+ float: left;
+ margin: 0 0 0 10px;
+}
+
+.pageheader li a {
+ border-radius: 3px;
+ padding: 8px 12px;
+ color: #666666;
+ text-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
+}
+
+.pageheader li a:hover {
+ background-color: #f4cd00;
+ color: black;
+ text-shadow: none;
+}
+
+div.document {
+ text-align: left;
+ /*border-left: 1em solid #fffbe3;*/
+}
+
+div.bodywrapper {
+ margin: 0 12px 0 240px;
+ background-color: white;
+/* border-right: 1px solid #66b55e; */
+}
+
+div.body {
+ margin: 0;
+ padding: 0.5em 20px 20px 20px;
+}
+
+div.related {
+ font-size: 1em;
+ color: #666666;
+}
+
+div.related ul {
+ background-image: url(relbg.png);
+ background-repeat: repeat-y;
+ background-color: #f4cd00;
+ height: 1.9em;
+ /*
+ border-top: 1px solid #66b55e;
+ border-bottom: 1px solid #66b55e;
+ */
+}
+
+div.related ul li {
+ margin: 0 5px 0 0;
+ padding: 0;
+ float: left;
+}
+
+div.related ul li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+div.related ul li a {
+ margin: 0;
+ padding: 0 5px 0 5px;
+ line-height: 1.75em;
+ color: #666666;
+ /*text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.5);*/
+}
+
+div.related ul li a:hover {
+ text-decoration: underline;
+ text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.5);
+}
+
+div.sphinxsidebarwrapper {
+ position: relative;
+ top: 0px;
+ padding: 0;
+}
+
+div.sphinxsidebar {
+ margin: 0;
+ padding: 0 0px 15px 15px;
+ width: 210px;
+ float: left;
+ font-size: 1em;
+ text-align: left;
+}
+
+div.sphinxsidebar .logo {
+ font-size: 1.8em;
+ color: #666;
+ font-weight: 300;
+ text-align: center;
+}
+
+div.sphinxsidebar .logo img {
+ vertical-align: middle;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #aaa;
+ font-family: PT Sans, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
+ 'Verdana', sans-serif;
+ font-size: 1em;
+}
+
+div.sphinxsidebar h3 {
+ font-size: 1.5em;
+ /* border-top: 1px solid #66b55e; */
+ margin-top: 1em;
+ margin-bottom: 0.5em;
+ padding-top: 0.5em;
+}
+
+div.sphinxsidebar h4 {
+ font-size: 1.2em;
+ margin-bottom: 0;
+}
+
+div.sphinxsidebar h3, div.sphinxsidebar h4 {
+ margin-right: -15px;
+ margin-left: -15px;
+ padding-right: 14px;
+ padding-left: 14px;
+ color: #333;
+ font-weight: 300;
+ /*text-shadow: 0px 0px 0.5px rgba(0, 0, 0, 0.4);*/
+}
+
+div.sphinxsidebarwrapper > h3:first-child {
+ margin-top: 0.5em;
+ border: none;
+}
+
+div.sphinxsidebar h3 a {
+ color: #333;
+}
+
+div.sphinxsidebar ul {
+ color: #444;
+ margin-top: 7px;
+ padding: 0;
+ line-height: 130%;
+}
+
+div.sphinxsidebar ul ul {
+ margin-left: 20px;
+ list-style-image: url(listitem.png);
+}
+
+div.footer {
+ color: #666666;
+ text-shadow: 0 0 .2px rgba(255, 255, 255, 0.8);
+ padding: 2em;
+ text-align: center;
+ clear: both;
+ font-size: 0.8em;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+p {
+ margin: 0.8em 0 0.5em 0;
+}
+
+a {
+ color: #36852e;
+ text-decoration: none;
+}
+
+a:hover {
+ color: #d4ad00;
+}
+
+div.body a {
+ text-decoration: underline;
+}
+
+h1 {
+ margin: 10px 0 0 0;
+ font-size: 2.4em;
+ color: #666666;
+ font-weight: 300;
+}
+
+h2 {
+ margin: 1.em 0 0.2em 0;
+ font-size: 1.5em;
+ font-weight: 300;
+ padding: 0;
+ color: #36852e;
+}
+
+h3 {
+ margin: 1em 0 -0.3em 0;
+ font-size: 1.3em;
+ font-weight: 300;
+}
+
+div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a {
+ text-decoration: none;
+}
+
+div.body h1 a tt, div.body h2 a tt, div.body h3 a tt, div.body h4 a tt, div.body h5 a tt, div.body h6 a tt {
+ color: #36852e !important;
+ font-size: inherit !important;
+}
+
+a.headerlink {
+ color: #66b55e !important;
+ font-size: 12px;
+ margin-left: 6px;
+ padding: 0 4px 0 4px;
+ text-decoration: none !important;
+ float: right;
+}
+
+a.headerlink:hover {
+ background-color: #ccc;
+ color: white!important;
+}
+
+cite, code, tt {
+ font-family: 'Consolas', 'DejaVu Sans Mono',
+ 'Bitstream Vera Sans Mono', monospace;
+ font-size: 14px;
+ letter-spacing: -0.02em;
+}
+
+tt {
+ background-color: #f2f2f2;
+ border: 1px solid #ddd;
+ border-radius: 2px;
+ color: #333;
+ padding: 1px;
+}
+
+tt.descname, tt.descclassname, tt.xref {
+ border: 0;
+}
+
+hr {
+ border: 1px solid #abc;
+ margin: 2em;
+}
+
+a tt {
+ border: 0;
+ color: #36852e;
+}
+
+a tt:hover {
+ color: #d4ad00;
+}
+
+pre {
+ font-family: 'Consolas', 'DejaVu Sans Mono',
+ 'Bitstream Vera Sans Mono', monospace;
+ font-size: 13px;
+ letter-spacing: 0.015em;
+ line-height: 120%;
+ padding: 0.5em;
+ border: 1px solid #ccc;
+ border-radius: 2px;
+ background-color: #f8f8f8;
+}
+
+pre a {
+ color: inherit;
+ text-decoration: underline;
+}
+
+td.linenos pre {
+ padding: 0.5em 0;
+}
+
+div.quotebar {
+ background-color: #f8f8f8;
+ max-width: 250px;
+ float: right;
+ padding: 0px 7px;
+ border: 1px solid #ccc;
+ margin-left: 1em;
+}
+
+div.topic {
+ background-color: #f8f8f8;
+}
+
+table {
+ border-collapse: collapse;
+ margin: 0 -0.5em 0 -0.5em;
+}
+
+table td, table th {
+ padding: 0.2em 0.5em 0.2em 0.5em;
+}
+
+div.admonition, div.warning {
+ font-size: 0.9em;
+ margin: 1em 0 1em 0;
+ border: 1px solid #86989B;
+ border-radius: 2px;
+ background-color: #f7f7f7;
+ padding: 0;
+}
+
+div.admonition p, div.warning p {
+ margin: 0.5em 1em 0.5em 1em;
+ padding: 0;
+}
+
+div.admonition pre, div.warning pre {
+ margin: 0.4em 1em 0.4em 1em;
+}
+
+div.admonition p.admonition-title,
+div.warning p.admonition-title {
+ margin-top: 1em;
+ padding-top: 0.5em;
+ font-weight: bold;
+}
+
+div.warning {
+ border: 1px solid #940000;
+/* background-color: #FFCCCF;*/
+}
+
+div.warning p.admonition-title {
+}
+
+div.admonition ul, div.admonition ol,
+div.warning ul, div.warning ol {
+ margin: 0.1em 0.5em 0.5em 3em;
+ padding: 0;
+}
+
+.viewcode-back {
+ font-family: PT Sans, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
+ 'Verdana', sans-serif;
+}
+
+div.viewcode-block:target {
+ background-color: #f4debf;
+ border-top: 1px solid #ac9;
+ border-bottom: 1px solid #ac9;
+}
\ No newline at end of file
--- /dev/null
+/*
+ * searchtools.js
+ * ~~~~~~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for the full-text search.
+ *
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+if (!Scorer) {
+ /**
+ * Simple result scoring code.
+ */
+ var Scorer = {
+ // Implement the following function to further tweak the score for each result
+ // The function takes a result array [filename, title, anchor, descr, score]
+ // and returns the new score.
+ /*
+ score: function(result) {
+ return result[4];
+ },
+ */
+
+ // query matches the full name of an object
+ objNameMatch: 11,
+ // or matches in the last dotted part of the object name
+ objPartialMatch: 6,
+ // Additive scores depending on the priority of the object
+ objPrio: {0: 15, // used to be importantResults
+ 1: 5, // used to be objectResults
+ 2: -5}, // used to be unimportantResults
+ // Used when the priority is not in the mapping.
+ objPrioDefault: 0,
+
+ // query found in title
+ title: 15,
+ partialTitle: 7,
+ // query found in terms
+ term: 5,
+ partialTerm: 2
+ };
+}
+
+if (!splitQuery) {
+ function splitQuery(query) {
+ return query.split(/\s+/);
+ }
+}
+
+/**
+ * Search Module
+ */
+var Search = {
+
+ _index : null,
+ _queued_query : null,
+ _pulse_status : -1,
+
+ htmlToText : function(htmlString) {
+ var htmlElement = document.createElement('span');
+ htmlElement.innerHTML = htmlString;
+ $(htmlElement).find('.headerlink').remove();
+ docContent = $(htmlElement).find('[role=main]')[0];
+ return docContent.textContent || docContent.innerText;
+ },
+
+ init : function() {
+ var params = $.getQueryParameters();
+ if (params.q) {
+ var query = params.q[0];
+ $('input[name="q"]')[0].value = query;
+ this.performSearch(query);
+ }
+ },
+
+ loadIndex : function(url) {
+ $.ajax({type: "GET", url: url, data: null,
+ dataType: "script", cache: true,
+ complete: function(jqxhr, textstatus) {
+ if (textstatus != "success") {
+ document.getElementById("searchindexloader").src = url;
+ }
+ }});
+ },
+
+ setIndex : function(index) {
+ var q;
+ this._index = index;
+ if ((q = this._queued_query) !== null) {
+ this._queued_query = null;
+ Search.query(q);
+ }
+ },
+
+ hasIndex : function() {
+ return this._index !== null;
+ },
+
+ deferQuery : function(query) {
+ this._queued_query = query;
+ },
+
+ stopPulse : function() {
+ this._pulse_status = 0;
+ },
+
+ startPulse : function() {
+ if (this._pulse_status >= 0)
+ return;
+ function pulse() {
+ var i;
+ Search._pulse_status = (Search._pulse_status + 1) % 4;
+ var dotString = '';
+ for (i = 0; i < Search._pulse_status; i++)
+ dotString += '.';
+ Search.dots.text(dotString);
+ if (Search._pulse_status > -1)
+ window.setTimeout(pulse, 500);
+ }
+ pulse();
+ },
+
+ /**
+ * perform a search for something (or wait until index is loaded)
+ */
+ performSearch : function(query) {
+ // create the required interface elements
+ this.out = $('#search-results');
+ this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
+ this.dots = $('<span></span>').appendTo(this.title);
+ this.status = $('<p class="search-summary"> </p>').appendTo(this.out);
+ this.output = $('<ul class="search"/>').appendTo(this.out);
+
+ $('#search-progress').text(_('Preparing search...'));
+ this.startPulse();
+
+ // index already loaded, the browser was quick!
+ if (this.hasIndex())
+ this.query(query);
+ else
+ this.deferQuery(query);
+ },
+
+ /**
+ * execute search (requires search index to be loaded)
+ */
+ query : function(query) {
+ var i;
+
+ // stem the searchterms and add them to the correct list
+ var stemmer = new Stemmer();
+ var searchterms = [];
+ var excluded = [];
+ var hlterms = [];
+ var tmp = splitQuery(query);
+ var objectterms = [];
+ for (i = 0; i < tmp.length; i++) {
+ if (tmp[i] !== "") {
+ objectterms.push(tmp[i].toLowerCase());
+ }
+
+ if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) ||
+ tmp[i] === "") {
+ // skip this "word"
+ continue;
+ }
+ // stem the word
+ var word = stemmer.stemWord(tmp[i].toLowerCase());
+ // prevent stemmer from cutting word smaller than two chars
+ if(word.length < 3 && tmp[i].length >= 3) {
+ word = tmp[i];
+ }
+ var toAppend;
+ // select the correct list
+ if (word[0] == '-') {
+ toAppend = excluded;
+ word = word.substr(1);
+ }
+ else {
+ toAppend = searchterms;
+ hlterms.push(tmp[i].toLowerCase());
+ }
+ // only add if not already in the list
+ if (!$u.contains(toAppend, word))
+ toAppend.push(word);
+ }
+ var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
+
+ // console.debug('SEARCH: searching for:');
+ // console.info('required: ', searchterms);
+ // console.info('excluded: ', excluded);
+
+ // prepare search
+ var terms = this._index.terms;
+ var titleterms = this._index.titleterms;
+
+ // array of [filename, title, anchor, descr, score]
+ var results = [];
+ $('#search-progress').empty();
+
+ // lookup as object
+ for (i = 0; i < objectterms.length; i++) {
+ var others = [].concat(objectterms.slice(0, i),
+ objectterms.slice(i+1, objectterms.length));
+ results = results.concat(this.performObjectSearch(objectterms[i], others));
+ }
+
+ // lookup as search terms in fulltext
+ results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms));
+
+ // let the scorer override scores with a custom scoring function
+ if (Scorer.score) {
+ for (i = 0; i < results.length; i++)
+ results[i][4] = Scorer.score(results[i]);
+ }
+
+ // now sort the results by score (in opposite order of appearance, since the
+ // display function below uses pop() to retrieve items) and then
+ // alphabetically
+ results.sort(function(a, b) {
+ var left = a[4];
+ var right = b[4];
+ if (left > right) {
+ return 1;
+ } else if (left < right) {
+ return -1;
+ } else {
+ // same score: sort alphabetically
+ left = a[1].toLowerCase();
+ right = b[1].toLowerCase();
+ return (left > right) ? -1 : ((left < right) ? 1 : 0);
+ }
+ });
+
+ // for debugging
+ //Search.lastresults = results.slice(); // a copy
+ //console.info('search results:', Search.lastresults);
+
+ // print the results
+ var resultCount = results.length;
+ function displayNextItem() {
+ // results left, load the summary and display it
+ if (results.length) {
+ var item = results.pop();
+ var listItem = $('<li style="display:none"></li>');
+ if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') {
+ // dirhtml builder
+ var dirname = item[0] + '/';
+ if (dirname.match(/\/index\/$/)) {
+ dirname = dirname.substring(0, dirname.length-6);
+ } else if (dirname == 'index/') {
+ dirname = '';
+ }
+ listItem.append($('<a/>').attr('href',
+ DOCUMENTATION_OPTIONS.URL_ROOT + dirname +
+ highlightstring + item[2]).html(item[1]));
+ } else {
+ // normal html builders
+ listItem.append($('<a/>').attr('href',
+ item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
+ highlightstring + item[2]).html(item[1]));
+ }
+ if (item[3]) {
+ listItem.append($('<span> (' + item[3] + ')</span>'));
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
+ $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX,
+ dataType: "text",
+ complete: function(jqxhr, textstatus) {
+ var data = jqxhr.responseText;
+ if (data !== '' && data !== undefined) {
+ listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));
+ }
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ }});
+ } else {
+ // no source available, just display title
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ }
+ }
+ // search finished, update title and status message
+ else {
+ Search.stopPulse();
+ Search.title.text(_('Search Results'));
+ if (!resultCount)
+ Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
+ else
+ Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
+ Search.status.fadeIn(500);
+ }
+ }
+ displayNextItem();
+ },
+
+ /**
+ * search for object names
+ */
+ performObjectSearch : function(object, otherterms) {
+ var filenames = this._index.filenames;
+ var docnames = this._index.docnames;
+ var objects = this._index.objects;
+ var objnames = this._index.objnames;
+ var titles = this._index.titles;
+
+ var i;
+ var results = [];
+
+ for (var prefix in objects) {
+ for (var name in objects[prefix]) {
+ var fullname = (prefix ? prefix + '.' : '') + name;
+ var fullnameLower = fullname.toLowerCase()
+ if (fullnameLower.indexOf(object) > -1) {
+ var score = 0;
+ var parts = fullnameLower.split('.');
+ // check for different match types: exact matches of full name or
+ // "last name" (i.e. last dotted part)
+ if (fullnameLower == object || parts[parts.length - 1] == object) {
+ score += Scorer.objNameMatch;
+ // matches in last name
+ } else if (parts[parts.length - 1].indexOf(object) > -1) {
+ score += Scorer.objPartialMatch;
+ }
+ var match = objects[prefix][name];
+ var objname = objnames[match[1]][2];
+ var title = titles[match[0]];
+ // If more than one term searched for, we require other words to be
+ // found in the name/title/description
+ if (otherterms.length > 0) {
+ var haystack = (prefix + ' ' + name + ' ' +
+ objname + ' ' + title).toLowerCase();
+ var allfound = true;
+ for (i = 0; i < otherterms.length; i++) {
+ if (haystack.indexOf(otherterms[i]) == -1) {
+ allfound = false;
+ break;
+ }
+ }
+ if (!allfound) {
+ continue;
+ }
+ }
+ var descr = objname + _(', in ') + title;
+
+ var anchor = match[3];
+ if (anchor === '')
+ anchor = fullname;
+ else if (anchor == '-')
+ anchor = objnames[match[1]][1] + '-' + fullname;
+ // add custom score for some objects according to scorer
+ if (Scorer.objPrio.hasOwnProperty(match[2])) {
+ score += Scorer.objPrio[match[2]];
+ } else {
+ score += Scorer.objPrioDefault;
+ }
+ results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);
+ }
+ }
+ }
+
+ return results;
+ },
+
+ /**
+ * search for full-text terms in the index
+ */
+ performTermsSearch : function(searchterms, excluded, terms, titleterms) {
+ var docnames = this._index.docnames;
+ var filenames = this._index.filenames;
+ var titles = this._index.titles;
+
+ var i, j, file;
+ var fileMap = {};
+ var scoreMap = {};
+ var results = [];
+
+ // perform the search on the required terms
+ for (i = 0; i < searchterms.length; i++) {
+ var word = searchterms[i];
+ var files = [];
+ var _o = [
+ {files: terms[word], score: Scorer.term},
+ {files: titleterms[word], score: Scorer.title}
+ ];
+ // add support for partial matches
+ if (word.length > 2) {
+ for (var w in terms) {
+ if (w.match(word) && !terms[word]) {
+ _o.push({files: terms[w], score: Scorer.partialTerm})
+ }
+ }
+ for (var w in titleterms) {
+ if (w.match(word) && !titleterms[word]) {
+ _o.push({files: titleterms[w], score: Scorer.partialTitle})
+ }
+ }
+ }
+
+ // no match but word was a required one
+ if ($u.every(_o, function(o){return o.files === undefined;})) {
+ break;
+ }
+ // found search word in contents
+ $u.each(_o, function(o) {
+ var _files = o.files;
+ if (_files === undefined)
+ return
+
+ if (_files.length === undefined)
+ _files = [_files];
+ files = files.concat(_files);
+
+ // set score for the word in each file to Scorer.term
+ for (j = 0; j < _files.length; j++) {
+ file = _files[j];
+ if (!(file in scoreMap))
+ scoreMap[file] = {}
+ scoreMap[file][word] = o.score;
+ }
+ });
+
+ // create the mapping
+ for (j = 0; j < files.length; j++) {
+ file = files[j];
+ if (file in fileMap)
+ fileMap[file].push(word);
+ else
+ fileMap[file] = [word];
+ }
+ }
+
+ // now check if the files don't contain excluded terms
+ for (file in fileMap) {
+ var valid = true;
+
+ // check if all requirements are matched
+ var filteredTermCount = // as search terms with length < 3 are discarded: ignore
+ searchterms.filter(function(term){return term.length > 2}).length
+ if (
+ fileMap[file].length != searchterms.length &&
+ fileMap[file].length != filteredTermCount
+ ) continue;
+
+ // ensure that none of the excluded terms is in the search result
+ for (i = 0; i < excluded.length; i++) {
+ if (terms[excluded[i]] == file ||
+ titleterms[excluded[i]] == file ||
+ $u.contains(terms[excluded[i]] || [], file) ||
+ $u.contains(titleterms[excluded[i]] || [], file)) {
+ valid = false;
+ break;
+ }
+ }
+
+ // if we have still a valid result we can add it to the result list
+ if (valid) {
+ // select one (max) score for the file.
+ // for better ranking, we should calculate ranking by using words statistics like basic tf-idf...
+ var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));
+ results.push([docnames[file], titles[file], '', null, score, filenames[file]]);
+ }
+ }
+ return results;
+ },
+
+ /**
+ * helper function to return a node containing the
+ * search summary for a given text. keywords is a list
+ * of stemmed words, hlwords is the list of normal, unstemmed
+ * words. the first one is used to find the occurrence, the
+ * latter for highlighting it.
+ */
+ makeSearchSummary : function(htmlText, keywords, hlwords) {
+ var text = Search.htmlToText(htmlText);
+ var textLower = text.toLowerCase();
+ var start = 0;
+ $.each(keywords, function() {
+ var i = textLower.indexOf(this.toLowerCase());
+ if (i > -1)
+ start = i;
+ });
+ start = Math.max(start - 120, 0);
+ var excerpt = ((start > 0) ? '...' : '') +
+ $.trim(text.substr(start, 240)) +
+ ((start + 240 - text.length) ? '...' : '');
+ var rv = $('<div class="context"></div>').text(excerpt);
+ $.each(hlwords, function() {
+ rv = rv.highlightText(this, 'highlighted');
+ });
+ return rv;
+ }
+};
+
+$(document).ready(function() {
+ Search.init();
+});
--- /dev/null
+// Underscore.js 1.3.1
+// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
+// Underscore is freely distributable under the MIT license.
+// Portions of Underscore are inspired or borrowed from Prototype,
+// Oliver Steele's Functional, and John Resig's Micro-Templating.
+// For all details and documentation:
+// http://documentcloud.github.com/underscore
+
+(function() {
+
+ // Baseline setup
+ // --------------
+
+ // Establish the root object, `window` in the browser, or `global` on the server.
+ var root = this;
+
+ // Save the previous value of the `_` variable.
+ var previousUnderscore = root._;
+
+ // Establish the object that gets returned to break out of a loop iteration.
+ var breaker = {};
+
+ // Save bytes in the minified (but not gzipped) version:
+ var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
+
+ // Create quick reference variables for speed access to core prototypes.
+ var slice = ArrayProto.slice,
+ unshift = ArrayProto.unshift,
+ toString = ObjProto.toString,
+ hasOwnProperty = ObjProto.hasOwnProperty;
+
+ // All **ECMAScript 5** native function implementations that we hope to use
+ // are declared here.
+ var
+ nativeForEach = ArrayProto.forEach,
+ nativeMap = ArrayProto.map,
+ nativeReduce = ArrayProto.reduce,
+ nativeReduceRight = ArrayProto.reduceRight,
+ nativeFilter = ArrayProto.filter,
+ nativeEvery = ArrayProto.every,
+ nativeSome = ArrayProto.some,
+ nativeIndexOf = ArrayProto.indexOf,
+ nativeLastIndexOf = ArrayProto.lastIndexOf,
+ nativeIsArray = Array.isArray,
+ nativeKeys = Object.keys,
+ nativeBind = FuncProto.bind;
+
+ // Create a safe reference to the Underscore object for use below.
+ var _ = function(obj) { return new wrapper(obj); };
+
+ // Export the Underscore object for **Node.js**, with
+ // backwards-compatibility for the old `require()` API. If we're in
+ // the browser, add `_` as a global object via a string identifier,
+ // for Closure Compiler "advanced" mode.
+ if (typeof exports !== 'undefined') {
+ if (typeof module !== 'undefined' && module.exports) {
+ exports = module.exports = _;
+ }
+ exports._ = _;
+ } else {
+ root['_'] = _;
+ }
+
+ // Current version.
+ _.VERSION = '1.3.1';
+
+ // Collection Functions
+ // --------------------
+
+ // The cornerstone, an `each` implementation, aka `forEach`.
+ // Handles objects with the built-in `forEach`, arrays, and raw objects.
+ // Delegates to **ECMAScript 5**'s native `forEach` if available.
+ var each = _.each = _.forEach = function(obj, iterator, context) {
+ if (obj == null) return;
+ if (nativeForEach && obj.forEach === nativeForEach) {
+ obj.forEach(iterator, context);
+ } else if (obj.length === +obj.length) {
+ for (var i = 0, l = obj.length; i < l; i++) {
+ if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return;
+ }
+ } else {
+ for (var key in obj) {
+ if (_.has(obj, key)) {
+ if (iterator.call(context, obj[key], key, obj) === breaker) return;
+ }
+ }
+ }
+ };
+
+ // Return the results of applying the iterator to each element.
+ // Delegates to **ECMAScript 5**'s native `map` if available.
+ _.map = _.collect = function(obj, iterator, context) {
+ var results = [];
+ if (obj == null) return results;
+ if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
+ each(obj, function(value, index, list) {
+ results[results.length] = iterator.call(context, value, index, list);
+ });
+ if (obj.length === +obj.length) results.length = obj.length;
+ return results;
+ };
+
+ // **Reduce** builds up a single result from a list of values, aka `inject`,
+ // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.
+ _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {
+ var initial = arguments.length > 2;
+ if (obj == null) obj = [];
+ if (nativeReduce && obj.reduce === nativeReduce) {
+ if (context) iterator = _.bind(iterator, context);
+ return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);
+ }
+ each(obj, function(value, index, list) {
+ if (!initial) {
+ memo = value;
+ initial = true;
+ } else {
+ memo = iterator.call(context, memo, value, index, list);
+ }
+ });
+ if (!initial) throw new TypeError('Reduce of empty array with no initial value');
+ return memo;
+ };
+
+ // The right-associative version of reduce, also known as `foldr`.
+ // Delegates to **ECMAScript 5**'s native `reduceRight` if available.
+ _.reduceRight = _.foldr = function(obj, iterator, memo, context) {
+ var initial = arguments.length > 2;
+ if (obj == null) obj = [];
+ if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
+ if (context) iterator = _.bind(iterator, context);
+ return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
+ }
+ var reversed = _.toArray(obj).reverse();
+ if (context && !initial) iterator = _.bind(iterator, context);
+ return initial ? _.reduce(reversed, iterator, memo, context) : _.reduce(reversed, iterator);
+ };
+
+ // Return the first value which passes a truth test. Aliased as `detect`.
+ _.find = _.detect = function(obj, iterator, context) {
+ var result;
+ any(obj, function(value, index, list) {
+ if (iterator.call(context, value, index, list)) {
+ result = value;
+ return true;
+ }
+ });
+ return result;
+ };
+
+ // Return all the elements that pass a truth test.
+ // Delegates to **ECMAScript 5**'s native `filter` if available.
+ // Aliased as `select`.
+ _.filter = _.select = function(obj, iterator, context) {
+ var results = [];
+ if (obj == null) return results;
+ if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);
+ each(obj, function(value, index, list) {
+ if (iterator.call(context, value, index, list)) results[results.length] = value;
+ });
+ return results;
+ };
+
+ // Return all the elements for which a truth test fails.
+ _.reject = function(obj, iterator, context) {
+ var results = [];
+ if (obj == null) return results;
+ each(obj, function(value, index, list) {
+ if (!iterator.call(context, value, index, list)) results[results.length] = value;
+ });
+ return results;
+ };
+
+ // Determine whether all of the elements match a truth test.
+ // Delegates to **ECMAScript 5**'s native `every` if available.
+ // Aliased as `all`.
+ _.every = _.all = function(obj, iterator, context) {
+ var result = true;
+ if (obj == null) return result;
+ if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);
+ each(obj, function(value, index, list) {
+ if (!(result = result && iterator.call(context, value, index, list))) return breaker;
+ });
+ return result;
+ };
+
+ // Determine if at least one element in the object matches a truth test.
+ // Delegates to **ECMAScript 5**'s native `some` if available.
+ // Aliased as `any`.
+ var any = _.some = _.any = function(obj, iterator, context) {
+ iterator || (iterator = _.identity);
+ var result = false;
+ if (obj == null) return result;
+ if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
+ each(obj, function(value, index, list) {
+ if (result || (result = iterator.call(context, value, index, list))) return breaker;
+ });
+ return !!result;
+ };
+
+ // Determine if a given value is included in the array or object using `===`.
+ // Aliased as `contains`.
+ _.include = _.contains = function(obj, target) {
+ var found = false;
+ if (obj == null) return found;
+ if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;
+ found = any(obj, function(value) {
+ return value === target;
+ });
+ return found;
+ };
+
+ // Invoke a method (with arguments) on every item in a collection.
+ _.invoke = function(obj, method) {
+ var args = slice.call(arguments, 2);
+ return _.map(obj, function(value) {
+ return (_.isFunction(method) ? method || value : value[method]).apply(value, args);
+ });
+ };
+
+ // Convenience version of a common use case of `map`: fetching a property.
+ _.pluck = function(obj, key) {
+ return _.map(obj, function(value){ return value[key]; });
+ };
+
+ // Return the maximum element or (element-based computation).
+ _.max = function(obj, iterator, context) {
+ if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj);
+ if (!iterator && _.isEmpty(obj)) return -Infinity;
+ var result = {computed : -Infinity};
+ each(obj, function(value, index, list) {
+ var computed = iterator ? iterator.call(context, value, index, list) : value;
+ computed >= result.computed && (result = {value : value, computed : computed});
+ });
+ return result.value;
+ };
+
+ // Return the minimum element (or element-based computation).
+ _.min = function(obj, iterator, context) {
+ if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj);
+ if (!iterator && _.isEmpty(obj)) return Infinity;
+ var result = {computed : Infinity};
+ each(obj, function(value, index, list) {
+ var computed = iterator ? iterator.call(context, value, index, list) : value;
+ computed < result.computed && (result = {value : value, computed : computed});
+ });
+ return result.value;
+ };
+
+ // Shuffle an array.
+ _.shuffle = function(obj) {
+ var shuffled = [], rand;
+ each(obj, function(value, index, list) {
+ if (index == 0) {
+ shuffled[0] = value;
+ } else {
+ rand = Math.floor(Math.random() * (index + 1));
+ shuffled[index] = shuffled[rand];
+ shuffled[rand] = value;
+ }
+ });
+ return shuffled;
+ };
+
+ // Sort the object's values by a criterion produced by an iterator.
+ _.sortBy = function(obj, iterator, context) {
+ return _.pluck(_.map(obj, function(value, index, list) {
+ return {
+ value : value,
+ criteria : iterator.call(context, value, index, list)
+ };
+ }).sort(function(left, right) {
+ var a = left.criteria, b = right.criteria;
+ return a < b ? -1 : a > b ? 1 : 0;
+ }), 'value');
+ };
+
+ // Groups the object's values by a criterion. Pass either a string attribute
+ // to group by, or a function that returns the criterion.
+ _.groupBy = function(obj, val) {
+ var result = {};
+ var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; };
+ each(obj, function(value, index) {
+ var key = iterator(value, index);
+ (result[key] || (result[key] = [])).push(value);
+ });
+ return result;
+ };
+
+ // Use a comparator function to figure out at what index an object should
+ // be inserted so as to maintain order. Uses binary search.
+ _.sortedIndex = function(array, obj, iterator) {
+ iterator || (iterator = _.identity);
+ var low = 0, high = array.length;
+ while (low < high) {
+ var mid = (low + high) >> 1;
+ iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid;
+ }
+ return low;
+ };
+
+ // Safely convert anything iterable into a real, live array.
+ _.toArray = function(iterable) {
+ if (!iterable) return [];
+ if (iterable.toArray) return iterable.toArray();
+ if (_.isArray(iterable)) return slice.call(iterable);
+ if (_.isArguments(iterable)) return slice.call(iterable);
+ return _.values(iterable);
+ };
+
+ // Return the number of elements in an object.
+ _.size = function(obj) {
+ return _.toArray(obj).length;
+ };
+
+ // Array Functions
+ // ---------------
+
+ // Get the first element of an array. Passing **n** will return the first N
+ // values in the array. Aliased as `head`. The **guard** check allows it to work
+ // with `_.map`.
+ _.first = _.head = function(array, n, guard) {
+ return (n != null) && !guard ? slice.call(array, 0, n) : array[0];
+ };
+
+ // Returns everything but the last entry of the array. Especcialy useful on
+ // the arguments object. Passing **n** will return all the values in
+ // the array, excluding the last N. The **guard** check allows it to work with
+ // `_.map`.
+ _.initial = function(array, n, guard) {
+ return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n));
+ };
+
+ // Get the last element of an array. Passing **n** will return the last N
+ // values in the array. The **guard** check allows it to work with `_.map`.
+ _.last = function(array, n, guard) {
+ if ((n != null) && !guard) {
+ return slice.call(array, Math.max(array.length - n, 0));
+ } else {
+ return array[array.length - 1];
+ }
+ };
+
+ // Returns everything but the first entry of the array. Aliased as `tail`.
+ // Especially useful on the arguments object. Passing an **index** will return
+ // the rest of the values in the array from that index onward. The **guard**
+ // check allows it to work with `_.map`.
+ _.rest = _.tail = function(array, index, guard) {
+ return slice.call(array, (index == null) || guard ? 1 : index);
+ };
+
+ // Trim out all falsy values from an array.
+ _.compact = function(array) {
+ return _.filter(array, function(value){ return !!value; });
+ };
+
+ // Return a completely flattened version of an array.
+ _.flatten = function(array, shallow) {
+ return _.reduce(array, function(memo, value) {
+ if (_.isArray(value)) return memo.concat(shallow ? value : _.flatten(value));
+ memo[memo.length] = value;
+ return memo;
+ }, []);
+ };
+
+ // Return a version of the array that does not contain the specified value(s).
+ _.without = function(array) {
+ return _.difference(array, slice.call(arguments, 1));
+ };
+
+ // Produce a duplicate-free version of the array. If the array has already
+ // been sorted, you have the option of using a faster algorithm.
+ // Aliased as `unique`.
+ _.uniq = _.unique = function(array, isSorted, iterator) {
+ var initial = iterator ? _.map(array, iterator) : array;
+ var result = [];
+ _.reduce(initial, function(memo, el, i) {
+ if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) {
+ memo[memo.length] = el;
+ result[result.length] = array[i];
+ }
+ return memo;
+ }, []);
+ return result;
+ };
+
+ // Produce an array that contains the union: each distinct element from all of
+ // the passed-in arrays.
+ _.union = function() {
+ return _.uniq(_.flatten(arguments, true));
+ };
+
+ // Produce an array that contains every item shared between all the
+ // passed-in arrays. (Aliased as "intersect" for back-compat.)
+ _.intersection = _.intersect = function(array) {
+ var rest = slice.call(arguments, 1);
+ return _.filter(_.uniq(array), function(item) {
+ return _.every(rest, function(other) {
+ return _.indexOf(other, item) >= 0;
+ });
+ });
+ };
+
+ // Take the difference between one array and a number of other arrays.
+ // Only the elements present in just the first array will remain.
+ _.difference = function(array) {
+ var rest = _.flatten(slice.call(arguments, 1));
+ return _.filter(array, function(value){ return !_.include(rest, value); });
+ };
+
+ // Zip together multiple lists into a single array -- elements that share
+ // an index go together.
+ _.zip = function() {
+ var args = slice.call(arguments);
+ var length = _.max(_.pluck(args, 'length'));
+ var results = new Array(length);
+ for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i);
+ return results;
+ };
+
+ // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),
+ // we need this function. Return the position of the first occurrence of an
+ // item in an array, or -1 if the item is not included in the array.
+ // Delegates to **ECMAScript 5**'s native `indexOf` if available.
+ // If the array is large and already in sort order, pass `true`
+ // for **isSorted** to use binary search.
+ _.indexOf = function(array, item, isSorted) {
+ if (array == null) return -1;
+ var i, l;
+ if (isSorted) {
+ i = _.sortedIndex(array, item);
+ return array[i] === item ? i : -1;
+ }
+ if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item);
+ for (i = 0, l = array.length; i < l; i++) if (i in array && array[i] === item) return i;
+ return -1;
+ };
+
+ // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.
+ _.lastIndexOf = function(array, item) {
+ if (array == null) return -1;
+ if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item);
+ var i = array.length;
+ while (i--) if (i in array && array[i] === item) return i;
+ return -1;
+ };
+
+ // Generate an integer Array containing an arithmetic progression. A port of
+ // the native Python `range()` function. See
+ // [the Python documentation](http://docs.python.org/library/functions.html#range).
+ _.range = function(start, stop, step) {
+ if (arguments.length <= 1) {
+ stop = start || 0;
+ start = 0;
+ }
+ step = arguments[2] || 1;
+
+ var len = Math.max(Math.ceil((stop - start) / step), 0);
+ var idx = 0;
+ var range = new Array(len);
+
+ while(idx < len) {
+ range[idx++] = start;
+ start += step;
+ }
+
+ return range;
+ };
+
+ // Function (ahem) Functions
+ // ------------------
+
+ // Reusable constructor function for prototype setting.
+ var ctor = function(){};
+
+ // Create a function bound to a given object (assigning `this`, and arguments,
+ // optionally). Binding with arguments is also known as `curry`.
+ // Delegates to **ECMAScript 5**'s native `Function.bind` if available.
+ // We check for `func.bind` first, to fail fast when `func` is undefined.
+ _.bind = function bind(func, context) {
+ var bound, args;
+ if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
+ if (!_.isFunction(func)) throw new TypeError;
+ args = slice.call(arguments, 2);
+ return bound = function() {
+ if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));
+ ctor.prototype = func.prototype;
+ var self = new ctor;
+ var result = func.apply(self, args.concat(slice.call(arguments)));
+ if (Object(result) === result) return result;
+ return self;
+ };
+ };
+
+ // Bind all of an object's methods to that object. Useful for ensuring that
+ // all callbacks defined on an object belong to it.
+ _.bindAll = function(obj) {
+ var funcs = slice.call(arguments, 1);
+ if (funcs.length == 0) funcs = _.functions(obj);
+ each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });
+ return obj;
+ };
+
+ // Memoize an expensive function by storing its results.
+ _.memoize = function(func, hasher) {
+ var memo = {};
+ hasher || (hasher = _.identity);
+ return function() {
+ var key = hasher.apply(this, arguments);
+ return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));
+ };
+ };
+
+ // Delays a function for the given number of milliseconds, and then calls
+ // it with the arguments supplied.
+ _.delay = function(func, wait) {
+ var args = slice.call(arguments, 2);
+ return setTimeout(function(){ return func.apply(func, args); }, wait);
+ };
+
+ // Defers a function, scheduling it to run after the current call stack has
+ // cleared.
+ _.defer = function(func) {
+ return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));
+ };
+
+ // Returns a function, that, when invoked, will only be triggered at most once
+ // during a given window of time.
+ _.throttle = function(func, wait) {
+ var context, args, timeout, throttling, more;
+ var whenDone = _.debounce(function(){ more = throttling = false; }, wait);
+ return function() {
+ context = this; args = arguments;
+ var later = function() {
+ timeout = null;
+ if (more) func.apply(context, args);
+ whenDone();
+ };
+ if (!timeout) timeout = setTimeout(later, wait);
+ if (throttling) {
+ more = true;
+ } else {
+ func.apply(context, args);
+ }
+ whenDone();
+ throttling = true;
+ };
+ };
+
+ // Returns a function, that, as long as it continues to be invoked, will not
+ // be triggered. The function will be called after it stops being called for
+ // N milliseconds.
+ _.debounce = function(func, wait) {
+ var timeout;
+ return function() {
+ var context = this, args = arguments;
+ var later = function() {
+ timeout = null;
+ func.apply(context, args);
+ };
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ };
+ };
+
+ // Returns a function that will be executed at most one time, no matter how
+ // often you call it. Useful for lazy initialization.
+ _.once = function(func) {
+ var ran = false, memo;
+ return function() {
+ if (ran) return memo;
+ ran = true;
+ return memo = func.apply(this, arguments);
+ };
+ };
+
+ // Returns the first function passed as an argument to the second,
+ // allowing you to adjust arguments, run code before and after, and
+ // conditionally execute the original function.
+ _.wrap = function(func, wrapper) {
+ return function() {
+ var args = [func].concat(slice.call(arguments, 0));
+ return wrapper.apply(this, args);
+ };
+ };
+
+ // Returns a function that is the composition of a list of functions, each
+ // consuming the return value of the function that follows.
+ _.compose = function() {
+ var funcs = arguments;
+ return function() {
+ var args = arguments;
+ for (var i = funcs.length - 1; i >= 0; i--) {
+ args = [funcs[i].apply(this, args)];
+ }
+ return args[0];
+ };
+ };
+
+ // Returns a function that will only be executed after being called N times.
+ _.after = function(times, func) {
+ if (times <= 0) return func();
+ return function() {
+ if (--times < 1) { return func.apply(this, arguments); }
+ };
+ };
+
+ // Object Functions
+ // ----------------
+
+ // Retrieve the names of an object's properties.
+ // Delegates to **ECMAScript 5**'s native `Object.keys`
+ _.keys = nativeKeys || function(obj) {
+ if (obj !== Object(obj)) throw new TypeError('Invalid object');
+ var keys = [];
+ for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key;
+ return keys;
+ };
+
+ // Retrieve the values of an object's properties.
+ _.values = function(obj) {
+ return _.map(obj, _.identity);
+ };
+
+ // Return a sorted list of the function names available on the object.
+ // Aliased as `methods`
+ _.functions = _.methods = function(obj) {
+ var names = [];
+ for (var key in obj) {
+ if (_.isFunction(obj[key])) names.push(key);
+ }
+ return names.sort();
+ };
+
+ // Extend a given object with all the properties in passed-in object(s).
+ _.extend = function(obj) {
+ each(slice.call(arguments, 1), function(source) {
+ for (var prop in source) {
+ obj[prop] = source[prop];
+ }
+ });
+ return obj;
+ };
+
+ // Fill in a given object with default properties.
+ _.defaults = function(obj) {
+ each(slice.call(arguments, 1), function(source) {
+ for (var prop in source) {
+ if (obj[prop] == null) obj[prop] = source[prop];
+ }
+ });
+ return obj;
+ };
+
+ // Create a (shallow-cloned) duplicate of an object.
+ _.clone = function(obj) {
+ if (!_.isObject(obj)) return obj;
+ return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
+ };
+
+ // Invokes interceptor with the obj, and then returns obj.
+ // The primary purpose of this method is to "tap into" a method chain, in
+ // order to perform operations on intermediate results within the chain.
+ _.tap = function(obj, interceptor) {
+ interceptor(obj);
+ return obj;
+ };
+
+ // Internal recursive comparison function.
+ function eq(a, b, stack) {
+ // Identical objects are equal. `0 === -0`, but they aren't identical.
+ // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal.
+ if (a === b) return a !== 0 || 1 / a == 1 / b;
+ // A strict comparison is necessary because `null == undefined`.
+ if (a == null || b == null) return a === b;
+ // Unwrap any wrapped objects.
+ if (a._chain) a = a._wrapped;
+ if (b._chain) b = b._wrapped;
+ // Invoke a custom `isEqual` method if one is provided.
+ if (a.isEqual && _.isFunction(a.isEqual)) return a.isEqual(b);
+ if (b.isEqual && _.isFunction(b.isEqual)) return b.isEqual(a);
+ // Compare `[[Class]]` names.
+ var className = toString.call(a);
+ if (className != toString.call(b)) return false;
+ switch (className) {
+ // Strings, numbers, dates, and booleans are compared by value.
+ case '[object String]':
+ // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
+ // equivalent to `new String("5")`.
+ return a == String(b);
+ case '[object Number]':
+ // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for
+ // other numeric values.
+ return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);
+ case '[object Date]':
+ case '[object Boolean]':
+ // Coerce dates and booleans to numeric primitive values. Dates are compared by their
+ // millisecond representations. Note that invalid dates with millisecond representations
+ // of `NaN` are not equivalent.
+ return +a == +b;
+ // RegExps are compared by their source patterns and flags.
+ case '[object RegExp]':
+ return a.source == b.source &&
+ a.global == b.global &&
+ a.multiline == b.multiline &&
+ a.ignoreCase == b.ignoreCase;
+ }
+ if (typeof a != 'object' || typeof b != 'object') return false;
+ // Assume equality for cyclic structures. The algorithm for detecting cyclic
+ // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
+ var length = stack.length;
+ while (length--) {
+ // Linear search. Performance is inversely proportional to the number of
+ // unique nested structures.
+ if (stack[length] == a) return true;
+ }
+ // Add the first object to the stack of traversed objects.
+ stack.push(a);
+ var size = 0, result = true;
+ // Recursively compare objects and arrays.
+ if (className == '[object Array]') {
+ // Compare array lengths to determine if a deep comparison is necessary.
+ size = a.length;
+ result = size == b.length;
+ if (result) {
+ // Deep compare the contents, ignoring non-numeric properties.
+ while (size--) {
+ // Ensure commutative equality for sparse arrays.
+ if (!(result = size in a == size in b && eq(a[size], b[size], stack))) break;
+ }
+ }
+ } else {
+ // Objects with different constructors are not equivalent.
+ if ('constructor' in a != 'constructor' in b || a.constructor != b.constructor) return false;
+ // Deep compare objects.
+ for (var key in a) {
+ if (_.has(a, key)) {
+ // Count the expected number of properties.
+ size++;
+ // Deep compare each member.
+ if (!(result = _.has(b, key) && eq(a[key], b[key], stack))) break;
+ }
+ }
+ // Ensure that both objects contain the same number of properties.
+ if (result) {
+ for (key in b) {
+ if (_.has(b, key) && !(size--)) break;
+ }
+ result = !size;
+ }
+ }
+ // Remove the first object from the stack of traversed objects.
+ stack.pop();
+ return result;
+ }
+
+ // Perform a deep comparison to check if two objects are equal.
+ _.isEqual = function(a, b) {
+ return eq(a, b, []);
+ };
+
+ // Is a given array, string, or object empty?
+ // An "empty" object has no enumerable own-properties.
+ _.isEmpty = function(obj) {
+ if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;
+ for (var key in obj) if (_.has(obj, key)) return false;
+ return true;
+ };
+
+ // Is a given value a DOM element?
+ _.isElement = function(obj) {
+ return !!(obj && obj.nodeType == 1);
+ };
+
+ // Is a given value an array?
+ // Delegates to ECMA5's native Array.isArray
+ _.isArray = nativeIsArray || function(obj) {
+ return toString.call(obj) == '[object Array]';
+ };
+
+ // Is a given variable an object?
+ _.isObject = function(obj) {
+ return obj === Object(obj);
+ };
+
+ // Is a given variable an arguments object?
+ _.isArguments = function(obj) {
+ return toString.call(obj) == '[object Arguments]';
+ };
+ if (!_.isArguments(arguments)) {
+ _.isArguments = function(obj) {
+ return !!(obj && _.has(obj, 'callee'));
+ };
+ }
+
+ // Is a given value a function?
+ _.isFunction = function(obj) {
+ return toString.call(obj) == '[object Function]';
+ };
+
+ // Is a given value a string?
+ _.isString = function(obj) {
+ return toString.call(obj) == '[object String]';
+ };
+
+ // Is a given value a number?
+ _.isNumber = function(obj) {
+ return toString.call(obj) == '[object Number]';
+ };
+
+ // Is the given value `NaN`?
+ _.isNaN = function(obj) {
+ // `NaN` is the only value for which `===` is not reflexive.
+ return obj !== obj;
+ };
+
+ // Is a given value a boolean?
+ _.isBoolean = function(obj) {
+ return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
+ };
+
+ // Is a given value a date?
+ _.isDate = function(obj) {
+ return toString.call(obj) == '[object Date]';
+ };
+
+ // Is the given value a regular expression?
+ _.isRegExp = function(obj) {
+ return toString.call(obj) == '[object RegExp]';
+ };
+
+ // Is a given value equal to null?
+ _.isNull = function(obj) {
+ return obj === null;
+ };
+
+ // Is a given variable undefined?
+ _.isUndefined = function(obj) {
+ return obj === void 0;
+ };
+
+ // Has own property?
+ _.has = function(obj, key) {
+ return hasOwnProperty.call(obj, key);
+ };
+
+ // Utility Functions
+ // -----------------
+
+ // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
+ // previous owner. Returns a reference to the Underscore object.
+ _.noConflict = function() {
+ root._ = previousUnderscore;
+ return this;
+ };
+
+ // Keep the identity function around for default iterators.
+ _.identity = function(value) {
+ return value;
+ };
+
+ // Run a function **n** times.
+ _.times = function (n, iterator, context) {
+ for (var i = 0; i < n; i++) iterator.call(context, i);
+ };
+
+ // Escape a string for HTML interpolation.
+ _.escape = function(string) {
+ return (''+string).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/');
+ };
+
+ // Add your own custom functions to the Underscore object, ensuring that
+ // they're correctly added to the OOP wrapper as well.
+ _.mixin = function(obj) {
+ each(_.functions(obj), function(name){
+ addToWrapper(name, _[name] = obj[name]);
+ });
+ };
+
+ // Generate a unique integer id (unique within the entire client session).
+ // Useful for temporary DOM ids.
+ var idCounter = 0;
+ _.uniqueId = function(prefix) {
+ var id = idCounter++;
+ return prefix ? prefix + id : id;
+ };
+
+ // By default, Underscore uses ERB-style template delimiters, change the
+ // following template settings to use alternative delimiters.
+ _.templateSettings = {
+ evaluate : /<%([\s\S]+?)%>/g,
+ interpolate : /<%=([\s\S]+?)%>/g,
+ escape : /<%-([\s\S]+?)%>/g
+ };
+
+ // When customizing `templateSettings`, if you don't want to define an
+ // interpolation, evaluation or escaping regex, we need one that is
+ // guaranteed not to match.
+ var noMatch = /.^/;
+
+ // Within an interpolation, evaluation, or escaping, remove HTML escaping
+ // that had been previously added.
+ var unescape = function(code) {
+ return code.replace(/\\\\/g, '\\').replace(/\\'/g, "'");
+ };
+
+ // JavaScript micro-templating, similar to John Resig's implementation.
+ // Underscore templating handles arbitrary delimiters, preserves whitespace,
+ // and correctly escapes quotes within interpolated code.
+ _.template = function(str, data) {
+ var c = _.templateSettings;
+ var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' +
+ 'with(obj||{}){__p.push(\'' +
+ str.replace(/\\/g, '\\\\')
+ .replace(/'/g, "\\'")
+ .replace(c.escape || noMatch, function(match, code) {
+ return "',_.escape(" + unescape(code) + "),'";
+ })
+ .replace(c.interpolate || noMatch, function(match, code) {
+ return "'," + unescape(code) + ",'";
+ })
+ .replace(c.evaluate || noMatch, function(match, code) {
+ return "');" + unescape(code).replace(/[\r\n\t]/g, ' ') + ";__p.push('";
+ })
+ .replace(/\r/g, '\\r')
+ .replace(/\n/g, '\\n')
+ .replace(/\t/g, '\\t')
+ + "');}return __p.join('');";
+ var func = new Function('obj', '_', tmpl);
+ if (data) return func(data, _);
+ return function(data) {
+ return func.call(this, data, _);
+ };
+ };
+
+ // Add a "chain" function, which will delegate to the wrapper.
+ _.chain = function(obj) {
+ return _(obj).chain();
+ };
+
+ // The OOP Wrapper
+ // ---------------
+
+ // If Underscore is called as a function, it returns a wrapped object that
+ // can be used OO-style. This wrapper holds altered versions of all the
+ // underscore functions. Wrapped objects may be chained.
+ var wrapper = function(obj) { this._wrapped = obj; };
+
+ // Expose `wrapper.prototype` as `_.prototype`
+ _.prototype = wrapper.prototype;
+
+ // Helper function to continue chaining intermediate results.
+ var result = function(obj, chain) {
+ return chain ? _(obj).chain() : obj;
+ };
+
+ // A method to easily add functions to the OOP wrapper.
+ var addToWrapper = function(name, func) {
+ wrapper.prototype[name] = function() {
+ var args = slice.call(arguments);
+ unshift.call(args, this._wrapped);
+ return result(func.apply(_, args), this._chain);
+ };
+ };
+
+ // Add all of the Underscore functions to the wrapper object.
+ _.mixin(_);
+
+ // Add all mutator Array functions to the wrapper.
+ each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
+ var method = ArrayProto[name];
+ wrapper.prototype[name] = function() {
+ var wrapped = this._wrapped;
+ method.apply(wrapped, arguments);
+ var length = wrapped.length;
+ if ((name == 'shift' || name == 'splice') && length === 0) delete wrapped[0];
+ return result(wrapped, this._chain);
+ };
+ });
+
+ // Add all accessor Array functions to the wrapper.
+ each(['concat', 'join', 'slice'], function(name) {
+ var method = ArrayProto[name];
+ wrapper.prototype[name] = function() {
+ return result(method.apply(this._wrapped, arguments), this._chain);
+ };
+ });
+
+ // Start chaining a wrapped Underscore object.
+ wrapper.prototype.chain = function() {
+ this._chain = true;
+ return this;
+ };
+
+ // Extracts the result from a wrapped and chained object.
+ wrapper.prototype.value = function() {
+ return this._wrapped;
+ };
+
+}).call(this);
--- /dev/null
+// Underscore.js 1.3.1
+// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
+// Underscore is freely distributable under the MIT license.
+// Portions of Underscore are inspired or borrowed from Prototype,
+// Oliver Steele's Functional, and John Resig's Micro-Templating.
+// For all details and documentation:
+// http://documentcloud.github.com/underscore
+(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source==
+c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c,
+h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each=
+b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a==
+null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect=
+function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e=
+e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck=
+function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})});
+return e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a,
+c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]};b.rest=
+b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]);
+return e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c,
+d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g};
+var F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a,
+c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true:
+a.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}};
+b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments,
+1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)};
+b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"};
+b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a),
+function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+
+u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]=
+function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain=
+true;return this};m.prototype.value=function(){return this._wrapped}}).call(this);
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>The full Pygments API — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Write your own lexer" href="lexerdevelopment.html" />
+ <link rel="prev" title="Builtin Tokens" href="tokens.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">The full Pygments API</a><ul>
+<li><a class="reference internal" href="#module-pygments">High-level API</a></li>
+<li><a class="reference internal" href="#lexers">Lexers</a></li>
+<li><a class="reference internal" href="#formatters">Formatters</a></li>
+<li><a class="reference internal" href="#option-processing">Option processing</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="tokens.html"
+ title="previous chapter">Builtin Tokens</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="lexerdevelopment.html"
+ title="next chapter">Write your own lexer</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/api.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="the-full-pygments-api">
+<h1>The full Pygments API<a class="headerlink" href="#the-full-pygments-api" title="Permalink to this headline">¶</a></h1>
+<p>This page describes the Pygments API.</p>
+<div class="section" id="module-pygments">
+<span id="high-level-api"></span><h2>High-level API<a class="headerlink" href="#module-pygments" title="Permalink to this headline">¶</a></h2>
+<p>Functions from the <a class="reference internal" href="#module-pygments" title="pygments"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments</span></code></a> module:</p>
+<dl class="function">
+<dt id="pygments.lex">
+<code class="sig-prename descclassname">pygments.</code><code class="sig-name descname">lex</code><span class="sig-paren">(</span><em class="sig-param">code</em>, <em class="sig-param">lexer</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lex" title="Permalink to this definition">¶</a></dt>
+<dd><p>Lex <cite>code</cite> with the <cite>lexer</cite> (must be a <cite>Lexer</cite> instance)
+and return an iterable of tokens. Currently, this only calls
+<cite>lexer.get_tokens()</cite>.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.format">
+<code class="sig-prename descclassname">pygments.</code><code class="sig-name descname">format</code><span class="sig-paren">(</span><em class="sig-param">tokens</em>, <em class="sig-param">formatter</em>, <em class="sig-param">outfile=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.format" title="Permalink to this definition">¶</a></dt>
+<dd><p>Format a token stream (iterable of tokens) <cite>tokens</cite> with the
+<cite>formatter</cite> (must be a <cite>Formatter</cite> instance). The result is
+written to <cite>outfile</cite>, or if that is <code class="docutils literal notranslate"><span class="pre">None</span></code>, returned as a
+string.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.highlight">
+<code class="sig-prename descclassname">pygments.</code><code class="sig-name descname">highlight</code><span class="sig-paren">(</span><em class="sig-param">code</em>, <em class="sig-param">lexer</em>, <em class="sig-param">formatter</em>, <em class="sig-param">outfile=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.highlight" title="Permalink to this definition">¶</a></dt>
+<dd><p>This is the most high-level highlighting function.
+It combines <cite>lex</cite> and <cite>format</cite> in one function.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers"></span><p>Functions from <a class="reference internal" href="#module-pygments.lexers" title="pygments.lexers"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.lexers</span></code></a>:</p>
+<dl class="function">
+<dt id="pygments.lexers.get_lexer_by_name">
+<code class="sig-prename descclassname">pygments.lexers.</code><code class="sig-name descname">get_lexer_by_name</code><span class="sig-paren">(</span><em class="sig-param">alias</em>, <em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.get_lexer_by_name" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return an instance of a <cite>Lexer</cite> subclass that has <cite>alias</cite> in its
+aliases list. The lexer is given the <cite>options</cite> at its
+instantiation.</p>
+<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no lexer with that alias is
+found.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.lexers.get_lexer_for_filename">
+<code class="sig-prename descclassname">pygments.lexers.</code><code class="sig-name descname">get_lexer_for_filename</code><span class="sig-paren">(</span><em class="sig-param">fn</em>, <em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.get_lexer_for_filename" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a <cite>Lexer</cite> subclass instance that has a filename pattern
+matching <cite>fn</cite>. The lexer is given the <cite>options</cite> at its
+instantiation.</p>
+<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no lexer for that filename
+is found.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.lexers.get_lexer_for_mimetype">
+<code class="sig-prename descclassname">pygments.lexers.</code><code class="sig-name descname">get_lexer_for_mimetype</code><span class="sig-paren">(</span><em class="sig-param">mime</em>, <em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.get_lexer_for_mimetype" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a <cite>Lexer</cite> subclass instance that has <cite>mime</cite> in its mimetype
+list. The lexer is given the <cite>options</cite> at its instantiation.</p>
+<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if not lexer for that mimetype
+is found.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.lexers.load_lexer_from_file">
+<code class="sig-prename descclassname">pygments.lexers.</code><code class="sig-name descname">load_lexer_from_file</code><span class="sig-paren">(</span><em class="sig-param">filename</em>, <em class="sig-param">lexername="CustomLexer"</em>, <em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.load_lexer_from_file" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a <cite>Lexer</cite> subclass instance loaded from the provided file, relative
+to the current directory. The file is expected to contain a Lexer class
+named <cite>lexername</cite> (by default, CustomLexer). Users should be very careful with
+the input, because this method is equivalent to running eval on the input file.
+The lexer is given the <cite>options</cite> at its instantiation.</p>
+<p><code class="xref py py-exc docutils literal notranslate"><span class="pre">ClassNotFound</span></code> is raised if there are any errors loading the Lexer</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.lexers.guess_lexer">
+<code class="sig-prename descclassname">pygments.lexers.</code><code class="sig-name descname">guess_lexer</code><span class="sig-paren">(</span><em class="sig-param">text</em>, <em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.guess_lexer" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a <cite>Lexer</cite> subclass instance that’s guessed from the text in
+<cite>text</cite>. For that, the <a class="reference internal" href="#pygments.lexer.Lexer.analyse_text" title="pygments.lexer.Lexer.analyse_text"><code class="xref py py-meth docutils literal notranslate"><span class="pre">analyse_text()</span></code></a> method of every known lexer
+class is called with the text as argument, and the lexer which returned the
+highest value will be instantiated and returned.</p>
+<p><code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> is raised if no lexer thinks it can
+handle the content.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.lexers.guess_lexer_for_filename">
+<code class="sig-prename descclassname">pygments.lexers.</code><code class="sig-name descname">guess_lexer_for_filename</code><span class="sig-paren">(</span><em class="sig-param">filename</em>, <em class="sig-param">text</em>, <em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.guess_lexer_for_filename" title="Permalink to this definition">¶</a></dt>
+<dd><p>As <a class="reference internal" href="#pygments.lexers.guess_lexer" title="pygments.lexers.guess_lexer"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer()</span></code></a>, but only lexers which have a pattern in <cite>filenames</cite>
+or <cite>alias_filenames</cite> that matches <cite>filename</cite> are taken into consideration.</p>
+<p><code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> is raised if no lexer thinks it can
+handle the content.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.lexers.get_all_lexers">
+<code class="sig-prename descclassname">pygments.lexers.</code><code class="sig-name descname">get_all_lexers</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.get_all_lexers" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return an iterable over all registered lexers, yielding tuples in the
+format:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">longname</span><span class="p">,</span> <span class="nb">tuple</span> <span class="n">of</span> <span class="n">aliases</span><span class="p">,</span> <span class="nb">tuple</span> <span class="n">of</span> <span class="n">filename</span> <span class="n">patterns</span><span class="p">,</span> <span class="nb">tuple</span> <span class="n">of</span> <span class="n">mimetypes</span><span class="p">)</span>
+</pre></div>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.lexers.find_lexer_class_by_name">
+<code class="sig-prename descclassname">pygments.lexers.</code><code class="sig-name descname">find_lexer_class_by_name</code><span class="sig-paren">(</span><em class="sig-param">alias</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.find_lexer_class_by_name" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the <cite>Lexer</cite> subclass that has <cite>alias</cite> in its aliases list, without
+instantiating it.</p>
+<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no lexer with that alias is
+found.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.lexers.find_lexer_class">
+<code class="sig-prename descclassname">pygments.lexers.</code><code class="sig-name descname">find_lexer_class</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexers.find_lexer_class" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the <cite>Lexer</cite> subclass that with the <em>name</em> attribute as given by
+the <em>name</em> argument.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.formatters"></span><p>Functions from <a class="reference internal" href="#module-pygments.formatters" title="pygments.formatters"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.formatters</span></code></a>:</p>
+<dl class="function">
+<dt id="pygments.formatters.get_formatter_by_name">
+<code class="sig-prename descclassname">pygments.formatters.</code><code class="sig-name descname">get_formatter_by_name</code><span class="sig-paren">(</span><em class="sig-param">alias</em>, <em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatters.get_formatter_by_name" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return an instance of a <a class="reference internal" href="#pygments.formatter.Formatter" title="pygments.formatter.Formatter"><code class="xref py py-class docutils literal notranslate"><span class="pre">Formatter</span></code></a> subclass that has <cite>alias</cite> in its
+aliases list. The formatter is given the <cite>options</cite> at its instantiation.</p>
+<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no formatter with that
+alias is found.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.formatters.get_formatter_for_filename">
+<code class="sig-prename descclassname">pygments.formatters.</code><code class="sig-name descname">get_formatter_for_filename</code><span class="sig-paren">(</span><em class="sig-param">fn</em>, <em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatters.get_formatter_for_filename" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a <a class="reference internal" href="#pygments.formatter.Formatter" title="pygments.formatter.Formatter"><code class="xref py py-class docutils literal notranslate"><span class="pre">Formatter</span></code></a> subclass instance that has a filename pattern
+matching <cite>fn</cite>. The formatter is given the <cite>options</cite> at its instantiation.</p>
+<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no formatter for that filename
+is found.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.formatters.load_formatter_from_file">
+<code class="sig-prename descclassname">pygments.formatters.</code><code class="sig-name descname">load_formatter_from_file</code><span class="sig-paren">(</span><em class="sig-param">filename</em>, <em class="sig-param">formattername="CustomFormatter"</em>, <em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatters.load_formatter_from_file" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a <cite>Formatter</cite> subclass instance loaded from the provided file, relative
+to the current directory. The file is expected to contain a Formatter class
+named <code class="docutils literal notranslate"><span class="pre">formattername</span></code> (by default, CustomFormatter). Users should be very
+careful with the input, because this method is equivalent to running eval
+on the input file. The formatter is given the <cite>options</cite> at its instantiation.</p>
+<p><code class="xref py py-exc docutils literal notranslate"><span class="pre">ClassNotFound</span></code> is raised if there are any errors loading the Formatter</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.styles"></span><p>Functions from <a class="reference internal" href="#module-pygments.styles" title="pygments.styles"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.styles</span></code></a>:</p>
+<dl class="function">
+<dt id="pygments.styles.get_style_by_name">
+<code class="sig-prename descclassname">pygments.styles.</code><code class="sig-name descname">get_style_by_name</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.styles.get_style_by_name" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a style class by its short name. The names of the builtin styles
+are listed in <code class="xref py py-data docutils literal notranslate"><span class="pre">pygments.styles.STYLE_MAP</span></code>.</p>
+<p>Will raise <code class="xref py py-exc docutils literal notranslate"><span class="pre">pygments.util.ClassNotFound</span></code> if no style of that name is
+found.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.styles.get_all_styles">
+<code class="sig-prename descclassname">pygments.styles.</code><code class="sig-name descname">get_all_styles</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pygments.styles.get_all_styles" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return an iterable over all registered styles, yielding their names.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexer"></span></div>
+<div class="section" id="lexers">
+<h2>Lexers<a class="headerlink" href="#lexers" title="Permalink to this headline">¶</a></h2>
+<p>The base lexer class from which all lexers are derived is:</p>
+<dl class="class">
+<dt id="pygments.lexer.Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexer.</code><code class="sig-name descname">Lexer</code><span class="sig-paren">(</span><em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexer.Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><p>The constructor takes a **keywords dictionary of options.
+Every subclass must first process its own options and then call
+the <cite>Lexer</cite> constructor, since it processes the <cite>stripnl</cite>,
+<cite>stripall</cite> and <cite>tabsize</cite> options.</p>
+<p>An example looks like this:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">):</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">compress</span> <span class="o">=</span> <span class="n">options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'compress'</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
+ <span class="n">Lexer</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>As these options must all be specifiable as strings (due to the
+command line usage), there are various utility functions
+available to help with that, see <a class="reference internal" href="#option-processing">Option processing</a>.</p>
+<dl class="method">
+<dt id="pygments.lexer.Lexer.get_tokens">
+<code class="sig-name descname">get_tokens</code><span class="sig-paren">(</span><em class="sig-param">text</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexer.Lexer.get_tokens" title="Permalink to this definition">¶</a></dt>
+<dd><p>This method is the basic interface of a lexer. It is called by
+the <cite>highlight()</cite> function. It must process the text and return an
+iterable of <code class="docutils literal notranslate"><span class="pre">(tokentype,</span> <span class="pre">value)</span></code> pairs from <cite>text</cite>.</p>
+<p>Normally, you don’t need to override this method. The default
+implementation processes the <cite>stripnl</cite>, <cite>stripall</cite> and <cite>tabsize</cite>
+options and then yields all tokens from <cite>get_tokens_unprocessed()</cite>,
+with the <code class="docutils literal notranslate"><span class="pre">index</span></code> dropped.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="pygments.lexer.Lexer.get_tokens_unprocessed">
+<code class="sig-name descname">get_tokens_unprocessed</code><span class="sig-paren">(</span><em class="sig-param">text</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexer.Lexer.get_tokens_unprocessed" title="Permalink to this definition">¶</a></dt>
+<dd><p>This method should process the text and return an iterable of
+<code class="docutils literal notranslate"><span class="pre">(index,</span> <span class="pre">tokentype,</span> <span class="pre">value)</span></code> tuples where <code class="docutils literal notranslate"><span class="pre">index</span></code> is the starting
+position of the token within the input text.</p>
+<p>This method must be overridden by subclasses.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="pygments.lexer.Lexer.analyse_text">
+<em class="property">static </em><code class="sig-name descname">analyse_text</code><span class="sig-paren">(</span><em class="sig-param">text</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.lexer.Lexer.analyse_text" title="Permalink to this definition">¶</a></dt>
+<dd><p>A static method which is called for lexer guessing. It should analyse
+the text and return a float in the range from <code class="docutils literal notranslate"><span class="pre">0.0</span></code> to <code class="docutils literal notranslate"><span class="pre">1.0</span></code>.
+If it returns <code class="docutils literal notranslate"><span class="pre">0.0</span></code>, the lexer will not be selected as the most
+probable one, if it returns <code class="docutils literal notranslate"><span class="pre">1.0</span></code>, it will be selected immediately.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>You don’t have to add <code class="docutils literal notranslate"><span class="pre">@staticmethod</span></code> to the definition of
+this method, this will be taken care of by the Lexer’s metaclass.</p>
+</div>
+</dd></dl>
+
+<p>For a list of known tokens have a look at the <a class="reference internal" href="tokens.html"><span class="doc">Builtin Tokens</span></a> page.</p>
+<p>A lexer also can have the following attributes (in fact, they are mandatory
+except <cite>alias_filenames</cite>) that are used by the builtin lookup mechanism.</p>
+<dl class="attribute">
+<dt id="pygments.lexer.Lexer.name">
+<code class="sig-name descname">name</code><a class="headerlink" href="#pygments.lexer.Lexer.name" title="Permalink to this definition">¶</a></dt>
+<dd><p>Full name for the lexer, in human-readable form.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pygments.lexer.Lexer.aliases">
+<code class="sig-name descname">aliases</code><a class="headerlink" href="#pygments.lexer.Lexer.aliases" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of short, unique identifiers that can be used to lookup
+the lexer from a list, e.g. using <cite>get_lexer_by_name()</cite>.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pygments.lexer.Lexer.filenames">
+<code class="sig-name descname">filenames</code><a class="headerlink" href="#pygments.lexer.Lexer.filenames" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of <cite>fnmatch</cite> patterns that match filenames which contain
+content for this lexer. The patterns in this list should be unique among
+all lexers.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pygments.lexer.Lexer.alias_filenames">
+<code class="sig-name descname">alias_filenames</code><a class="headerlink" href="#pygments.lexer.Lexer.alias_filenames" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of <cite>fnmatch</cite> patterns that match filenames which may or may not
+contain content for this lexer. This list is used by the
+<a class="reference internal" href="#pygments.lexers.guess_lexer_for_filename" title="pygments.lexers.guess_lexer_for_filename"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer_for_filename()</span></code></a> function, to determine which lexers
+are then included in guessing the correct one. That means that
+e.g. every lexer for HTML and a template language should include
+<code class="docutils literal notranslate"><span class="pre">\*.html</span></code> in this list.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pygments.lexer.Lexer.mimetypes">
+<code class="sig-name descname">mimetypes</code><a class="headerlink" href="#pygments.lexer.Lexer.mimetypes" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of MIME types for content that can be lexed with this
+lexer.</p>
+</dd></dl>
+
+</dd></dl>
+
+<span class="target" id="module-pygments.formatter"></span></div>
+<div class="section" id="formatters">
+<h2>Formatters<a class="headerlink" href="#formatters" title="Permalink to this headline">¶</a></h2>
+<p>A formatter is derived from this class:</p>
+<dl class="class">
+<dt id="pygments.formatter.Formatter">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.formatter.</code><code class="sig-name descname">Formatter</code><span class="sig-paren">(</span><em class="sig-param">**options</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatter.Formatter" title="Permalink to this definition">¶</a></dt>
+<dd><p>As with lexers, this constructor processes options and then must call the
+base class <code class="xref py py-meth docutils literal notranslate"><span class="pre">__init__()</span></code>.</p>
+<p>The <a class="reference internal" href="#pygments.formatter.Formatter" title="pygments.formatter.Formatter"><code class="xref py py-class docutils literal notranslate"><span class="pre">Formatter</span></code></a> class recognizes the options <cite>style</cite>, <cite>full</cite> and
+<cite>title</cite>. It is up to the formatter class whether it uses them.</p>
+<dl class="method">
+<dt id="pygments.formatter.Formatter.get_style_defs">
+<code class="sig-name descname">get_style_defs</code><span class="sig-paren">(</span><em class="sig-param">arg=''</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatter.Formatter.get_style_defs" title="Permalink to this definition">¶</a></dt>
+<dd><p>This method must return statements or declarations suitable to define
+the current style for subsequent highlighted text (e.g. CSS classes
+in the <cite>HTMLFormatter</cite>).</p>
+<p>The optional argument <cite>arg</cite> can be used to modify the generation and
+is formatter dependent (it is standardized because it can be given on
+the command line).</p>
+<p>This method is called by the <code class="docutils literal notranslate"><span class="pre">-S</span></code> <a class="reference internal" href="cmdline.html"><span class="doc">command-line option</span></a>,
+the <cite>arg</cite> is then given by the <code class="docutils literal notranslate"><span class="pre">-a</span></code> option.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="pygments.formatter.Formatter.format">
+<code class="sig-name descname">format</code><span class="sig-paren">(</span><em class="sig-param">tokensource</em>, <em class="sig-param">outfile</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.formatter.Formatter.format" title="Permalink to this definition">¶</a></dt>
+<dd><p>This method must format the tokens from the <cite>tokensource</cite> iterable and
+write the formatted version to the file object <cite>outfile</cite>.</p>
+<p>Formatter options can control how exactly the tokens are converted.</p>
+</dd></dl>
+
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7: </span>A formatter must have the following attributes that are used by the
+builtin lookup mechanism.</p>
+</div>
+<dl class="attribute">
+<dt id="pygments.formatter.Formatter.name">
+<code class="sig-name descname">name</code><a class="headerlink" href="#pygments.formatter.Formatter.name" title="Permalink to this definition">¶</a></dt>
+<dd><p>Full name for the formatter, in human-readable form.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pygments.formatter.Formatter.aliases">
+<code class="sig-name descname">aliases</code><a class="headerlink" href="#pygments.formatter.Formatter.aliases" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of short, unique identifiers that can be used to lookup
+the formatter from a list, e.g. using <a class="reference internal" href="#pygments.formatters.get_formatter_by_name" title="pygments.formatters.get_formatter_by_name"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_formatter_by_name()</span></code></a>.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pygments.formatter.Formatter.filenames">
+<code class="sig-name descname">filenames</code><a class="headerlink" href="#pygments.formatter.Formatter.filenames" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of <code class="xref py py-mod docutils literal notranslate"><span class="pre">fnmatch</span></code> patterns that match filenames for which this
+formatter can produce output. The patterns in this list should be unique
+among all formatters.</p>
+</dd></dl>
+
+</dd></dl>
+
+<span class="target" id="module-pygments.util"></span></div>
+<div class="section" id="option-processing">
+<h2>Option processing<a class="headerlink" href="#option-processing" title="Permalink to this headline">¶</a></h2>
+<p>The <a class="reference internal" href="#module-pygments.util" title="pygments.util"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.util</span></code></a> module has some utility functions usable for option
+processing:</p>
+<dl class="exception">
+<dt id="pygments.util.OptionError">
+<em class="property">exception </em><code class="sig-prename descclassname">pygments.util.</code><code class="sig-name descname">OptionError</code><a class="headerlink" href="#pygments.util.OptionError" title="Permalink to this definition">¶</a></dt>
+<dd><p>This exception will be raised by all option processing functions if
+the type or value of the argument is not correct.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.util.get_bool_opt">
+<code class="sig-prename descclassname">pygments.util.</code><code class="sig-name descname">get_bool_opt</code><span class="sig-paren">(</span><em class="sig-param">options</em>, <em class="sig-param">optname</em>, <em class="sig-param">default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.util.get_bool_opt" title="Permalink to this definition">¶</a></dt>
+<dd><p>Interpret the key <cite>optname</cite> from the dictionary <cite>options</cite> as a boolean and
+return it. Return <cite>default</cite> if <cite>optname</cite> is not in <cite>options</cite>.</p>
+<p>The valid string values for <code class="docutils literal notranslate"><span class="pre">True</span></code> are <code class="docutils literal notranslate"><span class="pre">1</span></code>, <code class="docutils literal notranslate"><span class="pre">yes</span></code>, <code class="docutils literal notranslate"><span class="pre">true</span></code> and
+<code class="docutils literal notranslate"><span class="pre">on</span></code>, the ones for <code class="docutils literal notranslate"><span class="pre">False</span></code> are <code class="docutils literal notranslate"><span class="pre">0</span></code>, <code class="docutils literal notranslate"><span class="pre">no</span></code>, <code class="docutils literal notranslate"><span class="pre">false</span></code> and <code class="docutils literal notranslate"><span class="pre">off</span></code>
+(matched case-insensitively).</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.util.get_int_opt">
+<code class="sig-prename descclassname">pygments.util.</code><code class="sig-name descname">get_int_opt</code><span class="sig-paren">(</span><em class="sig-param">options</em>, <em class="sig-param">optname</em>, <em class="sig-param">default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.util.get_int_opt" title="Permalink to this definition">¶</a></dt>
+<dd><p>As <a class="reference internal" href="#pygments.util.get_bool_opt" title="pygments.util.get_bool_opt"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_bool_opt()</span></code></a>, but interpret the value as an integer.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.util.get_list_opt">
+<code class="sig-prename descclassname">pygments.util.</code><code class="sig-name descname">get_list_opt</code><span class="sig-paren">(</span><em class="sig-param">options</em>, <em class="sig-param">optname</em>, <em class="sig-param">default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.util.get_list_opt" title="Permalink to this definition">¶</a></dt>
+<dd><p>If the key <cite>optname</cite> from the dictionary <cite>options</cite> is a string,
+split it at whitespace and return it. If it is already a list
+or a tuple, it is returned as a list.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pygments.util.get_choice_opt">
+<code class="sig-prename descclassname">pygments.util.</code><code class="sig-name descname">get_choice_opt</code><span class="sig-paren">(</span><em class="sig-param">options</em>, <em class="sig-param">optname</em>, <em class="sig-param">allowed</em>, <em class="sig-param">default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pygments.util.get_choice_opt" title="Permalink to this definition">¶</a></dt>
+<dd><p>If the key <cite>optname</cite> from the dictionary is not in the sequence
+<cite>allowed</cite>, raise an error, otherwise return it.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.8.</span></p>
+</div>
+</dd></dl>
+
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Full contributor list — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="prev" title="Pygments changelog" href="changelog.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="changelog.html"
+ title="previous chapter">Pygments changelog</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/authors.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="full-contributor-list">
+<h1>Full contributor list<a class="headerlink" href="#full-contributor-list" title="Permalink to this headline">¶</a></h1>
+<p>Pygments is written and maintained by Georg Brandl <<a class="reference external" href="mailto:georg%40python.org">georg<span>@</span>python<span>.</span>org</a>>.</p>
+<p>Major developers are Tim Hatch <<a class="reference external" href="mailto:tim%40timhatch.com">tim<span>@</span>timhatch<span>.</span>com</a>> and Armin Ronacher
+<<a class="reference external" href="mailto:armin.ronacher%40active-4.com">armin<span>.</span>ronacher<span>@</span>active-4<span>.</span>com</a>>.</p>
+<p>Other contributors, listed alphabetically, are:</p>
+<ul class="simple">
+<li><p>Sam Aaron – Ioke lexer</p></li>
+<li><p>Ali Afshar – image formatter</p></li>
+<li><p>Thomas Aglassinger – Easytrieve, JCL, Rexx, Transact-SQL and VBScript
+lexers</p></li>
+<li><p>Muthiah Annamalai – Ezhil lexer</p></li>
+<li><p>Kumar Appaiah – Debian control lexer</p></li>
+<li><p>Andreas Amann – AppleScript lexer</p></li>
+<li><p>Timothy Armstrong – Dart lexer fixes</p></li>
+<li><p>Jeffrey Arnold – R/S, Rd, BUGS, Jags, and Stan lexers</p></li>
+<li><p>Jeremy Ashkenas – CoffeeScript lexer</p></li>
+<li><p>José Joaquín Atria – Praat lexer</p></li>
+<li><p>Stefan Matthias Aust – Smalltalk lexer</p></li>
+<li><p>Lucas Bajolet – Nit lexer</p></li>
+<li><p>Ben Bangert – Mako lexers</p></li>
+<li><p>Max Battcher – Darcs patch lexer</p></li>
+<li><p>Thomas Baruchel – APL lexer</p></li>
+<li><p>Tim Baumann – (Literate) Agda lexer</p></li>
+<li><p>Paul Baumgart, 280 North, Inc. – Objective-J lexer</p></li>
+<li><p>Michael Bayer – Myghty lexers</p></li>
+<li><p>Thomas Beale – Archetype lexers</p></li>
+<li><p>John Benediktsson – Factor lexer</p></li>
+<li><p>Trevor Bergeron – mIRC formatter</p></li>
+<li><p>Vincent Bernat – LessCSS lexer</p></li>
+<li><p>Christopher Bertels – Fancy lexer</p></li>
+<li><p>Sébastien Bigaret – QVT Operational lexer</p></li>
+<li><p>Jarrett Billingsley – MiniD lexer</p></li>
+<li><p>Adam Blinkinsop – Haskell, Redcode lexers</p></li>
+<li><p>Stéphane Blondon – SGF lexer</p></li>
+<li><p>Frits van Bommel – assembler lexers</p></li>
+<li><p>Pierre Bourdon – bugfixes</p></li>
+<li><p>Matthias Bussonnier – ANSI style handling for terminal-256 formatter</p></li>
+<li><p>chebee7i – Python traceback lexer improvements</p></li>
+<li><p>Hiram Chirino – Scaml and Jade lexers</p></li>
+<li><p>Mauricio Caceres – SAS and Stata lexers.</p></li>
+<li><p>Ian Cooper – VGL lexer</p></li>
+<li><p>David Corbett – Inform, Jasmin, JSGF, Snowball, and TADS 3 lexers</p></li>
+<li><p>Leaf Corcoran – MoonScript lexer</p></li>
+<li><p>Christopher Creutzig – MuPAD lexer</p></li>
+<li><p>Daniël W. Crompton – Pike lexer</p></li>
+<li><p>Pete Curry – bugfixes</p></li>
+<li><p>Bryan Davis – EBNF lexer</p></li>
+<li><p>Bruno Deferrari – Shen lexer</p></li>
+<li><p>Giedrius Dubinskas – HTML formatter improvements</p></li>
+<li><p>Owen Durni – Haxe lexer</p></li>
+<li><p>Alexander Dutton, Oxford University Computing Services – SPARQL lexer</p></li>
+<li><p>James Edwards – Terraform lexer</p></li>
+<li><p>Nick Efford – Python 3 lexer</p></li>
+<li><p>Sven Efftinge – Xtend lexer</p></li>
+<li><p>Artem Egorkine – terminal256 formatter</p></li>
+<li><p>Matthew Fernandez – CAmkES lexer</p></li>
+<li><p>Michael Ficarra – CPSA lexer</p></li>
+<li><p>James H. Fisher – PostScript lexer</p></li>
+<li><p>William S. Fulton – SWIG lexer</p></li>
+<li><p>Carlos Galdino – Elixir and Elixir Console lexers</p></li>
+<li><p>Michael Galloy – IDL lexer</p></li>
+<li><p>Naveen Garg – Autohotkey lexer</p></li>
+<li><p>Laurent Gautier – R/S lexer</p></li>
+<li><p>Alex Gaynor – PyPy log lexer</p></li>
+<li><p>Richard Gerkin – Igor Pro lexer</p></li>
+<li><p>Alain Gilbert – TypeScript lexer</p></li>
+<li><p>Alex Gilding – BlitzBasic lexer</p></li>
+<li><p>Bertrand Goetzmann – Groovy lexer</p></li>
+<li><p>Krzysiek Goj – Scala lexer</p></li>
+<li><p>Andrey Golovizin – BibTeX lexers</p></li>
+<li><p>Matt Good – Genshi, Cheetah lexers</p></li>
+<li><p>Michał Górny – vim modeline support</p></li>
+<li><p>Alex Gosse – TrafficScript lexer</p></li>
+<li><p>Patrick Gotthardt – PHP namespaces support</p></li>
+<li><p>Olivier Guibe – Asymptote lexer</p></li>
+<li><p>Phil Hagelberg – Fennel lexer</p></li>
+<li><p>Florian Hahn – Boogie lexer</p></li>
+<li><p>Martin Harriman – SNOBOL lexer</p></li>
+<li><p>Matthew Harrison – SVG formatter</p></li>
+<li><p>Steven Hazel – Tcl lexer</p></li>
+<li><p>Dan Michael Heggø – Turtle lexer</p></li>
+<li><p>Aslak Hellesøy – Gherkin lexer</p></li>
+<li><p>Greg Hendershott – Racket lexer</p></li>
+<li><p>Justin Hendrick – ParaSail lexer</p></li>
+<li><p>Jordi Gutiérrez Hermoso – Octave lexer</p></li>
+<li><p>David Hess, Fish Software, Inc. – Objective-J lexer</p></li>
+<li><p>Varun Hiremath – Debian control lexer</p></li>
+<li><p>Rob Hoelz – Perl 6 lexer</p></li>
+<li><p>Doug Hogan – Mscgen lexer</p></li>
+<li><p>Ben Hollis – Mason lexer</p></li>
+<li><p>Max Horn – GAP lexer</p></li>
+<li><p>Alastair Houghton – Lexer inheritance facility</p></li>
+<li><p>Tim Howard – BlitzMax lexer</p></li>
+<li><p>Dustin Howett – Logos lexer</p></li>
+<li><p>Ivan Inozemtsev – Fantom lexer</p></li>
+<li><p>Hiroaki Itoh – Shell console rewrite, Lexers for PowerShell session,
+MSDOS session, BC, WDiff</p></li>
+<li><p>Brian R. Jackson – Tea lexer</p></li>
+<li><p>Christian Jann – ShellSession lexer</p></li>
+<li><p>Dennis Kaarsemaker – sources.list lexer</p></li>
+<li><p>Dmitri Kabak – Inferno Limbo lexer</p></li>
+<li><p>Igor Kalnitsky – vhdl lexer</p></li>
+<li><p>Alexander Kit – MaskJS lexer</p></li>
+<li><p>Pekka Klärck – Robot Framework lexer</p></li>
+<li><p>Gerwin Klein – Isabelle lexer</p></li>
+<li><p>Eric Knibbe – Lasso lexer</p></li>
+<li><p>Stepan Koltsov – Clay lexer</p></li>
+<li><p>Adam Koprowski – Opa lexer</p></li>
+<li><p>Benjamin Kowarsch – Modula-2 lexer</p></li>
+<li><p>Domen Kožar – Nix lexer</p></li>
+<li><p>Oleh Krekel – Emacs Lisp lexer</p></li>
+<li><p>Alexander Kriegisch – Kconfig and AspectJ lexers</p></li>
+<li><p>Marek Kubica – Scheme lexer</p></li>
+<li><p>Jochen Kupperschmidt – Markdown processor</p></li>
+<li><p>Gerd Kurzbach – Modelica lexer</p></li>
+<li><p>Jon Larimer, Google Inc. – Smali lexer</p></li>
+<li><p>Olov Lassus – Dart lexer</p></li>
+<li><p>Matt Layman – TAP lexer</p></li>
+<li><p>Kristian Lyngstøl – Varnish lexers</p></li>
+<li><p>Sylvestre Ledru – Scilab lexer</p></li>
+<li><p>Chee Sing Lee – Flatline lexer</p></li>
+<li><p>Mark Lee – Vala lexer</p></li>
+<li><p>Valentin Lorentz – C++ lexer improvements</p></li>
+<li><p>Ben Mabey – Gherkin lexer</p></li>
+<li><p>Angus MacArthur – QML lexer</p></li>
+<li><p>Louis Mandel – X10 lexer</p></li>
+<li><p>Louis Marchand – Eiffel lexer</p></li>
+<li><p>Simone Margaritelli – Hybris lexer</p></li>
+<li><p>Kirk McDonald – D lexer</p></li>
+<li><p>Gordon McGregor – SystemVerilog lexer</p></li>
+<li><p>Stephen McKamey – Duel/JBST lexer</p></li>
+<li><p>Brian McKenna – F# lexer</p></li>
+<li><p>Charles McLaughlin – Puppet lexer</p></li>
+<li><p>Kurt McKee – Tera Term macro lexer</p></li>
+<li><p>Lukas Meuser – BBCode formatter, Lua lexer</p></li>
+<li><p>Cat Miller – Pig lexer</p></li>
+<li><p>Paul Miller – LiveScript lexer</p></li>
+<li><p>Hong Minhee – HTTP lexer</p></li>
+<li><p>Michael Mior – Awk lexer</p></li>
+<li><p>Bruce Mitchener – Dylan lexer rewrite</p></li>
+<li><p>Reuben Morais – SourcePawn lexer</p></li>
+<li><p>Jon Morton – Rust lexer</p></li>
+<li><p>Paulo Moura – Logtalk lexer</p></li>
+<li><p>Mher Movsisyan – DTD lexer</p></li>
+<li><p>Dejan Muhamedagic – Crmsh lexer</p></li>
+<li><p>Ana Nelson – Ragel, ANTLR, R console lexers</p></li>
+<li><p>Kurt Neufeld – Markdown lexer</p></li>
+<li><p>Nam T. Nguyen – Monokai style</p></li>
+<li><p>Jesper Noehr – HTML formatter “anchorlinenos”</p></li>
+<li><p>Mike Nolta – Julia lexer</p></li>
+<li><p>Jonas Obrist – BBCode lexer</p></li>
+<li><p>Edward O’Callaghan – Cryptol lexer</p></li>
+<li><p>David Oliva – Rebol lexer</p></li>
+<li><p>Pat Pannuto – nesC lexer</p></li>
+<li><p>Jon Parise – Protocol buffers and Thrift lexers</p></li>
+<li><p>Benjamin Peterson – Test suite refactoring</p></li>
+<li><p>Ronny Pfannschmidt – BBCode lexer</p></li>
+<li><p>Dominik Picheta – Nimrod lexer</p></li>
+<li><p>Andrew Pinkham – RTF Formatter Refactoring</p></li>
+<li><p>Clément Prévost – UrbiScript lexer</p></li>
+<li><p>Tanner Prynn – cmdline -x option and loading lexers from files</p></li>
+<li><p>Oleh Prypin – Crystal lexer (based on Ruby lexer)</p></li>
+<li><p>Elias Rabel – Fortran fixed form lexer</p></li>
+<li><p>raichoo – Idris lexer</p></li>
+<li><p>Kashif Rasul – CUDA lexer</p></li>
+<li><p>Nathan Reed – HLSL lexer</p></li>
+<li><p>Justin Reidy – MXML lexer</p></li>
+<li><p>Norman Richards – JSON lexer</p></li>
+<li><p>Corey Richardson – Rust lexer updates</p></li>
+<li><p>Lubomir Rintel – GoodData MAQL and CL lexers</p></li>
+<li><p>Andre Roberge – Tango style</p></li>
+<li><p>Georg Rollinger – HSAIL lexer</p></li>
+<li><p>Michiel Roos – TypoScript lexer</p></li>
+<li><p>Konrad Rudolph – LaTeX formatter enhancements</p></li>
+<li><p>Mario Ruggier – Evoque lexers</p></li>
+<li><p>Miikka Salminen – Lovelace style, Hexdump lexer, lexer enhancements</p></li>
+<li><p>Stou Sandalski – NumPy, FORTRAN, tcsh and XSLT lexers</p></li>
+<li><p>Matteo Sasso – Common Lisp lexer</p></li>
+<li><p>Joe Schafer – Ada lexer</p></li>
+<li><p>Ken Schutte – Matlab lexers</p></li>
+<li><p>René Schwaiger – Rainbow Dash style</p></li>
+<li><p>Sebastian Schweizer – Whiley lexer</p></li>
+<li><p>Tassilo Schweyer – Io, MOOCode lexers</p></li>
+<li><p>Ted Shaw – AutoIt lexer</p></li>
+<li><p>Joerg Sieker – ABAP lexer</p></li>
+<li><p>Robert Simmons – Standard ML lexer</p></li>
+<li><p>Kirill Simonov – YAML lexer</p></li>
+<li><p>Corbin Simpson – Monte lexer</p></li>
+<li><p>Alexander Smishlajev – Visual FoxPro lexer</p></li>
+<li><p>Steve Spigarelli – XQuery lexer</p></li>
+<li><p>Jerome St-Louis – eC lexer</p></li>
+<li><p>Camil Staps – Clean and NuSMV lexers; Solarized style</p></li>
+<li><p>James Strachan – Kotlin lexer</p></li>
+<li><p>Tom Stuart – Treetop lexer</p></li>
+<li><p>Colin Sullivan – SuperCollider lexer</p></li>
+<li><p>Ben Swift – Extempore lexer</p></li>
+<li><p>Edoardo Tenani – Arduino lexer</p></li>
+<li><p>Tiberius Teng – default style overhaul</p></li>
+<li><p>Jeremy Thurgood – Erlang, Squid config lexers</p></li>
+<li><p>Brian Tiffin – OpenCOBOL lexer</p></li>
+<li><p>Bob Tolbert – Hy lexer</p></li>
+<li><p>Matthias Trute – Forth lexer</p></li>
+<li><p>Erick Tryzelaar – Felix lexer</p></li>
+<li><p>Alexander Udalov – Kotlin lexer improvements</p></li>
+<li><p>Thomas Van Doren – Chapel lexer</p></li>
+<li><p>Daniele Varrazzo – PostgreSQL lexers</p></li>
+<li><p>Abe Voelker – OpenEdge ABL lexer</p></li>
+<li><p>Pepijn de Vos – HTML formatter CTags support</p></li>
+<li><p>Matthias Vallentin – Bro lexer</p></li>
+<li><p>Benoît Vinot – AMPL lexer</p></li>
+<li><p>Linh Vu Hong – RSL lexer</p></li>
+<li><p>Nathan Weizenbaum – Haml and Sass lexers</p></li>
+<li><p>Nathan Whetsell – Csound lexers</p></li>
+<li><p>Dietmar Winkler – Modelica lexer</p></li>
+<li><p>Nils Winter – Smalltalk lexer</p></li>
+<li><p>Davy Wybiral – Clojure lexer</p></li>
+<li><p>Whitney Young – ObjectiveC lexer</p></li>
+<li><p>Diego Zamboni – CFengine3 lexer</p></li>
+<li><p>Enrique Zamudio – Ceylon lexer</p></li>
+<li><p>Alex Zimin – Nemerle lexer</p></li>
+<li><p>Rob Zimmerman – Kal lexer</p></li>
+<li><p>Vincent Zurczak – Roboconf lexer</p></li>
+<li><p>Rostyslav Golda – FloScript lexer</p></li>
+<li><p>GitHub, Inc – DASM16, Augeas, TOML, and Slash lexers</p></li>
+<li><p>Simon Garnotel – FreeFem++ lexer</p></li>
+</ul>
+<p>Many thanks for all contributions!</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Pygments changelog — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Full contributor list" href="authors.html" />
+ <link rel="prev" title="Using Pygments in various scenarios" href="integrate.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Pygments changelog</a><ul>
+<li><a class="reference internal" href="#version-2-5-0">Version 2.5.0</a></li>
+<li><a class="reference internal" href="#version-2-4-2">Version 2.4.2</a></li>
+<li><a class="reference internal" href="#version-2-4-1">Version 2.4.1</a></li>
+<li><a class="reference internal" href="#version-2-4-0">Version 2.4.0</a></li>
+<li><a class="reference internal" href="#version-2-3-1">Version 2.3.1</a></li>
+<li><a class="reference internal" href="#version-2-3-0">Version 2.3.0</a></li>
+<li><a class="reference internal" href="#version-2-2-0">Version 2.2.0</a></li>
+<li><a class="reference internal" href="#version-2-1-3">Version 2.1.3</a></li>
+<li><a class="reference internal" href="#version-2-1-2">Version 2.1.2</a></li>
+<li><a class="reference internal" href="#version-2-1-1">Version 2.1.1</a></li>
+<li><a class="reference internal" href="#version-2-1">Version 2.1</a></li>
+<li><a class="reference internal" href="#version-2-0-2">Version 2.0.2</a></li>
+<li><a class="reference internal" href="#version-2-0-1">Version 2.0.1</a></li>
+<li><a class="reference internal" href="#version-2-0">Version 2.0</a></li>
+<li><a class="reference internal" href="#version-2-0rc1">Version 2.0rc1</a></li>
+<li><a class="reference internal" href="#version-1-6">Version 1.6</a></li>
+<li><a class="reference internal" href="#version-1-6rc1">Version 1.6rc1</a></li>
+<li><a class="reference internal" href="#version-1-5">Version 1.5</a></li>
+<li><a class="reference internal" href="#version-1-4">Version 1.4</a></li>
+<li><a class="reference internal" href="#version-1-3-1">Version 1.3.1</a></li>
+<li><a class="reference internal" href="#version-1-3">Version 1.3</a></li>
+<li><a class="reference internal" href="#version-1-2-2">Version 1.2.2</a></li>
+<li><a class="reference internal" href="#version-1-2-1">Version 1.2.1</a></li>
+<li><a class="reference internal" href="#version-1-2">Version 1.2</a></li>
+<li><a class="reference internal" href="#version-1-1-1">Version 1.1.1</a></li>
+<li><a class="reference internal" href="#version-1-1">Version 1.1</a></li>
+<li><a class="reference internal" href="#version-1-0">Version 1.0</a></li>
+<li><a class="reference internal" href="#version-0-11-1">Version 0.11.1</a></li>
+<li><a class="reference internal" href="#version-0-11">Version 0.11</a></li>
+<li><a class="reference internal" href="#version-0-10">Version 0.10</a></li>
+<li><a class="reference internal" href="#version-0-9">Version 0.9</a></li>
+<li><a class="reference internal" href="#version-0-8-1">Version 0.8.1</a></li>
+<li><a class="reference internal" href="#version-0-8">Version 0.8</a></li>
+<li><a class="reference internal" href="#version-0-7-1">Version 0.7.1</a></li>
+<li><a class="reference internal" href="#version-0-7">Version 0.7</a></li>
+<li><a class="reference internal" href="#version-0-6">Version 0.6</a></li>
+<li><a class="reference internal" href="#version-0-5-1">Version 0.5.1</a></li>
+<li><a class="reference internal" href="#version-0-5">Version 0.5</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="integrate.html"
+ title="previous chapter">Using Pygments in various scenarios</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="authors.html"
+ title="next chapter">Full contributor list</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/changelog.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="pygments-changelog">
+<h1>Pygments changelog<a class="headerlink" href="#pygments-changelog" title="Permalink to this headline">¶</a></h1>
+<p>Since 2.5.0, issue numbers refer to the tracker at
+<<a class="reference external" href="https://github.com/pygments/pygments/issues">https://github.com/pygments/pygments/issues</a>>,
+pull request numbers to the requests at
+<<a class="reference external" href="https://github.com/pygments/pygments/pulls">https://github.com/pygments/pygments/pulls</a>>.</p>
+<div class="section" id="version-2-5-0">
+<h2>Version 2.5.0<a class="headerlink" href="#version-2-5-0" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Added lexers:</p>
+<ul>
+<li><p>Email (PR#1246)</p></li>
+<li><p>Erlang, Elxir shells (PR#823, #1521)</p></li>
+<li><p>Notmuch (PR#1264)</p></li>
+<li><p><a class="reference external" href="https://git.sr.ht/~sircmpwn/scdoc">Scdoc</a> (PR#1268)</p></li>
+<li><p><a class="reference external" href="https://solidity.readthedocs.io/">Solidity</a> (#1214)</p></li>
+<li><p><a class="reference external" href="https://www.zeek.org">Zeek</a> (new name for Bro) (PR#1269)</p></li>
+<li><p><a class="reference external" href="https://ziglang.org/">Zig</a> (PR#820)</p></li>
+</ul>
+</li>
+<li><p>Updated lexers:</p>
+<ul>
+<li><p>Apache2 Configuration (PR#1251)</p></li>
+<li><p>Bash sessions (#1253)</p></li>
+<li><p>CSound (PR#1250)</p></li>
+<li><p>Dart</p></li>
+<li><p>Dockerfile</p></li>
+<li><p>Emacs Lisp</p></li>
+<li><p>Handlebars (PR#773)</p></li>
+<li><p>Java (#1101, #987)</p></li>
+<li><p>Logtalk (PR#1261)</p></li>
+<li><p>Matlab (PR#1271)</p></li>
+<li><p>Praat (PR#1277)</p></li>
+<li><p>Python3 (PR#1255)</p></li>
+<li><p>Ruby</p></li>
+<li><p>YAML (#1528)</p></li>
+<li><p>Velocity</p></li>
+</ul>
+</li>
+<li><p>Added styles:</p>
+<ul>
+<li><p>Inkpot (PR#1276)</p></li>
+</ul>
+</li>
+<li><p>The <code class="docutils literal notranslate"><span class="pre">PythonLexer</span></code> class is now an alias for the former <code class="docutils literal notranslate"><span class="pre">Python3Lexer</span></code>.
+The old <code class="docutils literal notranslate"><span class="pre">PythonLexer</span></code> is available as <code class="docutils literal notranslate"><span class="pre">Python2Lexer</span></code>. Same change has
+been done for the <code class="docutils literal notranslate"><span class="pre">PythonTracebackLexer</span></code>. The <code class="docutils literal notranslate"><span class="pre">python3</span></code> option for
+the <code class="docutils literal notranslate"><span class="pre">PythonConsoleLexer</span></code> is now true by default.</p></li>
+<li><p>Bump <code class="docutils literal notranslate"><span class="pre">NasmLexer</span></code> priority over <code class="docutils literal notranslate"><span class="pre">TasmLexer</span></code> for <code class="docutils literal notranslate"><span class="pre">.asm</span></code> files
+(fixes #1326)</p></li>
+<li><p>Default font in the <code class="docutils literal notranslate"><span class="pre">ImageFormatter</span></code> has been updated (#928, PR#1245)</p></li>
+<li><p>Test suite switched to py.test, removed nose dependency (#1490)</p></li>
+<li><p>Reduce <code class="docutils literal notranslate"><span class="pre">TeraTerm</span></code> lexer score – it used to match nearly all languages
+(#1256)</p></li>
+<li><p>Treat <code class="docutils literal notranslate"><span class="pre">Skylark</span></code>/<code class="docutils literal notranslate"><span class="pre">Starlark</span></code> files as Python files (PR#1259)</p></li>
+<li><p>Image formatter: actually respect <code class="docutils literal notranslate"><span class="pre">line_number_separator</span></code> option</p></li>
+<li><p>Add LICENSE file to wheel builds</p></li>
+<li><p>Agda: fix lambda highlighting</p></li>
+<li><p>Dart: support <code class="docutils literal notranslate"><span class="pre">@</span></code> annotations</p></li>
+<li><p>Dockerfile: accept <code class="docutils literal notranslate"><span class="pre">FROM</span> <span class="pre">...</span> <span class="pre">AS</span></code> syntax</p></li>
+<li><p>Emacs Lisp: add more string functions</p></li>
+<li><p>GAS: accept registers in directive arguments</p></li>
+<li><p>Java: make structural punctuation (braces, parens, colon, comma) <code class="docutils literal notranslate"><span class="pre">Punctuation</span></code>, not <code class="docutils literal notranslate"><span class="pre">Operator</span></code> (#987)</p></li>
+<li><p>Java: support <code class="docutils literal notranslate"><span class="pre">var</span></code> contextual keyword (#1101)</p></li>
+<li><p>Matlab: Fix recognition of <code class="docutils literal notranslate"><span class="pre">function</span></code> keyword (PR#1271)</p></li>
+<li><p>Python: recognize <code class="docutils literal notranslate"><span class="pre">.jy</span></code> filenames (#976)</p></li>
+<li><p>Python: recognize <code class="docutils literal notranslate"><span class="pre">f</span></code> string prefix (#1156)</p></li>
+<li><p>Ruby: support squiggly heredocs</p></li>
+<li><p>Shell sessions: recognize Virtualenv prompt (PR#1266)</p></li>
+<li><p>Velocity: support silent reference syntax</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-4-2">
+<h2>Version 2.4.2<a class="headerlink" href="#version-2-4-2" title="Permalink to this headline">¶</a></h2>
+<p>(released May 28, 2019)</p>
+<ul class="simple">
+<li><p>Fix encoding error when guessing lexer with given <code class="docutils literal notranslate"><span class="pre">encoding</span></code> option
+(#1438)</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-4-1">
+<h2>Version 2.4.1<a class="headerlink" href="#version-2-4-1" title="Permalink to this headline">¶</a></h2>
+<p>(released May 24, 2019)</p>
+<ul class="simple">
+<li><p>Updated lexers:</p>
+<ul>
+<li><p>Coq (#1430)</p></li>
+<li><p>MSDOS Session (PR#734)</p></li>
+<li><p>NASM (#1517)</p></li>
+<li><p>Objective-C (PR#813, #1508)</p></li>
+<li><p>Prolog (#1511)</p></li>
+<li><p>TypeScript (#1515)</p></li>
+</ul>
+</li>
+<li><p>Support CSS variables in stylesheets (PR#814, #1356)</p></li>
+<li><p>Fix F# lexer name (PR#709)</p></li>
+<li><p>Fix <code class="docutils literal notranslate"><span class="pre">TerminalFormatter</span></code> using bold for bright text (#1480)</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-4-0">
+<h2>Version 2.4.0<a class="headerlink" href="#version-2-4-0" title="Permalink to this headline">¶</a></h2>
+<p>(released May 8, 2019)</p>
+<ul class="simple">
+<li><p>Added lexers:</p>
+<ul>
+<li><p>Augeas (PR#807)</p></li>
+<li><p>BBC Basic (PR#806)</p></li>
+<li><p>Boa (PR#756)</p></li>
+<li><p>Charm++ CI (PR#788)</p></li>
+<li><p>DASM16 (PR#807)</p></li>
+<li><p>FloScript (PR#750)</p></li>
+<li><p>FreeFem++ (PR#785)</p></li>
+<li><p>Hspec (PR#790)</p></li>
+<li><p>Pony (PR#627)</p></li>
+<li><p>SGF (PR#780)</p></li>
+<li><p>Slash (PR#807)</p></li>
+<li><p>Slurm (PR#760)</p></li>
+<li><p>Tera Term Language (PR#749)</p></li>
+<li><p>TOML (PR#807)</p></li>
+<li><p>Unicon (PR#731)</p></li>
+<li><p>VBScript (PR#673)</p></li>
+</ul>
+</li>
+<li><p>Updated lexers:</p>
+<ul>
+<li><p>Apache2 (PR#766)</p></li>
+<li><p>Cypher (PR#746)</p></li>
+<li><p>LLVM (PR#792)</p></li>
+<li><p>Makefiles (PR#766)</p></li>
+<li><p>PHP (#1482)</p></li>
+<li><p>Rust</p></li>
+<li><p>SQL (PR#672)</p></li>
+<li><p>Stan (PR#774)</p></li>
+<li><p>Stata (PR#800)</p></li>
+<li><p>Terraform (PR#787)</p></li>
+<li><p>YAML</p></li>
+</ul>
+</li>
+<li><p>Add solarized style (PR#708)</p></li>
+<li><p>Add support for Markdown reference-style links (PR#753)</p></li>
+<li><p>Add license information to generated HTML/CSS files (#1496)</p></li>
+<li><p>Change ANSI color names (PR#777)</p></li>
+<li><p>Fix catastrophic backtracking in the bash lexer (#1494)</p></li>
+<li><p>Fix documentation failing to build using Sphinx 2.0 (#1501)</p></li>
+<li><p>Fix incorrect links in the Lisp and R lexer documentation (PR#775)</p></li>
+<li><p>Fix rare unicode errors on Python 2.7 (PR#798, #1492)</p></li>
+<li><p>Fix lexers popping from an empty stack (#1506)</p></li>
+<li><p>TypoScript uses <code class="docutils literal notranslate"><span class="pre">.typoscript</span></code> now (#1498)</p></li>
+<li><p>Updated Trove classifiers and <code class="docutils literal notranslate"><span class="pre">pip</span></code> requirements (PR#799)</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-3-1">
+<h2>Version 2.3.1<a class="headerlink" href="#version-2-3-1" title="Permalink to this headline">¶</a></h2>
+<p>(released Dec 16, 2018)</p>
+<ul class="simple">
+<li><p>Updated lexers:</p>
+<ul>
+<li><p>ASM (PR#784)</p></li>
+<li><p>Chapel (PR#735)</p></li>
+<li><p>Clean (PR#621)</p></li>
+<li><p>CSound (PR#684)</p></li>
+<li><p>Elm (PR#744)</p></li>
+<li><p>Fortran (PR#747)</p></li>
+<li><p>GLSL (PR#740)</p></li>
+<li><p>Haskell (PR#745)</p></li>
+<li><p>Hy (PR#754)</p></li>
+<li><p>Igor Pro (PR#764)</p></li>
+<li><p>PowerShell (PR#705)</p></li>
+<li><p>Python (PR#720, #1299, PR#715)</p></li>
+<li><p>SLexer (PR#680)</p></li>
+<li><p>YAML (PR#762, PR#724)</p></li>
+</ul>
+</li>
+<li><p>Fix invalid string escape sequences</p></li>
+<li><p>Fix <cite>FutureWarning</cite> introduced by regex changes in Python 3.7</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-3-0">
+<h2>Version 2.3.0<a class="headerlink" href="#version-2-3-0" title="Permalink to this headline">¶</a></h2>
+<p>(released Nov 25, 2018)</p>
+<ul class="simple">
+<li><p>Added lexers:</p>
+<ul>
+<li><p>Fennel (PR#783)</p></li>
+<li><p>HLSL (PR#675)</p></li>
+</ul>
+</li>
+<li><p>Updated lexers:</p>
+<ul>
+<li><p>Dockerfile (PR#714)</p></li>
+</ul>
+</li>
+<li><p>Minimum Python versions changed to 2.7 and 3.5</p></li>
+<li><p>Added support for Python 3.7 generator changes (PR#772)</p></li>
+<li><p>Fix incorrect token type in SCSS for single-quote strings (#1322)</p></li>
+<li><p>Use <cite>terminal256</cite> formatter if <cite>TERM</cite> contains <cite>256</cite> (PR#666)</p></li>
+<li><p>Fix incorrect handling of GitHub style fences in Markdown (PR#741, #1389)</p></li>
+<li><p>Fix <cite>%a</cite> not being highlighted in Python3 strings (PR#727)</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-2-0">
+<h2>Version 2.2.0<a class="headerlink" href="#version-2-2-0" title="Permalink to this headline">¶</a></h2>
+<p>(released Jan 22, 2017)</p>
+<ul class="simple">
+<li><p>Added lexers:</p>
+<ul>
+<li><p>AMPL</p></li>
+<li><p>TypoScript (#1173)</p></li>
+<li><p>Varnish config (PR#554)</p></li>
+<li><p>Clean (PR#503)</p></li>
+<li><p>WDiff (PR#513)</p></li>
+<li><p>Flatline (PR#551)</p></li>
+<li><p>Silver (PR#537)</p></li>
+<li><p>HSAIL (PR#518)</p></li>
+<li><p>JSGF (PR#546)</p></li>
+<li><p>NCAR command language (PR#536)</p></li>
+<li><p>Extempore (PR#530)</p></li>
+<li><p>Cap’n Proto (PR#595)</p></li>
+<li><p>Whiley (PR#573)</p></li>
+<li><p>Monte (PR#592)</p></li>
+<li><p>Crystal (PR#576)</p></li>
+<li><p>Snowball (PR#589)</p></li>
+<li><p>CapDL (PR#579)</p></li>
+<li><p>NuSMV (PR#564)</p></li>
+<li><p>SAS, Stata (PR#593)</p></li>
+</ul>
+</li>
+<li><p>Added the ability to load lexer and formatter classes directly from files
+with the <cite>-x</cite> command line option and the <cite>lexers.load_lexer_from_file()</cite>
+and <cite>formatters.load_formatter_from_file()</cite> functions. (PR#559)</p></li>
+<li><p>Added <cite>lexers.find_lexer_class_by_name()</cite>. (#1203)</p></li>
+<li><p>Added new token types and lexing for magic methods and variables in Python
+and PHP.</p></li>
+<li><p>Added a new token type for string affixes and lexing for them in Python, C++
+and Postgresql lexers.</p></li>
+<li><p>Added a new token type for heredoc (and similar) string delimiters and
+lexing for them in C++, Perl, PHP, Postgresql and Ruby lexers.</p></li>
+<li><p>Styles can now define colors with ANSI colors for use in the 256-color
+terminal formatter. (PR#531)</p></li>
+<li><p>Improved the CSS lexer. (#1083, #1130)</p></li>
+<li><p>Added “Rainbow Dash” style. (PR#623)</p></li>
+<li><p>Delay loading <cite>pkg_resources</cite>, which takes a long while to import. (PR#690)</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-1-3">
+<h2>Version 2.1.3<a class="headerlink" href="#version-2-1-3" title="Permalink to this headline">¶</a></h2>
+<p>(released Mar 2, 2016)</p>
+<ul class="simple">
+<li><p>Fixed regression in Bash lexer (PR#563)</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-1-2">
+<h2>Version 2.1.2<a class="headerlink" href="#version-2-1-2" title="Permalink to this headline">¶</a></h2>
+<p>(released Feb 29, 2016)</p>
+<ul class="simple">
+<li><p>Fixed Python 3 regression in image formatter (#1215)</p></li>
+<li><p>Fixed regression in Bash lexer (PR#562)</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-1-1">
+<h2>Version 2.1.1<a class="headerlink" href="#version-2-1-1" title="Permalink to this headline">¶</a></h2>
+<p>(relased Feb 14, 2016)</p>
+<ul class="simple">
+<li><p>Fixed Jython compatibility (#1205)</p></li>
+<li><p>Fixed HTML formatter output with leading empty lines (#1111)</p></li>
+<li><p>Added a mapping table for LaTeX encodings and added utf8 (#1152)</p></li>
+<li><p>Fixed image formatter font searching on Macs (#1188)</p></li>
+<li><p>Fixed deepcopy-ing of Token instances (#1168)</p></li>
+<li><p>Fixed Julia string interpolation (#1170)</p></li>
+<li><p>Fixed statefulness of HttpLexer between get_tokens calls</p></li>
+<li><p>Many smaller fixes to various lexers</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-1">
+<h2>Version 2.1<a class="headerlink" href="#version-2-1" title="Permalink to this headline">¶</a></h2>
+<p>(released Jan 17, 2016)</p>
+<ul class="simple">
+<li><p>Added lexers:</p>
+<ul>
+<li><p>Emacs Lisp (PR#431)</p></li>
+<li><p>Arduino (PR#442)</p></li>
+<li><p>Modula-2 with multi-dialect support (#1090)</p></li>
+<li><p>Fortran fixed format (PR#213)</p></li>
+<li><p>Archetype Definition language (PR#483)</p></li>
+<li><p>Terraform (PR#432)</p></li>
+<li><p>Jcl, Easytrieve (PR#208)</p></li>
+<li><p>ParaSail (PR#381)</p></li>
+<li><p>Boogie (PR#420)</p></li>
+<li><p>Turtle (PR#425)</p></li>
+<li><p>Fish Shell (PR#422)</p></li>
+<li><p>Roboconf (PR#449)</p></li>
+<li><p>Test Anything Protocol (PR#428)</p></li>
+<li><p>Shen (PR#385)</p></li>
+<li><p>Component Pascal (PR#437)</p></li>
+<li><p>SuperCollider (PR#472)</p></li>
+<li><p>Shell consoles (Tcsh, PowerShell, MSDOS) (PR#479)</p></li>
+<li><p>Elm and J (PR#452)</p></li>
+<li><p>Crmsh (PR#440)</p></li>
+<li><p>Praat (PR#492)</p></li>
+<li><p>CSound (PR#494)</p></li>
+<li><p>Ezhil (PR#443)</p></li>
+<li><p>Thrift (PR#469)</p></li>
+<li><p>QVT Operational (PR#204)</p></li>
+<li><p>Hexdump (PR#508)</p></li>
+<li><p>CAmkES Configuration (PR#462)</p></li>
+</ul>
+</li>
+<li><p>Added styles:</p>
+<ul>
+<li><p>Lovelace (PR#456)</p></li>
+<li><p>Algol and Algol-nu (#1090)</p></li>
+</ul>
+</li>
+<li><p>Added formatters:</p>
+<ul>
+<li><p>IRC (PR#458)</p></li>
+<li><p>True color (24-bit) terminal ANSI sequences (#1142)
+(formatter alias: “16m”)</p></li>
+</ul>
+</li>
+<li><p>New “filename” option for HTML formatter (PR#527).</p></li>
+<li><p>Improved performance of the HTML formatter for long lines (PR#504).</p></li>
+<li><p>Updated autopygmentize script (PR#445).</p></li>
+<li><p>Fixed style inheritance for non-standard token types in HTML output.</p></li>
+<li><p>Added support for async/await to Python 3 lexer.</p></li>
+<li><p>Rewrote linenos option for TerminalFormatter (it’s better, but slightly
+different output than before) (#1147).</p></li>
+<li><p>Javascript lexer now supports most of ES6 (#1100).</p></li>
+<li><p>Cocoa builtins updated for iOS 8.1 (PR#433).</p></li>
+<li><p>Combined BashSessionLexer and ShellSessionLexer, new version should support
+the prompt styles of either.</p></li>
+<li><p>Added option to pygmentize to show a full traceback on exceptions.</p></li>
+<li><p>Fixed incomplete output on Windows and Python 3 (e.g. when using iPython
+Notebook) (#1153).</p></li>
+<li><p>Allowed more traceback styles in Python console lexer (PR#253).</p></li>
+<li><p>Added decorators to TypeScript (PR#509).</p></li>
+<li><p>Fix highlighting of certain IRC logs formats (#1076).</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-0-2">
+<h2>Version 2.0.2<a class="headerlink" href="#version-2-0-2" title="Permalink to this headline">¶</a></h2>
+<p>(released Jan 20, 2015)</p>
+<ul class="simple">
+<li><p>Fix Python tracebacks getting duplicated in the console lexer (#1068).</p></li>
+<li><p>Backquote-delimited identifiers are now recognized in F# (#1062).</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-0-1">
+<h2>Version 2.0.1<a class="headerlink" href="#version-2-0-1" title="Permalink to this headline">¶</a></h2>
+<p>(released Nov 10, 2014)</p>
+<ul class="simple">
+<li><p>Fix an encoding issue when using <code class="docutils literal notranslate"><span class="pre">pygmentize</span></code> with the <code class="docutils literal notranslate"><span class="pre">-o</span></code> option.</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-0">
+<h2>Version 2.0<a class="headerlink" href="#version-2-0" title="Permalink to this headline">¶</a></h2>
+<p>(released Nov 9, 2014)</p>
+<ul class="simple">
+<li><p>Default lexer encoding is now “guess”, i.e. UTF-8 / Locale / Latin1 is
+tried in that order.</p></li>
+<li><p>Major update to Swift lexer (PR#410).</p></li>
+<li><p>Multiple fixes to lexer guessing in conflicting cases:</p>
+<ul>
+<li><p>recognize HTML5 by doctype</p></li>
+<li><p>recognize XML by XML declaration</p></li>
+<li><p>don’t recognize C/C++ as SystemVerilog</p></li>
+</ul>
+</li>
+<li><p>Simplified regexes and builtin lists.</p></li>
+</ul>
+</div>
+<div class="section" id="version-2-0rc1">
+<h2>Version 2.0rc1<a class="headerlink" href="#version-2-0rc1" title="Permalink to this headline">¶</a></h2>
+<p>(released Oct 16, 2014)</p>
+<ul class="simple">
+<li><p>Dropped Python 2.4 and 2.5 compatibility. This is in favor of single-source
+compatibility between Python 2.6, 2.7 and 3.3+.</p></li>
+<li><p>New website and documentation based on Sphinx (finally!)</p></li>
+<li><p>Lexers added:</p>
+<ul>
+<li><p>APL (#969)</p></li>
+<li><p>Agda and Literate Agda (PR#203)</p></li>
+<li><p>Alloy (PR#355)</p></li>
+<li><p>AmbientTalk</p></li>
+<li><p>BlitzBasic (PR#197)</p></li>
+<li><p>ChaiScript (PR#24)</p></li>
+<li><p>Chapel (PR#256)</p></li>
+<li><p>Cirru (PR#275)</p></li>
+<li><p>Clay (PR#184)</p></li>
+<li><p>ColdFusion CFC (PR#283)</p></li>
+<li><p>Cryptol and Literate Cryptol (PR#344)</p></li>
+<li><p>Cypher (PR#257)</p></li>
+<li><p>Docker config files</p></li>
+<li><p>EBNF (PR#193)</p></li>
+<li><p>Eiffel (PR#273)</p></li>
+<li><p>GAP (PR#311)</p></li>
+<li><p>Golo (PR#309)</p></li>
+<li><p>Handlebars (PR#186)</p></li>
+<li><p>Hy (PR#238)</p></li>
+<li><p>Idris and Literate Idris (PR#210)</p></li>
+<li><p>Igor Pro (PR#172)</p></li>
+<li><p>Inform 6/7 (PR#281)</p></li>
+<li><p>Intel objdump (PR#279)</p></li>
+<li><p>Isabelle (PR#386)</p></li>
+<li><p>Jasmin (PR#349)</p></li>
+<li><p>JSON-LD (PR#289)</p></li>
+<li><p>Kal (PR#233)</p></li>
+<li><p>Lean (PR#399)</p></li>
+<li><p>LSL (PR#296)</p></li>
+<li><p>Limbo (PR#291)</p></li>
+<li><p>Liquid (#977)</p></li>
+<li><p>MQL (PR#285)</p></li>
+<li><p>MaskJS (PR#280)</p></li>
+<li><p>Mozilla preprocessors</p></li>
+<li><p>Mathematica (PR#245)</p></li>
+<li><p>NesC (PR#166)</p></li>
+<li><p>Nit (PR#375)</p></li>
+<li><p>Nix (PR#267)</p></li>
+<li><p>Pan</p></li>
+<li><p>Pawn (PR#211)</p></li>
+<li><p>Perl 6 (PR#181)</p></li>
+<li><p>Pig (PR#304)</p></li>
+<li><p>Pike (PR#237)</p></li>
+<li><p>QBasic (PR#182)</p></li>
+<li><p>Red (PR#341)</p></li>
+<li><p>ResourceBundle (#1038)</p></li>
+<li><p>Rexx (PR#199)</p></li>
+<li><p>Rql (PR#251)</p></li>
+<li><p>Rsl</p></li>
+<li><p>SPARQL (PR#78)</p></li>
+<li><p>Slim (PR#366)</p></li>
+<li><p>Swift (PR#371)</p></li>
+<li><p>Swig (PR#168)</p></li>
+<li><p>TADS 3 (PR#407)</p></li>
+<li><p>Todo.txt todo lists</p></li>
+<li><p>Twig (PR#404)</p></li>
+</ul>
+</li>
+<li><p>Added a helper to “optimize” regular expressions that match one of many
+literal words; this can save 20% and more lexing time with lexers that
+highlight many keywords or builtins.</p></li>
+<li><p>New styles: “xcode” and “igor”, similar to the default highlighting of
+the respective IDEs.</p></li>
+<li><p>The command-line “pygmentize” tool now tries a little harder to find the
+correct encoding for files and the terminal (#979).</p></li>
+<li><p>Added “inencoding” option for lexers to override “encoding” analogous
+to “outencoding” (#800).</p></li>
+<li><p>Added line-by-line “streaming” mode for pygmentize with the “-s” option.
+(PR#165) Only fully works for lexers that have no constructs spanning
+lines!</p></li>
+<li><p>Added an “envname” option to the LaTeX formatter to select a replacement
+verbatim environment (PR#235).</p></li>
+<li><p>Updated the Makefile lexer to yield a little more useful highlighting.</p></li>
+<li><p>Lexer aliases passed to <code class="docutils literal notranslate"><span class="pre">get_lexer_by_name()</span></code> are now case-insensitive.</p></li>
+<li><p>File name matching in lexers and formatters will now use a regex cache
+for speed (PR#205).</p></li>
+<li><p>Pygments will now recognize “vim” modelines when guessing the lexer for
+a file based on content (PR#118).</p></li>
+<li><p>Major restructure of the <code class="docutils literal notranslate"><span class="pre">pygments.lexers</span></code> module namespace. There are now
+many more modules with less lexers per module. Old modules are still around
+and re-export the lexers they previously contained.</p></li>
+<li><p>The NameHighlightFilter now works with any Name.* token type (#790).</p></li>
+<li><p>Python 3 lexer: add new exceptions from PEP 3151.</p></li>
+<li><p>Opa lexer: add new keywords (PR#170).</p></li>
+<li><p>Julia lexer: add keywords and underscore-separated number
+literals (PR#176).</p></li>
+<li><p>Lasso lexer: fix method highlighting, update builtins. Fix
+guessing so that plain XML isn’t always taken as Lasso (PR#163).</p></li>
+<li><p>Objective C/C++ lexers: allow “@” prefixing any expression (#871).</p></li>
+<li><p>Ruby lexer: fix lexing of Name::Space tokens (#860) and of symbols
+in hashes (#873).</p></li>
+<li><p>Stan lexer: update for version 2.4.0 of the language (PR#162, PR#255, PR#377).</p></li>
+<li><p>JavaScript lexer: add the “yield” keyword (PR#196).</p></li>
+<li><p>HTTP lexer: support for PATCH method (PR#190).</p></li>
+<li><p>Koka lexer: update to newest language spec (PR#201).</p></li>
+<li><p>Haxe lexer: rewrite and support for Haxe 3 (PR#174).</p></li>
+<li><p>Prolog lexer: add different kinds of numeric literals (#864).</p></li>
+<li><p>F# lexer: rewrite with newest spec for F# 3.0 (#842), fix a bug with
+dotted chains (#948).</p></li>
+<li><p>Kotlin lexer: general update (PR#271).</p></li>
+<li><p>Rebol lexer: fix comment detection and analyse_text (PR#261).</p></li>
+<li><p>LLVM lexer: update keywords to v3.4 (PR#258).</p></li>
+<li><p>PHP lexer: add new keywords and binary literals (PR#222).</p></li>
+<li><p>external/markdown-processor.py updated to newest python-markdown (PR#221).</p></li>
+<li><p>CSS lexer: some highlighting order fixes (PR#231).</p></li>
+<li><p>Ceylon lexer: fix parsing of nested multiline comments (#915).</p></li>
+<li><p>C family lexers: fix parsing of indented preprocessor directives (#944).</p></li>
+<li><p>Rust lexer: update to 0.9 language version (PR#270, PR#388).</p></li>
+<li><p>Elixir lexer: update to 0.15 language version (PR#392).</p></li>
+<li><p>Fix swallowing incomplete tracebacks in Python console lexer (#874).</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-6">
+<h2>Version 1.6<a class="headerlink" href="#version-1-6" title="Permalink to this headline">¶</a></h2>
+<p>(released Feb 3, 2013)</p>
+<ul class="simple">
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Dylan console (PR#149)</p></li>
+<li><p>Logos (PR#150)</p></li>
+<li><p>Shell sessions (PR#158)</p></li>
+</ul>
+</li>
+<li><p>Fix guessed lexers not receiving lexer options (#838).</p></li>
+<li><p>Fix unquoted HTML attribute lexing in Opa (#841).</p></li>
+<li><p>Fixes to the Dart lexer (PR#160).</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-6rc1">
+<h2>Version 1.6rc1<a class="headerlink" href="#version-1-6rc1" title="Permalink to this headline">¶</a></h2>
+<p>(released Jan 9, 2013)</p>
+<ul class="simple">
+<li><p>Lexers added:</p>
+<ul>
+<li><p>AspectJ (PR#90)</p></li>
+<li><p>AutoIt (PR#122)</p></li>
+<li><p>BUGS-like languages (PR#89)</p></li>
+<li><p>Ceylon (PR#86)</p></li>
+<li><p>Croc (new name for MiniD)</p></li>
+<li><p>CUDA (PR#75)</p></li>
+<li><p>Dg (PR#116)</p></li>
+<li><p>IDL (PR#115)</p></li>
+<li><p>Jags (PR#89)</p></li>
+<li><p>Julia (PR#61)</p></li>
+<li><p>Kconfig (#711)</p></li>
+<li><p>Lasso (PR#95, PR#113)</p></li>
+<li><p>LiveScript (PR#84)</p></li>
+<li><p>Monkey (PR#117)</p></li>
+<li><p>Mscgen (PR#80)</p></li>
+<li><p>NSIS scripts (PR#136)</p></li>
+<li><p>OpenCOBOL (PR#72)</p></li>
+<li><p>QML (PR#123)</p></li>
+<li><p>Puppet (PR#133)</p></li>
+<li><p>Racket (PR#94)</p></li>
+<li><p>Rdoc (PR#99)</p></li>
+<li><p>Robot Framework (PR#137)</p></li>
+<li><p>RPM spec files (PR#124)</p></li>
+<li><p>Rust (PR#67)</p></li>
+<li><p>Smali (Dalvik assembly)</p></li>
+<li><p>SourcePawn (PR#39)</p></li>
+<li><p>Stan (PR#89)</p></li>
+<li><p>Treetop (PR#125)</p></li>
+<li><p>TypeScript (PR#114)</p></li>
+<li><p>VGL (PR#12)</p></li>
+<li><p>Visual FoxPro (#762)</p></li>
+<li><p>Windows Registry (#819)</p></li>
+<li><p>Xtend (PR#68)</p></li>
+</ul>
+</li>
+<li><p>The HTML formatter now supports linking to tags using CTags files, when the
+python-ctags package is installed (PR#87).</p></li>
+<li><p>The HTML formatter now has a “linespans” option that wraps every line in a
+<span> tag with a specific id (PR#82).</p></li>
+<li><p>When deriving a lexer from another lexer with token definitions, definitions
+for states not in the child lexer are now inherited. If you override a state
+in the child lexer, an “inherit” keyword has been added to insert the base
+state at that position (PR#141).</p></li>
+<li><p>The C family lexers now inherit token definitions from a common base class,
+removing code duplication (PR#141).</p></li>
+<li><p>Use “colorama” on Windows for console color output (PR#142).</p></li>
+<li><p>Fix Template Haskell highlighting (PR#63).</p></li>
+<li><p>Fix some S/R lexer errors (PR#91).</p></li>
+<li><p>Fix a bug in the Prolog lexer with names that start with ‘is’ (#810).</p></li>
+<li><p>Rewrite Dylan lexer, add Dylan LID lexer (PR#147).</p></li>
+<li><p>Add a Java quickstart document (PR#146).</p></li>
+<li><p>Add a “external/autopygmentize” file that can be used as .lessfilter (#802).</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-5">
+<h2>Version 1.5<a class="headerlink" href="#version-1-5" title="Permalink to this headline">¶</a></h2>
+<p>(codename Zeitdilatation, released Mar 10, 2012)</p>
+<ul class="simple">
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Awk (#630)</p></li>
+<li><p>Fancy (#633)</p></li>
+<li><p>PyPy Log</p></li>
+<li><p>eC</p></li>
+<li><p>Nimrod</p></li>
+<li><p>Nemerle (#667)</p></li>
+<li><p>F# (#353)</p></li>
+<li><p>Groovy (#501)</p></li>
+<li><p>PostgreSQL (#660)</p></li>
+<li><p>DTD</p></li>
+<li><p>Gosu (#634)</p></li>
+<li><p>Octave (PR#22)</p></li>
+<li><p>Standard ML (PR#14)</p></li>
+<li><p>CFengine3 (#601)</p></li>
+<li><p>Opa (PR#37)</p></li>
+<li><p>HTTP sessions (PR#42)</p></li>
+<li><p>JSON (PR#31)</p></li>
+<li><p>SNOBOL (PR#30)</p></li>
+<li><p>MoonScript (PR#43)</p></li>
+<li><p>ECL (PR#29)</p></li>
+<li><p>Urbiscript (PR#17)</p></li>
+<li><p>OpenEdge ABL (PR#27)</p></li>
+<li><p>SystemVerilog (PR#35)</p></li>
+<li><p>Coq (#734)</p></li>
+<li><p>PowerShell (#654)</p></li>
+<li><p>Dart (#715)</p></li>
+<li><p>Fantom (PR#36)</p></li>
+<li><p>Bro (PR#5)</p></li>
+<li><p>NewLISP (PR#26)</p></li>
+<li><p>VHDL (PR#45)</p></li>
+<li><p>Scilab (#740)</p></li>
+<li><p>Elixir (PR#57)</p></li>
+<li><p>Tea (PR#56)</p></li>
+<li><p>Kotlin (PR#58)</p></li>
+</ul>
+</li>
+<li><p>Fix Python 3 terminal highlighting with pygmentize (#691).</p></li>
+<li><p>In the LaTeX formatter, escape special &, < and > chars (#648).</p></li>
+<li><p>In the LaTeX formatter, fix display problems for styles with token
+background colors (#670).</p></li>
+<li><p>Enhancements to the Squid conf lexer (#664).</p></li>
+<li><p>Several fixes to the reStructuredText lexer (#636).</p></li>
+<li><p>Recognize methods in the ObjC lexer (#638).</p></li>
+<li><p>Fix Lua “class” highlighting: it does not have classes (#665).</p></li>
+<li><p>Fix degenerate regex in Scala lexer (#671) and highlighting bugs (#713, 708).</p></li>
+<li><p>Fix number pattern order in Ocaml lexer (#647).</p></li>
+<li><p>Fix generic type highlighting in ActionScript 3 (#666).</p></li>
+<li><p>Fixes to the Clojure lexer (PR#9).</p></li>
+<li><p>Fix degenerate regex in Nemerle lexer (#706).</p></li>
+<li><p>Fix infinite looping in CoffeeScript lexer (#729).</p></li>
+<li><p>Fix crashes and analysis with ObjectiveC lexer (#693, #696).</p></li>
+<li><p>Add some Fortran 2003 keywords.</p></li>
+<li><p>Fix Boo string regexes (#679).</p></li>
+<li><p>Add “rrt” style (#727).</p></li>
+<li><p>Fix infinite looping in Darcs Patch lexer.</p></li>
+<li><p>Lots of misc fixes to character-eating bugs and ordering problems in many
+different lexers.</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-4">
+<h2>Version 1.4<a class="headerlink" href="#version-1-4" title="Permalink to this headline">¶</a></h2>
+<p>(codename Unschärfe, released Jan 03, 2011)</p>
+<ul class="simple">
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Factor (#520)</p></li>
+<li><p>PostScript (#486)</p></li>
+<li><p>Verilog (#491)</p></li>
+<li><p>BlitzMax Basic (#478)</p></li>
+<li><p>Ioke (#465)</p></li>
+<li><p>Java properties, split out of the INI lexer (#445)</p></li>
+<li><p>Scss (#509)</p></li>
+<li><p>Duel/JBST</p></li>
+<li><p>XQuery (#617)</p></li>
+<li><p>Mason (#615)</p></li>
+<li><p>GoodData (#609)</p></li>
+<li><p>SSP (#473)</p></li>
+<li><p>Autohotkey (#417)</p></li>
+<li><p>Google Protocol Buffers</p></li>
+<li><p>Hybris (#506)</p></li>
+</ul>
+</li>
+<li><p>Do not fail in analyse_text methods (#618).</p></li>
+<li><p>Performance improvements in the HTML formatter (#523).</p></li>
+<li><p>With the <code class="docutils literal notranslate"><span class="pre">noclasses</span></code> option in the HTML formatter, some styles
+present in the stylesheet were not added as inline styles.</p></li>
+<li><p>Four fixes to the Lua lexer (#480, #481, #482, #497).</p></li>
+<li><p>More context-sensitive Gherkin lexer with support for more i18n translations.</p></li>
+<li><p>Support new OO keywords in Matlab lexer (#521).</p></li>
+<li><p>Small fix in the CoffeeScript lexer (#519).</p></li>
+<li><p>A bugfix for backslashes in ocaml strings (#499).</p></li>
+<li><p>Fix unicode/raw docstrings in the Python lexer (#489).</p></li>
+<li><p>Allow PIL to work without PIL.pth (#502).</p></li>
+<li><p>Allow seconds as a unit in CSS (#496).</p></li>
+<li><p>Support <code class="docutils literal notranslate"><span class="pre">application/javascript</span></code> as a JavaScript mime type (#504).</p></li>
+<li><p>Support <a class="reference external" href="http://offload.codeplay.com">Offload</a> C++ Extensions as
+keywords in the C++ lexer (#484).</p></li>
+<li><p>Escape more characters in LaTeX output (#505).</p></li>
+<li><p>Update Haml/Sass lexers to version 3 (#509).</p></li>
+<li><p>Small PHP lexer string escaping fix (#515).</p></li>
+<li><p>Support comments before preprocessor directives, and unsigned/
+long long literals in C/C++ (#613, #616).</p></li>
+<li><p>Support line continuations in the INI lexer (#494).</p></li>
+<li><p>Fix lexing of Dylan string and char literals (#628).</p></li>
+<li><p>Fix class/procedure name highlighting in VB.NET lexer (#624).</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-3-1">
+<h2>Version 1.3.1<a class="headerlink" href="#version-1-3-1" title="Permalink to this headline">¶</a></h2>
+<p>(bugfix release, released Mar 05, 2010)</p>
+<ul class="simple">
+<li><p>The <code class="docutils literal notranslate"><span class="pre">pygmentize</span></code> script was missing from the distribution.</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-3">
+<h2>Version 1.3<a class="headerlink" href="#version-1-3" title="Permalink to this headline">¶</a></h2>
+<p>(codename Schneeglöckchen, released Mar 01, 2010)</p>
+<ul class="simple">
+<li><p>Added the <code class="docutils literal notranslate"><span class="pre">ensurenl</span></code> lexer option, which can be used to suppress the
+automatic addition of a newline to the lexer input.</p></li>
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Ada</p></li>
+<li><p>Coldfusion</p></li>
+<li><p>Modula-2</p></li>
+<li><p>Haxe</p></li>
+<li><p>R console</p></li>
+<li><p>Objective-J</p></li>
+<li><p>Haml and Sass</p></li>
+<li><p>CoffeeScript</p></li>
+</ul>
+</li>
+<li><p>Enhanced reStructuredText highlighting.</p></li>
+<li><p>Added support for PHP 5.3 namespaces in the PHP lexer.</p></li>
+<li><p>Added a bash completion script for <cite>pygmentize</cite>, to the external/
+directory (#466).</p></li>
+<li><p>Fixed a bug in <cite>do_insertions()</cite> used for multi-lexer languages.</p></li>
+<li><p>Fixed a Ruby regex highlighting bug (#476).</p></li>
+<li><p>Fixed regex highlighting bugs in Perl lexer (#258).</p></li>
+<li><p>Add small enhancements to the C lexer (#467) and Bash lexer (#469).</p></li>
+<li><p>Small fixes for the Tcl, Debian control file, Nginx config,
+Smalltalk, Objective-C, Clojure, Lua lexers.</p></li>
+<li><p>Gherkin lexer: Fixed single apostrophe bug and added new i18n keywords.</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-2-2">
+<h2>Version 1.2.2<a class="headerlink" href="#version-1-2-2" title="Permalink to this headline">¶</a></h2>
+<p>(bugfix release, released Jan 02, 2010)</p>
+<ul class="simple">
+<li><p>Removed a backwards incompatibility in the LaTeX formatter that caused
+Sphinx to produce invalid commands when writing LaTeX output (#463).</p></li>
+<li><p>Fixed a forever-backtracking regex in the BashLexer (#462).</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-2-1">
+<h2>Version 1.2.1<a class="headerlink" href="#version-1-2-1" title="Permalink to this headline">¶</a></h2>
+<p>(bugfix release, released Jan 02, 2010)</p>
+<ul class="simple">
+<li><p>Fixed mishandling of an ellipsis in place of the frames in a Python
+console traceback, resulting in clobbered output.</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-2">
+<h2>Version 1.2<a class="headerlink" href="#version-1-2" title="Permalink to this headline">¶</a></h2>
+<p>(codename Neujahr, released Jan 01, 2010)</p>
+<ul class="simple">
+<li><p>Dropped Python 2.3 compatibility.</p></li>
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Asymptote</p></li>
+<li><p>Go</p></li>
+<li><p>Gherkin (Cucumber)</p></li>
+<li><p>CMake</p></li>
+<li><p>Ooc</p></li>
+<li><p>Coldfusion</p></li>
+<li><p>Haxe</p></li>
+<li><p>R console</p></li>
+</ul>
+</li>
+<li><p>Added options for rendering LaTeX in source code comments in the
+LaTeX formatter (#461).</p></li>
+<li><p>Updated the Logtalk lexer.</p></li>
+<li><p>Added <cite>line_number_start</cite> option to image formatter (#456).</p></li>
+<li><p>Added <cite>hl_lines</cite> and <cite>hl_color</cite> options to image formatter (#457).</p></li>
+<li><p>Fixed the HtmlFormatter’s handling of noclasses=True to not output any
+classes (#427).</p></li>
+<li><p>Added the Monokai style (#453).</p></li>
+<li><p>Fixed LLVM lexer identifier syntax and added new keywords (#442).</p></li>
+<li><p>Fixed the PythonTracebackLexer to handle non-traceback data in header or
+trailer, and support more partial tracebacks that start on line 2 (#437).</p></li>
+<li><p>Fixed the CLexer to not highlight ternary statements as labels.</p></li>
+<li><p>Fixed lexing of some Ruby quoting peculiarities (#460).</p></li>
+<li><p>A few ASM lexer fixes (#450).</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-1-1">
+<h2>Version 1.1.1<a class="headerlink" href="#version-1-1-1" title="Permalink to this headline">¶</a></h2>
+<p>(bugfix release, released Sep 15, 2009)</p>
+<ul class="simple">
+<li><p>Fixed the BBCode lexer (#435).</p></li>
+<li><p>Added support for new Jinja2 keywords.</p></li>
+<li><p>Fixed test suite failures.</p></li>
+<li><p>Added Gentoo-specific suffixes to Bash lexer.</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-1">
+<h2>Version 1.1<a class="headerlink" href="#version-1-1" title="Permalink to this headline">¶</a></h2>
+<p>(codename Brillouin, released Sep 11, 2009)</p>
+<ul class="simple">
+<li><p>Ported Pygments to Python 3. This needed a few changes in the way
+encodings are handled; they may affect corner cases when used with
+Python 2 as well.</p></li>
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Antlr/Ragel, thanks to Ana Nelson</p></li>
+<li><p>(Ba)sh shell</p></li>
+<li><p>Erlang shell</p></li>
+<li><p>GLSL</p></li>
+<li><p>Prolog</p></li>
+<li><p>Evoque</p></li>
+<li><p>Modelica</p></li>
+<li><p>Rebol</p></li>
+<li><p>MXML</p></li>
+<li><p>Cython</p></li>
+<li><p>ABAP</p></li>
+<li><p>ASP.net (VB/C#)</p></li>
+<li><p>Vala</p></li>
+<li><p>Newspeak</p></li>
+</ul>
+</li>
+<li><p>Fixed the LaTeX formatter’s output so that output generated for one style
+can be used with the style definitions of another (#384).</p></li>
+<li><p>Added “anchorlinenos” and “noclobber_cssfile” (#396) options to HTML
+formatter.</p></li>
+<li><p>Support multiline strings in Lua lexer.</p></li>
+<li><p>Rewrite of the JavaScript lexer by Pumbaa80 to better support regular
+expression literals (#403).</p></li>
+<li><p>When pygmentize is asked to highlight a file for which multiple lexers
+match the filename, use the analyse_text guessing engine to determine the
+winner (#355).</p></li>
+<li><p>Fixed minor bugs in the JavaScript lexer (#383), the Matlab lexer (#378),
+the Scala lexer (#392), the INI lexer (#391), the Clojure lexer (#387)
+and the AS3 lexer (#389).</p></li>
+<li><p>Fixed three Perl heredoc lexing bugs (#379, #400, #422).</p></li>
+<li><p>Fixed a bug in the image formatter which misdetected lines (#380).</p></li>
+<li><p>Fixed bugs lexing extended Ruby strings and regexes.</p></li>
+<li><p>Fixed a bug when lexing git diffs.</p></li>
+<li><p>Fixed a bug lexing the empty commit in the PHP lexer (#405).</p></li>
+<li><p>Fixed a bug causing Python numbers to be mishighlighted as floats (#397).</p></li>
+<li><p>Fixed a bug when backslashes are used in odd locations in Python (#395).</p></li>
+<li><p>Fixed various bugs in Matlab and S-Plus lexers, thanks to Winston Chang (#410,
+#411, #413, #414) and fmarc (#419).</p></li>
+<li><p>Fixed a bug in Haskell single-line comment detection (#426).</p></li>
+<li><p>Added new-style reStructuredText directive for docutils 0.5+ (#428).</p></li>
+</ul>
+</div>
+<div class="section" id="version-1-0">
+<h2>Version 1.0<a class="headerlink" href="#version-1-0" title="Permalink to this headline">¶</a></h2>
+<p>(codename Dreiundzwanzig, released Nov 23, 2008)</p>
+<ul>
+<li><p>Don’t use join(splitlines()) when converting newlines to <code class="docutils literal notranslate"><span class="pre">\n</span></code>,
+because that doesn’t keep all newlines at the end when the
+<code class="docutils literal notranslate"><span class="pre">stripnl</span></code> lexer option is False.</p></li>
+<li><p>Added <code class="docutils literal notranslate"><span class="pre">-N</span></code> option to command-line interface to get a lexer name
+for a given filename.</p></li>
+<li><p>Added Tango style, written by Andre Roberge for the Crunchy project.</p></li>
+<li><p>Added Python3TracebackLexer and <code class="docutils literal notranslate"><span class="pre">python3</span></code> option to
+PythonConsoleLexer.</p></li>
+<li><p>Fixed a few bugs in the Haskell lexer.</p></li>
+<li><p>Fixed PythonTracebackLexer to be able to recognize SyntaxError and
+KeyboardInterrupt (#360).</p></li>
+<li><p>Provide one formatter class per image format, so that surprises like:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pygmentize</span> <span class="o">-</span><span class="n">f</span> <span class="n">gif</span> <span class="o">-</span><span class="n">o</span> <span class="n">foo</span><span class="o">.</span><span class="n">gif</span> <span class="n">foo</span><span class="o">.</span><span class="n">py</span>
+</pre></div>
+</div>
+<p>creating a PNG file are avoided.</p>
+</li>
+<li><p>Actually use the <cite>font_size</cite> option of the image formatter.</p></li>
+<li><p>Fixed numpy lexer that it doesn’t listen for <cite>*.py</cite> any longer.</p></li>
+<li><p>Fixed HTML formatter so that text options can be Unicode
+strings (#371).</p></li>
+<li><p>Unified Diff lexer supports the “udiff” alias now.</p></li>
+<li><p>Fixed a few issues in Scala lexer (#367).</p></li>
+<li><p>RubyConsoleLexer now supports simple prompt mode (#363).</p></li>
+<li><p>JavascriptLexer is smarter about what constitutes a regex (#356).</p></li>
+<li><p>Add Applescript lexer, thanks to Andreas Amann (#330).</p></li>
+<li><p>Make the codetags more strict about matching words (#368).</p></li>
+<li><p>NginxConfLexer is a little more accurate on mimetypes and
+variables (#370).</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-11-1">
+<h2>Version 0.11.1<a class="headerlink" href="#version-0-11-1" title="Permalink to this headline">¶</a></h2>
+<p>(released Aug 24, 2008)</p>
+<ul class="simple">
+<li><p>Fixed a Jython compatibility issue in pygments.unistring (#358).</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-11">
+<h2>Version 0.11<a class="headerlink" href="#version-0-11" title="Permalink to this headline">¶</a></h2>
+<p>(codename Straußenei, released Aug 23, 2008)</p>
+<p>Many thanks go to Tim Hatch for writing or integrating most of the bug
+fixes and new features.</p>
+<ul class="simple">
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Nasm-style assembly language, thanks to delroth</p></li>
+<li><p>YAML, thanks to Kirill Simonov</p></li>
+<li><p>ActionScript 3, thanks to Pierre Bourdon</p></li>
+<li><p>Cheetah/Spitfire templates, thanks to Matt Good</p></li>
+<li><p>Lighttpd config files</p></li>
+<li><p>Nginx config files</p></li>
+<li><p>Gnuplot plotting scripts</p></li>
+<li><p>Clojure</p></li>
+<li><p>POV-Ray scene files</p></li>
+<li><p>Sqlite3 interactive console sessions</p></li>
+<li><p>Scala source files, thanks to Krzysiek Goj</p></li>
+</ul>
+</li>
+<li><p>Lexers improved:</p>
+<ul>
+<li><p>C lexer highlights standard library functions now and supports C99
+types.</p></li>
+<li><p>Bash lexer now correctly highlights heredocs without preceding
+whitespace.</p></li>
+<li><p>Vim lexer now highlights hex colors properly and knows a couple
+more keywords.</p></li>
+<li><p>Irc logs lexer now handles xchat’s default time format (#340) and
+correctly highlights lines ending in <code class="docutils literal notranslate"><span class="pre">></span></code>.</p></li>
+<li><p>Support more delimiters for perl regular expressions (#258).</p></li>
+<li><p>ObjectiveC lexer now supports 2.0 features.</p></li>
+</ul>
+</li>
+<li><p>Added “Visual Studio” style.</p></li>
+<li><p>Updated markdown processor to Markdown 1.7.</p></li>
+<li><p>Support roman/sans/mono style defs and use them in the LaTeX
+formatter.</p></li>
+<li><p>The RawTokenFormatter is no longer registered to <code class="docutils literal notranslate"><span class="pre">*.raw</span></code> and it’s
+documented that tokenization with this lexer may raise exceptions.</p></li>
+<li><p>New option <code class="docutils literal notranslate"><span class="pre">hl_lines</span></code> to HTML formatter, to highlight certain
+lines.</p></li>
+<li><p>New option <code class="docutils literal notranslate"><span class="pre">prestyles</span></code> to HTML formatter.</p></li>
+<li><p>New option <em>-g</em> to pygmentize, to allow lexer guessing based on
+filetext (can be slowish, so file extensions are still checked
+first).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">guess_lexer()</span></code> now makes its decision much faster due to a cache
+of whether data is xml-like (a check which is used in several
+versions of <code class="docutils literal notranslate"><span class="pre">analyse_text()</span></code>. Several lexers also have more
+accurate <code class="docutils literal notranslate"><span class="pre">analyse_text()</span></code> now.</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-10">
+<h2>Version 0.10<a class="headerlink" href="#version-0-10" title="Permalink to this headline">¶</a></h2>
+<p>(codename Malzeug, released May 06, 2008)</p>
+<ul class="simple">
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Io</p></li>
+<li><p>Smalltalk</p></li>
+<li><p>Darcs patches</p></li>
+<li><p>Tcl</p></li>
+<li><p>Matlab</p></li>
+<li><p>Matlab sessions</p></li>
+<li><p>FORTRAN</p></li>
+<li><p>XSLT</p></li>
+<li><p>tcsh</p></li>
+<li><p>NumPy</p></li>
+<li><p>Python 3</p></li>
+<li><p>S, S-plus, R statistics languages</p></li>
+<li><p>Logtalk</p></li>
+</ul>
+</li>
+<li><p>In the LatexFormatter, the <em>commandprefix</em> option is now by default
+‘PY’ instead of ‘C’, since the latter resulted in several collisions
+with other packages. Also, the special meaning of the <em>arg</em>
+argument to <code class="docutils literal notranslate"><span class="pre">get_style_defs()</span></code> was removed.</p></li>
+<li><p>Added ImageFormatter, to format code as PNG, JPG, GIF or BMP.
+(Needs the Python Imaging Library.)</p></li>
+<li><p>Support doc comments in the PHP lexer.</p></li>
+<li><p>Handle format specifications in the Perl lexer.</p></li>
+<li><p>Fix comment handling in the Batch lexer.</p></li>
+<li><p>Add more file name extensions for the C++, INI and XML lexers.</p></li>
+<li><p>Fixes in the IRC and MuPad lexers.</p></li>
+<li><p>Fix function and interface name highlighting in the Java lexer.</p></li>
+<li><p>Fix at-rule handling in the CSS lexer.</p></li>
+<li><p>Handle KeyboardInterrupts gracefully in pygmentize.</p></li>
+<li><p>Added BlackWhiteStyle.</p></li>
+<li><p>Bash lexer now correctly highlights math, does not require
+whitespace after semicolons, and correctly highlights boolean
+operators.</p></li>
+<li><p>Makefile lexer is now capable of handling BSD and GNU make syntax.</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-9">
+<h2>Version 0.9<a class="headerlink" href="#version-0-9" title="Permalink to this headline">¶</a></h2>
+<p>(codename Herbstzeitlose, released Oct 14, 2007)</p>
+<ul class="simple">
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Erlang</p></li>
+<li><p>ActionScript</p></li>
+<li><p>Literate Haskell</p></li>
+<li><p>Common Lisp</p></li>
+<li><p>Various assembly languages</p></li>
+<li><p>Gettext catalogs</p></li>
+<li><p>Squid configuration</p></li>
+<li><p>Debian control files</p></li>
+<li><p>MySQL-style SQL</p></li>
+<li><p>MOOCode</p></li>
+</ul>
+</li>
+<li><p>Lexers improved:</p>
+<ul>
+<li><p>Greatly improved the Haskell and OCaml lexers.</p></li>
+<li><p>Improved the Bash lexer’s handling of nested constructs.</p></li>
+<li><p>The C# and Java lexers exhibited abysmal performance with some
+input code; this should now be fixed.</p></li>
+<li><p>The IRC logs lexer is now able to colorize weechat logs too.</p></li>
+<li><p>The Lua lexer now recognizes multi-line comments.</p></li>
+<li><p>Fixed bugs in the D and MiniD lexer.</p></li>
+</ul>
+</li>
+<li><p>The encoding handling of the command line mode (pygmentize) was
+enhanced. You shouldn’t get UnicodeErrors from it anymore if you
+don’t give an encoding option.</p></li>
+<li><p>Added a <code class="docutils literal notranslate"><span class="pre">-P</span></code> option to the command line mode which can be used to
+give options whose values contain commas or equals signs.</p></li>
+<li><p>Added 256-color terminal formatter.</p></li>
+<li><p>Added an experimental SVG formatter.</p></li>
+<li><p>Added the <code class="docutils literal notranslate"><span class="pre">lineanchors</span></code> option to the HTML formatter, thanks to
+Ian Charnas for the idea.</p></li>
+<li><p>Gave the line numbers table a CSS class in the HTML formatter.</p></li>
+<li><p>Added a Vim 7-like style.</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-8-1">
+<h2>Version 0.8.1<a class="headerlink" href="#version-0-8-1" title="Permalink to this headline">¶</a></h2>
+<p>(released Jun 27, 2007)</p>
+<ul class="simple">
+<li><p>Fixed POD highlighting in the Ruby lexer.</p></li>
+<li><p>Fixed Unicode class and namespace name highlighting in the C# lexer.</p></li>
+<li><p>Fixed Unicode string prefix highlighting in the Python lexer.</p></li>
+<li><p>Fixed a bug in the D and MiniD lexers.</p></li>
+<li><p>Fixed the included MoinMoin parser.</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-8">
+<h2>Version 0.8<a class="headerlink" href="#version-0-8" title="Permalink to this headline">¶</a></h2>
+<p>(codename Maikäfer, released May 30, 2007)</p>
+<ul class="simple">
+<li><p>Lexers added:</p>
+<ul>
+<li><p>Haskell, thanks to Adam Blinkinsop</p></li>
+<li><p>Redcode, thanks to Adam Blinkinsop</p></li>
+<li><p>D, thanks to Kirk McDonald</p></li>
+<li><p>MuPad, thanks to Christopher Creutzig</p></li>
+<li><p>MiniD, thanks to Jarrett Billingsley</p></li>
+<li><p>Vim Script, by Tim Hatch</p></li>
+</ul>
+</li>
+<li><p>The HTML formatter now has a second line-numbers mode in which it
+will just integrate the numbers in the same <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag as the
+code.</p></li>
+<li><p>The <cite>CSharpLexer</cite> now is Unicode-aware, which means that it has an
+option that can be set so that it correctly lexes Unicode
+identifiers allowed by the C# specs.</p></li>
+<li><p>Added a <cite>RaiseOnErrorTokenFilter</cite> that raises an exception when the
+lexer generates an error token, and a <cite>VisibleWhitespaceFilter</cite> that
+converts whitespace (spaces, tabs, newlines) into visible
+characters.</p></li>
+<li><p>Fixed the <cite>do_insertions()</cite> helper function to yield correct
+indices.</p></li>
+<li><p>The ReST lexer now automatically highlights source code blocks in
+“.. sourcecode:: language” and “.. code:: language” directive
+blocks.</p></li>
+<li><p>Improved the default style (thanks to Tiberius Teng). The old
+default is still available as the “emacs” style (which was an alias
+before).</p></li>
+<li><p>The <cite>get_style_defs</cite> method of HTML formatters now uses the
+<cite>cssclass</cite> option as the default selector if it was given.</p></li>
+<li><p>Improved the ReST and Bash lexers a bit.</p></li>
+<li><p>Fixed a few bugs in the Makefile and Bash lexers, thanks to Tim
+Hatch.</p></li>
+<li><p>Fixed a bug in the command line code that disallowed <code class="docutils literal notranslate"><span class="pre">-O</span></code> options
+when using the <code class="docutils literal notranslate"><span class="pre">-S</span></code> option.</p></li>
+<li><p>Fixed a bug in the <cite>RawTokenFormatter</cite>.</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-7-1">
+<h2>Version 0.7.1<a class="headerlink" href="#version-0-7-1" title="Permalink to this headline">¶</a></h2>
+<p>(released Feb 15, 2007)</p>
+<ul class="simple">
+<li><p>Fixed little highlighting bugs in the Python, Java, Scheme and
+Apache Config lexers.</p></li>
+<li><p>Updated the included manpage.</p></li>
+<li><p>Included a built version of the documentation in the source tarball.</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-7">
+<h2>Version 0.7<a class="headerlink" href="#version-0-7" title="Permalink to this headline">¶</a></h2>
+<p>(codename Faschingskrapfn, released Feb 14, 2007)</p>
+<ul class="simple">
+<li><p>Added a MoinMoin parser that uses Pygments. With it, you get
+Pygments highlighting in Moin Wiki pages.</p></li>
+<li><p>Changed the exception raised if no suitable lexer, formatter etc. is
+found in one of the <cite>get_*_by_*</cite> functions to a custom exception,
+<cite>pygments.util.ClassNotFound</cite>. It is, however, a subclass of
+<cite>ValueError</cite> in order to retain backwards compatibility.</p></li>
+<li><p>Added a <cite>-H</cite> command line option which can be used to get the
+docstring of a lexer, formatter or filter.</p></li>
+<li><p>Made the handling of lexers and formatters more consistent. The
+aliases and filename patterns of formatters are now attributes on
+them.</p></li>
+<li><p>Added an OCaml lexer, thanks to Adam Blinkinsop.</p></li>
+<li><p>Made the HTML formatter more flexible, and easily subclassable in
+order to make it easy to implement custom wrappers, e.g. alternate
+line number markup. See the documentation.</p></li>
+<li><p>Added an <cite>outencoding</cite> option to all formatters, making it possible
+to override the <cite>encoding</cite> (which is used by lexers and formatters)
+when using the command line interface. Also, if using the terminal
+formatter and the output file is a terminal and has an encoding
+attribute, use it if no encoding is given.</p></li>
+<li><p>Made it possible to just drop style modules into the <cite>styles</cite>
+subpackage of the Pygments installation.</p></li>
+<li><p>Added a “state” keyword argument to the <cite>using</cite> helper.</p></li>
+<li><p>Added a <cite>commandprefix</cite> option to the <cite>LatexFormatter</cite> which allows
+to control how the command names are constructed.</p></li>
+<li><p>Added quite a few new lexers, thanks to Tim Hatch:</p>
+<ul>
+<li><p>Java Server Pages</p></li>
+<li><p>Windows batch files</p></li>
+<li><p>Trac Wiki markup</p></li>
+<li><p>Python tracebacks</p></li>
+<li><p>ReStructuredText</p></li>
+<li><p>Dylan</p></li>
+<li><p>and the Befunge esoteric programming language (yay!)</p></li>
+</ul>
+</li>
+<li><p>Added Mako lexers by Ben Bangert.</p></li>
+<li><p>Added “fruity” style, another dark background originally vim-based
+theme.</p></li>
+<li><p>Added sources.list lexer by Dennis Kaarsemaker.</p></li>
+<li><p>Added token stream filters, and a pygmentize option to use them.</p></li>
+<li><p>Changed behavior of <cite>in</cite> Operator for tokens.</p></li>
+<li><p>Added mimetypes for all lexers.</p></li>
+<li><p>Fixed some problems lexing Python strings.</p></li>
+<li><p>Fixed tickets: #167, #178, #179, #180, #185, #201.</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-6">
+<h2>Version 0.6<a class="headerlink" href="#version-0-6" title="Permalink to this headline">¶</a></h2>
+<p>(codename Zimtstern, released Dec 20, 2006)</p>
+<ul class="simple">
+<li><p>Added option for the HTML formatter to write the CSS to an external
+file in “full document” mode.</p></li>
+<li><p>Added RTF formatter.</p></li>
+<li><p>Added Bash and Apache configuration lexers (thanks to Tim Hatch).</p></li>
+<li><p>Improved guessing methods for various lexers.</p></li>
+<li><p>Added <cite>@media</cite> support to CSS lexer (thanks to Tim Hatch).</p></li>
+<li><p>Added a Groff lexer (thanks to Tim Hatch).</p></li>
+<li><p>License change to BSD.</p></li>
+<li><p>Added lexers for the Myghty template language.</p></li>
+<li><p>Added a Scheme lexer (thanks to Marek Kubica).</p></li>
+<li><p>Added some functions to iterate over existing lexers, formatters and
+lexers.</p></li>
+<li><p>The HtmlFormatter’s <cite>get_style_defs()</cite> can now take a list as an
+argument to generate CSS with multiple prefixes.</p></li>
+<li><p>Support for guessing input encoding added.</p></li>
+<li><p>Encoding support added: all processing is now done with Unicode
+strings, input and output are converted from and optionally to byte
+strings (see the <code class="docutils literal notranslate"><span class="pre">encoding</span></code> option of lexers and formatters).</p></li>
+<li><p>Some improvements in the C(++) lexers handling comments and line
+continuations.</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-5-1">
+<h2>Version 0.5.1<a class="headerlink" href="#version-0-5-1" title="Permalink to this headline">¶</a></h2>
+<p>(released Oct 30, 2006)</p>
+<ul class="simple">
+<li><p>Fixed traceback in <code class="docutils literal notranslate"><span class="pre">pygmentize</span> <span class="pre">-L</span></code> (thanks to Piotr Ozarowski).</p></li>
+</ul>
+</div>
+<div class="section" id="version-0-5">
+<h2>Version 0.5<a class="headerlink" href="#version-0-5" title="Permalink to this headline">¶</a></h2>
+<p>(codename PyKleur, released Oct 30, 2006)</p>
+<ul class="simple">
+<li><p>Initial public release.</p></li>
+</ul>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Command Line Interface — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Available lexers" href="lexers.html" />
+ <link rel="prev" title="Introduction and Quickstart" href="quickstart.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Command Line Interface</a><ul>
+<li><a class="reference internal" href="#options-and-filters">Options and filters</a></li>
+<li><a class="reference internal" href="#generating-styles">Generating styles</a></li>
+<li><a class="reference internal" href="#getting-lexer-names">Getting lexer names</a></li>
+<li><a class="reference internal" href="#custom-lexers-and-formatters">Custom Lexers and Formatters</a></li>
+<li><a class="reference internal" href="#getting-help">Getting help</a></li>
+<li><a class="reference internal" href="#a-note-on-encodings">A note on encodings</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="quickstart.html"
+ title="previous chapter">Introduction and Quickstart</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="lexers.html"
+ title="next chapter">Available lexers</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/cmdline.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="command-line-interface">
+<h1>Command Line Interface<a class="headerlink" href="#command-line-interface" title="Permalink to this headline">¶</a></h1>
+<p>You can use Pygments from the shell, provided you installed the
+<strong class="program">pygmentize</strong> script:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize test.py
+print "Hello World"
+</pre></div>
+</div>
+<p>will print the file test.py to standard output, using the Python lexer
+(inferred from the file name extension) and the terminal formatter (because
+you didn’t give an explicit formatter name).</p>
+<p>If you want HTML output:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -l python -o test.html test.py
+</pre></div>
+</div>
+<p>As you can see, the -l option explicitly selects a lexer. As seen above, if you
+give an input file name and it has an extension that Pygments recognizes, you can
+omit this option.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">-o</span></code> option gives an output file name. If it is not given, output is
+written to stdout.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">-f</span></code> option selects a formatter (as with <code class="docutils literal notranslate"><span class="pre">-l</span></code>, it can also be omitted
+if an output file name is given and has a supported extension).
+If no output file name is given and <code class="docutils literal notranslate"><span class="pre">-f</span></code> is omitted, the
+<a class="reference internal" href="formatters.html#TerminalFormatter" title="TerminalFormatter"><code class="xref py py-class docutils literal notranslate"><span class="pre">TerminalFormatter</span></code></a> is used.</p>
+<p>The above command could therefore also be given as:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -o test.html test.py
+</pre></div>
+</div>
+<p>To create a full HTML document, including line numbers and stylesheet (using the
+“emacs” style), highlighting the Python file <code class="docutils literal notranslate"><span class="pre">test.py</span></code> to <code class="docutils literal notranslate"><span class="pre">test.html</span></code>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -O full,style=emacs -o test.html test.py
+</pre></div>
+</div>
+<div class="section" id="options-and-filters">
+<h2>Options and filters<a class="headerlink" href="#options-and-filters" title="Permalink to this headline">¶</a></h2>
+<p>Lexer and formatter options can be given using the <code class="docutils literal notranslate"><span class="pre">-O</span></code> option:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -O style=colorful,linenos=1 -l python test.py
+</pre></div>
+</div>
+<p>Be sure to enclose the option string in quotes if it contains any special shell
+characters, such as spaces or expansion wildcards like <code class="docutils literal notranslate"><span class="pre">*</span></code>. If an option
+expects a list value, separate the list entries with spaces (you’ll have to
+quote the option value in this case too, so that the shell doesn’t split it).</p>
+<p>Since the <code class="docutils literal notranslate"><span class="pre">-O</span></code> option argument is split at commas and expects the split values
+to be of the form <code class="docutils literal notranslate"><span class="pre">name=value</span></code>, you can’t give an option value that contains
+commas or equals signs. Therefore, an option <code class="docutils literal notranslate"><span class="pre">-P</span></code> is provided (as of Pygments
+0.9) that works like <code class="docutils literal notranslate"><span class="pre">-O</span></code> but can only pass one option per <code class="docutils literal notranslate"><span class="pre">-P</span></code>. Its value
+can then contain all characters:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -P "heading=Pygments, the Python highlighter" ...
+</pre></div>
+</div>
+<p>Filters are added to the token stream using the <code class="docutils literal notranslate"><span class="pre">-F</span></code> option:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -l pascal -F keywordcase:case=upper main.pas
+</pre></div>
+</div>
+<p>As you see, options for the filter are given after a colon. As for <code class="docutils literal notranslate"><span class="pre">-O</span></code>, the
+filter name and options must be one shell word, so there may not be any spaces
+around the colon.</p>
+</div>
+<div class="section" id="generating-styles">
+<h2>Generating styles<a class="headerlink" href="#generating-styles" title="Permalink to this headline">¶</a></h2>
+<p>Formatters normally don’t output full style information. For example, the HTML
+formatter by default only outputs <code class="docutils literal notranslate"><span class="pre"><span></span></code> tags with <code class="docutils literal notranslate"><span class="pre">class</span></code> attributes.
+Therefore, there’s a special <code class="docutils literal notranslate"><span class="pre">-S</span></code> option for generating style definitions.
+Usage is as follows:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -S colorful -a .syntax
+</pre></div>
+</div>
+<p>generates a CSS style sheet (because you selected the HTML formatter) for
+the “colorful” style prepending a “.syntax” selector to all style rules.</p>
+<p>For an explanation what <code class="docutils literal notranslate"><span class="pre">-a</span></code> means for <a class="reference internal" href="formatters.html"><span class="doc">a particular formatter</span></a>, look for the <cite>arg</cite> argument for the formatter’s
+<a class="reference internal" href="api.html#pygments.formatter.Formatter.get_style_defs" title="pygments.formatter.Formatter.get_style_defs"><code class="xref py py-meth docutils literal notranslate"><span class="pre">get_style_defs()</span></code></a> method.</p>
+</div>
+<div class="section" id="getting-lexer-names">
+<h2>Getting lexer names<a class="headerlink" href="#getting-lexer-names" title="Permalink to this headline">¶</a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.0.</span></p>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">-N</span></code> option guesses a lexer name for a given filename, so that</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -N setup.py
+</pre></div>
+</div>
+<p>will print out <code class="docutils literal notranslate"><span class="pre">python</span></code>. It won’t highlight anything yet. If no specific
+lexer is known for that filename, <code class="docutils literal notranslate"><span class="pre">text</span></code> is printed.</p>
+</div>
+<div class="section" id="custom-lexers-and-formatters">
+<h2>Custom Lexers and Formatters<a class="headerlink" href="#custom-lexers-and-formatters" title="Permalink to this headline">¶</a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">-x</span></code> flag enables custom lexers and formatters to be loaded
+from files relative to the current directory. Create a file with a class named
+CustomLexer or CustomFormatter, then specify it on the command line:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -l your_lexer.py -f your_formatter.py -x
+</pre></div>
+</div>
+<p>You can also specify the name of your class with a colon:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -l your_lexer.py:SomeLexer -x
+</pre></div>
+</div>
+<p>For more information, see <a class="reference internal" href="lexerdevelopment.html"><span class="doc">the Pygments documentation on Lexer development</span></a>.</p>
+</div>
+<div class="section" id="getting-help">
+<h2>Getting help<a class="headerlink" href="#getting-help" title="Permalink to this headline">¶</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">-L</span></code> option lists lexers, formatters, along with their short
+names and supported file name extensions, styles and filters. If you want to see
+only one category, give it as an argument:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -L filters
+</pre></div>
+</div>
+<p>will list only all installed filters.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">-H</span></code> option will give you detailed information (the same that can be found
+in this documentation) about a lexer, formatter or filter. Usage is as follows:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -H formatter html
+</pre></div>
+</div>
+<p>will print the help for the HTML formatter, while</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -H lexer python
+</pre></div>
+</div>
+<p>will print the help for the Python lexer, etc.</p>
+</div>
+<div class="section" id="a-note-on-encodings">
+<h2>A note on encodings<a class="headerlink" href="#a-note-on-encodings" title="Permalink to this headline">¶</a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+<p>Pygments tries to be smart regarding encodings in the formatting process:</p>
+<ul class="simple">
+<li><p>If you give an <code class="docutils literal notranslate"><span class="pre">encoding</span></code> option, it will be used as the input and
+output encoding.</p></li>
+<li><p>If you give an <code class="docutils literal notranslate"><span class="pre">outencoding</span></code> option, it will override <code class="docutils literal notranslate"><span class="pre">encoding</span></code>
+as the output encoding.</p></li>
+<li><p>If you give an <code class="docutils literal notranslate"><span class="pre">inencoding</span></code> option, it will override <code class="docutils literal notranslate"><span class="pre">encoding</span></code>
+as the input encoding.</p></li>
+<li><p>If you don’t give an encoding and have given an output file, the default
+encoding for lexer and formatter is the terminal encoding or the default
+locale encoding of the system. As a last resort, <code class="docutils literal notranslate"><span class="pre">latin1</span></code> is used (which
+will pass through all non-ASCII characters).</p></li>
+<li><p>If you don’t give an encoding and haven’t given an output file (that means
+output is written to the console), the default encoding for lexer and
+formatter is the terminal encoding (<code class="docutils literal notranslate"><span class="pre">sys.stdout.encoding</span></code>).</p></li>
+</ul>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Write your own filter — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Register Plugins" href="plugins.html" />
+ <link rel="prev" title="Write your own formatter" href="formatterdevelopment.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Write your own filter</a><ul>
+<li><a class="reference internal" href="#subclassing-filters">Subclassing Filters</a></li>
+<li><a class="reference internal" href="#using-a-decorator">Using a decorator</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="formatterdevelopment.html"
+ title="previous chapter">Write your own formatter</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="plugins.html"
+ title="next chapter">Register Plugins</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/filterdevelopment.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="write-your-own-filter">
+<h1>Write your own filter<a class="headerlink" href="#write-your-own-filter" title="Permalink to this headline">¶</a></h1>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+<p>Writing own filters is very easy. All you have to do is to subclass
+the <cite>Filter</cite> class and override the <cite>filter</cite> method. Additionally a
+filter is instantiated with some keyword arguments you can use to
+adjust the behavior of your filter.</p>
+<div class="section" id="subclassing-filters">
+<h2>Subclassing Filters<a class="headerlink" href="#subclassing-filters" title="Permalink to this headline">¶</a></h2>
+<p>As an example, we write a filter that converts all <cite>Name.Function</cite> tokens
+to normal <cite>Name</cite> tokens to make the output less colorful.</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.util</span> <span class="kn">import</span> <span class="n">get_bool_opt</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Name</span>
+<span class="kn">from</span> <span class="nn">pygments.filter</span> <span class="kn">import</span> <span class="n">Filter</span>
+
+<span class="k">class</span> <span class="nc">UncolorFilter</span><span class="p">(</span><span class="n">Filter</span><span class="p">):</span>
+
+ <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">):</span>
+ <span class="n">Filter</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">class_too</span> <span class="o">=</span> <span class="n">get_bool_opt</span><span class="p">(</span><span class="n">options</span><span class="p">,</span> <span class="s1">'classtoo'</span><span class="p">)</span>
+
+ <span class="k">def</span> <span class="nf">filter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">lexer</span><span class="p">,</span> <span class="n">stream</span><span class="p">):</span>
+ <span class="k">for</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">stream</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">ttype</span> <span class="ow">is</span> <span class="n">Name</span><span class="o">.</span><span class="n">Function</span> <span class="ow">or</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">class_too</span> <span class="ow">and</span>
+ <span class="n">ttype</span> <span class="ow">is</span> <span class="n">Name</span><span class="o">.</span><span class="n">Class</span><span class="p">):</span>
+ <span class="n">ttype</span> <span class="o">=</span> <span class="n">Name</span>
+ <span class="k">yield</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span>
+</pre></div>
+</div>
+<p>Some notes on the <cite>lexer</cite> argument: that can be quite confusing since it doesn’t
+need to be a lexer instance. If a filter was added by using the <cite>add_filter()</cite>
+function of lexers, that lexer is registered for the filter. In that case
+<cite>lexer</cite> will refer to the lexer that has registered the filter. It <em>can</em> be used
+to access options passed to a lexer. Because it could be <cite>None</cite> you always have
+to check for that case if you access it.</p>
+</div>
+<div class="section" id="using-a-decorator">
+<h2>Using a decorator<a class="headerlink" href="#using-a-decorator" title="Permalink to this headline">¶</a></h2>
+<p>You can also use the <cite>simplefilter</cite> decorator from the <cite>pygments.filter</cite> module:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.util</span> <span class="kn">import</span> <span class="n">get_bool_opt</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Name</span>
+<span class="kn">from</span> <span class="nn">pygments.filter</span> <span class="kn">import</span> <span class="n">simplefilter</span>
+
+
+<span class="nd">@simplefilter</span>
+<span class="k">def</span> <span class="nf">uncolor</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">lexer</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="n">options</span><span class="p">):</span>
+ <span class="n">class_too</span> <span class="o">=</span> <span class="n">get_bool_opt</span><span class="p">(</span><span class="n">options</span><span class="p">,</span> <span class="s1">'classtoo'</span><span class="p">)</span>
+ <span class="k">for</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">stream</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">ttype</span> <span class="ow">is</span> <span class="n">Name</span><span class="o">.</span><span class="n">Function</span> <span class="ow">or</span> <span class="p">(</span><span class="n">class_too</span> <span class="ow">and</span>
+ <span class="n">ttype</span> <span class="ow">is</span> <span class="n">Name</span><span class="o">.</span><span class="n">Class</span><span class="p">):</span>
+ <span class="n">ttype</span> <span class="o">=</span> <span class="n">Name</span>
+ <span class="k">yield</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span>
+</pre></div>
+</div>
+<p>The decorator automatically subclasses an internal filter class and uses the
+decorated function as a method for filtering. (That’s why there is a <cite>self</cite>
+argument that you probably won’t end up using in the method.)</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Filters — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Available formatters" href="formatters.html" />
+ <link rel="prev" title="Available lexers" href="lexers.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Filters</a><ul>
+<li><a class="reference internal" href="#builtin-filters">Builtin Filters</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="lexers.html"
+ title="previous chapter">Available lexers</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="formatters.html"
+ title="next chapter">Available formatters</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/filters.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="filters">
+<h1>Filters<a class="headerlink" href="#filters" title="Permalink to this headline">¶</a></h1>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+<p>You can filter token streams coming from lexers to improve or annotate the
+output. For example, you can highlight special words in comments, convert
+keywords to upper or lowercase to enforce a style guide etc.</p>
+<p>To apply a filter, you can use the <cite>add_filter()</cite> method of a lexer:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">PythonLexer</span>
+<span class="gp">>>> </span><span class="n">l</span> <span class="o">=</span> <span class="n">PythonLexer</span><span class="p">()</span>
+<span class="gp">>>> </span><span class="c1"># add a filter given by a string and options</span>
+<span class="gp">>>> </span><span class="n">l</span><span class="o">.</span><span class="n">add_filter</span><span class="p">(</span><span class="s1">'codetagify'</span><span class="p">,</span> <span class="n">case</span><span class="o">=</span><span class="s1">'lower'</span><span class="p">)</span>
+<span class="gp">>>> </span><span class="n">l</span><span class="o">.</span><span class="n">filters</span>
+<span class="go">[<pygments.filters.CodeTagFilter object at 0xb785decc>]</span>
+<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.filters</span> <span class="kn">import</span> <span class="n">KeywordCaseFilter</span>
+<span class="gp">>>> </span><span class="c1"># or give an instance</span>
+<span class="gp">>>> </span><span class="n">l</span><span class="o">.</span><span class="n">add_filter</span><span class="p">(</span><span class="n">KeywordCaseFilter</span><span class="p">(</span><span class="n">case</span><span class="o">=</span><span class="s1">'lower'</span><span class="p">))</span>
+</pre></div>
+</div>
+<p>The <cite>add_filter()</cite> method takes keyword arguments which are forwarded to
+the constructor of the filter.</p>
+<p>To get a list of all registered filters by name, you can use the
+<cite>get_all_filters()</cite> function from the <cite>pygments.filters</cite> module that returns an
+iterable for all known filters.</p>
+<p>If you want to write your own filter, have a look at <a class="reference internal" href="filterdevelopment.html"><span class="doc">Write your own filter</span></a>.</p>
+<div class="section" id="builtin-filters">
+<h2>Builtin Filters<a class="headerlink" href="#builtin-filters" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="CodeTagFilter">
+<em class="property">class </em><code class="sig-name descname">CodeTagFilter</code><a class="headerlink" href="#CodeTagFilter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Name</dt>
+<dd class="field-odd"><p>codetagify</p>
+</dd>
+</dl>
+<p>Highlight special code tags in comments and docstrings.</p>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>codetags</cite><span class="classifier">list of strings</span></dt><dd><p>A list of strings that are flagged as code tags. The default is to
+highlight <code class="docutils literal notranslate"><span class="pre">XXX</span></code>, <code class="docutils literal notranslate"><span class="pre">TODO</span></code>, <code class="docutils literal notranslate"><span class="pre">BUG</span></code> and <code class="docutils literal notranslate"><span class="pre">NOTE</span></code>.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="KeywordCaseFilter">
+<em class="property">class </em><code class="sig-name descname">KeywordCaseFilter</code><a class="headerlink" href="#KeywordCaseFilter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Name</dt>
+<dd class="field-odd"><p>keywordcase</p>
+</dd>
+</dl>
+<p>Convert keywords to lowercase or uppercase or capitalize them, which
+means first letter uppercase, rest lowercase.</p>
+<p>This can be useful e.g. if you highlight Pascal code and want to adapt the
+code to your styleguide.</p>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>case</cite><span class="classifier">string</span></dt><dd><p>The casing to convert keywords to. Must be one of <code class="docutils literal notranslate"><span class="pre">'lower'</span></code>,
+<code class="docutils literal notranslate"><span class="pre">'upper'</span></code> or <code class="docutils literal notranslate"><span class="pre">'capitalize'</span></code>. The default is <code class="docutils literal notranslate"><span class="pre">'lower'</span></code>.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="NameHighlightFilter">
+<em class="property">class </em><code class="sig-name descname">NameHighlightFilter</code><a class="headerlink" href="#NameHighlightFilter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Name</dt>
+<dd class="field-odd"><p>highlight</p>
+</dd>
+</dl>
+<p>Highlight a normal Name (and Name.*) token with a different token type.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">filter</span> <span class="o">=</span> <span class="n">NameHighlightFilter</span><span class="p">(</span>
+ <span class="n">names</span><span class="o">=</span><span class="p">[</span><span class="s1">'foo'</span><span class="p">,</span> <span class="s1">'bar'</span><span class="p">,</span> <span class="s1">'baz'</span><span class="p">],</span>
+ <span class="n">tokentype</span><span class="o">=</span><span class="n">Name</span><span class="o">.</span><span class="n">Function</span><span class="p">,</span>
+<span class="p">)</span>
+</pre></div>
+</div>
+<p>This would highlight the names “foo”, “bar” and “baz”
+as functions. <cite>Name.Function</cite> is the default token type.</p>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>names</cite><span class="classifier">list of strings</span></dt><dd><p>A list of names that should be given the different token type.
+There is no default.</p>
+</dd>
+<dt><cite>tokentype</cite><span class="classifier">TokenType or string</span></dt><dd><p>A token type or a string containing a token type name that is
+used for highlighting the strings in <cite>names</cite>. The default is
+<cite>Name.Function</cite>.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="RaiseOnErrorTokenFilter">
+<em class="property">class </em><code class="sig-name descname">RaiseOnErrorTokenFilter</code><a class="headerlink" href="#RaiseOnErrorTokenFilter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Name</dt>
+<dd class="field-odd"><p>raiseonerror</p>
+</dd>
+</dl>
+<p>Raise an exception when the lexer generates an error token.</p>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>excclass</cite><span class="classifier">Exception class</span></dt><dd><p>The exception class to raise.
+The default is <cite>pygments.filters.ErrorToken</cite>.</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.8.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="VisibleWhitespaceFilter">
+<em class="property">class </em><code class="sig-name descname">VisibleWhitespaceFilter</code><a class="headerlink" href="#VisibleWhitespaceFilter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Name</dt>
+<dd class="field-odd"><p>whitespace</p>
+</dd>
+</dl>
+<p>Convert tabs, newlines and/or spaces to visible characters.</p>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>spaces</cite><span class="classifier">string or bool</span></dt><dd><p>If this is a one-character string, spaces will be replaces by this string.
+If it is another true value, spaces will be replaced by <code class="docutils literal notranslate"><span class="pre">·</span></code> (unicode
+MIDDLE DOT). If it is a false value, spaces will not be replaced. The
+default is <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
+</dd>
+<dt><cite>tabs</cite><span class="classifier">string or bool</span></dt><dd><p>The same as for <cite>spaces</cite>, but the default replacement character is <code class="docutils literal notranslate"><span class="pre">»</span></code>
+(unicode RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK). The default value
+is <code class="docutils literal notranslate"><span class="pre">False</span></code>. Note: this will not work if the <cite>tabsize</cite> option for the
+lexer is nonzero, as tabs will already have been expanded then.</p>
+</dd>
+<dt><cite>tabsize</cite><span class="classifier">int</span></dt><dd><p>If tabs are to be replaced by this filter (see the <cite>tabs</cite> option), this
+is the total number of characters that a tab should be expanded to.
+The default is <code class="docutils literal notranslate"><span class="pre">8</span></code>.</p>
+</dd>
+<dt><cite>newlines</cite><span class="classifier">string or bool</span></dt><dd><p>The same as for <cite>spaces</cite>, but the default replacement character is <code class="docutils literal notranslate"><span class="pre">¶</span></code>
+(unicode PILCROW SIGN). The default value is <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
+</dd>
+<dt><cite>wstokentype</cite><span class="classifier">bool</span></dt><dd><p>If true, give whitespace the special <cite>Whitespace</cite> token type. This allows
+styling the visible whitespace differently (e.g. greyed out), but it can
+disrupt background colors. The default is <code class="docutils literal notranslate"><span class="pre">True</span></code>.</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.8.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="GobbleFilter">
+<em class="property">class </em><code class="sig-name descname">GobbleFilter</code><a class="headerlink" href="#GobbleFilter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Name</dt>
+<dd class="field-odd"><p>gobble</p>
+</dd>
+</dl>
+<p>Gobbles source code lines (eats initial characters).</p>
+<p>This filter drops the first <code class="docutils literal notranslate"><span class="pre">n</span></code> characters off every line of code. This
+may be useful when the source code fed to the lexer is indented by a fixed
+amount of space that isn’t desired in the output.</p>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>n</cite><span class="classifier">int</span></dt><dd><p>The number of characters to gobble.</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="TokenMergeFilter">
+<em class="property">class </em><code class="sig-name descname">TokenMergeFilter</code><a class="headerlink" href="#TokenMergeFilter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Name</dt>
+<dd class="field-odd"><p>tokenmerge</p>
+</dd>
+</dl>
+<p>Merges consecutive tokens with the same token type in the output
+stream of a lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd></dl>
+
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Write your own formatter — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Write your own filter" href="filterdevelopment.html" />
+ <link rel="prev" title="Write your own lexer" href="lexerdevelopment.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Write your own formatter</a><ul>
+<li><a class="reference internal" href="#quickstart">Quickstart</a></li>
+<li><a class="reference internal" href="#styles">Styles</a></li>
+<li><a class="reference internal" href="#html-3-2-formatter">HTML 3.2 Formatter</a></li>
+<li><a class="reference internal" href="#generating-style-definitions">Generating Style Definitions</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="lexerdevelopment.html"
+ title="previous chapter">Write your own lexer</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="filterdevelopment.html"
+ title="next chapter">Write your own filter</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/formatterdevelopment.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="write-your-own-formatter">
+<h1>Write your own formatter<a class="headerlink" href="#write-your-own-formatter" title="Permalink to this headline">¶</a></h1>
+<p>As well as creating <a class="reference internal" href="lexerdevelopment.html"><span class="doc">your own lexer</span></a>, writing a new
+formatter for Pygments is easy and straightforward.</p>
+<p>A formatter is a class that is initialized with some keyword arguments (the
+formatter options) and that must provides a <cite>format()</cite> method.
+Additionally a formatter should provide a <cite>get_style_defs()</cite> method that
+returns the style definitions from the style in a form usable for the
+formatter’s output format.</p>
+<div class="section" id="quickstart">
+<h2>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline">¶</a></h2>
+<p>The most basic formatter shipped with Pygments is the <cite>NullFormatter</cite>. It just
+sends the value of a token to the output stream:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.formatter</span> <span class="kn">import</span> <span class="n">Formatter</span>
+
+<span class="k">class</span> <span class="nc">NullFormatter</span><span class="p">(</span><span class="n">Formatter</span><span class="p">):</span>
+ <span class="k">def</span> <span class="nf">format</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tokensource</span><span class="p">,</span> <span class="n">outfile</span><span class="p">):</span>
+ <span class="k">for</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">tokensource</span><span class="p">:</span>
+ <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>As you can see, the <cite>format()</cite> method is passed two parameters: <cite>tokensource</cite>
+and <cite>outfile</cite>. The first is an iterable of <code class="docutils literal notranslate"><span class="pre">(token_type,</span> <span class="pre">value)</span></code> tuples,
+the latter a file like object with a <cite>write()</cite> method.</p>
+<p>Because the formatter is that basic it doesn’t overwrite the <cite>get_style_defs()</cite>
+method.</p>
+</div>
+<div class="section" id="styles">
+<h2>Styles<a class="headerlink" href="#styles" title="Permalink to this headline">¶</a></h2>
+<p>Styles aren’t instantiated but their metaclass provides some class functions
+so that you can access the style definitions easily.</p>
+<p>Styles are iterable and yield tuples in the form <code class="docutils literal notranslate"><span class="pre">(ttype,</span> <span class="pre">d)</span></code> where <cite>ttype</cite>
+is a token and <cite>d</cite> is a dict with the following keys:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">'color'</span></code></dt><dd><p>Hexadecimal color value (eg: <code class="docutils literal notranslate"><span class="pre">'ff0000'</span></code> for red) or <cite>None</cite> if not
+defined.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">'bold'</span></code></dt><dd><p><cite>True</cite> if the value should be bold</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">'italic'</span></code></dt><dd><p><cite>True</cite> if the value should be italic</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">'underline'</span></code></dt><dd><p><cite>True</cite> if the value should be underlined</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">'bgcolor'</span></code></dt><dd><p>Hexadecimal color value for the background (eg: <code class="docutils literal notranslate"><span class="pre">'eeeeeee'</span></code> for light
+gray) or <cite>None</cite> if not defined.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">'border'</span></code></dt><dd><p>Hexadecimal color value for the border (eg: <code class="docutils literal notranslate"><span class="pre">'0000aa'</span></code> for a dark
+blue) or <cite>None</cite> for no border.</p>
+</dd>
+</dl>
+<p>Additional keys might appear in the future, formatters should ignore all keys
+they don’t support.</p>
+</div>
+<div class="section" id="html-3-2-formatter">
+<h2>HTML 3.2 Formatter<a class="headerlink" href="#html-3-2-formatter" title="Permalink to this headline">¶</a></h2>
+<p>For an more complex example, let’s implement a HTML 3.2 Formatter. We don’t
+use CSS but inline markup (<code class="docutils literal notranslate"><span class="pre"><u></span></code>, <code class="docutils literal notranslate"><span class="pre"><font></span></code>, etc). Because this isn’t good
+style this formatter isn’t in the standard library ;-)</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.formatter</span> <span class="kn">import</span> <span class="n">Formatter</span>
+
+<span class="k">class</span> <span class="nc">OldHtmlFormatter</span><span class="p">(</span><span class="n">Formatter</span><span class="p">):</span>
+
+ <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">):</span>
+ <span class="n">Formatter</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
+
+ <span class="c1"># create a dict of (start, end) tuples that wrap the</span>
+ <span class="c1"># value of a token so that we can use it in the format</span>
+ <span class="c1"># method later</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">styles</span> <span class="o">=</span> <span class="p">{}</span>
+
+ <span class="c1"># we iterate over the `_styles` attribute of a style item</span>
+ <span class="c1"># that contains the parsed style values.</span>
+ <span class="k">for</span> <span class="n">token</span><span class="p">,</span> <span class="n">style</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">style</span><span class="p">:</span>
+ <span class="n">start</span> <span class="o">=</span> <span class="n">end</span> <span class="o">=</span> <span class="s1">''</span>
+ <span class="c1"># a style item is a tuple in the following form:</span>
+ <span class="c1"># colors are readily specified in hex: 'RRGGBB'</span>
+ <span class="k">if</span> <span class="n">style</span><span class="p">[</span><span class="s1">'color'</span><span class="p">]:</span>
+ <span class="n">start</span> <span class="o">+=</span> <span class="s1">'<font color="#</span><span class="si">%s</span><span class="s1">">'</span> <span class="o">%</span> <span class="n">style</span><span class="p">[</span><span class="s1">'color'</span><span class="p">]</span>
+ <span class="n">end</span> <span class="o">=</span> <span class="s1">'</font>'</span> <span class="o">+</span> <span class="n">end</span>
+ <span class="k">if</span> <span class="n">style</span><span class="p">[</span><span class="s1">'bold'</span><span class="p">]:</span>
+ <span class="n">start</span> <span class="o">+=</span> <span class="s1">'<b>'</span>
+ <span class="n">end</span> <span class="o">=</span> <span class="s1">'</b>'</span> <span class="o">+</span> <span class="n">end</span>
+ <span class="k">if</span> <span class="n">style</span><span class="p">[</span><span class="s1">'italic'</span><span class="p">]:</span>
+ <span class="n">start</span> <span class="o">+=</span> <span class="s1">'<i>'</span>
+ <span class="n">end</span> <span class="o">=</span> <span class="s1">'</i>'</span> <span class="o">+</span> <span class="n">end</span>
+ <span class="k">if</span> <span class="n">style</span><span class="p">[</span><span class="s1">'underline'</span><span class="p">]:</span>
+ <span class="n">start</span> <span class="o">+=</span> <span class="s1">'<u>'</span>
+ <span class="n">end</span> <span class="o">=</span> <span class="s1">'</u>'</span> <span class="o">+</span> <span class="n">end</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">styles</span><span class="p">[</span><span class="n">token</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">)</span>
+
+ <span class="k">def</span> <span class="nf">format</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tokensource</span><span class="p">,</span> <span class="n">outfile</span><span class="p">):</span>
+ <span class="c1"># lastval is a string we use for caching</span>
+ <span class="c1"># because it's possible that an lexer yields a number</span>
+ <span class="c1"># of consecutive tokens with the same token type.</span>
+ <span class="c1"># to minimize the size of the generated html markup we</span>
+ <span class="c1"># try to join the values of same-type tokens here</span>
+ <span class="n">lastval</span> <span class="o">=</span> <span class="s1">''</span>
+ <span class="n">lasttype</span> <span class="o">=</span> <span class="kc">None</span>
+
+ <span class="c1"># wrap the whole output with <pre></span>
+ <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'<pre>'</span><span class="p">)</span>
+
+ <span class="k">for</span> <span class="n">ttype</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">tokensource</span><span class="p">:</span>
+ <span class="c1"># if the token type doesn't exist in the stylemap</span>
+ <span class="c1"># we try it with the parent of the token type</span>
+ <span class="c1"># eg: parent of Token.Literal.String.Double is</span>
+ <span class="c1"># Token.Literal.String</span>
+ <span class="k">while</span> <span class="n">ttype</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">styles</span><span class="p">:</span>
+ <span class="n">ttype</span> <span class="o">=</span> <span class="n">ttype</span><span class="o">.</span><span class="n">parent</span>
+ <span class="k">if</span> <span class="n">ttype</span> <span class="o">==</span> <span class="n">lasttype</span><span class="p">:</span>
+ <span class="c1"># the current token type is the same of the last</span>
+ <span class="c1"># iteration. cache it</span>
+ <span class="n">lastval</span> <span class="o">+=</span> <span class="n">value</span>
+ <span class="k">else</span><span class="p">:</span>
+ <span class="c1"># not the same token as last iteration, but we</span>
+ <span class="c1"># have some data in the buffer. wrap it with the</span>
+ <span class="c1"># defined style and write it to the output file</span>
+ <span class="k">if</span> <span class="n">lastval</span><span class="p">:</span>
+ <span class="n">stylebegin</span><span class="p">,</span> <span class="n">styleend</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">styles</span><span class="p">[</span><span class="n">lasttype</span><span class="p">]</span>
+ <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stylebegin</span> <span class="o">+</span> <span class="n">lastval</span> <span class="o">+</span> <span class="n">styleend</span><span class="p">)</span>
+ <span class="c1"># set lastval/lasttype to current values</span>
+ <span class="n">lastval</span> <span class="o">=</span> <span class="n">value</span>
+ <span class="n">lasttype</span> <span class="o">=</span> <span class="n">ttype</span>
+
+ <span class="c1"># if something is left in the buffer, write it to the</span>
+ <span class="c1"># output file, then close the opened <pre> tag</span>
+ <span class="k">if</span> <span class="n">lastval</span><span class="p">:</span>
+ <span class="n">stylebegin</span><span class="p">,</span> <span class="n">styleend</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">styles</span><span class="p">[</span><span class="n">lasttype</span><span class="p">]</span>
+ <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stylebegin</span> <span class="o">+</span> <span class="n">lastval</span> <span class="o">+</span> <span class="n">styleend</span><span class="p">)</span>
+ <span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'</pre></span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>The comments should explain it. Again, this formatter doesn’t override the
+<cite>get_style_defs()</cite> method. If we would have used CSS classes instead of
+inline HTML markup, we would need to generate the CSS first. For that
+purpose the <cite>get_style_defs()</cite> method exists:</p>
+</div>
+<div class="section" id="generating-style-definitions">
+<h2>Generating Style Definitions<a class="headerlink" href="#generating-style-definitions" title="Permalink to this headline">¶</a></h2>
+<p>Some formatters like the <cite>LatexFormatter</cite> and the <cite>HtmlFormatter</cite> don’t
+output inline markup but reference either macros or css classes. Because
+the definitions of those are not part of the output, the <cite>get_style_defs()</cite>
+method exists. It is passed one parameter (if it’s used and how it’s used
+is up to the formatter) and has to return a string or <code class="docutils literal notranslate"><span class="pre">None</span></code>.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Available formatters — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Styles" href="styles.html" />
+ <link rel="prev" title="Filters" href="filters.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Available formatters</a><ul>
+<li><a class="reference internal" href="#common-options">Common options</a></li>
+<li><a class="reference internal" href="#formatter-classes">Formatter classes</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="filters.html"
+ title="previous chapter">Filters</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="styles.html"
+ title="next chapter">Styles</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/formatters.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="available-formatters">
+<h1>Available formatters<a class="headerlink" href="#available-formatters" title="Permalink to this headline">¶</a></h1>
+<p>This page lists all builtin formatters.</p>
+<div class="section" id="common-options">
+<h2>Common options<a class="headerlink" href="#common-options" title="Permalink to this headline">¶</a></h2>
+<p>All formatters support these options:</p>
+<dl>
+<dt><cite>encoding</cite></dt><dd><p>If given, must be an encoding name (such as <code class="docutils literal notranslate"><span class="pre">"utf-8"</span></code>). This will
+be used to convert the token strings (which are Unicode strings)
+to byte strings in the output (default: <code class="docutils literal notranslate"><span class="pre">None</span></code>).
+It will also be written in an encoding declaration suitable for the
+document format if the <cite>full</cite> option is given (e.g. a <code class="docutils literal notranslate"><span class="pre">meta</span>
+<span class="pre">content-type</span></code> directive in HTML or an invocation of the <cite>inputenc</cite>
+package in LaTeX).</p>
+<p>If this is <code class="docutils literal notranslate"><span class="pre">""</span></code> or <code class="docutils literal notranslate"><span class="pre">None</span></code>, Unicode strings will be written
+to the output file, which most file-like objects do not support.
+For example, <cite>pygments.highlight()</cite> will return a Unicode string if
+called with no <cite>outfile</cite> argument and a formatter that has <cite>encoding</cite>
+set to <code class="docutils literal notranslate"><span class="pre">None</span></code> because it uses a <cite>StringIO.StringIO</cite> object that
+supports Unicode arguments to <cite>write()</cite>. Using a regular file object
+wouldn’t work.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd>
+<dt><cite>outencoding</cite></dt><dd><p>When using Pygments from the command line, any <cite>encoding</cite> option given is
+passed to the lexer and the formatter. This is sometimes not desirable,
+for example if you want to set the input encoding to <code class="docutils literal notranslate"><span class="pre">"guess"</span></code>.
+Therefore, <cite>outencoding</cite> has been introduced which overrides <cite>encoding</cite>
+for the formatter if given.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd>
+</dl>
+</div>
+<div class="section" id="formatter-classes">
+<h2>Formatter classes<a class="headerlink" href="#formatter-classes" title="Permalink to this headline">¶</a></h2>
+<p>All these classes are importable from <a class="reference internal" href="api.html#module-pygments.formatters" title="pygments.formatters"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.formatters</span></code></a>.</p>
+<dl class="class">
+<dt id="BBCodeFormatter">
+<em class="property">class </em><code class="sig-name descname">BBCodeFormatter</code><a class="headerlink" href="#BBCodeFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bbcode, bb</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
+<p>Format tokens with BBcodes. These formatting codes are used by many
+bulletin boards, so you can highlight your sourcecode with pygments before
+posting it there.</p>
+<p>This formatter has no support for background colors and borders, as there
+are no common BBcode tags for that.</p>
+<p>Some board systems (e.g. phpBB) don’t support colors in their [code] tag,
+so you can’t use the highlighting together with that tag.
+Text in a [code] tag usually is shown with a monospace font (which this
+formatter can do with the <code class="docutils literal notranslate"><span class="pre">monofont</span></code> option) and no spaces (which you
+need for indentation) are removed.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
+<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
+</dd>
+<dt><cite>codetag</cite></dt><dd><p>If set to true, put the output into <code class="docutils literal notranslate"><span class="pre">[code]</span></code> tags (default:
+<code class="docutils literal notranslate"><span class="pre">false</span></code>)</p>
+</dd>
+<dt><cite>monofont</cite></dt><dd><p>If set to true, add a tag to show the code with a monospace font
+(default: <code class="docutils literal notranslate"><span class="pre">false</span></code>).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="BmpImageFormatter">
+<em class="property">class </em><code class="sig-name descname">BmpImageFormatter</code><a class="headerlink" href="#BmpImageFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bmp, bitmap</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bmp</p>
+</dd>
+</dl>
+<p>Create a bitmap image from source code. This uses the Python Imaging Library to
+generate a pixmap from the source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="GifImageFormatter">
+<em class="property">class </em><code class="sig-name descname">GifImageFormatter</code><a class="headerlink" href="#GifImageFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>gif</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.gif</p>
+</dd>
+</dl>
+<p>Create a GIF image from source code. This uses the Python Imaging Library to
+generate a pixmap from the source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="HtmlFormatter">
+<em class="property">class </em><code class="sig-name descname">HtmlFormatter</code><a class="headerlink" href="#HtmlFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.html, *.htm</p>
+</dd>
+</dl>
+<p>Format tokens as HTML 4 <code class="docutils literal notranslate"><span class="pre"><span></span></code> tags within a <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag, wrapped
+in a <code class="docutils literal notranslate"><span class="pre"><div></span></code> tag. The <code class="docutils literal notranslate"><span class="pre"><div></span></code>’s CSS class can be set by the <cite>cssclass</cite>
+option.</p>
+<p>If the <cite>linenos</cite> option is set to <code class="docutils literal notranslate"><span class="pre">"table"</span></code>, the <code class="docutils literal notranslate"><span class="pre"><pre></span></code> is
+additionally wrapped inside a <code class="docutils literal notranslate"><span class="pre"><table></span></code> which has one row and two
+cells: one containing the line numbers and one containing the code.
+Example:</p>
+<div class="highlight-html notranslate"><div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span> <span class="p">></span>
+<span class="p"><</span><span class="nt">table</span><span class="p">><</span><span class="nt">tr</span><span class="p">></span>
+ <span class="p"><</span><span class="nt">td</span> <span class="na">class</span><span class="o">=</span><span class="s">"linenos"</span> <span class="na">title</span><span class="o">=</span><span class="s">"click to toggle"</span>
+ <span class="na">onclick</span><span class="o">=</span><span class="s">"with (this.firstChild.style)</span>
+<span class="s"> { display = (display == '') ? 'none' : '' }"</span><span class="p">></span>
+ <span class="p"><</span><span class="nt">pre</span><span class="p">></span>1
+ 2<span class="p"></</span><span class="nt">pre</span><span class="p">></span>
+ <span class="p"></</span><span class="nt">td</span><span class="p">></span>
+ <span class="p"><</span><span class="nt">td</span> <span class="na">class</span><span class="o">=</span><span class="s">"code"</span><span class="p">></span>
+ <span class="p"><</span><span class="nt">pre</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"Ke"</span><span class="p">></span>def <span class="p"></</span><span class="nt">span</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"NaFu"</span><span class="p">></span>foo<span class="p"></</span><span class="nt">span</span><span class="p">></span>(bar):
+ <span class="p"><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"Ke"</span><span class="p">></span>pass<span class="p"></</span><span class="nt">span</span><span class="p">></span>
+ <span class="p"></</span><span class="nt">pre</span><span class="p">></span>
+ <span class="p"></</span><span class="nt">td</span><span class="p">></span>
+<span class="p"></</span><span class="nt">tr</span><span class="p">></</span><span class="nt">table</span><span class="p">></</span><span class="nt">div</span><span class="p">></span>
+</pre></div>
+</div>
+<p>(whitespace added to improve clarity).</p>
+<p>Wrapping can be disabled using the <cite>nowrap</cite> option.</p>
+<p>A list of lines can be specified using the <cite>hl_lines</cite> option to make these
+lines highlighted (as of Pygments 0.11).</p>
+<p>With the <cite>full</cite> option, a complete HTML 4 document is output, including
+the style definitions inside a <code class="docutils literal notranslate"><span class="pre"><style></span></code> tag, or in a separate file if
+the <cite>cssfile</cite> option is given.</p>
+<p>When <cite>tagsfile</cite> is set to the path of a ctags index file, it is used to
+generate hyperlinks from names to their definition. You must enable
+<cite>lineanchors</cite> and run ctags with the <cite>-n</cite> option for this to work. The
+<cite>python-ctags</cite> module from PyPI must be installed to use this feature;
+otherwise a <cite>RuntimeError</cite> will be raised.</p>
+<p>The <cite>get_style_defs(arg=’’)</cite> method of a <cite>HtmlFormatter</cite> returns a string
+containing CSS rules for the CSS classes used by the formatter. The
+argument <cite>arg</cite> can be used to specify additional CSS selectors that
+are prepended to the classes. A call <cite>fmter.get_style_defs(‘td .code’)</cite>
+would result in the following CSS classes:</p>
+<div class="highlight-css notranslate"><div class="highlight"><pre><span></span><span class="nt">td</span> <span class="p">.</span><span class="nc">code</span> <span class="p">.</span><span class="nc">kw</span> <span class="p">{</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span><span class="p">;</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#00FF00</span> <span class="p">}</span>
+<span class="nt">td</span> <span class="p">.</span><span class="nc">code</span> <span class="p">.</span><span class="nc">cm</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#999999</span> <span class="p">}</span>
+<span class="o">...</span>
+</pre></div>
+</div>
+<p>If you have Pygments 0.6 or higher, you can also pass a list or tuple to the
+<cite>get_style_defs()</cite> method to request multiple prefixes for the tokens:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">formatter</span><span class="o">.</span><span class="n">get_style_defs</span><span class="p">([</span><span class="s1">'div.syntax pre'</span><span class="p">,</span> <span class="s1">'pre.syntax'</span><span class="p">])</span>
+</pre></div>
+</div>
+<p>The output would then look like this:</p>
+<div class="highlight-css notranslate"><div class="highlight"><pre><span></span><span class="nt">div</span><span class="p">.</span><span class="nc">syntax</span> <span class="nt">pre</span> <span class="p">.</span><span class="nc">kw</span><span class="o">,</span>
+<span class="nt">pre</span><span class="p">.</span><span class="nc">syntax</span> <span class="p">.</span><span class="nc">kw</span> <span class="p">{</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span><span class="p">;</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#00FF00</span> <span class="p">}</span>
+<span class="nt">div</span><span class="p">.</span><span class="nc">syntax</span> <span class="nt">pre</span> <span class="p">.</span><span class="nc">cm</span><span class="o">,</span>
+<span class="nt">pre</span><span class="p">.</span><span class="nc">syntax</span> <span class="p">.</span><span class="nc">cm</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#999999</span> <span class="p">}</span>
+<span class="o">...</span>
+</pre></div>
+</div>
+<p>Additional options accepted:</p>
+<dl>
+<dt><cite>nowrap</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, don’t wrap the tokens at all, not even inside a <code class="docutils literal notranslate"><span class="pre"><pre></span></code>
+tag. This disables most other options (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+</dd>
+<dt><cite>full</cite></dt><dd><p>Tells the formatter to output a “full” document, i.e. a complete
+self-contained document (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+</dd>
+<dt><cite>title</cite></dt><dd><p>If <cite>full</cite> is true, the title that should be used to caption the
+document (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
+</dd>
+<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
+<code class="docutils literal notranslate"><span class="pre">'default'</span></code>). This option has no effect if the <cite>cssfile</cite>
+and <cite>noclobber_cssfile</cite> option are given and the file specified in
+<cite>cssfile</cite> exists.</p>
+</dd>
+<dt><cite>noclasses</cite></dt><dd><p>If set to true, token <code class="docutils literal notranslate"><span class="pre"><span></span></code> tags will not use CSS classes, but
+inline styles. This is not recommended for larger pieces of code since
+it increases output size by quite a bit (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+</dd>
+<dt><cite>classprefix</cite></dt><dd><p>Since the token types use relatively short class names, they may clash
+with some of your own class names. In this case you can use the
+<cite>classprefix</cite> option to give a string to prepend to all Pygments-generated
+CSS class names for token types.
+Note that this option also affects the output of <cite>get_style_defs()</cite>.</p>
+</dd>
+<dt><cite>cssclass</cite></dt><dd><p>CSS class for the wrapping <code class="docutils literal notranslate"><span class="pre"><div></span></code> tag (default: <code class="docutils literal notranslate"><span class="pre">'highlight'</span></code>).
+If you set this option, the default selector for <cite>get_style_defs()</cite>
+will be this class.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9: </span>If you select the <code class="docutils literal notranslate"><span class="pre">'table'</span></code> line numbers, the wrapping table will
+have a CSS class of this string plus <code class="docutils literal notranslate"><span class="pre">'table'</span></code>, the default is
+accordingly <code class="docutils literal notranslate"><span class="pre">'highlighttable'</span></code>.</p>
+</div>
+</dd>
+<dt><cite>cssstyles</cite></dt><dd><p>Inline CSS styles for the wrapping <code class="docutils literal notranslate"><span class="pre"><div></span></code> tag (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
+</dd>
+<dt><cite>prestyles</cite></dt><dd><p>Inline CSS styles for the <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd>
+<dt><cite>cssfile</cite></dt><dd><p>If the <cite>full</cite> option is true and this option is given, it must be the
+name of an external file. If the filename does not include an absolute
+path, the file’s path will be assumed to be relative to the main output
+file’s path, if the latter can be found. The stylesheet is then written
+to this file instead of the HTML file.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd>
+<dt><cite>noclobber_cssfile</cite></dt><dd><p>If <cite>cssfile</cite> is given and the specified file exists, the css file will
+not be overwritten. This allows the use of the <cite>full</cite> option in
+combination with a user specified css file. Default is <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd>
+<dt><cite>linenos</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">'table'</span></code>, output line numbers as a table with two cells,
+one containing the line numbers, the other the whole code. This is
+copy-and-paste-friendly, but may cause alignment problems with some
+browsers or fonts. If set to <code class="docutils literal notranslate"><span class="pre">'inline'</span></code>, the line numbers will be
+integrated in the <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag that contains the code (that setting
+is <em>new in Pygments 0.8</em>).</p>
+<p>For compatibility with Pygments 0.7 and earlier, every true value
+except <code class="docutils literal notranslate"><span class="pre">'inline'</span></code> means the same as <code class="docutils literal notranslate"><span class="pre">'table'</span></code> (in particular, that
+means also <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
+<p>The default value is <code class="docutils literal notranslate"><span class="pre">False</span></code>, which means no line numbers at all.</p>
+<p><strong>Note:</strong> with the default (“table”) line number mechanism, the line
+numbers and code can have different line heights in Internet Explorer
+unless you give the enclosing <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tags an explicit <code class="docutils literal notranslate"><span class="pre">line-height</span></code>
+CSS property (you get the default line spacing with <code class="docutils literal notranslate"><span class="pre">line-height:</span>
+<span class="pre">125%</span></code>).</p>
+</dd>
+<dt><cite>hl_lines</cite></dt><dd><p>Specify a list of lines to be highlighted.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd>
+<dt><cite>linenostart</cite></dt><dd><p>The line number for the first line (default: <code class="docutils literal notranslate"><span class="pre">1</span></code>).</p>
+</dd>
+<dt><cite>linenostep</cite></dt><dd><p>If set to a number n > 1, only every nth line number is printed.</p>
+</dd>
+<dt><cite>linenospecial</cite></dt><dd><p>If set to a number n > 0, every nth line number is given the CSS
+class <code class="docutils literal notranslate"><span class="pre">"special"</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>).</p>
+</dd>
+<dt><cite>nobackground</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, the formatter won’t output the background color
+for the wrapping element (this automatically defaults to <code class="docutils literal notranslate"><span class="pre">False</span></code>
+when there is no wrapping element [eg: no argument for the
+<cite>get_syntax_defs</cite> method given]) (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd>
+<dt><cite>lineseparator</cite></dt><dd><p>This string is output between lines of code. It defaults to <code class="docutils literal notranslate"><span class="pre">"\n"</span></code>,
+which is enough to break a line inside <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tags, but you can
+e.g. set it to <code class="docutils literal notranslate"><span class="pre">"<br>"</span></code> to get HTML line breaks.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd>
+<dt><cite>lineanchors</cite></dt><dd><p>If set to a nonempty string, e.g. <code class="docutils literal notranslate"><span class="pre">foo</span></code>, the formatter will wrap each
+output line in an anchor tag with a <code class="docutils literal notranslate"><span class="pre">name</span></code> of <code class="docutils literal notranslate"><span class="pre">foo-linenumber</span></code>.
+This allows easy linking to certain lines.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+</dd>
+<dt><cite>linespans</cite></dt><dd><p>If set to a nonempty string, e.g. <code class="docutils literal notranslate"><span class="pre">foo</span></code>, the formatter will wrap each
+output line in a span tag with an <code class="docutils literal notranslate"><span class="pre">id</span></code> of <code class="docutils literal notranslate"><span class="pre">foo-linenumber</span></code>.
+This allows easy access to lines via javascript.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd>
+<dt><cite>anchorlinenos</cite></dt><dd><p>If set to <cite>True</cite>, will wrap line numbers in <a> tags. Used in
+combination with <cite>linenos</cite> and <cite>lineanchors</cite>.</p>
+</dd>
+<dt><cite>tagsfile</cite></dt><dd><p>If set to the path of a ctags file, wrap names in anchor tags that
+link to their definitions. <cite>lineanchors</cite> should be used, and the
+tags file should specify line numbers (see the <cite>-n</cite> option to ctags).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd>
+<dt><cite>tagurlformat</cite></dt><dd><p>A string formatting pattern used to generate links to ctags definitions.
+Available variables are <cite>%(path)s</cite>, <cite>%(fname)s</cite> and <cite>%(fext)s</cite>.
+Defaults to an empty string, resulting in just <cite>#prefix-number</cite> links.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd>
+<dt><cite>filename</cite></dt><dd><p>A string used to generate a filename when rendering <code class="docutils literal notranslate"><span class="pre"><pre></span></code> blocks,
+for example if displaying source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd>
+<dt><cite>wrapcode</cite></dt><dd><p>Wrap the code inside <code class="docutils literal notranslate"><span class="pre"><pre></span></code> blocks using <code class="docutils literal notranslate"><span class="pre"><code></span></code>, as recommended
+by the HTML5 specification.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd>
+</dl>
+<p><strong>Subclassing the HTML formatter</strong></p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+<p>The HTML formatter is now built in a way that allows easy subclassing, thus
+customizing the output HTML code. The <cite>format()</cite> method calls
+<cite>self._format_lines()</cite> which returns a generator that yields tuples of <code class="docutils literal notranslate"><span class="pre">(1,</span>
+<span class="pre">line)</span></code>, where the <code class="docutils literal notranslate"><span class="pre">1</span></code> indicates that the <code class="docutils literal notranslate"><span class="pre">line</span></code> is a line of the
+formatted source code.</p>
+<p>If the <cite>nowrap</cite> option is set, the generator is the iterated over and the
+resulting HTML is output.</p>
+<p>Otherwise, <cite>format()</cite> calls <cite>self.wrap()</cite>, which wraps the generator with
+other generators. These may add some HTML code to the one generated by
+<cite>_format_lines()</cite>, either by modifying the lines generated by the latter,
+then yielding them again with <code class="docutils literal notranslate"><span class="pre">(1,</span> <span class="pre">line)</span></code>, and/or by yielding other HTML
+code before or after the lines, with <code class="docutils literal notranslate"><span class="pre">(0,</span> <span class="pre">html)</span></code>. The distinction between
+source lines and other code makes it possible to wrap the generator multiple
+times.</p>
+<p>The default <cite>wrap()</cite> implementation adds a <code class="docutils literal notranslate"><span class="pre"><div></span></code> and a <code class="docutils literal notranslate"><span class="pre"><pre></span></code> tag.</p>
+<p>A custom <cite>HtmlFormatter</cite> subclass could look like this:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">CodeHtmlFormatter</span><span class="p">(</span><span class="n">HtmlFormatter</span><span class="p">):</span>
+
+ <span class="k">def</span> <span class="nf">wrap</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source</span><span class="p">,</span> <span class="n">outfile</span><span class="p">):</span>
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wrap_code</span><span class="p">(</span><span class="n">source</span><span class="p">)</span>
+
+ <span class="k">def</span> <span class="nf">_wrap_code</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source</span><span class="p">):</span>
+ <span class="k">yield</span> <span class="mi">0</span><span class="p">,</span> <span class="s1">'<code>'</span>
+ <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">source</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">i</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+ <span class="c1"># it's a line of formatted code</span>
+ <span class="n">t</span> <span class="o">+=</span> <span class="s1">'<br>'</span>
+ <span class="k">yield</span> <span class="n">i</span><span class="p">,</span> <span class="n">t</span>
+ <span class="k">yield</span> <span class="mi">0</span><span class="p">,</span> <span class="s1">'</code>'</span>
+</pre></div>
+</div>
+<p>This results in wrapping the formatted lines with a <code class="docutils literal notranslate"><span class="pre"><code></span></code> tag, where the
+source lines are broken using <code class="docutils literal notranslate"><span class="pre"><br></span></code> tags.</p>
+<p>After calling <cite>wrap()</cite>, the <cite>format()</cite> method also adds the “line numbers”
+and/or “full document” wrappers if the respective options are set. Then, all
+HTML yielded by the wrapped generator is output.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="IRCFormatter">
+<em class="property">class </em><code class="sig-name descname">IRCFormatter</code><a class="headerlink" href="#IRCFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>irc, IRC</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
+<p>Format tokens with IRC color sequences</p>
+<p>The <cite>get_style_defs()</cite> method doesn’t do anything special since there is
+no support for common styles.</p>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>bg</cite></dt><dd><p>Set to <code class="docutils literal notranslate"><span class="pre">"light"</span></code> or <code class="docutils literal notranslate"><span class="pre">"dark"</span></code> depending on the terminal’s background
+(default: <code class="docutils literal notranslate"><span class="pre">"light"</span></code>).</p>
+</dd>
+<dt><cite>colorscheme</cite></dt><dd><p>A dictionary mapping token types to (lightbg, darkbg) color names or
+<code class="docutils literal notranslate"><span class="pre">None</span></code> (default: <code class="docutils literal notranslate"><span class="pre">None</span></code> = use builtin colorscheme).</p>
+</dd>
+<dt><cite>linenos</cite></dt><dd><p>Set to <code class="docutils literal notranslate"><span class="pre">True</span></code> to have line numbers in the output as well
+(default: <code class="docutils literal notranslate"><span class="pre">False</span></code> = no line numbers).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="ImageFormatter">
+<em class="property">class </em><code class="sig-name descname">ImageFormatter</code><a class="headerlink" href="#ImageFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>img, IMG, png</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.png</p>
+</dd>
+</dl>
+<p>Create a PNG image from source code. This uses the Python Imaging Library to
+generate a pixmap from the source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+<p>Additional options accepted:</p>
+<dl>
+<dt><cite>image_format</cite></dt><dd><p>An image format to output to that is recognised by PIL, these include:</p>
+<ul class="simple">
+<li><p>“PNG” (default)</p></li>
+<li><p>“JPEG”</p></li>
+<li><p>“BMP”</p></li>
+<li><p>“GIF”</p></li>
+</ul>
+</dd>
+<dt><cite>line_pad</cite></dt><dd><p>The extra spacing (in pixels) between each line of text.</p>
+<p>Default: 2</p>
+</dd>
+<dt><cite>font_name</cite></dt><dd><p>The font name to be used as the base font from which others, such as
+bold and italic fonts will be generated. This really should be a
+monospace font to look sane.</p>
+<dl class="simple">
+<dt>Default: “Courier New” on Windows, “Menlo” on Mac OS, and</dt><dd><p>“DejaVu Sans Mono” on *nix</p>
+</dd>
+</dl>
+</dd>
+<dt><cite>font_size</cite></dt><dd><p>The font size in points to be used.</p>
+<p>Default: 14</p>
+</dd>
+<dt><cite>image_pad</cite></dt><dd><p>The padding, in pixels to be used at each edge of the resulting image.</p>
+<p>Default: 10</p>
+</dd>
+<dt><cite>line_numbers</cite></dt><dd><p>Whether line numbers should be shown: True/False</p>
+<p>Default: True</p>
+</dd>
+<dt><cite>line_number_start</cite></dt><dd><p>The line number of the first line.</p>
+<p>Default: 1</p>
+</dd>
+<dt><cite>line_number_step</cite></dt><dd><p>The step used when printing line numbers.</p>
+<p>Default: 1</p>
+</dd>
+<dt><cite>line_number_bg</cite></dt><dd><p>The background colour (in “#123456” format) of the line number bar, or
+None to use the style background color.</p>
+<p>Default: “#eed”</p>
+</dd>
+<dt><cite>line_number_fg</cite></dt><dd><p>The text color of the line numbers (in “#123456”-like format).</p>
+<p>Default: “#886”</p>
+</dd>
+<dt><cite>line_number_chars</cite></dt><dd><p>The number of columns of line numbers allowable in the line number
+margin.</p>
+<p>Default: 2</p>
+</dd>
+<dt><cite>line_number_bold</cite></dt><dd><p>Whether line numbers will be bold: True/False</p>
+<p>Default: False</p>
+</dd>
+<dt><cite>line_number_italic</cite></dt><dd><p>Whether line numbers will be italicized: True/False</p>
+<p>Default: False</p>
+</dd>
+<dt><cite>line_number_separator</cite></dt><dd><p>Whether a line will be drawn between the line number area and the
+source code area: True/False</p>
+<p>Default: True</p>
+</dd>
+<dt><cite>line_number_pad</cite></dt><dd><p>The horizontal padding (in pixels) between the line number margin, and
+the source code area.</p>
+<p>Default: 6</p>
+</dd>
+<dt><cite>hl_lines</cite></dt><dd><p>Specify a list of lines to be highlighted.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+<p>Default: empty list</p>
+</dd>
+<dt><cite>hl_color</cite></dt><dd><p>Specify the color for highlighting lines.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+<p>Default: highlight color of the selected style</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="JpgImageFormatter">
+<em class="property">class </em><code class="sig-name descname">JpgImageFormatter</code><a class="headerlink" href="#JpgImageFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>jpg, jpeg</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.jpg</p>
+</dd>
+</dl>
+<p>Create a JPEG image from source code. This uses the Python Imaging Library to
+generate a pixmap from the source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="LatexFormatter">
+<em class="property">class </em><code class="sig-name descname">LatexFormatter</code><a class="headerlink" href="#LatexFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>latex, tex</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.tex</p>
+</dd>
+</dl>
+<p>Format tokens as LaTeX code. This needs the <cite>fancyvrb</cite> and <cite>color</cite>
+standard packages.</p>
+<p>Without the <cite>full</cite> option, code is formatted as one <code class="docutils literal notranslate"><span class="pre">Verbatim</span></code>
+environment, like this:</p>
+<div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\begin</span><span class="nb">{</span>Verbatim<span class="nb">}</span>[commandchars=<span class="k">\\\{\}</span>]
+<span class="k">\PY</span><span class="nb">{</span>k<span class="nb">}{</span>def <span class="nb">}</span><span class="k">\PY</span><span class="nb">{</span>n+nf<span class="nb">}{</span>foo<span class="nb">}</span>(<span class="k">\PY</span><span class="nb">{</span>n<span class="nb">}{</span>bar<span class="nb">}</span>):
+ <span class="k">\PY</span><span class="nb">{</span>k<span class="nb">}{</span>pass<span class="nb">}</span>
+<span class="k">\end</span><span class="nb">{</span>Verbatim<span class="nb">}</span>
+</pre></div>
+</div>
+<p>The special command used here (<code class="docutils literal notranslate"><span class="pre">\PY</span></code>) and all the other macros it needs
+are output by the <cite>get_style_defs</cite> method.</p>
+<p>With the <cite>full</cite> option, a complete LaTeX document is output, including
+the command definitions in the preamble.</p>
+<p>The <cite>get_style_defs()</cite> method of a <cite>LatexFormatter</cite> returns a string
+containing <code class="docutils literal notranslate"><span class="pre">\def</span></code> commands defining the macros needed inside the
+<code class="docutils literal notranslate"><span class="pre">Verbatim</span></code> environments.</p>
+<p>Additional options accepted:</p>
+<dl>
+<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
+<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
+</dd>
+<dt><cite>full</cite></dt><dd><p>Tells the formatter to output a “full” document, i.e. a complete
+self-contained document (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+</dd>
+<dt><cite>title</cite></dt><dd><p>If <cite>full</cite> is true, the title that should be used to caption the
+document (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
+</dd>
+<dt><cite>docclass</cite></dt><dd><p>If the <cite>full</cite> option is enabled, this is the document class to use
+(default: <code class="docutils literal notranslate"><span class="pre">'article'</span></code>).</p>
+</dd>
+<dt><cite>preamble</cite></dt><dd><p>If the <cite>full</cite> option is enabled, this can be further preamble commands,
+e.g. <code class="docutils literal notranslate"><span class="pre">\usepackage</span></code> (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
+</dd>
+<dt><cite>linenos</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, output line numbers (default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+</dd>
+<dt><cite>linenostart</cite></dt><dd><p>The line number for the first line (default: <code class="docutils literal notranslate"><span class="pre">1</span></code>).</p>
+</dd>
+<dt><cite>linenostep</cite></dt><dd><p>If set to a number n > 1, only every nth line number is printed.</p>
+</dd>
+<dt><cite>verboptions</cite></dt><dd><p>Additional options given to the Verbatim environment (see the <em>fancyvrb</em>
+docs for possible values) (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
+</dd>
+<dt><cite>commandprefix</cite></dt><dd><p>The LaTeX commands used to produce colored output are constructed
+using this prefix and some letters (default: <code class="docutils literal notranslate"><span class="pre">'PY'</span></code>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 0.10: </span>The default is now <code class="docutils literal notranslate"><span class="pre">'PY'</span></code> instead of <code class="docutils literal notranslate"><span class="pre">'C'</span></code>.</p>
+</div>
+</dd>
+<dt><cite>texcomments</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, enables LaTeX comment lines. That is, LaTex markup
+in comment tokens is not escaped so that LaTeX can render it (default:
+<code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd>
+<dt><cite>mathescape</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, enables LaTeX math mode escape in comments. That
+is, <code class="docutils literal notranslate"><span class="pre">'$...$'</span></code> inside a comment will trigger math mode (default:
+<code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd>
+<dt><cite>escapeinside</cite></dt><dd><p>If set to a string of length 2, enables escaping to LaTeX. Text
+delimited by these 2 characters is read as LaTeX code and
+typeset accordingly. It has no effect in string literals. It has
+no effect in comments if <cite>texcomments</cite> or <cite>mathescape</cite> is
+set. (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd>
+<dt><cite>envname</cite></dt><dd><p>Allows you to pick an alternative environment name replacing Verbatim.
+The alternate environment still has to support Verbatim’s option syntax.
+(default: <code class="docutils literal notranslate"><span class="pre">'Verbatim'</span></code>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="NullFormatter">
+<em class="property">class </em><code class="sig-name descname">NullFormatter</code><a class="headerlink" href="#NullFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>text, null</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.txt</p>
+</dd>
+</dl>
+<p>Output the text unchanged without any formatting.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="RawTokenFormatter">
+<em class="property">class </em><code class="sig-name descname">RawTokenFormatter</code><a class="headerlink" href="#RawTokenFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>raw, tokens</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.raw</p>
+</dd>
+</dl>
+<p>Format tokens as a raw representation for storing token streams.</p>
+<p>The format is <code class="docutils literal notranslate"><span class="pre">tokentype<TAB>repr(tokenstring)\n</span></code>. The output can later
+be converted to a token stream with the <cite>RawTokenLexer</cite>, described in the
+<a class="reference internal" href="lexers.html"><span class="doc">lexer list</span></a>.</p>
+<p>Only two options are accepted:</p>
+<dl>
+<dt><cite>compress</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">'gz'</span></code> or <code class="docutils literal notranslate"><span class="pre">'bz2'</span></code>, compress the output with the given
+compression algorithm after encoding (default: <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
+</dd>
+<dt><cite>error_color</cite></dt><dd><p>If set to a color name, highlight error tokens using that color. If
+set but with no value, defaults to <code class="docutils literal notranslate"><span class="pre">'red'</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="RtfFormatter">
+<em class="property">class </em><code class="sig-name descname">RtfFormatter</code><a class="headerlink" href="#RtfFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rtf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rtf</p>
+</dd>
+</dl>
+<p>Format tokens as RTF markup. This formatter automatically outputs full RTF
+documents with color information and other useful stuff. Perfect for Copy and
+Paste into Microsoft(R) Word(R) documents.</p>
+<p>Please note that <code class="docutils literal notranslate"><span class="pre">encoding</span></code> and <code class="docutils literal notranslate"><span class="pre">outencoding</span></code> options are ignored.
+The RTF format is ASCII natively, but handles unicode characters correctly
+thanks to escape sequences.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+<p>Additional options accepted:</p>
+<dl>
+<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
+<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
+</dd>
+<dt><cite>fontface</cite></dt><dd><p>The used font family, for example <code class="docutils literal notranslate"><span class="pre">Bitstream</span> <span class="pre">Vera</span> <span class="pre">Sans</span></code>. Defaults to
+some generic font which is supposed to have fixed width.</p>
+</dd>
+<dt><cite>fontsize</cite></dt><dd><p>Size of the font used. Size is specified in half points. The
+default is 24 half-points, giving a size 12 font.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="SvgFormatter">
+<em class="property">class </em><code class="sig-name descname">SvgFormatter</code><a class="headerlink" href="#SvgFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>svg</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.svg</p>
+</dd>
+</dl>
+<p>Format tokens as an SVG graphics file. This formatter is still experimental.
+Each line of code is a <code class="docutils literal notranslate"><span class="pre"><text></span></code> element with explicit <code class="docutils literal notranslate"><span class="pre">x</span></code> and <code class="docutils literal notranslate"><span class="pre">y</span></code>
+coordinates containing <code class="docutils literal notranslate"><span class="pre"><tspan></span></code> elements with the individual token styles.</p>
+<p>By default, this formatter outputs a full SVG document including doctype
+declaration and the <code class="docutils literal notranslate"><span class="pre"><svg></span></code> root element.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>nowrap</cite></dt><dd><p>Don’t wrap the SVG <code class="docutils literal notranslate"><span class="pre"><text></span></code> elements in <code class="docutils literal notranslate"><span class="pre"><svg><g></span></code> elements and
+don’t add a XML declaration and a doctype. If true, the <cite>fontfamily</cite>
+and <cite>fontsize</cite> options are ignored. Defaults to <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
+</dd>
+<dt><cite>fontfamily</cite></dt><dd><p>The value to give the wrapping <code class="docutils literal notranslate"><span class="pre"><g></span></code> element’s <code class="docutils literal notranslate"><span class="pre">font-family</span></code>
+attribute, defaults to <code class="docutils literal notranslate"><span class="pre">"monospace"</span></code>.</p>
+</dd>
+<dt><cite>fontsize</cite></dt><dd><p>The value to give the wrapping <code class="docutils literal notranslate"><span class="pre"><g></span></code> element’s <code class="docutils literal notranslate"><span class="pre">font-size</span></code>
+attribute, defaults to <code class="docutils literal notranslate"><span class="pre">"14px"</span></code>.</p>
+</dd>
+<dt><cite>xoffset</cite></dt><dd><p>Starting offset in X direction, defaults to <code class="docutils literal notranslate"><span class="pre">0</span></code>.</p>
+</dd>
+<dt><cite>yoffset</cite></dt><dd><p>Starting offset in Y direction, defaults to the font size if it is given
+in pixels, or <code class="docutils literal notranslate"><span class="pre">20</span></code> else. (This is necessary since text coordinates
+refer to the text baseline, not the top edge.)</p>
+</dd>
+<dt><cite>ystep</cite></dt><dd><p>Offset to add to the Y coordinate for each subsequent line. This should
+roughly be the text size plus 5. It defaults to that value if the text
+size is given in pixels, or <code class="docutils literal notranslate"><span class="pre">25</span></code> else.</p>
+</dd>
+<dt><cite>spacehack</cite></dt><dd><p>Convert spaces in the source to <code class="docutils literal notranslate"><span class="pre">&#160;</span></code>, which are non-breaking
+spaces. SVG provides the <code class="docutils literal notranslate"><span class="pre">xml:space</span></code> attribute to control how
+whitespace inside tags is handled, in theory, the <code class="docutils literal notranslate"><span class="pre">preserve</span></code> value
+could be used to keep all whitespace as-is. However, many current SVG
+viewers don’t obey that rule, so this option is provided as a workaround
+and defaults to <code class="docutils literal notranslate"><span class="pre">True</span></code>.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="Terminal256Formatter">
+<em class="property">class </em><code class="sig-name descname">Terminal256Formatter</code><a class="headerlink" href="#Terminal256Formatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>terminal256, console256, 256</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
+<p>Format tokens with ANSI color sequences, for output in a 256-color
+terminal or console. Like in <cite>TerminalFormatter</cite> color sequences
+are terminated at newlines, so that paging the output works correctly.</p>
+<p>The formatter takes colors from a style defined by the <cite>style</cite> option
+and converts them to nearest ANSI 256-color escape sequences. Bold and
+underline attributes from the style are preserved (and displayed).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 2.2: </span>If the used style defines foreground colors in the form <code class="docutils literal notranslate"><span class="pre">#ansi*</span></code>, then
+<cite>Terminal256Formatter</cite> will map these to non extended foreground color.
+See <a class="reference internal" href="styles.html#ansiterminalstyle"><span class="std std-ref">Terminal Styles</span></a> for more information.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 2.4: </span>The ANSI color names have been updated with names that are easier to
+understand and align with colornames of other projects and terminals.
+See <a class="reference internal" href="styles.html#new-ansi-color-names"><span class="std std-ref">this table</span></a> for more information.</p>
+</div>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
+<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="TerminalFormatter">
+<em class="property">class </em><code class="sig-name descname">TerminalFormatter</code><a class="headerlink" href="#TerminalFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>terminal, console</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
+<p>Format tokens with ANSI color sequences, for output in a text console.
+Color sequences are terminated at newlines, so that paging the output
+works correctly.</p>
+<p>The <cite>get_style_defs()</cite> method doesn’t do anything special since there is
+no support for common styles.</p>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>bg</cite></dt><dd><p>Set to <code class="docutils literal notranslate"><span class="pre">"light"</span></code> or <code class="docutils literal notranslate"><span class="pre">"dark"</span></code> depending on the terminal’s background
+(default: <code class="docutils literal notranslate"><span class="pre">"light"</span></code>).</p>
+</dd>
+<dt><cite>colorscheme</cite></dt><dd><p>A dictionary mapping token types to (lightbg, darkbg) color names or
+<code class="docutils literal notranslate"><span class="pre">None</span></code> (default: <code class="docutils literal notranslate"><span class="pre">None</span></code> = use builtin colorscheme).</p>
+</dd>
+<dt><cite>linenos</cite></dt><dd><p>Set to <code class="docutils literal notranslate"><span class="pre">True</span></code> to have line numbers on the terminal output as well
+(default: <code class="docutils literal notranslate"><span class="pre">False</span></code> = no line numbers).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="TerminalTrueColorFormatter">
+<em class="property">class </em><code class="sig-name descname">TerminalTrueColorFormatter</code><a class="headerlink" href="#TerminalTrueColorFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>terminal16m, console16m, 16m</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
+<p>Format tokens with ANSI color sequences, for output in a true-color
+terminal or console. Like in <cite>TerminalFormatter</cite> color sequences
+are terminated at newlines, so that paging the output works correctly.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+<p>Options accepted:</p>
+<dl class="simple">
+<dt><cite>style</cite></dt><dd><p>The style to use, can be a string or a Style subclass (default:
+<code class="docutils literal notranslate"><span class="pre">'default'</span></code>).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="TestcaseFormatter">
+<em class="property">class </em><code class="sig-name descname">TestcaseFormatter</code><a class="headerlink" href="#TestcaseFormatter" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>testcase</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
+<p>Format tokens as appropriate for a new testcase.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Pygments documentation — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Download and installation" href="../download.html" />
+ <link rel="prev" title="Welcome!" href="../index.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="#">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="../index.html"
+ title="previous chapter">Welcome!</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="../download.html"
+ title="next chapter">Download and installation</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/index.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="pygments-documentation">
+<h1>Pygments documentation<a class="headerlink" href="#pygments-documentation" title="Permalink to this headline">¶</a></h1>
+<p><strong>Starting with Pygments</strong></p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../download.html">Download and installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Introduction and Quickstart</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cmdline.html">Command Line Interface</a></li>
+</ul>
+</div>
+<p><strong>Builtin components</strong></p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="lexers.html">Available lexers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="filters.html">Filters</a></li>
+<li class="toctree-l1"><a class="reference internal" href="formatters.html">Available formatters</a></li>
+<li class="toctree-l1"><a class="reference internal" href="styles.html">Styles</a></li>
+</ul>
+</div>
+<p><strong>Reference</strong></p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="unicode.html">Unicode and Encodings</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tokens.html">Builtin Tokens</a></li>
+<li class="toctree-l1"><a class="reference internal" href="api.html">The full Pygments API</a></li>
+</ul>
+</div>
+<p><strong>Hacking for Pygments</strong></p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="lexerdevelopment.html">Write your own lexer</a></li>
+<li class="toctree-l1"><a class="reference internal" href="formatterdevelopment.html">Write your own formatter</a></li>
+<li class="toctree-l1"><a class="reference internal" href="filterdevelopment.html">Write your own filter</a></li>
+<li class="toctree-l1"><a class="reference internal" href="plugins.html">Register Plugins</a></li>
+</ul>
+</div>
+<p><strong>Hints and tricks</strong></p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="rstdirective.html">Using Pygments in ReST documents</a></li>
+<li class="toctree-l1"><a class="reference internal" href="moinmoin.html">Using Pygments with MoinMoin</a></li>
+<li class="toctree-l1"><a class="reference internal" href="java.html">Use Pygments in Java</a></li>
+<li class="toctree-l1"><a class="reference internal" href="integrate.html">Using Pygments in various scenarios</a></li>
+</ul>
+</div>
+<p><strong>About Pygments</strong></p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="changelog.html">Pygments changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="authors.html">Full contributor list</a></li>
+</ul>
+</div>
+<p>If you find bugs or have suggestions for the documentation, please submit them
+on <cite>GitHub <https://github.com/pygments/pygments></cite>.</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Using Pygments in various scenarios — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Pygments changelog" href="changelog.html" />
+ <link rel="prev" title="Use Pygments in Java" href="java.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Using Pygments in various scenarios</a><ul>
+<li><a class="reference internal" href="#markdown">Markdown</a></li>
+<li><a class="reference internal" href="#textmate">TextMate</a></li>
+<li><a class="reference internal" href="#bash-completion">Bash completion</a></li>
+<li><a class="reference internal" href="#wrappers-for-other-languages">Wrappers for other languages</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="java.html"
+ title="previous chapter">Use Pygments in Java</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="changelog.html"
+ title="next chapter">Pygments changelog</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/integrate.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="using-pygments-in-various-scenarios">
+<h1>Using Pygments in various scenarios<a class="headerlink" href="#using-pygments-in-various-scenarios" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="markdown">
+<h2>Markdown<a class="headerlink" href="#markdown" title="Permalink to this headline">¶</a></h2>
+<p>Since Pygments 0.9, the distribution ships <a class="reference external" href="http://www.freewisdom.org/projects/python-markdown/">Markdown</a> preprocessor sample code
+that uses Pygments to render source code in
+<code class="file docutils literal notranslate"><span class="pre">external/markdown-processor.py</span></code>. You can copy and adapt it to your
+liking.</p>
+</div>
+<div class="section" id="textmate">
+<h2>TextMate<a class="headerlink" href="#textmate" title="Permalink to this headline">¶</a></h2>
+<p>Antonio Cangiano has created a Pygments bundle for TextMate that allows to
+colorize code via a simple menu option. It can be found <a class="reference external" href="http://antoniocangiano.com/2008/10/28/pygments-textmate-bundle/">here</a>.</p>
+</div>
+<div class="section" id="bash-completion">
+<h2>Bash completion<a class="headerlink" href="#bash-completion" title="Permalink to this headline">¶</a></h2>
+<p>The source distribution contains a file <code class="docutils literal notranslate"><span class="pre">external/pygments.bashcomp</span></code> that
+sets up completion for the <code class="docutils literal notranslate"><span class="pre">pygmentize</span></code> command in bash.</p>
+</div>
+<div class="section" id="wrappers-for-other-languages">
+<h2>Wrappers for other languages<a class="headerlink" href="#wrappers-for-other-languages" title="Permalink to this headline">¶</a></h2>
+<p>These libraries provide Pygments highlighting for users of other languages
+than Python:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://github.com/tmm1/pygments.rb">pygments.rb</a>, a pygments wrapper for Ruby</p></li>
+<li><p><a class="reference external" href="https://github.com/bfontaine/clygments">Clygments</a>, a pygments wrapper for
+Clojure</p></li>
+<li><p><a class="reference external" href="https://github.com/capynet/PHPygments">PHPygments</a>, a pygments wrapper for PHP</p></li>
+</ul>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Use Pygments in Java — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Using Pygments in various scenarios" href="integrate.html" />
+ <link rel="prev" title="Using Pygments with MoinMoin" href="moinmoin.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="moinmoin.html"
+ title="previous chapter">Using Pygments with MoinMoin</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="integrate.html"
+ title="next chapter">Using Pygments in various scenarios</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/java.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="use-pygments-in-java">
+<h1>Use Pygments in Java<a class="headerlink" href="#use-pygments-in-java" title="Permalink to this headline">¶</a></h1>
+<p>Thanks to <a class="reference external" href="http://www.jython.org">Jython</a> it is possible to use Pygments in
+Java.</p>
+<p>This page is a simple tutorial to get an idea of how this works. You can
+then look at the <a class="reference external" href="http://www.jython.org/docs/">Jython documentation</a> for more
+advanced uses.</p>
+<p>Since version 1.5, Pygments is deployed on <a class="reference external" href="http://repo1.maven.org/maven2/org/pygments/pygments/">Maven Central</a> as a JAR, as is Jython
+which makes it a lot easier to create a Java project.</p>
+<p>Here is an example of a <a class="reference external" href="http://www.maven.org">Maven</a> <code class="docutils literal notranslate"><span class="pre">pom.xml</span></code> file for a
+project running Pygments:</p>
+<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
+
+<span class="nt"><project</span> <span class="na">xmlns=</span><span class="s">"http://maven.apache.org/POM/4.0.0"</span>
+ <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
+ <span class="na">xsi:schemaLocation=</span><span class="s">"http://maven.apache.org/POM/4.0.0</span>
+<span class="s"> http://maven.apache.org/maven-v4_0_0.xsd"</span><span class="nt">></span>
+ <span class="nt"><modelVersion></span>4.0.0<span class="nt"></modelVersion></span>
+ <span class="nt"><groupId></span>example<span class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>example<span class="nt"></artifactId></span>
+ <span class="nt"><version></span>1.0-SNAPSHOT<span class="nt"></version></span>
+ <span class="nt"><dependencies></span>
+ <span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>org.python<span class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>jython-standalone<span class="nt"></artifactId></span>
+ <span class="nt"><version></span>2.5.3<span class="nt"></version></span>
+ <span class="nt"></dependency></span>
+ <span class="nt"><dependency></span>
+ <span class="nt"><groupId></span>org.pygments<span class="nt"></groupId></span>
+ <span class="nt"><artifactId></span>pygments<span class="nt"></artifactId></span>
+ <span class="nt"><version></span>1.5<span class="nt"></version></span>
+ <span class="nt"><scope></span>runtime<span class="nt"></scope></span>
+ <span class="nt"></dependency></span>
+ <span class="nt"></dependencies></span>
+<span class="nt"></project></span>
+</pre></div>
+</div>
+<p>The following Java example:</p>
+<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="n">PythonInterpreter</span> <span class="n">interpreter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PythonInterpreter</span><span class="p">();</span>
+
+<span class="c1">// Set a variable with the content you want to work with</span>
+<span class="n">interpreter</span><span class="p">.</span><span class="na">set</span><span class="p">(</span><span class="s">"code"</span><span class="p">,</span> <span class="n">code</span><span class="p">);</span>
+
+<span class="c1">// Simple use Pygments as you would in Python</span>
+<span class="n">interpreter</span><span class="p">.</span><span class="na">exec</span><span class="p">(</span><span class="s">"from pygments import highlight\n"</span>
+ <span class="o">+</span> <span class="s">"from pygments.lexers import PythonLexer\n"</span>
+ <span class="o">+</span> <span class="s">"from pygments.formatters import HtmlFormatter\n"</span>
+ <span class="o">+</span> <span class="s">"\nresult = highlight(code, PythonLexer(), HtmlFormatter())"</span><span class="p">);</span>
+
+<span class="c1">// Get the result that has been set in a variable</span>
+<span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">interpreter</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="s">"result"</span><span class="p">,</span> <span class="n">String</span><span class="p">.</span><span class="na">class</span><span class="p">));</span>
+</pre></div>
+</div>
+<p>will print something like:</p>
+<div class="highlight-html notranslate"><div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span><span class="p">></span>
+<span class="p"><</span><span class="nt">pre</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"k"</span><span class="p">></span>print<span class="p"></</span><span class="nt">span</span><span class="p">></span> <span class="p"><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"s"</span><span class="p">></span><span class="ni">&quot;</span>Hello World<span class="ni">&quot;</span><span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">pre</span><span class="p">></span>
+<span class="p"></</span><span class="nt">div</span><span class="p">></span>
+</pre></div>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Write your own lexer — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Write your own formatter" href="formatterdevelopment.html" />
+ <link rel="prev" title="The full Pygments API" href="api.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Write your own lexer</a><ul>
+<li><a class="reference internal" href="#regexlexer">RegexLexer</a></li>
+<li><a class="reference internal" href="#adding-and-testing-a-new-lexer">Adding and testing a new lexer</a></li>
+<li><a class="reference internal" href="#regex-flags">Regex Flags</a></li>
+<li><a class="reference internal" href="#scanning-multiple-tokens-at-once">Scanning multiple tokens at once</a></li>
+<li><a class="reference internal" href="#changing-states">Changing states</a></li>
+<li><a class="reference internal" href="#advanced-state-tricks">Advanced state tricks</a></li>
+<li><a class="reference internal" href="#subclassing-lexers-derived-from-regexlexer">Subclassing lexers derived from RegexLexer</a></li>
+<li><a class="reference internal" href="#using-multiple-lexers">Using multiple lexers</a></li>
+<li><a class="reference internal" href="#delegating-lexer">Delegating Lexer</a></li>
+<li><a class="reference internal" href="#callbacks">Callbacks</a></li>
+<li><a class="reference internal" href="#the-extendedregexlexer-class">The ExtendedRegexLexer class</a></li>
+<li><a class="reference internal" href="#handling-lists-of-keywords">Handling Lists of Keywords</a></li>
+<li><a class="reference internal" href="#modifying-token-streams">Modifying Token Streams</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="api.html"
+ title="previous chapter">The full Pygments API</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="formatterdevelopment.html"
+ title="next chapter">Write your own formatter</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/lexerdevelopment.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="write-your-own-lexer">
+<h1>Write your own lexer<a class="headerlink" href="#write-your-own-lexer" title="Permalink to this headline">¶</a></h1>
+<p>If a lexer for your favorite language is missing in the Pygments package, you
+can easily write your own and extend Pygments.</p>
+<p>All you need can be found inside the <a class="reference internal" href="api.html#module-pygments.lexer" title="pygments.lexer"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.lexer</span></code></a> module. As you can
+read in the <a class="reference internal" href="api.html"><span class="doc">API documentation</span></a>, a lexer is a class that is
+initialized with some keyword arguments (the lexer options) and that provides a
+<a class="reference internal" href="api.html#pygments.lexer.Lexer.get_tokens_unprocessed" title="pygments.lexer.Lexer.get_tokens_unprocessed"><code class="xref py py-meth docutils literal notranslate"><span class="pre">get_tokens_unprocessed()</span></code></a> method which is given a string or unicode
+object with the data to lex.</p>
+<p>The <a class="reference internal" href="api.html#pygments.lexer.Lexer.get_tokens_unprocessed" title="pygments.lexer.Lexer.get_tokens_unprocessed"><code class="xref py py-meth docutils literal notranslate"><span class="pre">get_tokens_unprocessed()</span></code></a> method must return an iterator or iterable
+containing tuples in the form <code class="docutils literal notranslate"><span class="pre">(index,</span> <span class="pre">token,</span> <span class="pre">value)</span></code>. Normally you don’t
+need to do this since there are base lexers that do most of the work and that
+you can subclass.</p>
+<div class="section" id="regexlexer">
+<h2>RegexLexer<a class="headerlink" href="#regexlexer" title="Permalink to this headline">¶</a></h2>
+<p>The lexer base class used by almost all of Pygments’ lexers is the
+<code class="xref py py-class docutils literal notranslate"><span class="pre">RegexLexer</span></code>. This class allows you to define lexing rules in terms of
+<em>regular expressions</em> for different <em>states</em>.</p>
+<p>States are groups of regular expressions that are matched against the input
+string at the <em>current position</em>. If one of these expressions matches, a
+corresponding action is performed (such as yielding a token with a specific
+type, or changing state), the current position is set to where the last match
+ended and the matching process continues with the first regex of the current
+state.</p>
+<p>Lexer states are kept on a stack: each time a new state is entered, the new
+state is pushed onto the stack. The most basic lexers (like the <cite>DiffLexer</cite>)
+just need one state.</p>
+<p>Each state is defined as a list of tuples in the form (<cite>regex</cite>, <cite>action</cite>,
+<cite>new_state</cite>) where the last item is optional. In the most basic form, <cite>action</cite>
+is a token type (like <cite>Name.Builtin</cite>). That means: When <cite>regex</cite> matches, emit a
+token with the match text and type <cite>tokentype</cite> and push <cite>new_state</cite> on the state
+stack. If the new state is <code class="docutils literal notranslate"><span class="pre">'#pop'</span></code>, the topmost state is popped from the
+stack instead. To pop more than one state, use <code class="docutils literal notranslate"><span class="pre">'#pop:2'</span></code> and so on.
+<code class="docutils literal notranslate"><span class="pre">'#push'</span></code> is a synonym for pushing the current state on the stack.</p>
+<p>The following example shows the <cite>DiffLexer</cite> from the builtin lexers. Note that
+it contains some additional attributes <cite>name</cite>, <cite>aliases</cite> and <cite>filenames</cite> which
+aren’t required for a lexer. They are used by the builtin lexer lookup
+functions.</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
+
+<span class="k">class</span> <span class="nc">DiffLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+ <span class="n">name</span> <span class="o">=</span> <span class="s1">'Diff'</span>
+ <span class="n">aliases</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'diff'</span><span class="p">]</span>
+ <span class="n">filenames</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'*.diff'</span><span class="p">]</span>
+
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">' .*\n'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'\+.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Inserted</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'-.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Deleted</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'@.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Subheading</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'Index.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Heading</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'=.*\n'</span><span class="p">,</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Heading</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'.*\n'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
+ <span class="p">]</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>As you can see this lexer only uses one state. When the lexer starts scanning
+the text, it first checks if the current character is a space. If this is true
+it scans everything until newline and returns the data as a <cite>Text</cite> token (which
+is the “no special highlighting” token).</p>
+<p>If this rule doesn’t match, it checks if the current char is a plus sign. And
+so on.</p>
+<p>If no rule matches at the current position, the current char is emitted as an
+<cite>Error</cite> token that indicates a lexing error, and the position is increased by
+one.</p>
+</div>
+<div class="section" id="adding-and-testing-a-new-lexer">
+<h2>Adding and testing a new lexer<a class="headerlink" href="#adding-and-testing-a-new-lexer" title="Permalink to this headline">¶</a></h2>
+<p>The easiest way to use a new lexer is to use Pygments’ support for loading
+the lexer from a file relative to your current directory.</p>
+<p>First, change the name of your lexer class to CustomLexer:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
+
+<span class="k">class</span> <span class="nc">CustomLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+ <span class="sd">"""All your lexer code goes here!"""</span>
+</pre></div>
+</div>
+<p>Then you can load the lexer from the command line with the additional
+flag <code class="docutils literal notranslate"><span class="pre">-x</span></code>:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pygmentize -l your_lexer_file.py -x
+</pre></div>
+</div>
+<p>To specify a class name other than CustomLexer, append it with a colon:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pygmentize -l your_lexer.py:SomeLexer -x
+</pre></div>
+</div>
+<p>Or, using the Python API:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># For a lexer named CustomLexer</span>
+<span class="n">your_lexer</span> <span class="o">=</span> <span class="n">load_lexer_from_file</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
+
+<span class="c1"># For a lexer named MyNewLexer</span>
+<span class="n">your_named_lexer</span> <span class="o">=</span> <span class="n">load_lexer_from_file</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s2">"MyNewLexer"</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>When loading custom lexers and formatters, be extremely careful to use only
+trusted files; Pygments will perform the equivalent of <code class="docutils literal notranslate"><span class="pre">eval</span></code> on them.</p>
+<p>If you only want to use your lexer with the Pygments API, you can import and
+instantiate the lexer yourself, then pass it to <a class="reference internal" href="api.html#pygments.highlight" title="pygments.highlight"><code class="xref py py-func docutils literal notranslate"><span class="pre">pygments.highlight()</span></code></a>.</p>
+<p>To prepare your new lexer for inclusion in the Pygments distribution, so that it
+will be found when passing filenames or lexer aliases from the command line, you
+have to perform the following steps.</p>
+<p>First, change to the current directory containing the Pygments source code. You
+will need to have either an unpacked source tarball, or (preferably) a copy
+cloned from GitHub.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> <span class="nb">cd</span> .../pygments-main
+</pre></div>
+</div>
+<p>Select a matching module under <code class="docutils literal notranslate"><span class="pre">pygments/lexers</span></code>, or create a new module for
+your lexer class.</p>
+<p>Next, make sure the lexer is known from outside of the module. All modules in
+the <code class="docutils literal notranslate"><span class="pre">pygments.lexers</span></code> package specify <code class="docutils literal notranslate"><span class="pre">__all__</span></code>. For example,
+<code class="docutils literal notranslate"><span class="pre">esoteric.py</span></code> sets:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'BrainfuckLexer'</span><span class="p">,</span> <span class="s1">'BefungeLexer'</span><span class="p">,</span> <span class="o">...</span><span class="p">]</span>
+</pre></div>
+</div>
+<p>Add the name of your lexer class to this list (or create the list if your lexer
+is the only class in the module).</p>
+<p>Finally the lexer can be made publicly known by rebuilding the lexer mapping:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> make mapfiles
+</pre></div>
+</div>
+<p>To test the new lexer, store an example file with the proper extension in
+<code class="docutils literal notranslate"><span class="pre">tests/examplefiles</span></code>. For example, to test your <code class="docutils literal notranslate"><span class="pre">DiffLexer</span></code>, add a
+<code class="docutils literal notranslate"><span class="pre">tests/examplefiles/example.diff</span></code> containing a sample diff output.</p>
+<p>Now you can use pygmentize to render your example to HTML:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> ./pygmentize -O full -f html -o /tmp/example.html tests/examplefiles/example.diff
+</pre></div>
+</div>
+<p>Note that this explicitly calls the <code class="docutils literal notranslate"><span class="pre">pygmentize</span></code> in the current directory
+by preceding it with <code class="docutils literal notranslate"><span class="pre">./</span></code>. This ensures your modifications are used.
+Otherwise a possibly already installed, unmodified version without your new
+lexer would have been called from the system search path (<code class="docutils literal notranslate"><span class="pre">$PATH</span></code>).</p>
+<p>To view the result, open <code class="docutils literal notranslate"><span class="pre">/tmp/example.html</span></code> in your browser.</p>
+<p>Once the example renders as expected, you should run the complete test suite:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> make <span class="nb">test</span>
+</pre></div>
+</div>
+<p>It also tests that your lexer fulfills the lexer API and certain invariants,
+such as that the concatenation of all token text is the same as the input text.</p>
+</div>
+<div class="section" id="regex-flags">
+<h2>Regex Flags<a class="headerlink" href="#regex-flags" title="Permalink to this headline">¶</a></h2>
+<p>You can either define regex flags locally in the regex (<code class="docutils literal notranslate"><span class="pre">r'(?x)foo</span> <span class="pre">bar'</span></code>) or
+globally by adding a <cite>flags</cite> attribute to your lexer class. If no attribute is
+defined, it defaults to <cite>re.MULTILINE</cite>. For more information about regular
+expression flags see the page about <a class="reference external" href="http://docs.python.org/library/re.html#regular-expression-syntax">regular expressions</a> in the Python
+documentation.</p>
+</div>
+<div class="section" id="scanning-multiple-tokens-at-once">
+<h2>Scanning multiple tokens at once<a class="headerlink" href="#scanning-multiple-tokens-at-once" title="Permalink to this headline">¶</a></h2>
+<p>So far, the <cite>action</cite> element in the rule tuple of regex, action and state has
+been a single token type. Now we look at the first of several other possible
+values.</p>
+<p>Here is a more complex lexer that highlights INI files. INI files consist of
+sections, comments and <code class="docutils literal notranslate"><span class="pre">key</span> <span class="pre">=</span> <span class="pre">value</span></code> pairs:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">bygroups</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
+
+<span class="k">class</span> <span class="nc">IniLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+ <span class="n">name</span> <span class="o">=</span> <span class="s1">'INI'</span>
+ <span class="n">aliases</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'ini'</span><span class="p">,</span> <span class="s1">'cfg'</span><span class="p">]</span>
+ <span class="n">filenames</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'*.ini'</span><span class="p">,</span> <span class="s1">'*.cfg'</span><span class="p">]</span>
+
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'\s+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">';.*?$'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'\[.*?\]$'</span><span class="p">,</span> <span class="n">Keyword</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'(.*?)(\s*)(=)(\s*)(.*?)$'</span><span class="p">,</span>
+ <span class="n">bygroups</span><span class="p">(</span><span class="n">Name</span><span class="o">.</span><span class="n">Attribute</span><span class="p">,</span> <span class="n">Text</span><span class="p">,</span> <span class="n">Operator</span><span class="p">,</span> <span class="n">Text</span><span class="p">,</span> <span class="n">String</span><span class="p">))</span>
+ <span class="p">]</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>The lexer first looks for whitespace, comments and section names. Later it
+looks for a line that looks like a key, value pair, separated by an <code class="docutils literal notranslate"><span class="pre">'='</span></code>
+sign, and optional whitespace.</p>
+<p>The <cite>bygroups</cite> helper yields each capturing group in the regex with a different
+token type. First the <cite>Name.Attribute</cite> token, then a <cite>Text</cite> token for the
+optional whitespace, after that a <cite>Operator</cite> token for the equals sign. Then a
+<cite>Text</cite> token for the whitespace again. The rest of the line is returned as
+<cite>String</cite>.</p>
+<p>Note that for this to work, every part of the match must be inside a capturing
+group (a <code class="docutils literal notranslate"><span class="pre">(...)</span></code>), and there must not be any nested capturing groups. If you
+nevertheless need a group, use a non-capturing group defined using this syntax:
+<code class="docutils literal notranslate"><span class="pre">(?:some|words|here)</span></code> (note the <code class="docutils literal notranslate"><span class="pre">?:</span></code> after the beginning parenthesis).</p>
+<p>If you find yourself needing a capturing group inside the regex which shouldn’t
+be part of the output but is used in the regular expressions for backreferencing
+(eg: <code class="docutils literal notranslate"><span class="pre">r'(<(foo|bar)>)(.*?)(</\2>)'</span></code>), you can pass <cite>None</cite> to the bygroups
+function and that group will be skipped in the output.</p>
+</div>
+<div class="section" id="changing-states">
+<h2>Changing states<a class="headerlink" href="#changing-states" title="Permalink to this headline">¶</a></h2>
+<p>Many lexers need multiple states to work as expected. For example, some
+languages allow multiline comments to be nested. Since this is a recursive
+pattern it’s impossible to lex just using regular expressions.</p>
+<p>Here is a lexer that recognizes C++ style comments (multi-line with <code class="docutils literal notranslate"><span class="pre">/*</span> <span class="pre">*/</span></code>
+and single-line with <code class="docutils literal notranslate"><span class="pre">//</span></code> until end of line):</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
+
+<span class="k">class</span> <span class="nc">CppCommentLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+ <span class="n">name</span> <span class="o">=</span> <span class="s1">'Example Lexer with states'</span>
+
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'[^/]+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'/\*'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">,</span> <span class="s1">'comment'</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'//.*?$'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Singleline</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'/'</span><span class="p">,</span> <span class="n">Text</span><span class="p">)</span>
+ <span class="p">],</span>
+ <span class="s1">'comment'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'[^*/]'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'/\*'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">,</span> <span class="s1">'#push'</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'\*/'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'[*/]'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multiline</span><span class="p">)</span>
+ <span class="p">]</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>This lexer starts lexing in the <code class="docutils literal notranslate"><span class="pre">'root'</span></code> state. It tries to match as much as
+possible until it finds a slash (<code class="docutils literal notranslate"><span class="pre">'/'</span></code>). If the next character after the slash
+is an asterisk (<code class="docutils literal notranslate"><span class="pre">'*'</span></code>) the <cite>RegexLexer</cite> sends those two characters to the
+output stream marked as <cite>Comment.Multiline</cite> and continues lexing with the rules
+defined in the <code class="docutils literal notranslate"><span class="pre">'comment'</span></code> state.</p>
+<p>If there wasn’t an asterisk after the slash, the <cite>RegexLexer</cite> checks if it’s a
+Singleline comment (i.e. followed by a second slash). If this also wasn’t the
+case it must be a single slash, which is not a comment starter (the separate
+regex for a single slash must also be given, else the slash would be marked as
+an error token).</p>
+<p>Inside the <code class="docutils literal notranslate"><span class="pre">'comment'</span></code> state, we do the same thing again. Scan until the
+lexer finds a star or slash. If it’s the opening of a multiline comment, push
+the <code class="docutils literal notranslate"><span class="pre">'comment'</span></code> state on the stack and continue scanning, again in the
+<code class="docutils literal notranslate"><span class="pre">'comment'</span></code> state. Else, check if it’s the end of the multiline comment. If
+yes, pop one state from the stack.</p>
+<p>Note: If you pop from an empty stack you’ll get an <cite>IndexError</cite>. (There is an
+easy way to prevent this from happening: don’t <code class="docutils literal notranslate"><span class="pre">'#pop'</span></code> in the root state).</p>
+<p>If the <cite>RegexLexer</cite> encounters a newline that is flagged as an error token, the
+stack is emptied and the lexer continues scanning in the <code class="docutils literal notranslate"><span class="pre">'root'</span></code> state. This
+can help producing error-tolerant highlighting for erroneous input, e.g. when a
+single-line string is not closed.</p>
+</div>
+<div class="section" id="advanced-state-tricks">
+<h2>Advanced state tricks<a class="headerlink" href="#advanced-state-tricks" title="Permalink to this headline">¶</a></h2>
+<p>There are a few more things you can do with states:</p>
+<ul>
+<li><p>You can push multiple states onto the stack if you give a tuple instead of a
+simple string as the third item in a rule tuple. For example, if you want to
+match a comment containing a directive, something like:</p>
+<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>/* <processing directive> rest of comment */
+</pre></div>
+</div>
+<p>you can use this rule:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'/\* <'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="p">(</span><span class="s1">'comment'</span><span class="p">,</span> <span class="s1">'directive'</span><span class="p">)),</span>
+ <span class="o">...</span>
+ <span class="p">],</span>
+ <span class="s1">'directive'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'[^>]*'</span><span class="p">,</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Directive</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'>'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
+ <span class="p">],</span>
+ <span class="s1">'comment'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'[^*]+'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'\*/'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'\*'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
+ <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>When this encounters the above sample, first <code class="docutils literal notranslate"><span class="pre">'comment'</span></code> and <code class="docutils literal notranslate"><span class="pre">'directive'</span></code>
+are pushed onto the stack, then the lexer continues in the directive state
+until it finds the closing <code class="docutils literal notranslate"><span class="pre">></span></code>, then it continues in the comment state until
+the closing <code class="docutils literal notranslate"><span class="pre">*/</span></code>. Then, both states are popped from the stack again and
+lexing continues in the root state.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9: </span>The tuple can contain the special <code class="docutils literal notranslate"><span class="pre">'#push'</span></code> and <code class="docutils literal notranslate"><span class="pre">'#pop'</span></code> (but not
+<code class="docutils literal notranslate"><span class="pre">'#pop:n'</span></code>) directives.</p>
+</div>
+</li>
+<li><p>You can include the rules of a state in the definition of another. This is
+done by using <cite>include</cite> from <cite>pygments.lexer</cite>:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">bygroups</span><span class="p">,</span> <span class="n">include</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
+
+<span class="k">class</span> <span class="nc">ExampleLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'comments'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'/\*.*?\*/'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'//.*?\n'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">),</span>
+ <span class="p">],</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="n">include</span><span class="p">(</span><span class="s1">'comments'</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'(function )(\w+)( {)'</span><span class="p">,</span>
+ <span class="n">bygroups</span><span class="p">(</span><span class="n">Keyword</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="n">Keyword</span><span class="p">),</span> <span class="s1">'function'</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
+ <span class="p">],</span>
+ <span class="s1">'function'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'[^}/]+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
+ <span class="n">include</span><span class="p">(</span><span class="s1">'comments'</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'/'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'\}'</span><span class="p">,</span> <span class="n">Keyword</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
+ <span class="p">]</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>This is a hypothetical lexer for a language that consist of functions and
+comments. Because comments can occur at toplevel and in functions, we need
+rules for comments in both states. As you can see, the <cite>include</cite> helper saves
+repeating rules that occur more than once (in this example, the state
+<code class="docutils literal notranslate"><span class="pre">'comment'</span></code> will never be entered by the lexer, as it’s only there to be
+included in <code class="docutils literal notranslate"><span class="pre">'root'</span></code> and <code class="docutils literal notranslate"><span class="pre">'function'</span></code>).</p>
+</li>
+<li><p>Sometimes, you may want to “combine” a state from existing ones. This is
+possible with the <cite>combined</cite> helper from <cite>pygments.lexer</cite>.</p>
+<p>If you, instead of a new state, write <code class="docutils literal notranslate"><span class="pre">combined('state1',</span> <span class="pre">'state2')</span></code> as the
+third item of a rule tuple, a new anonymous state will be formed from state1
+and state2 and if the rule matches, the lexer will enter this state.</p>
+<p>This is not used very often, but can be helpful in some cases, such as the
+<cite>PythonLexer</cite>’s string literal processing.</p>
+</li>
+<li><p>If you want your lexer to start lexing in a different state you can modify the
+stack by overriding the <cite>get_tokens_unprocessed()</cite> method:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
+
+<span class="k">class</span> <span class="nc">ExampleLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span><span class="o">...</span><span class="p">}</span>
+
+ <span class="k">def</span> <span class="nf">get_tokens_unprocessed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">stack</span><span class="o">=</span><span class="p">(</span><span class="s1">'root'</span><span class="p">,</span> <span class="s1">'otherstate'</span><span class="p">)):</span>
+ <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">RegexLexer</span><span class="o">.</span><span class="n">get_tokens_unprocessed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">stack</span><span class="p">):</span>
+ <span class="k">yield</span> <span class="n">item</span>
+</pre></div>
+</div>
+<p>Some lexers like the <cite>PhpLexer</cite> use this to make the leading <code class="docutils literal notranslate"><span class="pre"><?php</span></code>
+preprocessor comments optional. Note that you can crash the lexer easily by
+putting values into the stack that don’t exist in the token map. Also
+removing <code class="docutils literal notranslate"><span class="pre">'root'</span></code> from the stack can result in strange errors!</p>
+</li>
+<li><p>In some lexers, a state should be popped if anything is encountered that isn’t
+matched by a rule in the state. You could use an empty regex at the end of
+the state list, but Pygments provides a more obvious way of spelling that:
+<code class="docutils literal notranslate"><span class="pre">default('#pop')</span></code> is equivalent to <code class="docutils literal notranslate"><span class="pre">('',</span> <span class="pre">Text,</span> <span class="pre">'#pop')</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</li>
+</ul>
+</div>
+<div class="section" id="subclassing-lexers-derived-from-regexlexer">
+<h2>Subclassing lexers derived from RegexLexer<a class="headerlink" href="#subclassing-lexers-derived-from-regexlexer" title="Permalink to this headline">¶</a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+<p>Sometimes multiple languages are very similar, but should still be lexed by
+different lexer classes.</p>
+<p>When subclassing a lexer derived from RegexLexer, the <code class="docutils literal notranslate"><span class="pre">tokens</span></code> dictionaries
+defined in the parent and child class are merged. For example:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">inherit</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
+
+<span class="k">class</span> <span class="nc">BaseLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="s1">'[a-z]+'</span><span class="p">,</span> <span class="n">Name</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'/\*'</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="s1">'comment'</span><span class="p">),</span>
+ <span class="p">(</span><span class="s1">'"'</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="s1">'string'</span><span class="p">),</span>
+ <span class="p">(</span><span class="s1">'\s+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
+ <span class="p">],</span>
+ <span class="s1">'string'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="s1">'[^"]+'</span><span class="p">,</span> <span class="n">String</span><span class="p">),</span>
+ <span class="p">(</span><span class="s1">'"'</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
+ <span class="p">],</span>
+ <span class="s1">'comment'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="o">...</span>
+ <span class="p">],</span>
+ <span class="p">}</span>
+
+<span class="k">class</span> <span class="nc">DerivedLexer</span><span class="p">(</span><span class="n">BaseLexer</span><span class="p">):</span>
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="s1">'[0-9]+'</span><span class="p">,</span> <span class="n">Number</span><span class="p">),</span>
+ <span class="n">inherit</span><span class="p">,</span>
+ <span class="p">],</span>
+ <span class="s1">'string'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'[^"</span><span class="se">\\</span><span class="s1">]+'</span><span class="p">,</span> <span class="n">String</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'</span><span class="se">\\</span><span class="s1">.'</span><span class="p">,</span> <span class="n">String</span><span class="o">.</span><span class="n">Escape</span><span class="p">),</span>
+ <span class="p">(</span><span class="s1">'"'</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="s1">'#pop'</span><span class="p">),</span>
+ <span class="p">],</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>The <cite>BaseLexer</cite> defines two states, lexing names and strings. The
+<cite>DerivedLexer</cite> defines its own tokens dictionary, which extends the definitions
+of the base lexer:</p>
+<ul class="simple">
+<li><p>The “root” state has an additional rule and then the special object <cite>inherit</cite>,
+which tells Pygments to insert the token definitions of the parent class at
+that point.</p></li>
+<li><p>The “string” state is replaced entirely, since there is not <cite>inherit</cite> rule.</p></li>
+<li><p>The “comment” state is inherited entirely.</p></li>
+</ul>
+</div>
+<div class="section" id="using-multiple-lexers">
+<h2>Using multiple lexers<a class="headerlink" href="#using-multiple-lexers" title="Permalink to this headline">¶</a></h2>
+<p>Using multiple lexers for the same input can be tricky. One of the easiest
+combination techniques is shown here: You can replace the action entry in a rule
+tuple with a lexer class. The matched text will then be lexed with that lexer,
+and the resulting tokens will be yielded.</p>
+<p>For example, look at this stripped-down HTML lexer:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">bygroups</span><span class="p">,</span> <span class="n">using</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="o">*</span>
+<span class="kn">from</span> <span class="nn">pygments.lexers.javascript</span> <span class="kn">import</span> <span class="n">JavascriptLexer</span>
+
+<span class="k">class</span> <span class="nc">HtmlLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+ <span class="n">name</span> <span class="o">=</span> <span class="s1">'HTML'</span>
+ <span class="n">aliases</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'html'</span><span class="p">]</span>
+ <span class="n">filenames</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'*.html'</span><span class="p">,</span> <span class="s1">'*.htm'</span><span class="p">]</span>
+
+ <span class="n">flags</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">IGNORECASE</span> <span class="o">|</span> <span class="n">re</span><span class="o">.</span><span class="n">DOTALL</span>
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="s1">'[^<&]+'</span><span class="p">,</span> <span class="n">Text</span><span class="p">),</span>
+ <span class="p">(</span><span class="s1">'&.*?;'</span><span class="p">,</span> <span class="n">Name</span><span class="o">.</span><span class="n">Entity</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'<\s*script\s*'</span><span class="p">,</span> <span class="n">Name</span><span class="o">.</span><span class="n">Tag</span><span class="p">,</span> <span class="p">(</span><span class="s1">'script-content'</span><span class="p">,</span> <span class="s1">'tag'</span><span class="p">)),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'<\s*[a-zA-Z0-9:]+'</span><span class="p">,</span> <span class="n">Name</span><span class="o">.</span><span class="n">Tag</span><span class="p">,</span> <span class="s1">'tag'</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'<\s*/\s*[a-zA-Z0-9:]+\s*>'</span><span class="p">,</span> <span class="n">Name</span><span class="o">.</span><span class="n">Tag</span><span class="p">),</span>
+ <span class="p">],</span>
+ <span class="s1">'script-content'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'(.+?)(<\s*/\s*script\s*>)'</span><span class="p">,</span>
+ <span class="n">bygroups</span><span class="p">(</span><span class="n">using</span><span class="p">(</span><span class="n">JavascriptLexer</span><span class="p">),</span> <span class="n">Name</span><span class="o">.</span><span class="n">Tag</span><span class="p">),</span>
+ <span class="s1">'#pop'</span><span class="p">),</span>
+ <span class="p">]</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>Here the content of a <code class="docutils literal notranslate"><span class="pre"><script></span></code> tag is passed to a newly created instance of
+a <cite>JavascriptLexer</cite> and not processed by the <cite>HtmlLexer</cite>. This is done using
+the <cite>using</cite> helper that takes the other lexer class as its parameter.</p>
+<p>Note the combination of <cite>bygroups</cite> and <cite>using</cite>. This makes sure that the
+content up to the <code class="docutils literal notranslate"><span class="pre"></script></span></code> end tag is processed by the <cite>JavascriptLexer</cite>,
+while the end tag is yielded as a normal token with the <cite>Name.Tag</cite> type.</p>
+<p>Also note the <code class="docutils literal notranslate"><span class="pre">(r'<\s*script\s*',</span> <span class="pre">Name.Tag,</span> <span class="pre">('script-content',</span> <span class="pre">'tag'))</span></code> rule.
+Here, two states are pushed onto the state stack, <code class="docutils literal notranslate"><span class="pre">'script-content'</span></code> and
+<code class="docutils literal notranslate"><span class="pre">'tag'</span></code>. That means that first <code class="docutils literal notranslate"><span class="pre">'tag'</span></code> is processed, which will lex
+attributes and the closing <code class="docutils literal notranslate"><span class="pre">></span></code>, then the <code class="docutils literal notranslate"><span class="pre">'tag'</span></code> state is popped and the
+next state on top of the stack will be <code class="docutils literal notranslate"><span class="pre">'script-content'</span></code>.</p>
+<p>Since you cannot refer to the class currently being defined, use <cite>this</cite>
+(imported from <cite>pygments.lexer</cite>) to refer to the current lexer class, i.e.
+<code class="docutils literal notranslate"><span class="pre">using(this)</span></code>. This construct may seem unnecessary, but this is often the
+most obvious way of lexing arbitrary syntax between fixed delimiters without
+introducing deeply nested states.</p>
+<p>The <cite>using()</cite> helper has a special keyword argument, <cite>state</cite>, which works as
+follows: if given, the lexer to use initially is not in the <code class="docutils literal notranslate"><span class="pre">"root"</span></code> state,
+but in the state given by this argument. This does not work with advanced
+<cite>RegexLexer</cite> subclasses such as <cite>ExtendedRegexLexer</cite> (see below).</p>
+<p>Any other keywords arguments passed to <cite>using()</cite> are added to the keyword
+arguments used to create the lexer.</p>
+</div>
+<div class="section" id="delegating-lexer">
+<h2>Delegating Lexer<a class="headerlink" href="#delegating-lexer" title="Permalink to this headline">¶</a></h2>
+<p>Another approach for nested lexers is the <cite>DelegatingLexer</cite> which is for example
+used for the template engine lexers. It takes two lexers as arguments on
+initialisation: a <cite>root_lexer</cite> and a <cite>language_lexer</cite>.</p>
+<p>The input is processed as follows: First, the whole text is lexed with the
+<cite>language_lexer</cite>. All tokens yielded with the special type of <code class="docutils literal notranslate"><span class="pre">Other</span></code> are
+then concatenated and given to the <cite>root_lexer</cite>. The language tokens of the
+<cite>language_lexer</cite> are then inserted into the <cite>root_lexer</cite>’s token stream at the
+appropriate positions.</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">DelegatingLexer</span>
+<span class="kn">from</span> <span class="nn">pygments.lexers.web</span> <span class="kn">import</span> <span class="n">HtmlLexer</span><span class="p">,</span> <span class="n">PhpLexer</span>
+
+<span class="k">class</span> <span class="nc">HtmlPhpLexer</span><span class="p">(</span><span class="n">DelegatingLexer</span><span class="p">):</span>
+ <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">):</span>
+ <span class="nb">super</span><span class="p">(</span><span class="n">HtmlPhpLexer</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">HtmlLexer</span><span class="p">,</span> <span class="n">PhpLexer</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>This procedure ensures that e.g. HTML with template tags in it is highlighted
+correctly even if the template tags are put into HTML tags or attributes.</p>
+<p>If you want to change the needle token <code class="docutils literal notranslate"><span class="pre">Other</span></code> to something else, you can give
+the lexer another token type as the third parameter:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">DelegatingLexer</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">MyLexer</span><span class="p">,</span> <span class="n">OtherLexer</span><span class="p">,</span> <span class="n">Text</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="callbacks">
+<h2>Callbacks<a class="headerlink" href="#callbacks" title="Permalink to this headline">¶</a></h2>
+<p>Sometimes the grammar of a language is so complex that a lexer would be unable
+to process it just by using regular expressions and stacks.</p>
+<p>For this, the <cite>RegexLexer</cite> allows callbacks to be given in rule tuples, instead
+of token types (<cite>bygroups</cite> and <cite>using</cite> are nothing else but preimplemented
+callbacks). The callback must be a function taking two arguments:</p>
+<ul class="simple">
+<li><p>the lexer itself</p></li>
+<li><p>the match object for the last matched rule</p></li>
+</ul>
+<p>The callback must then return an iterable of (or simply yield) <code class="docutils literal notranslate"><span class="pre">(index,</span>
+<span class="pre">tokentype,</span> <span class="pre">value)</span></code> tuples, which are then just passed through by
+<cite>get_tokens_unprocessed()</cite>. The <code class="docutils literal notranslate"><span class="pre">index</span></code> here is the position of the token in
+the input string, <code class="docutils literal notranslate"><span class="pre">tokentype</span></code> is the normal token type (like <cite>Name.Builtin</cite>),
+and <code class="docutils literal notranslate"><span class="pre">value</span></code> the associated part of the input string.</p>
+<p>You can see an example here:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Generic</span>
+
+<span class="k">class</span> <span class="nc">HypotheticLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+
+ <span class="k">def</span> <span class="nf">headline_callback</span><span class="p">(</span><span class="n">lexer</span><span class="p">,</span> <span class="n">match</span><span class="p">):</span>
+ <span class="n">equal_signs</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+ <span class="n">text</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
+ <span class="k">yield</span> <span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">(),</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Headline</span><span class="p">,</span> <span class="n">equal_signs</span> <span class="o">+</span> <span class="n">text</span> <span class="o">+</span> <span class="n">equal_signs</span>
+
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'(=+)(.*?)(\1)'</span><span class="p">,</span> <span class="n">headline_callback</span><span class="p">)</span>
+ <span class="p">]</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>If the regex for the <cite>headline_callback</cite> matches, the function is called with
+the match object. Note that after the callback is done, processing continues
+normally, that is, after the end of the previous match. The callback has no
+possibility to influence the position.</p>
+<p>There are not really any simple examples for lexer callbacks, but you can see
+them in action e.g. in the <cite>SMLLexer</cite> class in <a class="reference external" href="https://github.com/pygments/pygments/blob/master/pygments/lexers/ml.py">ml.py</a>.</p>
+</div>
+<div class="section" id="the-extendedregexlexer-class">
+<h2>The ExtendedRegexLexer class<a class="headerlink" href="#the-extendedregexlexer-class" title="Permalink to this headline">¶</a></h2>
+<p>The <cite>RegexLexer</cite>, even with callbacks, unfortunately isn’t powerful enough for
+the funky syntax rules of languages such as Ruby.</p>
+<p>But fear not; even then you don’t have to abandon the regular expression
+approach: Pygments has a subclass of <cite>RegexLexer</cite>, the <cite>ExtendedRegexLexer</cite>.
+All features known from RegexLexers are available here too, and the tokens are
+specified in exactly the same way, <em>except</em> for one detail:</p>
+<p>The <cite>get_tokens_unprocessed()</cite> method holds its internal state data not as local
+variables, but in an instance of the <cite>pygments.lexer.LexerContext</cite> class, and
+that instance is passed to callbacks as a third argument. This means that you
+can modify the lexer state in callbacks.</p>
+<p>The <cite>LexerContext</cite> class has the following members:</p>
+<ul class="simple">
+<li><p><cite>text</cite> – the input text</p></li>
+<li><p><cite>pos</cite> – the current starting position that is used for matching regexes</p></li>
+<li><p><cite>stack</cite> – a list containing the state stack</p></li>
+<li><p><cite>end</cite> – the maximum position to which regexes are matched, this defaults to
+the length of <cite>text</cite></p></li>
+</ul>
+<p>Additionally, the <cite>get_tokens_unprocessed()</cite> method can be given a
+<cite>LexerContext</cite> instead of a string and will then process this context instead of
+creating a new one for the string argument.</p>
+<p>Note that because you can set the current position to anything in the callback,
+it won’t be automatically be set by the caller after the callback is finished.
+For example, this is how the hypothetical lexer above would be written with the
+<cite>ExtendedRegexLexer</cite>:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">ExtendedRegexLexer</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Generic</span>
+
+<span class="k">class</span> <span class="nc">ExHypotheticLexer</span><span class="p">(</span><span class="n">ExtendedRegexLexer</span><span class="p">):</span>
+
+ <span class="k">def</span> <span class="nf">headline_callback</span><span class="p">(</span><span class="n">lexer</span><span class="p">,</span> <span class="n">match</span><span class="p">,</span> <span class="n">ctx</span><span class="p">):</span>
+ <span class="n">equal_signs</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+ <span class="n">text</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
+ <span class="k">yield</span> <span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">(),</span> <span class="n">Generic</span><span class="o">.</span><span class="n">Headline</span><span class="p">,</span> <span class="n">equal_signs</span> <span class="o">+</span> <span class="n">text</span> <span class="o">+</span> <span class="n">equal_signs</span>
+ <span class="n">ctx</span><span class="o">.</span><span class="n">pos</span> <span class="o">=</span> <span class="n">match</span><span class="o">.</span><span class="n">end</span><span class="p">()</span>
+
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'(=+)(.*?)(\1)'</span><span class="p">,</span> <span class="n">headline_callback</span><span class="p">)</span>
+ <span class="p">]</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>This might sound confusing (and it can really be). But it is needed, and for an
+example look at the Ruby lexer in <a class="reference external" href="https://github.com/pygments/pygments/blob/master/pygments/lexers/ruby.py">ruby.py</a>.</p>
+</div>
+<div class="section" id="handling-lists-of-keywords">
+<h2>Handling Lists of Keywords<a class="headerlink" href="#handling-lists-of-keywords" title="Permalink to this headline">¶</a></h2>
+<p>For a relatively short list (hundreds) you can construct an optimized regular
+expression directly using <code class="docutils literal notranslate"><span class="pre">words()</span></code> (longer lists, see next section). This
+function handles a few things for you automatically, including escaping
+metacharacters and Python’s first-match rather than longest-match in
+alternations. Feel free to put the lists themselves in
+<code class="docutils literal notranslate"><span class="pre">pygments/lexers/_$lang_builtins.py</span></code> (see examples there), and generated by
+code if possible.</p>
+<p>An example of using <code class="docutils literal notranslate"><span class="pre">words()</span></code> is something like:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexer</span> <span class="kn">import</span> <span class="n">RegexLexer</span><span class="p">,</span> <span class="n">words</span><span class="p">,</span> <span class="n">Name</span>
+
+<span class="k">class</span> <span class="nc">MyLexer</span><span class="p">(</span><span class="n">RegexLexer</span><span class="p">):</span>
+
+ <span class="n">tokens</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s1">'root'</span><span class="p">:</span> <span class="p">[</span>
+ <span class="p">(</span><span class="n">words</span><span class="p">((</span><span class="s1">'else'</span><span class="p">,</span> <span class="s1">'elseif'</span><span class="p">),</span> <span class="n">suffix</span><span class="o">=</span><span class="sa">r</span><span class="s1">'\b'</span><span class="p">),</span> <span class="n">Name</span><span class="o">.</span><span class="n">Builtin</span><span class="p">),</span>
+ <span class="p">(</span><span class="sa">r</span><span class="s1">'\w+'</span><span class="p">,</span> <span class="n">Name</span><span class="p">),</span>
+ <span class="p">],</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>As you can see, you can add <code class="docutils literal notranslate"><span class="pre">prefix</span></code> and <code class="docutils literal notranslate"><span class="pre">suffix</span></code> parts to the constructed
+regex.</p>
+</div>
+<div class="section" id="modifying-token-streams">
+<h2>Modifying Token Streams<a class="headerlink" href="#modifying-token-streams" title="Permalink to this headline">¶</a></h2>
+<p>Some languages ship a lot of builtin functions (for example PHP). The total
+amount of those functions differs from system to system because not everybody
+has every extension installed. In the case of PHP there are over 3000 builtin
+functions. That’s an incredibly huge amount of functions, much more than you
+want to put into a regular expression.</p>
+<p>But because only <cite>Name</cite> tokens can be function names this is solvable by
+overriding the <code class="docutils literal notranslate"><span class="pre">get_tokens_unprocessed()</span></code> method. The following lexer
+subclasses the <cite>PythonLexer</cite> so that it highlights some additional names as
+pseudo keywords:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexers.python</span> <span class="kn">import</span> <span class="n">PythonLexer</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Name</span><span class="p">,</span> <span class="n">Keyword</span>
+
+<span class="k">class</span> <span class="nc">MyPythonLexer</span><span class="p">(</span><span class="n">PythonLexer</span><span class="p">):</span>
+ <span class="n">EXTRA_KEYWORDS</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="s1">'foo'</span><span class="p">,</span> <span class="s1">'bar'</span><span class="p">,</span> <span class="s1">'foobar'</span><span class="p">,</span> <span class="s1">'barfoo'</span><span class="p">,</span> <span class="s1">'spam'</span><span class="p">,</span> <span class="s1">'eggs'</span><span class="p">))</span>
+
+ <span class="k">def</span> <span class="nf">get_tokens_unprocessed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">):</span>
+ <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">token</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">PythonLexer</span><span class="o">.</span><span class="n">get_tokens_unprocessed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">):</span>
+ <span class="k">if</span> <span class="n">token</span> <span class="ow">is</span> <span class="n">Name</span> <span class="ow">and</span> <span class="n">value</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">EXTRA_KEYWORDS</span><span class="p">:</span>
+ <span class="k">yield</span> <span class="n">index</span><span class="p">,</span> <span class="n">Keyword</span><span class="o">.</span><span class="n">Pseudo</span><span class="p">,</span> <span class="n">value</span>
+ <span class="k">else</span><span class="p">:</span>
+ <span class="k">yield</span> <span class="n">index</span><span class="p">,</span> <span class="n">token</span><span class="p">,</span> <span class="n">value</span>
+</pre></div>
+</div>
+<p>The <cite>PhpLexer</cite> and <cite>LuaLexer</cite> use this method to resolve builtin functions.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Available lexers — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Filters" href="filters.html" />
+ <link rel="prev" title="Command Line Interface" href="cmdline.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Available lexers</a><ul>
+<li><a class="reference internal" href="#lexers-for-actionscript-and-mxml">Lexers for ActionScript and MXML</a></li>
+<li><a class="reference internal" href="#lexers-for-computer-algebra-systems">Lexers for computer algebra systems</a></li>
+<li><a class="reference internal" href="#lexers-for-ambienttalk-language">Lexers for AmbientTalk language</a></li>
+<li><a class="reference internal" href="#lexers-for-the-ampl-language">Lexers for the AMPL language</a></li>
+<li><a class="reference internal" href="#lexers-for-apl">Lexers for APL</a></li>
+<li><a class="reference internal" href="#lexer-for-archetype-related-syntaxes-including">Lexer for Archetype-related syntaxes, including:</a></li>
+<li><a class="reference internal" href="#lexers-for-assembly-languages">Lexers for assembly languages</a></li>
+<li><a class="reference internal" href="#lexers-for-automation-scripting-languages">Lexers for automation scripting languages</a></li>
+<li><a class="reference internal" href="#lexers-for-basic-like-languages-other-than-vb-net">Lexers for BASIC like languages (other than VB.net)</a></li>
+<li><a class="reference internal" href="#lexers-for-bibtex-bibliography-data-and-styles">Lexers for BibTeX bibliography data and styles</a></li>
+<li><a class="reference internal" href="#lexers-for-the-boa-language">Lexers for the Boa language</a></li>
+<li><a class="reference internal" href="#lexers-for-business-oriented-languages">Lexers for “business-oriented” languages</a></li>
+<li><a class="reference internal" href="#lexers-for-c-c-languages">Lexers for C/C++ languages</a></li>
+<li><a class="reference internal" href="#lexers-for-other-c-like-languages">Lexers for other C-like languages</a></li>
+<li><a class="reference internal" href="#lexers-for-the-cap-n-proto-schema-language">Lexers for the Cap’n Proto schema language</a></li>
+<li><a class="reference internal" href="#lexer-for-the-chapel-language">Lexer for the Chapel language</a></li>
+<li><a class="reference internal" href="#lexer-for-the-clean-language">Lexer for the Clean language</a></li>
+<li><a class="reference internal" href="#lexers-for-configuration-file-formats">Lexers for configuration file formats</a></li>
+<li><a class="reference internal" href="#lexers-for-misc-console-output">Lexers for misc console output</a></li>
+<li><a class="reference internal" href="#lexer-for-crystal">Lexer for Crystal</a></li>
+<li><a class="reference internal" href="#lexers-for-csound-languages">Lexers for Csound languages</a></li>
+<li><a class="reference internal" href="#lexers-for-css-and-related-stylesheet-formats">Lexers for CSS and related stylesheet formats</a></li>
+<li><a class="reference internal" href="#lexers-for-d-languages">Lexers for D languages</a></li>
+<li><a class="reference internal" href="#pygments-lexers-for-dalvik-vm-related-languages">Pygments lexers for Dalvik VM-related languages</a></li>
+<li><a class="reference internal" href="#lexers-for-data-file-format">Lexers for data file format</a></li>
+<li><a class="reference internal" href="#lexers-for-diff-patch-formats">Lexers for diff/patch formats</a></li>
+<li><a class="reference internal" href="#lexers-for-net-languages">Lexers for .net languages</a></li>
+<li><a class="reference internal" href="#lexers-for-various-domain-specific-languages">Lexers for various domain-specific languages</a></li>
+<li><a class="reference internal" href="#lexers-for-the-dylan-language">Lexers for the Dylan language</a></li>
+<li><a class="reference internal" href="#lexers-for-the-ecl-language">Lexers for the ECL language</a></li>
+<li><a class="reference internal" href="#lexer-for-the-eiffel-language">Lexer for the Eiffel language</a></li>
+<li><a class="reference internal" href="#lexer-for-the-elm-programming-language">Lexer for the Elm programming language</a></li>
+<li><a class="reference internal" href="#lexer-for-the-raw-e-mail">Lexer for the raw E-mail</a></li>
+<li><a class="reference internal" href="#lexers-for-erlang">Lexers for Erlang</a></li>
+<li><a class="reference internal" href="#lexers-for-esoteric-languages">Lexers for esoteric languages</a></li>
+<li><a class="reference internal" href="#pygments-lexers-for-ezhil-language">Pygments lexers for Ezhil language</a></li>
+<li><a class="reference internal" href="#lexers-for-the-factor-language">Lexers for the Factor language</a></li>
+<li><a class="reference internal" href="#lexer-for-the-fantom-language">Lexer for the Fantom language</a></li>
+<li><a class="reference internal" href="#lexer-for-the-felix-language">Lexer for the Felix language</a></li>
+<li><a class="reference internal" href="#lexer-for-floscript">Lexer for FloScript</a></li>
+<li><a class="reference internal" href="#lexer-for-the-forth-language">Lexer for the Forth language</a></li>
+<li><a class="reference internal" href="#lexers-for-fortran-languages">Lexers for Fortran languages</a></li>
+<li><a class="reference internal" href="#simple-lexer-for-microsoft-visual-foxpro-source-code">Simple lexer for Microsoft Visual FoxPro source code</a></li>
+<li><a class="reference internal" href="#lexer-for-freefem-language">Lexer for FreeFem++ language</a></li>
+<li><a class="reference internal" href="#lexers-for-the-google-go-language">Lexers for the Google Go language</a></li>
+<li><a class="reference internal" href="#lexers-for-grammer-notations-like-bnf">Lexers for grammer notations like BNF</a></li>
+<li><a class="reference internal" href="#lexers-for-graph-query-languages">Lexers for graph query languages</a></li>
+<li><a class="reference internal" href="#lexers-for-computer-graphics-and-plotting-related-languages">Lexers for computer graphics and plotting related languages</a></li>
+<li><a class="reference internal" href="#lexers-for-haskell-and-related-languages">Lexers for Haskell and related languages</a></li>
+<li><a class="reference internal" href="#lexers-for-haxe-and-related-stuff">Lexers for Haxe and related stuff</a></li>
+<li><a class="reference internal" href="#lexers-for-hardware-descriptor-languages">Lexers for hardware descriptor languages</a></li>
+<li><a class="reference internal" href="#lexers-for-hexadecimal-dumps">Lexers for hexadecimal dumps</a></li>
+<li><a class="reference internal" href="#lexers-for-html-xml-and-related-markup">Lexers for HTML, XML and related markup</a></li>
+<li><a class="reference internal" href="#lexers-for-idl">Lexers for IDL</a></li>
+<li><a class="reference internal" href="#lexers-for-igor-pro">Lexers for Igor Pro</a></li>
+<li><a class="reference internal" href="#lexers-for-inferno-os-and-all-the-related-stuff">Lexers for Inferno os and all the related stuff</a></li>
+<li><a class="reference internal" href="#lexers-for-installer-packager-dsls-and-formats">Lexers for installer/packager DSLs and formats</a></li>
+<li><a class="reference internal" href="#lexers-for-interactive-fiction-languages">Lexers for interactive fiction languages</a></li>
+<li><a class="reference internal" href="#lexers-for-the-io-language">Lexers for the Io language</a></li>
+<li><a class="reference internal" href="#lexer-for-the-j-programming-language">Lexer for the J programming language</a></li>
+<li><a class="reference internal" href="#lexers-for-javascript-and-related-languages">Lexers for JavaScript and related languages</a></li>
+<li><a class="reference internal" href="#lexers-for-the-julia-language">Lexers for the Julia language</a></li>
+<li><a class="reference internal" href="#pygments-lexers-for-jvm-languages">Pygments lexers for JVM languages</a></li>
+<li><a class="reference internal" href="#lexers-for-lispy-languages">Lexers for Lispy languages</a></li>
+<li><a class="reference internal" href="#lexers-for-makefiles-and-similar">Lexers for Makefiles and similar</a></li>
+<li><a class="reference internal" href="#lexers-for-non-html-markup-languages">Lexers for non-HTML markup languages</a></li>
+<li><a class="reference internal" href="#lexers-for-matlab-and-related-languages">Lexers for Matlab and related languages</a></li>
+<li><a class="reference internal" href="#lexer-for-multipurpose-internet-mail-extensions-mime-data">Lexer for Multipurpose Internet Mail Extensions (MIME) data</a></li>
+<li><a class="reference internal" href="#lexers-for-ml-family-languages">Lexers for ML family languages</a></li>
+<li><a class="reference internal" href="#lexers-for-modeling-languages">Lexers for modeling languages</a></li>
+<li><a class="reference internal" href="#multi-dialect-lexer-for-modula-2">Multi-Dialect Lexer for Modula-2</a></li>
+<li><a class="reference internal" href="#lexer-for-the-monte-programming-language">Lexer for the Monte programming language</a></li>
+<li><a class="reference internal" href="#lexers-for-ncar-command-language">Lexers for NCAR Command Language</a></li>
+<li><a class="reference internal" href="#lexer-for-the-nim-language-formerly-known-as-nimrod">Lexer for the Nim language (formerly known as Nimrod)</a></li>
+<li><a class="reference internal" href="#lexer-for-the-nit-language">Lexer for the Nit language</a></li>
+<li><a class="reference internal" href="#lexers-for-the-nixos-nix-language">Lexers for the NixOS Nix language</a></li>
+<li><a class="reference internal" href="#lexers-for-oberon-family-languages">Lexers for Oberon family languages</a></li>
+<li><a class="reference internal" href="#lexers-for-objective-c-family-languages">Lexers for Objective-C family languages</a></li>
+<li><a class="reference internal" href="#lexers-for-the-ooc-language">Lexers for the Ooc language</a></li>
+<li><a class="reference internal" href="#lexer-for-parasail">Lexer for ParaSail</a></li>
+<li><a class="reference internal" href="#lexers-for-parser-generators">Lexers for parser generators</a></li>
+<li><a class="reference internal" href="#lexers-for-pascal-family-languages">Lexers for Pascal family languages</a></li>
+<li><a class="reference internal" href="#lexers-for-the-pawn-languages">Lexers for the Pawn languages</a></li>
+<li><a class="reference internal" href="#lexers-for-perl-and-related-languages">Lexers for Perl and related languages</a></li>
+<li><a class="reference internal" href="#lexers-for-php-and-related-languages">Lexers for PHP and related languages</a></li>
+<li><a class="reference internal" href="#lexers-for-pony-and-related-languages">Lexers for Pony and related languages</a></li>
+<li><a class="reference internal" href="#lexer-for-praat">Lexer for Praat</a></li>
+<li><a class="reference internal" href="#lexers-for-prolog-and-prolog-like-languages">Lexers for Prolog and Prolog-like languages</a></li>
+<li><a class="reference internal" href="#lexers-for-python-and-related-languages">Lexers for Python and related languages</a></li>
+<li><a class="reference internal" href="#lexer-for-qvt-operational-language">Lexer for QVT Operational language</a></li>
+<li><a class="reference internal" href="#lexers-for-the-r-s-languages">Lexers for the R/S languages</a></li>
+<li><a class="reference internal" href="#lexers-for-semantic-web-and-rdf-query-languages-and-markup">Lexers for semantic web and RDF query languages and markup</a></li>
+<li><a class="reference internal" href="#lexers-for-the-rebol-and-related-languages">Lexers for the REBOL and related languages</a></li>
+<li><a class="reference internal" href="#lexer-for-resource-definition-files">Lexer for resource definition files</a></li>
+<li><a class="reference internal" href="#lexer-for-relax-ng-compact-syntax">Lexer for Relax-NG Compact syntax</a></li>
+<li><a class="reference internal" href="#lexers-for-roboconf-dsl">Lexers for Roboconf DSL</a></li>
+<li><a class="reference internal" href="#lexer-for-robot-framework">Lexer for Robot Framework</a></li>
+<li><a class="reference internal" href="#lexers-for-ruby-and-related-languages">Lexers for Ruby and related languages</a></li>
+<li><a class="reference internal" href="#lexers-for-the-rust-language">Lexers for the Rust language</a></li>
+<li><a class="reference internal" href="#lexer-for-sas">Lexer for SAS</a></li>
+<li><a class="reference internal" href="#lexer-for-scdoc-a-simple-man-page-generator">Lexer for scdoc, a simple man page generator</a></li>
+<li><a class="reference internal" href="#lexer-for-scripting-and-embedded-languages">Lexer for scripting and embedded languages</a></li>
+<li><a class="reference internal" href="#lexer-for-smart-game-format-sgf-file-format">Lexer for Smart Game Format (sgf) file format</a></li>
+<li><a class="reference internal" href="#lexers-for-various-shells">Lexers for various shells</a></li>
+<li><a class="reference internal" href="#lexer-for-the-slash-programming">Lexer for the Slash programming</a></li>
+<li><a class="reference internal" href="#lexers-for-smalltalk-and-related-languages">Lexers for Smalltalk and related languages</a></li>
+<li><a class="reference internal" href="#lexers-for-the-smv-languages">Lexers for the SMV languages</a></li>
+<li><a class="reference internal" href="#lexers-for-the-snobol-language">Lexers for the SNOBOL language</a></li>
+<li><a class="reference internal" href="#lexers-for-solidity">Lexers for Solidity</a></li>
+<li><a class="reference internal" href="#special-lexers">Special lexers</a></li>
+<li><a class="reference internal" href="#lexers-for-various-sql-dialects-and-related-interactive-sessions">Lexers for various SQL dialects and related interactive sessions</a></li>
+<li><a class="reference internal" href="#lexer-for-stata">Lexer for Stata</a></li>
+<li><a class="reference internal" href="#lexer-for-supercollider">Lexer for SuperCollider</a></li>
+<li><a class="reference internal" href="#lexers-for-tcl-and-related-languages">Lexers for Tcl and related languages</a></li>
+<li><a class="reference internal" href="#lexers-for-various-template-engines-markup">Lexers for various template engines’ markup</a></li>
+<li><a class="reference internal" href="#lexer-for-tera-term-macro-files">Lexer for Tera Term macro files</a></li>
+<li><a class="reference internal" href="#lexers-for-testing-languages">Lexers for testing languages</a></li>
+<li><a class="reference internal" href="#lexers-for-languages-related-to-text-processing">Lexers for languages related to text processing</a></li>
+<li><a class="reference internal" href="#lexers-for-various-text-formats">Lexers for various text formats</a></li>
+<li><a class="reference internal" href="#lexers-for-theorem-proving-languages">Lexers for theorem-proving languages</a></li>
+<li><a class="reference internal" href="#lexer-for-riverbed-s-trafficscript-rts-language">Lexer for RiverBed’s TrafficScript (RTS) language</a></li>
+<li><a class="reference internal" href="#lexers-for-typoscript">Lexers for TypoScript</a></li>
+<li><a class="reference internal" href="#lexers-for-the-icon-and-unicon-languages-including-ucode-vm">Lexers for the Icon and Unicon languages, including ucode VM</a></li>
+<li><a class="reference internal" href="#lexers-for-urbiscript-language">Lexers for UrbiScript language</a></li>
+<li><a class="reference internal" href="#lexers-for-varnish-configuration">Lexers for Varnish configuration</a></li>
+<li><a class="reference internal" href="#lexer-for-intermediate-verification-languages-ivls">Lexer for Intermediate Verification Languages (IVLs)</a></li>
+<li><a class="reference internal" href="#lexers-for-misc-web-stuff">Lexers for misc. web stuff</a></li>
+<li><a class="reference internal" href="#lexers-for-the-whiley-language">Lexers for the Whiley language</a></li>
+<li><a class="reference internal" href="#lexers-for-the-x10-programming-language">Lexers for the X10 programming language</a></li>
+<li><a class="reference internal" href="#lexers-for-xorg-configs">Lexers for Xorg configs</a></li>
+<li><a class="reference internal" href="#lexers-for-zig">Lexers for Zig</a></li>
+<li><a class="reference internal" href="#iterating-over-all-lexers">Iterating over all lexers</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="cmdline.html"
+ title="previous chapter">Command Line Interface</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="filters.html"
+ title="next chapter">Filters</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/lexers.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="available-lexers">
+<h1>Available lexers<a class="headerlink" href="#available-lexers" title="Permalink to this headline">¶</a></h1>
+<p>This page lists all available builtin lexers and the options they take.</p>
+<p>Currently, <strong>all lexers</strong> support these options:</p>
+<dl>
+<dt><cite>stripnl</cite></dt><dd><p>Strip leading and trailing newlines from the input (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>)</p>
+</dd>
+<dt><cite>stripall</cite></dt><dd><p>Strip all leading and trailing whitespace from the input (default:
+<code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+</dd>
+<dt><cite>ensurenl</cite></dt><dd><p>Make sure that the input ends with a newline (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>). This
+is required for some lexers that consume input linewise.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.3.</span></p>
+</div>
+</dd>
+<dt><cite>tabsize</cite></dt><dd><p>If given and greater than 0, expand tabs in the input (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>).</p>
+</dd>
+<dt><cite>encoding</cite></dt><dd><p>If given, must be an encoding name (such as <code class="docutils literal notranslate"><span class="pre">"utf-8"</span></code>). This encoding
+will be used to convert the input string to Unicode (if it is not already
+a Unicode string). The default is <code class="docutils literal notranslate"><span class="pre">"guess"</span></code>.</p>
+<p>If this option is set to <code class="docutils literal notranslate"><span class="pre">"guess"</span></code>, a simple UTF-8 vs. Latin-1
+detection is used, if it is set to <code class="docutils literal notranslate"><span class="pre">"chardet"</span></code>, the
+<a class="reference external" href="https://chardet.github.io/">chardet library</a> is used to
+guess the encoding of the input.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd>
+</dl>
+<p>The “Short Names” field lists the identifiers that can be used with the
+<cite>get_lexer_by_name()</cite> function.</p>
+<p>These lexers are builtin and can be imported from <cite>pygments.lexers</cite>:</p>
+<span class="target" id="module-pygments.lexers.actionscript"></span><div class="section" id="lexers-for-actionscript-and-mxml">
+<h2>Lexers for ActionScript and MXML<a class="headerlink" href="#lexers-for-actionscript-and-mxml" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.actionscript.ActionScript3Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.actionscript.</code><code class="sig-name descname">ActionScript3Lexer</code><a class="headerlink" href="#pygments.lexers.actionscript.ActionScript3Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>as3, actionscript3</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.as</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-actionscript3, text/x-actionscript3, text/actionscript3</p>
+</dd>
+</dl>
+<p>For ActionScript 3 source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.actionscript.ActionScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.actionscript.</code><code class="sig-name descname">ActionScriptLexer</code><a class="headerlink" href="#pygments.lexers.actionscript.ActionScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>as, actionscript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.as</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-actionscript, text/x-actionscript, text/actionscript</p>
+</dd>
+</dl>
+<p>For ActionScript source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.actionscript.MxmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.actionscript.</code><code class="sig-name descname">MxmlLexer</code><a class="headerlink" href="#pygments.lexers.actionscript.MxmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mxml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.mxml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For MXML markup.
+Nested AS3 in <script> tags is highlighted by the appropriate lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.algebra"></span></div>
+<div class="section" id="lexers-for-computer-algebra-systems">
+<h2>Lexers for computer algebra systems<a class="headerlink" href="#lexers-for-computer-algebra-systems" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.algebra.BCLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.algebra.</code><code class="sig-name descname">BCLexer</code><a class="headerlink" href="#pygments.lexers.algebra.BCLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A <a class="reference external" href="https://www.gnu.org/software/bc/">BC</a> lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.algebra.GAPLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.algebra.</code><code class="sig-name descname">GAPLexer</code><a class="headerlink" href="#pygments.lexers.algebra.GAPLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>gap</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.g, *.gd, *.gi, *.gap</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.gap-system.org">GAP</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.algebra.MathematicaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.algebra.</code><code class="sig-name descname">MathematicaLexer</code><a class="headerlink" href="#pygments.lexers.algebra.MathematicaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mathematica, mma, nb</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.nb, *.cdf, *.nbp, *.ma</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/mathematica, application/vnd.wolfram.mathematica, application/vnd.wolfram.mathematica.package, application/vnd.wolfram.cdf</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://www.wolfram.com/mathematica/">Mathematica</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.algebra.MuPADLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.algebra.</code><code class="sig-name descname">MuPADLexer</code><a class="headerlink" href="#pygments.lexers.algebra.MuPADLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mupad</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.mu</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A <a class="reference external" href="http://www.mupad.com">MuPAD</a> lexer.
+Contributed by Christopher Creutzig <<a class="reference external" href="mailto:christopher%40creutzig.de">christopher<span>@</span>creutzig<span>.</span>de</a>>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.8.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.ambient"></span></div>
+<div class="section" id="lexers-for-ambienttalk-language">
+<h2>Lexers for AmbientTalk language<a class="headerlink" href="#lexers-for-ambienttalk-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.ambient.AmbientTalkLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ambient.</code><code class="sig-name descname">AmbientTalkLexer</code><a class="headerlink" href="#pygments.lexers.ambient.AmbientTalkLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>at, ambienttalk, ambienttalk/2</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.at</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ambienttalk</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="https://code.google.com/p/ambienttalk">AmbientTalk</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.ampl"></span></div>
+<div class="section" id="lexers-for-the-ampl-language">
+<h2>Lexers for the AMPL language<a class="headerlink" href="#lexers-for-the-ampl-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.ampl.AmplLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ampl.</code><code class="sig-name descname">AmplLexer</code><a class="headerlink" href="#pygments.lexers.ampl.AmplLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ampl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.run</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://ampl.com/">AMPL</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.apl"></span></div>
+<div class="section" id="lexers-for-apl">
+<h2>Lexers for APL<a class="headerlink" href="#lexers-for-apl" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.apl.APLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.apl.</code><code class="sig-name descname">APLLexer</code><a class="headerlink" href="#pygments.lexers.apl.APLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>apl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.apl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A simple APL lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.archetype"></span></div>
+<div class="section" id="lexer-for-archetype-related-syntaxes-including">
+<h2>Lexer for Archetype-related syntaxes, including:<a class="headerlink" href="#lexer-for-archetype-related-syntaxes-including" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.archetype.AdlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.archetype.</code><code class="sig-name descname">AdlLexer</code><a class="headerlink" href="#pygments.lexers.archetype.AdlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>adl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.adl, *.adls, *.adlf, *.adlx</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for ADL syntax.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.archetype.CadlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.archetype.</code><code class="sig-name descname">CadlLexer</code><a class="headerlink" href="#pygments.lexers.archetype.CadlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cadl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cadl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for cADL syntax.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.archetype.OdinLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.archetype.</code><code class="sig-name descname">OdinLexer</code><a class="headerlink" href="#pygments.lexers.archetype.OdinLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>odin</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.odin</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/odin</p>
+</dd>
+</dl>
+<p>Lexer for ODIN syntax.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.asm"></span></div>
+<div class="section" id="lexers-for-assembly-languages">
+<h2>Lexers for assembly languages<a class="headerlink" href="#lexers-for-assembly-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.asm.CObjdumpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">CObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.CObjdumpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>c-objdump</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.c-objdump</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-c-objdump</p>
+</dd>
+</dl>
+<p>For the output of ‘objdump -Sr on compiled C files’</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.Ca65Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">Ca65Lexer</code><a class="headerlink" href="#pygments.lexers.asm.Ca65Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ca65</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.s</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For ca65 assembler sources.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.CppObjdumpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">CppObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.CppObjdumpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cpp-objdump, c++-objdumb, cxx-objdump</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cpp-objdump, *.c++-objdump, *.cxx-objdump</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-cpp-objdump</p>
+</dd>
+</dl>
+<p>For the output of ‘objdump -Sr on compiled C++ files’</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.DObjdumpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">DObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.DObjdumpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>d-objdump</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.d-objdump</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-d-objdump</p>
+</dd>
+</dl>
+<p>For the output of ‘objdump -Sr on compiled D files’</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.Dasm16Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">Dasm16Lexer</code><a class="headerlink" href="#pygments.lexers.asm.Dasm16Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>dasm16</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.dasm16, *.dasm</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-dasm16</p>
+</dd>
+</dl>
+<p>Simple lexer for DCPU-16 Assembly</p>
+<p>Check <a class="reference external" href="http://0x10c.com/doc/dcpu-16.txt">http://0x10c.com/doc/dcpu-16.txt</a></p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.GasLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">GasLexer</code><a class="headerlink" href="#pygments.lexers.asm.GasLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>gas, asm</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.s, *.S</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-gas</p>
+</dd>
+</dl>
+<p>For Gas (AT&T) assembly code.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.HsailLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">HsailLexer</code><a class="headerlink" href="#pygments.lexers.asm.HsailLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>hsail, hsa</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.hsail</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-hsail</p>
+</dd>
+</dl>
+<p>For HSAIL assembly code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.LlvmLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">LlvmLexer</code><a class="headerlink" href="#pygments.lexers.asm.LlvmLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>llvm</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ll</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-llvm</p>
+</dd>
+</dl>
+<p>For LLVM assembly code.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.NasmLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">NasmLexer</code><a class="headerlink" href="#pygments.lexers.asm.NasmLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>nasm</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.asm, *.ASM</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-nasm</p>
+</dd>
+</dl>
+<p>For Nasm (Intel) assembly code.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.NasmObjdumpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">NasmObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.NasmObjdumpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>objdump-nasm</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.objdump-intel</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-nasm-objdump</p>
+</dd>
+</dl>
+<p>For the output of ‘objdump -d -M intel’.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.ObjdumpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">ObjdumpLexer</code><a class="headerlink" href="#pygments.lexers.asm.ObjdumpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>objdump</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.objdump</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-objdump</p>
+</dd>
+</dl>
+<p>For the output of ‘objdump -dr’</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.asm.TasmLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.asm.</code><code class="sig-name descname">TasmLexer</code><a class="headerlink" href="#pygments.lexers.asm.TasmLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>tasm</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.asm, *.ASM, *.tasm</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-tasm</p>
+</dd>
+</dl>
+<p>For Tasm (Turbo Assembler) assembly code.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.automation"></span></div>
+<div class="section" id="lexers-for-automation-scripting-languages">
+<h2>Lexers for automation scripting languages<a class="headerlink" href="#lexers-for-automation-scripting-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.automation.AutoItLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.automation.</code><code class="sig-name descname">AutoItLexer</code><a class="headerlink" href="#pygments.lexers.automation.AutoItLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>autoit</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.au3</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-autoit</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.autoitscript.com/site/autoit/">AutoIt</a> files.</p>
+<p>AutoIt is a freeware BASIC-like scripting language
+designed for automating the Windows GUI and general scripting</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.automation.AutohotkeyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.automation.</code><code class="sig-name descname">AutohotkeyLexer</code><a class="headerlink" href="#pygments.lexers.automation.AutohotkeyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ahk, autohotkey</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ahk, *.ahkl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-autohotkey</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.autohotkey.com/">autohotkey</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.basic"></span></div>
+<div class="section" id="lexers-for-basic-like-languages-other-than-vb-net">
+<h2>Lexers for BASIC like languages (other than VB.net)<a class="headerlink" href="#lexers-for-basic-like-languages-other-than-vb-net" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.basic.BBCBasicLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.basic.</code><code class="sig-name descname">BBCBasicLexer</code><a class="headerlink" href="#pygments.lexers.basic.BBCBasicLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bbcbasic</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bbc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>BBC Basic was supplied on the BBC Micro, and later Acorn RISC OS.
+It is also used by BBC Basic For Windows.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.basic.BlitzBasicLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.basic.</code><code class="sig-name descname">BlitzBasicLexer</code><a class="headerlink" href="#pygments.lexers.basic.BlitzBasicLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>blitzbasic, b3d, bplus</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bb, *.decls</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-bb</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://blitzbasic.com">BlitzBasic</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.basic.BlitzMaxLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.basic.</code><code class="sig-name descname">BlitzMaxLexer</code><a class="headerlink" href="#pygments.lexers.basic.BlitzMaxLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>blitzmax, bmax</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bmx</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-bmx</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://blitzbasic.com">BlitzMax</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.basic.CbmBasicV2Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.basic.</code><code class="sig-name descname">CbmBasicV2Lexer</code><a class="headerlink" href="#pygments.lexers.basic.CbmBasicV2Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cbmbas</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bas</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For CBM BASIC V2 sources.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.basic.MonkeyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.basic.</code><code class="sig-name descname">MonkeyLexer</code><a class="headerlink" href="#pygments.lexers.basic.MonkeyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>monkey</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.monkey</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-monkey</p>
+</dd>
+</dl>
+<p>For
+<a class="reference external" href="https://en.wikipedia.org/wiki/Monkey_(programming_language)">Monkey</a>
+source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.basic.QBasicLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.basic.</code><code class="sig-name descname">QBasicLexer</code><a class="headerlink" href="#pygments.lexers.basic.QBasicLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>qbasic, basic</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.BAS, *.bas</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/basic</p>
+</dd>
+</dl>
+<p>For
+<a class="reference external" href="http://en.wikipedia.org/wiki/QBasic">QBasic</a>
+source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.basic.VBScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.basic.</code><code class="sig-name descname">VBScriptLexer</code><a class="headerlink" href="#pygments.lexers.basic.VBScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>vbscript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.vbs, *.VBS</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>VBScript is scripting language that is modeled on Visual Basic.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.bibtex"></span></div>
+<div class="section" id="lexers-for-bibtex-bibliography-data-and-styles">
+<h2>Lexers for BibTeX bibliography data and styles<a class="headerlink" href="#lexers-for-bibtex-bibliography-data-and-styles" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.bibtex.BSTLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.bibtex.</code><code class="sig-name descname">BSTLexer</code><a class="headerlink" href="#pygments.lexers.bibtex.BSTLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bst, bst-pybtex</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bst</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for BibTeX bibliography styles.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.bibtex.BibTeXLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.bibtex.</code><code class="sig-name descname">BibTeXLexer</code><a class="headerlink" href="#pygments.lexers.bibtex.BibTeXLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bib, bibtex</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bib</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-bibtex</p>
+</dd>
+</dl>
+<p>A lexer for BibTeX bibliography data format.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.boa"></span></div>
+<div class="section" id="lexers-for-the-boa-language">
+<h2>Lexers for the Boa language<a class="headerlink" href="#lexers-for-the-boa-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.boa.BoaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.boa.</code><code class="sig-name descname">BoaLexer</code><a class="headerlink" href="#pygments.lexers.boa.BoaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>boa</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.boa</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for the <a class="reference external" href="http://boa.cs.iastate.edu/docs/">Boa</a> language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.business"></span></div>
+<div class="section" id="lexers-for-business-oriented-languages">
+<h2>Lexers for “business-oriented” languages<a class="headerlink" href="#lexers-for-business-oriented-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.business.ABAPLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.business.</code><code class="sig-name descname">ABAPLexer</code><a class="headerlink" href="#pygments.lexers.business.ABAPLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>abap</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.abap, *.ABAP</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-abap</p>
+</dd>
+</dl>
+<p>Lexer for ABAP, SAP’s integrated language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.business.CobolFreeformatLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.business.</code><code class="sig-name descname">CobolFreeformatLexer</code><a class="headerlink" href="#pygments.lexers.business.CobolFreeformatLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cobolfree</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cbl, *.CBL</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for Free format OpenCOBOL code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.business.CobolLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.business.</code><code class="sig-name descname">CobolLexer</code><a class="headerlink" href="#pygments.lexers.business.CobolLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cobol</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cob, *.COB, *.cpy, *.CPY</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-cobol</p>
+</dd>
+</dl>
+<p>Lexer for OpenCOBOL code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.business.GoodDataCLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.business.</code><code class="sig-name descname">GoodDataCLLexer</code><a class="headerlink" href="#pygments.lexers.business.GoodDataCLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>gooddata-cl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.gdc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-gooddata-cl</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://github.com/gooddata/GoodData-CL/raw/master/cli/src/main/resources/com/gooddata/processor/COMMANDS.txt">GoodData-CL</a>
+script files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.business.MaqlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.business.</code><code class="sig-name descname">MaqlLexer</code><a class="headerlink" href="#pygments.lexers.business.MaqlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>maql</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.maql</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-gooddata-maql, application/x-gooddata-maql</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="https://secure.gooddata.com/docs/html/advanced.metric.tutorial.html">GoodData MAQL</a>
+scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.business.OpenEdgeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.business.</code><code class="sig-name descname">OpenEdgeLexer</code><a class="headerlink" href="#pygments.lexers.business.OpenEdgeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>openedge, abl, progress</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.p, *.cls</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-openedge, application/x-openedge</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://web.progress.com/en/openedge/abl.html">OpenEdge ABL (formerly Progress)</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.c_cpp"></span></div>
+<div class="section" id="lexers-for-c-c-languages">
+<h2>Lexers for C/C++ languages<a class="headerlink" href="#lexers-for-c-c-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.c_cpp.CLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_cpp.</code><code class="sig-name descname">CLexer</code><a class="headerlink" href="#pygments.lexers.c_cpp.CLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>c</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.c, *.h, *.idc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-chdr, text/x-csrc</p>
+</dd>
+</dl>
+<p>For C source code with preprocessor directives.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_cpp.CppLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_cpp.</code><code class="sig-name descname">CppLexer</code><a class="headerlink" href="#pygments.lexers.c_cpp.CppLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cpp, c++</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cpp, *.hpp, *.c++, *.h++, *.cc, *.hh, *.cxx, *.hxx, *.C, *.H, *.cp, *.CPP</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-c++hdr, text/x-c++src</p>
+</dd>
+</dl>
+<p>For C++ source code with preprocessor directives.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.c_like"></span></div>
+<div class="section" id="lexers-for-other-c-like-languages">
+<h2>Lexers for other C-like languages<a class="headerlink" href="#lexers-for-other-c-like-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.c_like.ArduinoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">ArduinoLexer</code><a class="headerlink" href="#pygments.lexers.c_like.ArduinoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>arduino</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ino</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-arduino</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://arduino.cc/">Arduino(tm)</a> source.</p>
+<p>This is an extension of the CppLexer, as the Arduino® Language is a superset
+of C++</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_like.CharmciLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">CharmciLexer</code><a class="headerlink" href="#pygments.lexers.c_like.CharmciLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>charmci</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ci</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://charm.cs.illinois.edu">Charm++</a> interface files (.ci).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_like.ClayLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">ClayLexer</code><a class="headerlink" href="#pygments.lexers.c_like.ClayLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>clay</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.clay</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-clay</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://claylabs.com/clay/">Clay</a> source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_like.CudaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">CudaLexer</code><a class="headerlink" href="#pygments.lexers.c_like.CudaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cuda, cu</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cu, *.cuh</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-cuda</p>
+</dd>
+</dl>
+<p>For NVIDIA <a class="reference external" href="http://developer.nvidia.com/category/zone/cuda-zone">CUDA™</a>
+source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_like.ECLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">ECLexer</code><a class="headerlink" href="#pygments.lexers.c_like.ECLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ec</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ec, *.eh</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-echdr, text/x-ecsrc</p>
+</dd>
+</dl>
+<p>For eC source code with preprocessor directives.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_like.MqlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">MqlLexer</code><a class="headerlink" href="#pygments.lexers.c_like.MqlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mql, mq4, mq5, mql4, mql5</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.mq4, *.mq5, *.mqh</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-mql</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://docs.mql4.com/">MQL4</a> and
+<a class="reference external" href="http://www.mql5.com/en/docs">MQL5</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_like.NesCLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">NesCLexer</code><a class="headerlink" href="#pygments.lexers.c_like.NesCLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>nesc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.nc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-nescsrc</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://github.com/tinyos/nesc">nesC</a> source code with preprocessor
+directives.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_like.PikeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">PikeLexer</code><a class="headerlink" href="#pygments.lexers.c_like.PikeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pike</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pike, *.pmod</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-pike</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://pike.lysator.liu.se/">Pike</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_like.SwigLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">SwigLexer</code><a class="headerlink" href="#pygments.lexers.c_like.SwigLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>swig</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.swg, *.i</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/swig</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.swig.org/">SWIG</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.c_like.ValaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.c_like.</code><code class="sig-name descname">ValaLexer</code><a class="headerlink" href="#pygments.lexers.c_like.ValaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>vala, vapi</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.vala, *.vapi</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-vala</p>
+</dd>
+</dl>
+<p>For Vala source code with preprocessor directives.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.capnproto"></span></div>
+<div class="section" id="lexers-for-the-cap-n-proto-schema-language">
+<h2>Lexers for the Cap’n Proto schema language<a class="headerlink" href="#lexers-for-the-cap-n-proto-schema-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.capnproto.CapnProtoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.capnproto.</code><code class="sig-name descname">CapnProtoLexer</code><a class="headerlink" href="#pygments.lexers.capnproto.CapnProtoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>capnp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.capnp</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://capnproto.org">Cap’n Proto</a> source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.chapel"></span></div>
+<div class="section" id="lexer-for-the-chapel-language">
+<h2>Lexer for the Chapel language<a class="headerlink" href="#lexer-for-the-chapel-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.chapel.ChapelLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.chapel.</code><code class="sig-name descname">ChapelLexer</code><a class="headerlink" href="#pygments.lexers.chapel.ChapelLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>chapel, chpl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.chpl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://chapel.cray.com/">Chapel</a> source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.clean"></span></div>
+<div class="section" id="lexer-for-the-clean-language">
+<h2>Lexer for the Clean language<a class="headerlink" href="#lexer-for-the-clean-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.clean.CleanLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.clean.</code><code class="sig-name descname">CleanLexer</code><a class="headerlink" href="#pygments.lexers.clean.CleanLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>clean</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.icl, *.dcl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for the general purpose, state-of-the-art, pure and lazy functional
+programming language Clean (<a class="reference external" href="http://clean.cs.ru.nl/Clean">http://clean.cs.ru.nl/Clean</a>).</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.configs"></span></div>
+<div class="section" id="lexers-for-configuration-file-formats">
+<h2>Lexers for configuration file formats<a class="headerlink" href="#lexers-for-configuration-file-formats" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.configs.ApacheConfLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">ApacheConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.ApacheConfLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>apacheconf, aconf, apache</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>.htaccess, apache.conf, apache2.conf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-apacheconf</p>
+</dd>
+</dl>
+<p>Lexer for configuration files following the Apache config file
+format.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.AugeasLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">AugeasLexer</code><a class="headerlink" href="#pygments.lexers.configs.AugeasLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>augeas</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.aug</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://augeas.net">Augeas</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.Cfengine3Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">Cfengine3Lexer</code><a class="headerlink" href="#pygments.lexers.configs.Cfengine3Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cfengine3, cf3</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://cfengine.org">CFEngine3</a> policy files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.DockerLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">DockerLexer</code><a class="headerlink" href="#pygments.lexers.configs.DockerLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>docker, dockerfile</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>Dockerfile, *.docker</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-dockerfile-config</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://docker.io">Docker</a> configuration files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.IniLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">IniLexer</code><a class="headerlink" href="#pygments.lexers.configs.IniLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ini, cfg, dosini</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ini, *.cfg, *.inf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ini, text/inf</p>
+</dd>
+</dl>
+<p>Lexer for configuration files in INI style.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.KconfigLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">KconfigLexer</code><a class="headerlink" href="#pygments.lexers.configs.KconfigLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>kconfig, menuconfig, linux-config, kernel-config</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>Kconfig, *Config.in*, external.in*, standard-modules.in</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-kconfig</p>
+</dd>
+</dl>
+<p>For Linux-style Kconfig files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.LighttpdConfLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">LighttpdConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.LighttpdConfLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>lighty, lighttpd</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-lighttpd-conf</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://lighttpd.net/">Lighttpd</a> configuration files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.NginxConfLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">NginxConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.NginxConfLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>nginx</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>nginx.conf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-nginx-conf</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://nginx.net/">Nginx</a> configuration files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.PacmanConfLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">PacmanConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.PacmanConfLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pacmanconf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>pacman.conf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="https://www.archlinux.org/pacman/pacman.conf.5.html">pacman.conf</a>.</p>
+<p>Actually, IniLexer works almost fine for this format,
+but it yield error token. It is because pacman.conf has
+a form without assignment like:</p>
+<blockquote>
+<div><p>UseSyslog
+Color
+TotalDownload
+CheckSpace
+VerbosePkgLists</p>
+</div></blockquote>
+<p>These are flags to switch on.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.PkgConfigLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">PkgConfigLexer</code><a class="headerlink" href="#pygments.lexers.configs.PkgConfigLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pkgconfig</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a>
+(see also <a class="reference external" href="http://linux.die.net/man/1/pkg-config">manual page</a>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.PropertiesLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">PropertiesLexer</code><a class="headerlink" href="#pygments.lexers.configs.PropertiesLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>properties, jproperties</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.properties</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-java-properties</p>
+</dd>
+</dl>
+<p>Lexer for configuration files in Java’s properties format.</p>
+<p>Note: trailing whitespace counts as part of the value as per spec</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.RegeditLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">RegeditLexer</code><a class="headerlink" href="#pygments.lexers.configs.RegeditLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>registry</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.reg</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-windows-registry</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://en.wikipedia.org/wiki/Windows_Registry#.REG_files">Windows Registry</a> files produced
+by regedit.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.SquidConfLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">SquidConfLexer</code><a class="headerlink" href="#pygments.lexers.configs.SquidConfLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>squidconf, squid.conf, squid</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>squid.conf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-squidconf</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://www.squid-cache.org/">squid</a> configuration files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.TOMLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">TOMLLexer</code><a class="headerlink" href="#pygments.lexers.configs.TOMLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>toml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.toml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="https://github.com/toml-lang/toml">TOML</a>, a simple language
+for config files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.TermcapLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">TermcapLexer</code><a class="headerlink" href="#pygments.lexers.configs.TermcapLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>termcap</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>termcap, termcap.src</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for termcap database source.</p>
+<p>This is very simple and minimal.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.TerminfoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">TerminfoLexer</code><a class="headerlink" href="#pygments.lexers.configs.TerminfoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>terminfo</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>terminfo, terminfo.src</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for terminfo database source.</p>
+<p>This is very simple and minimal.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.configs.TerraformLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.configs.</code><code class="sig-name descname">TerraformLexer</code><a class="headerlink" href="#pygments.lexers.configs.TerraformLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>terraform, tf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.tf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-tf, application/x-terraform</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="https://www.terraform.io/">terraformi .tf files</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.console"></span></div>
+<div class="section" id="lexers-for-misc-console-output">
+<h2>Lexers for misc console output<a class="headerlink" href="#lexers-for-misc-console-output" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.console.PyPyLogLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.console.</code><code class="sig-name descname">PyPyLogLexer</code><a class="headerlink" href="#pygments.lexers.console.PyPyLogLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pypylog, pypy</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pypylog</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-pypylog</p>
+</dd>
+</dl>
+<p>Lexer for PyPy log files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.console.VCTreeStatusLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.console.</code><code class="sig-name descname">VCTreeStatusLexer</code><a class="headerlink" href="#pygments.lexers.console.VCTreeStatusLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>vctreestatus</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For colorizing output of version control status commands, like “hg
+status” or “svn status”.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.crystal"></span></div>
+<div class="section" id="lexer-for-crystal">
+<h2>Lexer for Crystal<a class="headerlink" href="#lexer-for-crystal" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.crystal.CrystalLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.crystal.</code><code class="sig-name descname">CrystalLexer</code><a class="headerlink" href="#pygments.lexers.crystal.CrystalLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cr, crystal</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cr</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-crystal</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://crystal-lang.org">Crystal</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.csound"></span></div>
+<div class="section" id="lexers-for-csound-languages">
+<h2>Lexers for Csound languages<a class="headerlink" href="#lexers-for-csound-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.csound.CsoundDocumentLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.csound.</code><code class="sig-name descname">CsoundDocumentLexer</code><a class="headerlink" href="#pygments.lexers.csound.CsoundDocumentLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>csound-document, csound-csd</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.csd</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://csound.com">Csound</a> documents.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.csound.CsoundOrchestraLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.csound.</code><code class="sig-name descname">CsoundOrchestraLexer</code><a class="headerlink" href="#pygments.lexers.csound.CsoundOrchestraLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>csound, csound-orc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.orc, *.udo</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://csound.com">Csound</a> orchestras.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.csound.CsoundScoreLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.csound.</code><code class="sig-name descname">CsoundScoreLexer</code><a class="headerlink" href="#pygments.lexers.csound.CsoundScoreLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>csound-score, csound-sco</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sco</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://csound.com">Csound</a> scores.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.css"></span></div>
+<div class="section" id="lexers-for-css-and-related-stylesheet-formats">
+<h2>Lexers for CSS and related stylesheet formats<a class="headerlink" href="#lexers-for-css-and-related-stylesheet-formats" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.css.CssLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.css.</code><code class="sig-name descname">CssLexer</code><a class="headerlink" href="#pygments.lexers.css.CssLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.css</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/css</p>
+</dd>
+</dl>
+<p>For CSS (Cascading Style Sheets).</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.css.LessCssLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.css.</code><code class="sig-name descname">LessCssLexer</code><a class="headerlink" href="#pygments.lexers.css.LessCssLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>less</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.less</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-less-css</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://lesscss.org/">LESS</a> styleshets.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.css.SassLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.css.</code><code class="sig-name descname">SassLexer</code><a class="headerlink" href="#pygments.lexers.css.SassLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sass</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sass</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-sass</p>
+</dd>
+</dl>
+<p>For Sass stylesheets.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.3.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.css.ScssLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.css.</code><code class="sig-name descname">ScssLexer</code><a class="headerlink" href="#pygments.lexers.css.ScssLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>scss</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.scss</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-scss</p>
+</dd>
+</dl>
+<p>For SCSS stylesheets.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.d"></span></div>
+<div class="section" id="lexers-for-d-languages">
+<h2>Lexers for D languages<a class="headerlink" href="#lexers-for-d-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.d.CrocLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.d.</code><code class="sig-name descname">CrocLexer</code><a class="headerlink" href="#pygments.lexers.d.CrocLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>croc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.croc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-crocsrc</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://jfbillingsley.com/croc">Croc</a> source.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.d.DLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.d.</code><code class="sig-name descname">DLexer</code><a class="headerlink" href="#pygments.lexers.d.DLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>d</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.d, *.di</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-dsrc</p>
+</dd>
+</dl>
+<p>For D source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.d.MiniDLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.d.</code><code class="sig-name descname">MiniDLexer</code><a class="headerlink" href="#pygments.lexers.d.MiniDLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>minid</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-minidsrc</p>
+</dd>
+</dl>
+<p>For MiniD source. MiniD is now known as Croc.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.dalvik"></span></div>
+<div class="section" id="pygments-lexers-for-dalvik-vm-related-languages">
+<h2>Pygments lexers for Dalvik VM-related languages<a class="headerlink" href="#pygments-lexers-for-dalvik-vm-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.dalvik.SmaliLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dalvik.</code><code class="sig-name descname">SmaliLexer</code><a class="headerlink" href="#pygments.lexers.dalvik.SmaliLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>smali</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.smali</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/smali</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://code.google.com/p/smali/">Smali</a> (Android/Dalvik) assembly
+code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.data"></span></div>
+<div class="section" id="lexers-for-data-file-format">
+<h2>Lexers for data file format<a class="headerlink" href="#lexers-for-data-file-format" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.data.JsonBareObjectLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.data.</code><code class="sig-name descname">JsonBareObjectLexer</code><a class="headerlink" href="#pygments.lexers.data.JsonBareObjectLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>json-object</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/json-object</p>
+</dd>
+</dl>
+<p>For JSON data structures (with missing object curly braces).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.data.JsonLdLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.data.</code><code class="sig-name descname">JsonLdLexer</code><a class="headerlink" href="#pygments.lexers.data.JsonLdLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>jsonld, json-ld</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.jsonld</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/ld+json</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://json-ld.org/">JSON-LD</a> linked data.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.data.JsonLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.data.</code><code class="sig-name descname">JsonLexer</code><a class="headerlink" href="#pygments.lexers.data.JsonLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>json</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.json</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/json</p>
+</dd>
+</dl>
+<p>For JSON data structures.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.data.YamlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.data.</code><code class="sig-name descname">YamlLexer</code><a class="headerlink" href="#pygments.lexers.data.YamlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>yaml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.yaml, *.yml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-yaml</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://yaml.org/">YAML</a>, a human-friendly data serialization
+language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.diff"></span></div>
+<div class="section" id="lexers-for-diff-patch-formats">
+<h2>Lexers for diff/patch formats<a class="headerlink" href="#lexers-for-diff-patch-formats" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.diff.DarcsPatchLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.diff.</code><code class="sig-name descname">DarcsPatchLexer</code><a class="headerlink" href="#pygments.lexers.diff.DarcsPatchLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>dpatch</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.dpatch, *.darcspatch</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>DarcsPatchLexer is a lexer for the various versions of the darcs patch
+format. Examples of this format are derived by commands such as
+<code class="docutils literal notranslate"><span class="pre">darcs</span> <span class="pre">annotate</span> <span class="pre">--patch</span></code> and <code class="docutils literal notranslate"><span class="pre">darcs</span> <span class="pre">send</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.diff.DiffLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.diff.</code><code class="sig-name descname">DiffLexer</code><a class="headerlink" href="#pygments.lexers.diff.DiffLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>diff, udiff</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.diff, *.patch</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-diff, text/x-patch</p>
+</dd>
+</dl>
+<p>Lexer for unified or context-style diffs or patches.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.diff.WDiffLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.diff.</code><code class="sig-name descname">WDiffLexer</code><a class="headerlink" href="#pygments.lexers.diff.WDiffLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>wdiff</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.wdiff</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A <a class="reference external" href="https://www.gnu.org/software/wdiff/">wdiff</a> lexer.</p>
+<p>Note that:</p>
+<ul class="simple">
+<li><p>only to normal output (without option like -l).</p></li>
+<li><p>if target files of wdiff contain “[-“, “-]”, “{+”, “+}”,
+especially they are unbalanced, this lexer will get confusing.</p></li>
+</ul>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.dotnet"></span></div>
+<div class="section" id="lexers-for-net-languages">
+<h2>Lexers for .net languages<a class="headerlink" href="#lexers-for-net-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.dotnet.BooLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dotnet.</code><code class="sig-name descname">BooLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.BooLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>boo</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.boo</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-boo</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://boo.codehaus.org/">Boo</a> source code.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dotnet.CSharpAspxLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dotnet.</code><code class="sig-name descname">CSharpAspxLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.CSharpAspxLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>aspx-cs</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for highlighting C# within ASP.NET pages.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dotnet.CSharpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dotnet.</code><code class="sig-name descname">CSharpLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.CSharpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>csharp, c#</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cs</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-csharp</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://msdn2.microsoft.com/en-us/vcsharp/default.aspx">C#</a>
+source code.</p>
+<p>Additional options accepted:</p>
+<dl>
+<dt><cite>unicodelevel</cite></dt><dd><p>Determines which Unicode characters this lexer allows for identifiers.
+The possible values are:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">none</span></code> – only the ASCII letters and numbers are allowed. This
+is the fastest selection.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">basic</span></code> – all Unicode characters from the specification except
+category <code class="docutils literal notranslate"><span class="pre">Lo</span></code> are allowed.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">full</span></code> – all Unicode characters as specified in the C# specs
+are allowed. Note that this means a considerable slowdown since the
+<code class="docutils literal notranslate"><span class="pre">Lo</span></code> category has more than 40,000 characters in it!</p></li>
+</ul>
+<p>The default value is <code class="docutils literal notranslate"><span class="pre">basic</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.8.</span></p>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dotnet.FSharpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dotnet.</code><code class="sig-name descname">FSharpLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.FSharpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>fsharp, f#</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.fs, *.fsi</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-fsharp</p>
+</dd>
+</dl>
+<p>For the <a class="reference external" href="https://fsharp.org/">F# language</a> (version 3.0).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dotnet.NemerleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dotnet.</code><code class="sig-name descname">NemerleLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.NemerleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>nemerle</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.n</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-nemerle</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://nemerle.org">Nemerle</a> source code.</p>
+<p>Additional options accepted:</p>
+<dl>
+<dt><cite>unicodelevel</cite></dt><dd><p>Determines which Unicode characters this lexer allows for identifiers.
+The possible values are:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">none</span></code> – only the ASCII letters and numbers are allowed. This
+is the fastest selection.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">basic</span></code> – all Unicode characters from the specification except
+category <code class="docutils literal notranslate"><span class="pre">Lo</span></code> are allowed.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">full</span></code> – all Unicode characters as specified in the C# specs
+are allowed. Note that this means a considerable slowdown since the
+<code class="docutils literal notranslate"><span class="pre">Lo</span></code> category has more than 40,000 characters in it!</p></li>
+</ul>
+<p>The default value is <code class="docutils literal notranslate"><span class="pre">basic</span></code>.</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dotnet.VbNetAspxLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dotnet.</code><code class="sig-name descname">VbNetAspxLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.VbNetAspxLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>aspx-vb</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for highlighting Visual Basic.net within ASP.NET pages.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dotnet.VbNetLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dotnet.</code><code class="sig-name descname">VbNetLexer</code><a class="headerlink" href="#pygments.lexers.dotnet.VbNetLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>vb.net, vbnet</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.vb, *.bas</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-vbnet, text/x-vba</p>
+</dd>
+</dl>
+<p>For
+<a class="reference external" href="http://msdn2.microsoft.com/en-us/vbasic/default.aspx">Visual Basic.NET</a>
+source code.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.dsls"></span></div>
+<div class="section" id="lexers-for-various-domain-specific-languages">
+<h2>Lexers for various domain-specific languages<a class="headerlink" href="#lexers-for-various-domain-specific-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.dsls.AlloyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">AlloyLexer</code><a class="headerlink" href="#pygments.lexers.dsls.AlloyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>alloy</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.als</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-alloy</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://alloy.mit.edu">Alloy</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.CrmshLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">CrmshLexer</code><a class="headerlink" href="#pygments.lexers.dsls.CrmshLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>crmsh, pcmk</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.crmsh, *.pcmk</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://crmsh.github.io/">crmsh</a> configuration files
+for Pacemaker clusters.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.FlatlineLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">FlatlineLexer</code><a class="headerlink" href="#pygments.lexers.dsls.FlatlineLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>flatline</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-flatline</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="https://github.com/bigmlcom/flatline">Flatline</a> expressions.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.MscgenLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">MscgenLexer</code><a class="headerlink" href="#pygments.lexers.dsls.MscgenLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mscgen, msc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.msc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.mcternan.me.uk/mscgen/">Mscgen</a> files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.PanLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">PanLexer</code><a class="headerlink" href="#pygments.lexers.dsls.PanLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pan</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pan</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://github.com/quattor/pan/">pan</a> source files.</p>
+<p>Based on tcsh lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.ProtoBufLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">ProtoBufLexer</code><a class="headerlink" href="#pygments.lexers.dsls.ProtoBufLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>protobuf, proto</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.proto</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://code.google.com/p/protobuf/">Protocol Buffer</a>
+definition files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.PuppetLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">PuppetLexer</code><a class="headerlink" href="#pygments.lexers.dsls.PuppetLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>puppet</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pp</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://puppetlabs.com/">Puppet</a> configuration DSL.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.RslLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">RslLexer</code><a class="headerlink" href="#pygments.lexers.dsls.RslLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rsl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rsl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/rsl</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://en.wikipedia.org/wiki/RAISE">RSL</a> is the formal specification
+language used in RAISE (Rigorous Approach to Industrial Software Engineering)
+method.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.SnowballLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">SnowballLexer</code><a class="headerlink" href="#pygments.lexers.dsls.SnowballLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>snowball</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sbl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://snowballstem.org/">Snowball</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.ThriftLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">ThriftLexer</code><a class="headerlink" href="#pygments.lexers.dsls.ThriftLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>thrift</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.thrift</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-thrift</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://thrift.apache.org/">Thrift</a> interface definitions.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.VGLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">VGLLexer</code><a class="headerlink" href="#pygments.lexers.dsls.VGLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>vgl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rpf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.thermoscientific.com/samplemanager">SampleManager VGL</a>
+source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dsls.ZeekLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dsls.</code><code class="sig-name descname">ZeekLexer</code><a class="headerlink" href="#pygments.lexers.dsls.ZeekLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>zeek, bro</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.zeek, *.bro</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://www.zeek.org/">Zeek</a> scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.dylan"></span></div>
+<div class="section" id="lexers-for-the-dylan-language">
+<h2>Lexers for the Dylan language<a class="headerlink" href="#lexers-for-the-dylan-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.dylan.DylanConsoleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dylan.</code><code class="sig-name descname">DylanConsoleLexer</code><a class="headerlink" href="#pygments.lexers.dylan.DylanConsoleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>dylan-console, dylan-repl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.dylan-console</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-dylan-console</p>
+</dd>
+</dl>
+<p>For Dylan interactive console output like:</p>
+<div class="highlight-dylan-console notranslate"><div class="highlight"><pre><span></span><span class="gp">?</span> <span class="k">let</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="go">=> 1</span>
+<span class="gp">?</span> <span class="n">a</span>
+<span class="go">=> 1</span>
+</pre></div>
+</div>
+<p>This is based on a copy of the RubyConsoleLexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dylan.DylanLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dylan.</code><code class="sig-name descname">DylanLexer</code><a class="headerlink" href="#pygments.lexers.dylan.DylanLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>dylan</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.dylan, *.dyl, *.intr</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-dylan</p>
+</dd>
+</dl>
+<p>For the <a class="reference external" href="http://www.opendylan.org/">Dylan</a> language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.dylan.DylanLidLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.dylan.</code><code class="sig-name descname">DylanLidLexer</code><a class="headerlink" href="#pygments.lexers.dylan.DylanLidLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>dylan-lid, lid</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lid, *.hdp</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-dylan-lid</p>
+</dd>
+</dl>
+<p>For Dylan LID (Library Interchange Definition) files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.ecl"></span></div>
+<div class="section" id="lexers-for-the-ecl-language">
+<h2>Lexers for the ECL language<a class="headerlink" href="#lexers-for-the-ecl-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.ecl.ECLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ecl.</code><code class="sig-name descname">ECLLexer</code><a class="headerlink" href="#pygments.lexers.ecl.ECLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ecl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ecl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-ecl</p>
+</dd>
+</dl>
+<p>Lexer for the declarative big-data <a class="reference external" href="http://hpccsystems.com/community/docs/ecl-language-reference/html">ECL</a>
+language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.eiffel"></span></div>
+<div class="section" id="lexer-for-the-eiffel-language">
+<h2>Lexer for the Eiffel language<a class="headerlink" href="#lexer-for-the-eiffel-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.eiffel.EiffelLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.eiffel.</code><code class="sig-name descname">EiffelLexer</code><a class="headerlink" href="#pygments.lexers.eiffel.EiffelLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>eiffel</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.e</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-eiffel</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.eiffel.com">Eiffel</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.elm"></span></div>
+<div class="section" id="lexer-for-the-elm-programming-language">
+<h2>Lexer for the Elm programming language<a class="headerlink" href="#lexer-for-the-elm-programming-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.elm.ElmLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.elm.</code><code class="sig-name descname">ElmLexer</code><a class="headerlink" href="#pygments.lexers.elm.ElmLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>elm</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.elm</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-elm</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://elm-lang.org/">Elm</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.email"></span></div>
+<div class="section" id="lexer-for-the-raw-e-mail">
+<h2>Lexer for the raw E-mail<a class="headerlink" href="#lexer-for-the-raw-e-mail" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.email.EmailLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.email.</code><code class="sig-name descname">EmailLexer</code><a class="headerlink" href="#pygments.lexers.email.EmailLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>email, eml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.eml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>message/rfc822</p>
+</dd>
+</dl>
+<p>Lexer for raw E-mail.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>highlight-X-header</cite></dt><dd><p>Highlight the fields of <code class="docutils literal notranslate"><span class="pre">X-</span></code> user-defined email header. (default:
+<code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.erlang"></span></div>
+<div class="section" id="lexers-for-erlang">
+<h2>Lexers for Erlang<a class="headerlink" href="#lexers-for-erlang" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.erlang.ElixirConsoleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.erlang.</code><code class="sig-name descname">ElixirConsoleLexer</code><a class="headerlink" href="#pygments.lexers.erlang.ElixirConsoleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>iex</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-elixir-shellsession</p>
+</dd>
+</dl>
+<p>For Elixir interactive console (iex) output like:</p>
+<div class="highlight-iex notranslate"><div class="highlight"><pre><span></span><span class="gp">iex> </span><span class="p">[</span><span class="n">head</span> <span class="o">|</span> <span class="n">tail</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span>
+<span class="go">[1,2,3]</span>
+<span class="gp">iex> </span><span class="n">head</span>
+<span class="go">1</span>
+<span class="gp">iex> </span><span class="n">tail</span>
+<span class="go">[2,3]</span>
+<span class="gp">iex> </span><span class="p">[</span><span class="n">head</span> <span class="o">|</span> <span class="n">tail</span><span class="p">]</span>
+<span class="go">[1,2,3]</span>
+<span class="gp">iex> </span><span class="n">length</span> <span class="p">[</span><span class="n">head</span> <span class="o">|</span> <span class="n">tail</span><span class="p">]</span>
+<span class="go">3</span>
+</pre></div>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.erlang.ElixirLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.erlang.</code><code class="sig-name descname">ElixirLexer</code><a class="headerlink" href="#pygments.lexers.erlang.ElixirLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>elixir, ex, exs</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ex, *.exs</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-elixir</p>
+</dd>
+</dl>
+<p>For the <a class="reference external" href="http://elixir-lang.org">Elixir language</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.erlang.ErlangLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.erlang.</code><code class="sig-name descname">ErlangLexer</code><a class="headerlink" href="#pygments.lexers.erlang.ErlangLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>erlang</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.erl, *.hrl, *.es, *.escript</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-erlang</p>
+</dd>
+</dl>
+<p>For the Erlang functional programming language.</p>
+<p>Blame Jeremy Thurgood (<a class="reference external" href="http://jerith.za.net/">http://jerith.za.net/</a>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.erlang.ErlangShellLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.erlang.</code><code class="sig-name descname">ErlangShellLexer</code><a class="headerlink" href="#pygments.lexers.erlang.ErlangShellLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>erl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.erl-sh</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-erl-shellsession</p>
+</dd>
+</dl>
+<p>Shell sessions in erl (for Erlang code).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.esoteric"></span></div>
+<div class="section" id="lexers-for-esoteric-languages">
+<h2>Lexers for esoteric languages<a class="headerlink" href="#lexers-for-esoteric-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.esoteric.AheuiLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.esoteric.</code><code class="sig-name descname">AheuiLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.AheuiLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>aheui</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.aheui</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://aheui.github.io/">Aheui</a> Lexer.</p>
+<p><a class="reference external" href="http://aheui.github.io/">Aheui</a> is esoteric language based on Korean alphabets.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.esoteric.BefungeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.esoteric.</code><code class="sig-name descname">BefungeLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.BefungeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>befunge</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.befunge</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-befunge</p>
+</dd>
+</dl>
+<p>Lexer for the esoteric <a class="reference external" href="http://en.wikipedia.org/wiki/Befunge">Befunge</a>
+language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.esoteric.BrainfuckLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.esoteric.</code><code class="sig-name descname">BrainfuckLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.BrainfuckLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>brainfuck, bf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bf, *.b</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-brainfuck</p>
+</dd>
+</dl>
+<p>Lexer for the esoteric <a class="reference external" href="http://www.muppetlabs.com/~breadbox/bf/">BrainFuck</a>
+language.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.esoteric.CAmkESLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.esoteric.</code><code class="sig-name descname">CAmkESLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.CAmkESLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>camkes, idl4</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.camkes, *.idl4</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Basic lexer for the input language for the
+<a class="reference external" href="https://sel4.systems/CAmkES/">CAmkES</a> component platform.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.esoteric.CapDLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.esoteric.</code><code class="sig-name descname">CapDLLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.CapDLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>capdl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cdl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Basic lexer for
+<a class="reference external" href="https://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pml">CapDL</a>.</p>
+<p>The source of the primary tool that reads such specifications is available
+at <a class="reference external" href="https://github.com/seL4/capdl/tree/master/capDL-tool">https://github.com/seL4/capdl/tree/master/capDL-tool</a>. Note that this
+lexer only supports a subset of the grammar. For example, identifiers can
+shadow type names, but these instances are currently incorrectly
+highlighted as types. Supporting this would need a stateful lexer that is
+considered unnecessarily complex for now.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.esoteric.RedcodeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.esoteric.</code><code class="sig-name descname">RedcodeLexer</code><a class="headerlink" href="#pygments.lexers.esoteric.RedcodeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>redcode</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cw</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A simple Redcode lexer based on ICWS’94.
+Contributed by Adam Blinkinsop <<a class="reference external" href="mailto:blinks%40acm.org">blinks<span>@</span>acm<span>.</span>org</a>>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.8.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.ezhil"></span></div>
+<div class="section" id="pygments-lexers-for-ezhil-language">
+<h2>Pygments lexers for Ezhil language<a class="headerlink" href="#pygments-lexers-for-ezhil-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.ezhil.EzhilLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ezhil.</code><code class="sig-name descname">EzhilLexer</code><a class="headerlink" href="#pygments.lexers.ezhil.EzhilLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ezhil</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.n</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ezhil</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://ezhillang.org">Ezhil, a Tamil script-based programming language</a></p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.factor"></span></div>
+<div class="section" id="lexers-for-the-factor-language">
+<h2>Lexers for the Factor language<a class="headerlink" href="#lexers-for-the-factor-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.factor.FactorLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.factor.</code><code class="sig-name descname">FactorLexer</code><a class="headerlink" href="#pygments.lexers.factor.FactorLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>factor</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.factor</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-factor</p>
+</dd>
+</dl>
+<p>Lexer for the <a class="reference external" href="http://factorcode.org">Factor</a> language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.fantom"></span></div>
+<div class="section" id="lexer-for-the-fantom-language">
+<h2>Lexer for the Fantom language<a class="headerlink" href="#lexer-for-the-fantom-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.fantom.FantomLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.fantom.</code><code class="sig-name descname">FantomLexer</code><a class="headerlink" href="#pygments.lexers.fantom.FantomLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>fan</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.fan</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-fantom</p>
+</dd>
+</dl>
+<p>For Fantom source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.felix"></span></div>
+<div class="section" id="lexer-for-the-felix-language">
+<h2>Lexer for the Felix language<a class="headerlink" href="#lexer-for-the-felix-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.felix.FelixLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.felix.</code><code class="sig-name descname">FelixLexer</code><a class="headerlink" href="#pygments.lexers.felix.FelixLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>felix, flx</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.flx, *.flxh</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-felix</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.felix-lang.org">Felix</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.floscript"></span></div>
+<div class="section" id="lexer-for-floscript">
+<h2>Lexer for FloScript<a class="headerlink" href="#lexer-for-floscript" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.floscript.FloScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.floscript.</code><code class="sig-name descname">FloScriptLexer</code><a class="headerlink" href="#pygments.lexers.floscript.FloScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>floscript, flo</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.flo</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://github.com/ioflo/ioflo">FloScript</a> configuration language source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.forth"></span></div>
+<div class="section" id="lexer-for-the-forth-language">
+<h2>Lexer for the Forth language<a class="headerlink" href="#lexer-for-the-forth-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.forth.ForthLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.forth.</code><code class="sig-name descname">ForthLexer</code><a class="headerlink" href="#pygments.lexers.forth.ForthLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>forth</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.frt, *.fs</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-forth</p>
+</dd>
+</dl>
+<p>Lexer for Forth files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.fortran"></span></div>
+<div class="section" id="lexers-for-fortran-languages">
+<h2>Lexers for Fortran languages<a class="headerlink" href="#lexers-for-fortran-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.fortran.FortranFixedLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.fortran.</code><code class="sig-name descname">FortranFixedLexer</code><a class="headerlink" href="#pygments.lexers.fortran.FortranFixedLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>fortranfixed</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.f, *.F</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for fixed format Fortran.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.fortran.FortranLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.fortran.</code><code class="sig-name descname">FortranLexer</code><a class="headerlink" href="#pygments.lexers.fortran.FortranLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>fortran</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.f03, *.f90, *.F03, *.F90</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-fortran</p>
+</dd>
+</dl>
+<p>Lexer for FORTRAN 90 code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.foxpro"></span></div>
+<div class="section" id="simple-lexer-for-microsoft-visual-foxpro-source-code">
+<h2>Simple lexer for Microsoft Visual FoxPro source code<a class="headerlink" href="#simple-lexer-for-microsoft-visual-foxpro-source-code" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.foxpro.FoxProLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.foxpro.</code><code class="sig-name descname">FoxProLexer</code><a class="headerlink" href="#pygments.lexers.foxpro.FoxProLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>foxpro, vfp, clipper, xbase</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.PRG, *.prg</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for Microsoft Visual FoxPro language.</p>
+<p>FoxPro syntax allows to shorten all keywords and function names
+to 4 characters. Shortened forms are not recognized by this lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.freefem"></span></div>
+<div class="section" id="lexer-for-freefem-language">
+<h2>Lexer for FreeFem++ language<a class="headerlink" href="#lexer-for-freefem-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.freefem.FreeFemLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.freefem.</code><code class="sig-name descname">FreeFemLexer</code><a class="headerlink" href="#pygments.lexers.freefem.FreeFemLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>freefem</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.edp</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-freefem</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://freefem.org/">FreeFem++</a> source.</p>
+<p>This is an extension of the CppLexer, as the FreeFem Language is a superset
+of C++.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.go"></span></div>
+<div class="section" id="lexers-for-the-google-go-language">
+<h2>Lexers for the Google Go language<a class="headerlink" href="#lexers-for-the-google-go-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.go.GoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.go.</code><code class="sig-name descname">GoLexer</code><a class="headerlink" href="#pygments.lexers.go.GoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>go</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.go</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-gosrc</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://golang.org">Go</a> source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.grammar_notation"></span></div>
+<div class="section" id="lexers-for-grammer-notations-like-bnf">
+<h2>Lexers for grammer notations like BNF<a class="headerlink" href="#lexers-for-grammer-notations-like-bnf" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.grammar_notation.AbnfLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.grammar_notation.</code><code class="sig-name descname">AbnfLexer</code><a class="headerlink" href="#pygments.lexers.grammar_notation.AbnfLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>abnf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.abnf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-abnf</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://www.ietf.org/rfc/rfc7405.txt">IETF 7405 ABNF</a>
+(Updates <a class="reference external" href="http://www.ietf.org/rfc/rfc5234.txt">5234</a>)
+grammars.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.grammar_notation.BnfLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.grammar_notation.</code><code class="sig-name descname">BnfLexer</code><a class="headerlink" href="#pygments.lexers.grammar_notation.BnfLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bnf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bnf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-bnf</p>
+</dd>
+</dl>
+<p>This lexer is for grammer notations which are similar to
+original BNF.</p>
+<p>In order to maximize a number of targets of this lexer,
+let’s decide some designs:</p>
+<ul class="simple">
+<li><p>We don’t distinguish <cite>Terminal Symbol</cite>.</p></li>
+<li><p>We do assume that <cite>NonTerminal Symbol</cite> are always enclosed
+with arrow brackets.</p></li>
+<li><p>We do assume that <cite>NonTerminal Symbol</cite> may include
+any printable characters except arrow brackets and ASCII 0x20.
+This assumption is for <a class="reference external" href="http://www.rfc-base.org/txt/rfc-5511.txt">RBNF</a>.</p></li>
+<li><p>We do assume that target notation doesn’t support comment.</p></li>
+<li><p>We don’t distinguish any operators and punctuation except
+<cite>::=</cite>.</p></li>
+</ul>
+<p>Though these desision making might cause too minimal highlighting
+and you might be disappointed, but it is reasonable for us.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.grammar_notation.JsgfLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.grammar_notation.</code><code class="sig-name descname">JsgfLexer</code><a class="headerlink" href="#pygments.lexers.grammar_notation.JsgfLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>jsgf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.jsgf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/jsgf, application/x-jsgf, text/jsgf</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://www.w3.org/TR/jsgf/">JSpeech Grammar Format</a>
+grammars.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.graph"></span></div>
+<div class="section" id="lexers-for-graph-query-languages">
+<h2>Lexers for graph query languages<a class="headerlink" href="#lexers-for-graph-query-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.graph.CypherLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.graph.</code><code class="sig-name descname">CypherLexer</code><a class="headerlink" href="#pygments.lexers.graph.CypherLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cypher</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cyp, *.cypher</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://neo4j.com/docs/developer-manual/3.3/cypher/">Cypher Query Language</a></p>
+<p>For the Cypher version in Neo4j 3.3</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.graphics"></span></div>
+<div class="section" id="lexers-for-computer-graphics-and-plotting-related-languages">
+<h2>Lexers for computer graphics and plotting related languages<a class="headerlink" href="#lexers-for-computer-graphics-and-plotting-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.graphics.AsymptoteLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.graphics.</code><code class="sig-name descname">AsymptoteLexer</code><a class="headerlink" href="#pygments.lexers.graphics.AsymptoteLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>asy, asymptote</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.asy</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-asymptote</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://asymptote.sf.net/">Asymptote</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.graphics.GLShaderLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.graphics.</code><code class="sig-name descname">GLShaderLexer</code><a class="headerlink" href="#pygments.lexers.graphics.GLShaderLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>glsl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.vert, *.frag, *.geo</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-glslsrc</p>
+</dd>
+</dl>
+<p>GLSL (OpenGL Shader) lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.graphics.GnuplotLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.graphics.</code><code class="sig-name descname">GnuplotLexer</code><a class="headerlink" href="#pygments.lexers.graphics.GnuplotLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>gnuplot</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.plot, *.plt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-gnuplot</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://gnuplot.info/">Gnuplot</a> plotting scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.graphics.HLSLShaderLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.graphics.</code><code class="sig-name descname">HLSLShaderLexer</code><a class="headerlink" href="#pygments.lexers.graphics.HLSLShaderLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>hlsl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.hlsl, *.hlsli</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-hlsl</p>
+</dd>
+</dl>
+<p>HLSL (Microsoft Direct3D Shader) lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.3.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.graphics.PostScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.graphics.</code><code class="sig-name descname">PostScriptLexer</code><a class="headerlink" href="#pygments.lexers.graphics.PostScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>postscript, postscr</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ps, *.eps</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/postscript</p>
+</dd>
+</dl>
+<p>Lexer for PostScript files.</p>
+<p>The PostScript Language Reference published by Adobe at
+<<a class="reference external" href="http://partners.adobe.com/public/developer/en/ps/PLRM.pdf">http://partners.adobe.com/public/developer/en/ps/PLRM.pdf</a>>
+is the authority for this.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.graphics.PovrayLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.graphics.</code><code class="sig-name descname">PovrayLexer</code><a class="headerlink" href="#pygments.lexers.graphics.PovrayLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pov</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pov, *.inc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-povray</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.povray.org/">Persistence of Vision Raytracer</a> files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.haskell"></span></div>
+<div class="section" id="lexers-for-haskell-and-related-languages">
+<h2>Lexers for Haskell and related languages<a class="headerlink" href="#lexers-for-haskell-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.haskell.AgdaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">AgdaLexer</code><a class="headerlink" href="#pygments.lexers.haskell.AgdaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>agda</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.agda</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-agda</p>
+</dd>
+</dl>
+<p>For the <a class="reference external" href="http://wiki.portal.chalmers.se/agda/pmwiki.php">Agda</a>
+dependently typed functional programming language and proof assistant.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haskell.CryptolLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">CryptolLexer</code><a class="headerlink" href="#pygments.lexers.haskell.CryptolLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cryptol, cry</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cry</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-cryptol</p>
+</dd>
+</dl>
+<p>FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haskell.HaskellLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">HaskellLexer</code><a class="headerlink" href="#pygments.lexers.haskell.HaskellLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>haskell, hs</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.hs</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-haskell</p>
+</dd>
+</dl>
+<p>A Haskell lexer based on the lexemes defined in the Haskell 98 Report.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.8.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haskell.HspecLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">HspecLexer</code><a class="headerlink" href="#pygments.lexers.haskell.HspecLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>hspec</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A Haskell lexer with support for Hspec constructs.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haskell.IdrisLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">IdrisLexer</code><a class="headerlink" href="#pygments.lexers.haskell.IdrisLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>idris, idr</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.idr</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-idris</p>
+</dd>
+</dl>
+<p>A lexer for the dependently typed programming language Idris.</p>
+<p>Based on the Haskell and Agda Lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haskell.KokaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">KokaLexer</code><a class="headerlink" href="#pygments.lexers.haskell.KokaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>koka</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.kk, *.kki</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-koka</p>
+</dd>
+</dl>
+<p>Lexer for the <a class="reference external" href="http://koka.codeplex.com">Koka</a>
+language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haskell.LiterateAgdaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">LiterateAgdaLexer</code><a class="headerlink" href="#pygments.lexers.haskell.LiterateAgdaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>lagda, literate-agda</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lagda</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-literate-agda</p>
+</dd>
+</dl>
+<p>For Literate Agda source.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>litstyle</cite></dt><dd><p>If given, must be <code class="docutils literal notranslate"><span class="pre">"bird"</span></code> or <code class="docutils literal notranslate"><span class="pre">"latex"</span></code>. If not given, the style
+is autodetected: if the first non-whitespace character in the source
+is a backslash or percent character, LaTeX is assumed, else Bird.</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haskell.LiterateCryptolLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">LiterateCryptolLexer</code><a class="headerlink" href="#pygments.lexers.haskell.LiterateCryptolLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>lcry, literate-cryptol, lcryptol</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lcry</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-literate-cryptol</p>
+</dd>
+</dl>
+<p>For Literate Cryptol (Bird-style or LaTeX) source.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>litstyle</cite></dt><dd><p>If given, must be <code class="docutils literal notranslate"><span class="pre">"bird"</span></code> or <code class="docutils literal notranslate"><span class="pre">"latex"</span></code>. If not given, the style
+is autodetected: if the first non-whitespace character in the source
+is a backslash or percent character, LaTeX is assumed, else Bird.</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haskell.LiterateHaskellLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">LiterateHaskellLexer</code><a class="headerlink" href="#pygments.lexers.haskell.LiterateHaskellLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>lhs, literate-haskell, lhaskell</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lhs</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-literate-haskell</p>
+</dd>
+</dl>
+<p>For Literate Haskell (Bird-style or LaTeX) source.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>litstyle</cite></dt><dd><p>If given, must be <code class="docutils literal notranslate"><span class="pre">"bird"</span></code> or <code class="docutils literal notranslate"><span class="pre">"latex"</span></code>. If not given, the style
+is autodetected: if the first non-whitespace character in the source
+is a backslash or percent character, LaTeX is assumed, else Bird.</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haskell.LiterateIdrisLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haskell.</code><code class="sig-name descname">LiterateIdrisLexer</code><a class="headerlink" href="#pygments.lexers.haskell.LiterateIdrisLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>lidr, literate-idris, lidris</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lidr</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-literate-idris</p>
+</dd>
+</dl>
+<p>For Literate Idris (Bird-style or LaTeX) source.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>litstyle</cite></dt><dd><p>If given, must be <code class="docutils literal notranslate"><span class="pre">"bird"</span></code> or <code class="docutils literal notranslate"><span class="pre">"latex"</span></code>. If not given, the style
+is autodetected: if the first non-whitespace character in the source
+is a backslash or percent character, LaTeX is assumed, else Bird.</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.haxe"></span></div>
+<div class="section" id="lexers-for-haxe-and-related-stuff">
+<h2>Lexers for Haxe and related stuff<a class="headerlink" href="#lexers-for-haxe-and-related-stuff" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.haxe.HaxeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haxe.</code><code class="sig-name descname">HaxeLexer</code><a class="headerlink" href="#pygments.lexers.haxe.HaxeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>hx, haxe, hxsl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.hx, *.hxsl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/haxe, text/x-haxe, text/x-hx</p>
+</dd>
+</dl>
+<p>For Haxe source code (<a class="reference external" href="http://haxe.org/">http://haxe.org/</a>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.3.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.haxe.HxmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.haxe.</code><code class="sig-name descname">HxmlLexer</code><a class="headerlink" href="#pygments.lexers.haxe.HxmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>haxeml, hxml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.hxml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://haxe.org/doc/compiler">haXe build</a> files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.hdl"></span></div>
+<div class="section" id="lexers-for-hardware-descriptor-languages">
+<h2>Lexers for hardware descriptor languages<a class="headerlink" href="#lexers-for-hardware-descriptor-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.hdl.SystemVerilogLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.hdl.</code><code class="sig-name descname">SystemVerilogLexer</code><a class="headerlink" href="#pygments.lexers.hdl.SystemVerilogLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>systemverilog, sv</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sv, *.svh</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-systemverilog</p>
+</dd>
+</dl>
+<p>Extends verilog lexer to recognise all SystemVerilog keywords from IEEE
+1800-2009 standard.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.hdl.VerilogLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.hdl.</code><code class="sig-name descname">VerilogLexer</code><a class="headerlink" href="#pygments.lexers.hdl.VerilogLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>verilog, v</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.v</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-verilog</p>
+</dd>
+</dl>
+<p>For verilog source code with preprocessor directives.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.hdl.VhdlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.hdl.</code><code class="sig-name descname">VhdlLexer</code><a class="headerlink" href="#pygments.lexers.hdl.VhdlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>vhdl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.vhdl, *.vhd</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-vhdl</p>
+</dd>
+</dl>
+<p>For VHDL source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.hexdump"></span></div>
+<div class="section" id="lexers-for-hexadecimal-dumps">
+<h2>Lexers for hexadecimal dumps<a class="headerlink" href="#lexers-for-hexadecimal-dumps" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.hexdump.HexdumpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.hexdump.</code><code class="sig-name descname">HexdumpLexer</code><a class="headerlink" href="#pygments.lexers.hexdump.HexdumpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>hexdump</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For typical hex dump output formats by the UNIX and GNU/Linux tools <code class="docutils literal notranslate"><span class="pre">hexdump</span></code>,
+<code class="docutils literal notranslate"><span class="pre">hd</span></code>, <code class="docutils literal notranslate"><span class="pre">hexcat</span></code>, <code class="docutils literal notranslate"><span class="pre">od</span></code> and <code class="docutils literal notranslate"><span class="pre">xxd</span></code>, and the DOS tool <code class="docutils literal notranslate"><span class="pre">DEBUG</span></code>. For example:</p>
+<div class="highlight-hexdump notranslate"><div class="highlight"><pre><span></span><span class="nl">00000000</span> <span class="mh">7f</span> <span class="mh">45</span> <span class="mh">4c</span> <span class="mh">46</span> <span class="mh">02</span> <span class="mh">01</span> <span class="mh">01</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="p">|</span><span class="s">.ELF............</span><span class="p">|</span>
+<span class="nl">00000010</span> <span class="mh">02</span> <span class="mh">00</span> <span class="mh">3e</span> <span class="mh">00</span> <span class="mh">01</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">c5</span> <span class="mh">48</span> <span class="mh">40</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="mh">00</span> <span class="p">|</span><span class="s">..>......H@.....</span><span class="p">|</span>
+</pre></div>
+</div>
+<p>The specific supported formats are the outputs of:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">hexdump</span> <span class="pre">FILE</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">hexdump</span> <span class="pre">-C</span> <span class="pre">FILE</span></code> – the <cite>canonical</cite> format used in the example.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">hd</span> <span class="pre">FILE</span></code> – same as <code class="docutils literal notranslate"><span class="pre">hexdump</span> <span class="pre">-C</span> <span class="pre">FILE</span></code>.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">hexcat</span> <span class="pre">FILE</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">od</span> <span class="pre">-t</span> <span class="pre">x1z</span> <span class="pre">FILE</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">xxd</span> <span class="pre">FILE</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">DEBUG.EXE</span> <span class="pre">FILE.COM</span></code> and entering <code class="docutils literal notranslate"><span class="pre">d</span></code> to the prompt.</p></li>
+</ul>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.html"></span></div>
+<div class="section" id="lexers-for-html-xml-and-related-markup">
+<h2>Lexers for HTML, XML and related markup<a class="headerlink" href="#lexers-for-html-xml-and-related-markup" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.html.DtdLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.html.</code><code class="sig-name descname">DtdLexer</code><a class="headerlink" href="#pygments.lexers.html.DtdLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>dtd</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.dtd</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml-dtd</p>
+</dd>
+</dl>
+<p>A lexer for DTDs (Document Type Definitions).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.html.HamlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.html.</code><code class="sig-name descname">HamlLexer</code><a class="headerlink" href="#pygments.lexers.html.HamlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>haml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.haml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-haml</p>
+</dd>
+</dl>
+<p>For Haml markup.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.3.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.html.HtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.html.</code><code class="sig-name descname">HtmlLexer</code><a class="headerlink" href="#pygments.lexers.html.HtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.html, *.htm, *.xhtml, *.xslt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html, application/xhtml+xml</p>
+</dd>
+</dl>
+<p>For HTML 4 and XHTML 1 markup. Nested JavaScript and CSS is highlighted
+by the appropriate lexer.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.html.PugLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.html.</code><code class="sig-name descname">PugLexer</code><a class="headerlink" href="#pygments.lexers.html.PugLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pug, jade</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pug, *.jade</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-pug, text/x-jade</p>
+</dd>
+</dl>
+<p>For Pug markup.
+Pug is a variant of Scaml, see:
+<a class="reference external" href="http://scalate.fusesource.org/documentation/scaml-reference.html">http://scalate.fusesource.org/documentation/scaml-reference.html</a></p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.html.ScamlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.html.</code><code class="sig-name descname">ScamlLexer</code><a class="headerlink" href="#pygments.lexers.html.ScamlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>scaml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.scaml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-scaml</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://scalate.fusesource.org/">Scaml markup</a>. Scaml is Haml for Scala.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.html.XmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.html.</code><code class="sig-name descname">XmlLexer</code><a class="headerlink" href="#pygments.lexers.html.XmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.xml, *.xsl, *.rss, *.xslt, *.xsd, *.wsdl, *.wsf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/xml, application/xml, image/svg+xml, application/rss+xml, application/atom+xml</p>
+</dd>
+</dl>
+<p>Generic lexer for XML (eXtensible Markup Language).</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.html.XsltLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.html.</code><code class="sig-name descname">XsltLexer</code><a class="headerlink" href="#pygments.lexers.html.XsltLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xslt</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.xsl, *.xslt, *.xpl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xsl+xml, application/xslt+xml</p>
+</dd>
+</dl>
+<p>A lexer for XSLT.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.idl"></span></div>
+<div class="section" id="lexers-for-idl">
+<h2>Lexers for IDL<a class="headerlink" href="#lexers-for-idl" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.idl.IDLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.idl.</code><code class="sig-name descname">IDLLexer</code><a class="headerlink" href="#pygments.lexers.idl.IDLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>idl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pro</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/idl</p>
+</dd>
+</dl>
+<p>Pygments Lexer for IDL (Interactive Data Language).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.igor"></span></div>
+<div class="section" id="lexers-for-igor-pro">
+<h2>Lexers for Igor Pro<a class="headerlink" href="#lexers-for-igor-pro" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.igor.IgorLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.igor.</code><code class="sig-name descname">IgorLexer</code><a class="headerlink" href="#pygments.lexers.igor.IgorLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>igor, igorpro</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ipf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/ipf</p>
+</dd>
+</dl>
+<p>Pygments Lexer for Igor Pro procedure files (.ipf).
+See <a class="reference external" href="http://www.wavemetrics.com/">http://www.wavemetrics.com/</a> and <a class="reference external" href="http://www.igorexchange.com/">http://www.igorexchange.com/</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.inferno"></span></div>
+<div class="section" id="lexers-for-inferno-os-and-all-the-related-stuff">
+<h2>Lexers for Inferno os and all the related stuff<a class="headerlink" href="#lexers-for-inferno-os-and-all-the-related-stuff" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.inferno.LimboLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.inferno.</code><code class="sig-name descname">LimboLexer</code><a class="headerlink" href="#pygments.lexers.inferno.LimboLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>limbo</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.b</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/limbo</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://www.vitanuova.com/inferno/limbo.html">Limbo programming language</a></p>
+<dl class="simple">
+<dt>TODO:</dt><dd><ul class="simple">
+<li><p>maybe implement better var declaration highlighting</p></li>
+<li><p>some simple syntax error highlighting</p></li>
+</ul>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.installers"></span></div>
+<div class="section" id="lexers-for-installer-packager-dsls-and-formats">
+<h2>Lexers for installer/packager DSLs and formats<a class="headerlink" href="#lexers-for-installer-packager-dsls-and-formats" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.installers.DebianControlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.installers.</code><code class="sig-name descname">DebianControlLexer</code><a class="headerlink" href="#pygments.lexers.installers.DebianControlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>control, debcontrol</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>control</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for Debian <code class="docutils literal notranslate"><span class="pre">control</span></code> files and <code class="docutils literal notranslate"><span class="pre">apt-cache</span> <span class="pre">show</span> <span class="pre"><pkg></span></code> outputs.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.installers.NSISLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.installers.</code><code class="sig-name descname">NSISLexer</code><a class="headerlink" href="#pygments.lexers.installers.NSISLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>nsis, nsi, nsh</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.nsi, *.nsh</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-nsis</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://nsis.sourceforge.net/">NSIS</a> scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.installers.RPMSpecLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.installers.</code><code class="sig-name descname">RPMSpecLexer</code><a class="headerlink" href="#pygments.lexers.installers.RPMSpecLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>spec</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.spec</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-rpm-spec</p>
+</dd>
+</dl>
+<p>For RPM <code class="docutils literal notranslate"><span class="pre">.spec</span></code> files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.installers.SourcesListLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.installers.</code><code class="sig-name descname">SourcesListLexer</code><a class="headerlink" href="#pygments.lexers.installers.SourcesListLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sourceslist, sources.list, debsources</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>sources.list</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer that highlights debian sources.list files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.int_fiction"></span></div>
+<div class="section" id="lexers-for-interactive-fiction-languages">
+<h2>Lexers for interactive fiction languages<a class="headerlink" href="#lexers-for-interactive-fiction-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.int_fiction.Inform6Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.int_fiction.</code><code class="sig-name descname">Inform6Lexer</code><a class="headerlink" href="#pygments.lexers.int_fiction.Inform6Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>inform6, i6</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.inf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://inform-fiction.org/">Inform 6</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.int_fiction.Inform6TemplateLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.int_fiction.</code><code class="sig-name descname">Inform6TemplateLexer</code><a class="headerlink" href="#pygments.lexers.int_fiction.Inform6TemplateLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>i6t</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.i6t</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://inform7.com/sources/src/i6template/Woven/index.html">Inform 6 template</a> code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.int_fiction.Inform7Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.int_fiction.</code><code class="sig-name descname">Inform7Lexer</code><a class="headerlink" href="#pygments.lexers.int_fiction.Inform7Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>inform7, i7</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ni, *.i7x</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://inform7.com/">Inform 7</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.int_fiction.Tads3Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.int_fiction.</code><code class="sig-name descname">Tads3Lexer</code><a class="headerlink" href="#pygments.lexers.int_fiction.Tads3Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>tads3</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.t</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.tads.org/">TADS 3</a> source code.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.iolang"></span></div>
+<div class="section" id="lexers-for-the-io-language">
+<h2>Lexers for the Io language<a class="headerlink" href="#lexers-for-the-io-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.iolang.IoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.iolang.</code><code class="sig-name descname">IoLexer</code><a class="headerlink" href="#pygments.lexers.iolang.IoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>io</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.io</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-iosrc</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://iolanguage.com/">Io</a> (a small, prototype-based
+programming language) source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.j"></span></div>
+<div class="section" id="lexer-for-the-j-programming-language">
+<h2>Lexer for the J programming language<a class="headerlink" href="#lexer-for-the-j-programming-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.j.JLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.j.</code><code class="sig-name descname">JLexer</code><a class="headerlink" href="#pygments.lexers.j.JLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>j</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ijs</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-j</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://jsoftware.com/">J</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.javascript"></span></div>
+<div class="section" id="lexers-for-javascript-and-related-languages">
+<h2>Lexers for JavaScript and related languages<a class="headerlink" href="#lexers-for-javascript-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.javascript.CoffeeScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">CoffeeScriptLexer</code><a class="headerlink" href="#pygments.lexers.javascript.CoffeeScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>coffee-script, coffeescript, coffee</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.coffee</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/coffeescript</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://coffeescript.org">CoffeeScript</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.3.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.DartLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">DartLexer</code><a class="headerlink" href="#pygments.lexers.javascript.DartLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>dart</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.dart</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-dart</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://dartlang.org/">Dart</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.EarlGreyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">EarlGreyLexer</code><a class="headerlink" href="#pygments.lexers.javascript.EarlGreyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>earl-grey, earlgrey, eg</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.eg</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-earl-grey</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://breuleux.github.io/earl-grey/">Earl-Grey</a> source code.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.JavascriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">JavascriptLexer</code><a class="headerlink" href="#pygments.lexers.javascript.JavascriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js, javascript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.js, *.jsm</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/javascript, application/x-javascript, text/x-javascript, text/javascript</p>
+</dd>
+</dl>
+<p>For JavaScript source code.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.JuttleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">JuttleLexer</code><a class="headerlink" href="#pygments.lexers.javascript.JuttleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>juttle, juttle</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.juttle</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/juttle, application/x-juttle, text/x-juttle, text/juttle</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://github.com/juttle/juttle">Juttle</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.KalLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">KalLexer</code><a class="headerlink" href="#pygments.lexers.javascript.KalLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>kal</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.kal</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/kal, application/kal</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://rzimmerman.github.io/kal">Kal</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.LassoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">LassoLexer</code><a class="headerlink" href="#pygments.lexers.javascript.LassoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>lasso, lassoscript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lasso, *.lasso[89]</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-lasso</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.lassosoft.com/">Lasso</a> source code, covering both Lasso 9
+syntax and LassoScript for Lasso 8.6 and earlier. For Lasso embedded in
+HTML, use the <cite>LassoHtmlLexer</cite>.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>builtinshighlighting</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code>, highlight builtin types, traits, methods, and
+members (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
+</dd>
+<dt><cite>requiredelimiters</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code>, only highlight code between delimiters as Lasso
+(default: <code class="docutils literal notranslate"><span class="pre">False</span></code>).</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.LiveScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">LiveScriptLexer</code><a class="headerlink" href="#pygments.lexers.javascript.LiveScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>live-script, livescript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ls</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/livescript</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://gkz.github.com/LiveScript/">LiveScript</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.MaskLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">MaskLexer</code><a class="headerlink" href="#pygments.lexers.javascript.MaskLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mask</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.mask</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-mask</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://github.com/atmajs/MaskJS">Mask</a> markup.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.ObjectiveJLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">ObjectiveJLexer</code><a class="headerlink" href="#pygments.lexers.javascript.ObjectiveJLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>objective-j, objectivej, obj-j, objj</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.j</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-objective-j</p>
+</dd>
+</dl>
+<p>For Objective-J source code with preprocessor directives.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.3.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.javascript.TypeScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.javascript.</code><code class="sig-name descname">TypeScriptLexer</code><a class="headerlink" href="#pygments.lexers.javascript.TypeScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ts, typescript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ts, *.tsx</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-typescript</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://typescriptlang.org/">TypeScript</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.julia"></span></div>
+<div class="section" id="lexers-for-the-julia-language">
+<h2>Lexers for the Julia language<a class="headerlink" href="#lexers-for-the-julia-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.julia.JuliaConsoleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.julia.</code><code class="sig-name descname">JuliaConsoleLexer</code><a class="headerlink" href="#pygments.lexers.julia.JuliaConsoleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>jlcon</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For Julia console sessions. Modeled after MatlabSessionLexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.julia.JuliaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.julia.</code><code class="sig-name descname">JuliaLexer</code><a class="headerlink" href="#pygments.lexers.julia.JuliaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>julia, jl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.jl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-julia, application/x-julia</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://julialang.org/">Julia</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.jvm"></span></div>
+<div class="section" id="pygments-lexers-for-jvm-languages">
+<h2>Pygments lexers for JVM languages<a class="headerlink" href="#pygments-lexers-for-jvm-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.jvm.AspectJLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">AspectJLexer</code><a class="headerlink" href="#pygments.lexers.jvm.AspectJLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>aspectj</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.aj</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-aspectj</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.eclipse.org/aspectj/">AspectJ</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.CeylonLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">CeylonLexer</code><a class="headerlink" href="#pygments.lexers.jvm.CeylonLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ceylon</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ceylon</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ceylon</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://ceylon-lang.org/">Ceylon</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.ClojureLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">ClojureLexer</code><a class="headerlink" href="#pygments.lexers.jvm.ClojureLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>clojure, clj</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.clj</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-clojure, application/x-clojure</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://clojure.org/">Clojure</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.ClojureScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">ClojureScriptLexer</code><a class="headerlink" href="#pygments.lexers.jvm.ClojureScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>clojurescript, cljs</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cljs</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-clojurescript, application/x-clojurescript</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://clojure.org/clojurescript">ClojureScript</a>
+source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.GoloLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">GoloLexer</code><a class="headerlink" href="#pygments.lexers.jvm.GoloLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>golo</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.golo</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://golo-lang.org/">Golo</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.GosuLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">GosuLexer</code><a class="headerlink" href="#pygments.lexers.jvm.GosuLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>gosu</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.gs, *.gsx, *.gsp, *.vark</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-gosu</p>
+</dd>
+</dl>
+<p>For Gosu source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.GosuTemplateLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">GosuTemplateLexer</code><a class="headerlink" href="#pygments.lexers.jvm.GosuTemplateLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>gst</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.gst</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-gosu-template</p>
+</dd>
+</dl>
+<p>For Gosu templates.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.GroovyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">GroovyLexer</code><a class="headerlink" href="#pygments.lexers.jvm.GroovyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>groovy</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.groovy, *.gradle</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-groovy</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://groovy.codehaus.org/">Groovy</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.IokeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">IokeLexer</code><a class="headerlink" href="#pygments.lexers.jvm.IokeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ioke, ik</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ik</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-iokesrc</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://ioke.org/">Ioke</a> (a strongly typed, dynamic,
+prototype based programming language) source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.JasminLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">JasminLexer</code><a class="headerlink" href="#pygments.lexers.jvm.JasminLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>jasmin, jasminxt</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.j</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://jasmin.sourceforge.net/">Jasmin</a> assembly code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.JavaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">JavaLexer</code><a class="headerlink" href="#pygments.lexers.jvm.JavaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>java</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.java</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-java</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://www.oracle.com/technetwork/java/">Java</a> source code.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.KotlinLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">KotlinLexer</code><a class="headerlink" href="#pygments.lexers.jvm.KotlinLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>kotlin</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.kt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-kotlin</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://kotlinlang.org/">Kotlin</a>
+source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.PigLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">PigLexer</code><a class="headerlink" href="#pygments.lexers.jvm.PigLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pig</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pig</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-pig</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://pig.apache.org/">Pig Latin</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.SarlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">SarlLexer</code><a class="headerlink" href="#pygments.lexers.jvm.SarlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sarl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sarl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-sarl</p>
+</dd>
+</dl>
+</dd></dl>
+
+<p> For <a class="reference external" href="http://www.sarl.io">SARL</a> source code.</p>
+<p>
+ .. versionadded:: 2.4</p>
+<p></p>
+<dl class="class">
+<dt id="pygments.lexers.jvm.ScalaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">ScalaLexer</code><a class="headerlink" href="#pygments.lexers.jvm.ScalaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>scala</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.scala</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-scala</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.scala-lang.org">Scala</a> source code.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.jvm.XtendLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.jvm.</code><code class="sig-name descname">XtendLexer</code><a class="headerlink" href="#pygments.lexers.jvm.XtendLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xtend</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.xtend</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-xtend</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://xtend-lang.org/">Xtend</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.lisp"></span></div>
+<div class="section" id="lexers-for-lispy-languages">
+<h2>Lexers for Lispy languages<a class="headerlink" href="#lexers-for-lispy-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.lisp.CPSALexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">CPSALexer</code><a class="headerlink" href="#pygments.lexers.lisp.CPSALexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cpsa</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cpsa</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A CPSA lexer based on the CPSA language as of version 2.2.12</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.lisp.CommonLispLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">CommonLispLexer</code><a class="headerlink" href="#pygments.lexers.lisp.CommonLispLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>common-lisp, cl, lisp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cl, *.lisp</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-common-lisp</p>
+</dd>
+</dl>
+<p>A Common Lisp lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.lisp.EmacsLispLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">EmacsLispLexer</code><a class="headerlink" href="#pygments.lexers.lisp.EmacsLispLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>emacs, elisp, emacs-lisp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.el</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-elisp, application/x-elisp</p>
+</dd>
+</dl>
+<p>An ELisp lexer, parsing a stream and outputting the tokens
+needed to highlight elisp code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.lisp.FennelLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">FennelLexer</code><a class="headerlink" href="#pygments.lexers.lisp.FennelLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>fennel, fnl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.fnl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for the <a class="reference external" href="https://fennel-lang.org">Fennel programming language</a>.</p>
+<p>Fennel compiles to Lua, so all the Lua builtins are recognized as well
+as the special forms that are particular to the Fennel compiler.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.3.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.lisp.HyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">HyLexer</code><a class="headerlink" href="#pygments.lexers.lisp.HyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>hylang</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.hy</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-hy, application/x-hy</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://hylang.org/">Hy</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.lisp.NewLispLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">NewLispLexer</code><a class="headerlink" href="#pygments.lexers.lisp.NewLispLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>newlisp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lsp, *.nl, *.kif</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-newlisp, application/x-newlisp</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.newlisp.org/">newLISP.</a> source code (version 10.3.0).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.lisp.RacketLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">RacketLexer</code><a class="headerlink" href="#pygments.lexers.lisp.RacketLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>racket, rkt</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rkt, *.rktd, *.rktl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-racket, application/x-racket</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://racket-lang.org/">Racket</a> source code (formerly
+known as PLT Scheme).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.lisp.SchemeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">SchemeLexer</code><a class="headerlink" href="#pygments.lexers.lisp.SchemeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>scheme, scm</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.scm, *.ss</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-scheme, application/x-scheme</p>
+</dd>
+</dl>
+<p>A Scheme lexer, parsing a stream and outputting the tokens
+needed to highlight scheme code.
+This lexer could be most probably easily subclassed to parse
+other LISP-Dialects like Common Lisp, Emacs Lisp or AutoLisp.</p>
+<p>This parser is checked with pastes from the LISP pastebin
+at <a class="reference external" href="http://paste.lisp.org/">http://paste.lisp.org/</a> to cover as much syntax as possible.</p>
+<p>It supports the full Scheme syntax as defined in R5RS.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.lisp.ShenLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">ShenLexer</code><a class="headerlink" href="#pygments.lexers.lisp.ShenLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>shen</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.shen</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-shen, application/x-shen</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://shenlanguage.org/">Shen</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.lisp.XtlangLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.lisp.</code><code class="sig-name descname">XtlangLexer</code><a class="headerlink" href="#pygments.lexers.lisp.XtlangLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>extempore</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.xtm</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>An xtlang lexer for the <a class="reference external" href="http://extempore.moso.com.au">Extempore programming environment</a>.</p>
+<p>This is a mixture of Scheme and xtlang, really. Keyword lists are
+taken from the Extempore Emacs mode
+(<a class="reference external" href="https://github.com/extemporelang/extempore-emacs-mode">https://github.com/extemporelang/extempore-emacs-mode</a>)</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.make"></span></div>
+<div class="section" id="lexers-for-makefiles-and-similar">
+<h2>Lexers for Makefiles and similar<a class="headerlink" href="#lexers-for-makefiles-and-similar" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.make.BaseMakefileLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.make.</code><code class="sig-name descname">BaseMakefileLexer</code><a class="headerlink" href="#pygments.lexers.make.BaseMakefileLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>basemake</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for simple Makefiles (no preprocessing).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.make.CMakeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.make.</code><code class="sig-name descname">CMakeLexer</code><a class="headerlink" href="#pygments.lexers.make.CMakeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cmake</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cmake, CMakeLists.txt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-cmake</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://cmake.org/Wiki/CMake">CMake</a> files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.make.MakefileLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.make.</code><code class="sig-name descname">MakefileLexer</code><a class="headerlink" href="#pygments.lexers.make.MakefileLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>make, makefile, mf, bsdmake</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.mak, *.mk, Makefile, makefile, Makefile.*, GNUmakefile</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-makefile</p>
+</dd>
+</dl>
+<p>Lexer for BSD and GNU make extensions (lenient enough to handle both in
+the same file even).</p>
+<p><em>Rewritten in Pygments 0.10.</em></p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.markup"></span></div>
+<div class="section" id="lexers-for-non-html-markup-languages">
+<h2>Lexers for non-HTML markup languages<a class="headerlink" href="#lexers-for-non-html-markup-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.markup.BBCodeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">BBCodeLexer</code><a class="headerlink" href="#pygments.lexers.markup.BBCodeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bbcode</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-bbcode</p>
+</dd>
+</dl>
+<p>A lexer that highlights BBCode(-like) syntax.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.GroffLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">GroffLexer</code><a class="headerlink" href="#pygments.lexers.markup.GroffLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>groff, nroff, man</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.[1234567], *.man</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-troff, text/troff</p>
+</dd>
+</dl>
+<p>Lexer for the (g)roff typesetting language, supporting groff
+extensions. Mainly useful for highlighting manpage sources.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.MarkdownLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">MarkdownLexer</code><a class="headerlink" href="#pygments.lexers.markup.MarkdownLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>md</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.md</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-markdown</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://help.github.com/categories/writing-on-github/">Markdown</a> markup.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.MoinWikiLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">MoinWikiLexer</code><a class="headerlink" href="#pygments.lexers.markup.MoinWikiLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>trac-wiki, moin</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-trac-wiki</p>
+</dd>
+</dl>
+<p>For MoinMoin (and Trac) Wiki markup.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.MozPreprocCssLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">MozPreprocCssLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocCssLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css+mozpreproc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.css.in</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MozPreprocHashLexer</cite> that highlights unlexed data with the
+<cite>CssLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.MozPreprocHashLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">MozPreprocHashLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocHashLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mozhashpreproc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for Mozilla Preprocessor files (with ‘#’ as the marker).</p>
+<p>Other data is left untouched.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.MozPreprocJavascriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">MozPreprocJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocJavascriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>javascript+mozpreproc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.js.in</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MozPreprocHashLexer</cite> that highlights unlexed data with the
+<cite>JavascriptLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.MozPreprocPercentLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">MozPreprocPercentLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocPercentLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mozpercentpreproc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for Mozilla Preprocessor files (with ‘%’ as the marker).</p>
+<p>Other data is left untouched.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.MozPreprocXulLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">MozPreprocXulLexer</code><a class="headerlink" href="#pygments.lexers.markup.MozPreprocXulLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xul+mozpreproc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.xul.in</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MozPreprocHashLexer</cite> that highlights unlexed data with the
+<cite>XmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.RstLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">RstLexer</code><a class="headerlink" href="#pygments.lexers.markup.RstLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rst, rest, restructuredtext</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rst, *.rest</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-rst, text/prs.fallenstein.rst</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://docutils.sf.net/rst.html">reStructuredText</a> markup.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+<p>Additional options accepted:</p>
+<dl>
+<dt><cite>handlecodeblocks</cite></dt><dd><p>Highlight the contents of <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">sourcecode::</span> <span class="pre">language</span></code>,
+<code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">code::</span> <span class="pre">language</span></code> and <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">code-block::</span> <span class="pre">language</span></code>
+directives with a lexer for the given language (default:
+<code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.8.</span></p>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.markup.TexLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.markup.</code><code class="sig-name descname">TexLexer</code><a class="headerlink" href="#pygments.lexers.markup.TexLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>tex, latex</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.tex, *.aux, *.toc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-tex, text/x-latex</p>
+</dd>
+</dl>
+<p>Lexer for the TeX and LaTeX typesetting languages.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.matlab"></span></div>
+<div class="section" id="lexers-for-matlab-and-related-languages">
+<h2>Lexers for Matlab and related languages<a class="headerlink" href="#lexers-for-matlab-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.matlab.MatlabLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.matlab.</code><code class="sig-name descname">MatlabLexer</code><a class="headerlink" href="#pygments.lexers.matlab.MatlabLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>matlab</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.m</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/matlab</p>
+</dd>
+</dl>
+<p>For Matlab source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.matlab.MatlabSessionLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.matlab.</code><code class="sig-name descname">MatlabSessionLexer</code><a class="headerlink" href="#pygments.lexers.matlab.MatlabSessionLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>matlabsession</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For Matlab sessions. Modeled after PythonConsoleLexer.
+Contributed by Ken Schutte <<a class="reference external" href="mailto:kschutte%40csail.mit.edu">kschutte<span>@</span>csail<span>.</span>mit<span>.</span>edu</a>>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.matlab.OctaveLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.matlab.</code><code class="sig-name descname">OctaveLexer</code><a class="headerlink" href="#pygments.lexers.matlab.OctaveLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>octave</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.m</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/octave</p>
+</dd>
+</dl>
+<p>For GNU Octave source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.matlab.ScilabLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.matlab.</code><code class="sig-name descname">ScilabLexer</code><a class="headerlink" href="#pygments.lexers.matlab.ScilabLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>scilab</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sci, *.sce, *.tst</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/scilab</p>
+</dd>
+</dl>
+<p>For Scilab source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.mime"></span></div>
+<div class="section" id="lexer-for-multipurpose-internet-mail-extensions-mime-data">
+<h2>Lexer for Multipurpose Internet Mail Extensions (MIME) data<a class="headerlink" href="#lexer-for-multipurpose-internet-mail-extensions-mime-data" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.mime.MIMELexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.mime.</code><code class="sig-name descname">MIMELexer</code><a class="headerlink" href="#pygments.lexers.mime.MIMELexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mime</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>multipart/mixed, multipart/related, multipart/alternative</p>
+</dd>
+</dl>
+<p>Lexer for Multipurpose Internet Mail Extensions (MIME) data. This lexer is
+designed to process the nested mulitpart data.</p>
+<p>It assumes that the given data contains both header and body (and is
+splitted by empty line). If no valid header is found, then the entire data
+would be treated as body.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>MIME-max-level</cite></dt><dd><p>Max recurssion level for nested MIME structure. Any negative number
+would treated as unlimited. (default: -1)</p>
+</dd>
+<dt><cite>Content-Type</cite></dt><dd><p>Treat the data as specific content type. Useful when header is
+missing, or this lexer would try to parse from header. (default:
+<cite>text/plain</cite>)</p>
+</dd>
+<dt><cite>Multipart-Boundary</cite></dt><dd><p>Set the default multipart boundary delimiter. This option is only used
+when <cite>Content-Type</cite> is <cite>multipart</cite> and header is missing. This lexer
+would try to parse from header by default. (default: None)</p>
+</dd>
+<dt><cite>Content-Transfer-Encoding</cite></dt><dd><p>Treat the data as specific encoding. Or this lexer would try to parse
+from header by default. (default: None)</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.ml"></span></div>
+<div class="section" id="lexers-for-ml-family-languages">
+<h2>Lexers for ML family languages<a class="headerlink" href="#lexers-for-ml-family-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.ml.OcamlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ml.</code><code class="sig-name descname">OcamlLexer</code><a class="headerlink" href="#pygments.lexers.ml.OcamlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ocaml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ml, *.mli, *.mll, *.mly</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ocaml</p>
+</dd>
+</dl>
+<p>For the OCaml language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.ml.OpaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ml.</code><code class="sig-name descname">OpaLexer</code><a class="headerlink" href="#pygments.lexers.ml.OpaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>opa</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.opa</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-opa</p>
+</dd>
+</dl>
+<p>Lexer for the Opa language (<a class="reference external" href="http://opalang.org">http://opalang.org</a>).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.ml.SMLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ml.</code><code class="sig-name descname">SMLLexer</code><a class="headerlink" href="#pygments.lexers.ml.SMLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sml</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sml, *.sig, *.fun</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-standardml, application/x-standardml</p>
+</dd>
+</dl>
+<p>For the Standard ML language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.modeling"></span></div>
+<div class="section" id="lexers-for-modeling-languages">
+<h2>Lexers for modeling languages<a class="headerlink" href="#lexers-for-modeling-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.modeling.BugsLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.modeling.</code><code class="sig-name descname">BugsLexer</code><a class="headerlink" href="#pygments.lexers.modeling.BugsLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bugs, winbugs, openbugs</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bug</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Pygments Lexer for <a class="reference external" href="http://www.openbugs.net/">OpenBugs</a> and WinBugs
+models.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.modeling.JagsLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.modeling.</code><code class="sig-name descname">JagsLexer</code><a class="headerlink" href="#pygments.lexers.modeling.JagsLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>jags</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.jag, *.bug</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Pygments Lexer for JAGS.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.modeling.ModelicaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.modeling.</code><code class="sig-name descname">ModelicaLexer</code><a class="headerlink" href="#pygments.lexers.modeling.ModelicaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>modelica</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.mo</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-modelica</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.modelica.org/">Modelica</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.modeling.StanLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.modeling.</code><code class="sig-name descname">StanLexer</code><a class="headerlink" href="#pygments.lexers.modeling.StanLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>stan</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.stan</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Pygments Lexer for Stan models.</p>
+<p>The Stan modeling language is specified in the <em>Stan Modeling Language
+User’s Guide and Reference Manual, v2.17.0</em>,
+<a class="reference external" href="https://github.com/stan-dev/stan/releases/download/v2.17.0/stan-reference-2.17.0.pdf">pdf</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.modula2"></span></div>
+<div class="section" id="multi-dialect-lexer-for-modula-2">
+<h2>Multi-Dialect Lexer for Modula-2<a class="headerlink" href="#multi-dialect-lexer-for-modula-2" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.modula2.Modula2Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.modula2.</code><code class="sig-name descname">Modula2Lexer</code><a class="headerlink" href="#pygments.lexers.modula2.Modula2Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>modula2, m2</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.def, *.mod</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-modula2</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.modula2.org/">Modula-2</a> source code.</p>
+<p>The Modula-2 lexer supports several dialects. By default, it operates in
+fallback mode, recognising the <em>combined</em> literals, punctuation symbols
+and operators of all supported dialects, and the <em>combined</em> reserved words
+and builtins of PIM Modula-2, ISO Modula-2 and Modula-2 R10, while not
+differentiating between library defined identifiers.</p>
+<p>To select a specific dialect, a dialect option may be passed
+or a dialect tag may be embedded into a source file.</p>
+<p>Dialect Options:</p>
+<dl class="simple">
+<dt><cite>m2pim</cite></dt><dd><p>Select PIM Modula-2 dialect.</p>
+</dd>
+<dt><cite>m2iso</cite></dt><dd><p>Select ISO Modula-2 dialect.</p>
+</dd>
+<dt><cite>m2r10</cite></dt><dd><p>Select Modula-2 R10 dialect.</p>
+</dd>
+<dt><cite>objm2</cite></dt><dd><p>Select Objective Modula-2 dialect.</p>
+</dd>
+</dl>
+<p>The PIM and ISO dialect options may be qualified with a language extension.</p>
+<p>Language Extensions:</p>
+<dl class="simple">
+<dt><cite>+aglet</cite></dt><dd><p>Select Aglet Modula-2 extensions, available with m2iso.</p>
+</dd>
+<dt><cite>+gm2</cite></dt><dd><p>Select GNU Modula-2 extensions, available with m2pim.</p>
+</dd>
+<dt><cite>+p1</cite></dt><dd><p>Select p1 Modula-2 extensions, available with m2iso.</p>
+</dd>
+<dt><cite>+xds</cite></dt><dd><p>Select XDS Modula-2 extensions, available with m2iso.</p>
+</dd>
+</dl>
+<p>Passing a Dialect Option via Unix Commandline Interface</p>
+<p>Dialect options may be passed to the lexer using the <cite>dialect</cite> key.
+Only one such option should be passed. If multiple dialect options are
+passed, the first valid option is used, any subsequent options are ignored.</p>
+<p>Examples:</p>
+<dl class="simple">
+<dt><cite>$ pygmentize -O full,dialect=m2iso -f html -o /path/to/output /path/to/input</cite></dt><dd><p>Use ISO dialect to render input to HTML output</p>
+</dd>
+<dt><cite>$ pygmentize -O full,dialect=m2iso+p1 -f rtf -o /path/to/output /path/to/input</cite></dt><dd><p>Use ISO dialect with p1 extensions to render input to RTF output</p>
+</dd>
+</dl>
+<p>Embedding a Dialect Option within a source file</p>
+<p>A dialect option may be embedded in a source file in form of a dialect
+tag, a specially formatted comment that specifies a dialect option.</p>
+<p>Dialect Tag EBNF:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">dialectTag</span> <span class="p">:</span>
+ <span class="n">OpeningCommentDelim</span> <span class="n">Prefix</span> <span class="n">dialectOption</span> <span class="n">ClosingCommentDelim</span> <span class="p">;</span>
+
+<span class="n">dialectOption</span> <span class="p">:</span>
+ <span class="s1">'m2pim'</span> <span class="o">|</span> <span class="s1">'m2iso'</span> <span class="o">|</span> <span class="s1">'m2r10'</span> <span class="o">|</span> <span class="s1">'objm2'</span> <span class="o">|</span>
+ <span class="s1">'m2iso+aglet'</span> <span class="o">|</span> <span class="s1">'m2pim+gm2'</span> <span class="o">|</span> <span class="s1">'m2iso+p1'</span> <span class="o">|</span> <span class="s1">'m2iso+xds'</span> <span class="p">;</span>
+
+<span class="n">Prefix</span> <span class="p">:</span> <span class="s1">'!'</span> <span class="p">;</span>
+
+<span class="n">OpeningCommentDelim</span> <span class="p">:</span> <span class="s1">'(*'</span> <span class="p">;</span>
+
+<span class="n">ClosingCommentDelim</span> <span class="p">:</span> <span class="s1">'*)'</span> <span class="p">;</span>
+</pre></div>
+</div>
+<p>No whitespace is permitted between the tokens of a dialect tag.</p>
+<p>In the event that a source file contains multiple dialect tags, the first
+tag that contains a valid dialect option will be used and any subsequent
+dialect tags will be ignored. Ideally, a dialect tag should be placed
+at the beginning of a source file.</p>
+<p>An embedded dialect tag overrides a dialect option set via command line.</p>
+<p>Examples:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">(*!m2r10*)</span> <span class="pre">DEFINITION</span> <span class="pre">MODULE</span> <span class="pre">Foobar;</span> <span class="pre">...</span></code></dt><dd><p>Use Modula2 R10 dialect to render this source file.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">(*!m2pim+gm2*)</span> <span class="pre">DEFINITION</span> <span class="pre">MODULE</span> <span class="pre">Bazbam;</span> <span class="pre">...</span></code></dt><dd><p>Use PIM dialect with GNU extensions to render this source file.</p>
+</dd>
+</dl>
+<p>Algol Publication Mode:</p>
+<p>In Algol publication mode, source text is rendered for publication of
+algorithms in scientific papers and academic texts, following the format
+of the Revised Algol-60 Language Report. It is activated by passing
+one of two corresponding styles as an option:</p>
+<dl class="simple">
+<dt><cite>algol</cite></dt><dd><p>render reserved words lowercase underline boldface
+and builtins lowercase boldface italic</p>
+</dd>
+<dt><cite>algol_nu</cite></dt><dd><p>render reserved words lowercase boldface (no underlining)
+and builtins lowercase boldface italic</p>
+</dd>
+</dl>
+<p>The lexer automatically performs the required lowercase conversion when
+this mode is activated.</p>
+<p>Example:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">pygmentize</span> <span class="pre">-O</span> <span class="pre">full,style=algol</span> <span class="pre">-f</span> <span class="pre">latex</span> <span class="pre">-o</span> <span class="pre">/path/to/output</span> <span class="pre">/path/to/input</span></code></dt><dd><p>Render input file in Algol publication mode to LaTeX output.</p>
+</dd>
+</dl>
+<p>Rendering Mode of First Class ADT Identifiers:</p>
+<p>The rendering of standard library first class ADT identifiers is controlled
+by option flag “treat_stdlib_adts_as_builtins”.</p>
+<p>When this option is turned on, standard library ADT identifiers are rendered
+as builtins. When it is turned off, they are rendered as ordinary library
+identifiers.</p>
+<p><cite>treat_stdlib_adts_as_builtins</cite> (default: On)</p>
+<p>The option is useful for dialects that support ADTs as first class objects
+and provide ADTs in the standard library that would otherwise be built-in.</p>
+<p>At present, only Modula-2 R10 supports library ADTs as first class objects
+and therefore, no ADT identifiers are defined for any other dialects.</p>
+<p>Example:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">pygmentize</span> <span class="pre">-O</span> <span class="pre">full,dialect=m2r10,treat_stdlib_adts_as_builtins=Off</span> <span class="pre">...</span></code></dt><dd><p>Render standard library ADTs as ordinary library types.</p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.3.</span></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 2.1: </span>Added multi-dialect support.</p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.monte"></span></div>
+<div class="section" id="lexer-for-the-monte-programming-language">
+<h2>Lexer for the Monte programming language<a class="headerlink" href="#lexer-for-the-monte-programming-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.monte.MonteLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.monte.</code><code class="sig-name descname">MonteLexer</code><a class="headerlink" href="#pygments.lexers.monte.MonteLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>monte</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.mt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for the <a class="reference external" href="https://monte.readthedocs.io/">Monte</a> programming language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.ncl"></span></div>
+<div class="section" id="lexers-for-ncar-command-language">
+<h2>Lexers for NCAR Command Language<a class="headerlink" href="#lexers-for-ncar-command-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.ncl.NCLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ncl.</code><code class="sig-name descname">NCLLexer</code><a class="headerlink" href="#pygments.lexers.ncl.NCLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ncl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ncl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/ncl</p>
+</dd>
+</dl>
+<p>Lexer for NCL code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.nimrod"></span></div>
+<div class="section" id="lexer-for-the-nim-language-formerly-known-as-nimrod">
+<h2>Lexer for the Nim language (formerly known as Nimrod)<a class="headerlink" href="#lexer-for-the-nim-language-formerly-known-as-nimrod" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.nimrod.NimrodLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.nimrod.</code><code class="sig-name descname">NimrodLexer</code><a class="headerlink" href="#pygments.lexers.nimrod.NimrodLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>nim, nimrod</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.nim, *.nimrod</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-nim</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://nim-lang.org/">Nim</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.nit"></span></div>
+<div class="section" id="lexer-for-the-nit-language">
+<h2>Lexer for the Nit language<a class="headerlink" href="#lexer-for-the-nit-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.nit.NitLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.nit.</code><code class="sig-name descname">NitLexer</code><a class="headerlink" href="#pygments.lexers.nit.NitLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>nit</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.nit</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://nitlanguage.org">nit</a> source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.nix"></span></div>
+<div class="section" id="lexers-for-the-nixos-nix-language">
+<h2>Lexers for the NixOS Nix language<a class="headerlink" href="#lexers-for-the-nixos-nix-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.nix.NixLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.nix.</code><code class="sig-name descname">NixLexer</code><a class="headerlink" href="#pygments.lexers.nix.NixLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>nixos, nix</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.nix</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-nix</p>
+</dd>
+</dl>
+<p>For the <a class="reference external" href="http://nixos.org/nix/">Nix language</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.oberon"></span></div>
+<div class="section" id="lexers-for-oberon-family-languages">
+<h2>Lexers for Oberon family languages<a class="headerlink" href="#lexers-for-oberon-family-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.oberon.ComponentPascalLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.oberon.</code><code class="sig-name descname">ComponentPascalLexer</code><a class="headerlink" href="#pygments.lexers.oberon.ComponentPascalLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>componentpascal, cp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cp, *.cps</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-component-pascal</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.oberon.ch/pdf/CP-Lang.pdf">Component Pascal</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.objective"></span></div>
+<div class="section" id="lexers-for-objective-c-family-languages">
+<h2>Lexers for Objective-C family languages<a class="headerlink" href="#lexers-for-objective-c-family-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.objective.LogosLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.objective.</code><code class="sig-name descname">LogosLexer</code><a class="headerlink" href="#pygments.lexers.objective.LogosLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>logos</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.x, *.xi, *.xm, *.xmi</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-logos</p>
+</dd>
+</dl>
+<p>For Logos + Objective-C source code with preprocessor directives.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.objective.ObjectiveCLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.objective.</code><code class="sig-name descname">ObjectiveCLexer</code><a class="headerlink" href="#pygments.lexers.objective.ObjectiveCLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>objective-c, objectivec, obj-c, objc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.m, *.h</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-objective-c</p>
+</dd>
+</dl>
+<p>For Objective-C source code with preprocessor directives.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.objective.ObjectiveCppLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.objective.</code><code class="sig-name descname">ObjectiveCppLexer</code><a class="headerlink" href="#pygments.lexers.objective.ObjectiveCppLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>objective-c++, objectivec++, obj-c++, objc++</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.mm, *.hh</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-objective-c++</p>
+</dd>
+</dl>
+<p>For Objective-C++ source code with preprocessor directives.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.objective.SwiftLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.objective.</code><code class="sig-name descname">SwiftLexer</code><a class="headerlink" href="#pygments.lexers.objective.SwiftLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>swift</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.swift</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-swift</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://developer.apple.com/swift/">Swift</a> source.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.ooc"></span></div>
+<div class="section" id="lexers-for-the-ooc-language">
+<h2>Lexers for the Ooc language<a class="headerlink" href="#lexers-for-the-ooc-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.ooc.OocLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ooc.</code><code class="sig-name descname">OocLexer</code><a class="headerlink" href="#pygments.lexers.ooc.OocLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ooc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ooc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ooc</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://ooc-lang.org/">Ooc</a> source code</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.parasail"></span></div>
+<div class="section" id="lexer-for-parasail">
+<h2>Lexer for ParaSail<a class="headerlink" href="#lexer-for-parasail" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.parasail.ParaSailLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parasail.</code><code class="sig-name descname">ParaSailLexer</code><a class="headerlink" href="#pygments.lexers.parasail.ParaSailLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>parasail</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.psi, *.psl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-parasail</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.parasail-lang.org">ParaSail</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.parsers"></span></div>
+<div class="section" id="lexers-for-parser-generators">
+<h2>Lexers for parser generators<a class="headerlink" href="#lexers-for-parser-generators" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.parsers.AntlrActionScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">AntlrActionScriptLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrActionScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>antlr-as, antlr-actionscript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.G, *.g</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with ActionScript Target</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.AntlrCSharpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">AntlrCSharpLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrCSharpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>antlr-csharp, antlr-c#</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.G, *.g</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with C# Target</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.AntlrCppLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">AntlrCppLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrCppLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>antlr-cpp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.G, *.g</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with CPP Target</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.AntlrJavaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">AntlrJavaLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrJavaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>antlr-java</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.G, *.g</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Java Target</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1..</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.AntlrLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">AntlrLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>antlr</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Generic <a class="reference external" href="http://www.antlr.org/">ANTLR</a> Lexer.
+Should not be called directly, instead
+use DelegatingLexer for your target language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.AntlrObjectiveCLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">AntlrObjectiveCLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrObjectiveCLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>antlr-objc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.G, *.g</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Objective-C Target</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.AntlrPerlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">AntlrPerlLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrPerlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>antlr-perl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.G, *.g</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Perl Target</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.AntlrPythonLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">AntlrPythonLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrPythonLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>antlr-python</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.G, *.g</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Python Target</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.AntlrRubyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">AntlrRubyLexer</code><a class="headerlink" href="#pygments.lexers.parsers.AntlrRubyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>antlr-ruby, antlr-rb</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.G, *.g</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://www.antlr.org/">ANTLR</a> with Ruby Target</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.EbnfLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">EbnfLexer</code><a class="headerlink" href="#pygments.lexers.parsers.EbnfLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ebnf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ebnf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ebnf</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form">ISO/IEC 14977 EBNF</a>
+grammars.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.RagelCLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">RagelCLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelCLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ragel-c</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a C host file.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.RagelCppLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">RagelCppLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelCppLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ragel-cpp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a CPP host file.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.RagelDLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">RagelDLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelDLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ragel-d</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a D host file.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.RagelEmbeddedLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">RagelEmbeddedLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelEmbeddedLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ragel-em</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> embedded in a host language file.</p>
+<p>This will only highlight Ragel statements. If you want host language
+highlighting then call the language-specific Ragel lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.RagelJavaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">RagelJavaLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelJavaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ragel-java</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a Java host file.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.RagelLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">RagelLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ragel</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A pure <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> lexer. Use this for
+fragments of Ragel. For <code class="docutils literal notranslate"><span class="pre">.rl</span></code> files, use RagelEmbeddedLexer instead
+(or one of the language-specific subclasses).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.RagelObjectiveCLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">RagelObjectiveCLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelObjectiveCLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ragel-objc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in an Objective C host file.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.RagelRubyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">RagelRubyLexer</code><a class="headerlink" href="#pygments.lexers.parsers.RagelRubyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ragel-ruby, ragel-rb</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for <a class="reference external" href="http://www.complang.org/ragel/">Ragel</a> in a Ruby host file.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.parsers.TreetopLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.parsers.</code><code class="sig-name descname">TreetopLexer</code><a class="headerlink" href="#pygments.lexers.parsers.TreetopLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>treetop</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.treetop, *.tt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A lexer for <a class="reference external" href="http://treetop.rubyforge.org/">Treetop</a> grammars.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.pascal"></span></div>
+<div class="section" id="lexers-for-pascal-family-languages">
+<h2>Lexers for Pascal family languages<a class="headerlink" href="#lexers-for-pascal-family-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.pascal.AdaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.pascal.</code><code class="sig-name descname">AdaLexer</code><a class="headerlink" href="#pygments.lexers.pascal.AdaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ada, ada95, ada2005</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.adb, *.ads, *.ada</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ada</p>
+</dd>
+</dl>
+<p>For Ada source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.3.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.pascal.DelphiLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.pascal.</code><code class="sig-name descname">DelphiLexer</code><a class="headerlink" href="#pygments.lexers.pascal.DelphiLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>delphi, pas, pascal, objectpascal</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pas, *.dpr</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-pascal</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.borland.com/delphi/">Delphi</a> (Borland Object Pascal),
+Turbo Pascal and Free Pascal source code.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>turbopascal</cite></dt><dd><p>Highlight Turbo Pascal specific keywords (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
+</dd>
+<dt><cite>delphi</cite></dt><dd><p>Highlight Borland Delphi specific keywords (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
+</dd>
+<dt><cite>freepascal</cite></dt><dd><p>Highlight Free Pascal specific keywords (default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
+</dd>
+<dt><cite>units</cite></dt><dd><p>A list of units that should be considered builtin, supported are
+<code class="docutils literal notranslate"><span class="pre">System</span></code>, <code class="docutils literal notranslate"><span class="pre">SysUtils</span></code>, <code class="docutils literal notranslate"><span class="pre">Classes</span></code> and <code class="docutils literal notranslate"><span class="pre">Math</span></code>.
+Default is to consider all of them builtin.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.pawn"></span></div>
+<div class="section" id="lexers-for-the-pawn-languages">
+<h2>Lexers for the Pawn languages<a class="headerlink" href="#lexers-for-the-pawn-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.pawn.PawnLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.pawn.</code><code class="sig-name descname">PawnLexer</code><a class="headerlink" href="#pygments.lexers.pawn.PawnLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pawn</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.p, *.pwn, *.inc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-pawn</p>
+</dd>
+</dl>
+<p>For Pawn source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.pawn.SourcePawnLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.pawn.</code><code class="sig-name descname">SourcePawnLexer</code><a class="headerlink" href="#pygments.lexers.pawn.SourcePawnLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sp</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-sourcepawn</p>
+</dd>
+</dl>
+<p>For SourcePawn source code with preprocessor directives.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.perl"></span></div>
+<div class="section" id="lexers-for-perl-and-related-languages">
+<h2>Lexers for Perl and related languages<a class="headerlink" href="#lexers-for-perl-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.perl.Perl6Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.perl.</code><code class="sig-name descname">Perl6Lexer</code><a class="headerlink" href="#pygments.lexers.perl.Perl6Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>perl6, pl6</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pl, *.pm, *.nqp, *.p6, *.6pl, *.p6l, *.pl6, *.6pm, *.p6m, *.pm6, *.t</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-perl6, application/x-perl6</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.perl6.org">Perl 6</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.perl.PerlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.perl.</code><code class="sig-name descname">PerlLexer</code><a class="headerlink" href="#pygments.lexers.perl.PerlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>perl, pl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pl, *.pm, *.t</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-perl, application/x-perl</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.perl.org">Perl</a> source code.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.php"></span></div>
+<div class="section" id="lexers-for-php-and-related-languages">
+<h2>Lexers for PHP and related languages<a class="headerlink" href="#lexers-for-php-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.php.PhpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.php.</code><code class="sig-name descname">PhpLexer</code><a class="headerlink" href="#pygments.lexers.php.PhpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>php, php3, php4, php5</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.php, *.php[345], *.inc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-php</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.php.net/">PHP</a> source code.
+For PHP embedded in HTML, use the <cite>HtmlPhpLexer</cite>.</p>
+<p>Additional options accepted:</p>
+<dl>
+<dt><cite>startinline</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code> the lexer starts highlighting with
+php code (i.e.: no starting <code class="docutils literal notranslate"><span class="pre"><?php</span></code> required). The default
+is <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
+</dd>
+<dt><cite>funcnamehighlighting</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code>, highlight builtin function names
+(default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
+</dd>
+<dt><cite>disabledmodules</cite></dt><dd><p>If given, must be a list of module names whose function names
+should not be highlighted. By default all modules are highlighted
+except the special <code class="docutils literal notranslate"><span class="pre">'unknown'</span></code> module that includes functions
+that are known to php but are undocumented.</p>
+<p>To get a list of allowed modules have a look into the
+<cite>_php_builtins</cite> module:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers._php_builtins</span> <span class="kn">import</span> <span class="n">MODULES</span>
+<span class="gp">>>> </span><span class="n">MODULES</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
+<span class="go">['PHP Options/Info', 'Zip', 'dba', ...]</span>
+</pre></div>
+</div>
+<p>In fact the names of those modules match the module names from
+the php documentation.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.php.ZephirLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.php.</code><code class="sig-name descname">ZephirLexer</code><a class="headerlink" href="#pygments.lexers.php.ZephirLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>zephir</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.zep</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://zephir-lang.com/">Zephir language</a> source code.</p>
+<p>Zephir is a compiled high level language aimed
+to the creation of C-extensions for PHP.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.pony"></span></div>
+<div class="section" id="lexers-for-pony-and-related-languages">
+<h2>Lexers for Pony and related languages<a class="headerlink" href="#lexers-for-pony-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.pony.PonyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.pony.</code><code class="sig-name descname">PonyLexer</code><a class="headerlink" href="#pygments.lexers.pony.PonyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pony</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pony</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For Pony source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.praat"></span></div>
+<div class="section" id="lexer-for-praat">
+<h2>Lexer for Praat<a class="headerlink" href="#lexer-for-praat" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.praat.PraatLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.praat.</code><code class="sig-name descname">PraatLexer</code><a class="headerlink" href="#pygments.lexers.praat.PraatLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>praat</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.praat, *.proc, *.psc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.praat.org">Praat</a> scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.prolog"></span></div>
+<div class="section" id="lexers-for-prolog-and-prolog-like-languages">
+<h2>Lexers for Prolog and Prolog-like languages<a class="headerlink" href="#lexers-for-prolog-and-prolog-like-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.prolog.LogtalkLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.prolog.</code><code class="sig-name descname">LogtalkLexer</code><a class="headerlink" href="#pygments.lexers.prolog.LogtalkLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>logtalk</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lgt, *.logtalk</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-logtalk</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://logtalk.org/">Logtalk</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.prolog.PrologLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.prolog.</code><code class="sig-name descname">PrologLexer</code><a class="headerlink" href="#pygments.lexers.prolog.PrologLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>prolog</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ecl, *.prolog, *.pro, *.pl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-prolog</p>
+</dd>
+</dl>
+<p>Lexer for Prolog files.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.python"></span></div>
+<div class="section" id="lexers-for-python-and-related-languages">
+<h2>Lexers for Python and related languages<a class="headerlink" href="#lexers-for-python-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.python.CythonLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.python.</code><code class="sig-name descname">CythonLexer</code><a class="headerlink" href="#pygments.lexers.python.CythonLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cython, pyx, pyrex</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pyx, *.pxd, *.pxi</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-cython, application/x-cython</p>
+</dd>
+</dl>
+<p>For Pyrex and <a class="reference external" href="http://cython.org">Cython</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.python.DgLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.python.</code><code class="sig-name descname">DgLexer</code><a class="headerlink" href="#pygments.lexers.python.DgLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>dg</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.dg</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-dg</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://pyos.github.com/dg">dg</a>,
+a functional and object-oriented programming language
+running on the CPython 3 VM.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.python.NumPyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.python.</code><code class="sig-name descname">NumPyLexer</code><a class="headerlink" href="#pygments.lexers.python.NumPyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>numpy</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>A Python lexer recognizing Numerical Python builtins.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.python.Python2Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.python.</code><code class="sig-name descname">Python2Lexer</code><a class="headerlink" href="#pygments.lexers.python.Python2Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>python2, py2</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-python2, application/x-python2</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.python.org">Python 2.x</a> source code.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 2.5: </span>This class has been renamed from <code class="docutils literal notranslate"><span class="pre">PythonLexer</span></code>. <code class="docutils literal notranslate"><span class="pre">PythonLexer</span></code> now
+refers to the Python 3 variant. File name patterns like <code class="docutils literal notranslate"><span class="pre">*.py</span></code> have
+been moved to Python 3 as well.</p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.python.Python2TracebackLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.python.</code><code class="sig-name descname">Python2TracebackLexer</code><a class="headerlink" href="#pygments.lexers.python.Python2TracebackLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>py2tb</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.py2tb</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-python2-traceback</p>
+</dd>
+</dl>
+<p>For Python tracebacks.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 2.5: </span>This class has been renamed from <code class="docutils literal notranslate"><span class="pre">PythonTracebackLexer</span></code>.
+<code class="docutils literal notranslate"><span class="pre">PythonTracebackLexer</span></code> now refers to the Python 3 variant.</p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.python.PythonConsoleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.python.</code><code class="sig-name descname">PythonConsoleLexer</code><a class="headerlink" href="#pygments.lexers.python.PythonConsoleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pycon</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-python-doctest</p>
+</dd>
+</dl>
+<p>For Python console output or doctests, such as:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">a</span> <span class="o">=</span> <span class="s1">'foo'</span>
+<span class="gp">>>> </span><span class="nb">print</span> <span class="n">a</span>
+<span class="go">foo</span>
+<span class="gp">>>> </span><span class="mi">1</span> <span class="o">/</span> <span class="mi">0</span>
+<span class="gt">Traceback (most recent call last):</span>
+ File <span class="nb">"<stdin>"</span>, line <span class="m">1</span>, in <span class="n"><module></span>
+<span class="gr">ZeroDivisionError</span>: <span class="n">integer division or modulo by zero</span>
+</pre></div>
+</div>
+<p>Additional options:</p>
+<dl>
+<dt><cite>python3</cite></dt><dd><p>Use Python 3 lexer for code. Default is <code class="docutils literal notranslate"><span class="pre">True</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.0.</span></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 2.5: </span>Now defaults to <code class="docutils literal notranslate"><span class="pre">True</span></code>.</p>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.python.PythonLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.python.</code><code class="sig-name descname">PythonLexer</code><a class="headerlink" href="#pygments.lexers.python.PythonLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>python, py, sage, python3, py3</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.py, *.pyw, *.jy, *.sage, *.sc, SConstruct, SConscript, *.bzl, BUCK, BUILD, BUILD.bazel, WORKSPACE, *.tac</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-python, application/x-python, text/x-python3, application/x-python3</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.python.org">Python</a> source code (version 3.x).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 2.5: </span>This is now the default <code class="docutils literal notranslate"><span class="pre">PythonLexer</span></code>. It is still available as the
+alias <code class="docutils literal notranslate"><span class="pre">Python3Lexer</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.python.PythonTracebackLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.python.</code><code class="sig-name descname">PythonTracebackLexer</code><a class="headerlink" href="#pygments.lexers.python.PythonTracebackLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pytb, py3tb</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pytb, *.py3tb</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-python-traceback, text/x-python3-traceback</p>
+</dd>
+</dl>
+<p>For Python 3.x tracebacks, with support for chained exceptions.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.0.</span></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 2.5: </span>This is now the default <code class="docutils literal notranslate"><span class="pre">PythonTracebackLexer</span></code>. It is still available
+as the alias <code class="docutils literal notranslate"><span class="pre">Python3TracebackLexer</span></code>.</p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.qvt"></span></div>
+<div class="section" id="lexer-for-qvt-operational-language">
+<h2>Lexer for QVT Operational language<a class="headerlink" href="#lexer-for-qvt-operational-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.qvt.QVToLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.qvt.</code><code class="sig-name descname">QVToLexer</code><a class="headerlink" href="#pygments.lexers.qvt.QVToLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>qvto, qvt</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.qvto</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For the <a class="reference external" href="http://www.omg.org/spec/QVT/1.1/">QVT Operational Mapping language</a>.</p>
+<p>Reference for implementing this: «Meta Object Facility (MOF) 2.0
+Query/View/Transformation Specification», Version 1.1 - January 2011
+(<a class="reference external" href="http://www.omg.org/spec/QVT/1.1/">http://www.omg.org/spec/QVT/1.1/</a>), see §8.4, «Concrete Syntax» in
+particular.</p>
+<p>Notable tokens assignments:</p>
+<ul class="simple">
+<li><p>Name.Class is assigned to the identifier following any of the following
+keywords: metamodel, class, exception, primitive, enum, transformation
+or library</p></li>
+<li><p>Name.Function is assigned to the names of mappings and queries</p></li>
+<li><p>Name.Builtin.Pseudo is assigned to the pre-defined variables ‘this’,
+‘self’ and ‘result’.</p></li>
+</ul>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.r"></span></div>
+<div class="section" id="lexers-for-the-r-s-languages">
+<h2>Lexers for the R/S languages<a class="headerlink" href="#lexers-for-the-r-s-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.r.RConsoleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.r.</code><code class="sig-name descname">RConsoleLexer</code><a class="headerlink" href="#pygments.lexers.r.RConsoleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rconsole, rout</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.Rout</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For R console transcripts or R CMD BATCH output files.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.r.RdLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.r.</code><code class="sig-name descname">RdLexer</code><a class="headerlink" href="#pygments.lexers.r.RdLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rd</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.Rd</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-r-doc</p>
+</dd>
+</dl>
+<p>Pygments Lexer for R documentation (Rd) files</p>
+<p>This is a very minimal implementation, highlighting little more
+than the macros. A description of Rd syntax is found in <a class="reference external" href="http://cran.r-project.org/doc/manuals/R-exts.html">Writing R
+Extensions</a>
+and <a class="reference external" href="http://developer.r-project.org/parseRd.pdf">Parsing Rd files</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.r.SLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.r.</code><code class="sig-name descname">SLexer</code><a class="headerlink" href="#pygments.lexers.r.SLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>splus, s, r</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.S, *.R, .Rhistory, .Rprofile, .Renviron</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/S-plus, text/S, text/x-r-source, text/x-r, text/x-R, text/x-r-history, text/x-r-profile</p>
+</dd>
+</dl>
+<p>For S, S-plus, and R source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.rdf"></span></div>
+<div class="section" id="lexers-for-semantic-web-and-rdf-query-languages-and-markup">
+<h2>Lexers for semantic web and RDF query languages and markup<a class="headerlink" href="#lexers-for-semantic-web-and-rdf-query-languages-and-markup" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.rdf.ShExCLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.rdf.</code><code class="sig-name descname">ShExCLexer</code><a class="headerlink" href="#pygments.lexers.rdf.ShExCLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>shexc, shex</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.shex</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/shex</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="https://shex.io/shex-semantics/#shexc">ShExC</a> shape expressions language syntax.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.rdf.SparqlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.rdf.</code><code class="sig-name descname">SparqlLexer</code><a class="headerlink" href="#pygments.lexers.rdf.SparqlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sparql</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rq, *.sparql</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/sparql-query</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL</a> query language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.rdf.TurtleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.rdf.</code><code class="sig-name descname">TurtleLexer</code><a class="headerlink" href="#pygments.lexers.rdf.TurtleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>turtle</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ttl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/turtle, application/x-turtle</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://www.w3.org/TR/turtle/">Turtle</a> data language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.rebol"></span></div>
+<div class="section" id="lexers-for-the-rebol-and-related-languages">
+<h2>Lexers for the REBOL and related languages<a class="headerlink" href="#lexers-for-the-rebol-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.rebol.RebolLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.rebol.</code><code class="sig-name descname">RebolLexer</code><a class="headerlink" href="#pygments.lexers.rebol.RebolLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rebol</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.r, *.r3, *.reb</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-rebol</p>
+</dd>
+</dl>
+<p>A <a class="reference external" href="http://www.rebol.com/">REBOL</a> lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.rebol.RedLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.rebol.</code><code class="sig-name descname">RedLexer</code><a class="headerlink" href="#pygments.lexers.rebol.RedLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>red, red/system</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.red, *.reds</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-red, text/x-red-system</p>
+</dd>
+</dl>
+<p>A <a class="reference external" href="http://www.red-lang.org/">Red-language</a> lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.resource"></span></div>
+<div class="section" id="lexer-for-resource-definition-files">
+<h2>Lexer for resource definition files<a class="headerlink" href="#lexer-for-resource-definition-files" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.resource.ResourceLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.resource.</code><code class="sig-name descname">ResourceLexer</code><a class="headerlink" href="#pygments.lexers.resource.ResourceLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>resource, resourcebundle</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://userguide.icu-project.org/locale/resources">ICU Resource bundles</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.rnc"></span></div>
+<div class="section" id="lexer-for-relax-ng-compact-syntax">
+<h2>Lexer for Relax-NG Compact syntax<a class="headerlink" href="#lexer-for-relax-ng-compact-syntax" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.rnc.RNCCompactLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.rnc.</code><code class="sig-name descname">RNCCompactLexer</code><a class="headerlink" href="#pygments.lexers.rnc.RNCCompactLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rnc, rng-compact</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rnc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://relaxng.org">RelaxNG-compact</a> syntax.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.roboconf"></span></div>
+<div class="section" id="lexers-for-roboconf-dsl">
+<h2>Lexers for Roboconf DSL<a class="headerlink" href="#lexers-for-roboconf-dsl" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.roboconf.RoboconfGraphLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.roboconf.</code><code class="sig-name descname">RoboconfGraphLexer</code><a class="headerlink" href="#pygments.lexers.roboconf.RoboconfGraphLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>roboconf-graph</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.graph</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://roboconf.net/en/roboconf.html">Roboconf</a> graph files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.roboconf.RoboconfInstancesLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.roboconf.</code><code class="sig-name descname">RoboconfInstancesLexer</code><a class="headerlink" href="#pygments.lexers.roboconf.RoboconfInstancesLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>roboconf-instances</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.instances</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://roboconf.net/en/roboconf.html">Roboconf</a> instances files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.robotframework"></span></div>
+<div class="section" id="lexer-for-robot-framework">
+<h2>Lexer for Robot Framework<a class="headerlink" href="#lexer-for-robot-framework" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.robotframework.RobotFrameworkLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.robotframework.</code><code class="sig-name descname">RobotFrameworkLexer</code><a class="headerlink" href="#pygments.lexers.robotframework.RobotFrameworkLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>robotframework</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.robot</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-robotframework</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://robotframework.org">Robot Framework</a> test data.</p>
+<p>Supports both space and pipe separated plain text formats.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.ruby"></span></div>
+<div class="section" id="lexers-for-ruby-and-related-languages">
+<h2>Lexers for Ruby and related languages<a class="headerlink" href="#lexers-for-ruby-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.ruby.FancyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ruby.</code><code class="sig-name descname">FancyLexer</code><a class="headerlink" href="#pygments.lexers.ruby.FancyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>fancy, fy</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.fy, *.fancypack</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-fancysrc</p>
+</dd>
+</dl>
+<p>Pygments Lexer For <a class="reference external" href="http://www.fancy-lang.org/">Fancy</a>.</p>
+<p>Fancy is a self-hosted, pure object-oriented, dynamic,
+class-based, concurrent general-purpose programming language
+running on Rubinius, the Ruby VM.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.ruby.RubyConsoleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ruby.</code><code class="sig-name descname">RubyConsoleLexer</code><a class="headerlink" href="#pygments.lexers.ruby.RubyConsoleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rbcon, irb</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ruby-shellsession</p>
+</dd>
+</dl>
+<p>For Ruby interactive console (<strong>irb</strong>) output like:</p>
+<div class="highlight-rbcon notranslate"><div class="highlight"><pre><span></span><span class="gp">irb(main):001:0> </span><span class="n">a</span> <span class="o">=</span> <span class="mi">1</span>
+<span class="go">=> 1</span>
+<span class="gp">irb(main):002:0> </span><span class="nb">puts</span> <span class="n">a</span>
+<span class="go">1</span>
+<span class="go">=> nil</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.ruby.RubyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.ruby.</code><code class="sig-name descname">RubyLexer</code><a class="headerlink" href="#pygments.lexers.ruby.RubyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rb, ruby, duby</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rb, *.rbw, Rakefile, *.rake, *.gemspec, *.rbx, *.duby, Gemfile</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-ruby, application/x-ruby</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.ruby-lang.org">Ruby</a> source code.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.rust"></span></div>
+<div class="section" id="lexers-for-the-rust-language">
+<h2>Lexers for the Rust language<a class="headerlink" href="#lexers-for-the-rust-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.rust.RustLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.rust.</code><code class="sig-name descname">RustLexer</code><a class="headerlink" href="#pygments.lexers.rust.RustLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rust, rs</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rs, *.rs.in</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/rust</p>
+</dd>
+</dl>
+<p>Lexer for the Rust programming language (version 1.10).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.sas"></span></div>
+<div class="section" id="lexer-for-sas">
+<h2>Lexer for SAS<a class="headerlink" href="#lexer-for-sas" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.sas.SASLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sas.</code><code class="sig-name descname">SASLexer</code><a class="headerlink" href="#pygments.lexers.sas.SASLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sas</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.SAS, *.sas</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-sas, text/sas, application/x-sas</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.sas.com/">SAS</a> files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.scdoc"></span></div>
+<div class="section" id="lexer-for-scdoc-a-simple-man-page-generator">
+<h2>Lexer for scdoc, a simple man page generator<a class="headerlink" href="#lexer-for-scdoc-a-simple-man-page-generator" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.scdoc.ScdocLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scdoc.</code><code class="sig-name descname">ScdocLexer</code><a class="headerlink" href="#pygments.lexers.scdoc.ScdocLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>scdoc, scd</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.scd, *.scdoc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p><cite>scdoc</cite> is a simple man page generator for POSIX systems written in C99.
+<a class="reference external" href="https://git.sr.ht/~sircmpwn/scdoc">https://git.sr.ht/~sircmpwn/scdoc</a></p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.scripting"></span></div>
+<div class="section" id="lexer-for-scripting-and-embedded-languages">
+<h2>Lexer for scripting and embedded languages<a class="headerlink" href="#lexer-for-scripting-and-embedded-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.scripting.AppleScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">AppleScriptLexer</code><a class="headerlink" href="#pygments.lexers.scripting.AppleScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>applescript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.applescript</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptLangGuide">AppleScript source code</a>,
+including <a class="reference external" href="http://developer.apple.com/documentation/AppleScript/Reference/StudioReference">AppleScript Studio</a>.
+Contributed by Andreas Amann <<a class="reference external" href="mailto:aamann%40mac.com">aamann<span>@</span>mac<span>.</span>com</a>>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.scripting.ChaiscriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">ChaiscriptLexer</code><a class="headerlink" href="#pygments.lexers.scripting.ChaiscriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>chai, chaiscript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.chai</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-chaiscript, application/x-chaiscript</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://chaiscript.com/">ChaiScript</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.scripting.EasytrieveLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">EasytrieveLexer</code><a class="headerlink" href="#pygments.lexers.scripting.EasytrieveLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>easytrieve</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ezt, *.mac</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-easytrieve</p>
+</dd>
+</dl>
+<p>Easytrieve Plus is a programming language for extracting, filtering and
+converting sequential data. Furthermore it can layout data for reports.
+It is mainly used on mainframe platforms and can access several of the
+mainframe’s native file formats. It is somewhat comparable to awk.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.scripting.HybrisLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">HybrisLexer</code><a class="headerlink" href="#pygments.lexers.scripting.HybrisLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>hybris, hy</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.hy, *.hyb</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-hybris, application/x-hybris</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.hybris-lang.org">Hybris</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.scripting.JclLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">JclLexer</code><a class="headerlink" href="#pygments.lexers.scripting.JclLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>jcl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.jcl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-jcl</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B570/CCONTENTS">Job Control Language (JCL)</a>
+is a scripting language used on mainframe platforms to instruct the system
+on how to run a batch job or start a subsystem. It is somewhat
+comparable to MS DOS batch and Unix shell scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.scripting.LSLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">LSLLexer</code><a class="headerlink" href="#pygments.lexers.scripting.LSLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>lsl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lsl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-lsl</p>
+</dd>
+</dl>
+<p>For Second Life’s Linden Scripting Language source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.scripting.LuaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">LuaLexer</code><a class="headerlink" href="#pygments.lexers.scripting.LuaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>lua</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lua, *.wlua</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-lua, application/x-lua</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.lua.org">Lua</a> source code.</p>
+<p>Additional options accepted:</p>
+<dl>
+<dt><cite>func_name_highlighting</cite></dt><dd><p>If given and <code class="docutils literal notranslate"><span class="pre">True</span></code>, highlight builtin function names
+(default: <code class="docutils literal notranslate"><span class="pre">True</span></code>).</p>
+</dd>
+<dt><cite>disabled_modules</cite></dt><dd><p>If given, must be a list of module names whose function names
+should not be highlighted. By default all modules are highlighted.</p>
+<p>To get a list of allowed modules have a look into the
+<cite>_lua_builtins</cite> module:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers._lua_builtins</span> <span class="kn">import</span> <span class="n">MODULES</span>
+<span class="gp">>>> </span><span class="n">MODULES</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
+<span class="go">['string', 'coroutine', 'modules', 'io', 'basic', ...]</span>
+</pre></div>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.scripting.MOOCodeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">MOOCodeLexer</code><a class="headerlink" href="#pygments.lexers.scripting.MOOCodeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>moocode, moo</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.moo</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-moocode</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.moo.mud.org/">MOOCode</a> (the MOO scripting
+language).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.scripting.MoonScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">MoonScriptLexer</code><a class="headerlink" href="#pygments.lexers.scripting.MoonScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>moon, moonscript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.moon</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-moonscript, application/x-moonscript</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://moonscript.org">MoonScript</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.scripting.RexxLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.scripting.</code><code class="sig-name descname">RexxLexer</code><a class="headerlink" href="#pygments.lexers.scripting.RexxLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rexx, arexx</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rexx, *.rex, *.rx, *.arexx</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-rexx</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://www.rexxinfo.org/">Rexx</a> is a scripting language available for
+a wide range of different platforms with its roots found on mainframe
+systems. It is popular for I/O- and data based tasks and can act as glue
+language to bind different applications together.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.sgf"></span></div>
+<div class="section" id="lexer-for-smart-game-format-sgf-file-format">
+<h2>Lexer for Smart Game Format (sgf) file format<a class="headerlink" href="#lexer-for-smart-game-format-sgf-file-format" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.sgf.SmartGameFormatLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sgf.</code><code class="sig-name descname">SmartGameFormatLexer</code><a class="headerlink" href="#pygments.lexers.sgf.SmartGameFormatLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sgf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sgf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for Smart Game Format (sgf) file format.</p>
+<p>The format is used to store game records of board games for two players
+(mainly Go game).
+For more information about the definition of the format, see:
+<a class="reference external" href="https://www.red-bean.com/sgf/">https://www.red-bean.com/sgf/</a></p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.shell"></span></div>
+<div class="section" id="lexers-for-various-shells">
+<h2>Lexers for various shells<a class="headerlink" href="#lexers-for-various-shells" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.shell.BashLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">BashLexer</code><a class="headerlink" href="#pygments.lexers.shell.BashLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bash, sh, ksh, zsh, shell</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sh, *.ksh, *.bash, *.ebuild, *.eclass, *.exheres-0, *.exlib, *.zsh, .bashrc, bashrc, .bash\*, bash\*, zshrc, .zshrc, PKGBUILD</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-sh, application/x-shellscript, text/x-shellscript</p>
+</dd>
+</dl>
+<p>Lexer for (ba|k|z|)sh shell scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.shell.BashSessionLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">BashSessionLexer</code><a class="headerlink" href="#pygments.lexers.shell.BashSessionLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>console, shell-session</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sh-session, *.shell-session</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-shell-session, application/x-sh-session</p>
+</dd>
+</dl>
+<p>Lexer for simplistic shell sessions.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.shell.BatchLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">BatchLexer</code><a class="headerlink" href="#pygments.lexers.shell.BatchLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>bat, batch, dosbatch, winbatch</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bat, *.cmd</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-dos-batch</p>
+</dd>
+</dl>
+<p>Lexer for the DOS/Windows Batch file format.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.shell.FishShellLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">FishShellLexer</code><a class="headerlink" href="#pygments.lexers.shell.FishShellLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>fish, fishshell</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.fish, *.load</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-fish</p>
+</dd>
+</dl>
+<p>Lexer for Fish shell scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.shell.MSDOSSessionLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">MSDOSSessionLexer</code><a class="headerlink" href="#pygments.lexers.shell.MSDOSSessionLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>doscon</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for simplistic MSDOS sessions.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.shell.PowerShellLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">PowerShellLexer</code><a class="headerlink" href="#pygments.lexers.shell.PowerShellLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>powershell, posh, ps1, psm1</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ps1, *.psm1</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-powershell</p>
+</dd>
+</dl>
+<p>For Windows PowerShell code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.shell.PowerShellSessionLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">PowerShellSessionLexer</code><a class="headerlink" href="#pygments.lexers.shell.PowerShellSessionLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ps1con</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for simplistic Windows PowerShell sessions.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.shell.SlurmBashLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">SlurmBashLexer</code><a class="headerlink" href="#pygments.lexers.shell.SlurmBashLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>slurm, sbatch</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for (ba|k|z|)sh Slurm scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.shell.TcshLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">TcshLexer</code><a class="headerlink" href="#pygments.lexers.shell.TcshLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>tcsh, csh</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.tcsh, *.csh</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-csh</p>
+</dd>
+</dl>
+<p>Lexer for tcsh scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.shell.TcshSessionLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.shell.</code><code class="sig-name descname">TcshSessionLexer</code><a class="headerlink" href="#pygments.lexers.shell.TcshSessionLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>tcshcon</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for Tcsh sessions.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.slash"></span></div>
+<div class="section" id="lexer-for-the-slash-programming">
+<h2>Lexer for the <a class="reference external" href="https://github.com/arturadib/Slash-A">Slash</a> programming<a class="headerlink" href="#lexer-for-the-slash-programming" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.slash.SlashLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.slash.</code><code class="sig-name descname">SlashLexer</code><a class="headerlink" href="#pygments.lexers.slash.SlashLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>slash</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for the Slash programming language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.smalltalk"></span></div>
+<div class="section" id="lexers-for-smalltalk-and-related-languages">
+<h2>Lexers for Smalltalk and related languages<a class="headerlink" href="#lexers-for-smalltalk-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.smalltalk.NewspeakLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.smalltalk.</code><code class="sig-name descname">NewspeakLexer</code><a class="headerlink" href="#pygments.lexers.smalltalk.NewspeakLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>newspeak</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ns2</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-newspeak</p>
+</dd>
+</dl>
+<p>For <cite>Newspeak <http://newspeaklanguage.org/></cite> syntax.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.smalltalk.SmalltalkLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.smalltalk.</code><code class="sig-name descname">SmalltalkLexer</code><a class="headerlink" href="#pygments.lexers.smalltalk.SmalltalkLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>smalltalk, squeak, st</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.st</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-smalltalk</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.smalltalk.org/">Smalltalk</a> syntax.
+Contributed by Stefan Matthias Aust.
+Rewritten by Nils Winter.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.smv"></span></div>
+<div class="section" id="lexers-for-the-smv-languages">
+<h2>Lexers for the SMV languages<a class="headerlink" href="#lexers-for-the-smv-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.smv.NuSMVLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.smv.</code><code class="sig-name descname">NuSMVLexer</code><a class="headerlink" href="#pygments.lexers.smv.NuSMVLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>nusmv</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.smv</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for the NuSMV language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.snobol"></span></div>
+<div class="section" id="lexers-for-the-snobol-language">
+<h2>Lexers for the SNOBOL language<a class="headerlink" href="#lexers-for-the-snobol-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.snobol.SnobolLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.snobol.</code><code class="sig-name descname">SnobolLexer</code><a class="headerlink" href="#pygments.lexers.snobol.SnobolLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>snobol</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.snobol</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-snobol</p>
+</dd>
+</dl>
+<p>Lexer for the SNOBOL4 programming language.</p>
+<p>Recognizes the common ASCII equivalents of the original SNOBOL4 operators.
+Does not require spaces around binary operators.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.solidity"></span></div>
+<div class="section" id="lexers-for-solidity">
+<h2>Lexers for Solidity<a class="headerlink" href="#lexers-for-solidity" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.solidity.SolidityLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.solidity.</code><code class="sig-name descname">SolidityLexer</code><a class="headerlink" href="#pygments.lexers.solidity.SolidityLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>solidity</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sol</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For Solidity source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.special"></span></div>
+<div class="section" id="special-lexers">
+<h2>Special lexers<a class="headerlink" href="#special-lexers" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.special.RawTokenLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.special.</code><code class="sig-name descname">RawTokenLexer</code><a class="headerlink" href="#pygments.lexers.special.RawTokenLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>raw</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-pygments-tokens</p>
+</dd>
+</dl>
+<p>Recreate a token stream formatted with the <cite>RawTokenFormatter</cite>. This
+lexer raises exceptions during parsing if the token stream in the
+file is malformed.</p>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>compress</cite></dt><dd><p>If set to <code class="docutils literal notranslate"><span class="pre">"gz"</span></code> or <code class="docutils literal notranslate"><span class="pre">"bz2"</span></code>, decompress the token stream with
+the given compression algorithm before lexing (default: <code class="docutils literal notranslate"><span class="pre">""</span></code>).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.special.TextLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.special.</code><code class="sig-name descname">TextLexer</code><a class="headerlink" href="#pygments.lexers.special.TextLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>text</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.txt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/plain</p>
+</dd>
+</dl>
+<p>“Null” lexer, doesn’t highlight anything.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.sql"></span></div>
+<div class="section" id="lexers-for-various-sql-dialects-and-related-interactive-sessions">
+<h2>Lexers for various SQL dialects and related interactive sessions<a class="headerlink" href="#lexers-for-various-sql-dialects-and-related-interactive-sessions" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.sql.MySqlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sql.</code><code class="sig-name descname">MySqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.MySqlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mysql</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-mysql</p>
+</dd>
+</dl>
+<p>Special lexer for MySQL.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.sql.PlPgsqlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sql.</code><code class="sig-name descname">PlPgsqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.PlPgsqlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>plpgsql</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-plpgsql</p>
+</dd>
+</dl>
+<p>Handle the extra syntax in Pl/pgSQL language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.sql.PostgresConsoleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sql.</code><code class="sig-name descname">PostgresConsoleLexer</code><a class="headerlink" href="#pygments.lexers.sql.PostgresConsoleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>psql, postgresql-console, postgres-console</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-postgresql-psql</p>
+</dd>
+</dl>
+<p>Lexer for psql sessions.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.sql.PostgresLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sql.</code><code class="sig-name descname">PostgresLexer</code><a class="headerlink" href="#pygments.lexers.sql.PostgresLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>postgresql, postgres</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-postgresql</p>
+</dd>
+</dl>
+<p>Lexer for the PostgreSQL dialect of SQL.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.sql.RqlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sql.</code><code class="sig-name descname">RqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.RqlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rql</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rql</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-rql</p>
+</dd>
+</dl>
+<p>Lexer for Relation Query Language.</p>
+<p><a class="reference external" href="http://www.logilab.org/project/rql">RQL</a></p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.sql.SqlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sql.</code><code class="sig-name descname">SqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.SqlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sql</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sql</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-sql</p>
+</dd>
+</dl>
+<p>Lexer for Structured Query Language. Currently, this lexer does
+not recognize any special syntax except ANSI SQL.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.sql.SqliteConsoleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sql.</code><code class="sig-name descname">SqliteConsoleLexer</code><a class="headerlink" href="#pygments.lexers.sql.SqliteConsoleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sqlite3</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sqlite3-console</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-sqlite3-console</p>
+</dd>
+</dl>
+<p>Lexer for example sessions using sqlite3.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.11.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.sql.TransactSqlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.sql.</code><code class="sig-name descname">TransactSqlLexer</code><a class="headerlink" href="#pygments.lexers.sql.TransactSqlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>tsql, t-sql</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sql</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-tsql</p>
+</dd>
+</dl>
+<p>Transact-SQL (T-SQL) is Microsoft’s and Sybase’s proprietary extension to
+SQL.</p>
+<p>The list of keywords includes ODBC and keywords reserved for future use..</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.stata"></span></div>
+<div class="section" id="lexer-for-stata">
+<h2>Lexer for Stata<a class="headerlink" href="#lexer-for-stata" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.stata.StataLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.stata.</code><code class="sig-name descname">StataLexer</code><a class="headerlink" href="#pygments.lexers.stata.StataLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>stata, do</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.do, *.ado</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-stata, text/stata, application/x-stata</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.stata.com/">Stata</a> do files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.supercollider"></span></div>
+<div class="section" id="lexer-for-supercollider">
+<h2>Lexer for SuperCollider<a class="headerlink" href="#lexer-for-supercollider" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.supercollider.SuperColliderLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.supercollider.</code><code class="sig-name descname">SuperColliderLexer</code><a class="headerlink" href="#pygments.lexers.supercollider.SuperColliderLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>sc, supercollider</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sc, *.scd</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/supercollider, text/supercollider</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://supercollider.github.io/">SuperCollider</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.tcl"></span></div>
+<div class="section" id="lexers-for-tcl-and-related-languages">
+<h2>Lexers for Tcl and related languages<a class="headerlink" href="#lexers-for-tcl-and-related-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.tcl.TclLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.tcl.</code><code class="sig-name descname">TclLexer</code><a class="headerlink" href="#pygments.lexers.tcl.TclLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>tcl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.tcl, *.rvt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-tcl, text/x-script.tcl, application/x-tcl</p>
+</dd>
+</dl>
+<p>For Tcl source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.10.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.templates"></span></div>
+<div class="section" id="lexers-for-various-template-engines-markup">
+<h2>Lexers for various template engines’ markup<a class="headerlink" href="#lexers-for-various-template-engines-markup" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.templates.Angular2HtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">Angular2HtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.Angular2HtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+ng2</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ng2</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>Angular2Lexer</cite> that highlights unlexed data with the
+<cite>HtmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.Angular2Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">Angular2Lexer</code><a class="headerlink" href="#pygments.lexers.templates.Angular2Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ng2</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Generic
+<a class="reference external" href="http://victorsavkin.com/post/119943127151/angular-2-template-syntax">angular2</a>
+template lexer.</p>
+<p>Highlights only the Angular template tags (stuff between <cite>{{</cite> and <cite>}}</cite> and
+special attributes: ‘(event)=’, ‘[property]=’, ‘[(twoWayBinding)]=’).
+Everything else is left for a delegating lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.CheetahHtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">CheetahHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.CheetahHtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+cheetah, html+spitfire, htmlcheetah</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+cheetah, text/html+spitfire</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>CheetahLexer</cite> that highlights unlexed data
+with the <cite>HtmlLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.CheetahJavascriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">CheetahJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.templates.CheetahJavascriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js+cheetah, javascript+cheetah, js+spitfire, javascript+spitfire</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-javascript+cheetah, text/x-javascript+cheetah, text/javascript+cheetah, application/x-javascript+spitfire, text/x-javascript+spitfire, text/javascript+spitfire</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>CheetahLexer</cite> that highlights unlexed data
+with the <cite>JavascriptLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.CheetahLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">CheetahLexer</code><a class="headerlink" href="#pygments.lexers.templates.CheetahLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cheetah, spitfire</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.tmpl, *.spt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-cheetah, application/x-spitfire</p>
+</dd>
+</dl>
+<p>Generic <a class="reference external" href="http://www.cheetahtemplate.org/">cheetah templates</a> lexer. Code that isn’t Cheetah
+markup is yielded as <cite>Token.Other</cite>. This also works for
+<a class="reference external" href="http://code.google.com/p/spitfire/">spitfire templates</a> which use the same syntax.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.CheetahXmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">CheetahXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.CheetahXmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+cheetah, xml+spitfire</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+cheetah, application/xml+spitfire</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>CheetahLexer</cite> that highlights unlexed data
+with the <cite>XmlLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.ColdfusionCFCLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">ColdfusionCFCLexer</code><a class="headerlink" href="#pygments.lexers.templates.ColdfusionCFCLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cfc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cfc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Coldfusion markup/script components</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.ColdfusionHtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">ColdfusionHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.ColdfusionHtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cfm</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cfm, *.cfml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-coldfusion</p>
+</dd>
+</dl>
+<p>Coldfusion markup in html</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.ColdfusionLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">ColdfusionLexer</code><a class="headerlink" href="#pygments.lexers.templates.ColdfusionLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cfs</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Coldfusion statements</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.CssDjangoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">CssDjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssDjangoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css+django, css+jinja</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/css+django, text/css+jinja</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
+<cite>CssLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.CssErbLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">CssErbLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssErbLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css+erb, css+ruby</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/css+ruby</p>
+</dd>
+</dl>
+<p>Subclass of <cite>ErbLexer</cite> which highlights unlexed data with the <cite>CssLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.CssGenshiLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">CssGenshiLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssGenshiLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css+genshitext, css+genshi</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/css+genshi</p>
+</dd>
+</dl>
+<p>A lexer that highlights CSS definitions in genshi text templates.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.CssPhpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">CssPhpLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssPhpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css+php</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/css+php</p>
+</dd>
+</dl>
+<p>Subclass of <cite>PhpLexer</cite> which highlights unmatched data with the <cite>CssLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.CssSmartyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">CssSmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.CssSmartyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css+smarty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/css+smarty</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>SmartyLexer</cite> that highlights unlexed data with the
+<cite>CssLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.DjangoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">DjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.DjangoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>django, jinja</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-django-templating, application/x-jinja</p>
+</dd>
+</dl>
+<p>Generic <a class="reference external" href="http://www.djangoproject.com/documentation/templates/">django</a>
+and <a class="reference external" href="http://wsgiarea.pocoo.org/jinja/">jinja</a> template lexer.</p>
+<p>It just highlights django/jinja code between the preprocessor directives,
+other data is left untouched by the lexer.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.ErbLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">ErbLexer</code><a class="headerlink" href="#pygments.lexers.templates.ErbLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>erb</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-ruby-templating</p>
+</dd>
+</dl>
+<p>Generic <a class="reference external" href="http://ruby-doc.org/core/classes/ERB.html">ERB</a> (Ruby Templating)
+lexer.</p>
+<p>Just highlights ruby code between the preprocessor directives, other data
+is left untouched by the lexer.</p>
+<p>All options are also forwarded to the <cite>RubyLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.EvoqueHtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">EvoqueHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.EvoqueHtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+evoque</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.html</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+evoque</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>EvoqueLexer</cite> that highlights unlexed data with the
+<cite>HtmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.EvoqueLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">EvoqueLexer</code><a class="headerlink" href="#pygments.lexers.templates.EvoqueLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>evoque</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.evoque</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-evoque</p>
+</dd>
+</dl>
+<p>For files using the Evoque templating system.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.EvoqueXmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">EvoqueXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.EvoqueXmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+evoque</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.xml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+evoque</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>EvoqueLexer</cite> that highlights unlexed data with the
+<cite>XmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.GenshiLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">GenshiLexer</code><a class="headerlink" href="#pygments.lexers.templates.GenshiLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>genshi, kid, xml+genshi, xml+kid</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.kid</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-genshi, application/x-kid</p>
+</dd>
+</dl>
+<p>A lexer that highlights <a class="reference external" href="http://genshi.edgewall.org/">genshi</a> and
+<a class="reference external" href="http://kid-templating.org/">kid</a> kid XML templates.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.GenshiTextLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">GenshiTextLexer</code><a class="headerlink" href="#pygments.lexers.templates.GenshiTextLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>genshitext</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-genshi-text, text/x-genshi</p>
+</dd>
+</dl>
+<p>A lexer that highlights <a class="reference external" href="http://genshi.edgewall.org/">genshi</a> text
+templates.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.HandlebarsHtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">HandlebarsHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.HandlebarsHtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+handlebars</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.handlebars, *.hbs</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+handlebars, text/x-handlebars-template</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>HandlebarsLexer</cite> that highlights unlexed data with the
+<cite>HtmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.HandlebarsLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">HandlebarsLexer</code><a class="headerlink" href="#pygments.lexers.templates.HandlebarsLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>handlebars</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Generic <cite>handlebars <http://handlebarsjs.com/></cite> template lexer.</p>
+<p>Highlights only the Handlebars template tags (stuff between <cite>{{</cite> and <cite>}}</cite>).
+Everything else is left for a delegating lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.HtmlDjangoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">HtmlDjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.HtmlDjangoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+django, html+jinja, htmldjango</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+django, text/html+jinja</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
+<cite>HtmlLexer</cite>.</p>
+<p>Nested Javascript and CSS is highlighted too.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.HtmlGenshiLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">HtmlGenshiLexer</code><a class="headerlink" href="#pygments.lexers.templates.HtmlGenshiLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+genshi, html+kid</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+genshi</p>
+</dd>
+</dl>
+<p>A lexer that highlights <a class="reference external" href="http://genshi.edgewall.org/">genshi</a> and
+<a class="reference external" href="http://kid-templating.org/">kid</a> kid HTML templates.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.HtmlPhpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">HtmlPhpLexer</code><a class="headerlink" href="#pygments.lexers.templates.HtmlPhpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+php</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.phtml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-php, application/x-httpd-php, application/x-httpd-php3, application/x-httpd-php4, application/x-httpd-php5</p>
+</dd>
+</dl>
+<p>Subclass of <cite>PhpLexer</cite> that highlights unhandled data with the <cite>HtmlLexer</cite>.</p>
+<p>Nested Javascript and CSS is highlighted too.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.HtmlSmartyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">HtmlSmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.HtmlSmartyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+smarty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+smarty</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>SmartyLexer</cite> that highlights unlexed data with the
+<cite>HtmlLexer</cite>.</p>
+<p>Nested Javascript and CSS is highlighted too.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.JavascriptDjangoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">JavascriptDjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptDjangoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js+django, javascript+django, js+jinja, javascript+jinja</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-javascript+django, application/x-javascript+jinja, text/x-javascript+django, text/x-javascript+jinja, text/javascript+django, text/javascript+jinja</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
+<cite>JavascriptLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.JavascriptErbLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">JavascriptErbLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptErbLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js+erb, javascript+erb, js+ruby, javascript+ruby</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-javascript+ruby, text/x-javascript+ruby, text/javascript+ruby</p>
+</dd>
+</dl>
+<p>Subclass of <cite>ErbLexer</cite> which highlights unlexed data with the
+<cite>JavascriptLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.JavascriptGenshiLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">JavascriptGenshiLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptGenshiLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js+genshitext, js+genshi, javascript+genshitext, javascript+genshi</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-javascript+genshi, text/x-javascript+genshi, text/javascript+genshi</p>
+</dd>
+</dl>
+<p>A lexer that highlights javascript code in genshi text templates.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.JavascriptPhpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">JavascriptPhpLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptPhpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js+php, javascript+php</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-javascript+php, text/x-javascript+php, text/javascript+php</p>
+</dd>
+</dl>
+<p>Subclass of <cite>PhpLexer</cite> which highlights unmatched data with the
+<cite>JavascriptLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.JavascriptSmartyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">JavascriptSmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.JavascriptSmartyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js+smarty, javascript+smarty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-javascript+smarty, text/x-javascript+smarty, text/javascript+smarty</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>SmartyLexer</cite> that highlights unlexed data with the
+<cite>JavascriptLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.JspLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">JspLexer</code><a class="headerlink" href="#pygments.lexers.templates.JspLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>jsp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.jsp</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-jsp</p>
+</dd>
+</dl>
+<p>Lexer for Java Server Pages.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.LassoCssLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">LassoCssLexer</code><a class="headerlink" href="#pygments.lexers.templates.LassoCssLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css+lasso</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/css+lasso</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>LassoLexer</cite> which highlights unhandled data with the
+<cite>CssLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.LassoHtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">LassoHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.LassoHtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+lasso</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+lasso, application/x-httpd-lasso, application/x-httpd-lasso[89]</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>LassoLexer</cite> which highlights unhandled data with the
+<cite>HtmlLexer</cite>.</p>
+<p>Nested JavaScript and CSS is also highlighted.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.LassoJavascriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">LassoJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.templates.LassoJavascriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js+lasso, javascript+lasso</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-javascript+lasso, text/x-javascript+lasso, text/javascript+lasso</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>LassoLexer</cite> which highlights unhandled data with the
+<cite>JavascriptLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.LassoXmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">LassoXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.LassoXmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+lasso</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+lasso</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>LassoLexer</cite> which highlights unhandled data with the
+<cite>XmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.LiquidLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">LiquidLexer</code><a class="headerlink" href="#pygments.lexers.templates.LiquidLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>liquid</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.liquid</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://www.rubydoc.info/github/Shopify/liquid">Liquid templates</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MakoCssLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MakoCssLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoCssLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css+mako</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/css+mako</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MakoLexer</cite> that highlights unlexed data
+with the <cite>CssLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MakoHtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MakoHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoHtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+mako</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+mako</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MakoLexer</cite> that highlights unlexed data
+with the <cite>HtmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MakoJavascriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MakoJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoJavascriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js+mako, javascript+mako</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-javascript+mako, text/x-javascript+mako, text/javascript+mako</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MakoLexer</cite> that highlights unlexed data
+with the <cite>JavascriptLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MakoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MakoLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mako</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.mao</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-mako</p>
+</dd>
+</dl>
+<p>Generic <a class="reference external" href="http://www.makotemplates.org/">mako templates</a> lexer. Code that isn’t Mako
+markup is yielded as <cite>Token.Other</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MakoXmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MakoXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.MakoXmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+mako</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+mako</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MakoLexer</cite> that highlights unlexed data
+with the <cite>XmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MasonLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MasonLexer</code><a class="headerlink" href="#pygments.lexers.templates.MasonLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>mason</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.m, *.mhtml, *.mc, *.mi, autohandler, dhandler</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-mason</p>
+</dd>
+</dl>
+<p>Generic <a class="reference external" href="http://www.masonhq.com/">mason templates</a> lexer. Stolen from Myghty lexer. Code that isn’t
+Mason markup is HTML.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MyghtyCssLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MyghtyCssLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyCssLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>css+myghty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/css+myghty</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MyghtyLexer</cite> that highlights unlexed data
+with the <cite>CssLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MyghtyHtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MyghtyHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyHtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+myghty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+myghty</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MyghtyLexer</cite> that highlights unlexed data
+with the <cite>HtmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MyghtyJavascriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MyghtyJavascriptLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyJavascriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>js+myghty, javascript+myghty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-javascript+myghty, text/x-javascript+myghty, text/javascript+mygthy</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MyghtyLexer</cite> that highlights unlexed data
+with the <cite>JavascriptLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MyghtyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MyghtyLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>myghty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.myt, autodelegate</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-myghty</p>
+</dd>
+</dl>
+<p>Generic <a class="reference external" href="http://www.myghty.org/">myghty templates</a> lexer. Code that isn’t Myghty
+markup is yielded as <cite>Token.Other</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.MyghtyXmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">MyghtyXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.MyghtyXmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+myghty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+myghty</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>MyghtyLexer</cite> that highlights unlexed data
+with the <cite>XmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.RhtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">RhtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.RhtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rhtml, html+erb, html+ruby</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rhtml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+ruby</p>
+</dd>
+</dl>
+<p>Subclass of the ERB lexer that highlights the unlexed data with the
+html lexer.</p>
+<p>Nested Javascript and CSS is highlighted too.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.SmartyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">SmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.SmartyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>smarty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.tpl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-smarty</p>
+</dd>
+</dl>
+<p>Generic <a class="reference external" href="http://smarty.php.net/">Smarty</a> template lexer.</p>
+<p>Just highlights smarty code between the preprocessor directives, other
+data is left untouched by the lexer.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.SspLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">SspLexer</code><a class="headerlink" href="#pygments.lexers.templates.SspLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ssp</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ssp</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-ssp</p>
+</dd>
+</dl>
+<p>Lexer for Scalate Server Pages.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.TeaTemplateLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">TeaTemplateLexer</code><a class="headerlink" href="#pygments.lexers.templates.TeaTemplateLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>tea</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.tea</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-tea</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://teatrove.org/">Tea Templates</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.TwigHtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">TwigHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.TwigHtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+twig</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.twig</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+twig</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>TwigLexer</cite> that highlights unlexed data with the
+<cite>HtmlLexer</cite>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.TwigLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">TwigLexer</code><a class="headerlink" href="#pygments.lexers.templates.TwigLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>twig</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-twig</p>
+</dd>
+</dl>
+<p><a class="reference external" href="http://twig.sensiolabs.org/">Twig</a> template lexer.</p>
+<p>It just highlights Twig code between the preprocessor directives,
+other data is left untouched by the lexer.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.VelocityHtmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">VelocityHtmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.VelocityHtmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>html+velocity</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/html+velocity</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>VelocityLexer</cite> that highlights unlexed data
+with the <cite>HtmlLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.VelocityLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">VelocityLexer</code><a class="headerlink" href="#pygments.lexers.templates.VelocityLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>velocity</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.vm, *.fhtml</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Generic <a class="reference external" href="http://velocity.apache.org/">Velocity</a> template lexer.</p>
+<p>Just highlights velocity directives and variable references, other
+data is left untouched by the lexer.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.VelocityXmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">VelocityXmlLexer</code><a class="headerlink" href="#pygments.lexers.templates.VelocityXmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+velocity</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+velocity</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>VelocityLexer</cite> that highlights unlexed data
+with the <cite>XmlLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.XmlDjangoLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">XmlDjangoLexer</code><a class="headerlink" href="#pygments.lexers.templates.XmlDjangoLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+django, xml+jinja</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+django, application/xml+jinja</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
+<cite>XmlLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.XmlErbLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">XmlErbLexer</code><a class="headerlink" href="#pygments.lexers.templates.XmlErbLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+erb, xml+ruby</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+ruby</p>
+</dd>
+</dl>
+<p>Subclass of <cite>ErbLexer</cite> which highlights data outside preprocessor
+directives with the <cite>XmlLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.XmlPhpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">XmlPhpLexer</code><a class="headerlink" href="#pygments.lexers.templates.XmlPhpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+php</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+php</p>
+</dd>
+</dl>
+<p>Subclass of <cite>PhpLexer</cite> that highlights unhandled data with the <cite>XmlLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.XmlSmartyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">XmlSmartyLexer</code><a class="headerlink" href="#pygments.lexers.templates.XmlSmartyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xml+smarty</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/xml+smarty</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>SmartyLexer</cite> that highlights unlexed data with the
+<cite>XmlLexer</cite>.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.templates.YamlJinjaLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.templates.</code><code class="sig-name descname">YamlJinjaLexer</code><a class="headerlink" href="#pygments.lexers.templates.YamlJinjaLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>yaml+jinja, salt, sls</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sls</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-yaml+jinja, text/x-sls</p>
+</dd>
+</dl>
+<p>Subclass of the <cite>DjangoLexer</cite> that highlights unlexed data with the
+<cite>YamlLexer</cite>.</p>
+<p>Commonly used in Saltstack salt states.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.teraterm"></span></div>
+<div class="section" id="lexer-for-tera-term-macro-files">
+<h2>Lexer for Tera Term macro files<a class="headerlink" href="#lexer-for-tera-term-macro-files" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.teraterm.TeraTermLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.teraterm.</code><code class="sig-name descname">TeraTermLexer</code><a class="headerlink" href="#pygments.lexers.teraterm.TeraTermLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ttl, teraterm, teratermmacro</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.ttl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-teratermmacro</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://ttssh2.osdn.jp/">Tera Term</a> macro source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.testing"></span></div>
+<div class="section" id="lexers-for-testing-languages">
+<h2>Lexers for testing languages<a class="headerlink" href="#lexers-for-testing-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.testing.GherkinLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.testing.</code><code class="sig-name descname">GherkinLexer</code><a class="headerlink" href="#pygments.lexers.testing.GherkinLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cucumber, gherkin</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.feature</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-gherkin</p>
+</dd>
+</dl>
+<p>For <cite>Gherkin <http://github.com/aslakhellesoy/gherkin/></cite> syntax.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.testing.TAPLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.testing.</code><code class="sig-name descname">TAPLexer</code><a class="headerlink" href="#pygments.lexers.testing.TAPLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>tap</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.tap</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For Test Anything Protocol (TAP) output.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.textedit"></span></div>
+<div class="section" id="lexers-for-languages-related-to-text-processing">
+<h2>Lexers for languages related to text processing<a class="headerlink" href="#lexers-for-languages-related-to-text-processing" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.textedit.AwkLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.textedit.</code><code class="sig-name descname">AwkLexer</code><a class="headerlink" href="#pygments.lexers.textedit.AwkLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>awk, gawk, mawk, nawk</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.awk</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-awk</p>
+</dd>
+</dl>
+<p>For Awk scripts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.textedit.VimLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.textedit.</code><code class="sig-name descname">VimLexer</code><a class="headerlink" href="#pygments.lexers.textedit.VimLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>vim</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.vim, .vimrc, .exrc, .gvimrc, vimrc, exrc, gvimrc, vimrc, gvimrc</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-vim</p>
+</dd>
+</dl>
+<p>Lexer for VimL script files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.8.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.textfmts"></span></div>
+<div class="section" id="lexers-for-various-text-formats">
+<h2>Lexers for various text formats<a class="headerlink" href="#lexers-for-various-text-formats" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.textfmts.GettextLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.textfmts.</code><code class="sig-name descname">GettextLexer</code><a class="headerlink" href="#pygments.lexers.textfmts.GettextLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>pot, po</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.pot, *.po</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-gettext, text/x-gettext, text/gettext</p>
+</dd>
+</dl>
+<p>Lexer for Gettext catalog files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.9.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.textfmts.HttpLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.textfmts.</code><code class="sig-name descname">HttpLexer</code><a class="headerlink" href="#pygments.lexers.textfmts.HttpLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>http</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for HTTP sessions.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.textfmts.IrcLogsLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.textfmts.</code><code class="sig-name descname">IrcLogsLexer</code><a class="headerlink" href="#pygments.lexers.textfmts.IrcLogsLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>irc</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.weechatlog</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-irclog</p>
+</dd>
+</dl>
+<p>Lexer for IRC logs in <em>irssi</em>, <em>xchat</em> or <em>weechat</em> style.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.textfmts.NotmuchLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.textfmts.</code><code class="sig-name descname">NotmuchLexer</code><a class="headerlink" href="#pygments.lexers.textfmts.NotmuchLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>notmuch</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://notmuchmail.org/">Notmuch</a> email text format.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.5.</span></p>
+</div>
+<p>Additional options accepted:</p>
+<dl class="simple">
+<dt><cite>body_lexer</cite></dt><dd><p>If given, highlight the contents of the message body with the specified
+lexer, else guess it according to the body content (default: <code class="docutils literal notranslate"><span class="pre">None</span></code>).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.textfmts.TodotxtLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.textfmts.</code><code class="sig-name descname">TodotxtLexer</code><a class="headerlink" href="#pygments.lexers.textfmts.TodotxtLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>todotxt</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>todo.txt, *.todotxt</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-todo</p>
+</dd>
+</dl>
+<p>Lexer for <a class="reference external" href="http://todotxt.com/">Todo.txt</a> todo list format.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.theorem"></span></div>
+<div class="section" id="lexers-for-theorem-proving-languages">
+<h2>Lexers for theorem-proving languages<a class="headerlink" href="#lexers-for-theorem-proving-languages" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.theorem.CoqLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.theorem.</code><code class="sig-name descname">CoqLexer</code><a class="headerlink" href="#pygments.lexers.theorem.CoqLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>coq</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.v</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-coq</p>
+</dd>
+</dl>
+<p>For the <a class="reference external" href="http://coq.inria.fr/">Coq</a> theorem prover.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.theorem.IsabelleLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.theorem.</code><code class="sig-name descname">IsabelleLexer</code><a class="headerlink" href="#pygments.lexers.theorem.IsabelleLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>isabelle</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.thy</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-isabelle</p>
+</dd>
+</dl>
+<p>For the <a class="reference external" href="http://isabelle.in.tum.de/">Isabelle</a> proof assistant.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.theorem.LeanLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.theorem.</code><code class="sig-name descname">LeanLexer</code><a class="headerlink" href="#pygments.lexers.theorem.LeanLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>lean</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.lean</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-lean</p>
+</dd>
+</dl>
+<p>For the <a class="reference external" href="https://github.com/leanprover/lean">Lean</a>
+theorem prover.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.trafficscript"></span></div>
+<div class="section" id="lexer-for-riverbed-s-trafficscript-rts-language">
+<h2>Lexer for RiverBed’s TrafficScript (RTS) language<a class="headerlink" href="#lexer-for-riverbed-s-trafficscript-rts-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.trafficscript.RtsLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.trafficscript.</code><code class="sig-name descname">RtsLexer</code><a class="headerlink" href="#pygments.lexers.trafficscript.RtsLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>rts, trafficscript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.rts</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.riverbed.com/stingray">Riverbed Stingray Traffic Manager</a></p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.typoscript"></span></div>
+<div class="section" id="lexers-for-typoscript">
+<h2>Lexers for TypoScript<a class="headerlink" href="#lexers-for-typoscript" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.typoscript.TypoScriptCssDataLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.typoscript.</code><code class="sig-name descname">TypoScriptCssDataLexer</code><a class="headerlink" href="#pygments.lexers.typoscript.TypoScriptCssDataLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>typoscriptcssdata</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer that highlights markers, constants and registers within css blocks.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.typoscript.TypoScriptHtmlDataLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.typoscript.</code><code class="sig-name descname">TypoScriptHtmlDataLexer</code><a class="headerlink" href="#pygments.lexers.typoscript.TypoScriptHtmlDataLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>typoscripthtmldata</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer that highlights markers, constants and registers within html tags.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.typoscript.TypoScriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.typoscript.</code><code class="sig-name descname">TypoScriptLexer</code><a class="headerlink" href="#pygments.lexers.typoscript.TypoScriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>typoscript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.typoscript</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-typoscript</p>
+</dd>
+</dl>
+<p>Lexer for TypoScript code.</p>
+<p><a class="reference external" href="http://docs.typo3.org/typo3cms/TyposcriptReference/">http://docs.typo3.org/typo3cms/TyposcriptReference/</a></p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.unicon"></span></div>
+<div class="section" id="lexers-for-the-icon-and-unicon-languages-including-ucode-vm">
+<h2>Lexers for the Icon and Unicon languages, including ucode VM<a class="headerlink" href="#lexers-for-the-icon-and-unicon-languages-including-ucode-vm" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.unicon.IconLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.unicon.</code><code class="sig-name descname">IconLexer</code><a class="headerlink" href="#pygments.lexers.unicon.IconLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>icon</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.icon, *.ICON</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for Icon.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.unicon.UcodeLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.unicon.</code><code class="sig-name descname">UcodeLexer</code><a class="headerlink" href="#pygments.lexers.unicon.UcodeLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>ucode</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.u, *.u1, *.u2</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for Icon ucode files.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.unicon.UniconLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.unicon.</code><code class="sig-name descname">UniconLexer</code><a class="headerlink" href="#pygments.lexers.unicon.UniconLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>unicon</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.icn</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/unicon</p>
+</dd>
+</dl>
+<p>For Unicon source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.urbi"></span></div>
+<div class="section" id="lexers-for-urbiscript-language">
+<h2>Lexers for UrbiScript language<a class="headerlink" href="#lexers-for-urbiscript-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.urbi.UrbiscriptLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.urbi.</code><code class="sig-name descname">UrbiscriptLexer</code><a class="headerlink" href="#pygments.lexers.urbi.UrbiscriptLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>urbiscript</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.u</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-urbiscript</p>
+</dd>
+</dl>
+<p>For UrbiScript source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.5.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.varnish"></span></div>
+<div class="section" id="lexers-for-varnish-configuration">
+<h2>Lexers for Varnish configuration<a class="headerlink" href="#lexers-for-varnish-configuration" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.varnish.VCLLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.varnish.</code><code class="sig-name descname">VCLLexer</code><a class="headerlink" href="#pygments.lexers.varnish.VCLLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>vcl</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.vcl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-vclsrc</p>
+</dd>
+</dl>
+<p>For Varnish Configuration Language (VCL).</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.varnish.VCLSnippetLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.varnish.</code><code class="sig-name descname">VCLSnippetLexer</code><a class="headerlink" href="#pygments.lexers.varnish.VCLSnippetLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>vclsnippets, vclsnippet</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-vclsnippet</p>
+</dd>
+</dl>
+<p>For Varnish Configuration Language snippets.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.verification"></span></div>
+<div class="section" id="lexer-for-intermediate-verification-languages-ivls">
+<h2>Lexer for Intermediate Verification Languages (IVLs)<a class="headerlink" href="#lexer-for-intermediate-verification-languages-ivls" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.verification.BoogieLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.verification.</code><code class="sig-name descname">BoogieLexer</code><a class="headerlink" href="#pygments.lexers.verification.BoogieLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>boogie</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.bpl</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://boogie.codeplex.com/">Boogie</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.1.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.verification.SilverLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.verification.</code><code class="sig-name descname">SilverLexer</code><a class="headerlink" href="#pygments.lexers.verification.SilverLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>silver</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.sil, *.vpr</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="https://bitbucket.org/viperproject/silver">Silver</a> source code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.webmisc"></span></div>
+<div class="section" id="lexers-for-misc-web-stuff">
+<h2>Lexers for misc. web stuff<a class="headerlink" href="#lexers-for-misc-web-stuff" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.webmisc.CirruLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.webmisc.</code><code class="sig-name descname">CirruLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.CirruLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>cirru</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.cirru</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-cirru</p>
+</dd>
+</dl>
+<p>Syntax rules of Cirru can be found at:
+<a class="reference external" href="http://cirru.org/">http://cirru.org/</a></p>
+<ul class="simple">
+<li><p>using <code class="docutils literal notranslate"><span class="pre">()</span></code> for expressions, but restricted in a same line</p></li>
+<li><p>using <code class="docutils literal notranslate"><span class="pre">""</span></code> for strings, with <code class="docutils literal notranslate"><span class="pre">\</span></code> for escaping chars</p></li>
+<li><p>using <code class="docutils literal notranslate"><span class="pre">$</span></code> as folding operator</p></li>
+<li><p>using <code class="docutils literal notranslate"><span class="pre">,</span></code> as unfolding operator</p></li>
+<li><p>using indentations for nested blocks</p></li>
+</ul>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.webmisc.DuelLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.webmisc.</code><code class="sig-name descname">DuelLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.DuelLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>duel, jbst, jsonml+bst</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.duel, *.jbst</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-duel, text/x-jbst</p>
+</dd>
+</dl>
+<p>Lexer for Duel Views Engine (formerly JBST) markup with JavaScript code blocks.
+See <a class="reference external" href="http://duelengine.org/">http://duelengine.org/</a>.
+See <a class="reference external" href="http://jsonml.org/jbst/">http://jsonml.org/jbst/</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.webmisc.QmlLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.webmisc.</code><code class="sig-name descname">QmlLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.QmlLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>qml, qbs</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.qml, *.qbs</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>application/x-qml, application/x-qt.qbs+qml</p>
+</dd>
+</dl>
+<p>For QML files. See <a class="reference external" href="http://doc.qt.digia.com/4.7/qdeclarativeintroduction.html">http://doc.qt.digia.com/4.7/qdeclarativeintroduction.html</a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.6.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.webmisc.SlimLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.webmisc.</code><code class="sig-name descname">SlimLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.SlimLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>slim</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.slim</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-slim</p>
+</dd>
+</dl>
+<p>For Slim markup.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="class">
+<dt id="pygments.lexers.webmisc.XQueryLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.webmisc.</code><code class="sig-name descname">XQueryLexer</code><a class="headerlink" href="#pygments.lexers.webmisc.XQueryLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xquery, xqy, xq, xql, xqm</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.xqy, *.xquery, *.xq, *.xql, *.xqm</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/xquery, application/xquery</p>
+</dd>
+</dl>
+<p>An XQuery lexer, parsing a stream and outputting the tokens needed to
+highlight xquery code.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 1.4.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.whiley"></span></div>
+<div class="section" id="lexers-for-the-whiley-language">
+<h2>Lexers for the Whiley language<a class="headerlink" href="#lexers-for-the-whiley-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.whiley.WhileyLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.whiley.</code><code class="sig-name descname">WhileyLexer</code><a class="headerlink" href="#pygments.lexers.whiley.WhileyLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>whiley</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.whiley</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-whiley</p>
+</dd>
+</dl>
+<p>Lexer for the Whiley programming language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.x10"></span></div>
+<div class="section" id="lexers-for-the-x10-programming-language">
+<h2>Lexers for the X10 programming language<a class="headerlink" href="#lexers-for-the-x10-programming-language" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.x10.X10Lexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.x10.</code><code class="sig-name descname">X10Lexer</code><a class="headerlink" href="#pygments.lexers.x10.X10Lexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>x10, xten</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.x10</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/x-x10</p>
+</dd>
+</dl>
+<p>For the X10 language.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.1.</span></p>
+</div>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.xorg"></span></div>
+<div class="section" id="lexers-for-xorg-configs">
+<h2>Lexers for Xorg configs<a class="headerlink" href="#lexers-for-xorg-configs" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.xorg.XorgLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.xorg.</code><code class="sig-name descname">XorgLexer</code><a class="headerlink" href="#pygments.lexers.xorg.XorgLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>xorg.conf</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>xorg.conf</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+<p>Lexer for xorg.conf file.</p>
+</dd></dl>
+
+<span class="target" id="module-pygments.lexers.zig"></span></div>
+<div class="section" id="lexers-for-zig">
+<h2>Lexers for Zig<a class="headerlink" href="#lexers-for-zig" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="pygments.lexers.zig.ZigLexer">
+<em class="property">class </em><code class="sig-prename descclassname">pygments.lexers.zig.</code><code class="sig-name descname">ZigLexer</code><a class="headerlink" href="#pygments.lexers.zig.ZigLexer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Short names</dt>
+<dd class="field-odd"><p>zig</p>
+</dd>
+<dt class="field-even">Filenames</dt>
+<dd class="field-even"><p>*.zig</p>
+</dd>
+<dt class="field-odd">MIME types</dt>
+<dd class="field-odd"><p>text/zig</p>
+</dd>
+</dl>
+<p>For <a class="reference external" href="http://www.ziglang.org">Zig</a> source code.</p>
+<p>grammar: <a class="reference external" href="https://ziglang.org/documentation/master/#Grammar">https://ziglang.org/documentation/master/#Grammar</a></p>
+</dd></dl>
+
+</div>
+<div class="section" id="iterating-over-all-lexers">
+<h2>Iterating over all lexers<a class="headerlink" href="#iterating-over-all-lexers" title="Permalink to this headline">¶</a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+<p>To get all lexers (both the builtin and the plugin ones), you can
+use the <cite>get_all_lexers()</cite> function from the <cite>pygments.lexers</cite>
+module:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">get_all_lexers</span>
+<span class="gp">>>> </span><span class="n">i</span> <span class="o">=</span> <span class="n">get_all_lexers</span><span class="p">()</span>
+<span class="gp">>>> </span><span class="n">i</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
+<span class="go">('Diff', ('diff',), ('*.diff', '*.patch'), ('text/x-diff', 'text/x-patch'))</span>
+<span class="gp">>>> </span><span class="n">i</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
+<span class="go">('Delphi', ('delphi', 'objectpascal', 'pas', 'pascal'), ('*.pas',), ('text/x-pascal',))</span>
+<span class="gp">>>> </span><span class="n">i</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
+<span class="go">('XML+Ruby', ('xml+erb', 'xml+ruby'), (), ())</span>
+</pre></div>
+</div>
+<p>As you can see, the return value is an iterator which yields tuples
+in the form <code class="docutils literal notranslate"><span class="pre">(name,</span> <span class="pre">aliases,</span> <span class="pre">filetypes,</span> <span class="pre">mimetypes)</span></code>.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Using Pygments with MoinMoin — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Use Pygments in Java" href="java.html" />
+ <link rel="prev" title="Using Pygments in ReST documents" href="rstdirective.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="rstdirective.html"
+ title="previous chapter">Using Pygments in ReST documents</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="java.html"
+ title="next chapter">Use Pygments in Java</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/moinmoin.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="using-pygments-with-moinmoin">
+<h1>Using Pygments with MoinMoin<a class="headerlink" href="#using-pygments-with-moinmoin" title="Permalink to this headline">¶</a></h1>
+<p>From Pygments 0.7, the source distribution ships a <a class="reference external" href="http://moinmoin.wikiwikiweb.de/">Moin</a> parser plugin that
+can be used to get Pygments highlighting in Moin wiki pages.</p>
+<p>To use it, copy the file <cite>external/moin-parser.py</cite> from the Pygments
+distribution to the <cite>data/plugin/parser</cite> subdirectory of your Moin instance.
+Edit the options at the top of the file (currently <code class="docutils literal notranslate"><span class="pre">ATTACHMENTS</span></code> and
+<code class="docutils literal notranslate"><span class="pre">INLINESTYLES</span></code>) and rename the file to the name that the parser directive
+should have. For example, if you name the file <code class="docutils literal notranslate"><span class="pre">code.py</span></code>, you can get a
+highlighted Python code sample with this Wiki markup:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{{{</span>
+<span class="c1">#!code python</span>
+<span class="p">[</span><span class="o">...</span><span class="p">]</span>
+<span class="p">}}}</span>
+</pre></div>
+</div>
+<p>where <code class="docutils literal notranslate"><span class="pre">python</span></code> is the Pygments name of the lexer to use.</p>
+<p>Additionally, if you set the <code class="docutils literal notranslate"><span class="pre">ATTACHMENTS</span></code> option to True, Pygments will also
+be called for all attachments for whose filenames there is no other parser
+registered.</p>
+<p>You are responsible for including CSS rules that will map the Pygments CSS
+classes to colors. You can output a stylesheet file with <cite>pygmentize</cite>, put it
+into the <cite>htdocs</cite> directory of your Moin instance and then include it in the
+<cite>stylesheets</cite> configuration option in the Moin config, e.g.:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">stylesheets</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">'screen'</span><span class="p">,</span> <span class="s1">'/htdocs/pygments.css'</span><span class="p">)]</span>
+</pre></div>
+</div>
+<p>If you do not want to do that and are willing to accept larger HTML output, you
+can set the <code class="docutils literal notranslate"><span class="pre">INLINESTYLES</span></code> option to True.</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Register Plugins — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Using Pygments in ReST documents" href="rstdirective.html" />
+ <link rel="prev" title="Write your own filter" href="filterdevelopment.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Register Plugins</a><ul>
+<li><a class="reference internal" href="#entrypoints">Entrypoints</a></li>
+<li><a class="reference internal" href="#how-to-use-entrypoints">How To Use Entrypoints</a></li>
+<li><a class="reference internal" href="#extending-the-core">Extending The Core</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="filterdevelopment.html"
+ title="previous chapter">Write your own filter</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="rstdirective.html"
+ title="next chapter">Using Pygments in ReST documents</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/plugins.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="register-plugins">
+<h1>Register Plugins<a class="headerlink" href="#register-plugins" title="Permalink to this headline">¶</a></h1>
+<p>If you want to extend Pygments without hacking the sources, but want to
+use the lexer/formatter/style/filter lookup functions (<cite>lexers.get_lexer_by_name</cite>
+et al.), you can use <a class="reference external" href="http://peak.telecommunity.com/DevCenter/setuptools">setuptools</a> entrypoints to add new lexers, formatters
+or styles as if they were in the Pygments core.</p>
+<p>That means you can use your highlighter modules with the <cite>pygmentize</cite> script,
+which relies on the mentioned functions.</p>
+<div class="section" id="entrypoints">
+<h2>Entrypoints<a class="headerlink" href="#entrypoints" title="Permalink to this headline">¶</a></h2>
+<p>Here is a list of setuptools entrypoints that Pygments understands:</p>
+<p><cite>pygments.lexers</cite></p>
+<blockquote>
+<div><p>This entrypoint is used for adding new lexers to the Pygments core.
+The name of the entrypoint values doesn’t really matter, Pygments extracts
+required metadata from the class definition:</p>
+<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[pygments.lexers]</span>
+<span class="na">yourlexer</span> <span class="o">=</span> <span class="s">yourmodule:YourLexer</span>
+</pre></div>
+</div>
+<p>Note that you have to define <code class="docutils literal notranslate"><span class="pre">name</span></code>, <code class="docutils literal notranslate"><span class="pre">aliases</span></code> and <code class="docutils literal notranslate"><span class="pre">filename</span></code>
+attributes so that you can use the highlighter from the command line:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">YourLexer</span><span class="p">(</span><span class="o">...</span><span class="p">):</span>
+ <span class="n">name</span> <span class="o">=</span> <span class="s1">'Name Of Your Lexer'</span>
+ <span class="n">aliases</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'alias'</span><span class="p">]</span>
+ <span class="n">filenames</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'*.ext'</span><span class="p">]</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p><cite>pygments.formatters</cite></p>
+<blockquote>
+<div><p>You can use this entrypoint to add new formatters to Pygments. The
+name of an entrypoint item is the name of the formatter. If you
+prefix the name with a slash it’s used as a filename pattern:</p>
+<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[pygments.formatters]</span>
+<span class="na">yourformatter</span> <span class="o">=</span> <span class="s">yourmodule:YourFormatter</span>
+<span class="na">/.ext</span> <span class="o">=</span> <span class="s">yourmodule:YourFormatter</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p><cite>pygments.styles</cite></p>
+<blockquote>
+<div><p>To add a new style you can use this entrypoint. The name of the entrypoint
+is the name of the style:</p>
+<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[pygments.styles]</span>
+<span class="na">yourstyle</span> <span class="o">=</span> <span class="s">yourmodule:YourStyle</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p><cite>pygments.filters</cite></p>
+<blockquote>
+<div><p>Use this entrypoint to register a new filter. The name of the
+entrypoint is the name of the filter:</p>
+<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[pygments.filters]</span>
+<span class="na">yourfilter</span> <span class="o">=</span> <span class="s">yourmodule:YourFilter</span>
+</pre></div>
+</div>
+</div></blockquote>
+</div>
+<div class="section" id="how-to-use-entrypoints">
+<h2>How To Use Entrypoints<a class="headerlink" href="#how-to-use-entrypoints" title="Permalink to this headline">¶</a></h2>
+<p>This documentation doesn’t explain how to use those entrypoints because this is
+covered in the <a class="reference external" href="http://peak.telecommunity.com/DevCenter/setuptools">setuptools documentation</a>. That page should cover everything
+you need to write a plugin.</p>
+</div>
+<div class="section" id="extending-the-core">
+<h2>Extending The Core<a class="headerlink" href="#extending-the-core" title="Permalink to this headline">¶</a></h2>
+<p>If you have written a Pygments plugin that is open source, please inform us
+about that. There is a high chance that we’ll add it to the Pygments
+distribution.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Introduction and Quickstart — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Command Line Interface" href="cmdline.html" />
+ <link rel="prev" title="Download and installation" href="../download.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Introduction and Quickstart</a><ul>
+<li><a class="reference internal" href="#architecture">Architecture</a></li>
+<li><a class="reference internal" href="#example">Example</a></li>
+<li><a class="reference internal" href="#options">Options</a></li>
+<li><a class="reference internal" href="#lexer-and-formatter-lookup">Lexer and formatter lookup</a></li>
+<li><a class="reference internal" href="#guessing-lexers">Guessing lexers</a></li>
+<li><a class="reference internal" href="#command-line-usage">Command line usage</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="../download.html"
+ title="previous chapter">Download and installation</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="cmdline.html"
+ title="next chapter">Command Line Interface</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/quickstart.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="introduction-and-quickstart">
+<h1>Introduction and Quickstart<a class="headerlink" href="#introduction-and-quickstart" title="Permalink to this headline">¶</a></h1>
+<p>Welcome to Pygments! This document explains the basic concepts and terms and
+gives a few examples of how to use the library.</p>
+<div class="section" id="architecture">
+<h2>Architecture<a class="headerlink" href="#architecture" title="Permalink to this headline">¶</a></h2>
+<p>There are four types of components that work together highlighting a piece of
+code:</p>
+<ul class="simple">
+<li><p>A <strong>lexer</strong> splits the source into tokens, fragments of the source that
+have a token type that determines what the text represents semantically
+(e.g., keyword, string, or comment). There is a lexer for every language
+or markup format that Pygments supports.</p></li>
+<li><p>The token stream can be piped through <strong>filters</strong>, which usually modify
+the token types or text fragments, e.g. uppercasing all keywords.</p></li>
+<li><p>A <strong>formatter</strong> then takes the token stream and writes it to an output
+file, in a format such as HTML, LaTeX or RTF.</p></li>
+<li><p>While writing the output, a <strong>style</strong> determines how to highlight all the
+different token types. It maps them to attributes like “red and bold”.</p></li>
+</ul>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
+<p>Here is a small example for highlighting Python code:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments</span> <span class="kn">import</span> <span class="n">highlight</span>
+<span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">PythonLexer</span>
+<span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
+
+<span class="n">code</span> <span class="o">=</span> <span class="s1">'print "Hello World"'</span>
+<span class="nb">print</span><span class="p">(</span><span class="n">highlight</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">PythonLexer</span><span class="p">(),</span> <span class="n">HtmlFormatter</span><span class="p">()))</span>
+</pre></div>
+</div>
+<p>which prints something like this:</p>
+<div class="highlight-html notranslate"><div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span><span class="p">></span>
+<span class="p"><</span><span class="nt">pre</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"k"</span><span class="p">></span>print<span class="p"></</span><span class="nt">span</span><span class="p">></span> <span class="p"><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"s"</span><span class="p">></span><span class="ni">&quot;</span>Hello World<span class="ni">&quot;</span><span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">pre</span><span class="p">></span>
+<span class="p"></</span><span class="nt">div</span><span class="p">></span>
+</pre></div>
+</div>
+<p>As you can see, Pygments uses CSS classes (by default, but you can change that)
+instead of inline styles in order to avoid outputting redundant style information over
+and over. A CSS stylesheet that contains all CSS classes possibly used in the output
+can be produced by:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">HtmlFormatter</span><span class="p">()</span><span class="o">.</span><span class="n">get_style_defs</span><span class="p">(</span><span class="s1">'.highlight'</span><span class="p">))</span>
+</pre></div>
+</div>
+<p>The argument to <code class="xref py py-func docutils literal notranslate"><span class="pre">get_style_defs()</span></code> is used as an additional CSS selector:
+the output may look like this:</p>
+<div class="highlight-css notranslate"><div class="highlight"><pre><span></span><span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">k</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#AA22FF</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span>
+<span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">s</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#BB4444</span> <span class="p">}</span>
+<span class="o">...</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<p>The <code class="xref py py-func docutils literal notranslate"><span class="pre">highlight()</span></code> function supports a fourth argument called <em>outfile</em>, it
+must be a file object if given. The formatted output will then be written to
+this file instead of being returned as a string.</p>
+<p>Lexers and formatters both support options. They are given to them as keyword
+arguments either to the class or to the lookup method:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments</span> <span class="kn">import</span> <span class="n">highlight</span>
+<span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">get_lexer_by_name</span>
+<span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
+
+<span class="n">lexer</span> <span class="o">=</span> <span class="n">get_lexer_by_name</span><span class="p">(</span><span class="s2">"python"</span><span class="p">,</span> <span class="n">stripall</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+<span class="n">formatter</span> <span class="o">=</span> <span class="n">HtmlFormatter</span><span class="p">(</span><span class="n">linenos</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">cssclass</span><span class="o">=</span><span class="s2">"source"</span><span class="p">)</span>
+<span class="n">result</span> <span class="o">=</span> <span class="n">highlight</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">lexer</span><span class="p">,</span> <span class="n">formatter</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>This makes the lexer strip all leading and trailing whitespace from the input
+(<cite>stripall</cite> option), lets the formatter output line numbers (<cite>linenos</cite> option),
+and sets the wrapping <code class="docutils literal notranslate"><span class="pre"><div></span></code>’s class to <code class="docutils literal notranslate"><span class="pre">source</span></code> (instead of
+<code class="docutils literal notranslate"><span class="pre">highlight</span></code>).</p>
+<p>Important options include:</p>
+<dl class="simple">
+<dt><cite>encoding</cite><span class="classifier">for lexers and formatters</span></dt><dd><p>Since Pygments uses Unicode strings internally, this determines which
+encoding will be used to convert to or from byte strings.</p>
+</dd>
+<dt><cite>style</cite><span class="classifier">for formatters</span></dt><dd><p>The name of the style to use when writing the output.</p>
+</dd>
+</dl>
+<p>For an overview of builtin lexers and formatters and their options, visit the
+<a class="reference internal" href="lexers.html"><span class="doc">lexer</span></a> and <a class="reference internal" href="formatters.html"><span class="doc">formatters</span></a> lists.</p>
+<p>For a documentation on filters, see <a class="reference internal" href="filters.html"><span class="doc">this page</span></a>.</p>
+</div>
+<div class="section" id="lexer-and-formatter-lookup">
+<h2>Lexer and formatter lookup<a class="headerlink" href="#lexer-and-formatter-lookup" title="Permalink to this headline">¶</a></h2>
+<p>If you want to lookup a built-in lexer by its alias or a filename, you can use
+one of the following methods:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="p">(</span><span class="n">get_lexer_by_name</span><span class="p">,</span>
+<span class="gp">... </span> <span class="n">get_lexer_for_filename</span><span class="p">,</span> <span class="n">get_lexer_for_mimetype</span><span class="p">)</span>
+
+<span class="gp">>>> </span><span class="n">get_lexer_by_name</span><span class="p">(</span><span class="s1">'python'</span><span class="p">)</span>
+<span class="go"><pygments.lexers.PythonLexer></span>
+
+<span class="gp">>>> </span><span class="n">get_lexer_for_filename</span><span class="p">(</span><span class="s1">'spam.rb'</span><span class="p">)</span>
+<span class="go"><pygments.lexers.RubyLexer></span>
+
+<span class="gp">>>> </span><span class="n">get_lexer_for_mimetype</span><span class="p">(</span><span class="s1">'text/x-perl'</span><span class="p">)</span>
+<span class="go"><pygments.lexers.PerlLexer></span>
+</pre></div>
+</div>
+<p>All these functions accept keyword arguments; they will be passed to the lexer
+as options.</p>
+<p>A similar API is available for formatters: use <a class="reference internal" href="api.html#pygments.formatters.get_formatter_by_name" title="pygments.formatters.get_formatter_by_name"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_formatter_by_name()</span></code></a>
+and <a class="reference internal" href="api.html#pygments.formatters.get_formatter_for_filename" title="pygments.formatters.get_formatter_for_filename"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_formatter_for_filename()</span></code></a> from the <a class="reference internal" href="api.html#module-pygments.formatters" title="pygments.formatters"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.formatters</span></code></a>
+module for this purpose.</p>
+</div>
+<div class="section" id="guessing-lexers">
+<h2>Guessing lexers<a class="headerlink" href="#guessing-lexers" title="Permalink to this headline">¶</a></h2>
+<p>If you don’t know the content of the file, or you want to highlight a file
+whose extension is ambiguous, such as <code class="docutils literal notranslate"><span class="pre">.html</span></code> (which could contain plain HTML
+or some template tags), use these functions:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">guess_lexer</span><span class="p">,</span> <span class="n">guess_lexer_for_filename</span>
+
+<span class="gp">>>> </span><span class="n">guess_lexer</span><span class="p">(</span><span class="s1">'#!/usr/bin/python</span><span class="se">\n</span><span class="s1">print "Hello World!"'</span><span class="p">)</span>
+<span class="go"><pygments.lexers.PythonLexer></span>
+
+<span class="gp">>>> </span><span class="n">guess_lexer_for_filename</span><span class="p">(</span><span class="s1">'test.py'</span><span class="p">,</span> <span class="s1">'print "Hello World!"'</span><span class="p">)</span>
+<span class="go"><pygments.lexers.PythonLexer></span>
+</pre></div>
+</div>
+<p><a class="reference internal" href="api.html#pygments.lexers.guess_lexer" title="pygments.lexers.guess_lexer"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer()</span></code></a> passes the given content to the lexer classes’
+<code class="xref py py-meth docutils literal notranslate"><span class="pre">analyse_text()</span></code> method and returns the one for which it returns the
+highest number.</p>
+<p>All lexers have two different filename pattern lists: the primary and the
+secondary one. The <a class="reference internal" href="api.html#pygments.lexers.get_lexer_for_filename" title="pygments.lexers.get_lexer_for_filename"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_lexer_for_filename()</span></code></a> function only uses the
+primary list, whose entries are supposed to be unique among all lexers.
+<a class="reference internal" href="api.html#pygments.lexers.guess_lexer_for_filename" title="pygments.lexers.guess_lexer_for_filename"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer_for_filename()</span></code></a>, however, will first loop through all lexers
+and look at the primary and secondary filename patterns if the filename matches.
+If only one lexer matches, it is returned, else the guessing mechanism of
+<a class="reference internal" href="api.html#pygments.lexers.guess_lexer" title="pygments.lexers.guess_lexer"><code class="xref py py-func docutils literal notranslate"><span class="pre">guess_lexer()</span></code></a> is used with the matching lexers.</p>
+<p>As usual, keyword arguments to these functions are given to the created lexer
+as options.</p>
+</div>
+<div class="section" id="command-line-usage">
+<h2>Command line usage<a class="headerlink" href="#command-line-usage" title="Permalink to this headline">¶</a></h2>
+<p>You can use Pygments from the command line, using the <strong class="program">pygmentize</strong>
+script:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize test.py
+</pre></div>
+</div>
+<p>will highlight the Python file test.py using ANSI escape sequences
+(a.k.a. terminal colors) and print the result to standard output.</p>
+<p>To output HTML, use the <code class="docutils literal notranslate"><span class="pre">-f</span></code> option:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -o test.html test.py
+</pre></div>
+</div>
+<p>to write an HTML-highlighted version of test.py to the file test.html.
+Note that it will only be a snippet of HTML, if you want a full HTML document,
+use the “full” option:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -f html -O full -o test.html test.py
+</pre></div>
+</div>
+<p>This will produce a full HTML document with included stylesheet.</p>
+<p>A style can be selected with <code class="docutils literal notranslate"><span class="pre">-O</span> <span class="pre">style=<name></span></code>.</p>
+<p>If you need a stylesheet for an existing HTML file using Pygments CSS classes,
+it can be created with:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pygmentize -S default -f html > style.css
+</pre></div>
+</div>
+<p>where <code class="docutils literal notranslate"><span class="pre">default</span></code> is the style name.</p>
+<p>More options and tricks and be found in the <a class="reference internal" href="cmdline.html"><span class="doc">command line reference</span></a>.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Using Pygments in ReST documents — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Using Pygments with MoinMoin" href="moinmoin.html" />
+ <link rel="prev" title="Register Plugins" href="plugins.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="plugins.html"
+ title="previous chapter">Register Plugins</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="moinmoin.html"
+ title="next chapter">Using Pygments with MoinMoin</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/rstdirective.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="using-pygments-in-rest-documents">
+<h1>Using Pygments in ReST documents<a class="headerlink" href="#using-pygments-in-rest-documents" title="Permalink to this headline">¶</a></h1>
+<p>Many Python people use <a class="reference external" href="http://docutils.sf.net/rst.html">ReST</a> for documentation their sourcecode, programs,
+scripts et cetera. This also means that documentation often includes sourcecode
+samples or snippets.</p>
+<p>You can easily enable Pygments support for your ReST texts using a custom
+directive – this is also how this documentation displays source code.</p>
+<p>From Pygments 0.9, the directive is shipped in the distribution as
+<cite>external/rst-directive.py</cite>. You can copy and adapt this code to your liking.</p>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Styles — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Unicode and Encodings" href="unicode.html" />
+ <link rel="prev" title="Available formatters" href="formatters.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Styles</a><ul>
+<li><a class="reference internal" href="#creating-own-styles">Creating Own Styles</a></li>
+<li><a class="reference internal" href="#style-rules">Style Rules</a></li>
+<li><a class="reference internal" href="#builtin-styles">Builtin Styles</a></li>
+<li><a class="reference internal" href="#getting-a-list-of-available-styles">Getting a list of available styles</a></li>
+<li><a class="reference internal" href="#terminal-styles">Terminal Styles</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="formatters.html"
+ title="previous chapter">Available formatters</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="unicode.html"
+ title="next chapter">Unicode and Encodings</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/styles.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="styles">
+<h1>Styles<a class="headerlink" href="#styles" title="Permalink to this headline">¶</a></h1>
+<p>Pygments comes with some builtin styles that work for both the HTML and
+LaTeX formatter.</p>
+<p>The builtin styles can be looked up with the <cite>get_style_by_name</cite> function:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.styles</span> <span class="kn">import</span> <span class="n">get_style_by_name</span>
+<span class="gp">>>> </span><span class="n">get_style_by_name</span><span class="p">(</span><span class="s1">'colorful'</span><span class="p">)</span>
+<span class="go"><class 'pygments.styles.colorful.ColorfulStyle'></span>
+</pre></div>
+</div>
+<p>You can pass a instance of a <cite>Style</cite> class to a formatter as the <cite>style</cite>
+option in form of a string:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.styles</span> <span class="kn">import</span> <span class="n">get_style_by_name</span>
+<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
+<span class="gp">>>> </span><span class="n">HtmlFormatter</span><span class="p">(</span><span class="n">style</span><span class="o">=</span><span class="s1">'colorful'</span><span class="p">)</span><span class="o">.</span><span class="n">style</span>
+<span class="go"><class 'pygments.styles.colorful.ColorfulStyle'></span>
+</pre></div>
+</div>
+<p>Or you can also import your own style (which must be a subclass of
+<cite>pygments.style.Style</cite>) and pass it to the formatter:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">yourapp.yourmodule</span> <span class="kn">import</span> <span class="n">YourStyle</span>
+<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
+<span class="gp">>>> </span><span class="n">HtmlFormatter</span><span class="p">(</span><span class="n">style</span><span class="o">=</span><span class="n">YourStyle</span><span class="p">)</span><span class="o">.</span><span class="n">style</span>
+<span class="go"><class 'yourapp.yourmodule.YourStyle'></span>
+</pre></div>
+</div>
+<div class="section" id="creating-own-styles">
+<h2>Creating Own Styles<a class="headerlink" href="#creating-own-styles" title="Permalink to this headline">¶</a></h2>
+<p>So, how to create a style? All you have to do is to subclass <cite>Style</cite> and
+define some styles:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.style</span> <span class="kn">import</span> <span class="n">Style</span>
+<span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Keyword</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="n">Comment</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="n">Error</span><span class="p">,</span> \
+ <span class="n">Number</span><span class="p">,</span> <span class="n">Operator</span><span class="p">,</span> <span class="n">Generic</span>
+
+<span class="k">class</span> <span class="nc">YourStyle</span><span class="p">(</span><span class="n">Style</span><span class="p">):</span>
+ <span class="n">default_style</span> <span class="o">=</span> <span class="s2">""</span>
+ <span class="n">styles</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="n">Comment</span><span class="p">:</span> <span class="s1">'italic #888'</span><span class="p">,</span>
+ <span class="n">Keyword</span><span class="p">:</span> <span class="s1">'bold #005'</span><span class="p">,</span>
+ <span class="n">Name</span><span class="p">:</span> <span class="s1">'#f00'</span><span class="p">,</span>
+ <span class="n">Name</span><span class="o">.</span><span class="n">Function</span><span class="p">:</span> <span class="s1">'#0f0'</span><span class="p">,</span>
+ <span class="n">Name</span><span class="o">.</span><span class="n">Class</span><span class="p">:</span> <span class="s1">'bold #0f0'</span><span class="p">,</span>
+ <span class="n">String</span><span class="p">:</span> <span class="s1">'bg:#eee #111'</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>That’s it. There are just a few rules. When you define a style for <cite>Name</cite>
+the style automatically also affects <cite>Name.Function</cite> and so on. If you
+defined <code class="docutils literal notranslate"><span class="pre">'bold'</span></code> and you don’t want boldface for a subtoken use <code class="docutils literal notranslate"><span class="pre">'nobold'</span></code>.</p>
+<p>(Philosophy: the styles aren’t written in CSS syntax since this way
+they can be used for a variety of formatters.)</p>
+<p><cite>default_style</cite> is the style inherited by all token types.</p>
+<p>To make the style usable for Pygments, you must</p>
+<ul class="simple">
+<li><p>either register it as a plugin (see <a class="reference internal" href="plugins.html"><span class="doc">the plugin docs</span></a>)</p></li>
+<li><p>or drop it into the <cite>styles</cite> subpackage of your Pygments distribution one style
+class per style, where the file name is the style name and the class name is
+<cite>StylenameClass</cite>. For example, if your style should be called
+<code class="docutils literal notranslate"><span class="pre">"mondrian"</span></code>, name the class <cite>MondrianStyle</cite>, put it into the file
+<code class="docutils literal notranslate"><span class="pre">mondrian.py</span></code> and this file into the <code class="docutils literal notranslate"><span class="pre">pygments.styles</span></code> subpackage
+directory.</p></li>
+</ul>
+</div>
+<div class="section" id="style-rules">
+<h2>Style Rules<a class="headerlink" href="#style-rules" title="Permalink to this headline">¶</a></h2>
+<p>Here a small overview of all allowed styles:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">bold</span></code></dt><dd><p>render text as bold</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">nobold</span></code></dt><dd><p>don’t render text as bold (to prevent subtokens being highlighted bold)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">italic</span></code></dt><dd><p>render text italic</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">noitalic</span></code></dt><dd><p>don’t render text as italic</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">underline</span></code></dt><dd><p>render text underlined</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">nounderline</span></code></dt><dd><p>don’t render text underlined</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bg:</span></code></dt><dd><p>transparent background</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bg:#000000</span></code></dt><dd><p>background color (black)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">border:</span></code></dt><dd><p>no border</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">border:#ffffff</span></code></dt><dd><p>border color (white)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">#ff0000</span></code></dt><dd><p>text color (red)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">noinherit</span></code></dt><dd><p>don’t inherit styles from supertoken</p>
+</dd>
+</dl>
+<p>Note that there may not be a space between <code class="docutils literal notranslate"><span class="pre">bg:</span></code> and the color value
+since the style definition string is split at whitespace.
+Also, using named colors is not allowed since the supported color names
+vary for different formatters.</p>
+<p>Furthermore, not all lexers might support every style.</p>
+</div>
+<div class="section" id="builtin-styles">
+<h2>Builtin Styles<a class="headerlink" href="#builtin-styles" title="Permalink to this headline">¶</a></h2>
+<p>Pygments ships some builtin styles which are maintained by the Pygments team.</p>
+<p>To get a list of known styles you can use this snippet:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.styles</span> <span class="kn">import</span> <span class="n">STYLE_MAP</span>
+<span class="gp">>>> </span><span class="n">STYLE_MAP</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
+<span class="go">['default', 'emacs', 'friendly', 'colorful']</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="getting-a-list-of-available-styles">
+<h2>Getting a list of available styles<a class="headerlink" href="#getting-a-list-of-available-styles" title="Permalink to this headline">¶</a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.6.</span></p>
+</div>
+<p>Because it could be that a plugin registered a style, there is
+a way to iterate over all styles:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.styles</span> <span class="kn">import</span> <span class="n">get_all_styles</span>
+<span class="gp">>>> </span><span class="n">styles</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">get_all_styles</span><span class="p">())</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="terminal-styles">
+<span id="ansiterminalstyle"></span><h2>Terminal Styles<a class="headerlink" href="#terminal-styles" title="Permalink to this headline">¶</a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 2.2.</span></p>
+</div>
+<p>Custom styles used with the 256-color terminal formatter can also map colors to
+use the 8 default ANSI colors. To do so, use <code class="docutils literal notranslate"><span class="pre">ansigreen</span></code>, <code class="docutils literal notranslate"><span class="pre">ansibrightred</span></code> or
+any other colors defined in <code class="xref py py-attr docutils literal notranslate"><span class="pre">pygments.style.ansicolors</span></code>. Foreground ANSI
+colors will be mapped to the corresponding <a class="reference external" href="https://en.wikipedia.org/wiki/ANSI_escape_code#Colors">escape codes 30 to 37</a> thus respecting any
+custom color mapping and themes provided by many terminal emulators. Light
+variants are treated as foreground color with and an added bold flag.
+<code class="docutils literal notranslate"><span class="pre">bg:ansi<color></span></code> will also be respected, except the light variant will be the
+same shade as their dark variant.</p>
+<p>See the following example where the color of the string <code class="docutils literal notranslate"><span class="pre">"hello</span> <span class="pre">world"</span></code> is
+governed by the escape sequence <code class="docutils literal notranslate"><span class="pre">\x1b[34;01m</span></code> (Ansi bright blue, Bold, 41 being red
+background) instead of an extended foreground & background color.</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments</span> <span class="kn">import</span> <span class="n">highlight</span>
+<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.style</span> <span class="kn">import</span> <span class="n">Style</span>
+<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Token</span>
+<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">Python3Lexer</span>
+<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">Terminal256Formatter</span>
+
+<span class="gp">>>> </span><span class="k">class</span> <span class="nc">MyStyle</span><span class="p">(</span><span class="n">Style</span><span class="p">):</span>
+<span class="go"> styles = {</span>
+<span class="go"> Token.String: 'ansibrightblue bg:ansibrightred',</span>
+<span class="go"> }</span>
+
+<span class="gp">>>> </span><span class="n">code</span> <span class="o">=</span> <span class="s1">'print("Hello World")'</span>
+<span class="gp">>>> </span><span class="n">result</span> <span class="o">=</span> <span class="n">highlight</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">Python3Lexer</span><span class="p">(),</span> <span class="n">Terminal256Formatter</span><span class="p">(</span><span class="n">style</span><span class="o">=</span><span class="n">MyStyle</span><span class="p">))</span>
+<span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">encode</span><span class="p">())</span>
+<span class="go">b'\x1b[34;41;01m"\x1b[39;49;00m\x1b[34;41;01mHello World\x1b[39;49;00m\x1b[34;41;01m"\x1b[39;49;00m'</span>
+</pre></div>
+</div>
+<p>Colors specified using <code class="docutils literal notranslate"><span class="pre">ansi*</span></code> are converted to a default set of RGB colors
+when used with formatters other than the terminal-256 formatter.</p>
+<p>By definition of ANSI, the following colors are considered “light” colors, and
+will be rendered by most terminals as bold:</p>
+<ul class="simple">
+<li><p>“brightblack” (darkgrey), “brightred”, “brightgreen”, “brightyellow”, “brightblue”,
+“brightmagenta”, “brightcyan”, “white”</p></li>
+</ul>
+<p>The following are considered “dark” colors and will be rendered as non-bold:</p>
+<ul class="simple">
+<li><p>“black”, “red”, “green”, “yellow”, “blue”, “magenta”, “cyan”,
+“gray”</p></li>
+</ul>
+<p>Exact behavior might depends on the terminal emulator you are using, and its
+settings.</p>
+<div class="versionchanged" id="new-ansi-color-names">
+<p><span class="versionmodified changed">Changed in version 2.4.</span></p>
+</div>
+<p>The definition of the ANSI color names has changed.
+New names are easier to understand and align to the colors used in other projects.</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 51%" />
+<col style="width: 49%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>New names</p></th>
+<th class="head"><p>Pygments up to 2.3</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansiblack</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansiblack</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansired</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansidarkred</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansigreen</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansidarkgreen</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansiyellow</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansibrown</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansiblue</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansidarkblue</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansimagenta</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansipurple</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansicyan</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansiteal</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansigray</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansilightgray</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightblack</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansidarkgray</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightred</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansired</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightgreen</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansigreen</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightyellow</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansiyellow</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightblue</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansiblue</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightmagenta</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansifuchsia</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansibrightcyan</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansiturquoise</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ansiwhite</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">#ansiwhite</span></code></p></td>
+</tr>
+</tbody>
+</table>
+<p>Old ANSI color names are deprecated but will still work.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Builtin Tokens — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="The full Pygments API" href="api.html" />
+ <link rel="prev" title="Unicode and Encodings" href="unicode.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Builtin Tokens</a><ul>
+<li><a class="reference internal" href="#keyword-tokens">Keyword Tokens</a></li>
+<li><a class="reference internal" href="#name-tokens">Name Tokens</a></li>
+<li><a class="reference internal" href="#literals">Literals</a></li>
+<li><a class="reference internal" href="#operators">Operators</a></li>
+<li><a class="reference internal" href="#punctuation">Punctuation</a></li>
+<li><a class="reference internal" href="#comments">Comments</a></li>
+<li><a class="reference internal" href="#generic-tokens">Generic Tokens</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="unicode.html"
+ title="previous chapter">Unicode and Encodings</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="api.html"
+ title="next chapter">The full Pygments API</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/tokens.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="module-pygments.token">
+<span id="builtin-tokens"></span><h1>Builtin Tokens<a class="headerlink" href="#module-pygments.token" title="Permalink to this headline">¶</a></h1>
+<p>In the <a class="reference internal" href="#module-pygments.token" title="pygments.token"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.token</span></code></a> module, there is a special object called <cite>Token</cite>
+that is used to create token types.</p>
+<p>You can create a new token type by accessing an attribute of <cite>Token</cite>:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Token</span>
+<span class="gp">>>> </span><span class="n">Token</span><span class="o">.</span><span class="n">String</span>
+<span class="go">Token.String</span>
+<span class="gp">>>> </span><span class="n">Token</span><span class="o">.</span><span class="n">String</span> <span class="ow">is</span> <span class="n">Token</span><span class="o">.</span><span class="n">String</span>
+<span class="go">True</span>
+</pre></div>
+</div>
+<p>Note that tokens are singletons so you can use the <code class="docutils literal notranslate"><span class="pre">is</span></code> operator for comparing
+token types.</p>
+<p>As of Pygments 0.7 you can also use the <code class="docutils literal notranslate"><span class="pre">in</span></code> operator to perform set tests:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">Comment</span>
+<span class="gp">>>> </span><span class="n">Comment</span><span class="o">.</span><span class="n">Single</span> <span class="ow">in</span> <span class="n">Comment</span>
+<span class="go">True</span>
+<span class="gp">>>> </span><span class="n">Comment</span> <span class="ow">in</span> <span class="n">Comment</span><span class="o">.</span><span class="n">Multi</span>
+<span class="go">False</span>
+</pre></div>
+</div>
+<p>This can be useful in <a class="reference internal" href="filters.html"><span class="doc">filters</span></a> and if you write lexers on your
+own without using the base lexers.</p>
+<p>You can also split a token type into a hierarchy, and get the parent of it:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">String</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
+<span class="go">[Token, Token.Literal, Token.Literal.String]</span>
+<span class="gp">>>> </span><span class="n">String</span><span class="o">.</span><span class="n">parent</span>
+<span class="go">Token.Literal</span>
+</pre></div>
+</div>
+<p>In principle, you can create an unlimited number of token types but nobody can
+guarantee that a style would define style rules for a token type. Because of
+that, Pygments proposes some global token types defined in the
+<cite>pygments.token.STANDARD_TYPES</cite> dict.</p>
+<p>For some tokens aliases are already defined:</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">String</span>
+<span class="gp">>>> </span><span class="n">String</span>
+<span class="go">Token.Literal.String</span>
+</pre></div>
+</div>
+<p>Inside the <a class="reference internal" href="#module-pygments.token" title="pygments.token"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pygments.token</span></code></a> module the following aliases are defined:</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 17%" />
+<col style="width: 36%" />
+<col style="width: 47%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><cite>Text</cite></p></td>
+<td><p><cite>Token.Text</cite></p></td>
+<td><p>for any type of text data</p></td>
+</tr>
+<tr class="row-even"><td><p><cite>Whitespace</cite></p></td>
+<td><p><cite>Token.Text.Whitespace</cite></p></td>
+<td><p>for specially highlighted whitespace</p></td>
+</tr>
+<tr class="row-odd"><td><p><cite>Error</cite></p></td>
+<td><p><cite>Token.Error</cite></p></td>
+<td><p>represents lexer errors</p></td>
+</tr>
+<tr class="row-even"><td><p><cite>Other</cite></p></td>
+<td><p><cite>Token.Other</cite></p></td>
+<td><p>special token for data not
+matched by a parser (e.g. HTML
+markup in PHP code)</p></td>
+</tr>
+<tr class="row-odd"><td><p><cite>Keyword</cite></p></td>
+<td><p><cite>Token.Keyword</cite></p></td>
+<td><p>any kind of keywords</p></td>
+</tr>
+<tr class="row-even"><td><p><cite>Name</cite></p></td>
+<td><p><cite>Token.Name</cite></p></td>
+<td><p>variable/function names</p></td>
+</tr>
+<tr class="row-odd"><td><p><cite>Literal</cite></p></td>
+<td><p><cite>Token.Literal</cite></p></td>
+<td><p>Any literals</p></td>
+</tr>
+<tr class="row-even"><td><p><cite>String</cite></p></td>
+<td><p><cite>Token.Literal.String</cite></p></td>
+<td><p>string literals</p></td>
+</tr>
+<tr class="row-odd"><td><p><cite>Number</cite></p></td>
+<td><p><cite>Token.Literal.Number</cite></p></td>
+<td><p>number literals</p></td>
+</tr>
+<tr class="row-even"><td><p><cite>Operator</cite></p></td>
+<td><p><cite>Token.Operator</cite></p></td>
+<td><p>operators (<code class="docutils literal notranslate"><span class="pre">+</span></code>, <code class="docutils literal notranslate"><span class="pre">not</span></code>…)</p></td>
+</tr>
+<tr class="row-odd"><td><p><cite>Punctuation</cite></p></td>
+<td><p><cite>Token.Punctuation</cite></p></td>
+<td><p>punctuation (<code class="docutils literal notranslate"><span class="pre">[</span></code>, <code class="docutils literal notranslate"><span class="pre">(</span></code>…)</p></td>
+</tr>
+<tr class="row-even"><td><p><cite>Comment</cite></p></td>
+<td><p><cite>Token.Comment</cite></p></td>
+<td><p>any kind of comments</p></td>
+</tr>
+<tr class="row-odd"><td><p><cite>Generic</cite></p></td>
+<td><p><cite>Token.Generic</cite></p></td>
+<td><p>generic tokens (have a look at
+the explanation below)</p></td>
+</tr>
+</tbody>
+</table>
+<p>The <cite>Whitespace</cite> token type is new in Pygments 0.8. It is used only by the
+<cite>VisibleWhitespaceFilter</cite> currently.</p>
+<p>Normally you just create token types using the already defined aliases. For each
+of those token aliases, a number of subtypes exists (excluding the special tokens
+<cite>Token.Text</cite>, <cite>Token.Error</cite> and <cite>Token.Other</cite>)</p>
+<p>The <cite>is_token_subtype()</cite> function in the <cite>pygments.token</cite> module can be used to
+test if a token type is a subtype of another (such as <cite>Name.Tag</cite> and <cite>Name</cite>).
+(This is the same as <code class="docutils literal notranslate"><span class="pre">Name.Tag</span> <span class="pre">in</span> <span class="pre">Name</span></code>. The overloaded <cite>in</cite> operator was newly
+introduced in Pygments 0.7, the function still exists for backwards
+compatibility.)</p>
+<p>With Pygments 0.7, it’s also possible to convert strings to token types (for example
+if you want to supply a token from the command line):</p>
+<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygments.token</span> <span class="kn">import</span> <span class="n">String</span><span class="p">,</span> <span class="n">string_to_tokentype</span>
+<span class="gp">>>> </span><span class="n">string_to_tokentype</span><span class="p">(</span><span class="s2">"String"</span><span class="p">)</span>
+<span class="go">Token.Literal.String</span>
+<span class="gp">>>> </span><span class="n">string_to_tokentype</span><span class="p">(</span><span class="s2">"Token.Literal.String"</span><span class="p">)</span>
+<span class="go">Token.Literal.String</span>
+<span class="gp">>>> </span><span class="n">string_to_tokentype</span><span class="p">(</span><span class="n">String</span><span class="p">)</span>
+<span class="go">Token.Literal.String</span>
+</pre></div>
+</div>
+<div class="section" id="keyword-tokens">
+<h2>Keyword Tokens<a class="headerlink" href="#keyword-tokens" title="Permalink to this headline">¶</a></h2>
+<dl class="simple">
+<dt><cite>Keyword</cite></dt><dd><p>For any kind of keyword (especially if it doesn’t match any of the
+subtypes of course).</p>
+</dd>
+<dt><cite>Keyword.Constant</cite></dt><dd><p>For keywords that are constants (e.g. <code class="docutils literal notranslate"><span class="pre">None</span></code> in future Python versions).</p>
+</dd>
+<dt><cite>Keyword.Declaration</cite></dt><dd><p>For keywords used for variable declaration (e.g. <code class="docutils literal notranslate"><span class="pre">var</span></code> in some programming
+languages like JavaScript).</p>
+</dd>
+<dt><cite>Keyword.Namespace</cite></dt><dd><p>For keywords used for namespace declarations (e.g. <code class="docutils literal notranslate"><span class="pre">import</span></code> in Python and
+Java and <code class="docutils literal notranslate"><span class="pre">package</span></code> in Java).</p>
+</dd>
+<dt><cite>Keyword.Pseudo</cite></dt><dd><p>For keywords that aren’t really keywords (e.g. <code class="docutils literal notranslate"><span class="pre">None</span></code> in old Python
+versions).</p>
+</dd>
+<dt><cite>Keyword.Reserved</cite></dt><dd><p>For reserved keywords.</p>
+</dd>
+<dt><cite>Keyword.Type</cite></dt><dd><p>For builtin types that can’t be used as identifiers (e.g. <code class="docutils literal notranslate"><span class="pre">int</span></code>,
+<code class="docutils literal notranslate"><span class="pre">char</span></code> etc. in C).</p>
+</dd>
+</dl>
+</div>
+<div class="section" id="name-tokens">
+<h2>Name Tokens<a class="headerlink" href="#name-tokens" title="Permalink to this headline">¶</a></h2>
+<dl class="simple">
+<dt><cite>Name</cite></dt><dd><p>For any name (variable names, function names, classes).</p>
+</dd>
+<dt><cite>Name.Attribute</cite></dt><dd><p>For all attributes (e.g. in HTML tags).</p>
+</dd>
+<dt><cite>Name.Builtin</cite></dt><dd><p>Builtin names; names that are available in the global namespace.</p>
+</dd>
+<dt><cite>Name.Builtin.Pseudo</cite></dt><dd><p>Builtin names that are implicit (e.g. <code class="docutils literal notranslate"><span class="pre">self</span></code> in Ruby, <code class="docutils literal notranslate"><span class="pre">this</span></code> in Java).</p>
+</dd>
+<dt><cite>Name.Class</cite></dt><dd><p>Class names. Because no lexer can know if a name is a class or a function
+or something else this token is meant for class declarations.</p>
+</dd>
+<dt><cite>Name.Constant</cite></dt><dd><p>Token type for constants. In some languages you can recognise a token by the
+way it’s defined (the value after a <code class="docutils literal notranslate"><span class="pre">const</span></code> keyword for example). In
+other languages constants are uppercase by definition (Ruby).</p>
+</dd>
+<dt><cite>Name.Decorator</cite></dt><dd><p>Token type for decorators. Decorators are syntactic elements in the Python
+language. Similar syntax elements exist in C# and Java.</p>
+</dd>
+<dt><cite>Name.Entity</cite></dt><dd><p>Token type for special entities. (e.g. <code class="docutils literal notranslate"><span class="pre">&nbsp;</span></code> in HTML).</p>
+</dd>
+<dt><cite>Name.Exception</cite></dt><dd><p>Token type for exception names (e.g. <code class="docutils literal notranslate"><span class="pre">RuntimeError</span></code> in Python). Some languages
+define exceptions in the function signature (Java). You can highlight
+the name of that exception using this token then.</p>
+</dd>
+<dt><cite>Name.Function</cite></dt><dd><p>Token type for function names.</p>
+</dd>
+<dt><cite>Name.Function.Magic</cite></dt><dd><p>same as <cite>Name.Function</cite> but for special function names that have an implicit use
+in a language (e.g. <code class="docutils literal notranslate"><span class="pre">__init__</span></code> method in Python).</p>
+</dd>
+<dt><cite>Name.Label</cite></dt><dd><p>Token type for label names (e.g. in languages that support <code class="docutils literal notranslate"><span class="pre">goto</span></code>).</p>
+</dd>
+<dt><cite>Name.Namespace</cite></dt><dd><p>Token type for namespaces. (e.g. import paths in Java/Python), names following
+the <code class="docutils literal notranslate"><span class="pre">module</span></code>/<code class="docutils literal notranslate"><span class="pre">namespace</span></code> keyword in other languages.</p>
+</dd>
+<dt><cite>Name.Other</cite></dt><dd><p>Other names. Normally unused.</p>
+</dd>
+<dt><cite>Name.Tag</cite></dt><dd><p>Tag names (in HTML/XML markup or configuration files).</p>
+</dd>
+<dt><cite>Name.Variable</cite></dt><dd><p>Token type for variables. Some languages have prefixes for variable names
+(PHP, Ruby, Perl). You can highlight them using this token.</p>
+</dd>
+<dt><cite>Name.Variable.Class</cite></dt><dd><p>same as <cite>Name.Variable</cite> but for class variables (also static variables).</p>
+</dd>
+<dt><cite>Name.Variable.Global</cite></dt><dd><p>same as <cite>Name.Variable</cite> but for global variables (used in Ruby, for
+example).</p>
+</dd>
+<dt><cite>Name.Variable.Instance</cite></dt><dd><p>same as <cite>Name.Variable</cite> but for instance variables.</p>
+</dd>
+<dt><cite>Name.Variable.Magic</cite></dt><dd><p>same as <cite>Name.Variable</cite> but for special variable names that have an implicit use
+in a language (e.g. <code class="docutils literal notranslate"><span class="pre">__doc__</span></code> in Python).</p>
+</dd>
+</dl>
+</div>
+<div class="section" id="literals">
+<h2>Literals<a class="headerlink" href="#literals" title="Permalink to this headline">¶</a></h2>
+<dl class="simple">
+<dt><cite>Literal</cite></dt><dd><p>For any literal (if not further defined).</p>
+</dd>
+<dt><cite>Literal.Date</cite></dt><dd><p>for date literals (e.g. <code class="docutils literal notranslate"><span class="pre">42d</span></code> in Boo).</p>
+</dd>
+<dt><cite>String</cite></dt><dd><p>For any string literal.</p>
+</dd>
+<dt><cite>String.Affix</cite></dt><dd><p>Token type for affixes that further specify the type of the string they’re
+attached to (e.g. the prefixes <code class="docutils literal notranslate"><span class="pre">r</span></code> and <code class="docutils literal notranslate"><span class="pre">u8</span></code> in <code class="docutils literal notranslate"><span class="pre">r"foo"</span></code> and <code class="docutils literal notranslate"><span class="pre">u8"foo"</span></code>).</p>
+</dd>
+<dt><cite>String.Backtick</cite></dt><dd><p>Token type for strings enclosed in backticks.</p>
+</dd>
+<dt><cite>String.Char</cite></dt><dd><p>Token type for single characters (e.g. Java, C).</p>
+</dd>
+<dt><cite>String.Delimiter</cite></dt><dd><p>Token type for delimiting identifiers in “heredoc”, raw and other similar
+strings (e.g. the word <code class="docutils literal notranslate"><span class="pre">END</span></code> in Perl code <code class="docutils literal notranslate"><span class="pre">print</span> <span class="pre"><<'END';</span></code>).</p>
+</dd>
+<dt><cite>String.Doc</cite></dt><dd><p>Token type for documentation strings (for example Python).</p>
+</dd>
+<dt><cite>String.Double</cite></dt><dd><p>Double quoted strings.</p>
+</dd>
+<dt><cite>String.Escape</cite></dt><dd><p>Token type for escape sequences in strings.</p>
+</dd>
+<dt><cite>String.Heredoc</cite></dt><dd><p>Token type for “heredoc” strings (e.g. in Ruby or Perl).</p>
+</dd>
+<dt><cite>String.Interpol</cite></dt><dd><p>Token type for interpolated parts in strings (e.g. <code class="docutils literal notranslate"><span class="pre">#{foo}</span></code> in Ruby).</p>
+</dd>
+<dt><cite>String.Other</cite></dt><dd><p>Token type for any other strings (for example <code class="docutils literal notranslate"><span class="pre">%q{foo}</span></code> string constructs
+in Ruby).</p>
+</dd>
+<dt><cite>String.Regex</cite></dt><dd><p>Token type for regular expression literals (e.g. <code class="docutils literal notranslate"><span class="pre">/foo/</span></code> in JavaScript).</p>
+</dd>
+<dt><cite>String.Single</cite></dt><dd><p>Token type for single quoted strings.</p>
+</dd>
+<dt><cite>String.Symbol</cite></dt><dd><p>Token type for symbols (e.g. <code class="docutils literal notranslate"><span class="pre">:foo</span></code> in LISP or Ruby).</p>
+</dd>
+<dt><cite>Number</cite></dt><dd><p>Token type for any number literal.</p>
+</dd>
+<dt><cite>Number.Bin</cite></dt><dd><p>Token type for binary literals (e.g. <code class="docutils literal notranslate"><span class="pre">0b101010</span></code>).</p>
+</dd>
+<dt><cite>Number.Float</cite></dt><dd><p>Token type for float literals (e.g. <code class="docutils literal notranslate"><span class="pre">42.0</span></code>).</p>
+</dd>
+<dt><cite>Number.Hex</cite></dt><dd><p>Token type for hexadecimal number literals (e.g. <code class="docutils literal notranslate"><span class="pre">0xdeadbeef</span></code>).</p>
+</dd>
+<dt><cite>Number.Integer</cite></dt><dd><p>Token type for integer literals (e.g. <code class="docutils literal notranslate"><span class="pre">42</span></code>).</p>
+</dd>
+<dt><cite>Number.Integer.Long</cite></dt><dd><p>Token type for long integer literals (e.g. <code class="docutils literal notranslate"><span class="pre">42L</span></code> in Python).</p>
+</dd>
+<dt><cite>Number.Oct</cite></dt><dd><p>Token type for octal literals.</p>
+</dd>
+</dl>
+</div>
+<div class="section" id="operators">
+<h2>Operators<a class="headerlink" href="#operators" title="Permalink to this headline">¶</a></h2>
+<dl class="simple">
+<dt><cite>Operator</cite></dt><dd><p>For any punctuation operator (e.g. <code class="docutils literal notranslate"><span class="pre">+</span></code>, <code class="docutils literal notranslate"><span class="pre">-</span></code>).</p>
+</dd>
+<dt><cite>Operator.Word</cite></dt><dd><p>For any operator that is a word (e.g. <code class="docutils literal notranslate"><span class="pre">not</span></code>).</p>
+</dd>
+</dl>
+</div>
+<div class="section" id="punctuation">
+<h2>Punctuation<a class="headerlink" href="#punctuation" title="Permalink to this headline">¶</a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7.</span></p>
+</div>
+<dl class="simple">
+<dt><cite>Punctuation</cite></dt><dd><p>For any punctuation which is not an operator (e.g. <code class="docutils literal notranslate"><span class="pre">[</span></code>, <code class="docutils literal notranslate"><span class="pre">(</span></code>…)</p>
+</dd>
+</dl>
+</div>
+<div class="section" id="comments">
+<h2>Comments<a class="headerlink" href="#comments" title="Permalink to this headline">¶</a></h2>
+<dl class="simple">
+<dt><cite>Comment</cite></dt><dd><p>Token type for any comment.</p>
+</dd>
+<dt><cite>Comment.Hashbang</cite></dt><dd><dl class="simple">
+<dt>Token type for hashbang comments (i.e. first lines of files that start with</dt><dd><p><code class="docutils literal notranslate"><span class="pre">#!</span></code>).</p>
+</dd>
+</dl>
+</dd>
+<dt><cite>Comment.Multiline</cite></dt><dd><p>Token type for multiline comments.</p>
+</dd>
+<dt><cite>Comment.Preproc</cite></dt><dd><p>Token type for preprocessor comments (also <code class="docutils literal notranslate"><span class="pre"><?php</span></code>/<code class="docutils literal notranslate"><span class="pre"><%</span></code> constructs).</p>
+</dd>
+<dt><cite>Comment.Single</cite></dt><dd><p>Token type for comments that end at the end of a line (e.g. <code class="docutils literal notranslate"><span class="pre">#</span> <span class="pre">foo</span></code>).</p>
+</dd>
+<dt><cite>Comment.Special</cite></dt><dd><p>Special data in comments. For example code tags, author and license
+information, etc.</p>
+</dd>
+</dl>
+</div>
+<div class="section" id="generic-tokens">
+<h2>Generic Tokens<a class="headerlink" href="#generic-tokens" title="Permalink to this headline">¶</a></h2>
+<p>Generic tokens are for special lexers like the <cite>DiffLexer</cite> that doesn’t really
+highlight a programming language but a patch file.</p>
+<dl class="simple">
+<dt><cite>Generic</cite></dt><dd><p>A generic, unstyled token. Normally you don’t use this token type.</p>
+</dd>
+<dt><cite>Generic.Deleted</cite></dt><dd><p>Marks the token value as deleted.</p>
+</dd>
+<dt><cite>Generic.Emph</cite></dt><dd><p>Marks the token value as emphasized.</p>
+</dd>
+<dt><cite>Generic.Error</cite></dt><dd><p>Marks the token value as an error message.</p>
+</dd>
+<dt><cite>Generic.Heading</cite></dt><dd><p>Marks the token value as headline.</p>
+</dd>
+<dt><cite>Generic.Inserted</cite></dt><dd><p>Marks the token value as inserted.</p>
+</dd>
+<dt><cite>Generic.Output</cite></dt><dd><p>Marks the token value as program output (e.g. for python cli lexer).</p>
+</dd>
+<dt><cite>Generic.Prompt</cite></dt><dd><p>Marks the token value as command prompt (e.g. bash lexer).</p>
+</dd>
+<dt><cite>Generic.Strong</cite></dt><dd><p>Marks the token value as bold (e.g. for rst lexer).</p>
+</dd>
+<dt><cite>Generic.Subheading</cite></dt><dd><p>Marks the token value as subheadline.</p>
+</dd>
+<dt><cite>Generic.Traceback</cite></dt><dd><p>Marks the token value as a part of an error traceback.</p>
+</dd>
+</dl>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Unicode and Encodings — Pygments</title>
+ <link rel="stylesheet" href="../_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/language_data.js"></script>
+ <link rel="shortcut icon" href="../_static/favicon.ico"/>
+ <link rel="index" title="Index" href="../genindex.html" />
+ <link rel="search" title="Search" href="../search.html" />
+ <link rel="next" title="Builtin Tokens" href="tokens.html" />
+ <link rel="prev" title="Styles" href="styles.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="../index.html">Home</a></li>
+
+ <li><a href="../languages.html">Languages</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../download.html">Get it</a></li>
+ <li><a href="index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="../index.html">
+ <img src="../_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="styles.html"
+ title="previous chapter">Styles</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="tokens.html"
+ title="next chapter">Builtin Tokens</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="../_sources/docs/unicode.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="unicode-and-encodings">
+<h1>Unicode and Encodings<a class="headerlink" href="#unicode-and-encodings" title="Permalink to this headline">¶</a></h1>
+<p>Since Pygments 0.6, all lexers use unicode strings internally. Because of that
+you might encounter the occasional <code class="xref py py-exc docutils literal notranslate"><span class="pre">UnicodeDecodeError</span></code> if you pass strings
+with the wrong encoding.</p>
+<p>Per default all lexers have their input encoding set to <cite>guess</cite>. This means
+that the following encodings are tried:</p>
+<ul class="simple">
+<li><p>UTF-8 (including BOM handling)</p></li>
+<li><p>The locale encoding (i.e. the result of <cite>locale.getpreferredencoding()</cite>)</p></li>
+<li><p>As a last resort, <cite>latin1</cite></p></li>
+</ul>
+<p>If you pass a lexer a byte string object (not unicode), it tries to decode the
+data using this encoding.</p>
+<p>You can override the encoding using the <cite>encoding</cite> or <cite>inencoding</cite> lexer
+options. If you have the <a class="reference external" href="https://chardet.github.io/">chardet</a> library installed and set the encoding to
+<code class="docutils literal notranslate"><span class="pre">chardet</span></code> if will analyse the text and use the encoding it thinks is the
+right one automatically:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.lexers</span> <span class="kn">import</span> <span class="n">PythonLexer</span>
+<span class="n">lexer</span> <span class="o">=</span> <span class="n">PythonLexer</span><span class="p">(</span><span class="n">encoding</span><span class="o">=</span><span class="s1">'chardet'</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>The best way is to pass Pygments unicode objects. In that case you can’t get
+unexpected output.</p>
+<p>The formatters now send Unicode objects to the stream if you don’t set the
+output encoding. You can do so by passing the formatters an <cite>encoding</cite> option:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pygments.formatters</span> <span class="kn">import</span> <span class="n">HtmlFormatter</span>
+<span class="n">f</span> <span class="o">=</span> <span class="n">HtmlFormatter</span><span class="p">(</span><span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span>
+</pre></div>
+</div>
+<p><strong>You will have to set this option if you have non-ASCII characters in the
+source and the output stream does not accept Unicode written to it!</strong>
+This is the case for all regular files and for terminals.</p>
+<p>Note: The Terminal formatter tries to be smart: if its output stream has an
+<cite>encoding</cite> attribute, and you haven’t set the option, it will encode any
+Unicode string with this encoding before writing it. This is the case for
+<cite>sys.stdout</cite>, for example. The other formatters don’t have that behavior.</p>
+<p>Another note: If you call Pygments via the command line (<cite>pygmentize</cite>),
+encoding is handled differently, see <a class="reference internal" href="cmdline.html"><span class="doc">the command line docs</span></a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 0.7: </span>The formatters now also accept an <cite>outencoding</cite> option which will override
+the <cite>encoding</cite> option if given. This makes it possible to use a single
+options dict with lexers and formatters, and still have different input and
+output encodings.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Download and installation — Pygments</title>
+ <link rel="stylesheet" href="_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="_static/language_data.js"></script>
+ <link rel="shortcut icon" href="_static/favicon.ico"/>
+ <link rel="index" title="Index" href="genindex.html" />
+ <link rel="search" title="Search" href="search.html" />
+ <link rel="next" title="Introduction and Quickstart" href="docs/quickstart.html" />
+ <link rel="prev" title="Pygments documentation" href="docs/index.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="index.html">Home</a></li>
+
+ <li><a href="languages.html">Languages</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="#">Get it</a></li>
+ <li><a href="docs/index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="index.html">
+ <img src="_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Download and installation</a><ul>
+<li><a class="reference internal" href="#packaged-versions">Packaged versions</a></li>
+<li><a class="reference internal" href="#development-sources">Development sources</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="docs/index.html"
+ title="previous chapter">Pygments documentation</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="docs/quickstart.html"
+ title="next chapter">Introduction and Quickstart</a></p>
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/download.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="download-and-installation">
+<h1>Download and installation<a class="headerlink" href="#download-and-installation" title="Permalink to this headline">¶</a></h1>
+<p>The current release is version 2.4.2.</p>
+<div class="section" id="packaged-versions">
+<h2>Packaged versions<a class="headerlink" href="#packaged-versions" title="Permalink to this headline">¶</a></h2>
+<p>You can download it <a class="reference external" href="http://pypi.python.org/pypi/Pygments">from the Python Package Index</a>. For installation of packages from
+PyPI, we recommend <a class="reference external" href="http://www.pip-installer.org">Pip</a>, which works on all
+major platforms.</p>
+<p>Under Linux, most distributions include a package for Pygments, usually called
+<code class="docutils literal notranslate"><span class="pre">pygments</span></code> or <code class="docutils literal notranslate"><span class="pre">python-pygments</span></code>. You can install it with the package
+manager as usual.</p>
+</div>
+<div class="section" id="development-sources">
+<h2>Development sources<a class="headerlink" href="#development-sources" title="Permalink to this headline">¶</a></h2>
+<p>We’re using the Git version control system. You can get the development source
+using this command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">pygments</span><span class="o">/</span><span class="n">pygments</span>
+</pre></div>
+</div>
+<p>Development takes place at <a class="reference external" href="https://github.com/pygments/pygments">GitHub</a>.</p>
+<p>The latest changes in the development source code are listed in the <a class="reference external" href="https://github.com/pygments/pygments/blob/master/CHANGES">changelog</a>.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Pygments FAQ — Pygments</title>
+ <link rel="stylesheet" href="_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="_static/language_data.js"></script>
+ <link rel="shortcut icon" href="_static/favicon.ico"/>
+ <link rel="index" title="Index" href="genindex.html" />
+ <link rel="search" title="Search" href="search.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="index.html">Home</a></li>
+
+ <li><a href="languages.html">Languages</a></li>
+ <li><a href="#">FAQ</a></li>
+ <li><a href="download.html">Get it</a></li>
+ <li><a href="docs/index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="index.html">
+ <img src="_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Pygments FAQ</a><ul>
+<li><a class="reference internal" href="#what-is-pygments">What is Pygments?</a></li>
+<li><a class="reference internal" href="#where-does-the-name-pygments-come-from">Where does the name Pygments come from?</a></li>
+<li><a class="reference internal" href="#what-are-the-system-requirements">What are the system requirements?</a></li>
+<li><a class="reference internal" href="#how-can-i-use-pygments">How can I use Pygments?</a></li>
+<li><a class="reference internal" href="#how-do-i-make-a-new-style">How do I make a new style?</a></li>
+<li><a class="reference internal" href="#how-can-i-report-a-bug-or-suggest-a-feature">How can I report a bug or suggest a feature?</a></li>
+<li><a class="reference internal" href="#i-want-this-support-for-this-language">I want this support for this language!</a></li>
+<li><a class="reference internal" href="#can-i-use-pygments-for-programming-language-processing">Can I use Pygments for programming language processing?</a></li>
+<li><a class="reference internal" href="#who-uses-pygments">Who uses Pygments?</a></li>
+</ul>
+</li>
+</ul>
+
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/faq.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="pygments-faq">
+<h1>Pygments FAQ<a class="headerlink" href="#pygments-faq" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="what-is-pygments">
+<h2>What is Pygments?<a class="headerlink" href="#what-is-pygments" title="Permalink to this headline">¶</a></h2>
+<p>Pygments is a syntax highlighting engine written in Python. That means, it will
+take source code (or other markup) in a supported language and output a
+processed version (in different formats) containing syntax highlighting markup.</p>
+<p>Its features include:</p>
+<ul class="simple">
+<li><p>a wide range of common <a class="reference internal" href="languages.html"><span class="doc">languages and markup formats</span></a> is supported</p></li>
+<li><p>new languages and formats are added easily</p></li>
+<li><p>a number of output formats is available, including:</p>
+<ul>
+<li><p>HTML</p></li>
+<li><p>ANSI sequences (console output)</p></li>
+<li><p>LaTeX</p></li>
+<li><p>RTF</p></li>
+</ul>
+</li>
+<li><p>it is usable as a command-line tool and as a library</p></li>
+<li><p>parsing and formatting is fast</p></li>
+</ul>
+<p>Pygments is licensed under the BSD license.</p>
+</div>
+<div class="section" id="where-does-the-name-pygments-come-from">
+<h2>Where does the name Pygments come from?<a class="headerlink" href="#where-does-the-name-pygments-come-from" title="Permalink to this headline">¶</a></h2>
+<p><em>Py</em> of course stands for Python, while <em>pigments</em> are used for coloring paint,
+and in this case, source code!</p>
+</div>
+<div class="section" id="what-are-the-system-requirements">
+<h2>What are the system requirements?<a class="headerlink" href="#what-are-the-system-requirements" title="Permalink to this headline">¶</a></h2>
+<p>Pygments only needs a standard Python install, version 2.7 or higher or version
+3.5 or higher for Python 3. No additional libraries are needed.</p>
+</div>
+<div class="section" id="how-can-i-use-pygments">
+<h2>How can I use Pygments?<a class="headerlink" href="#how-can-i-use-pygments" title="Permalink to this headline">¶</a></h2>
+<p>Pygments is usable as a command-line tool as well as a library.</p>
+<p>From the command-line, usage looks like this (assuming the pygmentize script is
+properly installed):</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pygmentize</span> <span class="o">-</span><span class="n">f</span> <span class="n">html</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">file</span><span class="o">.</span><span class="n">py</span>
+</pre></div>
+</div>
+<p>This will print a HTML-highlighted version of /path/to/file.py to standard output.</p>
+<p>For a complete help, please run <code class="docutils literal notranslate"><span class="pre">pygmentize</span> <span class="pre">-h</span></code>.</p>
+<p>Usage as a library is thoroughly demonstrated in the Documentation section.</p>
+</div>
+<div class="section" id="how-do-i-make-a-new-style">
+<h2>How do I make a new style?<a class="headerlink" href="#how-do-i-make-a-new-style" title="Permalink to this headline">¶</a></h2>
+<p>Please see the <a class="reference internal" href="docs/styles.html"><span class="doc">documentation on styles</span></a>.</p>
+</div>
+<div class="section" id="how-can-i-report-a-bug-or-suggest-a-feature">
+<h2>How can I report a bug or suggest a feature?<a class="headerlink" href="#how-can-i-report-a-bug-or-suggest-a-feature" title="Permalink to this headline">¶</a></h2>
+<p>Please report bugs and feature wishes in the tracker at GitHub.</p>
+<p>You can also e-mail the authors, see the contact details.</p>
+</div>
+<div class="section" id="i-want-this-support-for-this-language">
+<h2>I want this support for this language!<a class="headerlink" href="#i-want-this-support-for-this-language" title="Permalink to this headline">¶</a></h2>
+<p>Instead of waiting for others to include language support, why not write it
+yourself? All you have to know is <a class="reference internal" href="docs/lexerdevelopment.html"><span class="doc">outlined in the docs</span></a>.</p>
+</div>
+<div class="section" id="can-i-use-pygments-for-programming-language-processing">
+<h2>Can I use Pygments for programming language processing?<a class="headerlink" href="#can-i-use-pygments-for-programming-language-processing" title="Permalink to this headline">¶</a></h2>
+<p>The Pygments lexing machinery is quite powerful can be used to build lexers for
+basically all languages. However, parsing them is not possible, though some
+lexers go some steps in this direction in order to e.g. highlight function names
+differently.</p>
+<p>Also, error reporting is not the scope of Pygments. It focuses on correctly
+highlighting syntactically valid documents, not finding and compensating errors.</p>
+</div>
+<div class="section" id="who-uses-pygments">
+<h2>Who uses Pygments?<a class="headerlink" href="#who-uses-pygments" title="Permalink to this headline">¶</a></h2>
+<p>This is an (incomplete) list of projects and sites known to use the Pygments highlighter.</p>
+<ul class="simple">
+<li><p><a class="reference external" href="http://en.wikipedia.org">Wikipedia</a></p></li>
+<li><p><a class="reference external" href="http://bitbucket.org/">BitBucket</a>, a Mercurial and Git hosting site</p></li>
+<li><p><a class="reference external" href="http://sphinx.pocoo.org/">The Sphinx documentation builder</a>, for embedded source examples</p></li>
+<li><p><a class="reference external" href="http://code.google.com/p/rst2pdf/">rst2pdf</a>, a reStructuredText to PDF converter</p></li>
+<li><p><a class="reference external" href="http://codecov.io/">Codecov</a>, a code coverage CI service</p></li>
+<li><p><a class="reference external" href="http://trac.edgewall.org/">Trac</a>, the universal project management tool</p></li>
+<li><p><a class="reference external" href="http://www.methods.co.nz/asciidoc/">AsciiDoc</a>, a text-based documentation generator</p></li>
+<li><p><a class="reference external" href="http://code.activestate.com/">ActiveState Code</a>, the Python Cookbook successor</p></li>
+<li><p><a class="reference external" href="http://viewvc.org/">ViewVC</a>, a web-based version control repository browser</p></li>
+<li><p><a class="reference external" href="http://repo.or.cz/w/bzrfruit.git">BzrFruit</a>, a Bazaar branch viewer</p></li>
+<li><p><a class="reference external" href="http://bazaar-vcs.org/QBzr">QBzr</a>, a cross-platform Qt-based GUI front end for Bazaar</p></li>
+<li><p><a class="reference external" href="http://www.review-board.org/">Review Board</a>, a collaborative code reviewing tool</p></li>
+<li><p><a class="reference external" href="http://code.google.com/p/diamanda/">Diamanda</a>, a Django powered wiki system with support for Pygments</p></li>
+<li><p><a class="reference external" href="http://progopedia.ru/">Progopedia</a> (<a class="reference external" href="http://progopedia.com/">English</a>),
+an encyclopedia of programming languages</p></li>
+<li><p><a class="reference external" href="http://r1chardj0n3s.googlepages.com/bruce">Bruce</a>, a reStructuredText presentation tool</p></li>
+<li><p><a class="reference external" href="http://pida.co.uk/">PIDA</a>, a universal IDE written in Python</p></li>
+<li><p><a class="reference external" href="http://www.noiseforfree.com/bpython/">BPython</a>, a curses-based intelligent Python shell</p></li>
+<li><p><a class="reference external" href="http://pypi.python.org/pypi/pudb">PuDB</a>, a console Python debugger</p></li>
+<li><p><a class="reference external" href="http://www.xwiki.org/">XWiki</a>, a wiki-based development framework in Java, using Jython</p></li>
+<li><p><a class="reference external" href="http://ananelson.com/software/roux/">roux</a>, a script for running R scripts
+and creating beautiful output including graphs</p></li>
+<li><p><a class="reference external" href="http://hurl.it/">hurl</a>, a web service for making HTTP requests</p></li>
+<li><p><a class="reference external" href="http://colinbarnette.net/projects/wxHTMLPygmentizer">wxHTMLPygmentizer</a> is
+a GUI utility, used to make code-colorization easier</p></li>
+<li><p><a class="reference external" href="http://code.google.com/p/postmarkup/">Postmarkup</a>, a BBCode to XHTML generator</p></li>
+<li><p><a class="reference external" href="http://blog.mirotin.net/?page_id=49">WpPygments</a>, and <a class="reference external" href="https://github.com/capynet/WPygments">WPygments</a>, highlighter plugins for WordPress</p></li>
+<li><p><a class="reference external" href="http://siafoo.net">Siafoo</a>, a tool for sharing and storing useful code and programming experience</p></li>
+<li><p><a class="reference external" href="http://www.dsource.org/">D source</a>, a community for the D programming language</p></li>
+<li><p><a class="reference external" href="http://dpaste.com/">dpaste.com</a>, another Django pastebin</p></li>
+<li><p><a class="reference external" href="http://www.djangosnippets.org/">Django snippets</a>, a pastebin for Django code</p></li>
+<li><p><a class="reference external" href="http://www.fayaa.com/code/">Fayaa</a>, a Chinese pastebin</p></li>
+<li><p><a class="reference external" href="http://incollo.com">Incollo.com</a>, a free collaborative debugging tool</p></li>
+<li><p><a class="reference external" href="http://p.boxnet.eu/">PasteBox</a>, a pastebin focused on privacy</p></li>
+<li><p><a class="reference external" href="http://www.hilite.me/">hilite.me</a>, a site to highlight code snippets</p></li>
+<li><p><a class="reference external" href="http://patx.me/paste">patx.me</a>, a pastebin</p></li>
+<li><p><a class="reference external" href="https://github.com/richsmith/fluidic">Fluidic</a>, an experiment in
+integrating shells with a GUI</p></li>
+<li><p><a class="reference external" href="https://github.com/tmm1/pygments.rb">pygments.rb</a>, a pygments wrapper for Ruby</p></li>
+<li><p><a class="reference external" href="https://github.com/bfontaine/clygments">Clygments</a>, a pygments wrapper for
+Clojure</p></li>
+<li><p><a class="reference external" href="https://github.com/capynet/PHPygments">PHPygments</a>, a pygments wrapper for PHP</p></li>
+<li><p><a class="reference external" href="https://www.spyder-ide.org/">Spyder</a>, the Scientific Python Development
+Environment, uses pygments for the multi-language syntax highlighting in its
+<a class="reference external" href="https://docs.spyder-ide.org/editor.html">editor</a>.</p></li>
+</ul>
+<p>If you have a project or web site using Pygments, drop me a line, and I’ll add a
+link here.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Index — Pygments</title>
+ <link rel="stylesheet" href="_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="_static/language_data.js"></script>
+ <link rel="shortcut icon" href="_static/favicon.ico"/>
+ <link rel="index" title="Index" href="#" />
+ <link rel="search" title="Search" href="search.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="index.html">Home</a></li>
+
+ <li><a href="languages.html">Languages</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="download.html">Get it</a></li>
+ <li><a href="docs/index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="index.html">
+ <img src="_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+
+<h1 id="index">Index</h1>
+
+<div class="genindex-jumpbox">
+ <a href="#A"><strong>A</strong></a>
+ | <a href="#B"><strong>B</strong></a>
+ | <a href="#C"><strong>C</strong></a>
+ | <a href="#D"><strong>D</strong></a>
+ | <a href="#E"><strong>E</strong></a>
+ | <a href="#F"><strong>F</strong></a>
+ | <a href="#G"><strong>G</strong></a>
+ | <a href="#H"><strong>H</strong></a>
+ | <a href="#I"><strong>I</strong></a>
+ | <a href="#J"><strong>J</strong></a>
+ | <a href="#K"><strong>K</strong></a>
+ | <a href="#L"><strong>L</strong></a>
+ | <a href="#M"><strong>M</strong></a>
+ | <a href="#N"><strong>N</strong></a>
+ | <a href="#O"><strong>O</strong></a>
+ | <a href="#P"><strong>P</strong></a>
+ | <a href="#Q"><strong>Q</strong></a>
+ | <a href="#R"><strong>R</strong></a>
+ | <a href="#S"><strong>S</strong></a>
+ | <a href="#T"><strong>T</strong></a>
+ | <a href="#U"><strong>U</strong></a>
+ | <a href="#V"><strong>V</strong></a>
+ | <a href="#W"><strong>W</strong></a>
+ | <a href="#X"><strong>X</strong></a>
+ | <a href="#Y"><strong>Y</strong></a>
+ | <a href="#Z"><strong>Z</strong></a>
+
+</div>
+<h2 id="A">A</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.business.ABAPLexer">ABAPLexer (class in pygments.lexers.business)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.grammar_notation.AbnfLexer">AbnfLexer (class in pygments.lexers.grammar_notation)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.actionscript.ActionScript3Lexer">ActionScript3Lexer (class in pygments.lexers.actionscript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.actionscript.ActionScriptLexer">ActionScriptLexer (class in pygments.lexers.actionscript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.pascal.AdaLexer">AdaLexer (class in pygments.lexers.pascal)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.archetype.AdlLexer">AdlLexer (class in pygments.lexers.archetype)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.AgdaLexer">AgdaLexer (class in pygments.lexers.haskell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.esoteric.AheuiLexer">AheuiLexer (class in pygments.lexers.esoteric)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexer.Lexer.alias_filenames">alias_filenames (pygments.lexer.Lexer attribute)</a>
+</li>
+ <li><a href="docs/api.html#pygments.formatter.Formatter.aliases">aliases (pygments.formatter.Formatter attribute)</a>
+
+ <ul>
+ <li><a href="docs/api.html#pygments.lexer.Lexer.aliases">(pygments.lexer.Lexer attribute)</a>
+</li>
+ </ul></li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.AlloyLexer">AlloyLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ambient.AmbientTalkLexer">AmbientTalkLexer (class in pygments.lexers.ambient)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ampl.AmplLexer">AmplLexer (class in pygments.lexers.ampl)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexer.Lexer.analyse_text">analyse_text() (pygments.lexer.Lexer static method)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.Angular2HtmlLexer">Angular2HtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.Angular2Lexer">Angular2Lexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.AntlrActionScriptLexer">AntlrActionScriptLexer (class in pygments.lexers.parsers)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.AntlrCppLexer">AntlrCppLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.AntlrCSharpLexer">AntlrCSharpLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.AntlrJavaLexer">AntlrJavaLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.AntlrLexer">AntlrLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.AntlrObjectiveCLexer">AntlrObjectiveCLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.AntlrPerlLexer">AntlrPerlLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.AntlrPythonLexer">AntlrPythonLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.AntlrRubyLexer">AntlrRubyLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.ApacheConfLexer">ApacheConfLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.apl.APLLexer">APLLexer (class in pygments.lexers.apl)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.AppleScriptLexer">AppleScriptLexer (class in pygments.lexers.scripting)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.ArduinoLexer">ArduinoLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.AspectJLexer">AspectJLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.graphics.AsymptoteLexer">AsymptoteLexer (class in pygments.lexers.graphics)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.AugeasLexer">AugeasLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.automation.AutohotkeyLexer">AutohotkeyLexer (class in pygments.lexers.automation)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.automation.AutoItLexer">AutoItLexer (class in pygments.lexers.automation)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.textedit.AwkLexer">AwkLexer (class in pygments.lexers.textedit)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="B">B</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.make.BaseMakefileLexer">BaseMakefileLexer (class in pygments.lexers.make)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.BashLexer">BashLexer (class in pygments.lexers.shell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.BashSessionLexer">BashSessionLexer (class in pygments.lexers.shell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.BatchLexer">BatchLexer (class in pygments.lexers.shell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.basic.BBCBasicLexer">BBCBasicLexer (class in pygments.lexers.basic)</a>
+</li>
+ <li><a href="docs/formatters.html#BBCodeFormatter">BBCodeFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.BBCodeLexer">BBCodeLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.algebra.BCLexer">BCLexer (class in pygments.lexers.algebra)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.esoteric.BefungeLexer">BefungeLexer (class in pygments.lexers.esoteric)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.bibtex.BibTeXLexer">BibTeXLexer (class in pygments.lexers.bibtex)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.basic.BlitzBasicLexer">BlitzBasicLexer (class in pygments.lexers.basic)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.basic.BlitzMaxLexer">BlitzMaxLexer (class in pygments.lexers.basic)</a>
+</li>
+ <li><a href="docs/formatters.html#BmpImageFormatter">BmpImageFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.grammar_notation.BnfLexer">BnfLexer (class in pygments.lexers.grammar_notation)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.boa.BoaLexer">BoaLexer (class in pygments.lexers.boa)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.verification.BoogieLexer">BoogieLexer (class in pygments.lexers.verification)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dotnet.BooLexer">BooLexer (class in pygments.lexers.dotnet)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.esoteric.BrainfuckLexer">BrainfuckLexer (class in pygments.lexers.esoteric)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.bibtex.BSTLexer">BSTLexer (class in pygments.lexers.bibtex)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.modeling.BugsLexer">BugsLexer (class in pygments.lexers.modeling)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="C">C</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.Ca65Lexer">Ca65Lexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.archetype.CadlLexer">CadlLexer (class in pygments.lexers.archetype)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.esoteric.CAmkESLexer">CAmkESLexer (class in pygments.lexers.esoteric)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.esoteric.CapDLLexer">CapDLLexer (class in pygments.lexers.esoteric)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.capnproto.CapnProtoLexer">CapnProtoLexer (class in pygments.lexers.capnproto)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.basic.CbmBasicV2Lexer">CbmBasicV2Lexer (class in pygments.lexers.basic)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.CeylonLexer">CeylonLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.Cfengine3Lexer">Cfengine3Lexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.ChaiscriptLexer">ChaiscriptLexer (class in pygments.lexers.scripting)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.chapel.ChapelLexer">ChapelLexer (class in pygments.lexers.chapel)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.CharmciLexer">CharmciLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.CheetahHtmlLexer">CheetahHtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.CheetahJavascriptLexer">CheetahJavascriptLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.CheetahLexer">CheetahLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.CheetahXmlLexer">CheetahXmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.webmisc.CirruLexer">CirruLexer (class in pygments.lexers.webmisc)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.ClayLexer">ClayLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.clean.CleanLexer">CleanLexer (class in pygments.lexers.clean)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_cpp.CLexer">CLexer (class in pygments.lexers.c_cpp)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.ClojureLexer">ClojureLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.ClojureScriptLexer">ClojureScriptLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.make.CMakeLexer">CMakeLexer (class in pygments.lexers.make)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.CObjdumpLexer">CObjdumpLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.business.CobolFreeformatLexer">CobolFreeformatLexer (class in pygments.lexers.business)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.business.CobolLexer">CobolLexer (class in pygments.lexers.business)</a>
+</li>
+ <li><a href="docs/filters.html#CodeTagFilter">CodeTagFilter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.CoffeeScriptLexer">CoffeeScriptLexer (class in pygments.lexers.javascript)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.ColdfusionCFCLexer">ColdfusionCFCLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.ColdfusionHtmlLexer">ColdfusionHtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.ColdfusionLexer">ColdfusionLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.CommonLispLexer">CommonLispLexer (class in pygments.lexers.lisp)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.oberon.ComponentPascalLexer">ComponentPascalLexer (class in pygments.lexers.oberon)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.theorem.CoqLexer">CoqLexer (class in pygments.lexers.theorem)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_cpp.CppLexer">CppLexer (class in pygments.lexers.c_cpp)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.CppObjdumpLexer">CppObjdumpLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.CPSALexer">CPSALexer (class in pygments.lexers.lisp)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.CrmshLexer">CrmshLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.d.CrocLexer">CrocLexer (class in pygments.lexers.d)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.CryptolLexer">CryptolLexer (class in pygments.lexers.haskell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.crystal.CrystalLexer">CrystalLexer (class in pygments.lexers.crystal)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dotnet.CSharpAspxLexer">CSharpAspxLexer (class in pygments.lexers.dotnet)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dotnet.CSharpLexer">CSharpLexer (class in pygments.lexers.dotnet)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.csound.CsoundDocumentLexer">CsoundDocumentLexer (class in pygments.lexers.csound)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.csound.CsoundOrchestraLexer">CsoundOrchestraLexer (class in pygments.lexers.csound)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.csound.CsoundScoreLexer">CsoundScoreLexer (class in pygments.lexers.csound)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.CssDjangoLexer">CssDjangoLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.CssErbLexer">CssErbLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.CssGenshiLexer">CssGenshiLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.css.CssLexer">CssLexer (class in pygments.lexers.css)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.CssPhpLexer">CssPhpLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.CssSmartyLexer">CssSmartyLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.CudaLexer">CudaLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.graph.CypherLexer">CypherLexer (class in pygments.lexers.graph)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.python.CythonLexer">CythonLexer (class in pygments.lexers.python)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="D">D</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.diff.DarcsPatchLexer">DarcsPatchLexer (class in pygments.lexers.diff)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.DartLexer">DartLexer (class in pygments.lexers.javascript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.Dasm16Lexer">Dasm16Lexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.installers.DebianControlLexer">DebianControlLexer (class in pygments.lexers.installers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.pascal.DelphiLexer">DelphiLexer (class in pygments.lexers.pascal)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.python.DgLexer">DgLexer (class in pygments.lexers.python)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.diff.DiffLexer">DiffLexer (class in pygments.lexers.diff)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.DjangoLexer">DjangoLexer (class in pygments.lexers.templates)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.d.DLexer">DLexer (class in pygments.lexers.d)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.DObjdumpLexer">DObjdumpLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.DockerLexer">DockerLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.html.DtdLexer">DtdLexer (class in pygments.lexers.html)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.webmisc.DuelLexer">DuelLexer (class in pygments.lexers.webmisc)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dylan.DylanConsoleLexer">DylanConsoleLexer (class in pygments.lexers.dylan)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dylan.DylanLexer">DylanLexer (class in pygments.lexers.dylan)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dylan.DylanLidLexer">DylanLidLexer (class in pygments.lexers.dylan)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="E">E</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.EarlGreyLexer">EarlGreyLexer (class in pygments.lexers.javascript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.EasytrieveLexer">EasytrieveLexer (class in pygments.lexers.scripting)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.EbnfLexer">EbnfLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.ECLexer">ECLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ecl.ECLLexer">ECLLexer (class in pygments.lexers.ecl)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.eiffel.EiffelLexer">EiffelLexer (class in pygments.lexers.eiffel)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.erlang.ElixirConsoleLexer">ElixirConsoleLexer (class in pygments.lexers.erlang)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.erlang.ElixirLexer">ElixirLexer (class in pygments.lexers.erlang)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.elm.ElmLexer">ElmLexer (class in pygments.lexers.elm)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.EmacsLispLexer">EmacsLispLexer (class in pygments.lexers.lisp)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.email.EmailLexer">EmailLexer (class in pygments.lexers.email)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.ErbLexer">ErbLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.erlang.ErlangLexer">ErlangLexer (class in pygments.lexers.erlang)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.erlang.ErlangShellLexer">ErlangShellLexer (class in pygments.lexers.erlang)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.EvoqueHtmlLexer">EvoqueHtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.EvoqueLexer">EvoqueLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.EvoqueXmlLexer">EvoqueXmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ezhil.EzhilLexer">EzhilLexer (class in pygments.lexers.ezhil)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="F">F</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.factor.FactorLexer">FactorLexer (class in pygments.lexers.factor)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ruby.FancyLexer">FancyLexer (class in pygments.lexers.ruby)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.fantom.FantomLexer">FantomLexer (class in pygments.lexers.fantom)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.felix.FelixLexer">FelixLexer (class in pygments.lexers.felix)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.FennelLexer">FennelLexer (class in pygments.lexers.lisp)</a>
+</li>
+ <li><a href="docs/api.html#pygments.formatter.Formatter.filenames">filenames (pygments.formatter.Formatter attribute)</a>
+
+ <ul>
+ <li><a href="docs/api.html#pygments.lexer.Lexer.filenames">(pygments.lexer.Lexer attribute)</a>
+</li>
+ </ul></li>
+ <li><a href="docs/api.html#pygments.lexers.find_lexer_class">find_lexer_class() (in module pygments.lexers)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexers.find_lexer_class_by_name">find_lexer_class_by_name() (in module pygments.lexers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.FishShellLexer">FishShellLexer (class in pygments.lexers.shell)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.FlatlineLexer">FlatlineLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.floscript.FloScriptLexer">FloScriptLexer (class in pygments.lexers.floscript)</a>
+</li>
+ <li><a href="docs/api.html#pygments.format">format() (in module pygments)</a>
+
+ <ul>
+ <li><a href="docs/api.html#pygments.formatter.Formatter.format">(pygments.formatter.Formatter method)</a>
+</li>
+ </ul></li>
+ <li><a href="docs/api.html#pygments.formatter.Formatter">Formatter (class in pygments.formatter)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.forth.ForthLexer">ForthLexer (class in pygments.lexers.forth)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.fortran.FortranFixedLexer">FortranFixedLexer (class in pygments.lexers.fortran)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.fortran.FortranLexer">FortranLexer (class in pygments.lexers.fortran)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.foxpro.FoxProLexer">FoxProLexer (class in pygments.lexers.foxpro)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.freefem.FreeFemLexer">FreeFemLexer (class in pygments.lexers.freefem)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dotnet.FSharpLexer">FSharpLexer (class in pygments.lexers.dotnet)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="G">G</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.algebra.GAPLexer">GAPLexer (class in pygments.lexers.algebra)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.GasLexer">GasLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.GenshiLexer">GenshiLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.GenshiTextLexer">GenshiTextLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexers.get_all_lexers">get_all_lexers() (in module pygments.lexers)</a>
+</li>
+ <li><a href="docs/api.html#pygments.styles.get_all_styles">get_all_styles() (in module pygments.styles)</a>
+</li>
+ <li><a href="docs/api.html#pygments.util.get_bool_opt">get_bool_opt() (in module pygments.util)</a>
+</li>
+ <li><a href="docs/api.html#pygments.util.get_choice_opt">get_choice_opt() (in module pygments.util)</a>
+</li>
+ <li><a href="docs/api.html#pygments.formatters.get_formatter_by_name">get_formatter_by_name() (in module pygments.formatters)</a>
+</li>
+ <li><a href="docs/api.html#pygments.formatters.get_formatter_for_filename">get_formatter_for_filename() (in module pygments.formatters)</a>
+</li>
+ <li><a href="docs/api.html#pygments.util.get_int_opt">get_int_opt() (in module pygments.util)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexers.get_lexer_by_name">get_lexer_by_name() (in module pygments.lexers)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexers.get_lexer_for_filename">get_lexer_for_filename() (in module pygments.lexers)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexers.get_lexer_for_mimetype">get_lexer_for_mimetype() (in module pygments.lexers)</a>
+</li>
+ <li><a href="docs/api.html#pygments.util.get_list_opt">get_list_opt() (in module pygments.util)</a>
+</li>
+ <li><a href="docs/api.html#pygments.styles.get_style_by_name">get_style_by_name() (in module pygments.styles)</a>
+</li>
+ <li><a href="docs/api.html#pygments.formatter.Formatter.get_style_defs">get_style_defs() (pygments.formatter.Formatter method)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/api.html#pygments.lexer.Lexer.get_tokens">get_tokens() (pygments.lexer.Lexer method)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexer.Lexer.get_tokens_unprocessed">get_tokens_unprocessed() (pygments.lexer.Lexer method)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.textfmts.GettextLexer">GettextLexer (class in pygments.lexers.textfmts)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.testing.GherkinLexer">GherkinLexer (class in pygments.lexers.testing)</a>
+</li>
+ <li><a href="docs/formatters.html#GifImageFormatter">GifImageFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.graphics.GLShaderLexer">GLShaderLexer (class in pygments.lexers.graphics)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.graphics.GnuplotLexer">GnuplotLexer (class in pygments.lexers.graphics)</a>
+</li>
+ <li><a href="docs/filters.html#GobbleFilter">GobbleFilter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.go.GoLexer">GoLexer (class in pygments.lexers.go)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.GoloLexer">GoloLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.business.GoodDataCLLexer">GoodDataCLLexer (class in pygments.lexers.business)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.GosuLexer">GosuLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.GosuTemplateLexer">GosuTemplateLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.GroffLexer">GroffLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.GroovyLexer">GroovyLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexers.guess_lexer">guess_lexer() (in module pygments.lexers)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexers.guess_lexer_for_filename">guess_lexer_for_filename() (in module pygments.lexers)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="H">H</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.html.HamlLexer">HamlLexer (class in pygments.lexers.html)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.HandlebarsHtmlLexer">HandlebarsHtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.HandlebarsLexer">HandlebarsLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.HaskellLexer">HaskellLexer (class in pygments.lexers.haskell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haxe.HaxeLexer">HaxeLexer (class in pygments.lexers.haxe)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.hexdump.HexdumpLexer">HexdumpLexer (class in pygments.lexers.hexdump)</a>
+</li>
+ <li><a href="docs/api.html#pygments.highlight">highlight() (in module pygments)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.graphics.HLSLShaderLexer">HLSLShaderLexer (class in pygments.lexers.graphics)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.HsailLexer">HsailLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.HspecLexer">HspecLexer (class in pygments.lexers.haskell)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.HtmlDjangoLexer">HtmlDjangoLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/formatters.html#HtmlFormatter">HtmlFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.HtmlGenshiLexer">HtmlGenshiLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.html.HtmlLexer">HtmlLexer (class in pygments.lexers.html)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.HtmlPhpLexer">HtmlPhpLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.HtmlSmartyLexer">HtmlSmartyLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.textfmts.HttpLexer">HttpLexer (class in pygments.lexers.textfmts)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haxe.HxmlLexer">HxmlLexer (class in pygments.lexers.haxe)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.HybrisLexer">HybrisLexer (class in pygments.lexers.scripting)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.HyLexer">HyLexer (class in pygments.lexers.lisp)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="I">I</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.unicon.IconLexer">IconLexer (class in pygments.lexers.unicon)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.idl.IDLLexer">IDLLexer (class in pygments.lexers.idl)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.IdrisLexer">IdrisLexer (class in pygments.lexers.haskell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.igor.IgorLexer">IgorLexer (class in pygments.lexers.igor)</a>
+</li>
+ <li><a href="docs/formatters.html#ImageFormatter">ImageFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.int_fiction.Inform6Lexer">Inform6Lexer (class in pygments.lexers.int_fiction)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.int_fiction.Inform6TemplateLexer">Inform6TemplateLexer (class in pygments.lexers.int_fiction)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.int_fiction.Inform7Lexer">Inform7Lexer (class in pygments.lexers.int_fiction)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.IniLexer">IniLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.IokeLexer">IokeLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.iolang.IoLexer">IoLexer (class in pygments.lexers.iolang)</a>
+</li>
+ <li><a href="docs/formatters.html#IRCFormatter">IRCFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.textfmts.IrcLogsLexer">IrcLogsLexer (class in pygments.lexers.textfmts)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.theorem.IsabelleLexer">IsabelleLexer (class in pygments.lexers.theorem)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="J">J</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.modeling.JagsLexer">JagsLexer (class in pygments.lexers.modeling)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.JasminLexer">JasminLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.JavaLexer">JavaLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.JavascriptDjangoLexer">JavascriptDjangoLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.JavascriptErbLexer">JavascriptErbLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.JavascriptGenshiLexer">JavascriptGenshiLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.JavascriptLexer">JavascriptLexer (class in pygments.lexers.javascript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.JavascriptPhpLexer">JavascriptPhpLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.JavascriptSmartyLexer">JavascriptSmartyLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.JclLexer">JclLexer (class in pygments.lexers.scripting)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.j.JLexer">JLexer (class in pygments.lexers.j)</a>
+</li>
+ <li><a href="docs/formatters.html#JpgImageFormatter">JpgImageFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.grammar_notation.JsgfLexer">JsgfLexer (class in pygments.lexers.grammar_notation)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.data.JsonBareObjectLexer">JsonBareObjectLexer (class in pygments.lexers.data)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.data.JsonLdLexer">JsonLdLexer (class in pygments.lexers.data)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.data.JsonLexer">JsonLexer (class in pygments.lexers.data)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.JspLexer">JspLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.julia.JuliaConsoleLexer">JuliaConsoleLexer (class in pygments.lexers.julia)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.julia.JuliaLexer">JuliaLexer (class in pygments.lexers.julia)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.JuttleLexer">JuttleLexer (class in pygments.lexers.javascript)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="K">K</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.KalLexer">KalLexer (class in pygments.lexers.javascript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.KconfigLexer">KconfigLexer (class in pygments.lexers.configs)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/filters.html#KeywordCaseFilter">KeywordCaseFilter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.KokaLexer">KokaLexer (class in pygments.lexers.haskell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.KotlinLexer">KotlinLexer (class in pygments.lexers.jvm)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="L">L</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.LassoCssLexer">LassoCssLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.LassoHtmlLexer">LassoHtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.LassoJavascriptLexer">LassoJavascriptLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.LassoLexer">LassoLexer (class in pygments.lexers.javascript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.LassoXmlLexer">LassoXmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/formatters.html#LatexFormatter">LatexFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.theorem.LeanLexer">LeanLexer (class in pygments.lexers.theorem)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.css.LessCssLexer">LessCssLexer (class in pygments.lexers.css)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lex">lex() (in module pygments)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexer.Lexer">Lexer (class in pygments.lexer)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.LighttpdConfLexer">LighttpdConfLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.inferno.LimboLexer">LimboLexer (class in pygments.lexers.inferno)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.LiquidLexer">LiquidLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.LiterateAgdaLexer">LiterateAgdaLexer (class in pygments.lexers.haskell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.LiterateCryptolLexer">LiterateCryptolLexer (class in pygments.lexers.haskell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.LiterateHaskellLexer">LiterateHaskellLexer (class in pygments.lexers.haskell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.haskell.LiterateIdrisLexer">LiterateIdrisLexer (class in pygments.lexers.haskell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.LiveScriptLexer">LiveScriptLexer (class in pygments.lexers.javascript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.LlvmLexer">LlvmLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/api.html#pygments.formatters.load_formatter_from_file">load_formatter_from_file() (in module pygments.formatters)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexers.load_lexer_from_file">load_lexer_from_file() (in module pygments.lexers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.objective.LogosLexer">LogosLexer (class in pygments.lexers.objective)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.prolog.LogtalkLexer">LogtalkLexer (class in pygments.lexers.prolog)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.LSLLexer">LSLLexer (class in pygments.lexers.scripting)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.LuaLexer">LuaLexer (class in pygments.lexers.scripting)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="M">M</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.make.MakefileLexer">MakefileLexer (class in pygments.lexers.make)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MakoCssLexer">MakoCssLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MakoHtmlLexer">MakoHtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MakoJavascriptLexer">MakoJavascriptLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MakoLexer">MakoLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MakoXmlLexer">MakoXmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.business.MaqlLexer">MaqlLexer (class in pygments.lexers.business)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.MarkdownLexer">MarkdownLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.MaskLexer">MaskLexer (class in pygments.lexers.javascript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MasonLexer">MasonLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.algebra.MathematicaLexer">MathematicaLexer (class in pygments.lexers.algebra)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.matlab.MatlabLexer">MatlabLexer (class in pygments.lexers.matlab)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.matlab.MatlabSessionLexer">MatlabSessionLexer (class in pygments.lexers.matlab)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.mime.MIMELexer">MIMELexer (class in pygments.lexers.mime)</a>
+</li>
+ <li><a href="docs/api.html#pygments.lexer.Lexer.mimetypes">mimetypes (pygments.lexer.Lexer attribute)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.d.MiniDLexer">MiniDLexer (class in pygments.lexers.d)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.modeling.ModelicaLexer">ModelicaLexer (class in pygments.lexers.modeling)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.modula2.Modula2Lexer">Modula2Lexer (class in pygments.lexers.modula2)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.MoinWikiLexer">MoinWikiLexer (class in pygments.lexers.markup)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.basic.MonkeyLexer">MonkeyLexer (class in pygments.lexers.basic)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.monte.MonteLexer">MonteLexer (class in pygments.lexers.monte)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.MOOCodeLexer">MOOCodeLexer (class in pygments.lexers.scripting)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.MoonScriptLexer">MoonScriptLexer (class in pygments.lexers.scripting)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.MozPreprocCssLexer">MozPreprocCssLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.MozPreprocHashLexer">MozPreprocHashLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.MozPreprocJavascriptLexer">MozPreprocJavascriptLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.MozPreprocPercentLexer">MozPreprocPercentLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.MozPreprocXulLexer">MozPreprocXulLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.MqlLexer">MqlLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.MscgenLexer">MscgenLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.MSDOSSessionLexer">MSDOSSessionLexer (class in pygments.lexers.shell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.algebra.MuPADLexer">MuPADLexer (class in pygments.lexers.algebra)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.actionscript.MxmlLexer">MxmlLexer (class in pygments.lexers.actionscript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MyghtyCssLexer">MyghtyCssLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MyghtyHtmlLexer">MyghtyHtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MyghtyJavascriptLexer">MyghtyJavascriptLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MyghtyLexer">MyghtyLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.MyghtyXmlLexer">MyghtyXmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sql.MySqlLexer">MySqlLexer (class in pygments.lexers.sql)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="N">N</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/api.html#pygments.formatter.Formatter.name">name (pygments.formatter.Formatter attribute)</a>
+
+ <ul>
+ <li><a href="docs/api.html#pygments.lexer.Lexer.name">(pygments.lexer.Lexer attribute)</a>
+</li>
+ </ul></li>
+ <li><a href="docs/filters.html#NameHighlightFilter">NameHighlightFilter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.NasmLexer">NasmLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.NasmObjdumpLexer">NasmObjdumpLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ncl.NCLLexer">NCLLexer (class in pygments.lexers.ncl)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dotnet.NemerleLexer">NemerleLexer (class in pygments.lexers.dotnet)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.NesCLexer">NesCLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.NewLispLexer">NewLispLexer (class in pygments.lexers.lisp)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.smalltalk.NewspeakLexer">NewspeakLexer (class in pygments.lexers.smalltalk)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.NginxConfLexer">NginxConfLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.nimrod.NimrodLexer">NimrodLexer (class in pygments.lexers.nimrod)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.nit.NitLexer">NitLexer (class in pygments.lexers.nit)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.nix.NixLexer">NixLexer (class in pygments.lexers.nix)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.textfmts.NotmuchLexer">NotmuchLexer (class in pygments.lexers.textfmts)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.installers.NSISLexer">NSISLexer (class in pygments.lexers.installers)</a>
+</li>
+ <li><a href="docs/formatters.html#NullFormatter">NullFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.python.NumPyLexer">NumPyLexer (class in pygments.lexers.python)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.smv.NuSMVLexer">NuSMVLexer (class in pygments.lexers.smv)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="O">O</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.ObjdumpLexer">ObjdumpLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.objective.ObjectiveCLexer">ObjectiveCLexer (class in pygments.lexers.objective)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.objective.ObjectiveCppLexer">ObjectiveCppLexer (class in pygments.lexers.objective)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.ObjectiveJLexer">ObjectiveJLexer (class in pygments.lexers.javascript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ml.OcamlLexer">OcamlLexer (class in pygments.lexers.ml)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.matlab.OctaveLexer">OctaveLexer (class in pygments.lexers.matlab)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.archetype.OdinLexer">OdinLexer (class in pygments.lexers.archetype)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ooc.OocLexer">OocLexer (class in pygments.lexers.ooc)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ml.OpaLexer">OpaLexer (class in pygments.lexers.ml)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.business.OpenEdgeLexer">OpenEdgeLexer (class in pygments.lexers.business)</a>
+</li>
+ <li><a href="docs/api.html#pygments.util.OptionError">OptionError</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="P">P</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.PacmanConfLexer">PacmanConfLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.PanLexer">PanLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parasail.ParaSailLexer">ParaSailLexer (class in pygments.lexers.parasail)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.pawn.PawnLexer">PawnLexer (class in pygments.lexers.pawn)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.perl.Perl6Lexer">Perl6Lexer (class in pygments.lexers.perl)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.perl.PerlLexer">PerlLexer (class in pygments.lexers.perl)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.php.PhpLexer">PhpLexer (class in pygments.lexers.php)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.PigLexer">PigLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.PikeLexer">PikeLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.PkgConfigLexer">PkgConfigLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sql.PlPgsqlLexer">PlPgsqlLexer (class in pygments.lexers.sql)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.pony.PonyLexer">PonyLexer (class in pygments.lexers.pony)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sql.PostgresConsoleLexer">PostgresConsoleLexer (class in pygments.lexers.sql)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sql.PostgresLexer">PostgresLexer (class in pygments.lexers.sql)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.graphics.PostScriptLexer">PostScriptLexer (class in pygments.lexers.graphics)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.graphics.PovrayLexer">PovrayLexer (class in pygments.lexers.graphics)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.PowerShellLexer">PowerShellLexer (class in pygments.lexers.shell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.PowerShellSessionLexer">PowerShellSessionLexer (class in pygments.lexers.shell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.praat.PraatLexer">PraatLexer (class in pygments.lexers.praat)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.prolog.PrologLexer">PrologLexer (class in pygments.lexers.prolog)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.PropertiesLexer">PropertiesLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.ProtoBufLexer">ProtoBufLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.html.PugLexer">PugLexer (class in pygments.lexers.html)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.PuppetLexer">PuppetLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/api.html#module-pygments">pygments (module)</a>
+</li>
+ <li><a href="docs/api.html#module-pygments.formatter">pygments.formatter (module)</a>
+</li>
+ <li><a href="docs/api.html#module-pygments.formatters">pygments.formatters (module)</a>
+</li>
+ <li><a href="docs/api.html#module-pygments.lexer">pygments.lexer (module)</a>
+</li>
+ <li><a href="docs/api.html#module-pygments.lexers">pygments.lexers (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.actionscript">pygments.lexers.actionscript (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.algebra">pygments.lexers.algebra (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.ambient">pygments.lexers.ambient (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.ampl">pygments.lexers.ampl (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.apl">pygments.lexers.apl (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.archetype">pygments.lexers.archetype (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.asm">pygments.lexers.asm (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.automation">pygments.lexers.automation (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.basic">pygments.lexers.basic (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.bibtex">pygments.lexers.bibtex (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.boa">pygments.lexers.boa (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.business">pygments.lexers.business (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.c_cpp">pygments.lexers.c_cpp (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.c_like">pygments.lexers.c_like (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.capnproto">pygments.lexers.capnproto (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.chapel">pygments.lexers.chapel (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.clean">pygments.lexers.clean (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.configs">pygments.lexers.configs (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.console">pygments.lexers.console (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.crystal">pygments.lexers.crystal (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.csound">pygments.lexers.csound (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.css">pygments.lexers.css (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.d">pygments.lexers.d (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.dalvik">pygments.lexers.dalvik (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.data">pygments.lexers.data (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.diff">pygments.lexers.diff (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.dotnet">pygments.lexers.dotnet (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.dsls">pygments.lexers.dsls (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.dylan">pygments.lexers.dylan (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.ecl">pygments.lexers.ecl (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.eiffel">pygments.lexers.eiffel (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.elm">pygments.lexers.elm (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.email">pygments.lexers.email (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.erlang">pygments.lexers.erlang (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.esoteric">pygments.lexers.esoteric (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.ezhil">pygments.lexers.ezhil (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.factor">pygments.lexers.factor (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.fantom">pygments.lexers.fantom (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.felix">pygments.lexers.felix (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.floscript">pygments.lexers.floscript (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.forth">pygments.lexers.forth (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.fortran">pygments.lexers.fortran (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.foxpro">pygments.lexers.foxpro (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.freefem">pygments.lexers.freefem (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.go">pygments.lexers.go (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.grammar_notation">pygments.lexers.grammar_notation (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.graph">pygments.lexers.graph (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.graphics">pygments.lexers.graphics (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.haskell">pygments.lexers.haskell (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.haxe">pygments.lexers.haxe (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.hdl">pygments.lexers.hdl (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.hexdump">pygments.lexers.hexdump (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.html">pygments.lexers.html (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.idl">pygments.lexers.idl (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.igor">pygments.lexers.igor (module)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#module-pygments.lexers.inferno">pygments.lexers.inferno (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.installers">pygments.lexers.installers (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.int_fiction">pygments.lexers.int_fiction (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.iolang">pygments.lexers.iolang (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.j">pygments.lexers.j (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.javascript">pygments.lexers.javascript (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.julia">pygments.lexers.julia (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.jvm">pygments.lexers.jvm (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.lisp">pygments.lexers.lisp (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.make">pygments.lexers.make (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.markup">pygments.lexers.markup (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.matlab">pygments.lexers.matlab (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.mime">pygments.lexers.mime (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.ml">pygments.lexers.ml (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.modeling">pygments.lexers.modeling (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.modula2">pygments.lexers.modula2 (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.monte">pygments.lexers.monte (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.ncl">pygments.lexers.ncl (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.nimrod">pygments.lexers.nimrod (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.nit">pygments.lexers.nit (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.nix">pygments.lexers.nix (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.oberon">pygments.lexers.oberon (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.objective">pygments.lexers.objective (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.ooc">pygments.lexers.ooc (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.parasail">pygments.lexers.parasail (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.parsers">pygments.lexers.parsers (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.pascal">pygments.lexers.pascal (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.pawn">pygments.lexers.pawn (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.perl">pygments.lexers.perl (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.php">pygments.lexers.php (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.pony">pygments.lexers.pony (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.praat">pygments.lexers.praat (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.prolog">pygments.lexers.prolog (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.python">pygments.lexers.python (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.qvt">pygments.lexers.qvt (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.r">pygments.lexers.r (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.rdf">pygments.lexers.rdf (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.rebol">pygments.lexers.rebol (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.resource">pygments.lexers.resource (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.rnc">pygments.lexers.rnc (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.roboconf">pygments.lexers.roboconf (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.robotframework">pygments.lexers.robotframework (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.ruby">pygments.lexers.ruby (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.rust">pygments.lexers.rust (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.sas">pygments.lexers.sas (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.scdoc">pygments.lexers.scdoc (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.scripting">pygments.lexers.scripting (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.sgf">pygments.lexers.sgf (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.shell">pygments.lexers.shell (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.slash">pygments.lexers.slash (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.smalltalk">pygments.lexers.smalltalk (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.smv">pygments.lexers.smv (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.snobol">pygments.lexers.snobol (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.solidity">pygments.lexers.solidity (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.special">pygments.lexers.special (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.sql">pygments.lexers.sql (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.stata">pygments.lexers.stata (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.supercollider">pygments.lexers.supercollider (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.tcl">pygments.lexers.tcl (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.templates">pygments.lexers.templates (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.teraterm">pygments.lexers.teraterm (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.testing">pygments.lexers.testing (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.textedit">pygments.lexers.textedit (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.textfmts">pygments.lexers.textfmts (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.theorem">pygments.lexers.theorem (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.trafficscript">pygments.lexers.trafficscript (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.typoscript">pygments.lexers.typoscript (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.unicon">pygments.lexers.unicon (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.urbi">pygments.lexers.urbi (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.varnish">pygments.lexers.varnish (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.verification">pygments.lexers.verification (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.webmisc">pygments.lexers.webmisc (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.whiley">pygments.lexers.whiley (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.x10">pygments.lexers.x10 (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.xorg">pygments.lexers.xorg (module)</a>
+</li>
+ <li><a href="docs/lexers.html#module-pygments.lexers.zig">pygments.lexers.zig (module)</a>
+</li>
+ <li><a href="docs/api.html#module-pygments.styles">pygments.styles (module)</a>
+</li>
+ <li><a href="docs/tokens.html#module-pygments.token">pygments.token (module)</a>
+</li>
+ <li><a href="docs/api.html#module-pygments.util">pygments.util (module)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.console.PyPyLogLexer">PyPyLogLexer (class in pygments.lexers.console)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.python.Python2Lexer">Python2Lexer (class in pygments.lexers.python)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.python.Python2TracebackLexer">Python2TracebackLexer (class in pygments.lexers.python)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.python.PythonConsoleLexer">PythonConsoleLexer (class in pygments.lexers.python)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.python.PythonLexer">PythonLexer (class in pygments.lexers.python)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.python.PythonTracebackLexer">PythonTracebackLexer (class in pygments.lexers.python)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="Q">Q</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.basic.QBasicLexer">QBasicLexer (class in pygments.lexers.basic)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.webmisc.QmlLexer">QmlLexer (class in pygments.lexers.webmisc)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.qvt.QVToLexer">QVToLexer (class in pygments.lexers.qvt)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="R">R</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.RacketLexer">RacketLexer (class in pygments.lexers.lisp)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.RagelCLexer">RagelCLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.RagelCppLexer">RagelCppLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.RagelDLexer">RagelDLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.RagelEmbeddedLexer">RagelEmbeddedLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.RagelJavaLexer">RagelJavaLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.RagelLexer">RagelLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.RagelObjectiveCLexer">RagelObjectiveCLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.RagelRubyLexer">RagelRubyLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/filters.html#RaiseOnErrorTokenFilter">RaiseOnErrorTokenFilter (built-in class)</a>
+</li>
+ <li><a href="docs/formatters.html#RawTokenFormatter">RawTokenFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.special.RawTokenLexer">RawTokenLexer (class in pygments.lexers.special)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.r.RConsoleLexer">RConsoleLexer (class in pygments.lexers.r)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.r.RdLexer">RdLexer (class in pygments.lexers.r)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.rebol.RebolLexer">RebolLexer (class in pygments.lexers.rebol)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.esoteric.RedcodeLexer">RedcodeLexer (class in pygments.lexers.esoteric)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.rebol.RedLexer">RedLexer (class in pygments.lexers.rebol)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.RegeditLexer">RegeditLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.resource.ResourceLexer">ResourceLexer (class in pygments.lexers.resource)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scripting.RexxLexer">RexxLexer (class in pygments.lexers.scripting)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.RhtmlLexer">RhtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.rnc.RNCCompactLexer">RNCCompactLexer (class in pygments.lexers.rnc)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.roboconf.RoboconfGraphLexer">RoboconfGraphLexer (class in pygments.lexers.roboconf)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.roboconf.RoboconfInstancesLexer">RoboconfInstancesLexer (class in pygments.lexers.roboconf)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.robotframework.RobotFrameworkLexer">RobotFrameworkLexer (class in pygments.lexers.robotframework)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.installers.RPMSpecLexer">RPMSpecLexer (class in pygments.lexers.installers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sql.RqlLexer">RqlLexer (class in pygments.lexers.sql)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.RslLexer">RslLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.RstLexer">RstLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/formatters.html#RtfFormatter">RtfFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.trafficscript.RtsLexer">RtsLexer (class in pygments.lexers.trafficscript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ruby.RubyConsoleLexer">RubyConsoleLexer (class in pygments.lexers.ruby)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ruby.RubyLexer">RubyLexer (class in pygments.lexers.ruby)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.rust.RustLexer">RustLexer (class in pygments.lexers.rust)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="S">S</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.SarlLexer">SarlLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sas.SASLexer">SASLexer (class in pygments.lexers.sas)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.css.SassLexer">SassLexer (class in pygments.lexers.css)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.ScalaLexer">ScalaLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.html.ScamlLexer">ScamlLexer (class in pygments.lexers.html)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.scdoc.ScdocLexer">ScdocLexer (class in pygments.lexers.scdoc)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.SchemeLexer">SchemeLexer (class in pygments.lexers.lisp)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.matlab.ScilabLexer">ScilabLexer (class in pygments.lexers.matlab)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.css.ScssLexer">ScssLexer (class in pygments.lexers.css)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.ShenLexer">ShenLexer (class in pygments.lexers.lisp)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.rdf.ShExCLexer">ShExCLexer (class in pygments.lexers.rdf)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.verification.SilverLexer">SilverLexer (class in pygments.lexers.verification)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.slash.SlashLexer">SlashLexer (class in pygments.lexers.slash)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.r.SLexer">SLexer (class in pygments.lexers.r)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.webmisc.SlimLexer">SlimLexer (class in pygments.lexers.webmisc)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.SlurmBashLexer">SlurmBashLexer (class in pygments.lexers.shell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dalvik.SmaliLexer">SmaliLexer (class in pygments.lexers.dalvik)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.smalltalk.SmalltalkLexer">SmalltalkLexer (class in pygments.lexers.smalltalk)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sgf.SmartGameFormatLexer">SmartGameFormatLexer (class in pygments.lexers.sgf)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.SmartyLexer">SmartyLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.ml.SMLLexer">SMLLexer (class in pygments.lexers.ml)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.snobol.SnobolLexer">SnobolLexer (class in pygments.lexers.snobol)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.SnowballLexer">SnowballLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.solidity.SolidityLexer">SolidityLexer (class in pygments.lexers.solidity)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.pawn.SourcePawnLexer">SourcePawnLexer (class in pygments.lexers.pawn)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.installers.SourcesListLexer">SourcesListLexer (class in pygments.lexers.installers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.rdf.SparqlLexer">SparqlLexer (class in pygments.lexers.rdf)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sql.SqliteConsoleLexer">SqliteConsoleLexer (class in pygments.lexers.sql)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sql.SqlLexer">SqlLexer (class in pygments.lexers.sql)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.SquidConfLexer">SquidConfLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.SspLexer">SspLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.modeling.StanLexer">StanLexer (class in pygments.lexers.modeling)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.stata.StataLexer">StataLexer (class in pygments.lexers.stata)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.supercollider.SuperColliderLexer">SuperColliderLexer (class in pygments.lexers.supercollider)</a>
+</li>
+ <li><a href="docs/formatters.html#SvgFormatter">SvgFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.objective.SwiftLexer">SwiftLexer (class in pygments.lexers.objective)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.SwigLexer">SwigLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.hdl.SystemVerilogLexer">SystemVerilogLexer (class in pygments.lexers.hdl)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="T">T</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.int_fiction.Tads3Lexer">Tads3Lexer (class in pygments.lexers.int_fiction)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.testing.TAPLexer">TAPLexer (class in pygments.lexers.testing)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.asm.TasmLexer">TasmLexer (class in pygments.lexers.asm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.tcl.TclLexer">TclLexer (class in pygments.lexers.tcl)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.TcshLexer">TcshLexer (class in pygments.lexers.shell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.shell.TcshSessionLexer">TcshSessionLexer (class in pygments.lexers.shell)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.TeaTemplateLexer">TeaTemplateLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.teraterm.TeraTermLexer">TeraTermLexer (class in pygments.lexers.teraterm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.TermcapLexer">TermcapLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/formatters.html#Terminal256Formatter">Terminal256Formatter (built-in class)</a>
+</li>
+ <li><a href="docs/formatters.html#TerminalFormatter">TerminalFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/formatters.html#TerminalTrueColorFormatter">TerminalTrueColorFormatter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.TerminfoLexer">TerminfoLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.TerraformLexer">TerraformLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/formatters.html#TestcaseFormatter">TestcaseFormatter (built-in class)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.markup.TexLexer">TexLexer (class in pygments.lexers.markup)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.special.TextLexer">TextLexer (class in pygments.lexers.special)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.ThriftLexer">ThriftLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.textfmts.TodotxtLexer">TodotxtLexer (class in pygments.lexers.textfmts)</a>
+</li>
+ <li><a href="docs/filters.html#TokenMergeFilter">TokenMergeFilter (built-in class)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.configs.TOMLLexer">TOMLLexer (class in pygments.lexers.configs)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.sql.TransactSqlLexer">TransactSqlLexer (class in pygments.lexers.sql)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.parsers.TreetopLexer">TreetopLexer (class in pygments.lexers.parsers)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.rdf.TurtleLexer">TurtleLexer (class in pygments.lexers.rdf)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.TwigHtmlLexer">TwigHtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.TwigLexer">TwigLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.javascript.TypeScriptLexer">TypeScriptLexer (class in pygments.lexers.javascript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.typoscript.TypoScriptCssDataLexer">TypoScriptCssDataLexer (class in pygments.lexers.typoscript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.typoscript.TypoScriptHtmlDataLexer">TypoScriptHtmlDataLexer (class in pygments.lexers.typoscript)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.typoscript.TypoScriptLexer">TypoScriptLexer (class in pygments.lexers.typoscript)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="U">U</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.unicon.UcodeLexer">UcodeLexer (class in pygments.lexers.unicon)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.unicon.UniconLexer">UniconLexer (class in pygments.lexers.unicon)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.urbi.UrbiscriptLexer">UrbiscriptLexer (class in pygments.lexers.urbi)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="V">V</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.c_like.ValaLexer">ValaLexer (class in pygments.lexers.c_like)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dotnet.VbNetAspxLexer">VbNetAspxLexer (class in pygments.lexers.dotnet)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dotnet.VbNetLexer">VbNetLexer (class in pygments.lexers.dotnet)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.basic.VBScriptLexer">VBScriptLexer (class in pygments.lexers.basic)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.varnish.VCLLexer">VCLLexer (class in pygments.lexers.varnish)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.varnish.VCLSnippetLexer">VCLSnippetLexer (class in pygments.lexers.varnish)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.console.VCTreeStatusLexer">VCTreeStatusLexer (class in pygments.lexers.console)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.VelocityHtmlLexer">VelocityHtmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.VelocityLexer">VelocityLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.VelocityXmlLexer">VelocityXmlLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.hdl.VerilogLexer">VerilogLexer (class in pygments.lexers.hdl)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.VGLLexer">VGLLexer (class in pygments.lexers.dsls)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.hdl.VhdlLexer">VhdlLexer (class in pygments.lexers.hdl)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.textedit.VimLexer">VimLexer (class in pygments.lexers.textedit)</a>
+</li>
+ <li><a href="docs/filters.html#VisibleWhitespaceFilter">VisibleWhitespaceFilter (built-in class)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="W">W</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.diff.WDiffLexer">WDiffLexer (class in pygments.lexers.diff)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.whiley.WhileyLexer">WhileyLexer (class in pygments.lexers.whiley)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="X">X</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.x10.X10Lexer">X10Lexer (class in pygments.lexers.x10)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.XmlDjangoLexer">XmlDjangoLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.XmlErbLexer">XmlErbLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.html.XmlLexer">XmlLexer (class in pygments.lexers.html)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.XmlPhpLexer">XmlPhpLexer (class in pygments.lexers.templates)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.XmlSmartyLexer">XmlSmartyLexer (class in pygments.lexers.templates)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.xorg.XorgLexer">XorgLexer (class in pygments.lexers.xorg)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.webmisc.XQueryLexer">XQueryLexer (class in pygments.lexers.webmisc)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.html.XsltLexer">XsltLexer (class in pygments.lexers.html)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.jvm.XtendLexer">XtendLexer (class in pygments.lexers.jvm)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.lisp.XtlangLexer">XtlangLexer (class in pygments.lexers.lisp)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="Y">Y</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.templates.YamlJinjaLexer">YamlJinjaLexer (class in pygments.lexers.templates)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.data.YamlLexer">YamlLexer (class in pygments.lexers.data)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+<h2 id="Z">Z</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.dsls.ZeekLexer">ZeekLexer (class in pygments.lexers.dsls)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="docs/lexers.html#pygments.lexers.php.ZephirLexer">ZephirLexer (class in pygments.lexers.php)</a>
+</li>
+ <li><a href="docs/lexers.html#pygments.lexers.zig.ZigLexer">ZigLexer (class in pygments.lexers.zig)</a>
+</li>
+ </ul></td>
+</tr></table>
+
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Welcome! — Pygments</title>
+ <link rel="stylesheet" href="_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="_static/language_data.js"></script>
+ <link rel="shortcut icon" href="_static/favicon.ico"/>
+ <link rel="index" title="Index" href="genindex.html" />
+ <link rel="search" title="Search" href="search.html" />
+ <link rel="next" title="Pygments documentation" href="docs/index.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ .related { display: none; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="#">Home</a></li>
+
+ <li><a href="languages.html">Languages</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="download.html">Get it</a></li>
+ <li><a href="docs/index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="#">
+ <img src="_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper"><h3>Download</h3>
+
+<p>Current version: <b>2.4.2</b></p>
+<p>Get Pygments from the <a href="http://pypi.python.org/pypi/Pygments">Python Package
+ Index</a>, or install it with:</p>
+<pre>pip install Pygments</pre>
+
+
+<h3>Questions? Suggestions?</h3>
+
+<p><img src="_static/github.png" width="24" />
+ Clone at <a href="https://github.com/pygments/pygments">GitHub</a>.</p>
+<p>You can also open an issue at the
+ <a href="https://github.com/pygments/pygments/issues">tracker</a>.</p>
+
+<p class="logo">A <a href="http://pocoo.org/">
+ <img src="_static/pocoo.png" /></a> project</a></p>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="welcome">
+<h1>Welcome!<a class="headerlink" href="#welcome" title="Permalink to this headline">¶</a></h1>
+<p>This is the home of Pygments. It is a generic syntax highlighter suitable for
+use in code hosting, forums, wikis or other applications that need to prettify
+source code. Highlights are:</p>
+<ul class="simple">
+<li><p>a wide range of over 300 languages and other text formats is supported</p></li>
+<li><p>special attention is paid to details that increase highlighting quality</p></li>
+<li><p>support for new languages and formats are added easily; most languages use a
+simple regex-based lexing mechanism</p></li>
+<li><p>a number of output formats is available, among them HTML, RTF, LaTeX and ANSI
+sequences</p></li>
+<li><p>it is usable as a command-line tool and as a library</p></li>
+<li><p>… and it highlights even Perl 6!</p></li>
+</ul>
+<p>Read more in the <a class="reference internal" href="faq.html"><span class="doc">FAQ list</span></a> or the <a class="reference internal" href="docs/index.html"><span class="doc">documentation</span></a>,
+or <a class="reference external" href="http://pypi.python.org/pypi/Pygments">download the latest release</a>.</p>
+<div class="section" id="contribute">
+<span id="id1"></span><h2>Contribute<a class="headerlink" href="#contribute" title="Permalink to this headline">¶</a></h2>
+<p>Like every open-source project, we are always looking for volunteers to help us
+with programming. Python knowledge is required, but don’t fear: Python is a very
+clear and easy to learn language.</p>
+<p>Development takes place on <a class="reference external" href="https://github.com/pygments/pygments">GitHub</a>.</p>
+<p>If you found a bug, just open a ticket in the GitHub tracker. Be sure to log
+in to be notified when the issue is fixed – development is not fast-paced as
+the library is quite stable. You can also send an e-mail to the developers, see
+below.</p>
+</div>
+<div class="section" id="the-authors">
+<h2>The authors<a class="headerlink" href="#the-authors" title="Permalink to this headline">¶</a></h2>
+<p>Pygments is maintained by <strong>Georg Brandl</strong>, e-mail address <em>georg</em><em>@</em><em>python.org</em>
+and <strong>Matthäus Chajdas</strong>.</p>
+<p>Many lexers and fixes have been contributed by <strong>Armin Ronacher</strong>, the rest of
+the <a class="reference external" href="http://dev.pocoo.org/">Pocoo</a> team and <strong>Tim Hatch</strong>.</p>
+<div class="toctree-wrapper compound">
+</div>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Supported languages — Pygments</title>
+ <link rel="stylesheet" href="_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="_static/language_data.js"></script>
+ <link rel="shortcut icon" href="_static/favicon.ico"/>
+ <link rel="index" title="Index" href="genindex.html" />
+ <link rel="search" title="Search" href="search.html" />
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="index.html">Home</a></li>
+
+ <li><a href="#">Languages</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="download.html">Get it</a></li>
+ <li><a href="docs/index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="index.html">
+ <img src="_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="index.html">Table of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Supported languages</a><ul>
+<li><a class="reference internal" href="#programming-languages">Programming languages</a></li>
+<li><a class="reference internal" href="#template-languages">Template languages</a></li>
+<li><a class="reference internal" href="#other-markup">Other markup</a></li>
+<li><a class="reference internal" href="#that-s-all">… that’s all?</a></li>
+</ul>
+</li>
+</ul>
+
+ <div role="note" aria-label="source link">
+ <h3>This Page</h3>
+ <ul class="this-page-menu">
+ <li><a href="_sources/languages.rst.txt"
+ rel="nofollow">Show Source</a></li>
+ </ul>
+ </div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="supported-languages">
+<h1>Supported languages<a class="headerlink" href="#supported-languages" title="Permalink to this headline">¶</a></h1>
+<p>Pygments supports an ever-growing range of languages. Watch this space…</p>
+<div class="section" id="programming-languages">
+<h2>Programming languages<a class="headerlink" href="#programming-languages" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>ActionScript</p></li>
+<li><p>Ada</p></li>
+<li><p>ANTLR</p></li>
+<li><p>AppleScript</p></li>
+<li><p>Assembly (various)</p></li>
+<li><p>Asymptote</p></li>
+<li><p><a class="reference external" href="http://augeas.net">Augeas</a></p></li>
+<li><p>Awk</p></li>
+<li><p>BBC Basic</p></li>
+<li><p>Befunge</p></li>
+<li><p><a class="reference external" href="http://boa.cs.iastate.edu/docs/index.php">Boa</a></p></li>
+<li><p>Boo</p></li>
+<li><p>BrainFuck</p></li>
+<li><p>C, C++</p></li>
+<li><p>C#</p></li>
+<li><p><a class="reference external" href="http://charmplusplus.org/">Charm++ CI</a></p></li>
+<li><p>Clojure</p></li>
+<li><p>CoffeeScript</p></li>
+<li><p>ColdFusion</p></li>
+<li><p>Common Lisp</p></li>
+<li><p>Coq</p></li>
+<li><p>Cryptol (incl. Literate Cryptol)</p></li>
+<li><p><a class="reference external" href="http://crystal-lang.org">Crystal</a></p></li>
+<li><p><a class="reference external" href="http://cython.org">Cython</a></p></li>
+<li><p><a class="reference external" href="http://dlang.org">D</a></p></li>
+<li><p>Dart</p></li>
+<li><p>DCPU-16</p></li>
+<li><p>Delphi</p></li>
+<li><p>Dylan</p></li>
+<li><p><a class="reference external" href="http://elm-lang.org/">Elm</a></p></li>
+<li><p>Email</p></li>
+<li><p>Erlang</p></li>
+<li><p><a class="reference external" href="http://ezhillang.org">Ezhil</a> Ezhil - A Tamil programming language</p></li>
+<li><p>Factor</p></li>
+<li><p>Fancy</p></li>
+<li><p><a class="reference external" href="https://fennel-lang.org/">Fennel</a></p></li>
+<li><p><a class="reference external" href="http://ioflo.com/">FloScript</a></p></li>
+<li><p>Fortran</p></li>
+<li><p><a class="reference external" href="https://freefem.org/">FreeFEM++</a></p></li>
+<li><p>F#</p></li>
+<li><p>GAP</p></li>
+<li><p>Gherkin (Cucumber)</p></li>
+<li><p>GL shaders</p></li>
+<li><p>Groovy</p></li>
+<li><p><a class="reference external" href="http://www.haskell.org">Haskell</a> (incl. Literate Haskell)</p></li>
+<li><p>HLSL</p></li>
+<li><p><a class="reference external" href="http://hackage.haskell.org/package/hspec">HSpec</a></p></li>
+<li><p>IDL</p></li>
+<li><p>Io</p></li>
+<li><p>Java</p></li>
+<li><p>JavaScript</p></li>
+<li><p>Lasso</p></li>
+<li><p>LLVM</p></li>
+<li><p>Logtalk</p></li>
+<li><p><a class="reference external" href="http://www.lua.org">Lua</a></p></li>
+<li><p>Matlab</p></li>
+<li><p>MiniD</p></li>
+<li><p>Modelica</p></li>
+<li><p>Modula-2</p></li>
+<li><p>MuPad</p></li>
+<li><p>Nemerle</p></li>
+<li><p>Nimrod</p></li>
+<li><p>Notmuch</p></li>
+<li><p>Objective-C</p></li>
+<li><p>Objective-J</p></li>
+<li><p>Octave</p></li>
+<li><p>OCaml</p></li>
+<li><p>PHP</p></li>
+<li><p><a class="reference external" href="http://perl.org">Perl 5</a> and <a class="reference external" href="https://perl6.org">Perl 6</a></p></li>
+<li><p><a class="reference external" href="https://www.ponylang.io/">Pony</a></p></li>
+<li><p>PovRay</p></li>
+<li><p>PostScript</p></li>
+<li><p>PowerShell</p></li>
+<li><p>Prolog</p></li>
+<li><p><a class="reference external" href="http://www.python.org">Python</a> 2.x and 3.x (incl. console sessions and tracebacks)</p></li>
+<li><p><a class="reference external" href="http://www.rebol.com">REBOL</a></p></li>
+<li><p><a class="reference external" href="http://www.red-lang.org">Red</a></p></li>
+<li><p>Redcode</p></li>
+<li><p><a class="reference external" href="http://www.ruby-lang.org">Ruby</a> (incl. irb sessions)</p></li>
+<li><p>Rust</p></li>
+<li><p>S, S-Plus, R</p></li>
+<li><p>Scala</p></li>
+<li><p><a class="reference external" href="https://git.sr.ht/~sircmpwn/scdoc">Scdoc</a></p></li>
+<li><p>Scheme</p></li>
+<li><p>Scilab</p></li>
+<li><p><a class="reference external" href="https://www.red-bean.com/sgf/">SGF</a></p></li>
+<li><p><a class="reference external" href="https://github.com/arturadib/Slash-A">Slash</a></p></li>
+<li><p><a class="reference external" href="https://slurm.schedmd.com/overview.html">Slurm</a></p></li>
+<li><p>Smalltalk</p></li>
+<li><p>SNOBOL</p></li>
+<li><p><a class="reference external" href="https://solidity.readthedocs.io/">Solidity</a></p></li>
+<li><p>Tcl</p></li>
+<li><p><a class="reference external" href="https://ttssh2.osdn.jp/">Tera Term language</a></p></li>
+<li><p><a class="reference external" href="https://github.com/toml-lang/toml">TOML</a></p></li>
+<li><p>Vala</p></li>
+<li><p>Verilog</p></li>
+<li><p>VHDL</p></li>
+<li><p>Visual Basic.NET</p></li>
+<li><p>Visual FoxPro</p></li>
+<li><p>XQuery</p></li>
+<li><p><a class="reference external" href="https://www.zeek.org">Zeek</a></p></li>
+<li><p>Zephir</p></li>
+<li><p><a class="reference external" href="https://ziglang.org/">Zig</a></p></li>
+</ul>
+</div>
+<div class="section" id="template-languages">
+<h2>Template languages<a class="headerlink" href="#template-languages" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Cheetah templates</p></li>
+<li><p><a class="reference external" href="http://www.djangoproject.com">Django</a> / <a class="reference external" href="http://jinja.pocoo.org/jinja">Jinja</a> templates</p></li>
+<li><p>ERB (Ruby templating)</p></li>
+<li><p><a class="reference external" href="http://genshi.edgewall.org">Genshi</a> (the Trac template language)</p></li>
+<li><p>JSP (Java Server Pages)</p></li>
+<li><p><a class="reference external" href="http://www.myghty.org">Myghty</a> (the HTML::Mason based framework)</p></li>
+<li><p><a class="reference external" href="http://www.makotemplates.org">Mako</a> (the Myghty successor)</p></li>
+<li><p><a class="reference external" href="http://www.smarty.net">Smarty</a> templates (PHP templating)</p></li>
+<li><p>Tea</p></li>
+</ul>
+</div>
+<div class="section" id="other-markup">
+<h2>Other markup<a class="headerlink" href="#other-markup" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Apache config files</p></li>
+<li><p>Bash shell scripts</p></li>
+<li><p>BBCode</p></li>
+<li><p>CMake</p></li>
+<li><p>CSS</p></li>
+<li><p>Debian control files</p></li>
+<li><p>Diff files</p></li>
+<li><p>DTD</p></li>
+<li><p>Gettext catalogs</p></li>
+<li><p>Gnuplot script</p></li>
+<li><p>Groff markup</p></li>
+<li><p>HTML</p></li>
+<li><p>HTTP sessions</p></li>
+<li><p>INI-style config files</p></li>
+<li><p>IRC logs (irssi style)</p></li>
+<li><p>Lighttpd config files</p></li>
+<li><p>Makefiles</p></li>
+<li><p>MoinMoin/Trac Wiki markup</p></li>
+<li><p>MySQL</p></li>
+<li><p>Nginx config files</p></li>
+<li><p>POV-Ray scenes</p></li>
+<li><p>Ragel</p></li>
+<li><p>Redcode</p></li>
+<li><p>ReST</p></li>
+<li><p>Robot Framework</p></li>
+<li><p>RPM spec files</p></li>
+<li><p>SQL, also MySQL, SQLite</p></li>
+<li><p>Squid configuration</p></li>
+<li><p>TeX</p></li>
+<li><p>tcsh</p></li>
+<li><p>Vim Script</p></li>
+<li><p>Windows batch files</p></li>
+<li><p>XML</p></li>
+<li><p>XSLT</p></li>
+<li><p>YAML</p></li>
+</ul>
+</div>
+<div class="section" id="that-s-all">
+<h2>… that’s all?<a class="headerlink" href="#that-s-all" title="Permalink to this headline">¶</a></h2>
+<p>Well, why not write your own? Contributing to Pygments is easy and fun. Take a
+look at the <a class="reference internal" href="docs/lexerdevelopment.html"><span class="doc">docs on lexer development</span></a>. Pull
+requests are welcome on <cite>GitHub <https://github.com/pygments/pygments></cite>.</p>
+<p>Note: the languages listed here are supported in the development version. The
+latest release may lack a few of them.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Python Module Index — Pygments</title>
+ <link rel="stylesheet" href="_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="_static/language_data.js"></script>
+ <link rel="shortcut icon" href="_static/favicon.ico"/>
+ <link rel="index" title="Index" href="genindex.html" />
+ <link rel="search" title="Search" href="search.html" />
+
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="index.html">Home</a></li>
+
+ <li><a href="languages.html">Languages</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="download.html">Get it</a></li>
+ <li><a href="docs/index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="index.html">
+ <img src="_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+
+ <h1>Python Module Index</h1>
+
+ <div class="modindex-jumpbox">
+ <a href="#cap-p"><strong>p</strong></a>
+ </div>
+
+ <table class="indextable modindextable">
+ <tr class="pcap"><td></td><td> </td><td></td></tr>
+ <tr class="cap" id="cap-p"><td></td><td>
+ <strong>p</strong></td><td></td></tr>
+ <tr>
+ <td><img src="_static/minus.png" class="toggler"
+ id="toggle-1" style="display: none" alt="-" /></td>
+ <td>
+ <a href="docs/api.html#module-pygments"><code class="xref">pygments</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/api.html#module-pygments.formatter"><code class="xref">pygments.formatter</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/api.html#module-pygments.formatters"><code class="xref">pygments.formatters</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/api.html#module-pygments.lexer"><code class="xref">pygments.lexer</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/api.html#module-pygments.lexers"><code class="xref">pygments.lexers</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.actionscript"><code class="xref">pygments.lexers.actionscript</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.algebra"><code class="xref">pygments.lexers.algebra</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.ambient"><code class="xref">pygments.lexers.ambient</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.ampl"><code class="xref">pygments.lexers.ampl</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.apl"><code class="xref">pygments.lexers.apl</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.archetype"><code class="xref">pygments.lexers.archetype</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.asm"><code class="xref">pygments.lexers.asm</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.automation"><code class="xref">pygments.lexers.automation</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.basic"><code class="xref">pygments.lexers.basic</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.bibtex"><code class="xref">pygments.lexers.bibtex</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.boa"><code class="xref">pygments.lexers.boa</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.business"><code class="xref">pygments.lexers.business</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.c_cpp"><code class="xref">pygments.lexers.c_cpp</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.c_like"><code class="xref">pygments.lexers.c_like</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.capnproto"><code class="xref">pygments.lexers.capnproto</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.chapel"><code class="xref">pygments.lexers.chapel</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.clean"><code class="xref">pygments.lexers.clean</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.configs"><code class="xref">pygments.lexers.configs</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.console"><code class="xref">pygments.lexers.console</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.crystal"><code class="xref">pygments.lexers.crystal</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.csound"><code class="xref">pygments.lexers.csound</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.css"><code class="xref">pygments.lexers.css</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.d"><code class="xref">pygments.lexers.d</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.dalvik"><code class="xref">pygments.lexers.dalvik</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.data"><code class="xref">pygments.lexers.data</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.diff"><code class="xref">pygments.lexers.diff</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.dotnet"><code class="xref">pygments.lexers.dotnet</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.dsls"><code class="xref">pygments.lexers.dsls</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.dylan"><code class="xref">pygments.lexers.dylan</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.ecl"><code class="xref">pygments.lexers.ecl</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.eiffel"><code class="xref">pygments.lexers.eiffel</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.elm"><code class="xref">pygments.lexers.elm</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.email"><code class="xref">pygments.lexers.email</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.erlang"><code class="xref">pygments.lexers.erlang</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.esoteric"><code class="xref">pygments.lexers.esoteric</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.ezhil"><code class="xref">pygments.lexers.ezhil</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.factor"><code class="xref">pygments.lexers.factor</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.fantom"><code class="xref">pygments.lexers.fantom</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.felix"><code class="xref">pygments.lexers.felix</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.floscript"><code class="xref">pygments.lexers.floscript</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.forth"><code class="xref">pygments.lexers.forth</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.fortran"><code class="xref">pygments.lexers.fortran</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.foxpro"><code class="xref">pygments.lexers.foxpro</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.freefem"><code class="xref">pygments.lexers.freefem</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.go"><code class="xref">pygments.lexers.go</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.grammar_notation"><code class="xref">pygments.lexers.grammar_notation</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.graph"><code class="xref">pygments.lexers.graph</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.graphics"><code class="xref">pygments.lexers.graphics</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.haskell"><code class="xref">pygments.lexers.haskell</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.haxe"><code class="xref">pygments.lexers.haxe</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.hdl"><code class="xref">pygments.lexers.hdl</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.hexdump"><code class="xref">pygments.lexers.hexdump</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.html"><code class="xref">pygments.lexers.html</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.idl"><code class="xref">pygments.lexers.idl</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.igor"><code class="xref">pygments.lexers.igor</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.inferno"><code class="xref">pygments.lexers.inferno</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.installers"><code class="xref">pygments.lexers.installers</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.int_fiction"><code class="xref">pygments.lexers.int_fiction</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.iolang"><code class="xref">pygments.lexers.iolang</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.j"><code class="xref">pygments.lexers.j</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.javascript"><code class="xref">pygments.lexers.javascript</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.julia"><code class="xref">pygments.lexers.julia</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.jvm"><code class="xref">pygments.lexers.jvm</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.lisp"><code class="xref">pygments.lexers.lisp</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.make"><code class="xref">pygments.lexers.make</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.markup"><code class="xref">pygments.lexers.markup</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.matlab"><code class="xref">pygments.lexers.matlab</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.mime"><code class="xref">pygments.lexers.mime</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.ml"><code class="xref">pygments.lexers.ml</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.modeling"><code class="xref">pygments.lexers.modeling</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.modula2"><code class="xref">pygments.lexers.modula2</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.monte"><code class="xref">pygments.lexers.monte</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.ncl"><code class="xref">pygments.lexers.ncl</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.nimrod"><code class="xref">pygments.lexers.nimrod</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.nit"><code class="xref">pygments.lexers.nit</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.nix"><code class="xref">pygments.lexers.nix</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.oberon"><code class="xref">pygments.lexers.oberon</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.objective"><code class="xref">pygments.lexers.objective</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.ooc"><code class="xref">pygments.lexers.ooc</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.parasail"><code class="xref">pygments.lexers.parasail</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.parsers"><code class="xref">pygments.lexers.parsers</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.pascal"><code class="xref">pygments.lexers.pascal</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.pawn"><code class="xref">pygments.lexers.pawn</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.perl"><code class="xref">pygments.lexers.perl</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.php"><code class="xref">pygments.lexers.php</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.pony"><code class="xref">pygments.lexers.pony</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.praat"><code class="xref">pygments.lexers.praat</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.prolog"><code class="xref">pygments.lexers.prolog</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.python"><code class="xref">pygments.lexers.python</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.qvt"><code class="xref">pygments.lexers.qvt</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.r"><code class="xref">pygments.lexers.r</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.rdf"><code class="xref">pygments.lexers.rdf</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.rebol"><code class="xref">pygments.lexers.rebol</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.resource"><code class="xref">pygments.lexers.resource</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.rnc"><code class="xref">pygments.lexers.rnc</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.roboconf"><code class="xref">pygments.lexers.roboconf</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.robotframework"><code class="xref">pygments.lexers.robotframework</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.ruby"><code class="xref">pygments.lexers.ruby</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.rust"><code class="xref">pygments.lexers.rust</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.sas"><code class="xref">pygments.lexers.sas</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.scdoc"><code class="xref">pygments.lexers.scdoc</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.scripting"><code class="xref">pygments.lexers.scripting</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.sgf"><code class="xref">pygments.lexers.sgf</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.shell"><code class="xref">pygments.lexers.shell</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.slash"><code class="xref">pygments.lexers.slash</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.smalltalk"><code class="xref">pygments.lexers.smalltalk</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.smv"><code class="xref">pygments.lexers.smv</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.snobol"><code class="xref">pygments.lexers.snobol</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.solidity"><code class="xref">pygments.lexers.solidity</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.special"><code class="xref">pygments.lexers.special</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.sql"><code class="xref">pygments.lexers.sql</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.stata"><code class="xref">pygments.lexers.stata</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.supercollider"><code class="xref">pygments.lexers.supercollider</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.tcl"><code class="xref">pygments.lexers.tcl</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.templates"><code class="xref">pygments.lexers.templates</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.teraterm"><code class="xref">pygments.lexers.teraterm</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.testing"><code class="xref">pygments.lexers.testing</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.textedit"><code class="xref">pygments.lexers.textedit</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.textfmts"><code class="xref">pygments.lexers.textfmts</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.theorem"><code class="xref">pygments.lexers.theorem</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.trafficscript"><code class="xref">pygments.lexers.trafficscript</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.typoscript"><code class="xref">pygments.lexers.typoscript</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.unicon"><code class="xref">pygments.lexers.unicon</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.urbi"><code class="xref">pygments.lexers.urbi</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.varnish"><code class="xref">pygments.lexers.varnish</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.verification"><code class="xref">pygments.lexers.verification</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.webmisc"><code class="xref">pygments.lexers.webmisc</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.whiley"><code class="xref">pygments.lexers.whiley</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.x10"><code class="xref">pygments.lexers.x10</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.xorg"><code class="xref">pygments.lexers.xorg</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/lexers.html#module-pygments.lexers.zig"><code class="xref">pygments.lexers.zig</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/api.html#module-pygments.styles"><code class="xref">pygments.styles</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/tokens.html#module-pygments.token"><code class="xref">pygments.token</code></a></td><td>
+ <em></em></td></tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>   
+ <a href="docs/api.html#module-pygments.util"><code class="xref">pygments.util</code></a></td><td>
+ <em></em></td></tr>
+ </table>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Search — Pygments</title>
+ <link rel="stylesheet" href="_static/pygments14.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="_static/language_data.js"></script>
+ <script type="text/javascript" src="_static/searchtools.js"></script>
+ <link rel="shortcut icon" href="_static/favicon.ico"/>
+ <link rel="index" title="Index" href="genindex.html" />
+ <link rel="search" title="Search" href="#" />
+ <script type="text/javascript" src="searchindex.js" defer></script>
+
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans:300,400,700'
+ rel='stylesheet' type='text/css'>
+
+ <style type="text/css">
+ table.right { float: right; margin-left: 20px; }
+ table.right td { border: 1px solid #ccc; }
+
+ </style>
+ <script type="text/javascript">
+ // intelligent scrolling of the sidebar content
+ $(window).scroll(function() {
+ var sb = $('.sphinxsidebarwrapper');
+ var win = $(window);
+ var sbh = sb.height();
+ var offset = $('.sphinxsidebar').position()['top'];
+ var wintop = win.scrollTop();
+ var winbot = wintop + win.innerHeight();
+ var curtop = sb.position()['top'];
+ var curbot = curtop + sbh;
+ // does sidebar fit in window?
+ if (sbh < win.innerHeight()) {
+ // yes: easy case -- always keep at the top
+ sb.css('top', $u.min([$u.max([0, wintop - offset - 10]),
+ $(document).height() - sbh - 200]));
+ } else {
+ // no: only scroll if top/bottom edge of sidebar is at
+ // top/bottom edge of window
+ if (curtop > wintop && curbot > winbot) {
+ sb.css('top', $u.max([wintop - offset - 10, 0]));
+ } else if (curtop < wintop && curbot < winbot) {
+ sb.css('top', $u.min([winbot - sbh - offset - 20,
+ $(document).height() - sbh - 200]));
+ }
+ }
+ });
+ </script>
+
+
+ </head><body>
+<div class="outerwrapper">
+<div class="pageheader">
+ <ul>
+ <li><a href="index.html">Home</a></li>
+
+ <li><a href="languages.html">Languages</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="download.html">Get it</a></li>
+ <li><a href="docs/index.html">Docs</a></li>
+ </ul>
+ <div>
+ <a href="index.html">
+ <img src="_static/logo.png" alt="Pygments logo" />
+ </a>
+ </div>
+</div>
+
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <h1 id="search-documentation">Search</h1>
+ <div id="fallback" class="admonition warning">
+ <script type="text/javascript">$('#fallback').hide();</script>
+ <p>
+ Please activate JavaScript to enable the search
+ functionality.
+ </p>
+ </div>
+ <p>
+ From here you can search these documents. Enter your search
+ words into the box below and click "search". Note that the search
+ function will automatically search for all of the words. Pages
+ containing fewer words won't appear in the result list.
+ </p>
+ <form action="" method="get">
+ <input type="text" name="q" aria-labelledby="search-documentation" value="" />
+ <input type="submit" value="search" />
+ <span id="search-progress" style="padding-left: 10px"></span>
+ </form>
+
+ <div id="search-results">
+
+ </div>
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer" role="contentinfo">
+ © Copyright 2006-2019, Georg Brandl and Pygments contributors.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.1. <br/>
+ Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ </div>
+ </div>
+
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+Search.setIndex({docnames:["docs/api","docs/authors","docs/changelog","docs/cmdline","docs/filterdevelopment","docs/filters","docs/formatterdevelopment","docs/formatters","docs/index","docs/integrate","docs/java","docs/lexerdevelopment","docs/lexers","docs/moinmoin","docs/plugins","docs/quickstart","docs/rstdirective","docs/styles","docs/tokens","docs/unicode","download","faq","index","languages"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["docs/api.rst","docs/authors.rst","docs/changelog.rst","docs/cmdline.rst","docs/filterdevelopment.rst","docs/filters.rst","docs/formatterdevelopment.rst","docs/formatters.rst","docs/index.rst","docs/integrate.rst","docs/java.rst","docs/lexerdevelopment.rst","docs/lexers.rst","docs/moinmoin.rst","docs/plugins.rst","docs/quickstart.rst","docs/rstdirective.rst","docs/styles.rst","docs/tokens.rst","docs/unicode.rst","download.rst","faq.rst","index.rst","languages.rst"],objects:{"":{BBCodeFormatter:[7,0,1,""],BmpImageFormatter:[7,0,1,""],CodeTagFilter:[5,0,1,""],GifImageFormatter:[7,0,1,""],GobbleFilter:[5,0,1,""],HtmlFormatter:[7,0,1,""],IRCFormatter:[7,0,1,""],ImageFormatter:[7,0,1,""],JpgImageFormatter:[7,0,1,""],KeywordCaseFilter:[5,0,1,""],LatexFormatter:[7,0,1,""],NameHighlightFilter:[5,0,1,""],NullFormatter:[7,0,1,""],RaiseOnErrorTokenFilter:[5,0,1,""],RawTokenFormatter:[7,0,1,""],RtfFormatter:[7,0,1,""],SvgFormatter:[7,0,1,""],Terminal256Formatter:[7,0,1,""],TerminalFormatter:[7,0,1,""],TerminalTrueColorFormatter:[7,0,1,""],TestcaseFormatter:[7,0,1,""],TokenMergeFilter:[5,0,1,""],VisibleWhitespaceFilter:[5,0,1,""],pygments:[0,1,0,"-"]},"pygments.formatter":{Formatter:[0,0,1,""]},"pygments.formatter.Formatter":{aliases:[0,3,1,""],filenames:[0,3,1,""],format:[0,4,1,""],get_style_defs:[0,4,1,""],name:[0,3,1,""]},"pygments.formatters":{get_formatter_by_name:[0,2,1,""],get_formatter_for_filename:[0,2,1,""],load_formatter_from_file:[0,2,1,""]},"pygments.lexer":{Lexer:[0,0,1,""]},"pygments.lexer.Lexer":{alias_filenames:[0,3,1,""],aliases:[0,3,1,""],analyse_text:[0,4,1,""],filenames:[0,3,1,""],get_tokens:[0,4,1,""],get_tokens_unprocessed:[0,4,1,""],mimetypes:[0,3,1,""],name:[0,3,1,""]},"pygments.lexers":{actionscript:[12,1,0,"-"],algebra:[12,1,0,"-"],ambient:[12,1,0,"-"],ampl:[12,1,0,"-"],apl:[12,1,0,"-"],archetype:[12,1,0,"-"],asm:[12,1,0,"-"],automation:[12,1,0,"-"],basic:[12,1,0,"-"],bibtex:[12,1,0,"-"],boa:[12,1,0,"-"],business:[12,1,0,"-"],c_cpp:[12,1,0,"-"],c_like:[12,1,0,"-"],capnproto:[12,1,0,"-"],chapel:[12,1,0,"-"],clean:[12,1,0,"-"],configs:[12,1,0,"-"],console:[12,1,0,"-"],crystal:[12,1,0,"-"],csound:[12,1,0,"-"],css:[12,1,0,"-"],d:[12,1,0,"-"],dalvik:[12,1,0,"-"],data:[12,1,0,"-"],diff:[12,1,0,"-"],dotnet:[12,1,0,"-"],dsls:[12,1,0,"-"],dylan:[12,1,0,"-"],ecl:[12,1,0,"-"],eiffel:[12,1,0,"-"],elm:[12,1,0,"-"],email:[12,1,0,"-"],erlang:[12,1,0,"-"],esoteric:[12,1,0,"-"],ezhil:[12,1,0,"-"],factor:[12,1,0,"-"],fantom:[12,1,0,"-"],felix:[12,1,0,"-"],find_lexer_class:[0,2,1,""],find_lexer_class_by_name:[0,2,1,""],floscript:[12,1,0,"-"],forth:[12,1,0,"-"],fortran:[12,1,0,"-"],foxpro:[12,1,0,"-"],freefem:[12,1,0,"-"],get_all_lexers:[0,2,1,""],get_lexer_by_name:[0,2,1,""],get_lexer_for_filename:[0,2,1,""],get_lexer_for_mimetype:[0,2,1,""],go:[12,1,0,"-"],grammar_notation:[12,1,0,"-"],graph:[12,1,0,"-"],graphics:[12,1,0,"-"],guess_lexer:[0,2,1,""],guess_lexer_for_filename:[0,2,1,""],haskell:[12,1,0,"-"],haxe:[12,1,0,"-"],hdl:[12,1,0,"-"],hexdump:[12,1,0,"-"],html:[12,1,0,"-"],idl:[12,1,0,"-"],igor:[12,1,0,"-"],inferno:[12,1,0,"-"],installers:[12,1,0,"-"],int_fiction:[12,1,0,"-"],iolang:[12,1,0,"-"],j:[12,1,0,"-"],javascript:[12,1,0,"-"],julia:[12,1,0,"-"],jvm:[12,1,0,"-"],lisp:[12,1,0,"-"],load_lexer_from_file:[0,2,1,""],make:[12,1,0,"-"],markup:[12,1,0,"-"],matlab:[12,1,0,"-"],mime:[12,1,0,"-"],ml:[12,1,0,"-"],modeling:[12,1,0,"-"],modula2:[12,1,0,"-"],monte:[12,1,0,"-"],ncl:[12,1,0,"-"],nimrod:[12,1,0,"-"],nit:[12,1,0,"-"],nix:[12,1,0,"-"],oberon:[12,1,0,"-"],objective:[12,1,0,"-"],ooc:[12,1,0,"-"],parasail:[12,1,0,"-"],parsers:[12,1,0,"-"],pascal:[12,1,0,"-"],pawn:[12,1,0,"-"],perl:[12,1,0,"-"],php:[12,1,0,"-"],pony:[12,1,0,"-"],praat:[12,1,0,"-"],prolog:[12,1,0,"-"],python:[12,1,0,"-"],qvt:[12,1,0,"-"],r:[12,1,0,"-"],rdf:[12,1,0,"-"],rebol:[12,1,0,"-"],resource:[12,1,0,"-"],rnc:[12,1,0,"-"],roboconf:[12,1,0,"-"],robotframework:[12,1,0,"-"],ruby:[12,1,0,"-"],rust:[12,1,0,"-"],sas:[12,1,0,"-"],scdoc:[12,1,0,"-"],scripting:[12,1,0,"-"],sgf:[12,1,0,"-"],shell:[12,1,0,"-"],slash:[12,1,0,"-"],smalltalk:[12,1,0,"-"],smv:[12,1,0,"-"],snobol:[12,1,0,"-"],solidity:[12,1,0,"-"],special:[12,1,0,"-"],sql:[12,1,0,"-"],stata:[12,1,0,"-"],supercollider:[12,1,0,"-"],tcl:[12,1,0,"-"],templates:[12,1,0,"-"],teraterm:[12,1,0,"-"],testing:[12,1,0,"-"],textedit:[12,1,0,"-"],textfmts:[12,1,0,"-"],theorem:[12,1,0,"-"],trafficscript:[12,1,0,"-"],typoscript:[12,1,0,"-"],unicon:[12,1,0,"-"],urbi:[12,1,0,"-"],varnish:[12,1,0,"-"],verification:[12,1,0,"-"],webmisc:[12,1,0,"-"],whiley:[12,1,0,"-"],x10:[12,1,0,"-"],xorg:[12,1,0,"-"],zig:[12,1,0,"-"]},"pygments.lexers.actionscript":{ActionScript3Lexer:[12,0,1,""],ActionScriptLexer:[12,0,1,""],MxmlLexer:[12,0,1,""]},"pygments.lexers.algebra":{BCLexer:[12,0,1,""],GAPLexer:[12,0,1,""],MathematicaLexer:[12,0,1,""],MuPADLexer:[12,0,1,""]},"pygments.lexers.ambient":{AmbientTalkLexer:[12,0,1,""]},"pygments.lexers.ampl":{AmplLexer:[12,0,1,""]},"pygments.lexers.apl":{APLLexer:[12,0,1,""]},"pygments.lexers.archetype":{AdlLexer:[12,0,1,""],CadlLexer:[12,0,1,""],OdinLexer:[12,0,1,""]},"pygments.lexers.asm":{CObjdumpLexer:[12,0,1,""],Ca65Lexer:[12,0,1,""],CppObjdumpLexer:[12,0,1,""],DObjdumpLexer:[12,0,1,""],Dasm16Lexer:[12,0,1,""],GasLexer:[12,0,1,""],HsailLexer:[12,0,1,""],LlvmLexer:[12,0,1,""],NasmLexer:[12,0,1,""],NasmObjdumpLexer:[12,0,1,""],ObjdumpLexer:[12,0,1,""],TasmLexer:[12,0,1,""]},"pygments.lexers.automation":{AutoItLexer:[12,0,1,""],AutohotkeyLexer:[12,0,1,""]},"pygments.lexers.basic":{BBCBasicLexer:[12,0,1,""],BlitzBasicLexer:[12,0,1,""],BlitzMaxLexer:[12,0,1,""],CbmBasicV2Lexer:[12,0,1,""],MonkeyLexer:[12,0,1,""],QBasicLexer:[12,0,1,""],VBScriptLexer:[12,0,1,""]},"pygments.lexers.bibtex":{BSTLexer:[12,0,1,""],BibTeXLexer:[12,0,1,""]},"pygments.lexers.boa":{BoaLexer:[12,0,1,""]},"pygments.lexers.business":{ABAPLexer:[12,0,1,""],CobolFreeformatLexer:[12,0,1,""],CobolLexer:[12,0,1,""],GoodDataCLLexer:[12,0,1,""],MaqlLexer:[12,0,1,""],OpenEdgeLexer:[12,0,1,""]},"pygments.lexers.c_cpp":{CLexer:[12,0,1,""],CppLexer:[12,0,1,""]},"pygments.lexers.c_like":{ArduinoLexer:[12,0,1,""],CharmciLexer:[12,0,1,""],ClayLexer:[12,0,1,""],CudaLexer:[12,0,1,""],ECLexer:[12,0,1,""],MqlLexer:[12,0,1,""],NesCLexer:[12,0,1,""],PikeLexer:[12,0,1,""],SwigLexer:[12,0,1,""],ValaLexer:[12,0,1,""]},"pygments.lexers.capnproto":{CapnProtoLexer:[12,0,1,""]},"pygments.lexers.chapel":{ChapelLexer:[12,0,1,""]},"pygments.lexers.clean":{CleanLexer:[12,0,1,""]},"pygments.lexers.configs":{ApacheConfLexer:[12,0,1,""],AugeasLexer:[12,0,1,""],Cfengine3Lexer:[12,0,1,""],DockerLexer:[12,0,1,""],IniLexer:[12,0,1,""],KconfigLexer:[12,0,1,""],LighttpdConfLexer:[12,0,1,""],NginxConfLexer:[12,0,1,""],PacmanConfLexer:[12,0,1,""],PkgConfigLexer:[12,0,1,""],PropertiesLexer:[12,0,1,""],RegeditLexer:[12,0,1,""],SquidConfLexer:[12,0,1,""],TOMLLexer:[12,0,1,""],TermcapLexer:[12,0,1,""],TerminfoLexer:[12,0,1,""],TerraformLexer:[12,0,1,""]},"pygments.lexers.console":{PyPyLogLexer:[12,0,1,""],VCTreeStatusLexer:[12,0,1,""]},"pygments.lexers.crystal":{CrystalLexer:[12,0,1,""]},"pygments.lexers.csound":{CsoundDocumentLexer:[12,0,1,""],CsoundOrchestraLexer:[12,0,1,""],CsoundScoreLexer:[12,0,1,""]},"pygments.lexers.css":{CssLexer:[12,0,1,""],LessCssLexer:[12,0,1,""],SassLexer:[12,0,1,""],ScssLexer:[12,0,1,""]},"pygments.lexers.d":{CrocLexer:[12,0,1,""],DLexer:[12,0,1,""],MiniDLexer:[12,0,1,""]},"pygments.lexers.dalvik":{SmaliLexer:[12,0,1,""]},"pygments.lexers.data":{JsonBareObjectLexer:[12,0,1,""],JsonLdLexer:[12,0,1,""],JsonLexer:[12,0,1,""],YamlLexer:[12,0,1,""]},"pygments.lexers.diff":{DarcsPatchLexer:[12,0,1,""],DiffLexer:[12,0,1,""],WDiffLexer:[12,0,1,""]},"pygments.lexers.dotnet":{BooLexer:[12,0,1,""],CSharpAspxLexer:[12,0,1,""],CSharpLexer:[12,0,1,""],FSharpLexer:[12,0,1,""],NemerleLexer:[12,0,1,""],VbNetAspxLexer:[12,0,1,""],VbNetLexer:[12,0,1,""]},"pygments.lexers.dsls":{AlloyLexer:[12,0,1,""],CrmshLexer:[12,0,1,""],FlatlineLexer:[12,0,1,""],MscgenLexer:[12,0,1,""],PanLexer:[12,0,1,""],ProtoBufLexer:[12,0,1,""],PuppetLexer:[12,0,1,""],RslLexer:[12,0,1,""],SnowballLexer:[12,0,1,""],ThriftLexer:[12,0,1,""],VGLLexer:[12,0,1,""],ZeekLexer:[12,0,1,""]},"pygments.lexers.dylan":{DylanConsoleLexer:[12,0,1,""],DylanLexer:[12,0,1,""],DylanLidLexer:[12,0,1,""]},"pygments.lexers.ecl":{ECLLexer:[12,0,1,""]},"pygments.lexers.eiffel":{EiffelLexer:[12,0,1,""]},"pygments.lexers.elm":{ElmLexer:[12,0,1,""]},"pygments.lexers.email":{EmailLexer:[12,0,1,""]},"pygments.lexers.erlang":{ElixirConsoleLexer:[12,0,1,""],ElixirLexer:[12,0,1,""],ErlangLexer:[12,0,1,""],ErlangShellLexer:[12,0,1,""]},"pygments.lexers.esoteric":{AheuiLexer:[12,0,1,""],BefungeLexer:[12,0,1,""],BrainfuckLexer:[12,0,1,""],CAmkESLexer:[12,0,1,""],CapDLLexer:[12,0,1,""],RedcodeLexer:[12,0,1,""]},"pygments.lexers.ezhil":{EzhilLexer:[12,0,1,""]},"pygments.lexers.factor":{FactorLexer:[12,0,1,""]},"pygments.lexers.fantom":{FantomLexer:[12,0,1,""]},"pygments.lexers.felix":{FelixLexer:[12,0,1,""]},"pygments.lexers.floscript":{FloScriptLexer:[12,0,1,""]},"pygments.lexers.forth":{ForthLexer:[12,0,1,""]},"pygments.lexers.fortran":{FortranFixedLexer:[12,0,1,""],FortranLexer:[12,0,1,""]},"pygments.lexers.foxpro":{FoxProLexer:[12,0,1,""]},"pygments.lexers.freefem":{FreeFemLexer:[12,0,1,""]},"pygments.lexers.go":{GoLexer:[12,0,1,""]},"pygments.lexers.grammar_notation":{AbnfLexer:[12,0,1,""],BnfLexer:[12,0,1,""],JsgfLexer:[12,0,1,""]},"pygments.lexers.graph":{CypherLexer:[12,0,1,""]},"pygments.lexers.graphics":{AsymptoteLexer:[12,0,1,""],GLShaderLexer:[12,0,1,""],GnuplotLexer:[12,0,1,""],HLSLShaderLexer:[12,0,1,""],PostScriptLexer:[12,0,1,""],PovrayLexer:[12,0,1,""]},"pygments.lexers.haskell":{AgdaLexer:[12,0,1,""],CryptolLexer:[12,0,1,""],HaskellLexer:[12,0,1,""],HspecLexer:[12,0,1,""],IdrisLexer:[12,0,1,""],KokaLexer:[12,0,1,""],LiterateAgdaLexer:[12,0,1,""],LiterateCryptolLexer:[12,0,1,""],LiterateHaskellLexer:[12,0,1,""],LiterateIdrisLexer:[12,0,1,""]},"pygments.lexers.haxe":{HaxeLexer:[12,0,1,""],HxmlLexer:[12,0,1,""]},"pygments.lexers.hdl":{SystemVerilogLexer:[12,0,1,""],VerilogLexer:[12,0,1,""],VhdlLexer:[12,0,1,""]},"pygments.lexers.hexdump":{HexdumpLexer:[12,0,1,""]},"pygments.lexers.html":{DtdLexer:[12,0,1,""],HamlLexer:[12,0,1,""],HtmlLexer:[12,0,1,""],PugLexer:[12,0,1,""],ScamlLexer:[12,0,1,""],XmlLexer:[12,0,1,""],XsltLexer:[12,0,1,""]},"pygments.lexers.idl":{IDLLexer:[12,0,1,""]},"pygments.lexers.igor":{IgorLexer:[12,0,1,""]},"pygments.lexers.inferno":{LimboLexer:[12,0,1,""]},"pygments.lexers.installers":{DebianControlLexer:[12,0,1,""],NSISLexer:[12,0,1,""],RPMSpecLexer:[12,0,1,""],SourcesListLexer:[12,0,1,""]},"pygments.lexers.int_fiction":{Inform6Lexer:[12,0,1,""],Inform6TemplateLexer:[12,0,1,""],Inform7Lexer:[12,0,1,""],Tads3Lexer:[12,0,1,""]},"pygments.lexers.iolang":{IoLexer:[12,0,1,""]},"pygments.lexers.j":{JLexer:[12,0,1,""]},"pygments.lexers.javascript":{CoffeeScriptLexer:[12,0,1,""],DartLexer:[12,0,1,""],EarlGreyLexer:[12,0,1,""],JavascriptLexer:[12,0,1,""],JuttleLexer:[12,0,1,""],KalLexer:[12,0,1,""],LassoLexer:[12,0,1,""],LiveScriptLexer:[12,0,1,""],MaskLexer:[12,0,1,""],ObjectiveJLexer:[12,0,1,""],TypeScriptLexer:[12,0,1,""]},"pygments.lexers.julia":{JuliaConsoleLexer:[12,0,1,""],JuliaLexer:[12,0,1,""]},"pygments.lexers.jvm":{AspectJLexer:[12,0,1,""],CeylonLexer:[12,0,1,""],ClojureLexer:[12,0,1,""],ClojureScriptLexer:[12,0,1,""],GoloLexer:[12,0,1,""],GosuLexer:[12,0,1,""],GosuTemplateLexer:[12,0,1,""],GroovyLexer:[12,0,1,""],IokeLexer:[12,0,1,""],JasminLexer:[12,0,1,""],JavaLexer:[12,0,1,""],KotlinLexer:[12,0,1,""],PigLexer:[12,0,1,""],SarlLexer:[12,0,1,""],ScalaLexer:[12,0,1,""],XtendLexer:[12,0,1,""]},"pygments.lexers.lisp":{CPSALexer:[12,0,1,""],CommonLispLexer:[12,0,1,""],EmacsLispLexer:[12,0,1,""],FennelLexer:[12,0,1,""],HyLexer:[12,0,1,""],NewLispLexer:[12,0,1,""],RacketLexer:[12,0,1,""],SchemeLexer:[12,0,1,""],ShenLexer:[12,0,1,""],XtlangLexer:[12,0,1,""]},"pygments.lexers.make":{BaseMakefileLexer:[12,0,1,""],CMakeLexer:[12,0,1,""],MakefileLexer:[12,0,1,""]},"pygments.lexers.markup":{BBCodeLexer:[12,0,1,""],GroffLexer:[12,0,1,""],MarkdownLexer:[12,0,1,""],MoinWikiLexer:[12,0,1,""],MozPreprocCssLexer:[12,0,1,""],MozPreprocHashLexer:[12,0,1,""],MozPreprocJavascriptLexer:[12,0,1,""],MozPreprocPercentLexer:[12,0,1,""],MozPreprocXulLexer:[12,0,1,""],RstLexer:[12,0,1,""],TexLexer:[12,0,1,""]},"pygments.lexers.matlab":{MatlabLexer:[12,0,1,""],MatlabSessionLexer:[12,0,1,""],OctaveLexer:[12,0,1,""],ScilabLexer:[12,0,1,""]},"pygments.lexers.mime":{MIMELexer:[12,0,1,""]},"pygments.lexers.ml":{OcamlLexer:[12,0,1,""],OpaLexer:[12,0,1,""],SMLLexer:[12,0,1,""]},"pygments.lexers.modeling":{BugsLexer:[12,0,1,""],JagsLexer:[12,0,1,""],ModelicaLexer:[12,0,1,""],StanLexer:[12,0,1,""]},"pygments.lexers.modula2":{Modula2Lexer:[12,0,1,""]},"pygments.lexers.monte":{MonteLexer:[12,0,1,""]},"pygments.lexers.ncl":{NCLLexer:[12,0,1,""]},"pygments.lexers.nimrod":{NimrodLexer:[12,0,1,""]},"pygments.lexers.nit":{NitLexer:[12,0,1,""]},"pygments.lexers.nix":{NixLexer:[12,0,1,""]},"pygments.lexers.oberon":{ComponentPascalLexer:[12,0,1,""]},"pygments.lexers.objective":{LogosLexer:[12,0,1,""],ObjectiveCLexer:[12,0,1,""],ObjectiveCppLexer:[12,0,1,""],SwiftLexer:[12,0,1,""]},"pygments.lexers.ooc":{OocLexer:[12,0,1,""]},"pygments.lexers.parasail":{ParaSailLexer:[12,0,1,""]},"pygments.lexers.parsers":{AntlrActionScriptLexer:[12,0,1,""],AntlrCSharpLexer:[12,0,1,""],AntlrCppLexer:[12,0,1,""],AntlrJavaLexer:[12,0,1,""],AntlrLexer:[12,0,1,""],AntlrObjectiveCLexer:[12,0,1,""],AntlrPerlLexer:[12,0,1,""],AntlrPythonLexer:[12,0,1,""],AntlrRubyLexer:[12,0,1,""],EbnfLexer:[12,0,1,""],RagelCLexer:[12,0,1,""],RagelCppLexer:[12,0,1,""],RagelDLexer:[12,0,1,""],RagelEmbeddedLexer:[12,0,1,""],RagelJavaLexer:[12,0,1,""],RagelLexer:[12,0,1,""],RagelObjectiveCLexer:[12,0,1,""],RagelRubyLexer:[12,0,1,""],TreetopLexer:[12,0,1,""]},"pygments.lexers.pascal":{AdaLexer:[12,0,1,""],DelphiLexer:[12,0,1,""]},"pygments.lexers.pawn":{PawnLexer:[12,0,1,""],SourcePawnLexer:[12,0,1,""]},"pygments.lexers.perl":{Perl6Lexer:[12,0,1,""],PerlLexer:[12,0,1,""]},"pygments.lexers.php":{PhpLexer:[12,0,1,""],ZephirLexer:[12,0,1,""]},"pygments.lexers.pony":{PonyLexer:[12,0,1,""]},"pygments.lexers.praat":{PraatLexer:[12,0,1,""]},"pygments.lexers.prolog":{LogtalkLexer:[12,0,1,""],PrologLexer:[12,0,1,""]},"pygments.lexers.python":{CythonLexer:[12,0,1,""],DgLexer:[12,0,1,""],NumPyLexer:[12,0,1,""],Python2Lexer:[12,0,1,""],Python2TracebackLexer:[12,0,1,""],PythonConsoleLexer:[12,0,1,""],PythonLexer:[12,0,1,""],PythonTracebackLexer:[12,0,1,""]},"pygments.lexers.qvt":{QVToLexer:[12,0,1,""]},"pygments.lexers.r":{RConsoleLexer:[12,0,1,""],RdLexer:[12,0,1,""],SLexer:[12,0,1,""]},"pygments.lexers.rdf":{ShExCLexer:[12,0,1,""],SparqlLexer:[12,0,1,""],TurtleLexer:[12,0,1,""]},"pygments.lexers.rebol":{RebolLexer:[12,0,1,""],RedLexer:[12,0,1,""]},"pygments.lexers.resource":{ResourceLexer:[12,0,1,""]},"pygments.lexers.rnc":{RNCCompactLexer:[12,0,1,""]},"pygments.lexers.roboconf":{RoboconfGraphLexer:[12,0,1,""],RoboconfInstancesLexer:[12,0,1,""]},"pygments.lexers.robotframework":{RobotFrameworkLexer:[12,0,1,""]},"pygments.lexers.ruby":{FancyLexer:[12,0,1,""],RubyConsoleLexer:[12,0,1,""],RubyLexer:[12,0,1,""]},"pygments.lexers.rust":{RustLexer:[12,0,1,""]},"pygments.lexers.sas":{SASLexer:[12,0,1,""]},"pygments.lexers.scdoc":{ScdocLexer:[12,0,1,""]},"pygments.lexers.scripting":{AppleScriptLexer:[12,0,1,""],ChaiscriptLexer:[12,0,1,""],EasytrieveLexer:[12,0,1,""],HybrisLexer:[12,0,1,""],JclLexer:[12,0,1,""],LSLLexer:[12,0,1,""],LuaLexer:[12,0,1,""],MOOCodeLexer:[12,0,1,""],MoonScriptLexer:[12,0,1,""],RexxLexer:[12,0,1,""]},"pygments.lexers.sgf":{SmartGameFormatLexer:[12,0,1,""]},"pygments.lexers.shell":{BashLexer:[12,0,1,""],BashSessionLexer:[12,0,1,""],BatchLexer:[12,0,1,""],FishShellLexer:[12,0,1,""],MSDOSSessionLexer:[12,0,1,""],PowerShellLexer:[12,0,1,""],PowerShellSessionLexer:[12,0,1,""],SlurmBashLexer:[12,0,1,""],TcshLexer:[12,0,1,""],TcshSessionLexer:[12,0,1,""]},"pygments.lexers.slash":{SlashLexer:[12,0,1,""]},"pygments.lexers.smalltalk":{NewspeakLexer:[12,0,1,""],SmalltalkLexer:[12,0,1,""]},"pygments.lexers.smv":{NuSMVLexer:[12,0,1,""]},"pygments.lexers.snobol":{SnobolLexer:[12,0,1,""]},"pygments.lexers.solidity":{SolidityLexer:[12,0,1,""]},"pygments.lexers.special":{RawTokenLexer:[12,0,1,""],TextLexer:[12,0,1,""]},"pygments.lexers.sql":{MySqlLexer:[12,0,1,""],PlPgsqlLexer:[12,0,1,""],PostgresConsoleLexer:[12,0,1,""],PostgresLexer:[12,0,1,""],RqlLexer:[12,0,1,""],SqlLexer:[12,0,1,""],SqliteConsoleLexer:[12,0,1,""],TransactSqlLexer:[12,0,1,""]},"pygments.lexers.stata":{StataLexer:[12,0,1,""]},"pygments.lexers.supercollider":{SuperColliderLexer:[12,0,1,""]},"pygments.lexers.tcl":{TclLexer:[12,0,1,""]},"pygments.lexers.templates":{Angular2HtmlLexer:[12,0,1,""],Angular2Lexer:[12,0,1,""],CheetahHtmlLexer:[12,0,1,""],CheetahJavascriptLexer:[12,0,1,""],CheetahLexer:[12,0,1,""],CheetahXmlLexer:[12,0,1,""],ColdfusionCFCLexer:[12,0,1,""],ColdfusionHtmlLexer:[12,0,1,""],ColdfusionLexer:[12,0,1,""],CssDjangoLexer:[12,0,1,""],CssErbLexer:[12,0,1,""],CssGenshiLexer:[12,0,1,""],CssPhpLexer:[12,0,1,""],CssSmartyLexer:[12,0,1,""],DjangoLexer:[12,0,1,""],ErbLexer:[12,0,1,""],EvoqueHtmlLexer:[12,0,1,""],EvoqueLexer:[12,0,1,""],EvoqueXmlLexer:[12,0,1,""],GenshiLexer:[12,0,1,""],GenshiTextLexer:[12,0,1,""],HandlebarsHtmlLexer:[12,0,1,""],HandlebarsLexer:[12,0,1,""],HtmlDjangoLexer:[12,0,1,""],HtmlGenshiLexer:[12,0,1,""],HtmlPhpLexer:[12,0,1,""],HtmlSmartyLexer:[12,0,1,""],JavascriptDjangoLexer:[12,0,1,""],JavascriptErbLexer:[12,0,1,""],JavascriptGenshiLexer:[12,0,1,""],JavascriptPhpLexer:[12,0,1,""],JavascriptSmartyLexer:[12,0,1,""],JspLexer:[12,0,1,""],LassoCssLexer:[12,0,1,""],LassoHtmlLexer:[12,0,1,""],LassoJavascriptLexer:[12,0,1,""],LassoXmlLexer:[12,0,1,""],LiquidLexer:[12,0,1,""],MakoCssLexer:[12,0,1,""],MakoHtmlLexer:[12,0,1,""],MakoJavascriptLexer:[12,0,1,""],MakoLexer:[12,0,1,""],MakoXmlLexer:[12,0,1,""],MasonLexer:[12,0,1,""],MyghtyCssLexer:[12,0,1,""],MyghtyHtmlLexer:[12,0,1,""],MyghtyJavascriptLexer:[12,0,1,""],MyghtyLexer:[12,0,1,""],MyghtyXmlLexer:[12,0,1,""],RhtmlLexer:[12,0,1,""],SmartyLexer:[12,0,1,""],SspLexer:[12,0,1,""],TeaTemplateLexer:[12,0,1,""],TwigHtmlLexer:[12,0,1,""],TwigLexer:[12,0,1,""],VelocityHtmlLexer:[12,0,1,""],VelocityLexer:[12,0,1,""],VelocityXmlLexer:[12,0,1,""],XmlDjangoLexer:[12,0,1,""],XmlErbLexer:[12,0,1,""],XmlPhpLexer:[12,0,1,""],XmlSmartyLexer:[12,0,1,""],YamlJinjaLexer:[12,0,1,""]},"pygments.lexers.teraterm":{TeraTermLexer:[12,0,1,""]},"pygments.lexers.testing":{GherkinLexer:[12,0,1,""],TAPLexer:[12,0,1,""]},"pygments.lexers.textedit":{AwkLexer:[12,0,1,""],VimLexer:[12,0,1,""]},"pygments.lexers.textfmts":{GettextLexer:[12,0,1,""],HttpLexer:[12,0,1,""],IrcLogsLexer:[12,0,1,""],NotmuchLexer:[12,0,1,""],TodotxtLexer:[12,0,1,""]},"pygments.lexers.theorem":{CoqLexer:[12,0,1,""],IsabelleLexer:[12,0,1,""],LeanLexer:[12,0,1,""]},"pygments.lexers.trafficscript":{RtsLexer:[12,0,1,""]},"pygments.lexers.typoscript":{TypoScriptCssDataLexer:[12,0,1,""],TypoScriptHtmlDataLexer:[12,0,1,""],TypoScriptLexer:[12,0,1,""]},"pygments.lexers.unicon":{IconLexer:[12,0,1,""],UcodeLexer:[12,0,1,""],UniconLexer:[12,0,1,""]},"pygments.lexers.urbi":{UrbiscriptLexer:[12,0,1,""]},"pygments.lexers.varnish":{VCLLexer:[12,0,1,""],VCLSnippetLexer:[12,0,1,""]},"pygments.lexers.verification":{BoogieLexer:[12,0,1,""],SilverLexer:[12,0,1,""]},"pygments.lexers.webmisc":{CirruLexer:[12,0,1,""],DuelLexer:[12,0,1,""],QmlLexer:[12,0,1,""],SlimLexer:[12,0,1,""],XQueryLexer:[12,0,1,""]},"pygments.lexers.whiley":{WhileyLexer:[12,0,1,""]},"pygments.lexers.x10":{X10Lexer:[12,0,1,""]},"pygments.lexers.xorg":{XorgLexer:[12,0,1,""]},"pygments.lexers.zig":{ZigLexer:[12,0,1,""]},"pygments.styles":{get_all_styles:[0,2,1,""],get_style_by_name:[0,2,1,""]},"pygments.util":{OptionError:[0,5,1,""],get_bool_opt:[0,2,1,""],get_choice_opt:[0,2,1,""],get_int_opt:[0,2,1,""],get_list_opt:[0,2,1,""]},pygments:{format:[0,2,1,""],formatter:[0,1,0,"-"],formatters:[0,1,0,"-"],highlight:[0,2,1,""],lex:[0,2,1,""],lexer:[0,1,0,"-"],lexers:[0,1,0,"-"],styles:[0,1,0,"-"],token:[18,1,0,"-"],util:[0,1,0,"-"]}},objnames:{"0":["py","class","Python class"],"1":["py","module","Python module"],"2":["py","function","Python function"],"3":["py","attribute","Python attribute"],"4":["py","method","Python method"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:class","1":"py:module","2":"py:function","3":"py:attribute","4":"py:method","5":"py:exception"},terms:{"0000aa":6,"00ff00":7,"00m":17,"01m":17,"01mhello":17,"0b101010":18,"0f0":17,"0x10c":12,"0x20":12,"0xb785decc":5,"0xdeadbeef":18,"14px":7,"16m":[2,7],"42d":18,"42l":18,"6pl":12,"6pm":12,"beno\u00eet":1,"boolean":[0,2],"break":7,"byte":[2,7,15,19],"case":[0,2,3,4,5,7,11,19,21],"char":[2,11,12,18],"cl\u00e9ment":1,"class":[0,2,3,4,5,6,10,12,13,14,15,17,18],"const":18,"dani\u00ebl":1,"default":[0,1,2,3,5,7,11,12,15,17,19],"enum":12,"export":2,"final":[2,11],"float":[0,2,18],"function":[0,2,4,5,6,11,12,14,15,17,18,21],"g\u00f3rny":1,"goto":18,"guti\u00e9rrez":1,"hegg\u00f8":1,"helles\u00f8i":1,"import":[2,4,5,6,7,10,11,12,15,17,18,19],"int":[5,18],"joaqu\u00edn":1,"jos\u00e9":1,"kl\u00e4rck":1,"ko\u017ear":1,"long":[2,18],"lyngst\u00f8l":1,"maik\u00e4fer":2,"matth\u00e4u":22,"micha\u0142":1,"new":[0,2,3,4,5,6,7,10,12,14,17,18,19,22],"null":[7,12],"pr\u00e9vost":1,"public":[2,12],"ren\u00e9":1,"return":[0,5,6,7,11,12,15],"s\u00e9bastien":1,"schneegl\u00f6ckchen":2,"short":[0,3,7,11,12],"st\u00e9phane":1,"static":[0,18],"strau\u00dfenei":2,"super":11,"switch":[2,12],"true":[0,2,5,6,7,11,12,13,15,18],"try":[6,12],"unsch\u00e4rf":2,"var":[2,12,18],"while":[2,3,6,11,12,15,21],Abe:1,Added:[2,12],And:11,BAS:12,But:11,DOS:12,EXE:12,For:[0,3,5,6,7,11,12,13,15,17,18,20,21],GAS:2,Gas:12,IDE:21,IDEs:2,Its:[3,21],One:11,SAS:[1,2],That:[0,4,7,11,14,17,21],The:[2,3,4,5,6,7,8,9,10,12,15,17,18,19,20,21,23],Then:[7,11],There:[2,5,11,14,15,17],These:[7,9,12],Use:[2,8,12],Used:7,Useful:12,Using:[7,8],VBS:12,Vos:1,Will:0,With:[2,7,18],XDS:12,__all__:11,__doc__:18,__init__:[0,4,6,11,18],_by_:2,_format_lin:7,_lua_builtin:12,_php_builtin:12,_style:6,_wrap_cod:7,aa22ff:15,aamann:12,aaron:1,abandon:11,abap:[1,2,12],abaplex:12,abil:2,abl:[1,2,12],abnf:12,abnflex:12,about:[2,3,8,11,12,14],abov:[3,11],absolut:7,abysm:2,academ:12,accept:[2,5,7,12,13,15,19],access:[4,6,7,12,18],accord:12,accordingli:7,accur:2,acm:12,aconf:12,acorn:12,act:12,action:11,actionscript3:12,actionscript3lex:12,actionscript:[2,23],actionscriptlex:12,activ:[1,12],activest:21,actual:[2,12],ada2005:12,ada95:12,ada:[1,2,12,23],adalex:12,adam:[1,2,12],adapt:[5,9,16],adb:12,add:[0,2,5,7,11,14,21],add_filt:[4,5],added:[2,3,4,7,11,17,21,22],adding:[11,14],addit:[2,6,7,11,12,15,21],addition:[4,6,7,11,13],address:22,adjust:4,adl:12,adlf:12,adllex:12,adlx:12,ado:12,adob:12,ads:12,adt:12,advanc:10,affect:[2,7,17],affix:[2,18],afshar:1,after:[2,3,7,11,12,18],again:[6,7,11],against:11,agda:[1,2,12],agdalex:12,aglassing:1,aglet:12,aheui:12,aheuilex:12,ahk:12,ahkl:12,aim:12,alain:1,alastair:1,alex:1,alexand:1,algol:[2,12],algol_nu:12,algorithm:[7,12],ali:1,alia:[0,2,12,14,15],alias:[0,2,11,12,14,18],alias_filenam:0,align:[7,17],all:[0,1,2,3,4,5,6,7,11,13,15,17,18,19,20,21],alloi:[2,12],allow:[0,2,5,7,9,11,12,17],alloylex:12,almost:[11,12],along:3,alphabet:[1,12],alreadi:[0,5,11,12,18],als:12,also:[0,2,3,4,7,11,12,13,16,17,18,19,21,22,23],altern:[2,7,11,12],alwai:[2,4,12,22],amann:[1,2,12],ambient:12,ambienttalk:2,ambienttalklex:12,ambigu:15,among:[0,15,22],amount:[5,11],ampl:[1,2],ampllex:12,ana:[1,2],analog:2,analys:[0,19],analyse_text:[0,2,15],analysi:2,anchor:7,anchorlineno:[1,2,7],andr:[1,2],andrea:[1,2,12],andrei:1,andrew:1,android:12,angl:5,angu:1,angular2:12,angular2htmllex:12,angular2lex:12,angular:12,ani:[0,2,3,7,11,12,17,18,19],annamalai:1,annot:[2,5,12],anonym:11,anoth:[2,5,11,18,19,21],ansi:[1,2,7,12,15,17,21,22],ansiblack:17,ansiblu:17,ansibrightblack:17,ansibrightblu:17,ansibrightcyan:17,ansibrightgreen:17,ansibrightmagenta:17,ansibrightr:17,ansibrightyellow:17,ansibrown:17,ansicolor:17,ansicyan:17,ansidarkblu:17,ansidarkgrai:17,ansidarkgreen:17,ansidarkr:17,ansifuchsia:17,ansigrai:17,ansigreen:17,ansilightgrai:17,ansimagenta:17,ansipurpl:17,ansir:17,ansit:17,ansiturquois:17,ansiwhit:17,ansiyellow:17,antlr:[1,2,12,23],antlractionscriptlex:12,antlrcpplex:12,antlrcsharplex:12,antlrjavalex:12,antlrlex:12,antlrobjectiveclex:12,antlrperllex:12,antlrpythonlex:12,antlrrubylex:12,antonio:9,anymor:2,anyth:[2,3,7,11,12],apach:[2,10,12,23],apache2:[2,12],apacheconf:12,apacheconflex:12,api:[8,11,15],apl:[1,2],apllex:12,apostroph:2,appaiah:1,appear:6,append:11,applescript:[1,2,12,23],applescriptlex:12,appli:5,applic:[2,12,22],approach:[11,12],appropri:[7,11,12],apt:12,arbitrari:11,archetyp:[1,2],arduino:[1,2,12],arduinolex:12,area:7,aren:[6,11,17,18],arexx:12,arg:[0,2,3,7],argument:[0,2,3,4,5,6,7,11,15],armin:[1,22],armstrong:1,arnold:1,around:[2,3,12],arrow:12,art:12,artem:1,articl:7,artifactid:10,as3:[2,12],asax:12,ascii:[3,7,12,19],asciidoc:21,ascx:12,ashkena:1,ashx:12,asi:12,ask:2,aslak:1,aslakhellesoi:12,asm:[2,12],asmx:12,asp:[2,12],aspectj:[1,2,12],aspectjlex:12,aspx:12,assembl:[1,2,23],assign:12,assist:12,associ:11,assum:[7,12,21],assumpt:12,asterisk:11,asymptot:[1,2,12,23],asymptotelex:12,async:2,atom:12,atria:1,attach:[13,18],attent:22,attribut:[0,2,3,6,7,11,12,14,15,18,19],au3:12,aug:[2,12],augea:[1,2,12,23],augeaslex:12,aust:[1,12],author:[12,18,21],autodeleg:12,autodetect:12,autohandl:12,autohotkei:[1,2,12],autohotkeylex:12,autoit:[1,2,12],autoitlex:12,autolisp:12,automat:[2,4,7,11,12,17,19],autopygment:2,aux:12,avail:[0,2,8,11,15,18,21,22],avoid:[2,15],await:2,awar:2,awk:[1,2,12,23],awklex:12,axd:12,b3d:12,background:[2,5,6,7,17],backquot:2,backreferenc:11,backslash:[2,12],backtick:18,backtrack:2,backward:[2,18],bajolet:1,bangert:[1,2],bar:[5,7,11],barfoo:11,baruchel:1,bas:12,base:[0,1,2,7,11,12,18,21,22,23],baselex:11,baselin:7,basemak:12,basemakefilelex:12,bash:[2,12,18,23],bashcomp:9,bashlex:[2,12],bashrc:12,bashsessionlex:[2,12],basic:[0,2,6,11,15,21,23],bat:12,batch:[2,12,23],batchlex:12,battcher:1,baumann:1,baumgart:1,bayer:1,baz:5,bazaar:21,bazbam:12,bazel:12,bb4444:15,bbc:[2,12,23],bbcbasic:12,bbcbasiclex:12,bbcode:[1,2,7,12,21,23],bbcodeformatt:7,bbcodelex:12,bclexer:12,beal:1,bean:12,beauti:21,becaus:[0,2,3,4,6,7,11,12,14,17,18,19],been:[2,5,7,10,11,12,22],befor:[2,7,12,19],befung:[2,12,23],befungelex:[11,12],begin:[7,11,12],behavior:[2,4,17,19],being:[2,11,15,17],below:[11,18,22],ben:[1,2],benediktsson:1,benjamin:1,bergeron:1,bernat:1,bertel:1,bertrand:1,best:19,better:[2,12],between:[2,7,11,12,17],bgcolor:6,bib:12,bibtex:1,bibtexlex:12,big:12,bigaret:1,billingslei:[1,2],bin:[15,18],binari:[2,12,18],bind:12,bird:12,bit:[2,7],bitbucket:21,bitmap:7,bitstream:7,black:17,blackwhitestyl:2,blame:12,blink:12,blinkinsop:[1,2,12],blitzbas:[1,2,12],blitzbasiclex:12,blitzmax:[1,2,12],blitzmaxlex:12,block:[2,7,12],blondon:1,blue:[6,17],bmax:12,bmp:[2,7],bmpimageformatt:7,bmx:12,bnflexer:12,boa:[2,23],boalex:12,board:[7,12,21],bob:1,bodi:12,body_lex:12,bold:[2,6,7,15,17,18],boldfac:[12,17],bom:19,bommel:1,boo:[2,12,18,23],boogi:[1,2,12],boogielex:12,bool:5,boolex:12,border:[6,7,17],borland:12,both:[11,12,15,17],boundari:12,bourdon:[1,2],bpl:12,bplu:12,bpython:21,brace:[2,12],bracket:12,brainfuck:[12,23],brainfucklex:[11,12],branch:21,brandl:[1,22],brian:1,bright:[2,17],brightblack:17,brightblu:17,brightcyan:17,brightgreen:17,brightmagenta:17,brightr:17,brightyellow:17,brillouin:2,bro:[1,2,12],broken:7,browser:[7,11,21],bruce:[1,21],bruno:1,bryan:1,bsd:[2,12,21],bsdmake:12,bst:12,bstlexer:12,buck:12,buffer:[1,2,6,12],bug:[1,2,5,8,12,22],bugfix:[1,2],bugslex:12,build:[2,12,21],builder:21,built:[2,7,12,15],builtin:[0,2,7,8,11,12,15],builtinshighlight:12,bulletin:7,bump:2,bundl:[9,12],bussonni:1,bygroup:11,bz2:[7,12],bzl:12,bzrfruit:21,c99:[2,12],c_cpp:12,c_like:12,ca65:12,ca65lex:12,cacer:1,cach:[2,6,12],cadl:12,cadllex:12,call:[0,2,7,11,12,13,15,17,18,19,20],callaghan:1,caller:11,camil:1,camk:[1,2,12],camkeslex:12,can:[0,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,22],cangiano:9,cannot:11,canon:12,cap:2,capabl:2,capdl:[2,12],capdllex:12,capit:5,capnp:12,capnproto:12,capnprotolex:12,caption:7,captur:11,care:[0,11],carlo:1,cascad:12,cat:1,catalog:[2,12,23],catastroph:2,categori:[3,12],caus:[2,7,12],cbl:12,cbm:12,cbmba:12,cbmbasicv2lex:12,cdf:12,cdl:12,cell:7,central:10,certain:[2,7,11],cetera:16,ceylon:[1,2,12],ceylonlex:12,cf3:12,cfc:[2,12],cfengine3:[1,2,12],cfengine3lex:12,cfg:[11,12],cfm:12,cfml:12,cfs:12,chai:12,chain:[2,12],chaiscript:[2,12],chaiscriptlex:12,chajda:22,chanc:14,chang:[2,7,12,15,17,20],changelog:[8,20],chapel:[1,2],chapellex:12,charact:[2,3,5,7,11,12,18,19],chardet:[12,19],charl:1,charm:[2,12,23],charmci:12,charmcilex:12,charna:2,chdr:12,chebee7i:1,check:[2,4,11,12],checkspac:12,chee:1,cheetah:[1,2,12,23],cheetahhtmllex:12,cheetahjavascriptlex:12,cheetahlex:12,cheetahxmllex:12,child:[2,11],chines:21,chirino:1,chpl:12,christian:1,christoph:[1,2,12],cirru:[2,12],cirrulex:12,clai:[1,2,12],clariti:7,clash:7,class_too:4,classifi:2,classnotfound:[0,2],classprefix:7,classtoo:4,claylex:12,clean:[1,2],cleanlex:12,clear:22,clexer:[2,12],cli:18,click:7,clipper:12,clj:12,clobber:2,clojur:[1,2,9,12,21,23],clojurelex:12,clojurescript:12,clojurescriptlex:12,clone:[11,20],close:[6,11],closingcommentdelim:12,cls:12,cluster:12,clygment:[9,21],cmake:[2,12,23],cmakelex:12,cmakelist:12,cmd:12,cmdline:1,cob:12,cobjdumplex:12,cobol:12,cobolfre:12,cobolfreeformatlex:12,cobollex:12,cocoa:2,code:[0,2,5,7,9,10,11,13,15,16,17,18,20,21,22],codecov:21,codehtmlformatt:7,codenam:2,codetag:[2,5,7],codetagfilt:5,codetagifi:5,coffe:12,coffeescript:[1,2,12,23],coffeescriptlex:12,coldfus:[2,12,23],coldfusioncfclex:12,coldfusionhtmllex:12,coldfusionlex:12,colin:1,collabor:21,collis:2,colon:[2,3,11],color:[2,3,4,5,6,7,9,12,13,15,17,21],colorama:2,colorfulstyl:17,colornam:7,colorschem:7,colour:7,column:7,com:[1,2,8,12,20,21,23],combin:[0,2,7,11,12],come:[5,17],comma:[2,3],command:[0,2,7,8,9,11,14,18,19,20,21,22],commandchar:7,commandlin:12,commandprefix:[2,7],comment:[2,5,6,7,11,12,15,17],commit:2,common:[1,2,12,21,23],commonli:12,commonlisplex:12,commun:21,compar:[12,18],compat:[2,7,18],compens:21,compil:12,complet:[2,7,11,21],complex:[6,11,12],compon:[2,8,12,15],componentpasc:12,componentpascallex:12,compress:[0,7,12],comput:1,concaten:11,concept:15,concret:12,concurr:12,conf:[2,12],config:[1,2,13,23],configur:[2,13,18,23],conflict:2,confus:[4,11,12],consecut:[5,6],consid:[12,17],consider:[0,12],consist:[2,11],consol:[1,2,3,7,21,23],console16m:7,console256:7,constant:[12,18],constitut:2,construct:[2,7,11,12,18],constructor:[0,5],consum:12,contact:21,contain:[0,2,3,5,6,7,9,11,12,15,21],content:[0,2,7,10,11,12,15],context:[2,11,12],contextu:2,continu:[2,11],contribut:[1,12,23],contributor:8,control:[0,1,2,7,12,20,21,23],convers:12,convert:[0,2,4,5,7,12,15,17,18,21],cookbook:21,cooper:1,coordin:7,copi:[7,9,11,12,13,16],coq:[2,12,23],coqlex:12,corbett:1,corbin:1,corcoran:1,corei:1,corner:2,coroutin:12,correct:[0,2],correctli:[2,7,11,21],correspond:[11,12,17],could:[3,4,7,11,12,15,17],count:12,coupl:2,courier:7,cours:[18,21],cover:[12,14],coverag:21,cpp:12,cppcommentlex:11,cpplexer:12,cppobjdumplex:12,cps:12,cpsa:[1,12],cpsalex:12,cpy:12,cpython:12,crash:[2,11],creat:[2,3,6,7,9,10,11,15,18,21],creation:12,creutzig:[1,2,12],crmsh:[1,2,12],crmshlexer:12,croc:[2,12],croclex:12,crocsrc:12,crompton:1,cross:21,crunchi:2,cry:12,cryptol2:12,cryptol:[1,2,12,23],cryptollex:12,crystal:[1,2,23],crystallex:12,csail:12,csd:12,csh:12,csharp:12,csharpaspxlex:12,csharplex:[2,12],csound:[1,2],csounddocumentlex:12,csoundorchestralex:12,csoundscorelex:12,csrc:12,css:[0,2,3,6,7,13,15,17,23],cssclass:[2,7,15],cssdjangolex:12,csserblex:12,cssfile:7,cssgenshilex:12,csslexer:12,cssphplexer:12,csssmartylex:12,cssstyle:7,ctag:[1,2,7],ctx:11,cucumb:[2,12,23],cuda:[1,2,12],cudalex:12,cuh:12,curli:12,current:[0,3,6,7,11,12,13,18,20],curri:1,curs:21,custom:[2,7,11,16,17],customformatt:[0,3],customlex:[0,3,11],cxx:12,cyan:17,cyp:12,cypher:[2,12],cypherlex:12,cython:[2,12,23],cythonlex:12,dalvik:2,dan:1,daniel:1,darc:[1,2,12],darcspatch:12,darcspatchlex:12,dark:[2,6,7,17],darkbg:7,darkgrei:17,dart:[1,2,12,23],dartlex:12,dash:[1,2],dasm16:[1,2,12],dasm16lex:12,dasm:12,data:[2,6,11,13,18,19],databas:12,date:18,davi:1,david:1,dba:12,dcl:12,dcpu:[12,23],debcontrol:12,debian:[1,2,12,23],debiancontrollex:12,debsourc:12,debug:[12,21],debugg:21,dec:2,decid:12,decis:2,decl:12,declar:[0,2,7,12,18],decod:19,decompress:12,decor:[2,18],deepcopi:2,deepli:11,def:[0,2,4,6,7,11,12],default_styl:17,deferrari:1,defin:[0,2,6,7,11,12,14,17,18],definit:[0,2,3,7,11,14,17,18],degener:2,dejan:1,dejavu:7,delai:2,deleg:12,delegatinglex:[11,12],delet:[11,18],delimit:[2,7,11,12,18],delphi:[12,23],delphilex:12,delroth:2,demonstr:21,denni:[1,2],depend:[0,2,7,10,12,17],deploi:10,deprec:17,deriv:[0,2,12],derivedlex:11,describ:[0,7],descript:12,design:12,desir:[5,7],desis:12,detail:[3,11,21,22],detect:[2,12],determin:[0,2,12,15],develop:[1,3,12,21,22,23],dglexer:12,dhandler:12,dialect:2,dialectopt:12,dialecttag:12,diamanda:21,dict:[6,18,19],dictionari:[0,7,11],didn:3,diego:1,dietmar:1,diff:[2,11,23],differ:[2,5,7,11,12,15,17,19,21],differenti:12,difflex:[11,12,18],digia:12,direct3d:12,direct:[2,7,11,12,13,16,21],directli:[2,11,12],directori:[0,2,3,11,13,17],disabl:7,disabled_modul:12,disabledmodul:12,disallow:2,disappoint:12,displai:[2,7,16],disrupt:5,distinct:7,distinguish:12,distribut:[2,9,11,13,14,16,17,20],div:[7,10,15],divis:12,django:[12,21,23],djangolex:12,dlexer:12,dmitri:1,do_insert:2,dobjdumplex:12,doc:[2,7,12,17,18,19,21,23],docclass:7,docker:[2,12],dockerfil:[2,12],dockerlex:12,docstr:[2,5],doctest:12,doctyp:[2,7],document:[2,3,7,10,11,12,14,15,18,21,22],docutil:2,doe:[2,7,11,12,19],doesn:[2,3,4,6,7,11,12,14,18],domen:1,dominik:1,don:[0,2,3,6,7,11,12,15,17,18,19,22],done:[2,11],doren:1,dos:12,dosbatch:12,doscon:12,dosini:12,dot:[2,5],dotal:11,dotnet:12,doubl:[5,6,18],doug:1,down:11,download:[8,22],dpast:21,dpatch:12,dpr:12,drawn:7,dreiundzwanzig:2,drop:[0,2,5,17,21],dsrc:12,dtd:[1,2,12,23],dtdlexer:12,dubi:12,dubinska:1,due:[0,2],duel:[1,2,12],duelengin:12,duellex:12,duplic:2,dure:12,durni:1,dustin:1,dutton:1,dyl:12,dylan:[1,2,23],dylanconsolelex:12,dylanlex:12,dylanlidlex:12,dynam:12,each:[7,11,18],earl:12,earlgrei:12,earlgreylex:12,earlier:[7,12],easi:[2,4,6,7,11,22,23],easier:[7,10,17,21],easiest:11,easili:[2,6,11,12,16,21,22],easytriev:[1,2,12],easytrievelex:12,eat:[2,5],ebnf:[1,2,12],ebnflex:12,ebuild:12,echdr:12,ecl:2,eclass:12,eclex:12,ecllex:12,ecsrc:12,edg:7,edit:13,editor:21,edoardo:1,edp:12,edu:12,edward:1,eed:7,eee:17,eeeeeee:6,effect:7,efford:1,effting:1,egg:11,egorkin:1,eiffel:[1,2],eiffellex:12,either:[2,6,7,11,15,17],element:[7,11,18],elf:12,elia:1,elisp:12,elixir:[1,2,12],elixirconsolelex:12,elixirlex:12,ellipsi:2,elm:[2,23],elmlex:12,els:[6,7,11,12,15,18],elseif:11,elxir:2,emac:[1,2,3,12,17],emacslisplex:12,email:[2,12,23],emaillex:12,embed:21,emit:11,eml:12,emph:18,emphas:18,empti:[2,7,11,12],emul:17,enabl:[3,7,16],enclos:[3,7,12,18],encod:[2,7,8,10,12,15,17],encount:[11,19],encyclopedia:21,end:[2,4,6,7,11,12,18,21],enforc:5,engin:[2,11,21],english:21,enhanc:[1,2],enough:[7,11,12],enriqu:1,ensur:11,ensurenl:[2,12],enter:[11,12],entir:[11,12],entiti:[11,18],entri:[3,11,15],environ:[2,7,12,21],envnam:[2,7],eps:12,equal:[2,3,11],equal_sign:11,equival:[0,11,12],erb:[12,23],erblex:12,eric:1,erick:1,erl:12,erlang:[1,2,23],erlanglex:12,erlangshelllex:12,erron:11,error:[0,2,5,7,11,12,17,18,21],error_color:7,errortoken:5,es6:2,escap:[2,7,11,12,15,17,18],escapeinsid:7,escript:12,esoter:[2,11],especi:[12,18],etc:[2,3,5,6,18],eval:[0,11],even:[7,11,12,22],event:12,ever:23,everi:[0,2,5,7,11,15,17,22],everybodi:11,everyth:[11,12,14],evoqu:[1,2,12],evoquehtmllex:12,evoquelex:12,evoquexmllex:12,exact:17,exactli:[0,11],exampl:[0,3,4,5,6,7,10,11,12,13,17,18,19,21],examplefil:11,examplelex:11,excclass:5,except:[0,2,5,7,11,12,17,18],exclud:18,exec:10,exher:12,exhibit:2,exhypotheticlex:11,exist:[2,6,7,11,15,18],exlib:12,expand:[5,12],expans:3,expect:[0,3,11],experi:21,experiment:[2,7],explain:[6,14,15],explan:[3,18],explicit:[3,7],explicitli:[3,11],explor:7,express:[2,11,12,18],exrc:12,exs:12,ext:14,extempor:[1,2,12],extemporelang:12,extend:[2,7,11,12,17],extens:[2,3,11,15],extern:[2,7,9,12,13,16],extra:[7,12],extra_keyword:11,extract:[12,14],extrem:11,ezhil:[1,2,23],ezhillex:12,ezt:12,f00:17,f03:12,f90:12,facil:[1,12],fact:[0,12],factor:[1,2,23],factorlex:12,fail:2,failur:2,fallback:12,fallenstein:12,fals:[0,2,5,7,12,18],famili:[2,7],fan:12,fanci:[1,2,12,23],fancylex:12,fancypack:12,fancysrc:12,fancyvrb:7,fantom:[1,2],fantomlex:12,faq:22,far:11,faschingskrapfn:2,fast:[21,22],faster:2,fastest:12,favor:2,favorit:11,fayaa:21,fear:[11,22],featur:[2,7,11,12],feb:2,fed:5,feel:11,felix:1,felixlex:12,fenc:2,fennel:[1,2,12,23],fennellex:12,fernandez:1,few:[2,11,15,17,23],fext:7,ff0000:[6,17],ffffff:17,fhtml:12,ficarra:1,field:12,file:[0,1,2,3,6,7,9,10,11,13,15,17,18,19,21,23],filenam:[0,2,3,7,11,12,13,14,15],filetext:2,filetyp:12,filter:[2,8,12,14,15,18],find:[2,8,11,21],find_lexer_class:0,find_lexer_class_by_nam:[0,2],fine:12,finish:11,first:[0,2,5,6,7,11,12,15,18],firstchild:7,fish:[1,2,12],fisher:1,fishshel:12,fishshelllex:12,fix:[1,2,5,7,11,12,22],fixm:12,flag:[3,5,12,17],flatlin:[1,2,12],flatlinelex:12,flexibl:2,flo:12,florian:1,floscript:[1,2,23],floscriptlex:12,fluidic:21,flx:12,flxh:12,fmarc:2,fmter:7,fname:7,fnl:12,fnmatch:0,focus:21,fold:12,follow:[0,3,6,7,10,11,12,15,17,18,19],font:[2,6,7,15],font_nam:7,font_siz:[2,7],fontfac:7,fontfamili:7,fontsiz:7,foo:[2,5,7,11,12,18],foobar:[11,12],foreground:[7,17],forev:2,form:[0,1,3,6,7,11,12,17],formal:12,format:[0,2,3,6,7,15,21,22],formatt:[1,2,8,10,11,14,17,19],formatternam:0,former:2,forth:1,forthlex:12,fortran:[1,2,23],fortranfix:12,fortranfixedlex:12,fortranlex:12,forum:22,forward:[5,12],found:[0,2,3,7,9,11,12,15,22],four:[2,15],fourth:15,foxpro:[1,2,23],foxprolex:12,frag:12,fragment:[12,15],frame:2,framework:[1,2,21,23],free:[11,12,21],freefem:[1,2,23],freefemlex:12,freepasc:12,freewar:12,friendli:[7,12,17],frit:1,from:[0,1,2,3,4,5,6,7,10,12,13,14,15,16,17,18,19,20],front:21,frt:12,fruiti:2,fsharp:12,fsharplex:12,fsi:12,fulfil:11,full:[2,3,7,8,11,12,15],fulli:2,fulton:1,fun:[12,23],func_name_highlight:12,funcnamehighlight:12,funki:11,further:[7,18],furthermor:[12,17],fusesourc:12,futur:[6,12,18],futurewarn:2,galdino:1,galloi:1,gap:[1,2,12,23],gaplex:12,garg:1,garnotel:1,gas:12,gaslex:12,gautier:1,gave:2,gawk:12,gaynor:1,gdc:12,gemfil:12,gemspec:12,gener:[0,2,5,7,11,17,21,22],genshi:[1,12,23],genshilex:12,genshitext:12,genshitextlex:12,gentoo:2,geo:12,georg:[1,22],gerd:1,gerkin:1,gerwin:1,get:[0,2,5,7,10,11,12,13,18,19,20],get_:2,get_all_filt:5,get_all_lex:[0,12],get_all_styl:[0,17],get_bool_opt:[0,4],get_choice_opt:0,get_formatter_by_nam:[0,15],get_formatter_for_filenam:[0,15],get_int_opt:0,get_lexer_by_nam:[0,2,12,14,15],get_lexer_for_filenam:[0,15],get_lexer_for_mimetyp:[0,15],get_list_opt:0,get_style_by_nam:[0,17],get_style_def:[0,2,3,6,7,15],get_syntax_def:7,get_token:[0,2],get_tokens_unprocess:[0,11],getpreferredencod:19,gettext:[2,12,23],gettextlex:12,gherkin:[1,2,12,23],gherkinlex:12,giedriu:1,gif:[2,7],gifimageformatt:7,gilbert:1,gild:1,git:[2,12,20,21],github:[1,2,8,11,12,20,21,22,23],give:[2,3,5,7,11,15],given:[0,2,3,5,7,11,12,15,19],global:[11,18],glshaderlex:12,glsl:[2,12],glslsrc:12,glue:12,gm2:12,gnu:[2,12],gnumakefil:12,gnuplot:[2,12,23],gnuplotlex:12,gobbl:5,gobblefilt:5,goe:11,goetzmann:1,goj:[1,2],golda:1,golex:12,golo:[2,12],gololex:12,golovizin:1,good:[1,2,6],gooddata:[1,2,12],gooddatacllex:12,googl:[1,2],gordon:1,gosrc:12,goss:1,gosu:[2,12],gosulex:12,gosutemplatelex:12,gotthardt:1,govern:17,gracefulli:2,gradl:12,grai:[6,17],grammar:[11,12],grammar_not:12,graph:21,graphic:7,greater:12,greatli:2,green:17,greg:1,grei:[5,12],groff:[2,12,23],grofflex:12,groovi:[1,2,12,23],groovylex:12,group:11,groupid:10,grow:23,gsp:12,gst:12,gsx:12,guarante:18,guess:[0,2,3,7,12,19],guess_lex:[0,2,15],guess_lexer_for_filenam:[0,15],gui:[12,21],guib:1,guid:[5,12],gvimrc:12,hack:[8,14],hagelberg:1,hahn:1,half:7,haml:[1,2,12],hamllex:12,handl:[0,1,2,7,12,19],handlebar:[2,12],handlebarshtmllex:12,handlebarsj:12,handlebarslex:12,handlecodeblock:12,happen:11,harder:2,harriman:1,harrison:1,has:[0,2,3,4,6,7,9,10,11,12,17,19],hash:2,hashbang:18,haskel:[1,2,23],haskelllex:12,hatch:[1,2,22],have:[0,2,3,4,5,6,7,8,11,12,13,14,15,17,18,19,21,22],haven:[3,19],hax:[1,2],haxelex:12,haxeml:12,hazel:1,hbs:12,hdl:12,hdp:12,hdr:12,head:[3,11,12,18],header:[2,12],headlin:[11,18],headline_callback:11,height:7,hello:[3,10,15,17],help:[0,11,21,22],helper:[2,11],hendershott:1,hendrick:1,herbstzeitlos:2,here:[6,7,9,10,11,14,15,17,21,23],heredoc:[2,18],hermoso:1,hess:1,hex:[2,6,12,18],hexadecim:[6,18],hexcat:12,hexdump:[1,2,12],hexdumplex:12,hierarchi:18,high:[12,14],higher:[7,21],highest:[0,15],highlight:[0,2,3,5,7,9,10,11,12,13,14,15,17,18,21,22],highlightt:7,hilit:21,hint:8,hiram:1,hiremath:1,hiroaki:1,histori:12,hl_color:[2,7],hl_line:[2,7],hlsl:[1,2,12,23],hlsli:12,hlslshaderlex:12,hoelz:1,hogan:1,hold:11,holli:1,home:22,hong:1,horizont:7,horn:1,host:[12,21,22],houghton:1,how:[0,2,6,7,10,11,12,15,16,17],howard:1,howett:1,howev:[2,7,15,21],hpp:12,hrl:12,hsa:12,hsail:[1,2,12],hsaillex:12,hspec:[2,12,23],hspeclex:12,htaccess:12,htdoc:13,htm:[7,11,12],html5:[2,7],html:[0,1,2,3,7,11,13,15,17,18,21,22,23],htmlcheetah:12,htmldjango:12,htmldjangolex:12,htmlformatt:[0,2,6,7,10,15,17,19],htmlgenshilex:12,htmllexer:[11,12],htmlphplexer:[11,12],htmlsmartylex:12,http:[1,2,8,10,12,20,21,23],httpd:12,httplexer:[2,12],huge:11,human:[0,12],hundr:11,hurl:21,hxml:12,hxmllexer:12,hxsl:12,hxx:12,hyb:12,hybri:[1,2,12],hybrislex:12,hylang:12,hylex:12,hyperlink:7,hypothet:11,hypotheticlex:11,i18n:2,i6t:12,i7x:12,iOS:2,ian:[1,2],icl:12,icn:12,iconlex:12,icu:12,icw:12,idc:12,idea:[2,10],ideal:12,identifi:[0,2,12,18],idl4:12,idl:[1,2,23],idllex:12,idr:12,idri:[1,2,12],idrislex:12,iec:12,ieee:12,ietf:12,iex:12,ignor:[6,7,12],ignorecas:11,igor:[1,2],igorexchang:12,igorlex:12,igorpro:12,ijs:12,imag:[1,2,7,12],image_format:7,image_pad:7,imageformatt:[2,7],img:7,immedi:0,implement:[0,2,6,7,12],implicit:18,imposs:11,improv:[1,2,5,7],inc:[1,12],incl:23,includ:[0,2,3,7,11,13,15,16,19,20,21],inclus:11,incollo:21,incompat:2,incomplet:[2,21],incorrect:2,incorrectli:12,increas:[7,11,22],incred:11,indent:[2,5,7,12],index:[0,7,11,20],indexerror:11,indic:[2,7,11],individu:7,industri:12,inencod:[2,3,19],inf:12,infer:3,inferno:1,infinit:2,influenc:11,info:12,inform6:12,inform6lex:12,inform6templatelex:12,inform7:12,inform7lex:12,inform:[1,2,3,7,11,12,14,15,18],ing:2,inherit:[1,2,11,17],ini:[2,11,12,23],inilex:[11,12],initi:[2,5,6,11],initialis:11,inkpot:2,inlin:[2,6,7,15],inlinestyl:13,ino:12,inozemtsev:1,input:[0,2,3,7,11,12,15,19],inputenc:7,insensit:[0,2],insert:[2,11,18],insid:[7,11,18],instal:[2,3,7,8,11,19,21],instanc:[0,2,4,5,10,11,12,13,17,18],instanti:[0,4,6,11],instead:[2,6,7,11,12,15,17,21],instruct:12,int_fict:12,integ:[0,12,18],integr:[2,7,12,21],intel:[2,12],intellig:21,interact:2,interchang:12,interfac:[0,2,8,12],intern:[4,11,15,19],internet:7,interpol:[2,18],interpret:[0,10],intr:12,introduc:[2,7,11,18],introduct:8,invalid:2,invari:11,invoc:7,iok:[1,2,12],iokelex:12,iokesrc:12,iolang:12,iolex:12,iosrc:12,ipf:12,ipython:2,irb:[12,23],irc:[2,7,12,23],ircformatt:7,irclog:12,irclogslex:12,irssi:[12,23],is_token_subtyp:18,isabel:[1,2,12],isabellelex:12,isn:[2,5,6,11,12],iso:12,issu:[2,22],ital:[6,7,12,17],italic:7,item:[6,11,14],iter:[0,2,5,6,7,11,17],itoh:1,its:[0,2,11,12,15,17,19,21],itself:11,ivan:1,jackson:1,jade:[1,12],jag:[1,2,12],jagslex:12,jame:1,jan:2,jann:1,januari:12,jar:10,jarrett:[1,2],jasmin:[1,2,12],jasminlex:12,jasminxt:12,java:[2,8,12,18,21,23],javalex:12,javascript:[2,7,11,18,23],javascriptdjangolex:12,javascripterblex:12,javascriptgenshilex:12,javascriptlex:[2,11,12],javascriptphplex:12,javascriptsmartylex:12,jbst:[1,2,12],jcl:[1,2,12],jcllexer:12,jeffrei:1,jeremi:[1,12],jerith:12,jerom:1,jesper:1,jinja2:2,jinja:[12,23],jlcon:12,jlexer:12,job:12,jochen:1,joe:1,joerg:1,john:1,join:[2,6],jon:1,jona:1,jordi:1,jpeg:7,jpg:[2,7],jpgimageformatt:7,jproperti:12,jsgf:[1,2,12],jsgflexer:12,jsm:12,json:[1,2,12],jsonbareobjectlex:12,jsonld:12,jsonldlex:12,jsonlex:12,jsonml:12,jsp:[12,23],jspeech:12,jsplexer:12,julia:[1,2],juliaconsolelex:12,julialex:12,jun:2,just:[2,6,7,11,12,17,18,22],justin:1,juttl:12,juttlelex:12,jython:[2,10,21],kaarsemak:[1,2],kabak:1,kal:[1,2,12],kallex:12,kalnitski:1,kashif:1,kconfig:[1,2,12],kconfiglex:12,keep:[2,7],kei:[0,6,11,12,17],ken:[1,12],kept:11,kernel:12,keyboardinterrupt:2,keyword:[0,2,4,5,6,12,15,17],keywordcas:[3,5],keywordcasefilt:5,kid:12,kif:12,kind:[2,18],kiril:[1,2],kirk:[1,2],kit:1,kki:12,klein:1,knibb:1,know:[2,15,18,21],knowledg:22,known:[0,3,5,11,17,21],koka:[2,12],kokalex:12,koltsov:1,konrad:1,koprowski:1,korean:12,kotlin:[1,2,12],kotlinlex:12,kowarsch:1,krekel:1,kriegisch:1,kristian:1,krzysiek:[1,2],kschutt:12,ksh:12,kubica:[1,2],kumar:1,kupperschmidt:1,kurt:1,kurzbach:1,label:[2,18],lack:23,lagda:12,lambda:2,lang_builtin:11,languag:[0,2,11,15,18,22],language_lex:11,larger:[7,13],larim:1,lasso:[1,2,12,23],lassocsslex:12,lassohtmllex:12,lassojavascriptlex:12,lassolex:12,lassoscript:12,lassoxmllex:12,lassu:1,last:[3,6,11,12,19],lasttyp:6,lastval:6,later:[6,7,11,12],latest:[20,22,23],latex:[1,2,7,12,15,17,21,22],latexformatt:[2,6,7],latin1:[2,3,19],latin:12,latter:[2,6,7],laurent:1,layman:1,layout:12,lazi:12,lcry:12,lcryptol:12,lead:[2,11,12,15],leaf:1,lean:[2,12],leanlex:12,learn:22,ledru:1,lee:1,left:[6,12],length:[7,11,12],lenient:12,less:[2,4,12],lesscss:1,lesscsslex:12,lessfilt:2,let:[6,12,15],letter:[5,7,12],level:12,lex:[0,2,11,12,21,22],lexem:12,lexer:[1,2,4,5,6,7,8,10,13,14,17,18,19,21,22,23],lexercontext:11,lexernam:0,lgt:12,lhaskel:12,lhs:12,librari:[2,6,7,9,12,15,19,21,22],licens:[2,18,21],lid:[2,12],lidr:12,lidri:12,life:12,light:[6,7,17],lightbg:7,lighti:12,lighttpd:[2,12,23],lighttpdconflex:12,like:[0,2,3,6,7,9,10,11,15,16,18,21,22],limbo:[1,2,12],limbolex:12,linden:12,line:[0,2,5,7,8,11,12,14,18,19,21,22],line_numb:7,line_number_bg:7,line_number_bold:7,line_number_char:7,line_number_fg:7,line_number_ital:7,line_number_pad:7,line_number_separ:[2,7],line_number_start:[2,7],line_number_step:7,line_pad:7,lineanchor:[2,7],lineno:[2,3,7,15],linenospeci:7,linenostart:7,linenostep:7,linenumb:7,linesepar:7,linespan:[2,7],linewis:12,linh:1,link:[2,7,12,21],linux:[12,20],liquid:[2,12],liquidlex:12,lisp:[1,2,12,18,23],list:[0,2,3,5,7,8,12,14,15,20,21,22,23],listen:2,liter:[1,2,6,7,11,12,23],literateagdalex:12,literatecryptollex:12,literatehaskelllex:12,literateidrislex:12,litstyl:12,littl:[2,12],live:12,livescript:[1,2,12],livescriptlex:12,llvm:[2,12,23],llvmlexer:12,load:[0,1,2,3,11,12],load_formatter_from_fil:[0,2],load_lexer_from_fil:[0,2,11],local:[2,3,11,19],locat:2,log:[1,2,12,22,23],logo:[1,2,12],logoslex:12,logtalk:[1,2,12,23],logtalklex:12,longer:[2,11],longest:11,longnam:0,look:[0,3,5,7,10,11,12,15,17,18,21,22,23],lookup:[0,11,14],loop:[2,15],lorentz:1,lot:[2,10,11],loui:1,lovelac:[1,2],lower:5,lowercas:[5,12],lsl:[2,12],lsllexer:12,lsp:12,lua:[1,2,12,23],lualex:[11,12],lubomir:1,luca:1,luka:1,m2iso:12,m2pim:12,m2r10:12,mabei:1,mac:[2,7,12],macarthur:1,machineri:21,macro:[1,6,7],made:[2,11],magenta:17,magic:[2,18],mai:[0,2,3,5,7,11,12,15,17,23],mail:[21,22],main:[3,7,11,12],mainfram:12,mainli:12,maintain:[1,17,22],major:[1,2,20],mak:12,make:[2,4,7,10,11,12,15,17,19],makefil:[2,23],makefilelex:12,mako:[1,2,12,23],makocsslex:12,makohtmllex:12,makojavascriptlex:12,makolex:12,makoxmllex:12,malform:12,malzeug:2,manag:[12,20,21],mandatori:0,mandel:1,mani:[1,2,7,11,16,17,22],manpag:[2,12],manual:12,mao:12,map:[2,7,11,12,13,15,17],mapfil:11,maql:[1,12],maqllex:12,mar:2,marchand:1,marek:[1,2],margaritelli:1,margin:7,mario:1,mark:[1,5,11,18],markdown:[1,2,12],markdownlex:12,marker:12,markup:[2,6,7,13,15,18,21],martin:1,mask:12,maskj:[1,2],masklex:12,mason:[1,2,12,23],masonlex:12,master:12,match:[0,2,11,12,15,18],math:[2,7,12],mathematica:[2,12],mathematicalex:12,mathescap:7,matlab:[1,2,23],matlablex:12,matlabsess:12,matlabsessionlex:12,matt:[1,2],matteo:1,matter:14,matthew:1,matthia:[1,12],mauricio:1,maven:10,mawk:12,max:[1,12],maxim:12,maximum:11,mayb:12,mcdonald:[1,2],mcgregor:1,mckamei:1,mckee:1,mckenna:1,mclaughlin:1,mean:[0,2,3,5,7,11,12,14,16,19,21],meant:18,mechan:[0,7,15,22],media:2,member:[11,12],menlo:7,mention:14,menu:9,menuconfig:12,mercuri:21,merg:[5,11],messag:[12,18],meta:[7,12],metacharact:11,metaclass:[0,6],metadata:14,metamodel:12,method:[0,2,3,4,5,6,7,11,12,15,18],meuser:1,mher:1,mhtml:12,michael:1,michiel:1,micro:12,microsoft:7,middl:5,might:[6,11,12,17,19],miikka:1,mike:1,miller:1,mime:[0,2],mimelex:12,mimetyp:[0,2,12],minhe:1,minid:[1,2,12,23],minidlex:12,minidsrc:12,minim:[6,12],minimum:2,minor:2,mior:1,mirc:1,misc:2,misdetect:2,mishandl:2,mishighlight:2,miss:[2,11,12],mit:12,mitchen:1,mix:12,mixtur:12,mli:12,mll:12,mly:12,mma:12,mod:12,mode:[2,7,12],modelica:[1,2,12,23],modelicalex:12,modelin:[1,2],modelvers:10,modif:11,modifi:[0,7,15],modul:[0,2,4,5,7,11,12,14,15,18],modula2:12,modula2lex:12,modula:[1,2,23],modulo:12,mof:12,moin:[2,12,13],moinmoin:[2,8,12,23],moinwikilex:12,mondrian:17,mondrianstyl:17,monkei:[2,12],monkeylex:12,mono:[2,7],monofont:7,monokai:[1,2],monospac:7,mont:[1,2],montelex:12,moo:12,moocod:[1,2,12],moocodelex:12,moon:12,moonscript:[1,2,12],moonscriptlex:12,morai:1,more:[2,3,6,7,10,11,12,15,22],morton:1,most:[0,2,6,7,11,12,17,20,22],moura:1,move:12,movsisyan:1,mozhashpreproc:12,mozilla:[2,12],mozpercentpreproc:12,mozpreproc:12,mozpreproccsslex:12,mozpreprochashlex:12,mozpreprocjavascriptlex:12,mozpreprocpercentlex:12,mozpreprocxullex:12,mq4:12,mq5:12,mqh:12,mql4:12,mql5:12,mql:[2,12],mqllexer:12,msc:12,mscgen:[1,2,12],mscgenlex:12,msdo:[1,2,12],msdossessionlex:12,much:[2,11,12],muhamedag:1,mulitpart:12,multi:[2,11,18,21],multilin:[2,11,18],multipart:12,multipl:[2,7,12],mupad:[1,2,12,23],mupadlex:12,must:[0,3,5,6,7,11,12,15,17],muthiah:1,mxml:[1,2],mxmllexer:12,myghti:[1,2,12,23],myghtycsslex:12,myghtyhtmllex:12,myghtyjavascriptlex:12,myghtylex:12,myghtyxmllex:12,mygthi:12,mylex:11,mynewlex:11,mypythonlex:11,mysql:[2,12,23],mysqllex:12,mystyl:17,myt:12,nafu:7,nam:1,name:[0,2,4,5,7,11,12,13,14,15,17],namehighlightfilt:[2,5],namespac:[1,2,18],nasm:[2,12],nasmlex:[2,12],nasmobjdumplex:12,nathan:1,nativ:[7,12],naveen:1,nawk:12,nbp:12,nbsp:18,ncar:2,ncl:12,ncllexer:12,nearest:7,nearli:2,necessari:7,need:[0,2,4,6,7,11,12,14,15,21,22],needl:11,neg:12,nelson:[1,2],nemerl:[1,2,12,23],nemerlelex:12,neo4j:12,nesc:[1,2,12],nesclex:12,nescsrc:12,nest:[2,11,12],net:[2,23],neufeld:1,neujahr:2,never:11,nevertheless:11,new_stat:11,newest:2,newli:[11,18],newlin:[2,5,7,11,12],newlisp:[2,12],newlisplex:12,newspeak:[2,12],newspeaklanguag:12,newspeaklex:12,next:[11,12],ng2:12,nginx:[2,12,23],nginxconflex:[2,12],nguyen:1,nick:1,nil:[1,12],nimrod:[1,2,23],nimrodlex:12,nit:[1,2],nitlex:12,nix:[1,2,7],nixlex:12,nobackground:7,nobodi:18,nobold:17,noclass:[2,7],noclobber_cssfil:[2,7],noehr:1,noinherit:17,noital:17,nolta:1,non:[2,3,7,11,17,19],none:[0,4,6,7,11,12,18],nonempti:7,nontermin:12,nonzero:5,normal:[0,3,4,5,11,12,18],norman:1,north:1,nose:2,notabl:12,note:[4,5,7,11,12,14,15,17,18,19,23],notebook:2,noth:11,notifi:22,notmuch:[2,12,23],notmuchlex:12,nounderlin:17,nov:2,now:[2,7,11,12,19],nowrap:7,nprint:15,nqp:12,nresult:10,nroff:12,ns2:12,nsh:12,nsi:[2,12],nsislex:12,nth:7,nullformatt:[6,7],number:[2,3,5,6,7,11,12,15,17,18,21,22],numer:[2,12],numpi:[1,2,12],numpylex:12,nusmv:[1,2,12],nusmvlex:12,nvidia:12,obei:7,obj:12,objc:[2,12],objdumb:12,objdump:[2,12],objdumplex:12,object:[0,1,2,5,6,7,11,15,18,19,23],objectivec:[1,2,12],objectiveclex:12,objectivecpplex:12,objectivej:12,objectivejlex:12,objectpasc:12,objj:12,objm2:12,obrist:1,obviou:11,ocaml:[2,12,23],ocamllex:12,occasion:19,occur:11,oct:[2,18],octal:18,octav:[1,2,12,23],octavelex:12,odbc:12,odd:2,odin:12,odinlex:12,off:[0,5,12],offload:2,offset:7,often:[11,16],old:[2,17,18],oldhtmlformatt:6,oleh:1,oliva:1,olivi:1,olov:1,omg:12,omit:3,onclick:7,one:[0,2,3,5,6,7,11,12,15,17,19],ones:[0,11,12],onli:[0,2,3,7,11,12,15,18,21],onto:11,ooc:2,ooclex:12,opa:[1,2,12],opalang:12,opalex:12,open:[6,11,14,22],openbug:12,opencobol:[1,2,12],openedg:[1,2,12],openedgelex:12,opengl:12,openingcommentdelim:12,oper:[1,2,11,17],optim:[2,11],option:[1,2,4,5,6,9,11,12,13,17,19],optionerror:0,optnam:0,orc:12,orchestra:12,order:[2,12,15,21],ordinari:12,org:[1,10,12,22],origin:[2,12],other:[1,2,7,11,13,17,18,19,21,22],otherlex:11,otherst:11,otherwis:[0,7,11,12],out:[2,3,5,10],outencod:[2,3,7,19],outfil:[0,6,7,15],outlin:21,output:[0,2,3,4,5,6,7,11,13,15,18,19,21,22],outsid:[11,12],over:[0,2,6,7,11,15,17,22],overhaul:1,overload:18,overrid:[0,2,3,4,6,7,11,12,19],overridden:0,overview:[15,17],overwrit:6,overwritten:7,owen:1,own:[0,5,7,8,18,23],oxford:1,ozarowski:2,p6l:12,p6m:12,pace:22,pacemak:12,packag:[2,7,11,18],pacman:12,pacmanconf:12,pacmanconflex:12,pad:7,page:[0,2,7,10,11,13,14,15,23],paid:22,paint:21,pair:[0,11],pan:[2,12],panlex:12,pannuto:1,paper:12,paramet:[6,11],parasail:[1,2],parasaillex:12,paren:2,parent:[6,11,18],parenthesi:11,paris:1,pars:[2,6,12,21],parser:[2,13,18],part:[6,11,12,18],partial:2,particular:[3,7,12],partner:12,pas:[3,12],pascal:[2,3,5],pass:[2,3,4,6,7,11,12,15,17,19],past:[7,12],pastebin:[12,21],pastebox:21,pat:1,patch:[1,2,18],path:[7,11,12,18,21],patrick:1,pattern:[0,2,7,11,12,14,15],patx:21,paul:1,paulo:1,pawn:2,pawnlex:12,pcmk:12,pdf:[12,21],peculiar:2,pekka:1,peopl:16,pep:2,pepijn:1,per:[2,3,12,17,19],percent:12,perfect:7,perform:[2,11,12,18],perl6:12,perl6lex:12,perl:[1,2,15,18,22,23],perllex:[12,15],permit:12,persist:12,pete:1,peterson:1,pfannschmidt:1,pgsql:12,phil:1,philosophi:17,php3:12,php4:12,php5:12,php:[1,2,9,11,18,21,23],phpbb:7,phplexer:[11,12],phpygment:[9,21],phtml:12,picheta:1,pick:7,pida:21,piec:[7,15],pierr:[1,2],pig:[1,2,12],piglex:12,pigment:21,pike:[1,2,12],pikelex:12,pil:[2,7],pilcrow:5,pim:12,pinkham:1,piotr:2,pip:[2,20],pipe:[12,15],pixel:7,pixmap:7,pkg:12,pkg_resourc:2,pkgbuild:12,pkgconfig:12,pkgconfiglex:12,pl6:12,place:[2,12,20,22],plain:[2,12,15],platform:[12,20,21],player:12,pleas:[7,8,14,21],plot:2,plpgsql:12,plpgsqllexer:12,plrm:12,plt:12,plu:[2,7,11,12,23],plugin:[8,12,13,17,21],pm6:12,pmod:12,png:[2,7],pocoo:22,pod:2,point:[5,7,11],polici:12,pom:10,poni:[2,23],ponylex:12,pop:[2,11],popular:12,port:2,pos:11,posh:12,posit:[0,2,11],posix:12,possibl:[2,6,7,10,11,12,15,18,19,21],post:7,postgr:12,postgresconsolelex:12,postgreslex:12,postgresql:[1,2,12],postmarkup:21,postscr:12,postscript:[1,2,12,23],postscriptlex:12,pot:12,pov:[2,12,23],povrai:[12,23],povraylex:12,power:[11,21],powershel:[1,2,12,23],powershelllex:12,powershellsessionlex:12,praat:[1,2],praatlex:12,pre:[2,6,7,10,12,15],preambl:7,preced:[2,11],prefer:11,prefix:[2,7,11,12,14,18],preimplement:11,prepar:11,prepend:[3,7],preproc:18,preprocess:12,preprocessor:[2,9,11,12,18],present:[2,12,21],preserv:7,prestyl:[2,7],prettifi:22,prevent:[11,17],previou:11,previous:2,prg:12,primari:[12,15],primit:12,principl:18,print:[3,7,10,12,15,17,18,21],printabl:12,println:10,prioriti:2,privaci:21,pro:[1,2],probabl:[0,4,12],problem:[2,7],proc:12,procedur:[2,11,12],process:[2,3,11],processor:[1,2,9],produc:[0,2,7,11,12,15],profil:12,progopedia:21,program:[2,16,18,22],progress:12,project:[2,7,10,17,21,22],prolog:[2,23],prologlex:12,prompt:[2,12,18],proof:12,proper:11,properli:[2,21],properti:[2,7,12],propertieslex:12,propos:18,proprietari:12,proto:2,protobuf:12,protobuflex:12,protocol:[1,2,12],prototyp:12,prover:12,provid:[0,2,3,6,7,9,11,12,17],prs:12,prynn:1,prypin:1,ps1:12,ps1con:12,psc:12,pseudo:[11,12,18],psi:12,psl:12,psm1:12,psql:12,pth:2,publicli:11,publish:12,pudb:21,pug:12,puglex:12,pull:[2,23],pumbaa80:2,punctuat:[2,12],puppet:[1,2,12],puppetlex:12,pure:12,purpos:[6,12,15],push:11,put:[7,11,12,13,17],pwn:12,pxd:12,pxi:12,py2:12,py2tb:12,py3:12,py3tb:12,pybtex:12,pycon:12,pygment:[1,3,4,5,6,7,11,14,15,17,18,19,20,22,23],pykleur:2,pypi:[1,2,7,12,20],pypylog:12,pypyloglex:12,pyrex:12,pytb:12,python2:12,python2lex:[2,12],python2tracebacklex:12,python3:[2,12],python3lex:[2,12,17],python3tracebacklex:[2,12],python:[1,2,3,7,9,10,11,13,15,16,18,20,21,22,23],pythonconsolelex:[2,12],pythoninterpret:10,pythonlex:[2,5,10,11,12,15,19],pythontracebacklex:[2,12],pyw:12,pyx:12,qbasic:[2,12],qbasiclex:12,qbs:12,qbzr:21,qdeclarativeintroduct:12,qml:[1,2,12],qmllexer:12,qualifi:12,qualiti:22,quickstart:[2,8],quit:[2,4,7,21,22],quot:[2,3,10,15,18],quotat:5,qvt:[1,2],qvto:12,qvtolex:12,r10:12,r5r:12,rabel:1,racket:[1,2,12],racketlex:12,ragel:[1,2,12,23],ragelclex:12,ragelcpplex:12,rageldlex:12,ragelembeddedlex:12,rageljavalex:12,ragellex:12,ragelobjectiveclex:12,ragelrubylex:12,rai:[2,23],raichoo:1,rainbow:[1,2],rais:[0,2,5,7,12],raiseonerror:5,raiseonerrortokenfilt:[2,5],rake:12,rakefil:12,rang:[0,12,21,22,23],rare:2,rasul:1,rather:11,raw:[2,7,18],rawtokenformatt:[2,7,12],rawtokenlex:[7,12],raytrac:12,rbcon:12,rbnf:12,rbw:12,rbx:12,rconsol:12,rconsolelex:12,rdlexer:12,rdoc:2,read:[7,11,12,22],readabl:0,readili:6,realli:[7,11,12,14,18],reason:12,reb:12,rebol:[1,2,23],rebollex:12,rebuild:11,receiv:2,recent:12,recogn:[0,2,3,11,12],recognis:[7,12,18],recognit:2,recommend:[7,20],record:12,recreat:12,recurs:11,recurss:12,red:[2,6,7,12,15,17,23],redcod:[1,2,12,23],redcodelex:12,redlex:12,reduc:2,redund:15,reed:1,refactor:1,refer:[2,4,6,7,8,11,12,15],reg:12,regard:3,regedit:12,regeditlex:12,regex:[2,18,22],regist:[0,2,4,5,8,12,13,17],registri:[2,12],regress:2,regular:[2,7,11,18,19],reidi:1,rel:[0,3,7,11],relas:2,relaxng:12,releas:[2,20,22,23],reli:14,remov:[2,7,11],renam:[12,13],render:[2,7,9,11,12,17],renviron:12,repeat:11,repl:12,replac:[2,5,7,11],report:12,repositori:21,repr:7,repres:[15,18],represent:7,request:[2,7,21,23],requir:[2,11,12,14,22],requiredelimit:12,reserv:[12,18],resolv:11,resort:[3,19],resourcebundl:[2,12],resourcelex:12,respect:[2,7,17],respons:13,rest:[2,5,8,11,12,22,23],restrict:12,restructur:2,restructuredtext:[2,12,21],result:[0,2,7,10,11,12,15,17,19],retain:2,reuben:1,review:21,revis:12,rewrit:[1,2],rewritten:12,rewrot:2,rex:12,rexx:[1,2,12],rexxlex:12,rfc822:12,rgb:17,rhistori:12,rhtml:12,rhtmllexer:12,richard:1,richardson:1,right:[5,19],rigor:12,rintel:1,risc:12,rkt:12,rktd:12,rktl:12,rnc:12,rnccompactlex:12,rng:12,rob:1,roberg:[1,2],robert:1,roboconf:[1,2],roboconfgraphlex:12,roboconfinstanceslex:12,robot:[1,2,23],robotframework:12,robotframeworklex:12,roff:12,rolling:1,roman:2,ronach:[1,22],ronni:1,roo:1,root:[7,11,12],root_lex:11,rostyslav:1,roughli:7,rout:12,roux:21,row:7,rpf:12,rpm:[2,12,23],rpmspeclex:12,rprofil:12,rql:[2,12],rqllexer:12,rrggbb:6,rrt:2,rsl:[1,2,12],rsllexer:12,rss:12,rst2pdf:21,rst:[12,16,18],rstlexer:12,rtf:[1,2,7,12,15,21,22],rtfformatt:7,rts:12,rtslexer:12,rubi:[1,2,9,11,18,21,23],rubiniu:12,rubyconsolelex:[2,12],rubylex:[12,15],rudolph:1,ruggier:1,rule:[2,3,7,11,12,13,18],run:[0,7,10,11,12,21],runtim:10,runtimeerror:[7,18],rust:[1,2,23],rustlex:12,rvt:12,sage:12,salminen:1,salt:12,saltstack:12,sam:1,same:[2,3,5,6,7,11,12,17,18],sampl:[9,11,13,16],samplemanag:12,san:[2,7],sandalski:1,sane:7,sap:12,sarl:12,sarllex:12,sas:12,saslex:12,sass:[1,2,12],sasslex:12,sasso:1,save:[2,11],sbatch:12,sbl:12,scala:[1,2,12,23],scalalex:12,scalat:12,scaml:[1,12],scamllex:12,scd:12,scdoc:[2,23],scdoclex:12,sce:12,scenario:8,scene:[2,23],schafer:1,schemaloc:10,scheme:[1,2,12,23],schemelex:12,schutt:[1,12],schwaiger:1,schweizer:1,schweyer:1,sci:12,scientif:[12,21],scilab:[1,2,12,23],scilablex:12,scm:12,sco:12,sconscript:12,sconstruct:12,scope:[10,21],score:[2,12],screen:13,script:[2,3,11,14,15,16,21,23],scss:[2,12],scsslexer:12,search:[2,11],sebastian:1,second:[2,11,12],secondari:15,section:[11,21],see:[0,2,3,5,6,7,11,12,15,17,19,21,22],seem:11,seen:3,sel4:12,select:[0,2,3,7,11,12,15],selector:[2,3,7,15],self:[0,4,6,7,11,12,18],semant:15,semicolon:2,send:[6,11,12,19,22],sensit:2,sep:2,separ:[2,3,7,11,12],sequenc:[0,2,7,15,17,18,21,22],sequenti:12,serial:12,server:[2,12,23],servic:[1,21],session:[1,2,23],set:[2,6,7,9,10,11,12,13,15,17,18,19],setup:3,setuptool:14,sever:[2,11,12],sgf:[1,2,23],shade:17,shader:[12,23],shadow:12,shape:12,share:21,shaw:1,sheet:[3,12],shell:[1,2,3,21,23],shellscript:12,shellsess:[1,12],shellsessionlex:2,shen:[1,2,12],shenlex:12,shex:12,shexc:12,shexclex:12,ship:[6,9,11,13,16,17],shorten:12,should:[0,2,5,6,7,11,12,13,14,17],shouldn:[2,11],show:[2,7,11,12],shown:[7,11],siafoo:21,sieker:1,sig:12,sign:[2,3,5,11],signatur:18,sil:12,silent:2,silver:[2,12],silverlex:12,similar:[2,11,15,18],simmon:1,simon:1,simonov:[1,2],simpl:[2,9,10,11,22],simplefilt:4,simpli:11,simplifi:2,simplist:12,simpson:1,sinc:[0,2,3,4,7,9,10,11,12,15,17,19],sing:1,singl:[2,11,18,19],singlelin:11,singleton:18,sircmpwn:12,site:21,size:[6,7],skip:11,skylark:2,slash:[1,2,11,14,23],slashlex:12,slexer:[2,12],slightli:2,slim:[2,12],slimlex:12,slowdown:12,slowish:2,sls:12,slurm:[2,12,23],slurmbashlex:12,smali:[1,2,12],smalilex:12,small:[2,12,15,17],smaller:2,smalltalk:[1,2,23],smalltalklex:12,smart:[3,19],smarter:2,smartgameformatlex:12,smarti:[12,23],smartylex:12,smishlajev:1,sml:12,smllexer:[11,12],snapshot:10,snippet:[12,15,16,17,21],snobol4:12,snobol:[1,2,23],snobollex:12,snowbal:[1,2,12],snowballlex:12,softwar:[1,12],sol:12,solar:[1,2],solid:[2,23],soliditylex:12,solvabl:11,some:[0,2,4,6,7,11,12,15,17,18,21],somelex:[3,11],someth:[6,10,11,15,18],sometim:[7,11],somewhat:12,sound:11,sourc:[1,2,5,7,9,11,13,14,15,16,19,21,22],sourcecod:[2,7,12,16],sourcepawn:[1,2,12],sourcepawnlex:12,sourceslist:12,sourceslistlex:12,space:[2,3,5,7,11,12,17,23],spacehack:7,spam:[11,15],span:[2,3,7,10,15],sparql:[1,2,12],sparqllex:12,spec:[2,12,23],special:[2,3,5,7,11,18,22],specif:[2,3,7,11],specifi:[0,3,6,7,11,12,17,18],speed:2,spell:11,sphinx:[2,21],spigarelli:1,spitfir:[2,12],split:[0,2,3,12,15,17,18],splitlin:2,splu:12,spt:12,spyder:21,sql:[1,2,23],sqlite3:[2,12],sqlite:23,sqliteconsolelex:12,sqllexer:12,squeak:12,squid:[1,2,12,23],squidconf:12,squidconflex:12,squiggli:2,src:12,ssp:[2,12],ssplexer:12,stabl:22,stack:[2,11],stan:[1,2,12],stand:21,standalon:10,standard:[0,1,2,3,6,7,12,15,21],standard_typ:18,standardml:12,stanlex:12,stap:1,star:11,starlark:2,start:[0,2,6,7,8,11,12,18],starter:11,startinlin:12,stata:[1,2],statalex:12,state1:11,state2:11,state:[2,12],statement:[0,2,12],staticmethod:0,statist:2,statu:12,stdin:12,stdout:[3,19],stefan:[1,12],step:[7,11,21],stepan:1,stephen:1,steve:1,steven:1,still:[2,7,11,12,17,18,19],stingrai:12,stolen:12,store:[7,11,12,21],stou:1,strachan:1,straightforward:6,strang:11,stream:[0,2,3,4,5,6,7,12,15,19],strict:2,string:[0,2,3,5,6,7,10,11,12,15,17,18,19],string_to_tokentyp:18,stringio:7,strip:[11,12,15],stripal:[0,12,15],stripnl:[0,2,12],strong:18,strongli:12,structur:[2,12],stuart:1,studio:[2,12],stuff:7,style:[0,1,2,5,7,8,11,14,15,18,23],style_map:[0,17],stylebegin:6,styleend:6,styleguid:5,stylemap:6,stylenameclass:17,stylesheet:[2,3,7,13,15],styleshet:12,subclass:[0,2,7,12,17],subdirectori:13,subhead:[11,18],subheadlin:18,submit:8,subpackag:[2,17],subsequ:[0,7,12],subset:12,subsystem:12,subtoken:17,subtyp:18,successor:[21,23],suffix:[2,11],suggest:8,suit:[1,2,11],suitabl:[0,2,7,22],sullivan:1,supercollid:[1,2],supercolliderlex:12,superset:12,supertoken:17,suppli:[12,18],support:[1,2,3,6,7,11,12,15,16,17,18,22],suppos:[7,15],suppress:2,sure:[3,11,12,22],surpris:2,sven:1,svg:[1,2,7,12],svgformatt:7,svh:12,svn:12,swallow:2,swg:12,swift:[1,2,12],swiftlex:12,swig:[1,2,12],swiglex:12,sybas:12,sylvestr:1,symbol:[2,12,18],synonym:11,syntact:[18,21],syntax:[2,3,7,11,17,18,21,22],syntaxerror:2,sys:[3,19],system:[3,7,10,11,20],systemverilog:[1,2,12],systemveriloglex:12,sysutil:12,tab:[2,5,7,12],tabl:[2,7],tabsiz:[0,5,12],tac:12,tad:[1,2,12],tads3:12,tads3lex:12,tag:[2,3,5,6,7,11,12,15,18],tagsfil:7,tagurlformat:7,tail:12,take:[0,2,5,7,11,12,15,20,21,22,23],taken:[0,2,12],tamil:[12,23],tango:[1,2],tanner:1,tap:[1,12],taplex:12,tarbal:[2,11],target:12,task:12,tasm:12,tasmlex:[2,12],tassilo:1,tcl:[1,2,23],tcllexer:12,tcsh:[1,2,12,23],tcshcon:12,tcshlexer:12,tcshsessionlex:12,tea:[1,2,12,23],team:[17,22],teatemplatelex:12,techniqu:11,ted:1,tell:[7,11],templat:[0,2,11,15],tenani:1,teng:[1,2],tera:[1,2,23],teraterm:[2,12],teratermlex:12,teratermmacro:12,term:[1,2,11,15,23],termcap:12,termcaplex:12,termin:[1,2,3,7,12,15,19],terminal16m:7,terminal256:[1,2,7],terminal256formatt:[7,17],terminalformatt:[2,3,7],terminaltruecolorformatt:7,terminfo:12,terminfolex:12,ternari:2,terraform:[1,2,12],terraformi:12,terraformlex:12,test:[1,2,3,15,18],testcas:7,testcaseformatt:7,tex:[7,12,23],texcom:7,texlex:12,text:[0,2,3,7,11,15,16,17,18,19,21,22],textedit:12,textfmt:12,textlex:12,than:[2,9,11,17],thank:[1,2,7,10],thei:[0,2,6,7,11,12,14,15,17,18],them:[0,2,5,7,8,11,12,15,18,21,22,23],theme:[2,17],themselv:11,theori:7,therefor:[3,7,12],thi:[0,2,3,5,6,7,10,11,12,13,14,15,16,17,18,19,20,22,23],thing:11,think:[0,19],third:11,thoma:1,thoroughli:21,those:[6,11,12,14,18],though:[12,21],three:2,thrift:[1,2,12],thriftlex:12,through:[3,11,15],thu:[7,17],thurgood:[1,12],thy:12,tiberiu:[1,2],ticket:[2,22],tiffin:1,tim:[1,2,22],time:[2,7,11],timhatch:1,timothi:1,titl:[0,7],tmp:11,tmpl:12,toc:12,todo:[2,5,12],todotxt:12,todotxtlex:12,togeth:[7,12,15],toggl:7,token:[0,2,3,4,5,6,7,8,12,15,17],token_typ:6,tokenmerg:5,tokenmergefilt:5,tokensourc:[0,6],tokenstr:7,tokentyp:[0,5,7,11],tolbert:1,toler:11,tom:1,toml:[1,2,12,23],tomllex:12,too:[2,3,11,12],tool:[2,12,21,22],top:[7,11,13],toplevel:11,topmost:11,total:[5,11],totaldownload:12,tpl:12,trac:[2,12,21,23],traceback:[1,2,12,18,23],tracker:[2,21,22],traffic:12,trafficscript:1,trail:[12,15],trailer:2,trait:12,transact:[1,12],transactsqllex:12,transcript:12,transfer:12,transform:12,translat:2,transpar:17,treat:[2,12,17],treat_stdlib_adts_as_builtin:12,tree:12,treetop:[1,2,12],treetoplex:12,trevor:1,tri:[2,3,11,19],trick:[8,15],tricki:11,trigger:7,troff:12,trove:2,trust:11,trute:1,tryzelaar:1,tspan:7,tsql:12,tst:12,tsx:12,ttl:12,ttype:[4,6],tupl:[0,6,7,11,12],turbo:12,turbopasc:12,turn:12,turtl:[1,2,12],turtlelex:12,tutori:10,twig:[2,12],twightmllex:12,twiglex:12,two:[6,7,11,12,15],twowaybind:12,txt:[2,7,12],type:[0,2,5,6,7,11,12,15,17,18],typescript:[1,2,12],typescriptlex:12,typeset:[7,12],typic:12,typo3:12,typo3cm:12,typoscript:[1,2],typoscriptcssdata:12,typoscriptcssdatalex:12,typoscripthtmldata:12,typoscripthtmldatalex:12,typoscriptlex:12,typoscriptrefer:12,ucodelex:12,udalov:1,udiff:[2,12],udo:12,unabl:11,unbalanc:12,unchang:7,uncolor:4,uncolorfilt:4,under:[11,20,21],underlin:[6,7,12,17],underscor:2,understand:[7,14,17],undocu:12,unexpect:19,unfold:12,unfortun:11,unhandl:12,unicod:[2,5,7,8,11,12,15],unicodedecodeerror:19,unicodeerror:2,unicodelevel:12,unicon:2,uniconlex:12,unifi:[2,12],uniqu:[0,15],unistr:2,unit:[2,12],univers:[1,21],unix:12,unknown:12,unless:7,unlex:12,unlimit:[12,18],unmatch:12,unmodifi:11,unnecessari:11,unnecessarili:12,unpack:11,unquot:2,unsign:2,unstyl:18,until:11,untouch:12,unus:18,updat:[1,2,7,12],upper:[3,5],uppercas:[5,15,18],urbi:12,urbiscript:[1,2],urbiscriptlex:12,usabl:[0,6,17,21,22],usag:[0,3,21],use:[2,3,4,5,6,7,10,11,12,13,14,15,16,17,18,19,22],used:[0,2,3,4,5,6,7,11,12,13,14,15,17,18,21],useful:[2,5,7,12,18,21],usepackag:7,user:[0,7,9,12],uses:[0,2,4,7,9,10,11,15],usesyslog:12,using:[0,2,3,4,7,11,12,15,16,17,18,19,20,21],usr:15,usual:[7,15,20],utf8:2,utf:[2,7,10,12,19],util:[0,2,4,21],v4_0_0:10,vala:[1,2,12,23],valalex:12,valentin:1,valid:[0,12,21],vallentin:1,valu:[0,2,3,4,5,6,7,11,12,14,17,18],valueerror:2,van:1,vapi:12,vari:17,variabl:[2,7,10,11,12,18],variant:[12,17],varieti:17,variou:[0,2,8,23],vark:12,varnish:[1,2],varrazzo:1,varun:1,vba:12,vbnet:12,vbnetaspxlex:12,vbnetlex:12,vbs:12,vbscript:[1,2,12],vbscriptlex:12,vcl:12,vcllexer:12,vclsnippet:12,vclsnippetlex:12,vclsrc:12,vctreestatu:12,vctreestatuslex:12,veloc:[2,12],velocityhtmllex:12,velocitylex:12,velocityxmllex:12,vera:7,verbatim:[2,7],verbopt:7,verbosepkglist:12,veri:[0,4,11,12,22],verilog:[2,12,23],veriloglex:12,version:[0,3,4,5,7,10,11,12,15,17,18,19,21,23],versionad:12,vert:12,vfp:12,vgl:[1,2,12],vgllexer:12,vhd:12,vhdl:[1,2,12,23],vhdllexer:12,via:[7,9,12,19],view:[11,12],viewer:[7,21],viewvc:21,vim:[1,2,12,23],viml:12,vimlex:12,vimrc:12,vincent:1,vinot:1,virtualenv:2,visibl:[2,5],visiblewhitespacefilt:[2,5,18],vision:12,visit:15,visual:[1,2,23],vnd:12,voelker:1,volunt:22,vpr:12,wai:[2,7,11,17,18,19],wait:21,want:[3,5,7,10,11,12,13,14,15,17,18],wasn:11,watch:23,wavemetr:12,wdiff:[1,2,12],wdifflex:12,web:[11,21],webmisc:12,websit:2,weechat:[2,12],weechatlog:12,weight:[7,15],weizenbaum:1,welcom:[15,23],well:[2,6,7,12,21,23],were:[2,14],what:[2,3,15],wheel:2,when:[2,5,7,11,12,15,17,22],where:[0,6,7,11,13,15,17],whether:[0,2,7],whetsel:1,which:[0,2,3,5,7,10,11,12,14,15,17,18,19,20],whilei:[1,2],whileylex:12,white:17,whitespac:[0,2,5,7,11,12,15,17,18],whitnei:1,whole:[6,7,11],whose:[2,12,13,15],why:[4,21,23],wide:[12,21,22],width:7,wiki:[2,12,13,21,22,23],wikipedia:21,wildcard:3,william:1,willing:13,winbatch:12,winbug:12,window:[2,7,12,23],winkler:1,winner:2,winston:2,winter:[1,12],wish:21,within:[0,7,12],without:[0,2,7,11,12,14,18],wlua:12,wolfram:12,won:[3,4,7,11],word:[2,3,5,7,11,12,18],wordpress:21,work:[2,3,5,7,10,11,12,15,17,20],workaround:7,workspac:12,world:[3,10,15,17],would:[5,6,7,10,11,12,18],wouldn:7,wppygment:21,wpygment:21,wrap:[2,6,7,15],wrapcod:7,wrapper:[2,7,21],write:[0,2,5,7,8,12,14,15,18,19,21,23],written:[0,1,2,3,7,11,12,14,15,17,19,21],wrong:19,wsdl:12,wsf:12,wstokentyp:5,www:[10,12],wxhtmlpygment:21,wybir:1,x10:1,x10lexer:12,x1b:17,x1z:12,xbase:12,xchat:[2,12],xcode:2,xds:12,xhtml:[12,21],xmi:12,xml:[2,7,10,18,23],xmldjangolex:12,xmlerblex:12,xmllexer:12,xmln:10,xmlphplexer:12,xmlschema:10,xmlsmartylex:12,xoffset:7,xorglex:12,xpl:12,xql:12,xqm:12,xqueri:[1,2,12,23],xquerylex:12,xqy:12,xsd:[10,12],xsi:10,xsl:12,xslt:[1,2,12,23],xsltlexer:12,xten:12,xtend:[1,2,12],xtendlex:12,xtlang:12,xtlanglex:12,xtm:12,xul:12,xwiki:21,xxd:12,xxx:5,yai:2,yaml:[1,2,12,23],yamljinjalex:12,yamllex:12,yellow:17,yes:[0,11],yet:3,yield:[0,2,4,6,7,11,12],yml:12,yoffset:7,you:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],young:1,your:[3,5,7,8,9,12,13,14,16,17,18,23],your_formatt:3,your_lex:[3,11],your_lexer_fil:11,your_named_lex:11,yourapp:17,yourfilt:14,yourformatt:14,yourlex:14,yourmodul:[14,17],yourself:[11,21],yourstyl:[14,17],ystep:7,zamboni:1,zamudio:1,zeek:[2,12,23],zeeklex:12,zeitdilat:2,zep:12,zephir:[12,23],zephirlex:12,zero:12,zerodivisionerror:12,zig:[2,23],ziglang:12,ziglex:12,zimin:1,zimmerman:1,zimtstern:2,zip:12,zsh:12,zshrc:12,zurczak:1},titles:["The full Pygments API","Full contributor list","Pygments changelog","Command Line Interface","Write your own filter","Filters","Write your own formatter","Available formatters","Pygments documentation","Using Pygments in various scenarios","Use Pygments in Java","Write your own lexer","Available lexers","Using Pygments with MoinMoin","Register Plugins","Introduction and Quickstart","Using Pygments in ReST documents","Styles","Builtin Tokens","Unicode and Encodings","Download and installation","Pygments FAQ","Welcome!","Supported languages"],titleterms:{"0rc1":2,"6rc1":2,"class":[7,11],"new":[11,21],Adding:11,RTS:12,SAS:12,The:[0,11,14,22],Use:[10,14],Using:[4,9,11,13,16],actionscript:12,advanc:11,algebra:12,all:[12,23],ambienttalk:12,ampl:12,api:0,apl:12,archetyp:12,architectur:15,assembl:12,author:22,autom:12,avail:[7,12,17],bash:9,basic:12,bibliographi:12,bibtex:12,bnf:12,boa:12,bug:21,builtin:[5,17,18],busi:12,callback:11,can:21,cap:12,chang:11,changelog:2,chapel:12,clean:12,code:12,come:21,command:[3,12,15],comment:18,common:7,compact:12,complet:9,comput:12,config:12,configur:12,consol:12,contribut:22,contributor:1,core:14,creat:17,crystal:12,csound:12,css:12,custom:3,dalvik:12,data:12,decor:4,definit:[6,12],deleg:11,deriv:11,descriptor:12,develop:20,dialect:12,diff:12,document:[8,16],doe:21,domain:12,download:20,dsl:12,dump:12,dylan:12,ecl:12,eiffel:12,elm:12,embed:12,encod:[3,19],engin:12,entrypoint:14,erlang:12,esoter:12,exampl:15,extend:14,extendedregexlex:11,extens:12,ezhil:12,factor:12,famili:12,fantom:12,faq:21,featur:21,felix:12,fiction:12,file:12,filter:[3,4,5],flag:11,floscript:12,format:12,formatt:[0,3,6,7,15],formerli:12,forth:12,fortran:12,foxpro:12,framework:12,freefem:12,from:[11,21],full:[0,1],game:12,gener:[3,6,12,18],get:[3,17],googl:12,grammer:12,graph:12,graphic:12,guess:15,handl:11,hardwar:12,haskel:12,hax:12,help:3,hexadecim:12,high:0,how:[14,21],html:[6,12],icon:12,idl:12,igor:12,includ:12,inferno:12,instal:[12,20],interact:12,interfac:3,intermedi:12,internet:12,introduct:15,iter:12,ivl:12,java:10,javascript:12,julia:12,jvm:12,keyword:[11,18],known:12,languag:[9,12,21,23],level:0,lexer:[0,3,11,12,15],like:12,line:[3,15],lispi:12,list:[1,11,17],liter:18,lookup:15,macro:12,mail:12,make:21,makefil:12,man:12,markdown:9,markup:[12,23],matlab:12,microsoft:12,mime:12,misc:12,model:12,modifi:11,modula:12,moinmoin:13,mont:12,multi:12,multipl:11,multipurpos:12,mxml:12,name:[3,18,21],ncar:12,net:12,nim:12,nimrod:12,nit:12,nix:12,nixo:12,non:12,notat:12,note:3,oberon:12,object:12,onc:11,ooc:12,oper:[12,18],option:[0,3,7,15],orient:12,other:[9,12,23],output:12,over:12,own:[4,6,11,17],packag:[12,20],page:12,parasail:12,parser:12,pascal:12,patch:12,pawn:12,perl:12,php:12,plot:12,plugin:14,poni:12,praat:12,pro:12,process:[0,12,21],program:[12,21,23],prolog:12,proto:12,prove:12,punctuat:18,pygment:[0,2,8,9,10,12,13,16,21],python:12,queri:12,quickstart:[6,15],qvt:12,raw:12,rdf:12,rebol:12,regex:11,regexlex:11,regist:14,relat:12,relax:12,report:21,requir:21,resourc:12,rest:16,riverb:12,roboconf:12,robot:12,rubi:12,rule:17,rust:12,scan:11,scdoc:12,scenario:9,schema:12,script:12,semant:12,session:12,sgf:12,shell:12,similar:12,simpl:12,slash:12,smalltalk:12,smart:12,smv:12,snobol:12,solid:12,sourc:[12,20],special:12,specif:12,sql:12,stata:12,state:11,stream:11,stuff:12,style:[3,6,12,17,21],stylesheet:12,subclass:[4,11],suggest:21,supercollid:12,support:[21,23],syntax:12,system:[12,21],tcl:12,templat:[12,23],tera:12,term:12,termin:17,test:[11,12],text:12,textmat:9,than:12,theorem:12,thi:21,token:[11,18],trafficscript:12,trick:11,typoscript:12,ucod:12,unicod:19,unicon:12,urbiscript:12,usag:15,use:21,uses:21,variou:[9,12],varnish:12,verif:12,version:[2,20],visual:12,want:21,web:12,welcom:22,what:21,where:21,whilei:12,who:21,wrapper:9,write:[4,6,11],x10:12,xml:12,xorg:12,your:[4,6,11],zig:12}})
\ No newline at end of file
<p>This documentation is for version <b>{{ version }}</b>, which is
not released yet.</p>
<p>You can use it from the
- <a href="http://github.com/pygments/pygments/">Git repo</a> or look for
- released versions in the <a href="http://pypi.python.org/pypi/Pygments">Python
+ <a href="https://github.com/pygments/pygments/">Git repo</a> or look for
+ released versions in the <a href="https://pypi.python.org/pypi/Pygments">Python
Package Index</a>.</p>
{% else %}
<p>Current version: <b>{{ version }}</b></p>
-<p>Get Pygments from the <a href="http://pypi.python.org/pypi/Pygments">Python Package
+<p>Get Pygments from the <a href="https://pypi.python.org/pypi/Pygments">Python Package
Index</a>, or install it with:</p>
<pre>pip install Pygments</pre>
{% endif %}
<p>You can also open an issue at the
<a href="https://github.com/pygments/pygments/issues">tracker</a>.</p>
-<p class="logo">A <a href="http://pocoo.org/">
+<p class="logo">A <a href="https://pocoo.org/">
<img src="{{ pathto("_static/pocoo.png", 1) }}" /></a> project</a></p>
{% block relbar2 %}{% endblock %}
{% block extrahead %}
- <link href='http://fonts.googleapis.com/css?family={{ theme_font|replace(' ', '+') }}:300,400,700'
+ <link href='https://fonts.googleapis.com/css?family={{ theme_font|replace(' ', '+') }}:300,400,700'
rel='stylesheet' type='text/css'>
{{ super() }}
{%- if not embedded %}
{% block footer %}
<div class="footer" role="contentinfo">
© Copyright 2006-2019, Georg Brandl and Pygments contributors.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> {{
+ Created using <a href="https://sphinx-doc.org/">Sphinx</a> {{
sphinx_version }}. <br/>
- Pygments logo created by <a href="http://joelunger.com">Joel Unger</a>.
- Backgrounds from <a href="http://subtlepatterns.com">subtlepatterns.com</a>.
+ Pygments logo created by <a href="https://joelunger.com">Joel Unger</a>.
+ Backgrounds from <a href="https://subtlepatterns.com">subtlepatterns.com</a>.
</div>
</div> {# closes "outerwrapper" div #}
{% endblock %}
authors
If you find bugs or have suggestions for the documentation, please submit them
-on `GitHub <https://github.com/pygments/pygments>`.
+on `GitHub <https://github.com/pygments/pygments>`_.
:file:`external/markdown-processor.py`. You can copy and adapt it to your
liking.
-.. _Markdown: http://www.freewisdom.org/projects/python-markdown/
+.. _Markdown: https://pypi.org/project/Markdown/
TextMate
--------
Antonio Cangiano has created a Pygments bundle for TextMate that allows to
colorize code via a simple menu option. It can be found here_.
-.. _here: http://antoniocangiano.com/2008/10/28/pygments-textmate-bundle/
+.. _here: https://programmingzen.com/pygments-textmate-bundle/
Bash completion
---------------
Use Pygments in Java
=====================
-Thanks to `Jython <http://www.jython.org>`_ it is possible to use Pygments in
+Thanks to `Jython <https://www.jython.org/>`_ it is possible to use Pygments in
Java.
This page is a simple tutorial to get an idea of how this works. You can
-then look at the `Jython documentation <http://www.jython.org/docs/>`_ for more
+then look at the `Jython documentation <https://jython.readthedocs.io/en/latest/>`_ for more
advanced uses.
Since version 1.5, Pygments is deployed on `Maven Central
-<http://repo1.maven.org/maven2/org/pygments/pygments/>`_ as a JAR, as is Jython
+<https://repo1.maven.org/maven2/org/pygments/pygments/>`_ as a JAR, as is Jython
which makes it a lot easier to create a Java project.
-Here is an example of a `Maven <http://www.maven.org>`_ ``pom.xml`` file for a
+Here is an example of a `Maven <https://maven.apache.org/>`_ ``pom.xml`` file for a
project running Pygments:
.. sourcecode:: xml
.. code-block:: console
- $ pygmentize -l your_lexer_file.py -x
+ $ python -m pygments -l your_lexer_file.py -x
To specify a class name other than CustomLexer, append it with a colon:
.. code-block:: console
- $ pygmentize -l your_lexer.py:SomeLexer -x
+ $ python -m pygments -l your_lexer.py:SomeLexer -x
Or, using the Python API:
.. code-block:: console
- $ cd .../pygments-main
+ $ cd pygments
Select a matching module under ``pygments/lexers``, or create a new module for
your lexer class.
``tests/examplefiles``. For example, to test your ``DiffLexer``, add a
``tests/examplefiles/example.diff`` containing a sample diff output.
-Now you can use pygmentize to render your example to HTML:
+Now you can use ``python -m pygments`` from the current root of the checkout to
+render your example to HTML:
.. code-block:: console
- $ ./pygmentize -O full -f html -o /tmp/example.html tests/examplefiles/example.diff
+ $ python -m pygments -O full -f html -o /tmp/example.html tests/examplefiles/example.diff
-Note that this explicitly calls the ``pygmentize`` in the current directory
-by preceding it with ``./``. This ensures your modifications are used.
-Otherwise a possibly already installed, unmodified version without your new
-lexer would have been called from the system search path (``$PATH``).
+Note that this explicitly calls the ``pygments`` module in the current
+directory. This ensures your modifications are used. Otherwise a possibly
+already installed, unmodified version without your new lexer would have been
+called from the system search path (``$PATH``).
To view the result, open ``/tmp/example.html`` in your browser.
expression flags see the page about `regular expressions`_ in the Python
documentation.
-.. _regular expressions: http://docs.python.org/library/re.html#regular-expression-syntax
+.. _regular expressions: https://docs.python.org/library/re.html#regular-expression-syntax
Scanning multiple tokens at once
can set the ``INLINESTYLES`` option to True.
-.. _Moin: http://moinmoin.wikiwikiweb.de/
+.. _Moin: https://moinmo.in/
et al.), you can use `setuptools`_ entrypoints to add new lexers, formatters
or styles as if they were in the Pygments core.
-.. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools
+.. _setuptools: https://pypi.org/project/setuptools/
That means you can use your highlighter modules with the `pygmentize` script,
which relies on the mentioned functions.
covered in the `setuptools documentation`_. That page should cover everything
you need to write a plugin.
-.. _setuptools documentation: http://peak.telecommunity.com/DevCenter/setuptools
+.. _setuptools documentation: https://setuptools.readthedocs.io/en/latest/
Extending The Core
``.. code::`` directives and highlights the contents in the specified language
if the `handlecodeblocks` option is true.
-.. _ReST: http://docutils.sf.net/rst.html
+.. _ReST: https://docutils.sourceforge.io/rst.html
-----------------
You can download it `from the Python Package Index
-<http://pypi.python.org/pypi/Pygments>`_. For installation of packages from
-PyPI, we recommend `Pip <http://www.pip-installer.org>`_, which works on all
+<https://pypi.python.org/pypi/Pygments>`_. For installation of packages from
+PyPI, we recommend `Pip <https://www.pip-installer.org>`_, which works on all
major platforms.
Under Linux, most distributions include a package for Pygments, usually called
This is an (incomplete) list of projects and sites known to use the Pygments highlighter.
-* `Wikipedia <http://en.wikipedia.org>`_
-* `BitBucket <http://bitbucket.org/>`_, a Mercurial and Git hosting site
-* `The Sphinx documentation builder <http://sphinx.pocoo.org/>`_, for embedded source examples
-* `rst2pdf <http://code.google.com/p/rst2pdf/>`_, a reStructuredText to PDF converter
-* `Codecov <http://codecov.io/>`_, a code coverage CI service
-* `Trac <http://trac.edgewall.org/>`_, the universal project management tool
-* `AsciiDoc <http://www.methods.co.nz/asciidoc/>`_, a text-based documentation generator
-* `ActiveState Code <http://code.activestate.com/>`_, the Python Cookbook successor
+* `Wikipedia <https://en.wikipedia.org/>`_
+* `BitBucket <https://bitbucket.org/>`_, a Mercurial and Git hosting site
+* `The Sphinx documentation builder <https://sphinx-doc.org/>`_, for embedded source examples
+* `rst2pdf <https://github.com/ralsina/rst2pdf>`_, a reStructuredText to PDF converter
+* `Codecov <https://codecov.io/>`_, a code coverage CI service
+* `Trac <https://trac.edgewall.org/>`_, the universal project management tool
+* `AsciiDoc <https://www.methods.co.nz/asciidoc/>`_, a text-based documentation generator
+* `ActiveState Code <https://code.activestate.com/>`_, the Python Cookbook successor
* `ViewVC <http://viewvc.org/>`_, a web-based version control repository browser
-* `BzrFruit <http://repo.or.cz/w/bzrfruit.git>`_, a Bazaar branch viewer
+* `BzrFruit <https://repo.or.cz/w/bzrfruit.git>`_, a Bazaar branch viewer
* `QBzr <http://bazaar-vcs.org/QBzr>`_, a cross-platform Qt-based GUI front end for Bazaar
-* `Review Board <http://www.review-board.org/>`_, a collaborative code reviewing tool
-* `Diamanda <http://code.google.com/p/diamanda/>`_, a Django powered wiki system with support for Pygments
+* `Review Board <https://www.reviewboard.org/>`_, a collaborative code reviewing tool
+* `Diamanda <https://code.google.com/archive/p/diamanda/>`_, a Django powered wiki system with support for Pygments
* `Progopedia <http://progopedia.ru/>`_ (`English <http://progopedia.com/>`_),
an encyclopedia of programming languages
-* `Bruce <http://r1chardj0n3s.googlepages.com/bruce>`_, a reStructuredText presentation tool
+* `Bruce <https://sites.google.com/site/r1chardj0n3s/bruce>`_, a reStructuredText presentation tool
* `PIDA <http://pida.co.uk/>`_, a universal IDE written in Python
-* `BPython <http://www.noiseforfree.com/bpython/>`_, a curses-based intelligent Python shell
-* `PuDB <http://pypi.python.org/pypi/pudb>`_, a console Python debugger
-* `XWiki <http://www.xwiki.org/>`_, a wiki-based development framework in Java, using Jython
+* `BPython <https://bpython-interpreter.org/>`_, a curses-based intelligent Python shell
+* `PuDB <https://pypi.org/project/pudb/>`_, a console Python debugger
+* `XWiki <https://www.xwiki.org/>`_, a wiki-based development framework in Java, using Jython
* `roux <http://ananelson.com/software/roux/>`_, a script for running R scripts
and creating beautiful output including graphs
* `hurl <http://hurl.it/>`_, a web service for making HTTP requests
* `wxHTMLPygmentizer <http://colinbarnette.net/projects/wxHTMLPygmentizer>`_ is
a GUI utility, used to make code-colorization easier
-* `Postmarkup <http://code.google.com/p/postmarkup/>`_, a BBCode to XHTML generator
+* `Postmarkup <https://code.google.com/archive/p/postmarkup/>`_, a BBCode to XHTML generator
* `WpPygments <http://blog.mirotin.net/?page_id=49>`_, and `WPygments
<https://github.com/capynet/WPygments>`_, highlighter plugins for WordPress
* `Siafoo <http://siafoo.net>`_, a tool for sharing and storing useful code and programming experience
* `D source <http://www.dsource.org/>`_, a community for the D programming language
* `dpaste.com <http://dpaste.com/>`_, another Django pastebin
-* `Django snippets <http://www.djangosnippets.org/>`_, a pastebin for Django code
+* `Django snippets <https://djangosnippets.org/>`_, a pastebin for Django code
* `Fayaa <http://www.fayaa.com/code/>`_, a Chinese pastebin
* `Incollo.com <http://incollo.com>`_, a free collaborative debugging tool
-* `PasteBox <http://p.boxnet.eu/>`_, a pastebin focused on privacy
+* `PasteBox <https://p.boxnet.eu/>`_, a pastebin focused on privacy
* `hilite.me <http://www.hilite.me/>`_, a site to highlight code snippets
* `patx.me <http://patx.me/paste>`_, a pastebin
* `Fluidic <https://github.com/richsmith/fluidic>`_, an experiment in
* `Spyder <https://www.spyder-ide.org/>`_, the Scientific Python Development
Environment, uses pygments for the multi-language syntax highlighting in its
`editor <https://docs.spyder-ide.org/editor.html>`_.
+* `snippet.host <https://snippet.host>`_, minimal text and code snippet hosting
-If you have a project or web site using Pygments, drop me a line, and I'll add a
-link here.
+If you have a project or web site using Pygments, `open an issue or PR
+<https://github.com/pygments/pygments>`_ and we'll add a line here.
use in code hosting, forums, wikis or other applications that need to prettify
source code. Highlights are:
-* a wide range of over 300 languages and other text formats is supported
+* a wide range of over 500 languages and other text formats is supported
* special attention is paid to details that increase highlighting quality
* support for new languages and formats are added easily; most languages use a
simple regex-based lexing mechanism
* ... and it highlights even Perl 6!
Read more in the :doc:`FAQ list <faq>` or the :doc:`documentation <docs/index>`,
-or `download the latest release <http://pypi.python.org/pypi/Pygments>`_.
+or `download the latest release <https://pypi.python.org/pypi/Pygments>`_.
.. _contribute:
and **Matthäus Chajdas**.
Many lexers and fixes have been contributed by **Armin Ronacher**, the rest of
-the `Pocoo <http://dev.pocoo.org/>`_ team and **Tim Hatch**.
+the `Pocoo <https://dev.pocoo.org/>`_ team and **Tim Hatch**.
.. toctree::
:maxdepth: 1
* ActionScript
* Ada
+* Agda (incl. literate)
+* `Alloy <https://alloytools.org/>`_
+* `AMPL <https://ampl.com/>`_
* ANTLR
+* APL
* AppleScript
* Assembly (various)
* Asymptote
* `Augeas <http://augeas.net>`_
+* AutoIt
* Awk
* BBC Basic
* Befunge
-* `Boa <http://boa.cs.iastate.edu/docs/index.php>`_
+* BlitzBasic
+* `Boa <https://boa.cs.iastate.edu/docs/>`_
* Boo
+* `Boogie <https://boogie.codeplex.com/>`_
* BrainFuck
-* C, C++
+* C, C++ (incl. dialects like Arduino)
* C#
+* `Chapel <https://chapel-lang.org/>`_
* `Charm++ CI <http://charmplusplus.org/>`_
+* Cirru
+* Clay
+* `Clean <https://clean.cs.ru.nl/Clean>`_
* Clojure
* CoffeeScript
* ColdFusion
* Common Lisp
-* Coq
+* Component Pascal
+* `Coq <https://coq.inria.fr/>`_
+* Croc (MiniD)
* Cryptol (incl. Literate Cryptol)
-* `Crystal <http://crystal-lang.org>`_
-* `Cython <http://cython.org>`_
-* `D <http://dlang.org>`_
+* `Crystal <https://crystal-lang.org>`_
+* Cypher
+* `Cython <https://cython.org>`_
+* `D <https://dlang.org>`_
* Dart
* DCPU-16
* Delphi
-* Dylan
-* `Elm <http://elm-lang.org/>`_
+* Dylan (incl. console)
+* Eiffel
+* `Elm <https://elm-lang.org/>`_
+* Emacs Lisp
* Email
-* Erlang
-* `Ezhil <http://ezhillang.org>`_ Ezhil - A Tamil programming language
+* Erlang (incl. shell sessions)
+* `Ezhil <http://ezhillang.org>`_
* Factor
* Fancy
+* Fantom
* `Fennel <https://fennel-lang.org/>`_
-* `FloScript <http://ioflo.com/>`_
+* `FloScript <https://ioflo.com/>`_
* Fortran
* `FreeFEM++ <https://freefem.org/>`_
* F#
* GAP
* Gherkin (Cucumber)
-* GL shaders
+* GLSL shaders
+* `Golo <https://golo-lang.org/>`_
+* Gosu
* Groovy
-* `Haskell <http://www.haskell.org>`_ (incl. Literate Haskell)
+* `Haskell <https://www.haskell.org/>`_ (incl. Literate Haskell)
+* `Haxe <https://haxe.org>`_
* HLSL
-* `HSpec <http://hackage.haskell.org/package/hspec>`_
+* `HSpec <https://hackage.haskell.org/package/hspec>`_
+* Hy
* IDL
+* Idris (incl. Literate Idris)
+* Igor Pro
* Io
+* Jags
* Java
* JavaScript
-* Lasso
-* LLVM
+* Jasmin
+* Jcl
+* `Julia <https://julialang.org>`_
+* Kotlin
+* Lasso (incl. templating)
+* Limbo
+* LiveScript
+* `LLVM MIR <https://llvm.org/docs/MIRLangRef.html>`_
* Logtalk
-* `Lua <http://www.lua.org>`_
+* Logos
+* `Lua <https://lua.org>`_
+* Mathematica
* Matlab
-* MiniD
+* `MiniScript <https://miniscript.org>`_
* Modelica
* Modula-2
+* Monkey
+* `Monte <https://monte.readthedocs.io/>`_
+* MoonScript
+* Mosel
* MuPad
+* NASM
* Nemerle
+* NesC
+* NewLISP
* Nimrod
+* `Nit <https://nitlanguage.org/>`_
* Notmuch
+* NuSMV
* Objective-C
* Objective-J
* Octave
* OCaml
+* Opa
+* OpenCOBOL
+* `ParaSail <https://www.parasail-lang.org/>`_
+* Pawn
* PHP
-* `Perl 5 <http://perl.org>`_ and `Perl 6 <https://perl6.org>`_
+* `Perl 5 <https://perl.org>`_
+* Pike
* `Pony <https://www.ponylang.io/>`_
* PovRay
* PostScript
* PowerShell
+* `Praat <http://www.praat.org>`_
* Prolog
-* `Python <http://www.python.org>`_ 2.x and 3.x (incl. console sessions and tracebacks)
+* `Python <https://python.org/>`_ 2.x and 3.x (incl. console sessions and
+ tracebacks)
+* QBasic
+* `Racket <https://racket-lang.org/>`_
+* `Raku <https://www.raku.org/>`_ a.k.a. Perl 6
+* `ReasonML <https://reasonml.github.io/>`_
* `REBOL <http://www.rebol.com>`_
-* `Red <http://www.red-lang.org>`_
+* `Red <https://www.red-lang.org>`_
* Redcode
-* `Ruby <http://www.ruby-lang.org>`_ (incl. irb sessions)
-* Rust
+* Rexx
+* Ride
+* `Ruby <https://www.ruby-lang.org>`_ (incl. irb sessions)
+* `Rust <https://rust-lang.org>`_
* S, S-Plus, R
* Scala
* `Scdoc <https://git.sr.ht/~sircmpwn/scdoc>`_
* Scheme
* Scilab
* `SGF <https://www.red-bean.com/sgf/>`_
+* Shell scripts (Bash, Tcsh, Fish)
+* `Shen <http://shenlanguage.org/>`_
+* Silver
* `Slash <https://github.com/arturadib/Slash-A>`_
* `Slurm <https://slurm.schedmd.com/overview.html>`_
* Smalltalk
* SNOBOL
+* `Snowball <https://snowballstem.org/>`_
* `Solidity <https://solidity.readthedocs.io/>`_
+* SourcePawn
+* `Stan <https://mc-stan.org/>`_
+* Standard ML
+* Stata
+* Swift
+* Swig
+* `SuperCollider <https://supercollider.github.io/>`_
* Tcl
* `Tera Term language <https://ttssh2.osdn.jp/>`_
-* `TOML <https://github.com/toml-lang/toml>`_
+* TypeScript
+* TypoScript
+* `USD <https://graphics.pixar.com/usd/docs/index.html>`_
+* Unicon
+* Urbiscript
* Vala
-* Verilog
+* VBScript
+* Verilog, SystemVerilog
* VHDL
* Visual Basic.NET
* Visual FoxPro
+* `Whiley <http://whiley.org/>`_
+* `Xtend <https://www.eclipse.org/xtend/>`_
* XQuery
* `Zeek <https://www.zeek.org>`_
* Zephir
Template languages
------------------
+* Angular templates
* Cheetah templates
-* `Django <http://www.djangoproject.com>`_ / `Jinja
- <http://jinja.pocoo.org/jinja>`_ templates
+* ColdFusion
+* `Django <https://www.djangoproject.com>`_ / `Jinja
+ <https://jinja.pocoo.org/jinja>`_ templates
* ERB (Ruby templating)
-* `Genshi <http://genshi.edgewall.org>`_ (the Trac template language)
+* Evoque
+* `Genshi <https://genshi.edgewall.org>`_ (the Trac template language)
+* Handlebars
* JSP (Java Server Pages)
-* `Myghty <http://www.myghty.org>`_ (the HTML::Mason based framework)
-* `Mako <http://www.makotemplates.org>`_ (the Myghty successor)
-* `Smarty <http://www.smarty.net>`_ templates (PHP templating)
+* Liquid
+* `Myghty <https://pypi.org/project/Myghty/>`_ (the HTML::Mason based framework)
+* `Mako <https://www.makotemplates.org>`_ (the Myghty successor)
+* Slim
+* `Smarty <https://www.smarty.net>`_ templates (PHP templating)
* Tea
+* `Twig <https://twig.symfony.com/>`_
Other markup
------------
* Apache config files
-* Bash shell scripts
+* Apache Pig
* BBCode
+* CapDL
+* `Cap'n Proto <https://capnproto.com>`_
* CMake
+* `Csound <https://csound.com>`_ scores
* CSS
* Debian control files
* Diff files
+* Dockerfiles
* DTD
+* EBNF
+* E-mail headers
+* Extempore
+* Flatline
* Gettext catalogs
* Gnuplot script
* Groff markup
+* Hexdumps
* HTML
* HTTP sessions
+* IDL
+* Inform
* INI-style config files
* IRC logs (irssi style)
+* Isabelle
+* JSGF notation
+* JSON, JSON-LD
+* Lean theorem prover
* Lighttpd config files
+* Linux kernel log (dmesg)
+* LLVM assembly
+* LSL scripts
* Makefiles
* MoinMoin/Trac Wiki markup
+* MQL
* MySQL
+* NCAR command language
* Nginx config files
+* `Nix language <https://nixos.org/nix/>`_
+* NSIS scripts
+* Notmuch
+* `PEG <https://bford.info/packrat/>`_
* POV-Ray scenes
+* `Puppet <https://puppet.com/>`_
+* QML
* Ragel
* Redcode
* ReST
+* `Roboconf <http://roboconf.net/en/roboconf.html>`_
* Robot Framework
* RPM spec files
+* Rql
+* RSL
+* Scdoc
+* Sieve
+* SPARQL
* SQL, also MySQL, SQLite
* Squid configuration
+* TADS 3
+* Terraform
* TeX
-* tcsh
+* `Thrift <https://thrift.apache.org/>`_
+* `TOML <https://github.com/toml-lang/toml>`_
+* Treetop grammars
+* USD (Universal Scene Description)
+* Varnish configs
+* VGL
* Vim Script
+* WDiff
+* Web IDL
* Windows batch files
* XML
* XSLT
* YAML
+* Windows Registry files
... that's all?
---------------
Well, why not write your own? Contributing to Pygments is easy and fun. Take a
look at the :doc:`docs on lexer development <docs/lexerdevelopment>`. Pull
-requests are welcome on `GitHub <https://github.com/pygments/pygments>`.
+requests are welcome on `GitHub <https://github.com/pygments/pygments>`_.
Note: the languages listed here are supported in the development version. The
latest release may lack a few of them.
Look at the `directive documentation`_ to get all the gory details.
- .. _Docutils: http://docutils.sf.net/
+ .. _Docutils: https://docutils.sourceforge.io/
.. _directive documentation:
- http://docutils.sourceforge.net/docs/howto/rst-directives.html
+ https://docutils.sourceforge.io/docs/howto/rst-directives.html
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
:license: BSD, see LICENSE for details.
"""
import sys
+from io import StringIO, BytesIO
-from pygments.util import StringIO, BytesIO
-
-__version__ = '2.5.2'
+__version__ = '2.6.0'
__docformat__ = 'restructuredtext'
__all__ = ['lex', 'format', 'highlight']
"""
return format(lex(code, lexer), formatter, outfile)
-
-if __name__ == '__main__': # pragma: no cover
- from pygments.cmdline import main
- sys.exit(main(sys.argv))
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import os
import sys
import getopt
from pygments import __version__, highlight
from pygments.util import ClassNotFound, OptionError, docstring_headline, \
- guess_decode, guess_decode_from_terminal, terminal_encoding
+ guess_decode, guess_decode_from_terminal, terminal_encoding, \
+ UnclosingTextIOWrapper
from pygments.lexers import get_all_lexers, get_lexer_by_name, guess_lexer, \
load_lexer_from_file, get_lexer_for_filename, find_lexer_class_for_filename
from pygments.lexers.special import TextLexer
# custom lexer, located relative to user's cwd
if allow_custom_lexer_formatter and '.py' in lexername:
try:
+ filename = None
+ name = None
if ':' in lexername:
filename, name = lexername.rsplit(':', 1)
+
+ if '.py' in name:
+ # This can happen on Windows: If the lexername is
+ # C:\lexer.py -- return to normal load path in that case
+ name = None
+
+ if filename and name:
lexer = load_lexer_from_file(filename, name,
**parsed_opts)
else:
elif '-s' not in opts: # treat stdin as full file (-s support is later)
# read code from terminal, always in binary mode since we want to
# decode ourselves and be tolerant with it
- if sys.version_info > (3,):
- # Python 3: we have to use .buffer to get a binary stream
- code = sys.stdin.buffer.read()
- else:
- code = sys.stdin.read()
+ code = sys.stdin.buffer.read() # use .buffer to get a binary stream
if not inencoding:
code, inencoding = guess_decode_from_terminal(code, sys.stdin)
# else the lexer will do the decoding
# custom formatter, located relative to user's cwd
if allow_custom_lexer_formatter and '.py' in fmter:
try:
+ filename = None
+ name = None
if ':' in fmter:
- file, fmtername = fmter.rsplit(':', 1)
- fmter = load_formatter_from_file(file, fmtername,
- **parsed_opts)
+ # Same logic as above for custom lexer
+ filename, name = fmter.rsplit(':', 1)
+
+ if '.py' in name:
+ name = None
+
+ if filename and name:
+ fmter = load_formatter_from_file(filename, name,
+ **parsed_opts)
else:
fmter = load_formatter_from_file(fmter, **parsed_opts)
except ClassNotFound as err:
fmter = Terminal256Formatter(**parsed_opts)
else:
fmter = TerminalFormatter(**parsed_opts)
- if sys.version_info > (3,):
- # Python 3: we have to use .buffer to get a binary stream
- outfile = sys.stdout.buffer
- else:
- outfile = sys.stdout
+ outfile = sys.stdout.buffer
# determine output encoding if not explicitly selected
if not outencoding:
if not outfn and sys.platform in ('win32', 'cygwin') and \
fmter.name in ('Terminal', 'Terminal256'): # pragma: no cover
# unfortunately colorama doesn't support binary streams on Py3
- if sys.version_info > (3,):
- from pygments.util import UnclosingTextIOWrapper
- outfile = UnclosingTextIOWrapper(outfile, encoding=fmter.encoding)
- fmter.encoding = None
+ outfile = UnclosingTextIOWrapper(outfile, encoding=fmter.encoding)
+ fmter.encoding = None
try:
import colorama.initialise
except ImportError:
# line by line processing of stdin (eg: for 'tail -f')...
try:
while 1:
- if sys.version_info > (3,):
- # Python 3: we have to use .buffer to get a binary stream
- line = sys.stdin.buffer.readline()
- else:
- line = sys.stdin.readline()
+ line = sys.stdin.buffer.readline()
if not line:
break
if not inencoding:
})
-class Filter(object):
+class Filter:
"""
Default filter. Subclass this class or use the `simplefilter`
decorator to create own filters.
string_to_tokentype
from pygments.filter import Filter
from pygments.util import get_list_opt, get_int_opt, get_bool_opt, \
- get_choice_opt, ClassNotFound, OptionError, text_type, string_types
+ get_choice_opt, ClassNotFound, OptionError
from pygments.plugin import find_plugin_filters
Filter.__init__(self, **options)
case = get_choice_opt(options, 'case',
['lower', 'upper', 'capitalize'], 'lower')
- self.convert = getattr(text_type, case)
+ self.convert = getattr(str, case)
def filter(self, lexer, stream):
for ttype, value in stream:
('tabs', u'»'),
('newlines', u'¶')]:
opt = options.get(name, False)
- if isinstance(opt, string_types) and len(opt) == 1:
+ if isinstance(opt, str) and len(opt) == 1:
setattr(self, name, opt)
else:
setattr(self, name, (opt and default or ''))
tabs = self.tabs or u'\t'
newlines = self.newlines or u'\n'
regex = re.compile(r'\s')
+
def replacefunc(wschar):
if wschar == ' ':
return spaces
def filter(self, lexer, stream):
n = self.n
- left = n # How many characters left to gobble.
+ left = n # How many characters left to gobble.
for ttype, value in stream:
# Remove ``left`` tokens from first line, ``n`` from all others.
parts = value.split('\n')
import codecs
-from pygments.util import get_bool_opt, string_types
+from pygments.util import get_bool_opt
from pygments.styles import get_style_by_name
__all__ = ['Formatter']
def _lookup_style(style):
- if isinstance(style, string_types):
+ if isinstance(style, str):
return get_style_by_name(style)
return style
-class Formatter(object):
+class Formatter:
"""
Converts a token stream to text.
from pygments.formatters._mapping import FORMATTERS
from pygments.plugin import find_plugin_formatters
-from pygments.util import ClassNotFound, itervalues
+from pygments.util import ClassNotFound
__all__ = ['get_formatter_by_name', 'get_formatter_for_filename',
'get_all_formatters', 'load_formatter_from_file'] + list(FORMATTERS)
def get_all_formatters():
"""Return a generator for all formatter classes."""
# NB: this returns formatter classes, not info like get_all_lexers().
- for info in itervalues(FORMATTERS):
+ for info in FORMATTERS.values():
if info[1] not in _formatter_cache:
_load_formatters(info[0])
yield _formatter_cache[info[1]]
Returns None if not found.
"""
- for module_name, name, aliases, _, _ in itervalues(FORMATTERS):
+ for module_name, name, aliases, _, _ in FORMATTERS.values():
if alias in aliases:
if name not in _formatter_cache:
_load_formatters(module_name)
Raises ClassNotFound if not found.
"""
fn = basename(fn)
- for modname, name, _, filenames, _ in itervalues(FORMATTERS):
+ for modname, name, _, filenames, _ in FORMATTERS.values():
for filename in filenames:
if _fn_matches(fn, filename):
if name not in _formatter_cache:
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
FORMATTERS = {
'BBCodeFormatter': ('pygments.formatters.bbcode', 'BBCode', ('bbcode', 'bb'), (), 'Format tokens with BBcodes. These formatting codes are used by many bulletin boards, so you can highlight your sourcecode with pygments before posting it there.'),
'BmpImageFormatter': ('pygments.formatters.img', 'img_bmp', ('bmp', 'bitmap'), ('*.bmp',), 'Create a bitmap image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'),
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import os
import sys
import os.path
+from io import StringIO
from pygments.formatter import Formatter
from pygments.token import Token, Text, STANDARD_TYPES
-from pygments.util import get_bool_opt, get_int_opt, get_list_opt, \
- StringIO, string_types, iteritems
+from pygments.util import get_bool_opt, get_int_opt, get_list_opt
try:
import ctags
"""Escape &, <, > as well as single and double quotes for HTML."""
return text.translate(table)
+
def webify(color):
if color.startswith('calc') or color.startswith('var'):
return color
else:
return '#' + color
+
def _get_ttype_class(ttype):
fname = STANDARD_TYPES.get(ttype)
if fname:
CSSFILE_TEMPLATE = '''\
/*
-generated by Pygments <http://pygments.org>
+generated by Pygments <https://pygments.org/>
Copyright 2006-2019 by the Pygments team.
Licensed under the BSD license, see LICENSE for details.
*/
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!--
-generated by Pygments <http://pygments.org>
+generated by Pygments <https://pygments.org/>
Copyright 2006-2019 by the Pygments team.
Licensed under the BSD license, see LICENSE for details.
-->
"""
if arg is None:
arg = ('cssclass' in self.options and '.'+self.cssclass or '')
- if isinstance(arg, string_types):
+ if isinstance(arg, str):
args = [arg]
else:
args = list(arg)
return ', '.join(tmp)
styles = [(level, ttype, cls, style)
- for cls, (style, ttype, level) in iteritems(self.class2style)
+ for cls, (style, ttype, level) in self.class2style.items()
if cls and style]
styles.sort()
lines = ['%s { %s } /* %s */' % (prefix(cls), style, repr(ttype)[6:])
from pygments.formatter import Formatter
from pygments.util import get_bool_opt, get_int_opt, get_list_opt, \
- get_choice_opt, xrange
+ get_choice_opt
import subprocess
"""When there are no usable fonts specified"""
-class FontManager(object):
+class FontManager:
"""
Manages a set of fonts: normal, italic, bold, etc...
"""
return None
def _create_win(self):
- try:
- key = _winreg.OpenKey(
- _winreg.HKEY_LOCAL_MACHINE,
- r'Software\Microsoft\Windows NT\CurrentVersion\Fonts')
- except EnvironmentError:
+ lookuperror = None
+ keynames = [ (_winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows NT\CurrentVersion\Fonts'),
+ (_winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Fonts'),
+ (_winreg.HKEY_LOCAL_MACHINE, r'Software\Microsoft\Windows NT\CurrentVersion\Fonts'),
+ (_winreg.HKEY_LOCAL_MACHINE, r'Software\Microsoft\Windows\CurrentVersion\Fonts') ]
+ for keyname in keynames:
try:
- key = _winreg.OpenKey(
- _winreg.HKEY_LOCAL_MACHINE,
- r'Software\Microsoft\Windows\CurrentVersion\Fonts')
+ key = _winreg.OpenKey(*keyname)
+ try:
+ path = self._lookup_win(key, self.font_name, STYLES['NORMAL'], True)
+ self.fonts['NORMAL'] = ImageFont.truetype(path, self.font_size)
+ for style in ('ITALIC', 'BOLD', 'BOLDITALIC'):
+ path = self._lookup_win(key, self.font_name, STYLES[style])
+ if path:
+ self.fonts[style] = ImageFont.truetype(path, self.font_size)
+ else:
+ if style == 'BOLDITALIC':
+ self.fonts[style] = self.fonts['BOLD']
+ else:
+ self.fonts[style] = self.fonts['NORMAL']
+ return
+ except FontNotFound as err:
+ lookuperror = err
+ finally:
+ _winreg.CloseKey(key)
except EnvironmentError:
- raise FontNotFound('Can\'t open Windows font registry key')
- try:
- path = self._lookup_win(key, self.font_name, STYLES['NORMAL'], True)
- self.fonts['NORMAL'] = ImageFont.truetype(path, self.font_size)
- for style in ('ITALIC', 'BOLD', 'BOLDITALIC'):
- path = self._lookup_win(key, self.font_name, STYLES[style])
- if path:
- self.fonts[style] = ImageFont.truetype(path, self.font_size)
- else:
- if style == 'BOLDITALIC':
- self.fonts[style] = self.fonts['BOLD']
- else:
- self.fonts[style] = self.fonts['NORMAL']
- finally:
- _winreg.CloseKey(key)
+ pass
+ else:
+ # If we get here, we checked all registry keys and had no luck
+ # We can be in one of two situations now:
+ # * All key lookups failed. In this case lookuperror is None and we
+ # will raise a generic error
+ # * At least one lookup failed with a FontNotFound error. In this
+ # case, we will raise that as a more specific error
+ if lookuperror:
+ raise lookuperror
+ raise FontNotFound('Can\'t open Windows font registry key')
def get_char_size(self):
"""
"""
if not self.line_numbers:
return
- for p in xrange(self.maxlineno):
+ for p in range(self.maxlineno):
n = p + self.line_number_start
if (n % self.line_number_step) == 0:
self._draw_linenumber(p, n)
:license: BSD, see LICENSE for details.
"""
-from __future__ import division
+from io import StringIO
from pygments.formatter import Formatter
from pygments.lexer import Lexer
from pygments.token import Token, STANDARD_TYPES
-from pygments.util import get_bool_opt, get_int_opt, StringIO, xrange, \
- iteritems
+from pygments.util import get_bool_opt, get_int_opt
__all__ = ['LatexFormatter']
"""
cp = self.commandprefix
styles = []
- for name, definition in iteritems(self.cmd2def):
+ for name, definition in self.cmd2def.items():
styles.append(r'\expandafter\def\csname %s@tok@%s\endcsname{%s}' %
(cp, name, definition))
return STYLE_TEMPLATE % {'cp': self.commandprefix,
if self.texcomments:
# Try to guess comment starting lexeme and escape it ...
start = value[0:1]
- for i in xrange(1, len(value)):
+ for i in range(1, len(value)):
if start[0] != value[i]:
break
start += value[i]
"""
from pygments.formatter import Formatter
+from pygments.token import Comment
from pygments.util import get_bool_opt, get_int_opt
__all__ = ['SvgFormatter']
The value to give the wrapping ``<g>`` element's ``font-size``
attribute, defaults to ``"14px"``.
+ `linenos`
+ If ``True``, add line numbers (default: ``False``).
+
+ `linenostart`
+ The line number for the first line (default: ``1``).
+
+ `linenostep`
+ If set to a number n > 1, only every nth line number is printed.
+
+ `linenowidth`
+ Maximum width devoted to line numbers (default: ``3*ystep``, sufficient
+ for up to 4-digit line numbers. Increase width for longer code blocks).
+
`xoffset`
Starting offset in X direction, defaults to ``0``.
self.yoffset = get_int_opt(options, 'yoffset', int_fs)
self.ystep = get_int_opt(options, 'ystep', int_fs + 5)
self.spacehack = get_bool_opt(options, 'spacehack', True)
+ self.linenos = get_bool_opt(options,'linenos',False)
+ self.linenostart = get_int_opt(options,'linenostart',1)
+ self.linenostep = get_int_opt(options,'linenostep',1)
+ self.linenowidth = get_int_opt(options,'linenowidth', 3*self.ystep)
self._stylecache = {}
def format_unencoded(self, tokensource, outfile):
outfile.write('<svg xmlns="http://www.w3.org/2000/svg">\n')
outfile.write('<g font-family="%s" font-size="%s">\n' %
(self.fontfamily, self.fontsize))
- outfile.write('<text x="%s" y="%s" xml:space="preserve">' % (x, y))
+
+ counter = self.linenostart
+ counter_step = self.linenostep
+ counter_style = self._get_style(Comment)
+ line_x = x
+
+ if self.linenos:
+ if counter % counter_step == 0:
+ outfile.write('<text x="%s" y="%s" %s text-anchor="end">%s</text>' % (x+self.linenowidth,y,counter_style,counter))
+ line_x += self.linenowidth + self.ystep
+ counter += 1
+
+ outfile.write('<text x="%s" y="%s" xml:space="preserve">' % (line_x, y))
for ttype, value in tokensource:
style = self._get_style(ttype)
tspan = style and '<tspan' + style + '>' or ''
for part in parts[:-1]:
outfile.write(tspan + part + tspanend)
y += self.ystep
- outfile.write('</text>\n<text x="%s" y="%s" '
- 'xml:space="preserve">' % (x, y))
+ outfile.write('</text>\n')
+ if self.linenos and counter % counter_step == 0:
+ outfile.write('<text x="%s" y="%s" text-anchor="end" %s>%s</text>' % (x+self.linenowidth,y,counter_style,counter))
+
+ counter += 1
+ outfile.write('<text x="%s" y="%s" ' 'xml:space="preserve">' % (line_x,y))
outfile.write(tspan + parts[-1] + tspanend)
outfile.write('</text>')
self._lineno = 0
def format(self, tokensource, outfile):
- # hack: if the output is a terminal and has an encoding set,
- # use that to avoid unicode encode problems
- if not self.encoding and hasattr(outfile, "encoding") and \
- hasattr(outfile, "isatty") and outfile.isatty() and \
- sys.version_info < (3,):
- self.encoding = outfile.encoding
return Formatter.format(self, tokensource, outfile)
def _write_lineno(self, outfile):
class EscapeSequence:
- def __init__(self, fg=None, bg=None, bold=False, underline=False):
+ def __init__(self, fg=None, bg=None, bold=False, underline=False, italic=False):
self.fg = fg
self.bg = bg
self.bold = bold
self.underline = underline
+ self.italic = italic
def escape(self, attrs):
if len(attrs):
attrs.append("01")
if self.underline:
attrs.append("04")
+ if self.italic:
+ attrs.append("03")
return self.escape(attrs)
def true_color_string(self):
attrs.append("01")
if self.underline:
attrs.append("04")
+ if self.italic:
+ attrs.append("03")
return self.escape(attrs)
def reset_string(self):
attrs.append("39")
if self.bg is not None:
attrs.append("49")
- if self.bold or self.underline:
+ if self.bold or self.underline or self.italic:
attrs.append("00")
return self.escape(attrs)
self.usebold = 'nobold' not in options
self.useunderline = 'nounderline' not in options
+ self.useitalic = 'noitalic' not in options
self._build_color_table() # build an RGB-to-256 color conversion table
self._setup_styles() # convert selected style's colors to term. colors
escape.bold = True
if self.useunderline and ndef['underline']:
escape.underline = True
+ if self.useitalic and ndef['italic']:
+ escape.italic = True
self.style_string[str(ttype)] = (escape.color_string(),
escape.reset_string())
def format(self, tokensource, outfile):
- # hack: if the output is a terminal and has an encoding set,
- # use that to avoid unicode encode problems
- if not self.encoding and hasattr(outfile, "encoding") and \
- hasattr(outfile, "isatty") and outfile.isatty() and \
- sys.version_info < (3,):
- self.encoding = outfile.encoding
return Formatter.format(self, tokensource, outfile)
def format_unencoded(self, tokensource, outfile):
escape.bold = True
if self.useunderline and ndef['underline']:
escape.underline = True
+ if self.useitalic and ndef['italic']:
+ escape.italic = True
self.style_string[str(ttype)] = (escape.true_color_string(),
escape.reset_string())
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import re
import sys
import time
from pygments.filters import get_filter_by_name
from pygments.token import Error, Text, Other, _TokenType
from pygments.util import get_bool_opt, get_int_opt, get_list_opt, \
- make_analysator, text_type, add_metaclass, iteritems, Future, guess_decode
+ make_analysator, Future, guess_decode
from pygments.regexopt import regex_opt
__all__ = ['Lexer', 'RegexLexer', 'ExtendedRegexLexer', 'DelegatingLexer',
return type.__new__(mcs, name, bases, d)
-@add_metaclass(LexerMeta)
-class Lexer(object):
+class Lexer(metaclass=LexerMeta):
"""
Lexer for a specific language.
Also preprocess the text, i.e. expand tabs and strip it if
wanted and applies registered filters.
"""
- if not isinstance(text, text_type):
+ if not isinstance(text, str):
if self.encoding == 'guess':
text, _ = guess_decode(text)
elif self.encoding == 'chardet':
pass
-class _inherit(object):
+class _inherit:
"""
Indicates the a state should inherit from its superclass.
"""
pass
-class _PseudoMatch(object):
+class _PseudoMatch:
"""
A pseudo match object constructed from a string.
"""
return callback
-class _This(object):
+class _This:
"""
Special singleton used for indicating the caller class.
Used by ``using``.
"""
+
this = _This()
for c in cls.__mro__:
toks = c.__dict__.get('tokens', {})
- for state, items in iteritems(toks):
+ for state, items in toks.items():
curitems = tokens.get(state)
if curitems is None:
# N.b. because this is assigned by reference, sufficiently
return type.__call__(cls, *args, **kwds)
-@add_metaclass(RegexLexerMeta)
-class RegexLexer(Lexer):
+class RegexLexer(Lexer, metaclass=RegexLexerMeta):
"""
Base for simple stateful regular expression-based lexers.
Simplifies the lexing process so that you need only
break
-class LexerContext(object):
+class LexerContext:
"""
A helper object that holds lexer position data.
"""
return match_func
-@add_metaclass(ProfilingRegexLexerMeta)
-class ProfilingRegexLexer(RegexLexer):
+class ProfilingRegexLexer(RegexLexer, metaclass=ProfilingRegexLexerMeta):
"""Drop-in replacement for RegexLexer that does profiling of its regexes."""
_prof_data = []
from pygments.lexers._mapping import LEXERS
from pygments.modeline import get_filetype_from_buffer
from pygments.plugin import find_plugin_lexers
-from pygments.util import ClassNotFound, itervalues, guess_decode, text_type
+from pygments.util import ClassNotFound, guess_decode
COMPAT = {
'Python3Lexer': 'PythonLexer',
"""Return a generator of tuples in the form ``(name, aliases,
filenames, mimetypes)`` of all know lexers.
"""
- for item in itervalues(LEXERS):
+ for item in LEXERS.values():
yield item[1:]
for lexer in find_plugin_lexers():
yield lexer.name, lexer.aliases, lexer.filenames, lexer.mimetypes
if name in _lexer_cache:
return _lexer_cache[name]
# lookup builtin lexers
- for module_name, lname, aliases, _, _ in itervalues(LEXERS):
+ for module_name, lname, aliases, _, _ in LEXERS.values():
if name == lname:
_load_lexers(module_name)
return _lexer_cache[name]
if not _alias:
raise ClassNotFound('no lexer for alias %r found' % _alias)
# lookup builtin lexers
- for module_name, name, aliases, _, _ in itervalues(LEXERS):
+ for module_name, name, aliases, _, _ in LEXERS.values():
if _alias.lower() in aliases:
if name not in _lexer_cache:
_load_lexers(module_name)
raise ClassNotFound('no lexer for alias %r found' % _alias)
# lookup builtin lexers
- for module_name, name, aliases, _, _ in itervalues(LEXERS):
+ for module_name, name, aliases, _, _ in LEXERS.values():
if _alias.lower() in aliases:
if name not in _lexer_cache:
_load_lexers(module_name)
"""
matches = []
fn = basename(_fn)
- for modname, name, _, filenames, _ in itervalues(LEXERS):
+ for modname, name, _, filenames, _ in LEXERS.values():
for filename in filenames:
if _fn_matches(fn, filename):
if name not in _lexer_cache:
if _fn_matches(fn, filename):
matches.append((cls, filename))
- if sys.version_info > (3,) and isinstance(code, bytes):
+ if isinstance(code, bytes):
# decode it, since all analyse_text functions expect unicode
code = guess_decode(code)
Raises ClassNotFound if not found.
"""
- for modname, name, _, _, mimetypes in itervalues(LEXERS):
+ for modname, name, _, _, mimetypes in LEXERS.values():
if _mime in mimetypes:
if name not in _lexer_cache:
_load_lexers(modname)
def guess_lexer(_text, **options):
"""Guess a lexer by strong distinctions in the text (eg, shebang)."""
- if not isinstance(_text, text_type):
+ if not isinstance(_text, str):
inencoding = options.get('inencoding', options.get('encoding'))
if inencoding:
_text = _text.decode(inencoding or 'utf8')
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
COCOA_INTERFACES = {'UITableViewCell', 'HKCorrelationQuery', 'NSURLSessionDataTask', 'PHFetchOptions', 'NSLinguisticTagger', 'NSStream', 'AVAudioUnitDelay', 'GCMotion', 'SKPhysicsWorld', 'NSString', 'CMAttitude', 'AVAudioEnvironmentDistanceAttenuationParameters', 'HKStatisticsCollection', 'SCNPlane', 'CBPeer', 'JSContext', 'SCNTransaction', 'SCNTorus', 'AVAudioUnitEffect', 'UICollectionReusableView', 'MTLSamplerDescriptor', 'AVAssetReaderSampleReferenceOutput', 'AVMutableCompositionTrack', 'GKLeaderboard', 'NSFetchedResultsController', 'SKRange', 'MKTileOverlayRenderer', 'MIDINetworkSession', 'UIVisualEffectView', 'CIWarpKernel', 'PKObject', 'MKRoute', 'MPVolumeView', 'UIPrintInfo', 'SCNText', 'ADClient', 'PKPayment', 'AVMutableAudioMix', 'GLKEffectPropertyLight', 'WKScriptMessage', 'AVMIDIPlayer', 'PHCollectionListChangeRequest', 'UICollectionViewLayout', 'NSMutableCharacterSet', 'SKPaymentTransaction', 'NEOnDemandRuleConnect', 'NSShadow', 'SCNView', 'NSURLSessionConfiguration', 'MTLVertexAttributeDescriptor', 'CBCharacteristic', 'HKQuantityType', 'CKLocationSortDescriptor', 'NEVPNIKEv2SecurityAssociationParameters', 'CMStepCounter', 'NSNetService', 'AVAssetWriterInputMetadataAdaptor', 'UICollectionView', 'UIViewPrintFormatter', 'SCNLevelOfDetail', 'CAShapeLayer', 'MCPeerID', 'MPRatingCommand', 'WKNavigation', 'NSDictionary', 'NSFileVersion', 'CMGyroData', 'AVAudioUnitDistortion', 'CKFetchRecordsOperation', 'SKPhysicsJointSpring', 'SCNHitTestResult', 'AVAudioTime', 'CIFilter', 'UIView', 'SCNConstraint', 'CAPropertyAnimation', 'MKMapItem', 'MPRemoteCommandCenter', 'PKPaymentSummaryItem', 'UICollectionViewFlowLayoutInvalidationContext', 'UIInputViewController', 'PKPass', 'SCNPhysicsBehavior', 'MTLRenderPassColorAttachmentDescriptor', 'MKPolygonRenderer', 'CKNotification', 'JSValue', 'PHCollectionList', 'CLGeocoder', 'NSByteCountFormatter', 'AVCaptureScreenInput', 'MPFeedbackCommand', 'CAAnimation', 'MKOverlayPathView', 'UIActionSheet', 'UIMotionEffectGroup', 'NSLengthFormatter', 'UIBarItem', 'SKProduct', 'AVAssetExportSession', 'NSKeyedUnarchiver', 'NSMutableSet', 'SCNPyramid', 'PHAssetCollection', 'MKMapView', 'HMHomeManager', 'CATransition', 'MTLCompileOptions', 'UIVibrancyEffect', 'CLCircularRegion', 'MKTileOverlay', 'SCNShape', 'ACAccountCredential', 'SKPhysicsJointLimit', 'MKMapSnapshotter', 'AVMediaSelectionGroup', 'NSIndexSet', 'CBPeripheralManager', 'CKRecordZone', 'AVAudioRecorder', 'NSURL', 'CBCentral', 'NSNumber', 'AVAudioOutputNode', 'MTLVertexAttributeDescriptorArray', 'MKETAResponse', 'SKTransition', 'SSReadingList', 'HKSourceQuery', 'UITableViewRowAction', 'UITableView', 'SCNParticlePropertyController', 'AVCaptureStillImageOutput', 'GCController', 'AVAudioPlayerNode', 'AVAudioSessionPortDescription', 'NSHTTPURLResponse', 'NEOnDemandRuleEvaluateConnection', 'SKEffectNode', 'HKQuantity', 'GCControllerElement', 'AVPlayerItemAccessLogEvent', 'SCNBox', 'NSExtensionContext', 'MKOverlayRenderer', 'SCNPhysicsVehicle', 'NSDecimalNumber', 'EKReminder', 'MKPolylineView', 'CKQuery', 'AVAudioMixerNode', 'GKAchievementDescription', 'EKParticipant', 'NSBlockOperation', 'UIActivityItemProvider', 'CLLocation', 'NSBatchUpdateRequest', 'PHContentEditingOutput', 'PHObjectChangeDetails', 'HKWorkoutType', 'MPMoviePlayerController', 'AVAudioFormat', 'HMTrigger', 'MTLRenderPassDepthAttachmentDescriptor', 'SCNRenderer', 'GKScore', 'UISplitViewController', 'HKSource', 'NSURLConnection', 'ABUnknownPersonViewController', 'SCNTechnique', 'UIMenuController', 'NSEvent', 'SKTextureAtlas', 'NSKeyedArchiver', 'GKLeaderboardSet', 'NSSimpleCString', 'AVAudioPCMBuffer', 'CBATTRequest', 'GKMatchRequest', 'AVMetadataObject', 'SKProductsRequest', 'UIAlertView', 'NSIncrementalStore', 'MFMailComposeViewController', 'SCNFloor', 'NSSortDescriptor', 'CKFetchNotificationChangesOperation', 'MPMovieAccessLog', 'NSManagedObjectContext', 'AVAudioUnitGenerator', 'WKBackForwardList', 'SKMutableTexture', 'AVCaptureAudioDataOutput', 'ACAccount', 'AVMetadataItem', 'MPRatingCommandEvent', 'AVCaptureDeviceInputSource', 'CLLocationManager', 'MPRemoteCommand', 'AVCaptureSession', 'UIStepper', 'UIRefreshControl', 'NEEvaluateConnectionRule', 'CKModifyRecordsOperation', 'UICollectionViewTransitionLayout', 'CBCentralManager', 'NSPurgeableData', 'PKShippingMethod', 'SLComposeViewController', 'NSHashTable', 'MKUserTrackingBarButtonItem', 'UILexiconEntry', 'CMMotionActivity', 'SKAction', 'SKShader', 'AVPlayerItemOutput', 'MTLRenderPassAttachmentDescriptor', 'UIDocumentInteractionController', 'UIDynamicItemBehavior', 'NSMutableDictionary', 'UILabel', 'AVCaptureInputPort', 'NSExpression', 'CAInterAppAudioTransportView', 'SKMutablePayment', 'UIImage', 'PHCachingImageManager', 'SCNTransformConstraint', 'HKCorrelationType', 'UIColor', 'SCNGeometrySource', 'AVCaptureAutoExposureBracketedStillImageSettings', 'UIPopoverBackgroundView', 'UIToolbar', 'NSNotificationCenter', 'UICollectionViewLayoutAttributes', 'AVAssetReaderOutputMetadataAdaptor', 'NSEntityMigrationPolicy', 'HMUser', 'NSLocale', 'NSURLSession', 'SCNCamera', 'NSTimeZone', 'UIManagedDocument', 'AVMutableVideoCompositionLayerInstruction', 'AVAssetTrackGroup', 'NSInvocationOperation', 'ALAssetRepresentation', 'AVQueuePlayer', 'HMServiceGroup', 'UIPasteboard', 'PHContentEditingInput', 'NSLayoutManager', 'EKCalendarChooser', 'EKObject', 'CATiledLayer', 'GLKReflectionMapEffect', 'NSManagedObjectID', 'NSEnergyFormatter', 'SLRequest', 'HMCharacteristic', 'AVPlayerLayer', 'MTLRenderPassDescriptor', 'SKPayment', 'NSPointerArray', 'AVAudioMix', 'SCNLight', 'MCAdvertiserAssistant', 'MKMapSnapshotOptions', 'HKCategorySample', 'AVAudioEnvironmentReverbParameters', 'SCNMorpher', 'AVTimedMetadataGroup', 'CBMutableCharacteristic', 'NSFetchRequest', 'UIDevice', 'NSManagedObject', 'NKAssetDownload', 'AVOutputSettingsAssistant', 'SKPhysicsJointPin', 'UITabBar', 'UITextInputMode', 'NSFetchRequestExpression', 'HMActionSet', 'CTSubscriber', 'PHAssetChangeRequest', 'NSPersistentStoreRequest', 'UITabBarController', 'HKQuantitySample', 'AVPlayerItem', 'AVSynchronizedLayer', 'MKDirectionsRequest', 'NSMetadataItem', 'UIPresentationController', 'UINavigationItem', 'PHFetchResultChangeDetails', 'PHImageManager', 'AVCaptureManualExposureBracketedStillImageSettings', 'UIStoryboardPopoverSegue', 'SCNLookAtConstraint', 'UIGravityBehavior', 'UIWindow', 'CBMutableDescriptor', 'NEOnDemandRuleDisconnect', 'UIBezierPath', 'UINavigationController', 'ABPeoplePickerNavigationController', 'EKSource', 'AVAssetWriterInput', 'AVPlayerItemTrack', 'GLKEffectPropertyTexture', 'NSHTTPCookie', 'NSURLResponse', 'SKPaymentQueue', 'NSAssertionHandler', 'MKReverseGeocoder', 'GCControllerAxisInput', 'NSArray', 'NSOrthography', 'NSURLSessionUploadTask', 'NSCharacterSet', 'AVMutableVideoCompositionInstruction', 'AVAssetReaderOutput', 'EAGLContext', 'WKFrameInfo', 'CMPedometer', 'MyClass', 'CKModifyBadgeOperation', 'AVCaptureAudioFileOutput', 'SKEmitterNode', 'NSMachPort', 'AVVideoCompositionCoreAnimationTool', 'PHCollection', 'SCNPhysicsWorld', 'NSURLRequest', 'CMAccelerometerData', 'NSNetServiceBrowser', 'CLFloor', 'AVAsynchronousVideoCompositionRequest', 'SCNGeometry', 'SCNIKConstraint', 'CIKernel', 'CAGradientLayer', 'HKCharacteristicType', 'NSFormatter', 'SCNAction', 'CATransaction', 'CBUUID', 'UIStoryboard', 'MPMediaLibrary', 'UITapGestureRecognizer', 'MPMediaItemArtwork', 'NSURLSessionTask', 'AVAudioUnit', 'MCBrowserViewController', 'UIFontDescriptor', 'NSRelationshipDescription', 'HKSample', 'WKWebView', 'NSMutableAttributedString', 'NSPersistentStoreAsynchronousResult', 'MPNowPlayingInfoCenter', 'MKLocalSearch', 'EAAccessory', 'HKCorrelation', 'CATextLayer', 'NSNotificationQueue', 'UINib', 'GLKTextureLoader', 'HKObjectType', 'NSValue', 'NSMutableIndexSet', 'SKPhysicsContact', 'NSProgress', 'AVPlayerViewController', 'CAScrollLayer', 'GKSavedGame', 'NSTextCheckingResult', 'PHObjectPlaceholder', 'SKConstraint', 'EKEventEditViewController', 'NSEntityDescription', 'NSURLCredentialStorage', 'UIApplication', 'SKDownload', 'SCNNode', 'MKLocalSearchRequest', 'SKScene', 'UISearchDisplayController', 'NEOnDemandRule', 'MTLRenderPassStencilAttachmentDescriptor', 'CAReplicatorLayer', 'UIPrintPageRenderer', 'EKCalendarItem', 'NSUUID', 'EAAccessoryManager', 'NEOnDemandRuleIgnore', 'SKRegion', 'AVAssetResourceLoader', 'EAWiFiUnconfiguredAccessoryBrowser', 'NSUserActivity', 'CTCall', 'UIPrinterPickerController', 'CIVector', 'UINavigationBar', 'UIPanGestureRecognizer', 'MPMediaQuery', 'ABNewPersonViewController', 'CKRecordZoneID', 'HKAnchoredObjectQuery', 'CKFetchRecordZonesOperation', 'UIStoryboardSegue', 'ACAccountType', 'GKSession', 'SKVideoNode', 'PHChange', 'SKReceiptRefreshRequest', 'GCExtendedGamepadSnapshot', 'MPSeekCommandEvent', 'GCExtendedGamepad', 'CAValueFunction', 'SCNCylinder', 'NSNotification', 'NSBatchUpdateResult', 'PKPushCredentials', 'SCNPhysicsSliderJoint', 'AVCaptureDeviceFormat', 'AVPlayerItemErrorLog', 'NSMapTable', 'NSSet', 'CMMotionManager', 'GKVoiceChatService', 'UIPageControl', 'UILexicon', 'MTLArrayType', 'AVAudioUnitReverb', 'MKGeodesicPolyline', 'AVMutableComposition', 'NSLayoutConstraint', 'UIPrinter', 'NSOrderedSet', 'CBAttribute', 'PKPushPayload', 'NSIncrementalStoreNode', 'EKEventStore', 'MPRemoteCommandEvent', 'UISlider', 'UIBlurEffect', 'CKAsset', 'AVCaptureInput', 'AVAudioEngine', 'MTLVertexDescriptor', 'SKPhysicsBody', 'NSOperation', 'PKPaymentPass', 'UIImageAsset', 'MKMapCamera', 'SKProductsResponse', 'GLKEffectPropertyMaterial', 'AVCaptureDevice', 'CTCallCenter', 'CABTMIDILocalPeripheralViewController', 'NEVPNManager', 'HKQuery', 'SCNPhysicsContact', 'CBMutableService', 'AVSampleBufferDisplayLayer', 'SCNSceneSource', 'SKLightNode', 'CKDiscoveredUserInfo', 'NSMutableArray', 'MTLDepthStencilDescriptor', 'MTLArgument', 'NSMassFormatter', 'CIRectangleFeature', 'PKPushRegistry', 'NEVPNConnection', 'MCNearbyServiceBrowser', 'NSOperationQueue', 'MKPolylineRenderer', 'HKWorkout', 'NSValueTransformer', 'UICollectionViewFlowLayout', 'MPChangePlaybackRateCommandEvent', 'NSEntityMapping', 'SKTexture', 'NSMergePolicy', 'UITextInputStringTokenizer', 'NSRecursiveLock', 'AVAsset', 'NSUndoManager', 'AVAudioUnitSampler', 'NSItemProvider', 'SKUniform', 'MPMediaPickerController', 'CKOperation', 'MTLRenderPipelineDescriptor', 'EAWiFiUnconfiguredAccessory', 'NSFileCoordinator', 'SKRequest', 'NSFileHandle', 'NSConditionLock', 'UISegmentedControl', 'NSManagedObjectModel', 'UITabBarItem', 'SCNCone', 'MPMediaItem', 'SCNMaterial', 'EKRecurrenceRule', 'UIEvent', 'UITouch', 'UIPrintInteractionController', 'CMDeviceMotion', 'NEVPNProtocol', 'NSCompoundPredicate', 'HKHealthStore', 'MKMultiPoint', 'HKSampleType', 'UIPrintFormatter', 'AVAudioUnitEQFilterParameters', 'SKView', 'NSConstantString', 'UIPopoverController', 'CKDatabase', 'AVMetadataFaceObject', 'UIAccelerometer', 'EKEventViewController', 'CMAltitudeData', 'MTLStencilDescriptor', 'UISwipeGestureRecognizer', 'NSPort', 'MKCircleRenderer', 'AVCompositionTrack', 'NSAsynchronousFetchRequest', 'NSUbiquitousKeyValueStore', 'NSMetadataQueryResultGroup', 'AVAssetResourceLoadingDataRequest', 'UITableViewHeaderFooterView', 'CKNotificationID', 'AVAudioSession', 'HKUnit', 'NSNull', 'NSPersistentStoreResult', 'MKCircleView', 'AVAudioChannelLayout', 'NEVPNProtocolIKEv2', 'WKProcessPool', 'UIAttachmentBehavior', 'CLBeacon', 'NSInputStream', 'NSURLCache', 'GKPlayer', 'NSMappingModel', 'CIQRCodeFeature', 'AVMutableVideoComposition', 'PHFetchResult', 'NSAttributeDescription', 'AVPlayer', 'MKAnnotationView', 'PKPaymentRequest', 'NSTimer', 'CBDescriptor', 'MKOverlayView', 'AVAudioUnitTimePitch', 'NSSaveChangesRequest', 'UIReferenceLibraryViewController', 'SKPhysicsJointFixed', 'UILocalizedIndexedCollation', 'UIInterpolatingMotionEffect', 'UIDocumentPickerViewController', 'AVAssetWriter', 'NSBundle', 'SKStoreProductViewController', 'GLKViewController', 'NSMetadataQueryAttributeValueTuple', 'GKTurnBasedMatch', 'AVAudioFile', 'UIActivity', 'NSPipe', 'MKShape', 'NSMergeConflict', 'CIImage', 'HKObject', 'UIRotationGestureRecognizer', 'AVPlayerItemLegibleOutput', 'AVAssetImageGenerator', 'GCControllerButtonInput', 'CKMarkNotificationsReadOperation', 'CKSubscription', 'MPTimedMetadata', 'NKIssue', 'UIScreenMode', 'HMAccessoryBrowser', 'GKTurnBasedEventHandler', 'UIWebView', 'MKPolyline', 'JSVirtualMachine', 'AVAssetReader', 'NSAttributedString', 'GKMatchmakerViewController', 'NSCountedSet', 'UIButton', 'WKNavigationResponse', 'GKLocalPlayer', 'MPMovieErrorLog', 'AVSpeechUtterance', 'HKStatistics', 'UILocalNotification', 'HKBiologicalSexObject', 'AVURLAsset', 'CBPeripheral', 'NSDateComponentsFormatter', 'SKSpriteNode', 'UIAccessibilityElement', 'AVAssetWriterInputGroup', 'HMZone', 'AVAssetReaderAudioMixOutput', 'NSEnumerator', 'UIDocument', 'MKLocalSearchResponse', 'UISimpleTextPrintFormatter', 'PHPhotoLibrary', 'CBService', 'UIDocumentMenuViewController', 'MCSession', 'QLPreviewController', 'CAMediaTimingFunction', 'UITextPosition', 'ASIdentifierManager', 'AVAssetResourceLoadingRequest', 'SLComposeServiceViewController', 'UIPinchGestureRecognizer', 'PHObject', 'NSExtensionItem', 'HKSampleQuery', 'MTLRenderPipelineColorAttachmentDescriptorArray', 'MKRouteStep', 'SCNCapsule', 'NSMetadataQuery', 'AVAssetResourceLoadingContentInformationRequest', 'UITraitCollection', 'CTCarrier', 'NSFileSecurity', 'UIAcceleration', 'UIMotionEffect', 'MTLRenderPipelineReflection', 'CLHeading', 'CLVisit', 'MKDirectionsResponse', 'HMAccessory', 'MTLStructType', 'UITextView', 'CMMagnetometerData', 'UICollisionBehavior', 'UIProgressView', 'CKServerChangeToken', 'UISearchBar', 'MKPlacemark', 'AVCaptureConnection', 'NSPropertyMapping', 'ALAssetsFilter', 'SK3DNode', 'AVPlayerItemErrorLogEvent', 'NSJSONSerialization', 'AVAssetReaderVideoCompositionOutput', 'ABPersonViewController', 'CIDetector', 'GKTurnBasedMatchmakerViewController', 'MPMediaItemCollection', 'SCNSphere', 'NSCondition', 'NSURLCredential', 'MIDINetworkConnection', 'NSFileProviderExtension', 'NSDecimalNumberHandler', 'NSAtomicStoreCacheNode', 'NSAtomicStore', 'EKAlarm', 'CKNotificationInfo', 'AVAudioUnitEQ', 'UIPercentDrivenInteractiveTransition', 'MKPolygon', 'AVAssetTrackSegment', 'MTLVertexAttribute', 'NSExpressionDescription', 'HKStatisticsCollectionQuery', 'NSURLAuthenticationChallenge', 'NSDirectoryEnumerator', 'MKDistanceFormatter', 'UIAlertAction', 'NSPropertyListSerialization', 'GKPeerPickerController', 'UIUserNotificationSettings', 'UITableViewController', 'GKNotificationBanner', 'MKPointAnnotation', 'MTLRenderPassColorAttachmentDescriptorArray', 'NSCache', 'SKPhysicsJoint', 'NSXMLParser', 'UIViewController', 'PKPaymentToken', 'MFMessageComposeViewController', 'AVAudioInputNode', 'NSDataDetector', 'CABTMIDICentralViewController', 'AVAudioUnitMIDIInstrument', 'AVCaptureVideoPreviewLayer', 'AVAssetWriterInputPassDescription', 'MPChangePlaybackRateCommand', 'NSURLComponents', 'CAMetalLayer', 'UISnapBehavior', 'AVMetadataMachineReadableCodeObject', 'CKDiscoverUserInfosOperation', 'NSTextAttachment', 'NSException', 'UIMenuItem', 'CMMotionActivityManager', 'SCNGeometryElement', 'NCWidgetController', 'CAEmitterLayer', 'MKUserLocation', 'UIImagePickerController', 'CIFeature', 'AVCaptureDeviceInput', 'ALAsset', 'NSURLSessionDownloadTask', 'SCNPhysicsHingeJoint', 'MPMoviePlayerViewController', 'NSMutableOrderedSet', 'SCNMaterialProperty', 'UIFont', 'AVCaptureVideoDataOutput', 'NSCachedURLResponse', 'ALAssetsLibrary', 'NSInvocation', 'UILongPressGestureRecognizer', 'NSTextStorage', 'WKWebViewConfiguration', 'CIFaceFeature', 'MKMapSnapshot', 'GLKEffectPropertyFog', 'AVComposition', 'CKDiscoverAllContactsOperation', 'AVAudioMixInputParameters', 'CAEmitterBehavior', 'PKPassLibrary', 'UIMutableUserNotificationCategory', 'NSLock', 'NEVPNProtocolIPSec', 'ADBannerView', 'UIDocumentPickerExtensionViewController', 'UIActivityIndicatorView', 'AVPlayerMediaSelectionCriteria', 'CALayer', 'UIAccessibilityCustomAction', 'UIBarButtonItem', 'AVAudioSessionRouteDescription', 'CLBeaconRegion', 'HKBloodTypeObject', 'MTLVertexBufferLayoutDescriptorArray', 'CABasicAnimation', 'AVVideoCompositionInstruction', 'AVMutableTimedMetadataGroup', 'EKRecurrenceEnd', 'NSTextContainer', 'TWTweetComposeViewController', 'PKPaymentAuthorizationViewController', 'UIScrollView', 'WKNavigationAction', 'AVPlayerItemMetadataOutput', 'EKRecurrenceDayOfWeek', 'NSNumberFormatter', 'MTLComputePipelineReflection', 'UIScreen', 'CLRegion', 'NSProcessInfo', 'GLKTextureInfo', 'SCNSkinner', 'AVCaptureMetadataOutput', 'SCNAnimationEvent', 'NSTextTab', 'JSManagedValue', 'NSDate', 'UITextChecker', 'WKBackForwardListItem', 'NSData', 'NSParagraphStyle', 'AVMutableMetadataItem', 'EKCalendar', 'HKWorkoutEvent', 'NSMutableURLRequest', 'UIVideoEditorController', 'HMTimerTrigger', 'AVAudioUnitVarispeed', 'UIDynamicAnimator', 'AVCompositionTrackSegment', 'GCGamepadSnapshot', 'MPMediaEntity', 'GLKSkyboxEffect', 'UISwitch', 'EKStructuredLocation', 'UIGestureRecognizer', 'NSProxy', 'GLKBaseEffect', 'UIPushBehavior', 'GKScoreChallenge', 'NSCoder', 'MPMediaPlaylist', 'NSDateComponents', 'WKUserScript', 'EKEvent', 'NSDateFormatter', 'NSAsynchronousFetchResult', 'AVAssetWriterInputPixelBufferAdaptor', 'UIVisualEffect', 'UICollectionViewCell', 'UITextField', 'CLPlacemark', 'MPPlayableContentManager', 'AVCaptureOutput', 'HMCharacteristicWriteAction', 'CKModifySubscriptionsOperation', 'NSPropertyDescription', 'GCGamepad', 'UIMarkupTextPrintFormatter', 'SCNTube', 'NSPersistentStoreCoordinator', 'AVAudioEnvironmentNode', 'GKMatchmaker', 'CIContext', 'NSThread', 'SLComposeSheetConfigurationItem', 'SKPhysicsJointSliding', 'NSPredicate', 'GKVoiceChat', 'SKCropNode', 'AVCaptureAudioPreviewOutput', 'NSStringDrawingContext', 'GKGameCenterViewController', 'UIPrintPaper', 'SCNPhysicsBallSocketJoint', 'UICollectionViewLayoutInvalidationContext', 'GLKEffectPropertyTransform', 'AVAudioIONode', 'UIDatePicker', 'MKDirections', 'ALAssetsGroup', 'CKRecordZoneNotification', 'SCNScene', 'MPMovieAccessLogEvent', 'CKFetchSubscriptionsOperation', 'CAEmitterCell', 'AVAudioUnitTimeEffect', 'HMCharacteristicMetadata', 'MKPinAnnotationView', 'UIPickerView', 'UIImageView', 'UIUserNotificationCategory', 'SCNPhysicsVehicleWheel', 'HKCategoryType', 'MPMediaQuerySection', 'GKFriendRequestComposeViewController', 'NSError', 'MTLRenderPipelineColorAttachmentDescriptor', 'SCNPhysicsShape', 'UISearchController', 'SCNPhysicsBody', 'CTSubscriberInfo', 'AVPlayerItemAccessLog', 'MPMediaPropertyPredicate', 'CMLogItem', 'NSAutoreleasePool', 'NSSocketPort', 'AVAssetReaderTrackOutput', 'SKNode', 'UIMutableUserNotificationAction', 'SCNProgram', 'AVSpeechSynthesisVoice', 'CMAltimeter', 'AVCaptureAudioChannel', 'GKTurnBasedExchangeReply', 'AVVideoCompositionLayerInstruction', 'AVSpeechSynthesizer', 'GKChallengeEventHandler', 'AVCaptureFileOutput', 'UIControl', 'SCNPhysicsField', 'CKReference', 'LAContext', 'CKRecordID', 'ADInterstitialAd', 'AVAudioSessionDataSourceDescription', 'AVAudioBuffer', 'CIColorKernel', 'GCControllerDirectionPad', 'NSFileManager', 'AVMutableAudioMixInputParameters', 'UIScreenEdgePanGestureRecognizer', 'CAKeyframeAnimation', 'CKQueryNotification', 'PHAdjustmentData', 'EASession', 'AVAssetResourceRenewalRequest', 'UIInputView', 'NSFileWrapper', 'UIResponder', 'NSPointerFunctions', 'UIKeyCommand', 'NSHTTPCookieStorage', 'AVMediaSelectionOption', 'NSRunLoop', 'NSFileAccessIntent', 'CAAnimationGroup', 'MKCircle', 'UIAlertController', 'NSMigrationManager', 'NSDateIntervalFormatter', 'UICollectionViewUpdateItem', 'CKDatabaseOperation', 'PHImageRequestOptions', 'SKReachConstraints', 'CKRecord', 'CAInterAppAudioSwitcherView', 'WKWindowFeatures', 'GKInvite', 'NSMutableData', 'PHAssetCollectionChangeRequest', 'NSMutableParagraphStyle', 'UIDynamicBehavior', 'GLKEffectProperty', 'CKFetchRecordChangesOperation', 'SKShapeNode', 'MPMovieErrorLogEvent', 'MKPolygonView', 'MPContentItem', 'HMAction', 'NSScanner', 'GKAchievementChallenge', 'AVAudioPlayer', 'CKContainer', 'AVVideoComposition', 'NKLibrary', 'NSPersistentStore', 'AVCaptureMovieFileOutput', 'HMRoom', 'GKChallenge', 'UITextRange', 'NSURLProtectionSpace', 'ACAccountStore', 'MPSkipIntervalCommand', 'NSComparisonPredicate', 'HMHome', 'PHVideoRequestOptions', 'NSOutputStream', 'MPSkipIntervalCommandEvent', 'PKAddPassesViewController', 'UITextSelectionRect', 'CTTelephonyNetworkInfo', 'AVTextStyleRule', 'NSFetchedPropertyDescription', 'UIPageViewController', 'CATransformLayer', 'UICollectionViewController', 'AVAudioNode', 'MCNearbyServiceAdvertiser', 'NSObject', 'PHAsset', 'GKLeaderboardViewController', 'CKQueryCursor', 'MPMusicPlayerController', 'MKOverlayPathRenderer', 'CMPedometerData', 'HMService', 'SKFieldNode', 'GKAchievement', 'WKUserContentController', 'AVAssetTrack', 'TWRequest', 'SKLabelNode', 'AVCaptureBracketedStillImageSettings', 'MIDINetworkHost', 'MPMediaPredicate', 'AVFrameRateRange', 'MTLTextureDescriptor', 'MTLVertexBufferLayoutDescriptor', 'MPFeedbackCommandEvent', 'UIUserNotificationAction', 'HKStatisticsQuery', 'SCNParticleSystem', 'NSIndexPath', 'AVVideoCompositionRenderContext', 'CADisplayLink', 'HKObserverQuery', 'UIPopoverPresentationController', 'CKQueryOperation', 'CAEAGLLayer', 'NSMutableString', 'NSMessagePort', 'NSURLQueryItem', 'MTLStructMember', 'AVAudioSessionChannelDescription', 'GLKView', 'UIActivityViewController', 'GKAchievementViewController', 'GKTurnBasedParticipant', 'NSURLProtocol', 'NSUserDefaults', 'NSCalendar', 'SKKeyframeSequence', 'AVMetadataItemFilter', 'CKModifyRecordZonesOperation', 'WKPreferences', 'NSMethodSignature', 'NSRegularExpression', 'EAGLSharegroup', 'AVPlayerItemVideoOutput', 'PHContentEditingInputRequestOptions', 'GKMatch', 'CIColor', 'UIDictationPhrase'}
COCOA_PROTOCOLS = {'SKStoreProductViewControllerDelegate', 'AVVideoCompositionInstruction', 'AVAudioSessionDelegate', 'GKMatchDelegate', 'NSFileManagerDelegate', 'UILayoutSupport', 'NSCopying', 'UIPrintInteractionControllerDelegate', 'QLPreviewControllerDataSource', 'SKProductsRequestDelegate', 'NSTextStorageDelegate', 'MCBrowserViewControllerDelegate', 'MTLComputeCommandEncoder', 'SCNSceneExportDelegate', 'UISearchResultsUpdating', 'MFMailComposeViewControllerDelegate', 'MTLBlitCommandEncoder', 'NSDecimalNumberBehaviors', 'PHContentEditingController', 'NSMutableCopying', 'UIActionSheetDelegate', 'UIViewControllerTransitioningDelegate', 'UIAlertViewDelegate', 'AVAudioPlayerDelegate', 'MKReverseGeocoderDelegate', 'NSCoding', 'UITextInputTokenizer', 'GKFriendRequestComposeViewControllerDelegate', 'UIActivityItemSource', 'NSCacheDelegate', 'UIAdaptivePresentationControllerDelegate', 'GKAchievementViewControllerDelegate', 'UIViewControllerTransitionCoordinator', 'EKEventEditViewDelegate', 'NSURLConnectionDelegate', 'UITableViewDelegate', 'GKPeerPickerControllerDelegate', 'UIGuidedAccessRestrictionDelegate', 'AVSpeechSynthesizerDelegate', 'AVAudio3DMixing', 'AVPlayerItemLegibleOutputPushDelegate', 'ADInterstitialAdDelegate', 'HMAccessoryBrowserDelegate', 'AVAssetResourceLoaderDelegate', 'UITabBarControllerDelegate', 'CKRecordValue', 'SKPaymentTransactionObserver', 'AVCaptureAudioDataOutputSampleBufferDelegate', 'UIInputViewAudioFeedback', 'GKChallengeListener', 'SKSceneDelegate', 'UIPickerViewDelegate', 'UIWebViewDelegate', 'UIApplicationDelegate', 'GKInviteEventListener', 'MPMediaPlayback', 'MyClassJavaScriptMethods', 'AVAsynchronousKeyValueLoading', 'QLPreviewItem', 'SCNBoundingVolume', 'NSPortDelegate', 'UIContentContainer', 'SCNNodeRendererDelegate', 'SKRequestDelegate', 'SKPhysicsContactDelegate', 'HMAccessoryDelegate', 'UIPageViewControllerDataSource', 'SCNSceneRendererDelegate', 'SCNPhysicsContactDelegate', 'MKMapViewDelegate', 'AVPlayerItemOutputPushDelegate', 'UICollectionViewDelegate', 'UIImagePickerControllerDelegate', 'MTLRenderCommandEncoder', 'PKPaymentAuthorizationViewControllerDelegate', 'UIToolbarDelegate', 'WKUIDelegate', 'SCNActionable', 'NSURLConnectionDataDelegate', 'MKOverlay', 'CBCentralManagerDelegate', 'JSExport', 'NSTextLayoutOrientationProvider', 'UIPickerViewDataSource', 'PKPushRegistryDelegate', 'UIViewControllerTransitionCoordinatorContext', 'NSLayoutManagerDelegate', 'MTLLibrary', 'NSFetchedResultsControllerDelegate', 'ABPeoplePickerNavigationControllerDelegate', 'MTLResource', 'NSDiscardableContent', 'UITextFieldDelegate', 'MTLBuffer', 'MTLSamplerState', 'GKGameCenterControllerDelegate', 'MPMediaPickerControllerDelegate', 'UISplitViewControllerDelegate', 'UIAppearance', 'UIPickerViewAccessibilityDelegate', 'UITraitEnvironment', 'UIScrollViewAccessibilityDelegate', 'ADBannerViewDelegate', 'MPPlayableContentDataSource', 'MTLComputePipelineState', 'NSURLSessionDelegate', 'MTLCommandBuffer', 'NSXMLParserDelegate', 'UIViewControllerRestoration', 'UISearchBarDelegate', 'UIBarPositioning', 'CBPeripheralDelegate', 'UISearchDisplayDelegate', 'CAAction', 'PKAddPassesViewControllerDelegate', 'MCNearbyServiceAdvertiserDelegate', 'MTLDepthStencilState', 'GKTurnBasedMatchmakerViewControllerDelegate', 'MPPlayableContentDelegate', 'AVCaptureVideoDataOutputSampleBufferDelegate', 'UIAppearanceContainer', 'UIStateRestoring', 'UITextDocumentProxy', 'MTLDrawable', 'NSURLSessionTaskDelegate', 'NSFilePresenter', 'AVAudioStereoMixing', 'UIViewControllerContextTransitioning', 'UITextInput', 'CBPeripheralManagerDelegate', 'UITextInputDelegate', 'NSFastEnumeration', 'NSURLAuthenticationChallengeSender', 'SCNProgramDelegate', 'AVVideoCompositing', 'SCNAnimatable', 'NSSecureCoding', 'MCAdvertiserAssistantDelegate', 'GKLocalPlayerListener', 'GLKNamedEffect', 'UIPopoverControllerDelegate', 'AVCaptureMetadataOutputObjectsDelegate', 'NSExtensionRequestHandling', 'UITextSelecting', 'UIPrinterPickerControllerDelegate', 'NCWidgetProviding', 'MTLCommandEncoder', 'NSURLProtocolClient', 'MFMessageComposeViewControllerDelegate', 'UIVideoEditorControllerDelegate', 'WKNavigationDelegate', 'GKSavedGameListener', 'UITableViewDataSource', 'MTLFunction', 'EKCalendarChooserDelegate', 'NSUserActivityDelegate', 'UICollisionBehaviorDelegate', 'NSStreamDelegate', 'MCNearbyServiceBrowserDelegate', 'HMHomeDelegate', 'UINavigationControllerDelegate', 'MCSessionDelegate', 'UIDocumentPickerDelegate', 'UIViewControllerInteractiveTransitioning', 'GKTurnBasedEventListener', 'SCNSceneRenderer', 'MTLTexture', 'GLKViewDelegate', 'EAAccessoryDelegate', 'WKScriptMessageHandler', 'PHPhotoLibraryChangeObserver', 'NSKeyedUnarchiverDelegate', 'AVPlayerItemMetadataOutputPushDelegate', 'NSMachPortDelegate', 'SCNShadable', 'UIPopoverBackgroundViewMethods', 'UIDocumentMenuDelegate', 'UIBarPositioningDelegate', 'ABPersonViewControllerDelegate', 'NSNetServiceBrowserDelegate', 'EKEventViewDelegate', 'UIScrollViewDelegate', 'NSURLConnectionDownloadDelegate', 'UIGestureRecognizerDelegate', 'UINavigationBarDelegate', 'AVAudioMixing', 'NSFetchedResultsSectionInfo', 'UIDocumentInteractionControllerDelegate', 'MTLParallelRenderCommandEncoder', 'QLPreviewControllerDelegate', 'UIAccessibilityReadingContent', 'ABUnknownPersonViewControllerDelegate', 'GLKViewControllerDelegate', 'UICollectionViewDelegateFlowLayout', 'UIPopoverPresentationControllerDelegate', 'UIDynamicAnimatorDelegate', 'NSTextAttachmentContainer', 'MKAnnotation', 'UIAccessibilityIdentification', 'UICoordinateSpace', 'ABNewPersonViewControllerDelegate', 'MTLDevice', 'CAMediaTiming', 'AVCaptureFileOutputRecordingDelegate', 'HMHomeManagerDelegate', 'UITextViewDelegate', 'UITabBarDelegate', 'GKLeaderboardViewControllerDelegate', 'UISearchControllerDelegate', 'EAWiFiUnconfiguredAccessoryBrowserDelegate', 'UITextInputTraits', 'MTLRenderPipelineState', 'GKVoiceChatClient', 'UIKeyInput', 'UICollectionViewDataSource', 'SCNTechniqueSupport', 'NSLocking', 'AVCaptureFileOutputDelegate', 'GKChallengeEventHandlerDelegate', 'UIObjectRestoration', 'CIFilterConstructor', 'AVPlayerItemOutputPullDelegate', 'EAGLDrawable', 'AVVideoCompositionValidationHandling', 'UIViewControllerAnimatedTransitioning', 'NSURLSessionDownloadDelegate', 'UIAccelerometerDelegate', 'UIPageViewControllerDelegate', 'MTLCommandQueue', 'UIDataSourceModelAssociation', 'AVAudioRecorderDelegate', 'GKSessionDelegate', 'NSKeyedArchiverDelegate', 'CAMetalDrawable', 'UIDynamicItem', 'CLLocationManagerDelegate', 'NSMetadataQueryDelegate', 'NSNetServiceDelegate', 'GKMatchmakerViewControllerDelegate', 'NSURLSessionDataDelegate'}
COCOA_PRIMITIVES = {'ROTAHeader', '__CFBundle', 'MortSubtable', 'AudioFilePacketTableInfo', 'CGPDFOperatorTable', 'KerxStateEntry', 'ExtendedTempoEvent', 'CTParagraphStyleSetting', 'OpaqueMIDIPort', '_GLKMatrix3', '_GLKMatrix2', '_GLKMatrix4', 'ExtendedControlEvent', 'CAFAudioDescription', 'OpaqueCMBlockBuffer', 'CGTextDrawingMode', 'EKErrorCode', 'gss_buffer_desc_struct', 'AudioUnitParameterInfo', '__SCPreferences', '__CTFrame', '__CTLine', 'AudioFile_SMPTE_Time', 'gss_krb5_lucid_context_v1', 'OpaqueJSValue', 'TrakTableEntry', 'AudioFramePacketTranslation', 'CGImageSource', 'OpaqueJSPropertyNameAccumulator', 'JustPCGlyphRepeatAddAction', '__CFBinaryHeap', 'OpaqueMIDIThruConnection', 'opaqueCMBufferQueue', 'OpaqueMusicSequence', 'MortRearrangementSubtable', 'MixerDistanceParams', 'MorxSubtable', 'MIDIObjectPropertyChangeNotification', 'SFNTLookupSegment', 'CGImageMetadataErrors', 'CGPath', 'OpaqueMIDIEndpoint', 'AudioComponentPlugInInterface', 'gss_ctx_id_t_desc_struct', 'sfntFontFeatureSetting', 'OpaqueJSContextGroup', '__SCNetworkConnection', 'AudioUnitParameterValueTranslation', 'CGImageMetadataType', 'CGPattern', 'AudioFileTypeAndFormatID', 'CGContext', 'AUNodeInteraction', 'SFNTLookupTable', 'JustPCDecompositionAction', 'KerxControlPointHeader', 'AudioStreamPacketDescription', 'KernSubtableHeader', '__SecCertificate', 'AUMIDIOutputCallbackStruct', 'MIDIMetaEvent', 'AudioQueueChannelAssignment', 'AnchorPoint', 'JustTable', '__CFNetService', 'CF_BRIDGED_TYPE', 'gss_krb5_lucid_key', 'CGPDFDictionary', 'KerxSubtableHeader', 'CAF_UUID_ChunkHeader', 'gss_krb5_cfx_keydata', 'OpaqueJSClass', 'CGGradient', 'OpaqueMIDISetup', 'JustPostcompTable', '__CTParagraphStyle', 'AudioUnitParameterHistoryInfo', 'OpaqueJSContext', 'CGShading', 'MIDIThruConnectionParams', 'BslnFormat0Part', 'SFNTLookupSingle', '__CFHost', '__SecRandom', '__CTFontDescriptor', '_NSRange', 'sfntDirectory', 'AudioQueueLevelMeterState', 'CAFPositionPeak', 'PropLookupSegment', '__CVOpenGLESTextureCache', 'sfntInstance', '_GLKQuaternion', 'AnkrTable', '__SCNetworkProtocol', 'CAFFileHeader', 'KerxOrderedListHeader', 'CGBlendMode', 'STXEntryOne', 'CAFRegion', 'SFNTLookupTrimmedArrayHeader', 'SCNMatrix4', 'KerxControlPointEntry', 'OpaqueMusicTrack', '_GLKVector4', 'gss_OID_set_desc_struct', 'OpaqueMusicPlayer', '_CFHTTPAuthentication', 'CGAffineTransform', 'CAFMarkerChunk', 'AUHostIdentifier', 'ROTAGlyphEntry', 'BslnTable', 'gss_krb5_lucid_context_version', '_GLKMatrixStack', 'CGImage', 'KernStateEntry', 'SFNTLookupSingleHeader', 'MortLigatureSubtable', 'CAFUMIDChunk', 'SMPTETime', 'CAFDataChunk', 'CGPDFStream', 'AudioFileRegionList', 'STEntryTwo', 'SFNTLookupBinarySearchHeader', 'OpbdTable', '__CTGlyphInfo', 'BslnFormat2Part', 'KerxIndexArrayHeader', 'TrakTable', 'KerxKerningPair', '__CFBitVector', 'KernVersion0SubtableHeader', 'OpaqueAudioComponentInstance', 'AudioChannelLayout', '__CFUUID', 'MIDISysexSendRequest', '__CFNumberFormatter', 'CGImageSourceStatus', 'AudioFileMarkerList', 'AUSamplerBankPresetData', 'CGDataProvider', 'AudioFormatInfo', '__SecIdentity', 'sfntCMapExtendedSubHeader', 'MIDIChannelMessage', 'KernOffsetTable', 'CGColorSpaceModel', 'MFMailComposeErrorCode', 'CGFunction', '__SecTrust', 'AVAudio3DAngularOrientation', 'CGFontPostScriptFormat', 'KernStateHeader', 'AudioUnitCocoaViewInfo', 'CGDataConsumer', 'OpaqueMIDIDevice', 'KernVersion0Header', 'AnchorPointTable', 'CGImageDestination', 'CAFInstrumentChunk', 'AudioUnitMeterClipping', 'MorxChain', '__CTFontCollection', 'STEntryOne', 'STXEntryTwo', 'ExtendedNoteOnEvent', 'CGColorRenderingIntent', 'KerxSimpleArrayHeader', 'MorxTable', '_GLKVector3', '_GLKVector2', 'MortTable', 'CGPDFBox', 'AudioUnitParameterValueFromString', '__CFSocket', 'ALCdevice_struct', 'MIDINoteMessage', 'sfntFeatureHeader', 'CGRect', '__SCNetworkInterface', '__CFTree', 'MusicEventUserData', 'TrakTableData', 'GCQuaternion', 'MortContextualSubtable', '__CTRun', 'AudioUnitFrequencyResponseBin', 'MortChain', 'MorxInsertionSubtable', 'CGImageMetadata', 'gss_auth_identity', 'AudioUnitMIDIControlMapping', 'CAFChunkHeader', 'CGImagePropertyOrientation', 'CGPDFScanner', 'OpaqueMusicEventIterator', 'sfntDescriptorHeader', 'AudioUnitNodeConnection', 'OpaqueMIDIDeviceList', 'ExtendedAudioFormatInfo', 'BslnFormat1Part', 'sfntFontDescriptor', 'KernSimpleArrayHeader', '__CFRunLoopObserver', 'CGPatternTiling', 'MIDINotification', 'MorxLigatureSubtable', 'MessageComposeResult', 'MIDIThruConnectionEndpoint', 'MusicDeviceStdNoteParams', 'opaqueCMSimpleQueue', 'ALCcontext_struct', 'OpaqueAudioQueue', 'PropLookupSingle', 'CGInterpolationQuality', 'CGColor', 'AudioOutputUnitStartAtTimeParams', 'gss_name_t_desc_struct', 'CGFunctionCallbacks', 'CAFPacketTableHeader', 'AudioChannelDescription', 'sfntFeatureName', 'MorxContextualSubtable', 'CVSMPTETime', 'AudioValueRange', 'CGTextEncoding', 'AudioStreamBasicDescription', 'AUNodeRenderCallback', 'AudioPanningInfo', 'KerxOrderedListEntry', '__CFAllocator', 'OpaqueJSPropertyNameArray', '__SCDynamicStore', 'OpaqueMIDIEntity', '__CTRubyAnnotation', 'SCNVector4', 'CFHostClientContext', 'CFNetServiceClientContext', 'AudioUnitPresetMAS_SettingData', 'opaqueCMBufferQueueTriggerToken', 'AudioUnitProperty', 'CAFRegionChunk', 'CGPDFString', '__GLsync', '__CFStringTokenizer', 'JustWidthDeltaEntry', 'sfntVariationAxis', '__CFNetDiagnostic', 'CAFOverviewSample', 'sfntCMapEncoding', 'CGVector', '__SCNetworkService', 'opaqueCMSampleBuffer', 'AUHostVersionIdentifier', 'AudioBalanceFade', 'sfntFontRunFeature', 'KerxCoordinateAction', 'sfntCMapSubHeader', 'CVPlanarPixelBufferInfo', 'AUNumVersion', 'AUSamplerInstrumentData', 'AUPreset', '__CTRunDelegate', 'OpaqueAudioQueueProcessingTap', 'KerxTableHeader', '_NSZone', 'OpaqueExtAudioFile', '__CFRunLoopSource', '__CVMetalTextureCache', 'KerxAnchorPointAction', 'OpaqueJSString', 'AudioQueueParameterEvent', '__CFHTTPMessage', 'OpaqueCMClock', 'ScheduledAudioFileRegion', 'STEntryZero', 'AVAudio3DPoint', 'gss_channel_bindings_struct', 'sfntVariationHeader', 'AUChannelInfo', 'UIOffset', 'GLKEffectPropertyPrv', 'KerxStateHeader', 'CGLineJoin', 'CGPDFDocument', '__CFBag', 'KernOrderedListHeader', '__SCNetworkSet', '__SecKey', 'MIDIObjectAddRemoveNotification', 'AudioUnitParameter', 'JustPCActionSubrecord', 'AudioComponentDescription', 'AudioUnitParameterValueName', 'AudioUnitParameterEvent', 'KerxControlPointAction', 'AudioTimeStamp', 'KernKerningPair', 'gss_buffer_set_desc_struct', 'MortFeatureEntry', 'FontVariation', 'CAFStringID', 'LcarCaretClassEntry', 'AudioUnitParameterStringFromValue', 'ACErrorCode', 'ALMXGlyphEntry', 'LtagTable', '__CTTypesetter', 'AuthorizationOpaqueRef', 'UIEdgeInsets', 'CGPathElement', 'CAFMarker', 'KernTableHeader', 'NoteParamsControlValue', 'SSLContext', 'gss_cred_id_t_desc_struct', 'AudioUnitParameterNameInfo', 'CGDataConsumerCallbacks', 'ALMXHeader', 'CGLineCap', 'MIDIControlTransform', 'CGPDFArray', '__SecPolicy', 'AudioConverterPrimeInfo', '__CTTextTab', '__CFNetServiceMonitor', 'AUInputSamplesInOutputCallbackStruct', '__CTFramesetter', 'CGPDFDataFormat', 'STHeader', 'CVPlanarPixelBufferInfo_YCbCrPlanar', 'MIDIValueMap', 'JustDirectionTable', '__SCBondStatus', 'SFNTLookupSegmentHeader', 'OpaqueCMMemoryPool', 'CGPathDrawingMode', 'CGFont', '__SCNetworkReachability', 'AudioClassDescription', 'CGPoint', 'AVAudio3DVectorOrientation', 'CAFStrings', '__CFNetServiceBrowser', 'opaqueMTAudioProcessingTap', 'sfntNameRecord', 'CGPDFPage', 'CGLayer', 'ComponentInstanceRecord', 'CAFInfoStrings', 'HostCallbackInfo', 'MusicDeviceNoteParams', 'OpaqueVTCompressionSession', 'KernIndexArrayHeader', 'CVPlanarPixelBufferInfo_YCbCrBiPlanar', 'MusicTrackLoopInfo', 'opaqueCMFormatDescription', 'STClassTable', 'sfntDirectoryEntry', 'OpaqueCMTimebase', 'CGDataProviderDirectCallbacks', 'MIDIPacketList', 'CAFOverviewChunk', 'MIDIPacket', 'ScheduledAudioSlice', 'CGDataProviderSequentialCallbacks', 'AudioBuffer', 'MorxRearrangementSubtable', 'CGPatternCallbacks', 'AUDistanceAttenuationData', 'MIDIIOErrorNotification', 'CGPDFContentStream', 'IUnknownVTbl', 'MIDITransform', 'MortInsertionSubtable', 'CABarBeatTime', 'AudioBufferList', '__CVBuffer', 'AURenderCallbackStruct', 'STXEntryZero', 'JustPCDuctilityAction', 'OpaqueAudioQueueTimeline', 'VTDecompressionOutputCallbackRecord', 'OpaqueMIDIClient', '__CFPlugInInstance', 'AudioQueueBuffer', '__CFFileDescriptor', 'AudioUnitConnection', '_GKTurnBasedExchangeStatus', 'LcarCaretTable', 'CVPlanarComponentInfo', 'JustWidthDeltaGroup', 'OpaqueAudioComponent', 'ParameterEvent', '__CVPixelBufferPool', '__CTFont', 'CGColorSpace', 'CGSize', 'AUDependentParameter', 'MIDIDriverInterface', 'gss_krb5_rfc1964_keydata', '__CFDateFormatter', 'LtagStringRange', 'OpaqueVTDecompressionSession', 'gss_iov_buffer_desc_struct', 'AUPresetEvent', 'PropTable', 'KernOrderedListEntry', 'CF_BRIDGED_MUTABLE_TYPE', 'gss_OID_desc_struct', 'AudioUnitPresetMAS_Settings', 'AudioFileMarker', 'JustPCConditionalAddAction', 'BslnFormat3Part', '__CFNotificationCenter', 'MortSwashSubtable', 'AUParameterMIDIMapping', 'SCNVector3', 'OpaqueAudioConverter', 'MIDIRawData', 'sfntNameHeader', '__CFRunLoop', 'MFMailComposeResult', 'CATransform3D', 'OpbdSideValues', 'CAF_SMPTE_Time', '__SecAccessControl', 'JustPCAction', 'OpaqueVTFrameSilo', 'OpaqueVTMultiPassStorage', 'CGPathElementType', 'AudioFormatListItem', 'AudioUnitExternalBuffer', 'AudioFileRegion', 'AudioValueTranslation', 'CGImageMetadataTag', 'CAFPeakChunk', 'AudioBytePacketTranslation', 'sfntCMapHeader', '__CFURLEnumerator', 'STXHeader', 'CGPDFObjectType', 'SFNTLookupArrayHeader'}
:license: BSD, see LICENSE for details.
"""
-# Opcodes in Csound 6.13.0 using:
+# Opcodes in Csound 6.14.0 using:
# python3 -c "
# import re
# from subprocess import Popen, PIPE
chnclear
chnexport
chnget
+chngeta
+chngeti
+chngetk
chngetks
+chngets
chnmix
chnparams
chnset
+chnseta
+chnseti
+chnsetk
chnsetks
+chnsets
chuap
clear
clfilt
ftchnls
ftconv
ftcps
+ftexists
ftfree
ftgen
ftgenonce
la_k_upper_solve_mr
la_k_vc_set
la_k_vr_set
+lastcycle
lenarray
lfo
limit
median
mediank
metro
+metro2
mfb
midglobal
midiarp
qnan
r2c
rand
+randc
randh
randi
random
schedkwhen
schedkwhennamed
schedule
+schedulek
schedwhen
scoreline
scoreline_i
strrindex
strrindexk
strset
+strstrip
strsub
strsubk
strtod
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
MODULES = {'basic': ('_G',
'_VERSION',
'assert',
print('>> %s' % full_function_name)
m = get_function_module(full_function_name)
modules.setdefault(m, []).append(full_function_name)
- modules = {k: tuple(v) for k, v in modules.iteritems()}
+ modules = {k: tuple(v) for k, v in modules.items()}
regenerate(__file__, modules)
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
LEXERS = {
'ABAPLexer': ('pygments.lexers.business', 'ABAP', ('abap',), ('*.abap', '*.ABAP'), ('text/x-abap',)),
'APLLexer': ('pygments.lexers.apl', 'APL', ('apl',), ('*.apl',), ()),
'EbnfLexer': ('pygments.lexers.parsers', 'EBNF', ('ebnf',), ('*.ebnf',), ('text/x-ebnf',)),
'EiffelLexer': ('pygments.lexers.eiffel', 'Eiffel', ('eiffel',), ('*.e',), ('text/x-eiffel',)),
'ElixirConsoleLexer': ('pygments.lexers.erlang', 'Elixir iex session', ('iex',), (), ('text/x-elixir-shellsession',)),
- 'ElixirLexer': ('pygments.lexers.erlang', 'Elixir', ('elixir', 'ex', 'exs'), ('*.ex', '*.exs'), ('text/x-elixir',)),
+ 'ElixirLexer': ('pygments.lexers.erlang', 'Elixir', ('elixir', 'ex', 'exs'), ('*.ex', '*.eex', '*.exs'), ('text/x-elixir',)),
'ElmLexer': ('pygments.lexers.elm', 'Elm', ('elm',), ('*.elm',), ('text/x-elm',)),
'EmacsLispLexer': ('pygments.lexers.lisp', 'EmacsLisp', ('emacs', 'elisp', 'emacs-lisp'), ('*.el',), ('text/x-elisp', 'application/x-elisp')),
'EmailLexer': ('pygments.lexers.email', 'E-mail', ('email', 'eml'), ('*.eml',), ('message/rfc822',)),
'JavascriptDjangoLexer': ('pygments.lexers.templates', 'JavaScript+Django/Jinja', ('js+django', 'javascript+django', 'js+jinja', 'javascript+jinja'), (), ('application/x-javascript+django', 'application/x-javascript+jinja', 'text/x-javascript+django', 'text/x-javascript+jinja', 'text/javascript+django', 'text/javascript+jinja')),
'JavascriptErbLexer': ('pygments.lexers.templates', 'JavaScript+Ruby', ('js+erb', 'javascript+erb', 'js+ruby', 'javascript+ruby'), (), ('application/x-javascript+ruby', 'text/x-javascript+ruby', 'text/javascript+ruby')),
'JavascriptGenshiLexer': ('pygments.lexers.templates', 'JavaScript+Genshi Text', ('js+genshitext', 'js+genshi', 'javascript+genshitext', 'javascript+genshi'), (), ('application/x-javascript+genshi', 'text/x-javascript+genshi', 'text/javascript+genshi')),
- 'JavascriptLexer': ('pygments.lexers.javascript', 'JavaScript', ('js', 'javascript'), ('*.js', '*.jsm'), ('application/javascript', 'application/x-javascript', 'text/x-javascript', 'text/javascript')),
+ 'JavascriptLexer': ('pygments.lexers.javascript', 'JavaScript', ('js', 'javascript'), ('*.js', '*.jsm', '*.mjs'), ('application/javascript', 'application/x-javascript', 'text/x-javascript', 'text/javascript')),
'JavascriptPhpLexer': ('pygments.lexers.templates', 'JavaScript+PHP', ('js+php', 'javascript+php'), (), ('application/x-javascript+php', 'text/x-javascript+php', 'text/javascript+php')),
'JavascriptSmartyLexer': ('pygments.lexers.templates', 'JavaScript+Smarty', ('js+smarty', 'javascript+smarty'), (), ('application/x-javascript+smarty', 'text/x-javascript+smarty', 'text/javascript+smarty')),
'JclLexer': ('pygments.lexers.scripting', 'JCL', ('jcl',), ('*.jcl',), ('text/x-jcl',)),
'JsgfLexer': ('pygments.lexers.grammar_notation', 'JSGF', ('jsgf',), ('*.jsgf',), ('application/jsgf', 'application/x-jsgf', 'text/jsgf')),
'JsonBareObjectLexer': ('pygments.lexers.data', 'JSONBareObject', ('json-object',), (), ('application/json-object',)),
'JsonLdLexer': ('pygments.lexers.data', 'JSON-LD', ('jsonld', 'json-ld'), ('*.jsonld',), ('application/ld+json',)),
- 'JsonLexer': ('pygments.lexers.data', 'JSON', ('json',), ('*.json',), ('application/json',)),
+ 'JsonLexer': ('pygments.lexers.data', 'JSON', ('json',), ('*.json', 'Pipfile.lock'), ('application/json',)),
'JspLexer': ('pygments.lexers.templates', 'Java Server Page', ('jsp',), ('*.jsp',), ('application/x-jsp',)),
'JuliaConsoleLexer': ('pygments.lexers.julia', 'Julia console', ('jlcon',), (), ()),
'JuliaLexer': ('pygments.lexers.julia', 'Julia', ('julia', 'jl'), ('*.jl',), ('text/x-julia', 'application/x-julia')),
'JuttleLexer': ('pygments.lexers.javascript', 'Juttle', ('juttle', 'juttle'), ('*.juttle',), ('application/juttle', 'application/x-juttle', 'text/x-juttle', 'text/juttle')),
'KalLexer': ('pygments.lexers.javascript', 'Kal', ('kal',), ('*.kal',), ('text/kal', 'application/kal')),
'KconfigLexer': ('pygments.lexers.configs', 'Kconfig', ('kconfig', 'menuconfig', 'linux-config', 'kernel-config'), ('Kconfig', '*Config.in*', 'external.in*', 'standard-modules.in'), ('text/x-kconfig',)),
+ 'KernelLogLexer': ('pygments.lexers.textfmts', 'Kernel log', ('kmsg', 'dmesg'), ('*.kmsg', '*.dmesg'), ()),
'KokaLexer': ('pygments.lexers.haskell', 'Koka', ('koka',), ('*.kk', '*.kki'), ('text/x-koka',)),
'KotlinLexer': ('pygments.lexers.jvm', 'Kotlin', ('kotlin',), ('*.kt',), ('text/x-kotlin',)),
'LSLLexer': ('pygments.lexers.scripting', 'LSL', ('lsl',), ('*.lsl',), ('text/x-lsl',)),
'LiterateIdrisLexer': ('pygments.lexers.haskell', 'Literate Idris', ('lidr', 'literate-idris', 'lidris'), ('*.lidr',), ('text/x-literate-idris',)),
'LiveScriptLexer': ('pygments.lexers.javascript', 'LiveScript', ('live-script', 'livescript'), ('*.ls',), ('text/livescript',)),
'LlvmLexer': ('pygments.lexers.asm', 'LLVM', ('llvm',), ('*.ll',), ('text/x-llvm',)),
+ 'LlvmMirBodyLexer': ('pygments.lexers.asm', 'LLVM-MIR Body', ('llvm-mir-body',), (), ()),
+ 'LlvmMirLexer': ('pygments.lexers.asm', 'LLVM-MIR', ('llvm-mir',), ('*.mir',), ()),
'LogosLexer': ('pygments.lexers.objective', 'Logos', ('logos',), ('*.x', '*.xi', '*.xm', '*.xmi'), ('text/x-logos',)),
'LogtalkLexer': ('pygments.lexers.prolog', 'Logtalk', ('logtalk',), ('*.lgt', '*.logtalk'), ('text/x-logtalk',)),
'LuaLexer': ('pygments.lexers.scripting', 'Lua', ('lua',), ('*.lua', '*.wlua'), ('text/x-lua', 'application/x-lua')),
'MatlabLexer': ('pygments.lexers.matlab', 'Matlab', ('matlab',), ('*.m',), ('text/matlab',)),
'MatlabSessionLexer': ('pygments.lexers.matlab', 'Matlab session', ('matlabsession',), (), ()),
'MiniDLexer': ('pygments.lexers.d', 'MiniD', ('minid',), (), ('text/x-minidsrc',)),
+ 'MiniScriptLexer': ('pygments.lexers.scripting', 'MiniScript', ('ms', 'miniscript'), ('*.ms',), ('text/x-minicript', 'application/x-miniscript')),
'ModelicaLexer': ('pygments.lexers.modeling', 'Modelica', ('modelica',), ('*.mo',), ('text/x-modelica',)),
'Modula2Lexer': ('pygments.lexers.modula2', 'Modula-2', ('modula2', 'm2'), ('*.def', '*.mod'), ('text/x-modula2',)),
'MoinWikiLexer': ('pygments.lexers.markup', 'MoinMoin/Trac Wiki markup', ('trac-wiki', 'moin'), (), ('text/x-trac-wiki',)),
'MonkeyLexer': ('pygments.lexers.basic', 'Monkey', ('monkey',), ('*.monkey',), ('text/x-monkey',)),
'MonteLexer': ('pygments.lexers.monte', 'Monte', ('monte',), ('*.mt',), ()),
'MoonScriptLexer': ('pygments.lexers.scripting', 'MoonScript', ('moon', 'moonscript'), ('*.moon',), ('text/x-moonscript', 'application/x-moonscript')),
+ 'MoselLexer': ('pygments.lexers.mosel', 'Mosel', ('mosel',), ('*.mos',), ()),
'MozPreprocCssLexer': ('pygments.lexers.markup', 'CSS+mozpreproc', ('css+mozpreproc',), ('*.css.in',), ()),
'MozPreprocHashLexer': ('pygments.lexers.markup', 'mozhashpreproc', ('mozhashpreproc',), (), ()),
'MozPreprocJavascriptLexer': ('pygments.lexers.markup', 'Javascript+mozpreproc', ('javascript+mozpreproc',), ('*.js.in',), ()),
'PanLexer': ('pygments.lexers.dsls', 'Pan', ('pan',), ('*.pan',), ()),
'ParaSailLexer': ('pygments.lexers.parasail', 'ParaSail', ('parasail',), ('*.psi', '*.psl'), ('text/x-parasail',)),
'PawnLexer': ('pygments.lexers.pawn', 'Pawn', ('pawn',), ('*.p', '*.pwn', '*.inc'), ('text/x-pawn',)),
- 'Perl6Lexer': ('pygments.lexers.perl', 'Perl6', ('perl6', 'pl6'), ('*.pl', '*.pm', '*.nqp', '*.p6', '*.6pl', '*.p6l', '*.pl6', '*.6pm', '*.p6m', '*.pm6', '*.t'), ('text/x-perl6', 'application/x-perl6')),
+ 'PegLexer': ('pygments.lexers.grammar_notation', 'PEG', ('peg',), ('*.peg',), ('text/x-peg',)),
+ 'Perl6Lexer': ('pygments.lexers.perl', 'Perl6', ('perl6', 'pl6', 'raku'), ('*.pl', '*.pm', '*.nqp', '*.p6', '*.6pl', '*.p6l', '*.pl6', '*.6pm', '*.p6m', '*.pm6', '*.t', '*.raku', '*.rakumod', '*.rakutest', '*.rakudoc'), ('text/x-perl6', 'application/x-perl6')),
'PerlLexer': ('pygments.lexers.perl', 'Perl', ('perl', 'pl'), ('*.pl', '*.pm', '*.t'), ('text/x-perl', 'application/x-perl')),
'PhpLexer': ('pygments.lexers.php', 'PHP', ('php', 'php3', 'php4', 'php5'), ('*.php', '*.php[345]', '*.inc'), ('text/x-php',)),
'PigLexer': ('pygments.lexers.jvm', 'Pig', ('pig',), ('*.pig',), ('text/x-pig',)),
'RagelRubyLexer': ('pygments.lexers.parsers', 'Ragel in Ruby Host', ('ragel-ruby', 'ragel-rb'), ('*.rl',), ()),
'RawTokenLexer': ('pygments.lexers.special', 'Raw token data', ('raw',), (), ('application/x-pygments-tokens',)),
'RdLexer': ('pygments.lexers.r', 'Rd', ('rd',), ('*.Rd',), ('text/x-r-doc',)),
+ 'ReasonLexer': ('pygments.lexers.ml', 'ReasonML', ('reason', 'reasonml'), ('*.re', '*.rei'), ('text/x-reasonml',)),
'RebolLexer': ('pygments.lexers.rebol', 'REBOL', ('rebol',), ('*.r', '*.r3', '*.reb'), ('text/x-rebol',)),
'RedLexer': ('pygments.lexers.rebol', 'Red', ('red', 'red/system'), ('*.red', '*.reds'), ('text/x-red', 'text/x-red-system')),
'RedcodeLexer': ('pygments.lexers.esoteric', 'Redcode', ('redcode',), ('*.cw',), ()),
'ResourceLexer': ('pygments.lexers.resource', 'ResourceBundle', ('resource', 'resourcebundle'), (), ()),
'RexxLexer': ('pygments.lexers.scripting', 'Rexx', ('rexx', 'arexx'), ('*.rexx', '*.rex', '*.rx', '*.arexx'), ('text/x-rexx',)),
'RhtmlLexer': ('pygments.lexers.templates', 'RHTML', ('rhtml', 'html+erb', 'html+ruby'), ('*.rhtml',), ('text/html+ruby',)),
+ 'RideLexer': ('pygments.lexers.ride', 'Ride', ('ride',), ('*.ride',), ('text/x-ride',)),
'RoboconfGraphLexer': ('pygments.lexers.roboconf', 'Roboconf Graph', ('roboconf-graph',), ('*.graph',), ()),
'RoboconfInstancesLexer': ('pygments.lexers.roboconf', 'Roboconf Instances', ('roboconf-instances',), ('*.instances',), ()),
'RobotFrameworkLexer': ('pygments.lexers.robotframework', 'RobotFramework', ('robotframework',), ('*.robot',), ('text/x-robotframework',)),
'RtsLexer': ('pygments.lexers.trafficscript', 'TrafficScript', ('rts', 'trafficscript'), ('*.rts',), ()),
'RubyConsoleLexer': ('pygments.lexers.ruby', 'Ruby irb session', ('rbcon', 'irb'), (), ('text/x-ruby-shellsession',)),
'RubyLexer': ('pygments.lexers.ruby', 'Ruby', ('rb', 'ruby', 'duby'), ('*.rb', '*.rbw', 'Rakefile', '*.rake', '*.gemspec', '*.rbx', '*.duby', 'Gemfile'), ('text/x-ruby', 'application/x-ruby')),
- 'RustLexer': ('pygments.lexers.rust', 'Rust', ('rust', 'rs'), ('*.rs', '*.rs.in'), ('text/rust',)),
+ 'RustLexer': ('pygments.lexers.rust', 'Rust', ('rust', 'rs'), ('*.rs', '*.rs.in'), ('text/rust', 'text/x-rust')),
'SASLexer': ('pygments.lexers.sas', 'SAS', ('sas',), ('*.SAS', '*.sas'), ('text/x-sas', 'text/sas', 'application/x-sas')),
'SLexer': ('pygments.lexers.r', 'S', ('splus', 's', 'r'), ('*.S', '*.R', '.Rhistory', '.Rprofile', '.Renviron'), ('text/S-plus', 'text/S', 'text/x-r-source', 'text/x-r', 'text/x-R', 'text/x-r-history', 'text/x-r-profile')),
'SMLLexer': ('pygments.lexers.ml', 'Standard ML', ('sml',), ('*.sml', '*.sig', '*.fun'), ('text/x-standardml', 'application/x-standardml')),
'ScssLexer': ('pygments.lexers.css', 'SCSS', ('scss',), ('*.scss',), ('text/x-scss',)),
'ShExCLexer': ('pygments.lexers.rdf', 'ShExC', ('shexc', 'shex'), ('*.shex',), ('text/shex',)),
'ShenLexer': ('pygments.lexers.lisp', 'Shen', ('shen',), ('*.shen',), ('text/x-shen', 'application/x-shen')),
+ 'SieveLexer': ('pygments.lexers.sieve', 'Sieve', ('sieve',), ('*.siv', '*.sieve'), ()),
'SilverLexer': ('pygments.lexers.verification', 'Silver', ('silver',), ('*.sil', '*.vpr'), ()),
'SlashLexer': ('pygments.lexers.slash', 'Slash', ('slash',), ('*.sl',), ()),
'SlimLexer': ('pygments.lexers.webmisc', 'Slim', ('slim',), ('*.slim',), ('text/x-slim',)),
'SwigLexer': ('pygments.lexers.c_like', 'SWIG', ('swig',), ('*.swg', '*.i'), ('text/swig',)),
'SystemVerilogLexer': ('pygments.lexers.hdl', 'systemverilog', ('systemverilog', 'sv'), ('*.sv', '*.svh'), ('text/x-systemverilog',)),
'TAPLexer': ('pygments.lexers.testing', 'TAP', ('tap',), ('*.tap',), ()),
- 'TOMLLexer': ('pygments.lexers.configs', 'TOML', ('toml',), ('*.toml',), ()),
+ 'TOMLLexer': ('pygments.lexers.configs', 'TOML', ('toml',), ('*.toml', 'Pipfile', 'poetry.lock'), ()),
'Tads3Lexer': ('pygments.lexers.int_fiction', 'TADS 3', ('tads3',), ('*.t',), ()),
'TasmLexer': ('pygments.lexers.asm', 'TASM', ('tasm',), ('*.asm', '*.ASM', '*.tasm'), ('text/x-tasm',)),
'TclLexer': ('pygments.lexers.tcl', 'Tcl', ('tcl',), ('*.tcl', '*.rvt'), ('text/x-tcl', 'text/x-script.tcl', 'application/x-tcl')),
'UcodeLexer': ('pygments.lexers.unicon', 'ucode', ('ucode',), ('*.u', '*.u1', '*.u2'), ()),
'UniconLexer': ('pygments.lexers.unicon', 'Unicon', ('unicon',), ('*.icn',), ('text/unicon',)),
'UrbiscriptLexer': ('pygments.lexers.urbi', 'UrbiScript', ('urbiscript',), ('*.u',), ('application/x-urbiscript',)),
+ 'UsdLexer': ('pygments.lexers.usd', 'USD', ('usd', 'usda'), ('*.usd', '*.usda'), ()),
'VBScriptLexer': ('pygments.lexers.basic', 'VBScript', ('vbscript',), ('*.vbs', '*.VBS'), ()),
'VCLLexer': ('pygments.lexers.varnish', 'VCL', ('vcl',), ('*.vcl',), ('text/x-vclsrc',)),
'VCLSnippetLexer': ('pygments.lexers.varnish', 'VCLSnippets', ('vclsnippets', 'vclsnippet'), (), ('text/x-vclsnippet',)),
'VhdlLexer': ('pygments.lexers.hdl', 'vhdl', ('vhdl',), ('*.vhdl', '*.vhd'), ('text/x-vhdl',)),
'VimLexer': ('pygments.lexers.textedit', 'VimL', ('vim',), ('*.vim', '.vimrc', '.exrc', '.gvimrc', '_vimrc', '_exrc', '_gvimrc', 'vimrc', 'gvimrc'), ('text/x-vim',)),
'WDiffLexer': ('pygments.lexers.diff', 'WDiff', ('wdiff',), ('*.wdiff',), ()),
+ 'WebIDLLexer': ('pygments.lexers.webidl', 'Web IDL', ('webidl',), ('*.webidl',), ()),
'WhileyLexer': ('pygments.lexers.whiley', 'Whiley', ('whiley',), ('*.whiley',), ('text/x-whiley',)),
'X10Lexer': ('pygments.lexers.x10', 'X10', ('x10', 'xten'), ('*.x10',), ('text/x-x10',)),
'XQueryLexer': ('pygments.lexers.webmisc', 'XQuery', ('xquery', 'xqy', 'xq', 'xql', 'xqm'), ('*.xqy', '*.xquery', '*.xq', '*.xql', '*.xqm'), ('text/xquery', 'application/xquery')),
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
MODULES = {'.NET': ('dotnet_load',),
'APC': ('apc_add',
'apc_bin_dump',
with open(__file__, 'w') as f:
f.write(header)
f.write('# Autogenerated\n\n')
- for k, v in sorted(new_data.iteritems()):
+ for k, v in sorted(new_data.items()):
f.write(format_lines(k + '_kw', v) + '\n\n')
f.write(footer)
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
FUNCTIONS = (
'OnEntityCreated',
'OnEntityDestroyed',
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""A collection of known USD-related keywords, attributes, and types."""
+
+COMMON_ATTRIBUTES = [
+ "extent",
+ "xformOpOrder",
+]
+
+KEYWORDS = [
+ "class",
+ "clips",
+ "custom",
+ "customData",
+ "def",
+ "dictionary",
+ "inherits",
+ "over",
+ "payload",
+ "references",
+ "rel",
+ "subLayers",
+ "timeSamples",
+ "uniform",
+ "variantSet",
+ "variantSets",
+ "variants",
+]
+
+OPERATORS = [
+ "add",
+ "append",
+ "delete",
+ "prepend",
+ "reorder",
+]
+
+SPECIAL_NAMES = [
+ "active",
+ "apiSchemas",
+ "defaultPrim",
+ "elementSize",
+ "endTimeCode",
+ "hidden",
+ "instanceable",
+ "interpolation",
+ "kind",
+ "startTimeCode",
+ "upAxis",
+]
+
+TYPES = [
+ "asset",
+ "bool",
+ "color3d",
+ "color3f",
+ "color3h",
+ "color4d",
+ "color4f",
+ "color4h",
+ "double",
+ "double2",
+ "double3",
+ "double4",
+ "float",
+ "float2",
+ "float3",
+ "float4",
+ "frame4d",
+ "half",
+ "half2",
+ "half3",
+ "half4",
+ "int",
+ "int2",
+ "int3",
+ "int4",
+ "keyword",
+ "matrix2d",
+ "matrix3d",
+ "matrix4d",
+ "normal3d",
+ "normal3f",
+ "normal3h",
+ "point3d",
+ "point3f",
+ "point3h",
+ "quatd",
+ "quatf",
+ "quath",
+ "string",
+ "syn",
+ "token",
+ "uchar",
+ "uchar2",
+ "uchar3",
+ "uchar4",
+ "uint",
+ "uint2",
+ "uint3",
+ "uint4",
+ "usdaType",
+ "vector3d",
+ "vector3f",
+ "vector3h",
+]
import re
from pygments.lexer import RegexLexer, include, bygroups, using, words, \
- DelegatingLexer
+ DelegatingLexer, default
from pygments.lexers.c_cpp import CppLexer, CLexer
from pygments.lexers.d import DLexer
from pygments.token import Text, Name, Number, String, Comment, Punctuation, \
- Other, Keyword, Operator
+ Other, Keyword, Operator, Literal
__all__ = ['GasLexer', 'ObjdumpLexer', 'DObjdumpLexer', 'CppObjdumpLexer',
- 'CObjdumpLexer', 'HsailLexer', 'LlvmLexer', 'NasmLexer',
- 'NasmObjdumpLexer', 'TasmLexer', 'Ca65Lexer', 'Dasm16Lexer']
+ 'CObjdumpLexer', 'HsailLexer', 'LlvmLexer', 'LlvmMirBodyLexer',
+ 'LlvmMirLexer', 'NasmLexer', 'NasmObjdumpLexer', 'TasmLexer',
+ 'Ca65Lexer', 'Dasm16Lexer']
class GasLexer(RegexLexer):
(number, Number.Integer),
(register, Name.Variable),
(r'[\r\n]+', Text, '#pop'),
- (r'[;#].*?\n', Comment, '#pop'),
+ (r'([;#]|//).*?\n', Comment.Single, '#pop'),
+ (r'/[*].*?[*]/', Comment.Multiline),
+ (r'/[*].*?\n[\w\W]*?[*]/', Comment.Multiline, '#pop'),
include('punctuation'),
include('whitespace')
('$'+number, Number.Integer),
(r"$'(.|\\')'", String.Char),
(r'[\r\n]+', Text, '#pop'),
- (r'[;#].*?\n', Comment, '#pop'),
+ (r'([;#]|//).*?\n', Comment.Single, '#pop'),
+ (r'/[*].*?[*]/', Comment.Multiline),
+ (r'/[*].*?\n[\w\W]*?[*]/', Comment.Multiline, '#pop'),
include('punctuation'),
include('whitespace')
'whitespace': [
(r'\n', Text),
(r'\s+', Text),
- (r'[;#].*?\n', Comment)
+ (r'([;#]|//).*?\n', Comment.Single),
+ (r'/[*][\w\W]*?[*]/', Comment.Multiline)
],
'punctuation': [
(r'[-*,.()\[\]!:]+', Punctuation)
}
def analyse_text(text):
- if re.match(r'^\.(text|data|section)', text, re.M):
+ if re.search(r'^\.(text|data|section)', text, re.M):
return True
- elif re.match(r'^\.\w+', text, re.M):
+ elif re.search(r'^\.\w+', text, re.M):
return 0.1
'win64cc', 'within', 'wpdRes', 'wpdResolutions', 'writeonly', 'x',
'x86_64_sysvcc', 'x86_fastcallcc', 'x86_fp80', 'x86_intrcc', 'x86_mmx',
'x86_regcallcc', 'x86_stdcallcc', 'x86_thiscallcc', 'x86_vectorcallcc', 'xchg',
- 'xor', 'zeroext', 'zeroinitializer', 'zext'),
+ 'xor', 'zeroext', 'zeroinitializer', 'zext', 'immarg', 'willreturn'),
suffix=r'\b'), Keyword),
# Types
]
}
+class LlvmMirBodyLexer(RegexLexer):
+ """
+ For LLVM MIR examples without the YAML wrapper
+
+ For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.
+
+ .. versionadded:: 2.6
+ """
+ name = 'LLVM-MIR Body'
+ aliases = ['llvm-mir-body']
+ filenames = []
+ mimetypes = []
+
+ tokens = {
+ 'root': [
+ # Attributes on basic blocks
+ (words(('liveins', 'successors'), suffix=':'), Keyword),
+ # Basic Block Labels
+ (r'bb\.[0-9]+(\.[0-9a-zA-Z_.-]+)?( \(address-taken\))?:', Name.Label),
+ (r'bb\.[0-9]+ \(%[0-9a-zA-Z_.-]+\)( \(address-taken\))?:', Name.Label),
+ (r'%bb\.[0-9]+(\.\w+)?', Name.Label),
+ # Stack references
+ (r'%stack\.[0-9]+(\.\w+\.addr)?', Name),
+ # Subreg indices
+ (r'%subreg\.\w+', Name),
+ # Virtual registers
+ (r'%[0-9a-zA-Z_]+ *', Name.Variable, 'vreg'),
+ # Reference to LLVM-IR global
+ include('global'),
+ # Reference to Intrinsic
+ (r'intrinsic\(\@[0-9a-zA-Z_.]+\)', Name.Variable.Global),
+ # Comparison predicates
+ (words(('eq', 'ne', 'sgt', 'sge', 'slt', 'sle', 'ugt', 'uge', 'ult',
+ 'ule'), prefix=r'intpred\(', suffix=r'\)'), Name.Builtin),
+ (words(('oeq', 'one', 'ogt', 'oge', 'olt', 'ole', 'ugt', 'uge',
+ 'ult', 'ule'), prefix=r'floatpred\(', suffix=r'\)'),
+ Name.Builtin),
+ # Physical registers
+ (r'\$\w+', String.Single),
+ # Assignment operator
+ (r'[=]', Operator),
+ # gMIR Opcodes
+ (r'(G_ANYEXT|G_[SZ]EXT|G_SEXT_INREG|G_TRUNC|G_IMPLICIT_DEF|G_PHI|'
+ r'G_FRAME_INDEX|G_GLOBAL_VALUE|G_INTTOPTR|G_PTRTOINT|G_BITCAST|'
+ r'G_CONSTANT|G_FCONSTANT|G_VASTART|G_VAARG|G_CTLZ|G_CTLZ_ZERO_UNDEF|'
+ r'G_CTTZ|G_CTTZ_ZERO_UNDEF|G_CTPOP|G_BSWAP|G_BITREVERSE|'
+ r'G_ADDRSPACE_CAST|G_BLOCK_ADDR|G_JUMP_TABLE|G_DYN_STACKALLOC|'
+ r'G_ADD|G_SUB|G_MUL|G_[SU]DIV|G_[SU]REM|G_AND|G_OR|G_XOR|G_SHL|'
+ r'G_[LA]SHR|G_[IF]CMP|G_SELECT|G_GEP|G_PTR_MASK|G_SMIN|G_SMAX|'
+ r'G_UMIN|G_UMAX|G_[US]ADDO|G_[US]ADDE|G_[US]SUBO|G_[US]SUBE|'
+ r'G_[US]MULO|G_[US]MULH|G_FNEG|G_FPEXT|G_FPTRUNC|G_FPTO[US]I|'
+ r'G_[US]ITOFP|G_FABS|G_FCOPYSIGN|G_FCANONICALIZE|G_FMINNUM|'
+ r'G_FMAXNUM|G_FMINNUM_IEEE|G_FMAXNUM_IEEE|G_FMINIMUM|G_FMAXIMUM|'
+ r'G_FADD|G_FSUB|G_FMUL|G_FMA|G_FMAD|G_FDIV|G_FREM|G_FPOW|G_FEXP|'
+ r'G_FEXP2|G_FLOG|G_FLOG2|G_FLOG10|G_FCEIL|G_FCOS|G_FSIN|G_FSQRT|'
+ r'G_FFLOOR|G_FRINT|G_FNEARBYINT|G_INTRINSIC_TRUNC|'
+ r'G_INTRINSIC_ROUND|G_LOAD|G_[ZS]EXTLOAD|G_INDEXED_LOAD|'
+ r'G_INDEXED_[ZS]EXTLOAD|G_STORE|G_INDEXED_STORE|'
+ r'G_ATOMIC_CMPXCHG_WITH_SUCCESS|G_ATOMIC_CMPXCHG|'
+ r'G_ATOMICRMW_(XCHG|ADD|SUB|AND|NAND|OR|XOR|MAX|MIN|UMAX|UMIN|FADD|'
+ r'FSUB)'
+ r'|G_FENCE|G_EXTRACT|G_UNMERGE_VALUES|G_INSERT|G_MERGE_VALUES|'
+ r'G_BUILD_VECTOR|G_BUILD_VECTOR_TRUNC|G_CONCAT_VECTORS|'
+ r'G_INTRINSIC|G_INTRINSIC_W_SIDE_EFFECTS|G_BR|G_BRCOND|'
+ r'G_BRINDIRECT|G_BRJT|G_INSERT_VECTOR_ELT|G_EXTRACT_VECTOR_ELT|'
+ r'G_SHUFFLE_VECTOR)\b',
+ Name.Builtin),
+ # Target independent opcodes
+ (r'(COPY|PHI|INSERT_SUBREG|EXTRACT_SUBREG|REG_SEQUENCE)\b',
+ Name.Builtin),
+ # Flags
+ (words(('killed', 'implicit')), Keyword),
+ # ConstantInt values
+ (r'[i][0-9]+ +', Keyword.Type, 'constantint'),
+ # ConstantFloat values
+ (r'(half|float|double) +', Keyword.Type, 'constantfloat'),
+ # Bare immediates
+ include('integer'),
+ # MMO's
+ (r':: *', Operator, 'mmo'),
+ # MIR Comments
+ (r';.*', Comment),
+ # If we get here, assume it's a target instruction
+ (r'[0-9a-zA-Z_]+', Name),
+ # Everything else that isn't highlighted
+ (r'[(), \n]+', Text),
+ ],
+ # The integer constant from a ConstantInt value
+ 'constantint': [
+ include('integer'),
+ (r'(?=.)', Text, '#pop'),
+ ],
+ # The floating point constant from a ConstantFloat value
+ 'constantfloat': [
+ include('float'),
+ (r'(?=.)', Text, '#pop'),
+ ],
+ 'vreg': [
+ # The bank or class if there is one
+ (r' *:(?!:)', Keyword, ('#pop', 'vreg_bank_or_class')),
+ # The LLT if there is one
+ (r' *\(', Text, 'vreg_type'),
+ (r'(?=.)', Text, '#pop'),
+ ],
+ 'vreg_bank_or_class': [
+ # The unassigned bank/class
+ (r' *_', Name.Variable.Magic),
+ (r' *[0-9a-zA-Z_]+', Name.Variable),
+ # The LLT if there is one
+ (r' *\(', Text, 'vreg_type'),
+ (r'(?=.)', Text, '#pop'),
+ ],
+ 'vreg_type': [
+ # Scalar and pointer types
+ (r' *[sp][0-9]+', Keyword.Type),
+ (r' *<[0-9]+ *x *[sp][0-9]+>', Keyword.Type),
+ (r'\)', Text, '#pop'),
+ (r'(?=.)', Text, '#pop'),
+ ],
+ 'mmo': [
+ (r'\(', Text),
+ (r' +', Text),
+ (words(('load', 'store', 'on', 'into', 'from', 'align', 'monotonic',
+ 'acquire', 'release', 'acq_rel', 'seq_cst')),
+ Keyword),
+ # IR references
+ (r'%ir\.[0-9a-zA-Z_.-]+', Name),
+ (r'%ir-block\.[0-9a-zA-Z_.-]+', Name),
+ (r'[-+]', Operator),
+ include('integer'),
+ include('global'),
+ (r',', Punctuation),
+ (r'\), \(', Text),
+ (r'\)', Text, '#pop'),
+ ],
+ 'integer': [(r'-?[0-9]+', Number.Integer),],
+ 'float': [(r'-?[0-9]+\.[0-9]+(e[+-][0-9]+)?', Number.Float)],
+ 'global': [(r'\@[0-9a-zA-Z_.]+', Name.Variable.Global)],
+ }
+
+class LlvmMirLexer(RegexLexer):
+ """
+ Lexer for the overall LLVM MIR document format
+
+ MIR is a human readable serialization format that's used to represent LLVM's
+ machine specific intermediate representation. It allows LLVM's developers to
+ see the state of the compilation process at various points, as well as test
+ individual pieces of the compiler.
+
+ For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.
+
+ .. versionadded:: 2.6
+ """
+ name = 'LLVM-MIR'
+ aliases = ['llvm-mir']
+ filenames = ['*.mir']
+
+ tokens = {
+ 'root': [
+ # Comments are hashes at the YAML level
+ (r'#.*', Comment),
+ # Documents starting with | are LLVM-IR
+ (r'--- \|$', Keyword, 'llvm_ir'),
+ # Other documents are MIR
+ (r'---', Keyword, 'llvm_mir'),
+ # Consume everything else in one token for efficiency
+ (r'[^-#]+|.', Text),
+ ],
+ 'llvm_ir': [
+ # Documents end with '...' or '---'
+ (r'(\.\.\.|(?=---))', Keyword, '#pop'),
+ # Delegate to the LlvmLexer
+ (r'((?:.|\n)+?)(?=(\.\.\.|---))', bygroups(using(LlvmLexer))),
+ ],
+ 'llvm_mir': [
+ # Comments are hashes at the YAML level
+ (r'#.*', Comment),
+ # Documents end with '...' or '---'
+ (r'(\.\.\.|(?=---))', Keyword, '#pop'),
+ # Handle the simple attributes
+ (r'name:', Keyword, 'name'),
+ (words(('alignment', ),
+ suffix=':'), Keyword, 'number'),
+ (words(('legalized', 'regBankSelected', 'tracksRegLiveness',
+ 'selected', 'exposesReturnsTwice'),
+ suffix=':'), Keyword, 'boolean'),
+ # Handle the attributes don't highlight inside
+ (words(('registers', 'stack', 'fixedStack', 'liveins', 'frameInfo',
+ 'machineFunctionInfo'),
+ suffix=':'), Keyword),
+ # Delegate the body block to the LlvmMirBodyLexer
+ (r'body: *\|', Keyword, 'llvm_mir_body'),
+ # Consume everything else
+ (r'.+', Text),
+ (r'\n', Text),
+ ],
+ 'name': [ (r'[^\n]+', Name), default('#pop') ],
+ 'boolean': [ (r' *(true|false)', Name.Builtin), default('#pop') ],
+ 'number': [ (r' *[0-9]+', Number), default('#pop') ],
+ 'llvm_mir_body': [
+ # Documents end with '...' or '---'.
+ # We have to pop llvm_mir_body and llvm_mir
+ (r'(\.\.\.|(?=---))', Keyword, '#pop:2'),
+ # Delegate the body block to the LlvmMirBodyLexer
+ (r'((?:.|\n)+?)(?=\.\.\.|---)', bygroups(using(LlvmMirBodyLexer))),
+ # The '...' is optional. If we didn't already find it then it isn't
+ # there. There might be a '---' instead though.
+ (r'(?!\.\.\.|---)((.|\n)+)', bygroups(using(LlvmMirBodyLexer), Keyword)),
+ ],
+ }
+
class NasmLexer(RegexLexer):
"""
def analyse_text(self, text):
# comments in GAS start with "#"
- if re.match(r'^\s*;', text, re.MULTILINE):
+ if re.search(r'^\s*;', text, re.MULTILINE):
return 0.9
class GoodDataCLLexer(RegexLexer):
"""
Lexer for `GoodData-CL
- <http://github.com/gooddata/GoodData-CL/raw/master/cli/src/main/resources/\
+ <https://github.com/gooddata/GoodData-CL/raw/master/cli/src/main/resources/\
com/gooddata/processor/COMMANDS.txt>`_
script files.
'try', 'typeid', 'typename', 'using', 'virtual',
'constexpr', 'nullptr', 'decltype', 'thread_local',
'alignas', 'alignof', 'static_assert', 'noexcept', 'override',
- 'final'), suffix=r'\b'), Keyword),
- (r'char(16_t|32_t)\b', Keyword.Type),
+ 'final', 'constinit', 'consteval', 'concept', 'co_await',
+ 'co_return', 'co_yield', 'requires', 'import', 'module'), suffix=r'\b'), Keyword),
+ (r'char(16_t|32_t|8_t)\b', Keyword.Type),
(r'(class)(\s+)', bygroups(Keyword, Text), 'classname'),
# C++11 raw strings
(r'(R)(")([^\\()\s]{,16})(\()((?:.|\n)*?)(\)\3)(")',
(r'(config|const|in|inout|out|param|ref|type|var)\b',
Keyword.Declaration),
- (r'(false|nil|true)\b', Keyword.Constant),
- (r'(bool|complex|imag|int|opaque|range|real|string|uint)\b',
+ (r'(false|nil|none|true)\b', Keyword.Constant),
+ (r'(bool|bytes|complex|imag|int|nothing|opaque|range|real|string|uint|void)\b',
Keyword.Type),
(words((
'align', 'as', 'atomic',
'begin', 'borrowed', 'break', 'by',
'catch', 'cobegin', 'coforall', 'continue',
- 'delete', 'dmapped', 'do', 'domain',
+ 'defer', 'delete', 'dmapped', 'do', 'domain',
'else', 'enum', 'except', 'export', 'extern',
- 'for', 'forall',
- 'if', 'index', 'inline',
- 'label', 'lambda', 'let', 'local',
+ 'for', 'forall', 'forwarding',
+ 'if', 'index', 'init', 'inline',
+ 'label', 'lambda', 'let', 'lifetime', 'local', 'locale'
'new', 'noinit',
'on', 'only', 'otherwise', 'override', 'owned',
'pragma', 'private', 'prototype', 'public',
'reduce', 'require', 'return',
'scan', 'select', 'serial', 'shared', 'single', 'sparse', 'subdomain', 'sync',
- 'then', 'throw', 'throws', 'try',
+ 'then', 'this', 'throw', 'throws', 'try',
'unmanaged', 'use',
'when', 'where', 'while', 'with',
'yield',
(r'#(.*\\\n)+.*$|(#.*?)$', Comment),
(r'(<[^\s>]+)(?:(\s+)(.*))?(>)',
bygroups(Name.Tag, Text, String, Name.Tag)),
- (r'([a-z]\w*)(\s+)',
- bygroups(Name.Builtin, Text), 'value'),
+ (r'[a-z]\w*', Name.Builtin, 'value'),
(r'\.+', Text),
],
'value': [
(r'[^\S\n]+', Text),
(r'\d+\.\d+\.\d+\.\d+(?:/\d+)?', Number),
(r'\d+', Number),
- (r'/([a-z0-9][\w./-]+)', String.Other),
+ (r'/([*a-z0-9][*\w./-]+)', String.Other),
(r'(on|off|none|any|all|double|email|dns|min|minimal|'
r'os|productonly|full|emerg|alert|crit|error|warn|'
r'notice|info|debug|registry|script|inetd|standalone|'
name = 'TOML'
aliases = ['toml']
- filenames = ['*.toml']
+ filenames = ['*.toml', 'Pipfile', 'poetry.lock']
tokens = {
'root': [
include('root')
],
- # Braced strings are not allowed in Csound scores, but this is needed
- # because the superclass includes it.
+ # Braced strings are not allowed in Csound scores, but this is needed because the
+ # superclass includes it.
'braced string': [
(r'\}\}', String, '#pop'),
(r'[^}]|\}(?!\})', String)
# prints https://csound.com/docs/manual/prints.html
# sprintf https://csound.com/docs/manual/sprintf.html
# sprintfk https://csound.com/docs/manual/sprintfk.html
- # work with strings that contain format specifiers. In addition, these
- # opcodes’ handling of format specifiers is inconsistent:
+ # work with strings that contain format specifiers. In addition, these opcodes’
+ # handling of format specifiers is inconsistent:
# - fprintks, fprints, printks, and prints do accept %a and %A
# specifiers, but can’t accept %s specifiers.
# - printf, printf_i, sprintf, and sprintfk don’t accept %a and %A
default, words, inherit
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
Number, Punctuation
-from pygments.util import iteritems
__all__ = ['CssLexer', 'SassLexer', 'ScssLexer', 'LessCssLexer']
(r"\*/", Comment, '#pop'),
],
}
- for group, common in iteritems(common_sass_tokens):
+ for group, common in common_sass_tokens.items():
tokens[group] = copy.copy(common)
tokens['value'].append((r'\n', Text, 'root'))
tokens['selector'].append((r'\n', Text, 'root'))
(r"\*/", Comment, '#pop'),
],
}
- for group, common in iteritems(common_sass_tokens):
+ for group, common in common_sass_tokens.items():
tokens[group] = copy.copy(common)
tokens['value'].extend([(r'\n', Text), (r'[;{}]', Punctuation, '#pop')])
tokens['selector'].extend([(r'\n', Text), (r'[;{}]', Punctuation, '#pop')])
'module', 'new', 'nothrow', 'out', 'override', 'package', 'pragma',
'private', 'protected', 'public', 'pure', 'ref', 'return', 'scope',
'shared', 'static', 'struct', 'super', 'switch', 'synchronized',
- 'template', 'this', 'throw', 'try', 'typedef', 'typeid', 'typeof',
+ 'template', 'this', 'throw', 'try', 'typeid', 'typeof',
'union', 'unittest', 'version', 'volatile', 'while', 'with',
'__gshared', '__traits', '__vector', '__parameters'),
suffix=r'\b'),
Keyword),
+ (words((
+ # Removed in 2.072
+ 'typedef', ),
+ suffix=r'\b'),
+ Keyword.Removed),
(words((
'bool', 'byte', 'cdouble', 'cent', 'cfloat', 'char', 'creal',
'dchar', 'double', 'float', 'idouble', 'ifloat', 'int', 'ireal',
Keyword.Type),
(r'(false|true|null)\b', Keyword.Constant),
(words((
- '__FILE__', '__MODULE__', '__LINE__', '__FUNCTION__', '__PRETTY_FUNCTION__'
- '', '__DATE__', '__EOF__', '__TIME__', '__TIMESTAMP__', '__VENDOR__',
- '__VERSION__'), suffix=r'\b'),
+ '__FILE__', '__FILE_FULL_PATH__', '__MODULE__', '__LINE__', '__FUNCTION__',
+ '__PRETTY_FUNCTION__', '__DATE__', '__EOF__', '__TIME__', '__TIMESTAMP__',
+ '__VENDOR__', '__VERSION__'), suffix=r'\b'),
Keyword.Pseudo),
(r'macro\b', Keyword.Reserved),
(r'(string|wstring|dstring|size_t|ptrdiff_t)\b', Name.Builtin),
name = 'JSON'
aliases = ['json']
- filenames = ['*.json']
+ filenames = ['*.json', 'Pipfile.lock']
mimetypes = ['application/json']
flags = re.DOTALL
using, this, default, words
from pygments.token import Punctuation, \
Text, Comment, Operator, Keyword, Name, String, Number, Literal, Other
-from pygments.util import get_choice_opt, iteritems
+from pygments.util import get_choice_opt
from pygments import unistring as uni
from pygments.lexers.html import XmlLexer
tokens = {}
token_variants = True
- for levelname, cs_ident in iteritems(levels):
+ for levelname, cs_ident in levels.items():
tokens[levelname] = {
'root': [
# method names
tokens = {}
token_variants = True
- for levelname, cs_ident in iteritems(levels):
+ for levelname, cs_ident in levels.items():
tokens[levelname] = {
'root': [
# method names
class PanLexer(RegexLexer):
"""
- Lexer for `pan <http://github.com/quattor/pan/>`_ source files.
+ Lexer for `pan <https://github.com/quattor/pan/>`_ source files.
Based on tcsh lexer.
name = 'Elixir'
aliases = ['elixir', 'ex', 'exs']
- filenames = ['*.ex', '*.exs']
+ filenames = ['*.ex', '*.eex', '*.exs']
mimetypes = ['text/x-elixir']
KEYWORD = ('fn', 'do', 'end', 'after', 'else', 'rescue', 'catch')
from pygments.token import Comment, Keyword, Literal, Name, Number, \
Operator, Punctuation, String, Text
-__all__ = ['BnfLexer', 'AbnfLexer', 'JsgfLexer']
+__all__ = ['BnfLexer', 'AbnfLexer', 'JsgfLexer', 'PegLexer']
class BnfLexer(RegexLexer):
(r'.', Comment.Multiline),
],
}
+
+
+class PegLexer(RegexLexer):
+ """
+ This lexer is for `Parsing Expression Grammars
+ <https://bford.info/pub/lang/peg.pdf>`_ (PEG).
+
+ Various implementations of PEG have made different decisions
+ regarding the syntax, so let's try to be accommodating:
+
+ * `<-`, `←`, `:`, and `=` are all accepted as rule operators.
+
+ * Both `|` and `/` are choice operators.
+
+ * `^`, `↑`, and `~` are cut operators.
+
+ * A single `a-z` character immediately before a string, or
+ multiple `a-z` characters following a string, are part of the
+ string (e.g., `r"..."` or `"..."ilmsuxa`).
+
+ .. versionadded:: 2.6
+ """
+
+ name = 'PEG'
+ aliases = ['peg']
+ filenames = ['*.peg']
+ mimetypes = ['text/x-peg']
+
+ tokens = {
+ 'root': [
+ # Comments
+ (r'#.*', Comment.Single),
+
+ # All operators
+ (r'<-|[←:=/|&!?*+^↑~]', Operator),
+
+ # Other punctuation
+ (r'[()]', Punctuation),
+
+ # Keywords
+ (r'\.', Keyword),
+
+ # Character classes
+ (r'(\[)([^\]]*(?:\\.[^\]\\]*)*)(\])',
+ bygroups(Punctuation, String, Punctuation)),
+
+ # Single and double quoted strings (with optional modifiers)
+ (r'[a-z]?"[^"\\]*(?:\\.[^"\\]*)*"[a-z]*', String.Double),
+ (r"[a-z]?'[^'\\]*(?:\\.[^'\\]*)*'[a-z]*", String.Single),
+
+ # Nonterminals are not whitespace, operators, or punctuation
+ (r'[^\s<←:=/|&!?*+\^↑~()\[\]"\'#]+', Name.Class),
+
+ # Fallback
+ (r'.', Text),
+ ],
+ }
(r"(')[" + uni.Lu + r"][\w\']*", Keyword.Type),
(r"(')\[[^\]]*\]", Keyword.Type), # tuples and lists get special treatment in GHC
(r"(')\([^)]*\)", Keyword.Type), # ..
+ (r"(')[:!#$%&*+.\\/<=>?@^|~-]+", Keyword.Type), # promoted type operators
# Operators
(r'\\(?![:!#$%&*+.\\/<=>?@^|~-]+)', Name.Function), # lambda operator
(r'(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+)', Operator.Word), # specials
'if', 'in', 'infix[lr]?', 'instance', 'rewrite', 'auto',
'namespace', 'codata', 'mutual', 'private', 'public', 'abstract',
'total', 'partial',
+ 'interface', 'implementation', 'export', 'covering', 'constructor',
'let', 'proof', 'of', 'then', 'static', 'where', '_', 'with',
'pattern', 'term', 'syntax', 'prefix',
'postulate', 'parameters', 'record', 'dsl', 'impossible', 'implicit',
tokens = {
'root': [
# Comments
- (r'^(\s*)(%%%s)' % '|'.join(directives),
+ (r'^(\s*)(%%(%s))' % '|'.join(directives),
bygroups(Text, Keyword.Reserved)),
(r'(\s*)(--(?![!#$%&*+./<=>?@^|_~:\\]).*?)$', bygroups(Text, Comment.Single)),
(r'(\s*)(\|{3}.*?)$', bygroups(Text, Comment.Single)),
this, words, combined
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
Number, Punctuation, Other
-from pygments.util import get_bool_opt, iteritems
+from pygments.util import get_bool_opt
import pygments.unistring as uni
__all__ = ['JavascriptLexer', 'KalLexer', 'LiveScriptLexer', 'DartLexer',
name = 'JavaScript'
aliases = ['js', 'javascript']
- filenames = ['*.js', '*.jsm']
+ filenames = ['*.js', '*.jsm', '*.mjs']
mimetypes = ['application/javascript', 'application/x-javascript',
'text/x-javascript', 'text/javascript']
(r'//', String.Regex, ('#pop', 'multilineregex')),
(r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
r'([gim]+\b|\B)', String.Regex, '#pop'),
+ (r'/', Operator, '#pop'),
default('#pop'),
],
'root': [
- # this next expr leads to infinite loops root -> slashstartsregex
- # (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
+ (r'^(?=\s|/)', Text, 'slashstartsregex'),
include('commentsandwhitespace'),
(r'(?:\([^()]+\))?[ ]*[~-]{1,2}>|'
r'(?:\(?[^()\n]+\)?)?[ ]*<[~-]{1,2}', Name.Function),
self._members = set()
if self.builtinshighlighting:
from pygments.lexers._lasso_builtins import BUILTINS, MEMBERS
- for key, value in iteritems(BUILTINS):
+ for key, value in BUILTINS.items():
self._builtins.update(value)
- for key, value in iteritems(MEMBERS):
+ for key, value in MEMBERS.items():
self._members.update(value)
RegexLexer.__init__(self, **options)
# This isn't really guarding against mishighlighting well-formed
# code, just the ability to infinite-loop between root and
# slashstartsregex.
- (r'/', Operator),
+ (r'/', Operator, '#pop'),
default('#pop'),
],
'root': [
class MaskLexer(RegexLexer):
"""
- For `Mask <http://github.com/atmajs/MaskJS>`__ markup.
+ For `Mask <https://github.com/atmajs/MaskJS>`__ markup.
.. versionadded:: 2.0
"""
# is recognized if it is either surrounded by spaces or by no
# spaces on both sides; only the former case matters for us. (This
# allows distinguishing `cd ./foo` from `cd ./ foo`.)
- (r'(?:^|(?<=;))\s*\w+\s+(?!=|\(|(%s)\s+)' % _operators, Name,
- 'commandargs'),
+ (r'(?:^|(?<=;))(\s*)(\w+)(\s+)(?!=|\(|(%s)\s+)' % _operators,
+ bygroups(Text, Name, Text), 'commandargs'),
# operators:
(_operators, Operator),
(r"[^']*'", String, '#pop'),
],
'commandargs': [
+ (r"[ \t]+", Text),
("'[^']*'", String),
- ("[^';\n]+", String),
- (";?\n?", Punctuation, '#pop'),
+ (r"[^';\s]+", String),
+ (";?", Punctuation, '#pop'),
]
}
and '{' not in first_non_comment):
return 1.
# comment
- elif re.match(r'^\s*%', text, re.M):
+ elif re.search(r'^\s*%', text, re.M):
return 0.2
# system cmd
- elif re.match(r'^!\w+', text, re.M):
+ elif re.search(r'^!\w+', text, re.M):
return 0.2
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
Number, Punctuation, Error
-__all__ = ['SMLLexer', 'OcamlLexer', 'OpaLexer']
+__all__ = ['SMLLexer', 'OcamlLexer', 'OpaLexer', 'ReasonLexer']
class SMLLexer(RegexLexer):
],
}
-
class OpaLexer(RegexLexer):
"""
Lexer for the Opa language (http://opalang.org).
(r'[^\-]+|-', Comment),
],
}
+
+class ReasonLexer(RegexLexer):
+ """
+ For the ReasonML language (https://reasonml.github.io/).
+
+ .. versionadded:: 2.6
+ """
+
+ name = 'ReasonML'
+ aliases = ['reason', "reasonml"]
+ filenames = ['*.re', '*.rei']
+ mimetypes = ['text/x-reasonml']
+
+ keywords = (
+ 'as', 'assert', 'begin', 'class', 'constraint', 'do', 'done', 'downto',
+ 'else', 'end', 'exception', 'external', 'false', 'for', 'fun', 'esfun',
+ 'function', 'functor', 'if', 'in', 'include', 'inherit', 'initializer', 'lazy',
+ 'let', 'switch', 'module', 'pub', 'mutable', 'new', 'nonrec', 'object', 'of',
+ 'open', 'pri', 'rec', 'sig', 'struct', 'then', 'to', 'true', 'try',
+ 'type', 'val', 'virtual', 'when', 'while', 'with'
+ )
+ keyopts = (
+ '!=', '#', '&', '&&', r'\(', r'\)', r'\*', r'\+', ',', '-',
+ r'-\.', '=>', r'\.', r'\.\.', r'\.\.\.', ':', '::', ':=', ':>', ';', ';;', '<',
+ '<-', '=', '>', '>]', r'>\}', r'\?', r'\?\?', r'\[', r'\[<', r'\[>',
+ r'\[\|', ']', '_', '`', r'\{', r'\{<', r'\|\|', r'\|', r'\|]', r'\}', '~'
+ )
+
+ operators = r'[!$%&*+\./:<=>?@^|~-]'
+ word_operators = ('and', 'asr', 'land', 'lor', 'lsl', 'lsr', 'lxor', 'mod', 'or')
+ prefix_syms = r'[!?~]'
+ infix_syms = r'[=<>@^|&+\*/$%-]'
+ primitives = ('unit', 'int', 'float', 'bool', 'string', 'char', 'list', 'array')
+
+ tokens = {
+ 'escape-sequence': [
+ (r'\\[\\"\'ntbr]', String.Escape),
+ (r'\\[0-9]{3}', String.Escape),
+ (r'\\x[0-9a-fA-F]{2}', String.Escape),
+ ],
+ 'root': [
+ (r'\s+', Text),
+ (r'false|true|\(\)|\[\]', Name.Builtin.Pseudo),
+ (r'\b([A-Z][\w\']*)(?=\s*\.)', Name.Namespace, 'dotted'),
+ (r'\b([A-Z][\w\']*)', Name.Class),
+ (r'//.*?\n', Comment.Single),
+ (r'\/\*(?![\/])', Comment.Multiline, 'comment'),
+ (r'\b(%s)\b' % '|'.join(keywords), Keyword),
+ (r'(%s)' % '|'.join(keyopts[::-1]), Operator.Word),
+ (r'(%s|%s)?%s' % (infix_syms, prefix_syms, operators), Operator),
+ (r'\b(%s)\b' % '|'.join(word_operators), Operator.Word),
+ (r'\b(%s)\b' % '|'.join(primitives), Keyword.Type),
+
+ (r"[^\W\d][\w']*", Name),
+
+ (r'-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)', Number.Float),
+ (r'0[xX][\da-fA-F][\da-fA-F_]*', Number.Hex),
+ (r'0[oO][0-7][0-7_]*', Number.Oct),
+ (r'0[bB][01][01_]*', Number.Bin),
+ (r'\d[\d_]*', Number.Integer),
+
+ (r"'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'",
+ String.Char),
+ (r"'.'", String.Char),
+ (r"'", Keyword),
+
+ (r'"', String.Double, 'string'),
+
+ (r'[~?][a-z][\w\']*:', Name.Variable),
+ ],
+ 'comment': [
+ (r'[^\/*]+', Comment.Multiline),
+ (r'\/\*', Comment.Multiline, '#push'),
+ (r'\*\/', Comment.Multiline, '#pop'),
+ (r'[\*]', Comment.Multiline),
+ ],
+ 'string': [
+ (r'[^\\"]+', String.Double),
+ include('escape-sequence'),
+ (r'\\\n', String.Double),
+ (r'"', String.Double, '#pop'),
+ ],
+ 'dotted': [
+ (r'\s+', Text),
+ (r'\.', Punctuation),
+ (r'[A-Z][\w\']*(?=\s*\.)', Name.Namespace),
+ (r'[A-Z][\w\']*', Name.Class, '#pop'),
+ (r'[a-z_][\w\']*', Name, '#pop'),
+ default('#pop'),
+ ],
+ }
--- /dev/null
+# -*- coding: utf-8 -*-
+"""
+ pygments.lexers.mosel
+ ~~~~~~~~~~~~~~~~~~~~~
+
+ Lexers for the mosel language.
+ http://www.fico.com/en/products/fico-xpress-optimization
+
+ :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, words
+from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
+ Number, Punctuation
+
+__all__ = ['MoselLexer']
+
+FUNCTIONS = (
+ # core functions
+ '_',
+ 'abs',
+ 'arctan',
+ 'asproc',
+ 'assert',
+ 'bitflip',
+ 'bitneg',
+ 'bitset',
+ 'bitshift',
+ 'bittest',
+ 'bitval',
+ 'ceil',
+ 'cos',
+ 'create',
+ 'currentdate',
+ 'currenttime',
+ 'cutelt',
+ 'cutfirst',
+ 'cuthead',
+ 'cutlast',
+ 'cuttail',
+ 'datablock',
+ 'delcell',
+ 'exists',
+ 'exit',
+ 'exp',
+ 'exportprob',
+ 'fclose',
+ 'fflush',
+ 'finalize',
+ 'findfirst',
+ 'findlast',
+ 'floor',
+ 'fopen',
+ 'fselect',
+ 'fskipline',
+ 'fwrite',
+ 'fwrite_',
+ 'fwriteln',
+ 'fwriteln_',
+ 'getact',
+ 'getcoeff',
+ 'getcoeffs',
+ 'getdual',
+ 'getelt',
+ 'getfid',
+ 'getfirst',
+ 'getfname',
+ 'gethead',
+ 'getlast',
+ 'getobjval',
+ 'getparam',
+ 'getrcost',
+ 'getreadcnt',
+ 'getreverse',
+ 'getsize',
+ 'getslack',
+ 'getsol',
+ 'gettail',
+ 'gettype',
+ 'getvars',
+ 'isdynamic',
+ 'iseof',
+ 'isfinite',
+ 'ishidden',
+ 'isinf',
+ 'isnan',
+ 'isodd',
+ 'ln',
+ 'localsetparam',
+ 'log',
+ 'makesos1',
+ 'makesos2',
+ 'maxlist',
+ 'memoryuse',
+ 'minlist',
+ 'newmuid',
+ 'publish',
+ 'random',
+ 'read',
+ 'readln',
+ 'reset',
+ 'restoreparam',
+ 'reverse',
+ 'round',
+ 'setcoeff',
+ 'sethidden',
+ 'setioerr',
+ 'setmatherr',
+ 'setname',
+ 'setparam',
+ 'setrandseed',
+ 'setrange',
+ 'settype',
+ 'sin',
+ 'splithead',
+ 'splittail',
+ 'sqrt',
+ 'strfmt',
+ 'substr',
+ 'timestamp',
+ 'unpublish',
+ 'versionnum',
+ 'versionstr',
+ 'write',
+ 'write_',
+ 'writeln',
+ 'writeln_',
+
+ # mosel exam mmxprs | sed -n -e "s/ [pf][a-z]* \([a-zA-Z0-9_]*\).*/'\1',/p" | sort -u
+ 'addcut',
+ 'addcuts',
+ 'addmipsol',
+ 'basisstability',
+ 'calcsolinfo',
+ 'clearmipdir',
+ 'clearmodcut',
+ 'command',
+ 'copysoltoinit',
+ 'crossoverlpsol',
+ 'defdelayedrows',
+ 'defsecurevecs',
+ 'delcuts',
+ 'dropcuts',
+ 'estimatemarginals',
+ 'fixglobal',
+ 'flushmsgq',
+ 'getbstat',
+ 'getcnlist',
+ 'getcplist',
+ 'getdualray',
+ 'getiis',
+ 'getiissense',
+ 'getiistype',
+ 'getinfcause',
+ 'getinfeas',
+ 'getlb',
+ 'getlct',
+ 'getleft',
+ 'getloadedlinctrs',
+ 'getloadedmpvars',
+ 'getname',
+ 'getprimalray',
+ 'getprobstat',
+ 'getrange',
+ 'getright',
+ 'getsensrng',
+ 'getsize',
+ 'getsol',
+ 'gettype',
+ 'getub',
+ 'getvars',
+ 'gety',
+ 'hasfeature',
+ 'implies',
+ 'indicator',
+ 'initglobal',
+ 'ishidden',
+ 'isiisvalid',
+ 'isintegral',
+ 'loadbasis',
+ 'loadcuts',
+ 'loadlpsol',
+ 'loadmipsol',
+ 'loadprob',
+ 'maximise',
+ 'maximize',
+ 'minimise',
+ 'minimize',
+ 'postsolve',
+ 'readbasis',
+ 'readdirs',
+ 'readsol',
+ 'refinemipsol',
+ 'rejectintsol',
+ 'repairinfeas',
+ 'repairinfeas_deprec',
+ 'resetbasis',
+ 'resetiis',
+ 'resetsol',
+ 'savebasis',
+ 'savemipsol',
+ 'savesol',
+ 'savestate',
+ 'selectsol',
+ 'setarchconsistency',
+ 'setbstat',
+ 'setcallback',
+ 'setcbcutoff',
+ 'setgndata',
+ 'sethidden',
+ 'setlb',
+ 'setmipdir',
+ 'setmodcut',
+ 'setsol',
+ 'setub',
+ 'setucbdata',
+ 'stopoptimise',
+ 'stopoptimize',
+ 'storecut',
+ 'storecuts',
+ 'unloadprob',
+ 'uselastbarsol',
+ 'writebasis',
+ 'writedirs',
+ 'writeprob',
+ 'writesol',
+ 'xor',
+ 'xprs_addctr',
+ 'xprs_addindic',
+
+ # mosel exam mmsystem | sed -n -e "s/ [pf][a-z]* \([a-zA-Z0-9_]*\).*/'\1',/p" | sort -u
+ 'addmonths',
+ 'copytext',
+ 'cuttext',
+ 'deltext',
+ 'endswith',
+ 'erase',
+ 'expandpath',
+ 'fcopy',
+ 'fdelete',
+ 'findfiles',
+ 'findtext',
+ 'fmove',
+ 'formattext',
+ 'getasnumber',
+ 'getchar',
+ 'getcwd',
+ 'getdate',
+ 'getday',
+ 'getdaynum',
+ 'getdays',
+ 'getdirsep',
+ 'getdsoparam',
+ 'getendparse',
+ 'getenv',
+ 'getfsize',
+ 'getfstat',
+ 'getftime',
+ 'gethour',
+ 'getminute',
+ 'getmonth',
+ 'getmsec',
+ 'getoserrmsg',
+ 'getoserror',
+ 'getpathsep',
+ 'getqtype',
+ 'getsecond',
+ 'getsepchar',
+ 'getsize',
+ 'getstart',
+ 'getsucc',
+ 'getsysinfo',
+ 'getsysstat',
+ 'gettime',
+ 'gettmpdir',
+ 'gettrim',
+ 'getweekday',
+ 'getyear',
+ 'inserttext',
+ 'isvalid',
+ 'jointext',
+ 'makedir',
+ 'makepath',
+ 'newtar',
+ 'newzip',
+ 'nextfield',
+ 'openpipe',
+ 'parseextn',
+ 'parseint',
+ 'parsereal',
+ 'parsetext',
+ 'pastetext',
+ 'pathmatch',
+ 'pathsplit',
+ 'qsort',
+ 'quote',
+ 'readtextline',
+ 'regmatch',
+ 'regreplace',
+ 'removedir',
+ 'removefiles',
+ 'setchar',
+ 'setdate',
+ 'setday',
+ 'setdsoparam',
+ 'setendparse',
+ 'setenv',
+ 'sethour',
+ 'setminute',
+ 'setmonth',
+ 'setmsec',
+ 'setoserror',
+ 'setqtype',
+ 'setsecond',
+ 'setsepchar',
+ 'setstart',
+ 'setsucc',
+ 'settime',
+ 'settrim',
+ 'setyear',
+ 'sleep',
+ 'splittext',
+ 'startswith',
+ 'system',
+ 'tarlist',
+ 'textfmt',
+ 'tolower',
+ 'toupper',
+ 'trim',
+ 'untar',
+ 'unzip',
+ 'ziplist',
+
+ # mosel exam mmjobs | sed -n -e "s/ [pf][a-z]* \([a-zA-Z0-9_]*\).*/'\1',/p" | sort -u
+ 'canceltimer',
+ 'clearaliases',
+ 'compile',
+ 'connect',
+ 'detach',
+ 'disconnect',
+ 'dropnextevent',
+ 'findxsrvs',
+ 'getaliases',
+ 'getannidents',
+ 'getannotations',
+ 'getbanner',
+ 'getclass',
+ 'getdsoprop',
+ 'getdsopropnum',
+ 'getexitcode',
+ 'getfromgid',
+ 'getfromid',
+ 'getfromuid',
+ 'getgid',
+ 'gethostalias',
+ 'getid',
+ 'getmodprop',
+ 'getmodpropnum',
+ 'getnextevent',
+ 'getnode',
+ 'getrmtid',
+ 'getstatus',
+ 'getsysinfo',
+ 'gettimer',
+ 'getuid',
+ 'getvalue',
+ 'isqueueempty',
+ 'load',
+ 'nullevent',
+ 'peeknextevent',
+ 'resetmodpar',
+ 'run',
+ 'send',
+ 'setcontrol',
+ 'setdefstream',
+ 'setgid',
+ 'sethostalias',
+ 'setmodpar',
+ 'settimer',
+ 'setuid',
+ 'setworkdir',
+ 'stop',
+ 'unload',
+ 'wait',
+ 'waitexpired',
+ 'waitfor',
+ 'waitforend',
+)
+
+
+class MoselLexer(RegexLexer):
+ """
+ For the Mosel optimization language.
+
+ .. versionadded:: 2.6
+ """
+ name = 'Mosel'
+ aliases = ['mosel']
+ filenames = ['*.mos']
+
+ tokens = {
+ 'root': [
+ (r'\n', Text),
+ (r'\s+', Text.Whitespace),
+ (r'!.*?\n', Comment.Single),
+ (r'\(!(.|\n)*?!\)', Comment.Multiline),
+ (words((
+ 'and', 'as', 'break', 'case', 'count', 'declarations', 'do',
+ 'dynamic', 'elif', 'else', 'end-', 'end', 'evaluation', 'false',
+ 'forall', 'forward', 'from', 'function', 'hashmap', 'if',
+ 'imports', 'include', 'initialisations', 'initializations', 'inter',
+ 'max', 'min', 'model', 'namespace', 'next', 'not', 'nsgroup',
+ 'nssearch', 'of', 'options', 'or', 'package', 'parameters',
+ 'procedure', 'public', 'prod', 'record', 'repeat', 'requirements',
+ 'return', 'sum', 'then', 'to', 'true', 'union', 'until', 'uses',
+ 'version', 'while', 'with'), prefix=r'\b', suffix=r'\b'),
+ Keyword.Builtin),
+ (words((
+ 'range', 'array', 'set', 'list', 'mpvar', 'mpproblem', 'linctr',
+ 'nlctr', 'integer', 'string', 'real', 'boolean', 'text', 'time',
+ 'date', 'datetime', 'returned', 'Model', 'Mosel', 'counter',
+ 'xmldoc', 'is_sos1', 'is_sos2', 'is_integer', 'is_binary',
+ 'is_continuous', 'is_free', 'is_semcont', 'is_semint',
+ 'is_partint'), prefix=r'\b', suffix=r'\b'),
+ Keyword.Type),
+ (r'(\+|\-|\*|/|=|<=|>=|\||\^|<|>|<>|\.\.|\.|:=|::|:|in|mod|div)',
+ Operator),
+ (r'[()\[\]{},;]+', Punctuation),
+ (words(FUNCTIONS, prefix=r'\b', suffix=r'\b'), Name.Function),
+ (r'(\d+\.(?!\.)\d*|\.(?!.)\d+)([eE][+-]?\d+)?', Number.Float),
+ (r'\d+([eE][+-]?\d+)?', Number.Integer),
+ (r'[+-]?Infinity', Number.Integer),
+ (r'0[xX][0-9a-fA-F]+', Number),
+ (r'"', String.Double, 'double_quote'),
+ (r'\'', String.Single, 'single_quote'),
+ (r'(\w+|(\.(?!\.)))', Text),
+ ],
+ 'single_quote': [
+ (r'\'', String.Single, '#pop'),
+ (r'[^\']+', String.Single),
+ ],
+ 'double_quote': [
+ (r'(\\"|\\[0-7]{1,3}\D|\\[abfnrtv]|\\\\)', String.Escape),
+ (r'\"', String.Double, '#pop'),
+ (r'[^"\\]+', String.Double),
+ ],
+ }
(r'\n+', Text),
],
'numbers': [
- (r'[0-9_]+#[0-9a-f]+#', Number.Hex),
+ (r'[0-9_]+#[0-9a-f_\.]+#', Number.Hex),
(r'[0-9_]+\.[0-9_]*', Number.Float),
(r'[0-9_]+', Number.Integer),
],
pygments.lexers.perl
~~~~~~~~~~~~~~~~~~~~
- Lexers for Perl and related languages.
+ Lexers for Perl, Raku and related languages.
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
class PerlLexer(RegexLexer):
"""
- For `Perl <http://www.perl.org>`_ source code.
+ For `Perl <https://www.perl.org>`_ source code.
"""
name = 'Perl'
class Perl6Lexer(ExtendedRegexLexer):
"""
- For `Perl 6 <http://www.perl6.org>`_ source code.
+ For `Raku <https://www.raku.org>`_ (a.k.a. Perl 6) source code.
.. versionadded:: 2.0
"""
name = 'Perl6'
- aliases = ['perl6', 'pl6']
+ aliases = ['perl6', 'pl6', 'raku']
filenames = ['*.pl', '*.pm', '*.nqp', '*.p6', '*.6pl', '*.p6l', '*.pl6',
- '*.6pm', '*.p6m', '*.pm6', '*.t']
+ '*.6pm', '*.p6m', '*.pm6', '*.t', '*.raku', '*.rakumod',
+ '*.rakutest', '*.rakudoc']
mimetypes = ['text/x-perl6', 'application/x-perl6']
flags = re.MULTILINE | re.DOTALL | re.UNICODE
PERL6_IDENTIFIER_RANGE = r"['\w:-]"
PERL6_KEYWORDS = (
- 'BEGIN', 'CATCH', 'CHECK', 'CONTROL', 'END', 'ENTER', 'FIRST', 'INIT',
- 'KEEP', 'LAST', 'LEAVE', 'NEXT', 'POST', 'PRE', 'START', 'TEMP',
- 'UNDO', 'as', 'assoc', 'async', 'augment', 'binary', 'break', 'but',
- 'cached', 'category', 'class', 'constant', 'contend', 'continue',
- 'copy', 'deep', 'default', 'defequiv', 'defer', 'die', 'do', 'else',
- 'elsif', 'enum', 'equiv', 'exit', 'export', 'fail', 'fatal', 'for',
- 'gather', 'given', 'goto', 'grammar', 'handles', 'has', 'if', 'inline',
- 'irs', 'is', 'last', 'leave', 'let', 'lift', 'loop', 'looser', 'macro',
- 'make', 'maybe', 'method', 'module', 'multi', 'my', 'next', 'of',
- 'ofs', 'only', 'oo', 'ors', 'our', 'package', 'parsed', 'prec',
- 'proto', 'readonly', 'redo', 'ref', 'regex', 'reparsed', 'repeat',
- 'require', 'required', 'return', 'returns', 'role', 'rule', 'rw',
- 'self', 'slang', 'state', 'sub', 'submethod', 'subset', 'supersede',
- 'take', 'temp', 'tighter', 'token', 'trusts', 'try', 'unary',
- 'unless', 'until', 'use', 'warn', 'when', 'where', 'while', 'will',
+ #Phasers
+ 'BEGIN','CATCH','CHECK','CLOSE','CONTROL','DOC','END','ENTER','FIRST',
+ 'INIT','KEEP','LAST','LEAVE','NEXT','POST','PRE','QUIT','UNDO',
+ #Keywords
+ 'anon','augment','but','class','constant','default','does','else',
+ 'elsif','enum','for','gather','given','grammar','has','if','import',
+ 'is','let','loop','made','make','method','module','multi','my','need',
+ 'orwith','our','proceed','proto','repeat','require','return',
+ 'return-rw','returns','role','rule','state','sub','submethod','subset',
+ 'succeed','supersede','token','try','unit','unless','until','use',
+ 'when','while','with','without',
+ #Traits
+ 'export','native','repr','required','rw','symbol',
)
PERL6_BUILTINS = (
- 'ACCEPTS', 'HOW', 'REJECTS', 'VAR', 'WHAT', 'WHENCE', 'WHERE', 'WHICH',
- 'WHO', 'abs', 'acos', 'acosec', 'acosech', 'acosh', 'acotan', 'acotanh',
- 'all', 'any', 'approx', 'arity', 'asec', 'asech', 'asin', 'asinh',
- 'assuming', 'atan', 'atan2', 'atanh', 'attr', 'bless', 'body', 'by',
- 'bytes', 'caller', 'callsame', 'callwith', 'can', 'capitalize', 'cat',
- 'ceiling', 'chars', 'chmod', 'chomp', 'chop', 'chr', 'chroot',
- 'circumfix', 'cis', 'classify', 'clone', 'close', 'cmp_ok', 'codes',
- 'comb', 'connect', 'contains', 'context', 'cos', 'cosec', 'cosech',
- 'cosh', 'cotan', 'cotanh', 'count', 'defined', 'delete', 'diag',
- 'dies_ok', 'does', 'e', 'each', 'eager', 'elems', 'end', 'eof', 'eval',
- 'eval_dies_ok', 'eval_elsewhere', 'eval_lives_ok', 'evalfile', 'exists',
- 'exp', 'first', 'flip', 'floor', 'flunk', 'flush', 'fmt', 'force_todo',
- 'fork', 'from', 'getc', 'gethost', 'getlogin', 'getpeername', 'getpw',
- 'gmtime', 'graphs', 'grep', 'hints', 'hyper', 'im', 'index', 'infix',
- 'invert', 'is_approx', 'is_deeply', 'isa', 'isa_ok', 'isnt', 'iterator',
- 'join', 'key', 'keys', 'kill', 'kv', 'lastcall', 'lazy', 'lc', 'lcfirst',
- 'like', 'lines', 'link', 'lives_ok', 'localtime', 'log', 'log10', 'map',
- 'max', 'min', 'minmax', 'name', 'new', 'nextsame', 'nextwith', 'nfc',
- 'nfd', 'nfkc', 'nfkd', 'nok_error', 'nonce', 'none', 'normalize', 'not',
- 'nothing', 'ok', 'once', 'one', 'open', 'opendir', 'operator', 'ord',
- 'p5chomp', 'p5chop', 'pack', 'pair', 'pairs', 'pass', 'perl', 'pi',
- 'pick', 'plan', 'plan_ok', 'polar', 'pop', 'pos', 'postcircumfix',
- 'postfix', 'pred', 'prefix', 'print', 'printf', 'push', 'quasi',
- 'quotemeta', 'rand', 're', 'read', 'readdir', 'readline', 'reduce',
- 'reverse', 'rewind', 'rewinddir', 'rindex', 'roots', 'round',
- 'roundrobin', 'run', 'runinstead', 'sameaccent', 'samecase', 'say',
- 'sec', 'sech', 'sech', 'seek', 'shape', 'shift', 'sign', 'signature',
- 'sin', 'sinh', 'skip', 'skip_rest', 'sleep', 'slurp', 'sort', 'splice',
- 'split', 'sprintf', 'sqrt', 'srand', 'strand', 'subst', 'substr', 'succ',
- 'sum', 'symlink', 'tan', 'tanh', 'throws_ok', 'time', 'times', 'to',
- 'todo', 'trim', 'trim_end', 'trim_start', 'true', 'truncate', 'uc',
- 'ucfirst', 'undef', 'undefine', 'uniq', 'unlike', 'unlink', 'unpack',
- 'unpolar', 'unshift', 'unwrap', 'use_ok', 'value', 'values', 'vec',
- 'version_lt', 'void', 'wait', 'want', 'wrap', 'write', 'zip',
+ 'ACCEPTS','abs','abs2rel','absolute','accept','accessed','acos',
+ 'acosec','acosech','acosh','acotan','acotanh','acquire','act','action',
+ 'actions','add','add_attribute','add_enum_value','add_fallback',
+ 'add_method','add_parent','add_private_method','add_role','add_trustee',
+ 'adverb','after','all','allocate','allof','allowed','alternative-names',
+ 'annotations','antipair','antipairs','any','anyof','app_lifetime',
+ 'append','arch','archname','args','arity','Array','asec','asech','asin',
+ 'asinh','ASSIGN-KEY','ASSIGN-POS','assuming','ast','at','atan','atan2',
+ 'atanh','AT-KEY','atomic-assign','atomic-dec-fetch','atomic-fetch',
+ 'atomic-fetch-add','atomic-fetch-dec','atomic-fetch-inc',
+ 'atomic-fetch-sub','atomic-inc-fetch','AT-POS','attributes','auth',
+ 'await','backtrace','Bag','BagHash','bail-out','base','basename',
+ 'base-repeating','batch','BIND-KEY','BIND-POS','bind-stderr',
+ 'bind-stdin','bind-stdout','bind-udp','bits','bless','block','Bool',
+ 'bool-only','bounds','break','Bridge','broken','BUILD','build-date',
+ 'bytes','cache','callframe','calling-package','CALL-ME','callsame',
+ 'callwith','can','cancel','candidates','cando','can-ok','canonpath',
+ 'caps','caption','Capture','cas','catdir','categorize','categorize-list',
+ 'catfile','catpath','cause','ceiling','cglobal','changed','Channel',
+ 'chars','chdir','child','child-name','child-typename','chmod','chomp',
+ 'chop','chr','chrs','chunks','cis','classify','classify-list','cleanup',
+ 'clone','close','closed','close-stdin','cmp-ok','code','codes','collate',
+ 'column','comb','combinations','command','comment','compiler','Complex',
+ 'compose','compose_type','composer','condition','config',
+ 'configure_destroy','configure_type_checking','conj','connect',
+ 'constraints','construct','contains','contents','copy','cos','cosec',
+ 'cosech','cosh','cotan','cotanh','count','count-only','cpu-cores',
+ 'cpu-usage','CREATE','create_type','cross','cue','curdir','curupdir','d',
+ 'Date','DateTime','day','daycount','day-of-month','day-of-week',
+ 'day-of-year','days-in-month','declaration','decode','decoder','deepmap',
+ 'default','defined','DEFINITE','delayed','DELETE-KEY','DELETE-POS',
+ 'denominator','desc','DESTROY','destroyers','devnull','diag',
+ 'did-you-mean','die','dies-ok','dir','dirname','dir-sep','DISTROnames',
+ 'do','does','does-ok','done','done-testing','duckmap','dynamic','e',
+ 'eager','earlier','elems','emit','enclosing','encode','encoder',
+ 'encoding','end','ends-with','enum_from_value','enum_value_list',
+ 'enum_values','enums','eof','EVAL','eval-dies-ok','EVALFILE',
+ 'eval-lives-ok','exception','excludes-max','excludes-min','EXISTS-KEY',
+ 'EXISTS-POS','exit','exitcode','exp','expected','explicitly-manage',
+ 'expmod','extension','f','fail','fails-like','fc','feature','file',
+ 'filename','find_method','find_method_qualified','finish','first','flat',
+ 'flatmap','flip','floor','flunk','flush','fmt','format','formatter',
+ 'freeze','from','from-list','from-loop','from-posix','full',
+ 'full-barrier','get','get_value','getc','gist','got','grab','grabpairs',
+ 'grep','handle','handled','handles','hardware','has_accessor','Hash',
+ 'head','headers','hh-mm-ss','hidden','hides','hour','how','hyper','id',
+ 'illegal','im','in','indent','index','indices','indir','infinite',
+ 'infix','infix:<+>','infix:<->','install_method_cache','Instant',
+ 'instead','Int','int-bounds','interval','in-timezone','invalid-str',
+ 'invert','invocant','IO','IO::Notification.watch-path','is_trusted',
+ 'is_type','isa','is-absolute','isa-ok','is-approx','is-deeply',
+ 'is-hidden','is-initial-thread','is-int','is-lazy','is-leap-year',
+ 'isNaN','isnt','is-prime','is-relative','is-routine','is-setting',
+ 'is-win','item','iterator','join','keep','kept','KERNELnames','key',
+ 'keyof','keys','kill','kv','kxxv','l','lang','last','lastcall','later',
+ 'lazy','lc','leading','level','like','line','lines','link','List',
+ 'listen','live','lives-ok','local','lock','log','log10','lookup','lsb',
+ 'made','MAIN','make','Map','match','max','maxpairs','merge','message',
+ 'method','method_table','methods','migrate','min','minmax','minpairs',
+ 'minute','misplaced','Mix','MixHash','mkdir','mode','modified','month',
+ 'move','mro','msb','multi','multiness','my','name','named','named_names',
+ 'narrow','nativecast','native-descriptor','nativesizeof','new','new_type',
+ 'new-from-daycount','new-from-pairs','next','nextcallee','next-handle',
+ 'nextsame','nextwith','NFC','NFD','NFKC','NFKD','nl-in','nl-out',
+ 'nodemap','nok','none','norm','not','note','now','nude','Num',
+ 'numerator','Numeric','of','offset','offset-in-hours','offset-in-minutes',
+ 'ok','old','on-close','one','on-switch','open','opened','operation',
+ 'optional','ord','ords','orig','os-error','osname','out-buffer','pack',
+ 'package','package-kind','package-name','packages','pair','pairs',
+ 'pairup','parameter','params','parent','parent-name','parents','parse',
+ 'parse-base','parsefile','parse-names','parts','pass','path','path-sep',
+ 'payload','peer-host','peer-port','periods','perl','permutations','phaser',
+ 'pick','pickpairs','pid','placeholder','plan','plus','polar','poll',
+ 'polymod','pop','pos','positional','posix','postfix','postmatch',
+ 'precomp-ext','precomp-target','pred','prefix','prematch','prepend',
+ 'print','printf','print-nl','print-to','private','private_method_table',
+ 'proc','produce','Promise','prompt','protect','pull-one','push',
+ 'push-all','push-at-least','push-exactly','push-until-lazy','put',
+ 'qualifier-type','quit','r','race','radix','rand','range','Rat','raw',
+ 're','read','readchars','readonly','ready','Real','reallocate','reals',
+ 'reason','rebless','receive','recv','redispatcher','redo','reduce',
+ 'rel2abs','relative','release','rename','repeated','replacement',
+ 'report','reserved','resolve','restore','result','resume','rethrow',
+ 'reverse','right','rindex','rmdir','role','roles_to_compose','rolish',
+ 'roll','rootdir','roots','rotate','rotor','round','roundrobin',
+ 'routine-type','run','rwx','s','samecase','samemark','samewith','say',
+ 'schedule-on','scheduler','scope','sec','sech','second','seek','self',
+ 'send','Set','set_hidden','set_name','set_package','set_rw','set_value',
+ 'SetHash','set-instruments','setup_finalization','shape','share','shell',
+ 'shift','sibling','sigil','sign','signal','signals','signature','sin',
+ 'sinh','sink','sink-all','skip','skip-at-least','skip-at-least-pull-one',
+ 'skip-one','skip-rest','sleep','sleep-timer','sleep-until','Slip','slurp',
+ 'slurp-rest','slurpy','snap','snapper','so','socket-host','socket-port',
+ 'sort','source','source-package','spawn','SPEC','splice','split',
+ 'splitdir','splitpath','sprintf','spurt','sqrt','squish','srand','stable',
+ 'start','started','starts-with','status','stderr','stdout','Str',
+ 'sub_signature','subbuf','subbuf-rw','subname','subparse','subst',
+ 'subst-mutate','substr','substr-eq','substr-rw','subtest','succ','sum',
+ 'Supply','symlink','t','tail','take','take-rw','tan','tanh','tap',
+ 'target','target-name','tc','tclc','tell','then','throttle','throw',
+ 'throws-like','timezone','tmpdir','to','today','todo','toggle','to-posix',
+ 'total','trailing','trans','tree','trim','trim-leading','trim-trailing',
+ 'truncate','truncated-to','trusts','try_acquire','trying','twigil','type',
+ 'type_captures','typename','uc','udp','uncaught_handler','unimatch',
+ 'uniname','uninames','uniparse','uniprop','uniprops','unique','unival',
+ 'univals','unlike','unlink','unlock','unpack','unpolar','unshift',
+ 'unwrap','updir','USAGE','use-ok','utc','val','value','values','VAR',
+ 'variable','verbose-config','version','VMnames','volume','vow','w','wait',
+ 'warn','watch','watch-path','week','weekday-of-month','week-number',
+ 'week-year','WHAT','when','WHERE','WHEREFORE','WHICH','WHO',
+ 'whole-second','WHY','wordcase','words','workaround','wrap','write',
+ 'write-to','x','yada','year','yield','yyyy-mm-dd','z','zip','zip-latest',
+
)
PERL6_BUILTIN_CLASSES = (
- 'Abstraction', 'Any', 'AnyChar', 'Array', 'Associative', 'Bag', 'Bit',
- 'Blob', 'Block', 'Bool', 'Buf', 'Byte', 'Callable', 'Capture', 'Char', 'Class',
- 'Code', 'Codepoint', 'Comparator', 'Complex', 'Decreasing', 'Exception',
- 'Failure', 'False', 'Grammar', 'Grapheme', 'Hash', 'IO', 'Increasing',
- 'Int', 'Junction', 'KeyBag', 'KeyExtractor', 'KeyHash', 'KeySet',
- 'KitchenSink', 'List', 'Macro', 'Mapping', 'Match', 'Matcher', 'Method',
- 'Module', 'Num', 'Object', 'Ordered', 'Ordering', 'OrderingPair',
- 'Package', 'Pair', 'Positional', 'Proxy', 'Range', 'Rat', 'Regex',
- 'Role', 'Routine', 'Scalar', 'Seq', 'Set', 'Signature', 'Str', 'StrLen',
- 'StrPos', 'Sub', 'Submethod', 'True', 'UInt', 'Undef', 'Version', 'Void',
- 'Whatever', 'bit', 'bool', 'buf', 'buf1', 'buf16', 'buf2', 'buf32',
- 'buf4', 'buf64', 'buf8', 'complex', 'int', 'int1', 'int16', 'int2',
- 'int32', 'int4', 'int64', 'int8', 'num', 'rat', 'rat1', 'rat16', 'rat2',
- 'rat32', 'rat4', 'rat64', 'rat8', 'uint', 'uint1', 'uint16', 'uint2',
- 'uint32', 'uint4', 'uint64', 'uint8', 'utf16', 'utf32', 'utf8',
+ #Booleans
+ 'False','True',
+ #Classes
+ 'Any','Array','Associative','AST','atomicint','Attribute','Backtrace',
+ 'Backtrace::Frame','Bag','Baggy','BagHash','Blob','Block','Bool','Buf',
+ 'Callable','CallFrame','Cancellation','Capture','CArray','Channel','Code',
+ 'compiler','Complex','ComplexStr','Cool','CurrentThreadScheduler',
+ 'Cursor','Date','Dateish','DateTime','Distro','Duration','Encoding',
+ 'Exception','Failure','FatRat','Grammar','Hash','HyperWhatever','Instant',
+ 'Int','int16','int32','int64','int8','IntStr','IO','IO::ArgFiles',
+ 'IO::CatHandle','IO::Handle','IO::Notification','IO::Path',
+ 'IO::Path::Cygwin','IO::Path::QNX','IO::Path::Unix','IO::Path::Win32',
+ 'IO::Pipe','IO::Socket','IO::Socket::Async','IO::Socket::INET','IO::Spec',
+ 'IO::Spec::Cygwin','IO::Spec::QNX','IO::Spec::Unix','IO::Spec::Win32',
+ 'IO::Special','Iterable','Iterator','Junction','Kernel','Label','List',
+ 'Lock','Lock::Async','long','longlong','Macro','Map','Match',
+ 'Metamodel::AttributeContainer','Metamodel::C3MRO','Metamodel::ClassHOW',
+ 'Metamodel::EnumHOW','Metamodel::Finalization','Metamodel::MethodContainer',
+ 'Metamodel::MROBasedMethodDispatch','Metamodel::MultipleInheritance',
+ 'Metamodel::Naming','Metamodel::Primitives','Metamodel::PrivateMethodContainer',
+ 'Metamodel::RoleContainer','Metamodel::Trusting','Method','Mix','MixHash',
+ 'Mixy','Mu','NFC','NFD','NFKC','NFKD','Nil','Num','num32','num64',
+ 'Numeric','NumStr','ObjAt','Order','Pair','Parameter','Perl','Pod::Block',
+ 'Pod::Block::Code','Pod::Block::Comment','Pod::Block::Declarator',
+ 'Pod::Block::Named','Pod::Block::Para','Pod::Block::Table','Pod::Heading',
+ 'Pod::Item','Pointer','Positional','PositionalBindFailover','Proc',
+ 'Proc::Async','Promise','Proxy','PseudoStash','QuantHash','Range','Rat',
+ 'Rational','RatStr','Real','Regex','Routine','Scalar','Scheduler',
+ 'Semaphore','Seq','Set','SetHash','Setty','Signature','size_t','Slip',
+ 'Stash','Str','StrDistance','Stringy','Sub','Submethod','Supplier',
+ 'Supplier::Preserving','Supply','Systemic','Tap','Telemetry',
+ 'Telemetry::Instrument::Thread','Telemetry::Instrument::Usage',
+ 'Telemetry::Period','Telemetry::Sampler','Thread','ThreadPoolScheduler',
+ 'UInt','uint16','uint32','uint64','uint8','Uni','utf8','Variable',
+ 'Version','VM','Whatever','WhateverCode','WrapHandle'
)
PERL6_OPERATORS = (
'~', '&', '^', 'but', 'does', '<=>', '..', '..^', '^..', '^..^',
'!=', '==', '<', '<=', '>', '>=', '~~', '===', '!eqv',
'&&', '||', '^^', '//', 'min', 'max', '??', '!!', 'ff', 'fff', 'so',
- 'not', '<==', '==>', '<<==', '==>>',
+ 'not', '<==', '==>', '<<==', '==>>','unicmp',
)
# Perl 6 has a *lot* of possible bracketing characters
this, words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
Number, Punctuation, Other
-from pygments.util import get_bool_opt, get_list_opt, iteritems, \
- shebang_matches
+from pygments.util import get_bool_opt, get_list_opt, shebang_matches
__all__ = ['ZephirLexer', 'PhpLexer']
include('commentsandwhitespace'),
(r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
r'([gim]+\b|\B)', String.Regex, '#pop'),
+ (r'/', Operator, '#pop'),
default('#pop')
],
'badregex': [
(r'\n', Text, '#pop')
],
'root': [
- (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
+ (r'^(?=\s|/)', Text, 'slashstartsregex'),
include('commentsandwhitespace'),
(r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
r'(<<|>>>?|==?|!=?|->|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
self._functions = set()
if self.funcnamehighlighting:
from pygments.lexers._php_builtins import MODULES
- for key, value in iteritems(MODULES):
+ for key, value in MODULES.items():
if key not in self.disabledmodules:
self._functions.update(value)
RegexLexer.__init__(self, **options)
# newlines are an error (use "nl" state)
]
+ def fstring_rules(ttype):
+ return [
+ # Assuming that a '}' is the closing brace after format specifier.
+ # Sadly, this means that we won't detect syntax error. But it's
+ # more important to parse correct syntax correctly, than to
+ # highlight invalid syntax.
+ (r'\}', String.Interpol),
+ (r'\{', String.Interpol, 'expr-inside-fstring'),
+ # backslashes, quotes and formatting signs must be parsed one at a time
+ (r'[^\\\'"{}\n]+', ttype),
+ (r'[\'"\\]', ttype),
+ # newlines are an error (use "nl" state)
+ ]
+
tokens = {
'root': [
(r'\n', Text),
bygroups(Text, String.Affix, String.Doc)),
(r"^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')",
bygroups(Text, String.Affix, String.Doc)),
- (r'[^\S\n]+', Text),
(r'\A#!.+$', Comment.Hashbang),
(r'#.*$', Comment.Single),
- (r'[]{}:(),;[]', Punctuation),
(r'\\\n', Text),
(r'\\', Text),
- (r'(in|is|and|or|not)\b', Operator.Word),
- (r'!=|==|<<|>>|[-~+/*%=<>&^|.]', Operator),
include('keywords'),
(r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'funcname'),
(r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'classname'),
'fromimport'),
(r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Text),
'import'),
- include('builtins'),
- include('magicfuncs'),
- include('magicvars'),
+ include('expr'),
+ ],
+ 'expr': [
+ # raw f-strings
+ ('(?i)(rf|fr)(""")',
+ bygroups(String.Affix, String.Double), 'tdqf'),
+ ("(?i)(rf|fr)(''')",
+ bygroups(String.Affix, String.Single), 'tsqf'),
+ ('(?i)(rf|fr)(")',
+ bygroups(String.Affix, String.Double), 'dqf'),
+ ("(?i)(rf|fr)(')",
+ bygroups(String.Affix, String.Single), 'sqf'),
+ # non-raw f-strings
+ ('([fF])(""")', bygroups(String.Affix, String.Double),
+ combined('fstringescape', 'tdqf')),
+ ("([fF])(''')", bygroups(String.Affix, String.Single),
+ combined('fstringescape', 'tsqf')),
+ ('([fF])(")', bygroups(String.Affix, String.Double),
+ combined('fstringescape', 'dqf')),
+ ("([fF])(')", bygroups(String.Affix, String.Single),
+ combined('fstringescape', 'sqf')),
# raw strings
- ('(?i)(rb|br|fr|rf|r)(""")',
+ ('(?i)(rb|br|r)(""")',
bygroups(String.Affix, String.Double), 'tdqs'),
- ("(?i)(rb|br|fr|rf|r)(''')",
+ ("(?i)(rb|br|r)(''')",
bygroups(String.Affix, String.Single), 'tsqs'),
- ('(?i)(rb|br|fr|rf|r)(")',
+ ('(?i)(rb|br|r)(")',
bygroups(String.Affix, String.Double), 'dqs'),
- ("(?i)(rb|br|fr|rf|r)(')",
+ ("(?i)(rb|br|r)(')",
bygroups(String.Affix, String.Single), 'sqs'),
# non-raw strings
- ('([uUbBfF]?)(""")', bygroups(String.Affix, String.Double),
+ ('([uUbB]?)(""")', bygroups(String.Affix, String.Double),
combined('stringescape', 'tdqs')),
- ("([uUbBfF]?)(''')", bygroups(String.Affix, String.Single),
+ ("([uUbB]?)(''')", bygroups(String.Affix, String.Single),
combined('stringescape', 'tsqs')),
- ('([uUbBfF]?)(")', bygroups(String.Affix, String.Double),
+ ('([uUbB]?)(")', bygroups(String.Affix, String.Double),
combined('stringescape', 'dqs')),
- ("([uUbBfF]?)(')", bygroups(String.Affix, String.Single),
+ ("([uUbB]?)(')", bygroups(String.Affix, String.Single),
combined('stringescape', 'sqs')),
+ (r'[^\S\n]+', Text),
+ (r'!=|==|<<|>>|:=|[-~+/*%=<>&^|.]', Operator),
+ (r'[]{}:(),;[]', Punctuation),
+ (r'(in|is|and|or|not)\b', Operator.Word),
+ include('expr-keywords'),
+ include('builtins'),
+ include('magicfuncs'),
+ include('magicvars'),
include('name'),
include('numbers'),
],
+ 'expr-inside-fstring': [
+ (r'[{([]', Punctuation, 'expr-inside-fstring-inner'),
+ # without format specifier
+ (r'(=\s*)?' # debug (https://bugs.python.org/issue36817)
+ r'(\![sraf])?' # conversion
+ r'}', String.Interpol, '#pop'),
+ # with format specifier
+ # we'll catch the remaining '}' in the outer scope
+ (r'(=\s*)?' # debug (https://bugs.python.org/issue36817)
+ r'(\![sraf])?' # conversion
+ r':', String.Interpol, '#pop'),
+ (r'[^\S]+', Text), # allow new lines
+ include('expr'),
+ ],
+ 'expr-inside-fstring-inner': [
+ (r'[{([]', Punctuation, 'expr-inside-fstring-inner'),
+ (r'[])}]', Punctuation, '#pop'),
+ (r'[^\S]+', Text), # allow new lines
+ include('expr'),
+ ],
+ 'expr-keywords': [
+ # Based on https://docs.python.org/3/reference/expressions.html
+ (words((
+ 'async for', 'await', 'else', 'for', 'if', 'lambda',
+ 'yield', 'yield from'), suffix=r'\b'),
+ Keyword),
+ (words(('True', 'False', 'None'), suffix=r'\b'), Keyword.Constant),
+ ],
'keywords': [
(words((
'assert', 'async', 'await', 'break', 'continue', 'del', 'elif',
'InterruptedError', 'IsADirectoryError', 'NotADirectoryError',
'PermissionError', 'ProcessLookupError', 'TimeoutError',
# others new in Python 3
- 'StopAsyncIteration'),
+ 'StopAsyncIteration', 'ModuleNotFoundError', 'RecursionError'),
prefix=r'(?<!\.)', suffix=r'\b'),
Name.Exception),
],
(uni_name, Name.Namespace),
default('#pop'),
],
+ 'fstringescape': [
+ ('{{', String.Escape),
+ ('}}', String.Escape),
+ include('stringescape'),
+ ],
'stringescape': [
(r'\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|'
r'U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})', String.Escape)
],
+ 'fstrings-single': fstring_rules(String.Single),
+ 'fstrings-double': fstring_rules(String.Double),
'strings-single': innerstring_rules(String.Single),
'strings-double': innerstring_rules(String.Double),
+ 'dqf': [
+ (r'"', String.Double, '#pop'),
+ (r'\\\\|\\"|\\\n', String.Escape), # included here for raw strings
+ include('fstrings-double')
+ ],
+ 'sqf': [
+ (r"'", String.Single, '#pop'),
+ (r"\\\\|\\'|\\\n", String.Escape), # included here for raw strings
+ include('fstrings-single')
+ ],
'dqs': [
(r'"', String.Double, '#pop'),
(r'\\\\|\\"|\\\n', String.Escape), # included here for raw strings
(r"\\\\|\\'|\\\n", String.Escape), # included here for raw strings
include('strings-single')
],
+ 'tdqf': [
+ (r'"""', String.Double, '#pop'),
+ include('fstrings-double'),
+ (r'\n', String.Double)
+ ],
+ 'tsqf': [
+ (r"'''", String.Single, '#pop'),
+ include('fstrings-single'),
+ (r'\n', String.Single)
+ ],
'tdqs': [
(r'"""', String.Double, '#pop'),
include('strings-double'),
'Exception', 'FloatingPointError', 'FutureWarning', 'GeneratorExit',
'IOError', 'ImportError', 'ImportWarning', 'IndentationError',
'IndexError', 'KeyError', 'KeyboardInterrupt', 'LookupError',
- 'MemoryError', 'ModuleNotFoundError', 'NameError',
+ 'MemoryError', 'NameError',
'NotImplementedError', 'OSError', 'OverflowError', 'OverflowWarning',
- 'PendingDeprecationWarning', 'RecursionError', 'ReferenceError',
+ 'PendingDeprecationWarning', 'ReferenceError',
'RuntimeError', 'RuntimeWarning', 'StandardError', 'StopIteration',
'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit',
'TabError', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError',
mimetypes = ['text/S-plus', 'text/S', 'text/x-r-source', 'text/x-r',
'text/x-R', 'text/x-r-history', 'text/x-r-profile']
- valid_name = r'(?:`[^`\\]*(?:\\.[^`\\]*)*`)|(?:(?:[a-zA-z]|[_.][^0-9])[\w_.]*)'
+ valid_name = r'`[^`\\]*(?:\\.[^`\\]*)*`|(?:[a-zA-Z]|\.[A-Za-z_.])[\w_.]*|\.'
tokens = {
'comments': [
(r'#.*$', Comment.Single),
--- /dev/null
+# -*- coding: utf-8 -*-
+"""
+ pygments.lexers.ride
+ ~~~~~~~~~~~~~~~~~~~~
+
+ Lexer for the Ride programming language.
+
+ :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, words, include
+from pygments.token import Comment, Keyword, Name, Number, Punctuation, String, Text
+
+__all__ = ['RideLexer']
+
+
+class RideLexer(RegexLexer):
+ """
+ For `Ride <https://docs.wavesplatform.com/en/ride/about-ride.html>`_
+ source code.
+
+ .. versionadded:: 2.6
+ """
+
+ name = 'Ride'
+ aliases = ['ride']
+ filenames = ['*.ride']
+ mimetypes = ['text/x-ride']
+
+ validName = r'[a-zA-Z_][a-zA-Z0-9_\']*'
+
+ builtinOps = (
+ '||', '|', '>=', '>', '==', '!',
+ '=', '<=', '<', '::', ':+', ':', '!=', '/',
+ '.', '=>', '-', '+', '*', '&&', '%', '++',
+ )
+
+ globalVariablesName = (
+ 'NOALG', 'MD5', 'SHA1', 'SHA224', 'SHA256', 'SHA384', 'SHA512',
+ 'SHA3224', 'SHA3256', 'SHA3384', 'SHA3512', 'nil', 'this', 'unit',
+ 'height', 'lastBlock', 'Buy', 'Sell', 'CEILING', 'FLOOR', 'DOWN',
+ 'HALFDOWN', 'HALFEVEN', 'HALFUP', 'UP',
+ )
+
+ typesName = (
+ 'Unit', 'Int', 'Boolean', 'ByteVector', 'String', 'Address', 'Alias',
+ 'Transfer', 'AssetPair', 'DataEntry', 'Order', 'Transaction',
+ 'GenesisTransaction', 'PaymentTransaction', 'ReissueTransaction',
+ 'BurnTransaction', 'MassTransferTransaction', 'ExchangeTransaction',
+ 'TransferTransaction', 'SetAssetScriptTransaction',
+ 'InvokeScriptTransaction', 'IssueTransaction', 'LeaseTransaction',
+ 'LeaseCancelTransaction', 'CreateAliasTransaction',
+ 'SetScriptTransaction', 'SponsorFeeTransaction', 'DataTransaction',
+ 'WriteSet', 'AttachedPayment', 'ScriptTransfer', 'TransferSet',
+ 'ScriptResult', 'Invocation', 'Asset', 'BlockInfo', 'Issue', 'Reissue',
+ 'Burn', 'NoAlg', 'Md5', 'Sha1', 'Sha224', 'Sha256', 'Sha384', 'Sha512',
+ 'Sha3224', 'Sha3256', 'Sha3384', 'Sha3512', 'BinaryEntry',
+ 'BooleanEntry', 'IntegerEntry', 'StringEntry', 'List', 'Ceiling',
+ 'Down', 'Floor', 'HalfDown', 'HalfEven', 'HalfUp', 'Up',
+ )
+
+ functionsName = (
+ 'fraction', 'size', 'toBytes', 'take', 'drop', 'takeRight', 'dropRight',
+ 'toString', 'isDefined', 'extract', 'throw', 'getElement', 'value',
+ 'cons', 'toUtf8String', 'toInt', 'indexOf', 'lastIndexOf', 'split',
+ 'parseInt', 'parseIntValue', 'keccak256', 'blake2b256', 'sha256',
+ 'sigVerify', 'toBase58String', 'fromBase58String', 'toBase64String',
+ 'fromBase64String', 'transactionById', 'transactionHeightById',
+ 'getInteger', 'getBoolean', 'getBinary', 'getString',
+ 'addressFromPublicKey', 'addressFromString', 'addressFromRecipient',
+ 'assetBalance', 'wavesBalance', 'getIntegerValue', 'getBooleanValue',
+ 'getBinaryValue', 'getStringValue', 'addressFromStringValue',
+ 'assetInfo', 'rsaVerify', 'checkMerkleProof', 'median',
+ 'valueOrElse', 'valueOrErrorMessage', 'contains', 'log', 'pow',
+ 'toBase16String', 'fromBase16String', 'blockInfoByHeight',
+ 'transferTransactionById',
+ )
+
+ reservedWords = words((
+ 'match', 'case', 'else', 'func', 'if',
+ 'let', 'then', '@Callable', '@Verifier',
+ ), suffix=r'\b')
+
+ tokens = {
+ 'root': [
+ # Comments
+ (r'#.*', Comment.Single),
+ # Whitespace
+ (r'\s+', Text),
+ # Strings
+ (r'"', String, 'doublequote'),
+ (r'utf8\'', String, 'utf8quote'),
+ (r'base(58|64|16)\'', String, 'singlequote'),
+ # Keywords
+ (reservedWords, Keyword.Reserved),
+ (r'\{-#.*?#-\}', Keyword.Reserved),
+ (r'FOLD<\d+>', Keyword.Reserved),
+ # Types
+ (words(typesName), Keyword.Type),
+ # Main
+ # (specialName, Keyword.Reserved),
+ # Prefix Operators
+ (words(builtinOps, prefix=r'\(', suffix=r'\)'), Name.Function),
+ # Infix Operators
+ (words(builtinOps), Name.Function),
+ (words(globalVariablesName), Name.Function),
+ (words(functionsName), Name.Function),
+ # Numbers
+ include('numbers'),
+ # Variable Names
+ (validName, Name.Variable),
+ # Parens
+ (r'[,()\[\]{}]', Punctuation),
+ ],
+
+ 'doublequote': [
+ (r'\\u[0-9a-fA-F]{4}', String.Escape),
+ (r'\\[nrfvb\\"]', String.Escape),
+ (r'[^"]', String),
+ (r'"', String, '#pop'),
+ ],
+
+ 'utf8quote': [
+ (r'\\u[0-9a-fA-F]{4}', String.Escape),
+ (r'\\[nrfvb\\\']', String.Escape),
+ (r'[^\']', String),
+ (r'\'', String, '#pop'),
+ ],
+
+ 'singlequote': [
+ (r'[^\']', String),
+ (r'\'', String, '#pop'),
+ ],
+
+ 'numbers': [
+ (r'_?\d+', Number.Integer),
+ ],
+ }
from pygments.lexer import Lexer
from pygments.token import Token
-from pygments.util import text_type
__all__ = ['RobotFrameworkLexer']
for value, token in row_tokenizer.tokenize(row):
for value, token in var_tokenizer.tokenize(value, token):
if value:
- yield index, token, text_type(value)
+ yield index, token, str(value)
index += len(value)
-class VariableTokenizer(object):
+class VariableTokenizer:
def tokenize(self, string, token):
var = VariableSplitter(string, identifiers='$@%&')
yield value, token
-class RowTokenizer(object):
+class RowTokenizer:
def __init__(self):
self._table = UnknownTable()
yield value, token
-class RowSplitter(object):
+class RowSplitter:
_space_splitter = re.compile('( {2,})')
_pipe_splitter = re.compile(r'((?:^| +)\|(?: +|$))')
yield rest
-class Tokenizer(object):
+class Tokenizer:
_tokens = None
def __init__(self):
return GherkinTokenizer().tokenize(value, KEYWORD)
-class GherkinTokenizer(object):
+class GherkinTokenizer:
_gherkin_prefix = re.compile('^(Given|When|Then|And) ', re.IGNORECASE)
def tokenize(self, value, token):
return token
-class _Table(object):
+class _Table:
_tokenizer_class = None
def __init__(self, prev_tokenizer=None):
class RustLexer(RegexLexer):
"""
- Lexer for the Rust programming language (version 1.10).
+ Lexer for the Rust programming language (version 1.40).
.. versionadded:: 1.6
"""
name = 'Rust'
filenames = ['*.rs', '*.rs.in']
aliases = ['rust', 'rs']
- mimetypes = ['text/rust']
+ mimetypes = ['text/rust', 'text/x-rust']
- keyword_types = (
- words(('u8', 'u16', 'u32', 'u64', 'i8', 'i16', 'i32', 'i64',
- 'i128', 'u128', 'usize', 'isize', 'f32', 'f64', 'str', 'bool'),
- suffix=r'\b'),
- Keyword.Type)
+ keyword_types = (words((
+ 'u8', 'u16', 'u32', 'u64', 'u128', 'i8', 'i16', 'i32', 'i64', 'i128',
+ 'usize', 'isize', 'f32', 'f64', 'char', 'str', 'bool',
+ ), suffix=r'\b'), Keyword.Type)
builtin_types = (words((
- # Reexported core operators
- 'Copy', 'Send', 'Sized', 'Sync',
+ 'Send', 'Sized', 'Sync', 'Unpin',
'Drop', 'Fn', 'FnMut', 'FnOnce',
-
- # Reexported types and traits
- 'Box',
- 'ToOwned',
- 'Clone',
- 'PartialEq', 'PartialOrd', 'Eq', 'Ord',
'AsRef', 'AsMut', 'Into', 'From',
- 'Default',
- 'Iterator', 'Extend', 'IntoIterator',
- 'DoubleEndedIterator', 'ExactSizeIterator',
- 'Option',
- 'Some', 'None',
- 'Result',
- 'Ok', 'Err',
- 'SliceConcatExt',
- 'String', 'ToString',
- 'Vec'), suffix=r'\b'),
- Name.Builtin)
+ 'Iterator', 'Extend', 'IntoIterator', 'DoubleEndedIterator',
+ 'ExactSizeIterator', 'Option', 'Result',
+ 'Box', 'ToOwned', 'String', 'ToString', 'Vec',
+ 'Clone', 'Copy', 'Default', 'Eq', 'Hash', 'Ord', 'PartialEq',
+ 'PartialOrd', 'Eq', 'Ord',
+ ), suffix=r'\b'), Name.Builtin)
+
+ builtin_funcs_macros = (words((
+ 'drop', 'Some', 'None', 'Ok', 'Err',
+ 'asm!', 'assert!', 'assert_eq!', 'assert_ne!', 'cfg!', 'column!',
+ 'compile_error!', 'concat!', 'concat_idents!', 'dbg!', 'debug_assert!',
+ 'debug_assert_eq!', 'debug_assert_ne!', 'env!', 'eprint!', 'eprintln!',
+ 'file!', 'format_args!', 'format_args_nl!', 'global_asm!', 'include!',
+ 'include_bytes!', 'include_str!', 'line!', 'log_syntax!',
+ 'module_path!', 'option_env!', 'panic!', 'print!', 'println!',
+ 'stringify!', 'thread_local!', 'todo!', 'trace_macros!',
+ 'unimplemented!', 'unreachable!', 'vec!', 'write!', 'writeln!',
+ ), suffix=r'\b'), Name.Builtin)
tokens = {
'root': [
(r"""\$([a-zA-Z_]\w*|\(,?|\),?|,?)""", Comment.Preproc),
# Keywords
(words((
- 'as', 'async', 'await', 'box', 'const', 'crate', 'else',
+ 'as', 'async', 'await', 'box', 'const', 'crate', 'dyn', 'else',
'extern', 'for', 'if', 'impl', 'in', 'loop', 'match', 'move',
'mut', 'pub', 'ref', 'return', 'static', 'super', 'trait',
- 'try', 'unsafe', 'use', 'where', 'while'), suffix=r'\b'),
- Keyword),
+ 'try', 'unsafe', 'use', 'where', 'while', 'macro_rules!',
+ ), suffix=r'\b'), Keyword),
(words(('abstract', 'alignof', 'become', 'do', 'final', 'macro',
'offsetof', 'override', 'priv', 'proc', 'pure', 'sizeof',
'typeof', 'unsized', 'virtual', 'yield'), suffix=r'\b'),
(r'(struct|enum|type|union)\b', Keyword, 'typename'),
(r'(default)(\s+)(type|fn)\b', bygroups(Keyword, Text, Keyword)),
keyword_types,
- (r'self\b', Name.Builtin.Pseudo),
+ (r'[sS]elf\b', Name.Builtin.Pseudo),
# Prelude (taken from Rust's src/libstd/prelude.rs)
builtin_types,
+ builtin_funcs_macros,
# Path seperators, so types don't catch them.
(r'::\b', Text),
# Types in positions.
# Labels
(r'(break|continue)(\s*)(\'[A-Za-z_]\w*)?',
bygroups(Keyword, Text.Whitespace, Name.Label)),
- # Character Literal
+
+ # Character literals
(r"""'(\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0"""
r"""|\\u\{[0-9a-fA-F]{1,6}\}|.)'""",
String.Char),
(r"""b'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0"""
r"""|\\u\{[0-9a-fA-F]{1,6}\}|.)'""",
String.Char),
- # Binary Literal
+
+ # Binary literals
(r'0b[01_]+', Number.Bin, 'number_lit'),
- # Octal Literal
+ # Octal literals
(r'0o[0-7_]+', Number.Oct, 'number_lit'),
- # Hexadecimal Literal
+ # Hexadecimal literals
(r'0[xX][0-9a-fA-F_]+', Number.Hex, 'number_lit'),
- # Decimal Literal
+ # Decimal literals
(r'[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|'
r'\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)', Number.Float,
'number_lit'),
(r'[0-9][0-9_]*', Number.Integer, 'number_lit'),
- # String Literal
+
+ # String literals
(r'b"', String, 'bytestring'),
(r'"', String, 'string'),
(r'b?r(#*)".*?"\1', String),
- # Lifetime
- (r"""'static""", Name.Builtin),
- (r"""'[a-zA-Z_]\w*""", Name.Attribute),
+ # Lifetime names
+ (r"'(static|_)", Name.Builtin),
+ (r"'[a-zA-Z_]\w*", Name.Attribute),
# Operators and Punctuation
+ (r'\.\.=?', Operator),
(r'[{}()\[\],.;]', Punctuation),
(r'[+\-*/%&|<>^!~@=:?]', Operator),
- # Identifier
+ # Identifiers
(r'[a-zA-Z_]\w*', Name),
+ # Raw identifiers
+ (r'r#[a-zA-Z_]\w*', Name),
# Attributes
(r'#!?\[', Comment.Preproc, 'attribute['),
- # Macros
- (r'([A-Za-z_]\w*)(!)(\s*)([A-Za-z_]\w*)?(\s*)(\{)',
- bygroups(Comment.Preproc, Punctuation, Whitespace, Name,
- Whitespace, Punctuation), 'macro{'),
- (r'([A-Za-z_]\w*)(!)(\s*)([A-Za-z_]\w*)?(\()',
- bygroups(Comment.Preproc, Punctuation, Whitespace, Name,
- Punctuation), 'macro('),
],
'comment': [
(r'[^*/]+', Comment.Multiline),
(r"""\\x[89a-fA-F][0-9a-fA-F]""", String.Escape),
include('string'),
],
- 'macro{': [
- (r'\{', Operator, '#push'),
- (r'\}', Operator, '#pop'),
- ],
- 'macro(': [
- (r'\(', Operator, '#push'),
- (r'\)', Operator, '#pop'),
- ],
'attribute_common': [
(r'"', String, 'string'),
(r'\[', Comment.Preproc, 'attribute['),
words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
Number, Punctuation, Error, Whitespace, Other
-from pygments.util import get_bool_opt, get_list_opt, iteritems
+from pygments.util import get_bool_opt, get_list_opt
__all__ = ['LuaLexer', 'MoonScriptLexer', 'ChaiscriptLexer', 'LSLLexer',
'AppleScriptLexer', 'RexxLexer', 'MOOCodeLexer', 'HybrisLexer',
- 'EasytrieveLexer', 'JclLexer']
+ 'EasytrieveLexer', 'JclLexer', 'MiniScriptLexer']
class LuaLexer(RegexLexer):
self._functions = set()
if self.func_name_highlighting:
from pygments.lexers._lua_builtins import MODULES
- for mod, func in iteritems(MODULES):
+ for mod, func in MODULES.items():
if mod not in self.disabled_modules:
self._functions.update(func)
RegexLexer.__init__(self, **options)
continue
yield index, token, value
-
class MoonScriptLexer(LuaLexer):
"""
For `MoonScript <http://moonscript.org>`_ source code.
result = 1.0
assert 0.0 <= result <= 1.0
return result
+
+
+class MiniScriptLexer(RegexLexer):
+ """
+ For `MiniScript <https://miniscript.org>`_ source code.
+
+ .. versionadded:: 2.6
+ """
+
+ name = "MiniScript"
+ aliases = ["ms", "miniscript"]
+ filenames = ["*.ms"]
+ mimetypes = ['text/x-minicript', 'application/x-miniscript']
+
+ tokens = {
+ 'root': [
+ (r'#!(.*?)$', Comment.Preproc),
+ default('base'),
+ ],
+ 'base': [
+ ('//.*$', Comment.Single),
+ (r'(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?', Number),
+ (r'(?i)\d+e[+-]?\d+', Number),
+ (r'\d+', Number),
+ (r'\n', Text),
+ (r'[^\S\n]+', Text),
+ (r'"', String, 'string_double'),
+ (r'(==|!=|<=|>=|[=+\-*/%^<>.:])', Operator),
+ (r'[;,\[\]{}()]', Punctuation),
+ (words((
+ 'break', 'continue', 'else', 'end', 'for', 'function', 'if',
+ 'in', 'isa', 'then', 'repeat', 'return', 'while'), suffix=r'\b'),
+ Keyword),
+ (words((
+ 'abs', 'acos', 'asin', 'atan', 'ceil', 'char', 'cos', 'floor',
+ 'log', 'round', 'rnd', 'pi', 'sign', 'sin', 'sqrt', 'str', 'tan',
+ 'hasIndex', 'indexOf', 'len', 'val', 'code', 'remove', 'lower',
+ 'upper', 'replace', 'split', 'indexes', 'values', 'join', 'sum',
+ 'sort', 'shuffle', 'push', 'pop', 'pull', 'range',
+ 'print', 'input', 'time', 'wait', 'locals', 'globals', 'outer',
+ 'yield'), suffix=r'\b'),
+ Name.Builtin),
+ (r'(true|false|null)\b', Keyword.Constant),
+ (r'(and|or|not|new)\b', Operator.Word),
+ (r'(self|super|__isa)\b', Name.Builtin.Pseudo),
+ (r'[a-zA-Z_]\w*', Name.Variable)
+ ],
+ 'string_double': [
+ (r'[^"\n]+', String),
+ (r'""', String),
+ (r'"', String, '#pop'),
+ (r'\n', Text, '#pop'), # Stray linefeed also terminates strings.
+ ]
+ }
--- /dev/null
+# -*- coding: utf-8 -*-
+"""
+ pygments.lexers.sieve
+ ~~~~~~~~~~~~~~~~~~~~~
+
+ Lexer for Sieve file format.
+
+ https://tools.ietf.org/html/rfc5228
+ https://tools.ietf.org/html/rfc5173
+ https://tools.ietf.org/html/rfc5229
+ https://tools.ietf.org/html/rfc5230
+ https://tools.ietf.org/html/rfc5232
+ https://tools.ietf.org/html/rfc5235
+ https://tools.ietf.org/html/rfc5429
+ https://tools.ietf.org/html/rfc8580
+
+ :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, bygroups
+from pygments.token import Comment, Name, Literal, String, Text, Punctuation, Keyword
+
+__all__ = ["SieveLexer"]
+
+
+class SieveLexer(RegexLexer):
+ """
+ Lexer for sieve format.
+ """
+ name = 'Sieve'
+ filenames = ['*.siv', '*.sieve']
+ aliases = ['sieve']
+
+ tokens = {
+ 'root': [
+ (r'\s+', Text),
+ (r'[();,{}\[\]]', Punctuation),
+ # import:
+ (r'(?i)require',
+ Keyword.Namespace),
+ # tags:
+ (r'(?i)(:)(addresses|all|contains|content|create|copy|comparator|count|days|detail|domain|fcc|flags|from|handle|importance|is|localpart|length|lowerfirst|lower|matches|message|mime|options|over|percent|quotewildcard|raw|regex|specialuse|subject|text|under|upperfirst|upper|value)',
+ bygroups(Name.Tag, Name.Tag)),
+ # tokens:
+ (r'(?i)(address|addflag|allof|anyof|body|discard|elsif|else|envelope|ereject|exists|false|fileinto|if|hasflag|header|keep|notify_method_capability|notify|not|redirect|reject|removeflag|setflag|size|spamtest|stop|string|true|vacation|virustest)',
+ Name.Builtin),
+ (r'(?i)set',
+ Keyword.Declaration),
+ # number:
+ (r'([0-9.]+)([kmgKMG])?',
+ bygroups(Literal.Number, Literal.Number)),
+ # comment:
+ (r'#.*$',
+ Comment.Single),
+ (r'/\*.*\*/',
+ Comment.Multiline),
+ # string:
+ (r'"[^"]*?"',
+ String),
+ # text block:
+ (r'text:',
+ Name.Tag, 'text'),
+ ],
+ 'text': [
+ (r'[^.].*?\n', String),
+ (r'^\.', Punctuation, "#pop"),
+ ]
+ }
"""
from pygments.lexer import RegexLexer, words
-from pygments.token import Comment, Generic, Keyword, Name, Number, \
- Operator, Punctuation, Text
+from pygments.token import Comment, Keyword, Name, Number, Operator, \
+ Punctuation, Text
__all__ = ['NuSMVLexer']
"""
import re
+from io import BytesIO
from pygments.lexer import Lexer
from pygments.token import Token, Error, Text
-from pygments.util import get_choice_opt, text_type, BytesIO
+from pygments.util import get_choice_opt
__all__ = ['TextLexer', 'RawTokenLexer']
Lexer.__init__(self, **options)
def get_tokens(self, text):
- if isinstance(text, text_type):
+ if isinstance(text, str):
# raw token stream never has any non-ASCII characters
text = text.encode('ascii')
if self.compress == 'gz':
from pygments.token import Punctuation, Whitespace, Text, Comment, Operator, \
Keyword, Name, String, Number, Generic
from pygments.lexers import get_lexer_by_name, ClassNotFound
-from pygments.util import iteritems
from pygments.lexers._postgres_builtins import KEYWORDS, DATATYPES, \
PSEUDO_TYPES, PLPGSQL_KEYWORDS
yield (match.start(7), String, match.group(7))
-class PostgresBase(object):
+class PostgresBase:
"""Base class for Postgres-related lexers.
This is implemented as a mixin to avoid the Lexer metaclass kicking in.
mimetypes = ['text/x-plpgsql']
flags = re.IGNORECASE
- tokens = {k: l[:] for (k, l) in iteritems(PostgresLexer.tokens)}
+ tokens = {k: l[:] for (k, l) in PostgresLexer.tokens.items()}
# extend the keywords list
for i, pattern in enumerate(tokens['root']):
aliases = [] # not public
flags = re.IGNORECASE
- tokens = {k: l[:] for (k, l) in iteritems(PostgresLexer.tokens)}
+ tokens = {k: l[:] for (k, l) in PostgresLexer.tokens.items()}
tokens['root'].append(
(r'\\[^\s]+', Keyword.Pseudo, 'psql-command'))
r'FATAL|HINT|DETAIL|CONTEXT|LINE [0-9]+):)(.*?\n)')
-class lookahead(object):
+class lookahead:
"""Wrap an iterator and allow pushing back an item."""
def __init__(self, x):
self.iter = iter(x)
'FREEZE', 'FROM', 'FULL', 'FUNCTION', 'G', 'GENERAL', 'GENERATED', 'GET',
'GLOBAL', 'GO', 'GOTO', 'GRANT', 'GRANTED', 'GROUP', 'GROUPING',
'HANDLER', 'HAVING', 'HIERARCHY', 'HOLD', 'HOST', 'IDENTITY', 'IF',
- 'IGNORE', 'ILIKE', 'IMMEDIATE', 'IMMUTABLE', 'IMPLEMENTATION', 'IMPLICIT',
+ 'IGNORE', 'ILIKE', 'IMMEDIATE', 'IMMEDIATELY', 'IMMUTABLE', 'IMPLEMENTATION', 'IMPLICIT',
'IN', 'INCLUDING', 'INCREMENT', 'INDEX', 'INDITCATOR', 'INFIX',
'INHERITS', 'INITIALIZE', 'INITIALLY', 'INNER', 'INOUT', 'INPUT',
'INSENSITIVE', 'INSERT', 'INSTANTIABLE', 'INSTEAD', 'INTERSECT', 'INTO',
'OVERRIDING', 'OWNER', 'PAD', 'PARAMETER', 'PARAMETERS', 'PARAMETER_MODE',
'PARAMATER_NAME', 'PARAMATER_ORDINAL_POSITION',
'PARAMETER_SPECIFIC_CATALOG', 'PARAMETER_SPECIFIC_NAME',
- 'PARAMATER_SPECIFIC_SCHEMA', 'PARTIAL', 'PASCAL', 'PENDANT', 'PLACING',
- 'PLI', 'POSITION', 'POSTFIX', 'PRECISION', 'PREFIX', 'PREORDER',
+ 'PARAMATER_SPECIFIC_SCHEMA', 'PARTIAL', 'PASCAL', 'PENDANT', 'PERIOD', 'PLACING',
+ 'PLI', 'POSITION', 'POSTFIX', 'PRECEEDS', 'PRECISION', 'PREFIX', 'PREORDER',
'PREPARE', 'PRESERVE', 'PRIMARY', 'PRIOR', 'PRIVILEGES', 'PROCEDURAL',
'PROCEDURE', 'PUBLIC', 'READ', 'READS', 'RECHECK', 'RECURSIVE', 'REF',
'REFERENCES', 'REFERENCING', 'REINDEX', 'RELATIVE', 'RENAME',
'SQL', 'SQLCODE', 'SQLERROR', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNINIG',
'STABLE', 'START', 'STATE', 'STATEMENT', 'STATIC', 'STATISTICS', 'STDIN',
'STDOUT', 'STORAGE', 'STRICT', 'STRUCTURE', 'STYPE', 'SUBCLASS_ORIGIN',
- 'SUBLIST', 'SUBSTRING', 'SUM', 'SYMMETRIC', 'SYSID', 'SYSTEM',
+ 'SUBLIST', 'SUBSTRING', 'SUCCEEDS', 'SUM', 'SYMMETRIC', 'SYSID', 'SYSTEM',
'SYSTEM_USER', 'TABLE', 'TABLE_NAME', ' TEMP', 'TEMPLATE', 'TEMPORARY',
- 'TERMINATE', 'THAN', 'THEN', 'TIMESTAMP', 'TIMEZONE_HOUR',
+ 'TERMINATE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR',
'TIMEZONE_MINUTE', 'TO', 'TOAST', 'TRAILING', 'TRANSATION',
'TRANSACTIONS_COMMITTED', 'TRANSACTIONS_ROLLED_BACK', 'TRANSATION_ACTIVE',
'TRANSFORM', 'TRANSFORMS', 'TRANSLATE', 'TRANSLATION', 'TREAT', 'TRIGGER',
'UNION', 'UNIQUE', 'UNKNOWN', 'UNLISTEN', 'UNNAMED', 'UNNEST', 'UNTIL',
'UPDATE', 'UPPER', 'USAGE', 'USER', 'USER_DEFINED_TYPE_CATALOG',
'USER_DEFINED_TYPE_NAME', 'USER_DEFINED_TYPE_SCHEMA', 'USING', 'VACUUM',
- 'VALID', 'VALIDATOR', 'VALUES', 'VARIABLE', 'VERBOSE', 'VERSION', 'VIEW',
+ 'VALID', 'VALIDATOR', 'VALUES', 'VARIABLE', 'VERBOSE',
+ 'VERSION', 'VERSIONS', 'VERSIONING', 'VIEW',
'VOLATILE', 'WHEN', 'WHENEVER', 'WHERE', 'WITH', 'WITHOUT', 'WORK',
'WRITE', 'YEAR', 'ZONE'), suffix=r'\b'),
Keyword),
"""
# Syntax based on
# - http://fmwww.bc.edu/RePEc/bocode/s/synlightlist.ado
- # - http://github.com/isagalaev/highlight.js/blob/master/src/languages/stata.js
- # - http://github.com/jpitblado/vim-stata/blob/master/syntax/stata.vim
+ # - https://github.com/isagalaev/highlight.js/blob/master/src/languages/stata.js
+ # - https://github.com/jpitblado/vim-stata/blob/master/syntax/stata.vim
name = 'Stata'
aliases = ['stata', 'do']
class DjangoLexer(RegexLexer):
"""
Generic `django <http://www.djangoproject.com/documentation/templates/>`_
- and `jinja <http://wsgiarea.pocoo.org/jinja/>`_ template lexer.
+ and `jinja <https://jinja.pocoo.org/jinja/>`_ template lexer.
It just highlights django/jinja code between the preprocessor directives,
other data is left untouched by the lexer.
'root': [
(r'[^{]+', Other),
- # Comment start {{! }} or {{!--
+ # Comment start {{! }} or {{!--
(r'\{\{!.*\}\}', Comment),
- # HTML Escaping open {{{expression
+ # HTML Escaping open {{{expression
(r'(\{\{\{)(\s*)', bygroups(Comment.Special, Text), 'tag'),
- # {{blockOpen {{#blockOpen {{/blockClose with optional tilde ~
- (r'(\{\{)([#~/]+)([^\s}]*)', bygroups(Comment.Preproc, Number.Attribute,Number.Attribute), 'tag'),
+ # {{blockOpen {{#blockOpen {{/blockClose with optional tilde ~
+ (r'(\{\{)([#~/]+)([^\s}]*)',
+ bygroups(Comment.Preproc, Number.Attribute, Number.Attribute), 'tag'),
(r'(\{\{)(\s*)', bygroups(Comment.Preproc, Text), 'tag'),
],
'tag': [
(r'\s+', Text),
- # HTML Escaping close }}}
+ # HTML Escaping close }}}
(r'\}\}\}', Comment.Special, '#pop'),
- # blockClose}}, includes optional tilde ~
+ # blockClose}}, includes optional tilde ~
(r'(~?)(\}\})', bygroups(Number, Comment.Preproc), '#pop'),
# {{opt=something}}
class GherkinLexer(RegexLexer):
"""
- For `Gherkin <http://github.com/aslakhellesoy/gherkin/>` syntax.
+ For `Gherkin <https://github.com/aslakhellesoy/gherkin/>` syntax.
.. versionadded:: 1.2
"""
import re
from pygments.lexers import guess_lexer, get_lexer_by_name
-from pygments.lexer import RegexLexer, bygroups, default, do_insertions
+from pygments.lexer import RegexLexer, bygroups, default, include
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
Number, Generic, Literal, Punctuation
from pygments.util import ClassNotFound
__all__ = ['IrcLogsLexer', 'TodotxtLexer', 'HttpLexer', 'GettextLexer',
- 'NotmuchLexer']
+ 'NotmuchLexer', 'KernelLogLexer']
class IrcLogsLexer(RegexLexer):
tokens = {
'root': [
(r'(GET|POST|PUT|DELETE|HEAD|OPTIONS|TRACE|PATCH)( +)([^ ]+)( +)'
- r'(HTTP)(/)(1\.[01])(\r?\n|\Z)',
+ r'(HTTP)(/)(1\.[01]|2|3)(\r?\n|\Z)',
bygroups(Name.Function, Text, Name.Namespace, Text,
Keyword.Reserved, Operator, Number, Text),
'headers'),
- (r'(HTTP)(/)(1\.[01])( +)(\d{3})( +)([^\r\n]+)(\r?\n|\Z)',
- bygroups(Keyword.Reserved, Operator, Number, Text, Number,
- Text, Name.Exception, Text),
+ (r'(HTTP)(/)(1\.[01]|2|3)( +)(\d{3})(?:( +)([^\r\n]+))?(\r?\n|\Z)',
+ bygroups(Keyword.Reserved, Operator, Number, Text, Number, Text,
+ Name.Exception, Text),
'headers'),
],
'headers': [
def __init__(self, **options):
self.body_lexer = options.get('body_lexer', None)
RegexLexer.__init__(self, **options)
+
+
+class KernelLogLexer(RegexLexer):
+ """
+ For Linux Kernel log ("dmesg") output.
+
+ .. versionadded:: 2.6
+ """
+ name = 'Kernel log'
+ aliases = ['kmsg', 'dmesg']
+ filenames = ['*.kmsg', '*.dmesg']
+
+ tokens = {
+ 'root': [
+ (r'^[^:]+:debug : (?=\[)', Text, 'debug'),
+ (r'^[^:]+:info : (?=\[)', Text, 'info'),
+ (r'^[^:]+:warn : (?=\[)', Text, 'warn'),
+ (r'^[^:]+:notice: (?=\[)', Text, 'warn'),
+ (r'^[^:]+:err : (?=\[)', Text, 'error'),
+ (r'^[^:]+:crit : (?=\[)', Text, 'error'),
+ (r'^(?=\[)', Text, 'unknown'),
+ ],
+ 'unknown': [
+ (r'^(?=.+(warning|notice|audit|deprecated))', Text, 'warn'),
+ (r'^(?=.+(error|critical|fail|Bug))', Text, 'error'),
+ default('info'),
+ ],
+ 'base': [
+ (r'\[[0-9\. ]+\] ', Number),
+ (r'(?<=\] ).+?:', Keyword),
+ (r'\n', Text, '#pop'),
+ ],
+ 'debug': [
+ include('base'),
+ (r'.+\n', Comment, '#pop')
+ ],
+ 'info': [
+ include('base'),
+ (r'.+\n', Text, '#pop')
+ ],
+ 'warn': [
+ include('base'),
+ (r'.+\n', Generic.Strong, '#pop')
+ ],
+ 'error': [
+ include('base'),
+ (r'.+\n', Generic.Error, '#pop')
+ ]
+ }
u'<-', u'=', u'==', u'>', u'_', u'|', u'||', u'~', u'=>', u'<=', u'>=',
u'/\\', u'\\/', u'∀', u'Π', u'λ', u'↔', u'∧', u'∨', u'≠', u'≤', u'≥',
u'¬', u'⁻¹', u'⬝', u'▸', u'→', u'∃', u'ℕ', u'ℤ', u'≈', u'×', u'⌞',
- u'⌟', u'≡', u'⟨', u'⟩',
+ u'⌟', u'≡', u'⟨', u'⟩', u'^',
)
punctuation = (u'(', u')', u':', u'{', u'}', u'[', u']', u'⦃', u'⦄',
--- /dev/null
+# -*- coding: utf-8 -*-
+"""
+ pygments.lexers.usd
+ ~~~~~~~~~~~~~~~~~~~
+
+ The module that parses Pixar's Universal Scene Description file format.
+
+ :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, bygroups
+from pygments.lexer import words as words_
+from pygments.lexers._usd_builtins import COMMON_ATTRIBUTES, KEYWORDS, \
+ OPERATORS, SPECIAL_NAMES, TYPES
+from pygments.token import Comment, Keyword, Name, Number, Operator, \
+ Punctuation, String, Text, Whitespace
+
+__all__ = ["UsdLexer"]
+
+
+def _keywords(words, type_):
+ return [(words_(words, prefix=r"\b", suffix=r"\b"), type_)]
+
+
+_TYPE = r"(\w+(?:\[\])?)"
+_BASE_ATTRIBUTE = r"([\w_]+(?:\:[\w_]+)*)(?:(\.)(timeSamples))?"
+_WHITESPACE = r"([ \t]+)"
+
+
+class UsdLexer(RegexLexer):
+ """
+ A lexer that parses Pixar's Universal Scene Description file format.
+
+ .. versionadded:: 2.6
+ """
+
+ name = "USD"
+ aliases = ["usd", "usda"]
+ filenames = ["*.usd", "*.usda"]
+
+ tokens = {
+ "root": [
+ (r"(custom){_WHITESPACE}(uniform)(\s+){}(\s+){}(\s*)(=)".format(
+ _TYPE, _BASE_ATTRIBUTE, _WHITESPACE=_WHITESPACE),
+ bygroups(Keyword.Token, Whitespace, Keyword.Token, Whitespace,
+ Keyword.Type, Whitespace, Name.Attribute, Text,
+ Name.Keyword.Tokens, Whitespace, Operator)),
+ (r"(custom){_WHITESPACE}{}(\s+){}(\s*)(=)".format(
+ _TYPE, _BASE_ATTRIBUTE, _WHITESPACE=_WHITESPACE),
+ bygroups(Keyword.Token, Whitespace, Keyword.Type, Whitespace,
+ Name.Attribute, Text, Name.Keyword.Tokens, Whitespace,
+ Operator)),
+ (r"(uniform){_WHITESPACE}{}(\s+){}(\s*)(=)".format(
+ _TYPE, _BASE_ATTRIBUTE, _WHITESPACE=_WHITESPACE),
+ bygroups(Keyword.Token, Whitespace, Keyword.Type, Whitespace,
+ Name.Attribute, Text, Name.Keyword.Tokens, Whitespace,
+ Operator)),
+ (r"{}{_WHITESPACE}{}(\s*)(=)".format(
+ _TYPE, _BASE_ATTRIBUTE, _WHITESPACE=_WHITESPACE),
+ bygroups(Keyword.Type, Whitespace, Name.Attribute, Text,
+ Name.Keyword.Tokens, Whitespace, Operator)),
+ ] +
+ _keywords(KEYWORDS, Keyword.Tokens) +
+ _keywords(SPECIAL_NAMES, Name.Builtins) +
+ _keywords(COMMON_ATTRIBUTES, Name.Attribute) +
+ [(r"\b\w+:[\w:]+\b", Name.Attribute)] +
+ _keywords(OPERATORS, Operator) + # more attributes
+ [(type_ + r"\[\]", Keyword.Type) for type_ in TYPES] +
+ _keywords(TYPES, Keyword.Type) +
+ [
+ (r"[\(\)\[\]{}]", Punctuation),
+ ("#.*?$", Comment.Single),
+ (",", Punctuation),
+ (";", Punctuation), # ";"s are allowed to combine separate metadata lines
+ ("=", Operator),
+ (r"[-]*([0-9]*[.])?[0-9]+(?:e[+-]*\d+)?", Number),
+ (r"'''(?:.|\n)*?'''", String),
+ (r'"""(?:.|\n)*?"""', String),
+ (r"'.*?'", String),
+ (r'".*?"', String),
+ (r"<(\.\./)*([\w/]+|[\w/]+\.\w+[\w:]*)>", Name.Namespace),
+ (r"@.*?@", String.Interpol),
+ (r'\(.*"[.\\n]*".*\)', String.Doc),
+ (r"\A#usda .+$", Comment.Hashbang),
+ (r"\s+", Whitespace),
+ (r"[\w_]+", Text),
+ (r"[_:\.]+", Punctuation),
+ ],
+ }
from pygments.lexer import RegexLexer, include, words
from pygments.token import Comment, Operator, Keyword, Name, Number, \
- Punctuation, Whitespace
+ Punctuation, Text, Generic
__all__ = ['BoogieLexer', 'SilverLexer']
tokens = {
'root': [
# Whitespace and Comments
- (r'\n', Whitespace),
- (r'\s+', Whitespace),
+ (r'\n', Text),
+ (r'\s+', Text),
+ (r'\\\n', Text), # line continuation
(r'//[/!](.*?)\n', Comment.Doc),
(r'//(.*?)\n', Comment.Single),
(r'/\*', Comment.Multiline, 'comment'),
(words(('bool', 'int', 'ref'), suffix=r'\b'), Keyword.Type),
include('numbers'),
(r"(>=|<=|:=|!=|==>|&&|\|\||[+/\-=>*<\[\]])", Operator),
+ (r'\{.*?\}', Generic.Emph), #triggers
(r"([{}():;,.])", Punctuation),
# Identifier
(r'[a-zA-Z_]\w*', Name),
tokens = {
'root': [
# Whitespace and Comments
- (r'\n', Whitespace),
- (r'\s+', Whitespace),
+ (r'\n', Text),
+ (r'\s+', Text),
+ (r'\\\n', Text), # line continuation
(r'//[/!](.*?)\n', Comment.Doc),
(r'//(.*?)\n', Comment.Single),
(r'/\*', Comment.Multiline, 'comment'),
(words((
'result', 'true', 'false', 'null', 'method', 'function',
'predicate', 'program', 'domain', 'axiom', 'var', 'returns',
- 'field', 'define', 'requires', 'ensures', 'invariant',
- 'fold', 'unfold', 'inhale', 'exhale', 'new', 'assert',
+ 'field', 'define', 'fold', 'unfold', 'inhale', 'exhale', 'new', 'assert',
'assume', 'goto', 'while', 'if', 'elseif', 'else', 'fresh',
'constraining', 'Seq', 'Set', 'Multiset', 'union', 'intersection',
'setminus', 'subset', 'unfolding', 'in', 'old', 'forall', 'exists',
'acc', 'wildcard', 'write', 'none', 'epsilon', 'perm', 'unique',
'apply', 'package', 'folding', 'label', 'forperm'),
suffix=r'\b'), Keyword),
- (words(('Int', 'Perm', 'Bool', 'Ref'), suffix=r'\b'), Keyword.Type),
+ (words(('requires', 'ensures', 'invariant'), suffix=r'\b'), Name.Decorator),
+ (words(('Int', 'Perm', 'Bool', 'Ref', 'Rational'), suffix=r'\b'), Keyword.Type),
include('numbers'),
-
(r'[!%&*+=|?:<>/\-\[\]]', Operator),
+ (r'\{.*?\}', Generic.Emph), #triggers
(r'([{}():;,.])', Punctuation),
# Identifier
(r'[\w$]\w*', Name),
--- /dev/null
+# -*- coding: utf-8 -*-
+"""
+ pygments.lexers.webidl
+ ~~~~~~~~~~~~~~~~~~~
+
+ Lexers for Web IDL, including some extensions.
+
+ :copyright: Copyright 2006-2016 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, default, include, words
+from pygments.token import Comment, Keyword, Name, Number, Punctuation, \
+ String, Text
+
+__all__ = ['WebIDLLexer']
+
+_builtin_types = (
+ # primitive types
+ 'byte', 'octet', 'boolean',
+ r'(?:unsigned\s+)?(?:short|long(?:\s+long)?)',
+ r'(?:unrestricted\s+)?(?:float|double)',
+ # string types
+ 'DOMString', 'ByteString', 'USVString',
+ # exception types
+ 'Error', 'DOMException',
+ # typed array types
+ 'Uint8Array', 'Uint16Array', 'Uint32Array', 'Uint8ClampedArray',
+ 'Float32Array', 'Float64Array',
+ # buffer source types
+ 'ArrayBuffer', 'DataView', 'Int8Array', 'Int16Array', 'Int32Array',
+ # other
+ 'any', 'void', 'object', 'RegExp',
+)
+_identifier = r'_?[A-Za-z][0-9A-Z_a-z-]*'
+_keyword_suffix = r'(?![\w-])'
+_string = r'"[^"]*"'
+
+class WebIDLLexer(RegexLexer):
+ """
+ For Web IDL.
+
+ .. versionadded:: 2.6
+ """
+
+ name = 'Web IDL'
+ aliases = ['webidl']
+ filenames = ['*.webidl']
+
+ tokens = {
+ 'common': [
+ (r'\s+', Text),
+ (r'(?s)/\*.*?\*/', Comment.Multiline),
+ (r'//.*', Comment.Single),
+ (r'^#.*', Comment.Preproc),
+ ],
+ 'root': [
+ include('common'),
+ (r'\[', Punctuation, 'extended_attributes'),
+ (r'partial' + _keyword_suffix, Keyword),
+ (r'typedef' + _keyword_suffix, Keyword, ('typedef', 'type')),
+ (r'interface' + _keyword_suffix, Keyword, 'interface_rest'),
+ (r'enum' + _keyword_suffix, Keyword, 'enum_rest'),
+ (r'callback' + _keyword_suffix, Keyword, 'callback_rest'),
+ (r'dictionary' + _keyword_suffix, Keyword, 'dictionary_rest'),
+ (r'namespace' + _keyword_suffix, Keyword, 'namespace_rest'),
+ (_identifier, Name.Class, 'implements_rest'),
+ ],
+ 'extended_attributes': [
+ include('common'),
+ (r',', Punctuation),
+ (_identifier, Name.Decorator),
+ (r'=', Punctuation, 'extended_attribute_rest'),
+ (r'\(', Punctuation, 'argument_list'),
+ (r'\]', Punctuation, '#pop'),
+ ],
+ 'extended_attribute_rest': [
+ include('common'),
+ (_identifier, Name, 'extended_attribute_named_rest'),
+ (_string, String),
+ (r'\(', Punctuation, 'identifier_list'),
+ default('#pop'),
+ ],
+ 'extended_attribute_named_rest': [
+ include('common'),
+ (r'\(', Punctuation, 'argument_list'),
+ default('#pop'),
+ ],
+ 'argument_list': [
+ include('common'),
+ (r'\)', Punctuation, '#pop'),
+ default('argument'),
+ ],
+ 'argument': [
+ include('common'),
+ (r'optional' + _keyword_suffix, Keyword),
+ (r'\[', Punctuation, 'extended_attributes'),
+ (r',', Punctuation, '#pop'),
+ (r'\)', Punctuation, '#pop:2'),
+ default(('argument_rest', 'type'))
+ ],
+ 'argument_rest': [
+ include('common'),
+ (_identifier, Name.Variable),
+ (r'\.\.\.', Punctuation),
+ (r'=', Punctuation, 'default_value'),
+ default('#pop'),
+ ],
+ 'identifier_list': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r',', Punctuation),
+ (r'\)', Punctuation, '#pop'),
+ ],
+ 'type': [
+ include('common'),
+ (r'(?:' + r'|'.join(_builtin_types) + r')' + _keyword_suffix,
+ Keyword.Type, 'type_null'),
+ (words(('sequence', 'Promise', 'FrozenArray'),
+ suffix=_keyword_suffix), Keyword.Type, 'type_identifier'),
+ (_identifier, Name.Class, 'type_identifier'),
+ (r'\(', Punctuation, 'union_type'),
+ ],
+ 'union_type': [
+ include('common'),
+ (r'or' + _keyword_suffix, Keyword),
+ (r'\)', Punctuation, ('#pop', 'type_null')),
+ default('type'),
+ ],
+ 'type_identifier': [
+ (r'<', Punctuation, 'type_list'),
+ default(('#pop', 'type_null'))
+ ],
+ 'type_null': [
+ (r'\??', Punctuation, '#pop:2'),
+ ],
+ 'default_value': [
+ include('common'),
+ include('const_value'),
+ (_string, String, '#pop'),
+ (r'\[\s*\]', Punctuation, '#pop'),
+ ],
+ 'const_value': [
+ include('common'),
+ (words(('true', 'false', '-Infinity', 'Infinity', 'NaN', 'null'),
+ suffix=_keyword_suffix), Keyword.Constant, '#pop'),
+ (r'-?(?:(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:[Ee][+-]?[0-9]+)?' +
+ r'|[0-9]+[Ee][+-]?[0-9]+)', Number.Float, '#pop'),
+ (r'-?[1-9][0-9]*', Number.Integer, '#pop'),
+ (r'-?0[Xx][0-9A-Fa-f]+', Number.Hex, '#pop'),
+ (r'-?0[0-7]*', Number.Oct, '#pop'),
+ ],
+ 'typedef': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'namespace_rest': [
+ include('common'),
+ (_identifier, Name.Namespace),
+ (r'\{', Punctuation, 'namespace_body'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'namespace_body': [
+ include('common'),
+ (r'\[', Punctuation, 'extended_attributes'),
+ (r'readonly' + _keyword_suffix, Keyword),
+ (r'attribute' + _keyword_suffix,
+ Keyword, ('attribute_rest', 'type')),
+ (r'const' + _keyword_suffix, Keyword, ('const_rest', 'type')),
+ (r'\}', Punctuation, '#pop'),
+ default(('operation_rest', 'type')),
+ ],
+ 'interface_rest': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r':', Punctuation),
+ (r'\{', Punctuation, 'interface_body'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'interface_body': [
+ (words(('iterable', 'maplike', 'setlike'), suffix=_keyword_suffix),
+ Keyword, 'iterable_maplike_setlike_rest'),
+ (words(('setter', 'getter', 'creator', 'deleter', 'legacycaller',
+ 'inherit', 'static', 'stringifier', 'jsonifier'),
+ suffix=_keyword_suffix), Keyword),
+ (r'serializer' + _keyword_suffix, Keyword, 'serializer_rest'),
+ (r';', Punctuation),
+ include('namespace_body'),
+ ],
+ 'attribute_rest': [
+ include('common'),
+ (_identifier, Name.Variable),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'const_rest': [
+ include('common'),
+ (_identifier, Name.Constant),
+ (r'=', Punctuation, 'const_value'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'operation_rest': [
+ include('common'),
+ (r';', Punctuation, '#pop'),
+ default('operation'),
+ ],
+ 'operation': [
+ include('common'),
+ (_identifier, Name.Function),
+ (r'\(', Punctuation, 'argument_list'),
+ (r';', Punctuation, '#pop:2'),
+ ],
+ 'iterable_maplike_setlike_rest': [
+ include('common'),
+ (r'<', Punctuation, 'type_list'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'type_list': [
+ include('common'),
+ (r',', Punctuation),
+ (r'>', Punctuation, '#pop'),
+ default('type'),
+ ],
+ 'serializer_rest': [
+ include('common'),
+ (r'=', Punctuation, 'serialization_pattern'),
+ (r';', Punctuation, '#pop'),
+ default('operation'),
+ ],
+ 'serialization_pattern': [
+ include('common'),
+ (_identifier, Name.Variable, '#pop'),
+ (r'\{', Punctuation, 'serialization_pattern_map'),
+ (r'\[', Punctuation, 'serialization_pattern_list'),
+ ],
+ 'serialization_pattern_map': [
+ include('common'),
+ (words(('getter', 'inherit', 'attribute'),
+ suffix=_keyword_suffix), Keyword),
+ (r',', Punctuation),
+ (_identifier, Name.Variable),
+ (r'\}', Punctuation, '#pop:2'),
+ ],
+ 'serialization_pattern_list': [
+ include('common'),
+ (words(('getter', 'attribute'), suffix=_keyword_suffix), Keyword),
+ (r',', Punctuation),
+ (_identifier, Name.Variable),
+ (r']', Punctuation, '#pop:2'),
+ ],
+ 'enum_rest': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r'\{', Punctuation, 'enum_body'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'enum_body': [
+ include('common'),
+ (_string, String),
+ (r',', Punctuation),
+ (r'\}', Punctuation, '#pop'),
+ ],
+ 'callback_rest': [
+ include('common'),
+ (r'interface' + _keyword_suffix,
+ Keyword, ('#pop', 'interface_rest')),
+ (_identifier, Name.Class),
+ (r'=', Punctuation, ('operation', 'type')),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'dictionary_rest': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r':', Punctuation),
+ (r'\{', Punctuation, 'dictionary_body'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'dictionary_body': [
+ include('common'),
+ (r'\[', Punctuation, 'extended_attributes'),
+ (r'required' + _keyword_suffix, Keyword),
+ (r'\}', Punctuation, '#pop'),
+ default(('dictionary_item', 'type')),
+ ],
+ 'dictionary_item': [
+ include('common'),
+ (_identifier, Name.Variable),
+ (r'=', Punctuation, 'default_value'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'implements_rest': [
+ include('common'),
+ (r'implements' + _keyword_suffix, Keyword),
+ (_identifier, Name.Class),
+ (r';', Punctuation, '#pop'),
+ ],
+ }
# state stack
if len(lexer.xquery_parse_state) == 0:
ctx.stack.pop()
+ if not ctx.stack:
+ # make sure we have at least the root state on invalid inputs
+ ctx.stack = ['root']
elif len(ctx.stack) > 1:
ctx.stack.append(lexer.xquery_parse_state.pop())
else:
"""
-class Scanner(object):
+class Scanner:
"""
Simple scanner
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import sys
from docutils import nodes
"""
from pygments.token import Token, STANDARD_TYPES
-from pygments.util import add_metaclass
# Default mapping of ansixxx to RGB colors.
_ansimap = {
return len(cls._styles)
-@add_metaclass(StyleMeta)
-class Style(object):
+class Style(metaclass=StyleMeta):
#: overall background color (``None`` means transparent)
background_color = '#ffffff'
if __name__ == '__main__': # pragma: no cover
import unicodedata
- # we need Py3 for the determination of the XID_* properties
- if sys.version_info[:2] < (3, 3):
- raise RuntimeError('this file must be regenerated with Python 3.3+')
-
categories_bmp = {'xid_start': [], 'xid_continue': []}
categories_nonbmp = {'xid_start': [], 'xid_continue': []}
import re
import sys
+from io import TextIOWrapper
split_path_re = re.compile(r'[/\\ ]')
return string
elif isinstance(string, int):
return bool(string)
- elif not isinstance(string, string_types):
+ elif not isinstance(string, str):
raise OptionError('Invalid type %r for option %s; use '
'1/0, yes/no, true/false, on/off' % (
string, optname))
def get_list_opt(options, optname, default=None):
val = options.get(optname, default)
- if isinstance(val, string_types):
+ if isinstance(val, str):
return val.split()
elif isinstance(val, (list, tuple)):
return list(val)
Note that this method only checks the first part of a DOCTYPE.
eg: 'html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'
"""
- m = doctype_lookup_re.match(text)
+ m = doctype_lookup_re.search(text)
if m is None:
return False
doctype = m.group(2)
try:
return _looks_like_xml_cache[key]
except KeyError:
- m = doctype_lookup_re.match(text)
+ m = doctype_lookup_re.search(text)
if m is not None:
return True
rv = tag_re.search(text[:1000]) is not None
if sys.maxunicode > 0xffff:
# wide build
- return u'[%s-%s]' % (unichr(a), unichr(b))
+ return u'[%s-%s]' % (chr(a), chr(b))
else:
# narrow build stores surrogates, and the 're' module handles them
# (incorrectly) as characters. Since there is still ordering among
# background in http://bugs.python.org/issue3665 and
# http://bugs.python.org/issue12749
#
- # Additionally, the lower constants are using unichr rather than
+ # Additionally, the lower constants are using chr rather than
# literals because jython [which uses the wide path] can't load this
# file if they are literals.
ah, al = _surrogatepair(a)
bh, bl = _surrogatepair(b)
if ah == bh:
- return u'(?:%s[%s-%s])' % (unichr(ah), unichr(al), unichr(bl))
+ return u'(?:%s[%s-%s])' % (chr(ah), chr(al), chr(bl))
else:
buf = []
- buf.append(u'%s[%s-%s]' %
- (unichr(ah), unichr(al),
- ah == bh and unichr(bl) or unichr(0xdfff)))
+ buf.append(u'%s[%s-%s]' % (chr(ah), chr(al),
+ ah == bh and chr(bl) or chr(0xdfff)))
if ah - bh > 1:
buf.append(u'[%s-%s][%s-%s]' %
- unichr(ah+1), unichr(bh-1), unichr(0xdc00), unichr(0xdfff))
+ chr(ah+1), chr(bh-1), chr(0xdc00), chr(0xdfff))
if ah != bh:
buf.append(u'%s[%s-%s]' %
- (unichr(bh), unichr(0xdc00), unichr(bl)))
+ (chr(bh), chr(0xdc00), chr(bl)))
return u'(?:' + u'|'.join(buf) + u')'
return lst
-class Future(object):
+class Future:
"""Generic class to defer some work.
Handled specially in RegexLexerMeta, to support regex string construction at
return locale.getpreferredencoding()
-# Python 2/3 compatibility
-
-if sys.version_info < (3, 0):
- unichr = unichr
- xrange = xrange
- string_types = (str, unicode)
- text_type = unicode
- u_prefix = 'u'
- iteritems = dict.iteritems
- itervalues = dict.itervalues
- import StringIO
- import cStringIO
- # unfortunately, io.StringIO in Python 2 doesn't accept str at all
- StringIO = StringIO.StringIO
- BytesIO = cStringIO.StringIO
-else:
- unichr = chr
- xrange = range
- string_types = (str,)
- text_type = str
- u_prefix = ''
- iteritems = dict.items
- itervalues = dict.values
- from io import StringIO, BytesIO, TextIOWrapper
-
- class UnclosingTextIOWrapper(TextIOWrapper):
- # Don't close underlying buffer on destruction.
- def close(self):
- self.flush()
-
-
-def add_metaclass(metaclass):
- """Class decorator for creating a class with a metaclass."""
- def wrapper(cls):
- orig_vars = cls.__dict__.copy()
- orig_vars.pop('__dict__', None)
- orig_vars.pop('__weakref__', None)
- for slots_var in orig_vars.get('__slots__', ()):
- orig_vars.pop(slots_var)
- return metaclass(cls.__name__, cls.__bases__, orig_vars)
- return wrapper
+class UnclosingTextIOWrapper(TextIOWrapper):
+ # Don't close underlying buffer on destruction.
+ def close(self):
+ self.flush()
+++ /dev/null
-[pytest]
-filterwarnings =
- error::FutureWarning
- error::DeprecationWarning
+++ /dev/null
-pytest-cov
-pytest-randomly
-pytest
-pyflakes
-pylint
-tox
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import io
import os
import re
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import os
import sys
-from __future__ import print_function
import sys
from pygments.lexers import get_all_lexers, find_lexer_class
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import os
import sys
-from __future__ import print_function
-
import re
from pygments.util import format_lines
* ``make check``
* LATER when configured properly: ``make pylint``
* ``tox``
-* Update version info in ``setup.py/__init__.py``
+* Update version in ``pygments/__init__.py``
* Check setup.py metadata: long description, trove classifiers
* Update release date/code name in ``CHANGES``
* ``git commit``
* ``make clean``
-* ``python2 setup.py release bdist_wheel``
* ``python3 setup.py release bdist_wheel sdist``
* ``twine upload dist/Pygments-$NEWVER*``
* Check PyPI release page for obvious errors
* ``git tag -a``
-* Merge default into stable if this was a ``x.y.0``
-* Update homepage (release info), regenerate docs (+printable!)
-* Add new version/milestone to tracker categories
-* Write announcement and send to mailing list/python-announce
-* Update version info, add new ``CHANGES`` entry for next version
+* Add new ``CHANGES`` heading for next version
* ``git commit``
-* ``git push``
+* ``git push``, ``git push --tags``
+* Add new release on https://github.com/pygments/pygments/releases
+* Add new milestone on https://github.com/pygments/pygments/milestones
+* Write announcement and send to mailing list/python-announce
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import sys
import re
from os import path
return default_token, color_map
-class StyleWriter(object):
+class StyleWriter:
def __init__(self, code, name):
self.code = code
wikis or other applications that need to prettify source code. Highlights
are:
-* a wide range of over 300 languages and other text formats is supported
+* a wide range of over 500 languages and other text formats is supported
* special attention is paid to details, increasing quality by a fair amount
* support for new languages and formats are added easily
* a number of output formats, presently HTML, LaTeX, RTF, SVG, all image \
from setuptools import setup, find_packages
+from pygments import __version__
+
setup(
name = 'Pygments',
- version = '2.5.2',
- url = 'http://pygments.org/',
+ version = __version__,
+ url = 'https://pygments.org/',
license = 'BSD License',
author = 'Georg Brandl',
author_email = 'georg@python.org',
description = 'Pygments is a syntax highlighting package written in Python.',
long_description = __doc__,
keywords = 'syntax highlighting',
- packages = find_packages(exclude=['tests']),
+ packages = find_packages(include=['pygments', 'pygments.*']),
entry_points = {
'console_scripts': ['pygmentize = pygments.cmdline:main'],
},
platforms = 'any',
zip_safe = False,
include_package_data = True,
- python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*',
+ python_requires='>=3.5',
classifiers = [
'License :: OSI Approved :: BSD License',
'Intended Audience :: Developers',
'Intended Audience :: System Administrators',
'Development Status :: 6 - Mature',
'Programming Language :: Python',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
--- /dev/null
+{-# STDLIB_VERSION 3 #-}
+{-# CONTENT_TYPE DAPP #-}
+{-# SCRIPT_TYPE ACCOUNT #-}
+
+
+let maxAuctionDuration = 1440 * 30
+# ~ 30 days
+
+# priceAssetId = "WAVES" or assetId
+@Callable(i)
+func startAuction(duration: Int, startPrice: Int, priceAssetId:String) = {
+
+ let auctionId = toBase58String(i.transactionId)
+ let endHeight = lastBlock.height + duration
+
+ let pmt = extract(i.payment)
+
+ if (duration > maxAuctionDuration) then throw("Duration is too long. Must be less than " + toString(maxAuctionDuration)) else
+ WriteSet(
+ [ DataEntry(auctionId, endHeight),
+ DataEntry(auctionId + "_organizer", i.caller.bytes.toBase58String()),
+ DataEntry(auctionId + "_lot_assetId", if (isDefined(pmt.assetId)) then toBase58String(value(pmt.assetId)) else "WAVES"),
+ DataEntry(auctionId + "_lot_amount", pmt.amount),
+ DataEntry(auctionId + "_startPrice", startPrice),
+ DataEntry(auctionId + "_priceAssetId", priceAssetId)
+ ])
+}
+
+@Callable(i)
+func bid(auctionId: String) = {
+
+ let pmt = extract(i.payment)
+ let pmtAssetIdStr = if (isDefined(pmt.assetId)) then toBase58String(value(pmt.assetId)) else "WAVES"
+ let callerAddressStr = i.caller.bytes.toBase58String()
+
+ let endHeight = getIntegerValue(this, auctionId)
+ let startPrice = getIntegerValue(this, auctionId + "_startPrice")
+ let priceAssetId = getStringValue(this, auctionId + "_priceAssetId")
+ let winAmount = getInteger(this, auctionId + "_winAmount")
+ let winner = getString(this, auctionId + "_winner")
+
+ let bidFromTheSameUser = isDefined(winner) && value(winner) == callerAddressStr
+ let totalBidAmount = pmt.amount + if bidFromTheSameUser then
+ value(winAmount) else 0
+
+ if (lastBlock.height >= endHeight) then
+ throw("Auction already finished") else
+ if (priceAssetId != pmtAssetIdStr) then
+ throw("Bid must be in asset '" + priceAssetId + "'") else
+ if (isDefined(winAmount) && totalBidAmount <= value(winAmount) ||
+ !isDefined(winAmount) && totalBidAmount <= startPrice) then
+ throw("Bid must be more then "
+ + toString(if isDefined(winAmount) then value(winAmount) else startPrice))
+ else
+ if (bidFromTheSameUser || !isDefined(winner)) then
+ WriteSet([
+ DataEntry(auctionId + "_winner", callerAddressStr),
+ DataEntry(auctionId + "_winAmount", totalBidAmount)
+ ])
+ else {
+ let previousBidderAddr = addressFromStringValue(value(winner))
+ let priceAsset = if (priceAssetId == "WAVES" || priceAssetId == "") then unit else fromBase58String(priceAssetId)
+ ScriptResult(
+ WriteSet([
+ DataEntry(auctionId + "_winner", callerAddressStr),
+ DataEntry(auctionId + "_winAmount", totalBidAmount)
+ ]),
+ TransferSet([
+ ScriptTransfer(previousBidderAddr, value(winAmount), priceAsset)
+ ])
+ )
+ }
+
+}
+
+
+@Callable(i)
+func withdraw(auctionId: String) = {
+
+ let pmt = extract(i.payment)
+ let pmtAssetIdStr = if (isDefined(pmt.assetId)) then toBase58String(value(pmt.assetId)) else "WAVES"
+ let callerAddressStr = i.caller.bytes.toBase58String()
+
+ let endHeight = getIntegerValue(this, auctionId)
+ let organizer = getStringValue(this, auctionId + "_organizer")
+ let winner = getString(this, auctionId + "_winner")
+ let lotAssetId = getStringValue(this, auctionId + "_lot_assetId")
+ let lotAmount = getIntegerValue(this, auctionId + "_lot_amount")
+ let priceAssetId = getStringValue(this, auctionId + "_priceAssetId")
+ let winAmount = getIntegerValue(this, auctionId + "_winAmount")
+
+ let lotAsset = if (lotAssetId == "WAVES") then unit else fromBase58String(lotAssetId)
+ let priceAsset = if (priceAssetId == "WAVES" || priceAssetId == "") then unit else fromBase58String(priceAssetId)
+ let winnerAddr = addressFromStringValue(value(winner))
+ let organizerAddr = addressFromStringValue(value(organizer))
+
+ let betAmount = getInteger(this, auctionId + "_bidder_" + callerAddressStr)
+
+ if (lastBlock.height < endHeight) then
+ throw("Auction is not finished yet") else
+
+ if (!isDefined(winner)) then {
+ if (isDefined(getString(this, auctionId + "_lot_passed"))) then
+ throw("Organizer has already got his lot back")
+ else
+ ScriptResult(
+ WriteSet([DataEntry(auctionId + "_lot_passed", organizer)]),
+ TransferSet([ScriptTransfer(organizerAddr, lotAmount, lotAsset)])
+ )
+ }
+ else {
+ # Lot -> winner, winner's bet -> organizer
+ if (isDefined(getString(this, auctionId + "_lot_passed"))) then
+ throw("Lot is already passed to the winner, and organizer got his reward")
+ else
+ ScriptResult(
+ WriteSet([DataEntry(auctionId + "_lot_passed", winnerAddr.bytes.toBase58String())]),
+ TransferSet([ScriptTransfer(winnerAddr, lotAmount, lotAsset),
+ ScriptTransfer(organizerAddr, winAmount, priceAsset)])
+ )
+ }
+}
--- /dev/null
+[ 0.000000] Linux version 5.0.9-arch1-1-ARCH (builduser@heftig-18307) (gcc version 8.3.0 (GCC)) #1 SMP PREEMPT Sat Apr 20 15:00:46 UTC 2019
+[ 0.000000] Command line: initrd=\initramfs-linux.img root=/dev/nvme0n1p1 nouveau.noaccel=1 rw
+[ 0.000000] KERNEL supported cpus:
+[ 0.000000] Intel GenuineIntel
+[ 0.000000] AMD AuthenticAMD
+[ 0.000000] Hygon HygonGenuine
+[ 0.000000] Centaur CentaurHauls
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers'
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
+[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
+[ 0.000000] x86/fpu: xstate_offset[3]: 832, xstate_sizes[3]: 64
+[ 0.000000] x86/fpu: xstate_offset[4]: 896, xstate_sizes[4]: 64
+[ 0.000000] x86/fpu: Enabled xstate features 0x1f, context size is 960 bytes, using 'compacted' format.
+[ 2.663456] tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xfed40000-0xfed4087f flags 0x200] vs fed40080 f80
+[ 2.663514] tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xfed40000-0xfed4087f flags 0x200] vs fed40080 f80
+[ 2.664809] Bluetooth: Core ver 2.22
+[ 2.664820] NET: Registered protocol family 31
+[ 3134.452501] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
+[ 3134.471506] usb 2-2: New USB device found, idVendor=0781, idProduct=cfd2, bcdDevice= 0.02
+[ 3134.471508] usb 2-2: New USB device strings: Mfr=3, Product=4, SerialNumber=2
+
+kern :notice: [ 0.000000] Linux version 5.0.9-arch1-1-ARCH (builduser@heftig-18307) (gcc version 8.3.0 (GCC)) #1 SMP PREEMPT Sat Apr 20 15:00:46 UTC 2019
+kern :info : [ 0.000000] Command line: initrd=\initramfs-linux.img root=/dev/nvme0n1p1 nouveau.noaccel=1 rw
+kern :info : [ 0.000000] KERNEL supported cpus:
+kern :info : [ 0.000000] Intel GenuineIntel
+kern :info : [ 0.000000] AMD AuthenticAMD
+kern :info : [ 0.000000] Hygon HygonGenuine
+kern :info : [ 0.000000] Centaur CentaurHauls
+kern :info : [ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
+kern :info : [ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
+kern :info : [ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
+kern :info : [ 0.000000] x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers'
+kern :info : [ 0.000000] x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
+kern :info : [ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
+kern :info : [ 0.000000] x86/fpu: xstate_offset[3]: 832, xstate_sizes[3]: 64
+kern :info : [ 0.000000] x86/fpu: xstate_offset[4]: 896, xstate_sizes[4]: 64
+kern :info : [ 0.000000] x86/fpu: Enabled xstate features 0x1f, context size is 960 bytes, using 'compacted' format.
+kern :info : [ 0.000000] BIOS-provided physical RAM map:
+kern :info : [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usable
+kern :info : [ 2.382262] EXT4-fs (nvme0n1p1): re-mounted. Opts: (null)
+kern :notice: [ 2.389774] random: systemd-random-: uninitialized urandom read (512 bytes read)
+kern :info : [ 2.397148] usb 1-10: New USB device found, idVendor=8087, idProduct=0aa7, bcdDevice= 0.01
+kern :info : [ 2.397150] usb 1-10: New USB device strings: Mfr=0, Product=0, SerialNumber=0
+kern :info : [ 2.519599] usb 1-12: new high-speed USB device number 4 using xhci_hcd
+kern :crit : [18706.135478] mce: CPU6: Package temperature above threshold, cpu clock throttled (total events = 79)
+kern :crit : [18706.135479] mce: CPU3: Package temperature above threshold, cpu clock throttled (total events = 79)
+kern :crit : [18706.135484] mce: CPU4: Package temperature above threshold, cpu clock throttled (total events = 79)
+kern :info : [18706.136450] mce: CPU4: Core temperature/speed normal
+kern :info : [18706.136451] mce: CPU1: Package temperature/speed normal
type IntChar = '[Int, Char]
type Falsy = 'False
type Falsy = '(10, 20, 30)
+type EmptyList = '[]
+type TypeCons = 1 ': '[]
+type Times = 1 '* 2
--- /dev/null
+// MiniScript (https://miniscript.org) example file,
+// adapted from: http://rosettacode.org/wiki/RCRPG/MiniScript
+
+pos = [0,0,0]
+goal = [floor(rnd*10), floor(rnd*10), floor(3+rnd*5)]
+
+dir = {} // key: direction name; value: [dx, dy, dz]
+dirAbbrevs = {} // key: direction abbrevation; value: full name
+dir.up = [0,0,1]
+dir.down = [0,0,-1]
+dir.north = [0,1,0]
+dir.south = [0,-1,0]
+dir.east = [1,0,0]
+dir.west = [-1,0,0]
+for k in dir.indexes
+ dirAbbrevs[k[0]] = k
+end for
+inverseDir = {"up":"down", "down":"up", "east":"west", "west":"east", "north":"south", "south":"north"}
+
+descNum = function(count, noun)
+ if count == 1 then return "a " + noun
+ return str(count) + " " + noun + "s"
+end function
+
+descList = function(lst)
+ if lst.len == 0 then return ""
+ if lst.len == 1 then return lst[0]
+ if lst.len == 2 then return lst[0] + " and " + lst[1]
+ return lst[:-1].join(", ") + ", and " + lst[-1]
+end function
+
+pickAny = function(options)
+ lst = options.split(";")
+ return lst[rnd * lst.len]
+end function
+
+Contents = {}
+Contents.ladders = 0
+Contents.gold = 0
+Contents.hammers = 0 // (note: a "sledge" is a sled or sleigh, not a sledgehammer)
+Contents.desc = function(prefix, postfix=".")
+ s = []
+ if self.ladders > 0 then s.push descNum(self.ladders, "ladder")
+ if self.hammers > 0 then s.push descNum(self.hammers, "sledgehammer")
+ if self.gold > 0 then s.push descNum(self.gold, "gold coin")
+ if not s then return prefix + " nothing" + postfix
+ return prefix + " " + descList(s) + postfix
+end function
+Contents.initRandom = function()
+ self.ladders = (rnd < 0.3)
+ self.gold = ceil(rnd * 3) * (rnd < 0.1)
+ self.hammers = (rnd < 0.02)
+end function
+Contents.propName = function(obj)
+ if obj == "ladder" or obj == "ladders" then return "ladders"
+ if obj == "gold" or obj == "coin" or obj == "coins" then return "gold"
+ if obj[:6] == "hammer" or obj[:6] == "sledge" then return "hammers"
+ return ""
+end function
+Contents.hasAny = function(obj)
+ pname = Contents.propName(obj)
+ if pname == "" then return false
+ return self[pname] > 0
+end function
+Contents.withdraw = function(obj)
+ result = new Contents
+ if obj == "all" then
+ result.ladders = self.ladders
+ self.ladders = 0
+ result.hammers = self.hammers
+ self.hammers = 0
+ result.gold = self.gold
+ self.gold = 0
+ else
+ pname = Contents.propName(obj)
+ if self[pname] < 1 then return null
+ if obj[-1] == "s" then count = self[pname] else count = 1
+ self[pname] = self[pname] - count
+ result[pname] = count
+ end if
+ return result
+end function
+Contents.deposit = function(c)
+ self.ladders = self.ladders + c.ladders
+ self.hammers = self.hammers + c.hammers
+ self.gold = self.gold + c.gold
+end function
+
+inventory = new Contents
+inventory.hammers = 1
+
+Room = {}
+Room.exits = {}
+Room.color = ""
+Room.init = function(pos)
+ self.contents = new Contents
+ self.contents.initRandom
+ if pos == goal then
+ self.color = "YOU FOUND IT! This is the mystical Room of MacGuffin!"
+ else if rnd < 0.5 then
+ // Give a hint about where the goal is.
+ opt = floor(rnd * 3)
+ if opt == 0 then
+ if goal[2] == pos[2] then
+ hint = "The MacGuffin lies on this level."
+ else if goal[2] > pos[2] then
+ hint = "The MacGuffin rests above."
+ else
+ hint = "The MacGuffin lies below."
+ end if
+ else if opt == 1 then
+ if goal[0] > pos[0] then
+ hint = "The MacGuffin lies to the east."
+ else if goal[0] < pos[0] then
+ hint = "The MacGuffin lies to the west."
+ else
+ hint = "The MacGuffin lies... <undecipherable>"
+ end if
+ else
+ if goal[1] > pos[1] then
+ hint = "The MacGuffin lies to the north."
+ else if goal[1] < pos[1] then
+ hint = "The MacGuffin lies to the south."
+ else
+ hint = "The MacGuffin lies... <undecipherable>"
+ end if
+ end if
+ self.color = "Scratched on the wall is a message: " + hint
+ else if rnd < 0.5 then
+ // Give some random color comment.
+ color = []
+ opt = floor(rnd * 3)
+ if opt == 1 then
+ color.push "You detect " + pickAny("a faint;an odd;a musty;a rotten;an unpleasant")
+ color.push pickAny("smell;odor;scent;stench") + " here."
+ else if opt == 2 then
+ color.push "You can hear a" + pickAny(" faint; quiet; soft; strange;n eerie")
+ color.push pickAny("dripping;scratching;scrabbling;whistling;moaning")
+ color.push pickAny("sound;noise") + " here."
+ else
+ color.push "The " + pickAny("walls here are;floor here is;ceiling of this room is")
+ color.push pickAny("smeared with;discolored by;marred by;covered with")
+ color.push pickAny("dried blood;cobwebs;scratches;gouges;scorch marks;soot;mineral deposits;bits of fur") + "."
+ end if
+ self.color = color.join
+ end if
+ self.exits = {}
+end function
+
+rooms = {} // key: STRING FORM of position; value: Room
+getRoom = function(pos=null)
+ if pos == null then pos = globals.pos
+ key = str(pos)
+ if not rooms.hasIndex(key) then
+ rooms[key] = new Room
+ rooms[key].init pos
+ end if
+ return rooms[key]
+end function
+
+// Commands:
+commands = {}
+help = {}
+
+commands.drop = function(obj)
+ items = inventory.withdraw(obj)
+ if items == null then
+ print "You don't have any " + obj + "."
+ else
+ getRoom.contents.deposit items
+ print items.desc("You drop")
+ end if
+end function
+help.drop = "Drops an item from your inventory into the room. Specify object name or ""all""."
+
+commands.go = function(d)
+ oldRoom = getRoom
+ if dirAbbrevs.hasIndex(d) then d = dirAbbrevs[d]
+ if not dir then
+ print "Which direction?"
+ else if not dir.hasIndex(d) then
+ print "That's not a direction I recognize."
+ else if d == "up" and oldRoom.contents.ladders == 0 then
+ print "There is no ladder in this room to go up."
+ else
+ if not oldRoom.exits.hasIndex(d) then
+ if inventory.hammers < 1 then
+ print "There is no exit that way, and you don't have a sledgehammer."
+ return
+ end if
+ wall = "wall"
+ if d == "up" then wall = "ceiling"
+ if d == "down" then wall = "floor"
+ print "You bash the " + wall + " until you make a passage big enough to crawl through."
+ oldRoom.exits.push d
+ end if
+ delta = dir[d]
+ pos[0] = pos[0] + delta[0]
+ pos[1] = pos[1] + delta[1]
+ pos[2] = pos[2] + delta[2]
+ newRoom = getRoom
+ newRoom.exits.push inverseDir[d]
+ verb = "crawl"
+ if d == "up" then verb = "climb"
+ if d == "down" then
+ if newRoom.contents.ladders > 0 then verb = "climb" else verb = "drop"
+ end if
+ print "You " + verb + " " + d + "."
+ commands.look
+ if pos == goal then
+ print "You have recovered the MacGuffin and " + descNum(inventory.gold, "gold coin") + ". You win!"
+ globals.gameOver = true
+ end if
+ end if
+end function
+help.go = "Moves in the given direction, bashing open a passage if necessary."
+
+commands.help = function(arg)
+ if aliases.hasIndex(arg) then arg = aliases[arg]
+ if help.hasIndex(arg) then
+ print arg + ": " + help[arg]
+ else
+ print "Available commands: " + descList(help.indexes.sort)
+ end if
+end function
+help.help = "Prints the help. Obviously."
+
+commands.inventory = function(arg)
+ print inventory.desc("You have")
+end function
+help.inventory = "Lists the items you are carrying."
+
+commands.look = function(arg)
+ print "You are at " + pos + "."
+ room = getRoom
+ if room.color != "" then print room.color
+ print room.contents.desc("You see", " here.")
+ exits = room.exits.indexes
+ if exits.len == 0 then
+ print "There are no exits."
+ else if room.exits.len == 1 then
+ print "There is a passage " + exits[0] + "."
+ else
+ print "There are passages " + descList(exits) + "."
+ end if
+end function
+help.look = "Prints a description of the room and its contents."
+
+commands.quit = function(arg)
+ print "Quitter!"
+ globals.gameOver = true
+end function
+help.quit = "Quits the game."
+
+commands.take = function(obj)
+ roomStuff = getRoom.contents
+ items = roomStuff.withdraw(obj)
+ if items == null then
+ print "You don't see any " + obj + " here."
+ else
+ inventory.deposit items
+ print items.desc("You take")
+ end if
+end function
+help.take = "Picks up an item in the room; specify item name, or ""all""."
+
+// Command aliases:
+aliases = {"i":"inventory", "inv":"inventory", "l":"look", "get":"take"}
+
+// Main game loop
+gameOver = false
+commands.look
+while not gameOver
+ cmd = input(">").split(" ", 2)
+ if cmd.len == 1 then cmd.push null
+ verb = cmd[0]
+ if aliases.hasIndex(verb) then verb = aliases[verb]
+ if commands.hasIndex(verb) then
+ f = commands[verb]
+ f cmd[1]
+ else if dirAbbrevs.hasIndex(verb) or dir.hasIndex(verb) then
+ commands.go verb
+ else
+ print "Invalid command. For help, enter: help"
+ end if
+end while
\ No newline at end of file
--- /dev/null
+# Based on examples included the RFC files.
+# It doesn't show cases for every token parsed by the lexer.
+
+require ["fileinto", "envelope"];
+
+if address :is "to" "demo@example.org" {
+ fileinto "demo-list";
+} elsif envelope :is "from" "owner@example.org" {
+ fileinto "lists.cipe";
+} elsif (exists "X-Cron-Env",
+ header :regex ["subject"] [".* A",
+ ".* B"]) {
+ addflag "Cron";
+ stop;
+} else {
+ keep;
+}
+
+if body :text :contains "project schedule" {
+ fileinto "project/schedule";
+}
+
+require "vacation";
+if header :contains "subject" "lunch" {
+ vacation :handle "ran-away" "I'm out and can't meet for lunch";
+} else {
+ vacation :handle "ran-away" "I'm out";
+}
+
+
+if virustest :value "eq" :comparator "i;ascii-numeric" "0" {
+ fileinto "Unscanned";
+ /* Infected with high probability (value range in 1-5) */
+}
+
+if envelope :detail "to" "spam"{
+ fileinto "Spam";
+}
+
+if size :over 100k {
+ discard;
+}
+elsif address :DOMAIN :is ["From", "To"] "example.com"
+{
+ keep;
+}
+
+require ["reject"];
+
+if size :over 1M {
+ reject text:
+Your message is too big. If you want to send me a big attachment,
+put it on a public web site and send me a URL.
+.
+;
+}
--- /dev/null
+#usda 1.0
+(
+ defaultPrim = "Rocks"
+ endTimeCode = 5
+ startTimeCode = 1
+ upAxis = "Z"
+)
+
+class "name"
+{
+ def Sphere "MySphere"
+ {
+ }
+}
+
+class "inherited" (
+ inherits = </name>
+)
+{
+ over "MySphere"
+ {
+ double radius = 3
+ }
+}
+
+def "RedSphere" (
+ assetInfo = {
+ asset identifier = @./some_file.usd@
+ string name = "Sphere"
+ }
+ specializes = </inherited/MySphere>
+)
+{
+ color3f[] primvars:displayColor = [(0.8, 0, 0)]
+}
+
+def "GreenSphere" (
+ assetInfo = {
+ string name = "Sphere"
+ }
+ specializes = </inherited/MySphere>
+)
+{
+ color3f[] primvars:displayColor = [(0, 1, 0)]
+}
+
+
+def Scope "variant_thing" (
+ variants = {
+ string shadingVariant = "Red"
+ }
+ add variantSets = "shadingVariant"
+)
+{
+ variantSet "shadingVariant" = {
+ "Green" (
+ references = </GreenSphere>
+ payload = @./something_that/doesnt/exist.usd@
+ ) {
+
+ }
+ "Red" (
+ references = </RedSphere>
+ ) {
+
+ }
+ }
+}
+
+def Xform "Rocks" (
+ kind = "component"
+)
+{
+ def PointInstancer "Instances"
+ {
+ vector3f[] angularVelocities.timeSamples = {
+ 1: [(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)],
+ 2: [(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (5.112156e-10, -1.1675656e-9, 2.7325428e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-5.6046756e-10, 1.1357073e-9, 7.6719997e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (2.7305674e-10, 5.5902466e-10, 3.2316158e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.0230942e-8, -8.20622e-9, -7.0976286e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-4.5687405e-11, 8.6141476e-11, 1.3364366e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-2.44634e-14, 7.813818e-14, -5.9944833e-13), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (2.4958732e-10, -6.5580985e-10, -1.5324112e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (9.564866e-11, -1.2648067e-10, -8.7979063e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.0547618e-8, -8.1015035e-9, -7.0957196e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)],
+ 3: [(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (6.989609e-10, -1.6539594e-9, 2.7718952e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-9.065712e-10, 1.8979966e-9, 8.222421e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.4177002e-8, 2.7328266e-8, -7.786683e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-5.376335e-9, 2.0178012e-8, -1.8691981e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-5.298281e-11, -9.301395e-12, -3.884802e-11), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-5.5998494e-11, 1.2578343e-10, -2.5216695e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (5.275003e-10, 1.0338032e-9, 2.6262461e-11), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.611878e-10, 1.3414857e-10, 1.7817849e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.2849097e-10, 2.0527855e-11, 6.351678e-11), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.0603659e-8, -8.5072696e-9, -7.6920537e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (3.8167148e-8, -1.8693507e-8, 2.3504392e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-4.4687608e-11, 1.3808948e-10, 2.1368587e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-2.44634e-14, 7.813818e-14, -5.9944833e-13), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.9754791e-10, -2.9489008e-10, -6.9043293e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (2.6856684e-10, -5.926316e-10, -1.7179941e-9), (5.2605476e-8, -2.8764783e-8, 2.854448e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (2.4156224e-10, -4.7927346e-11, -9.876379e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.0939003e-8, -8.401563e-9, -7.6800205e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)],
+ 4: [(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (8.717868e-10, -2.1020607e-9, 2.8021102e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.0947551e-9, 2.3123528e-9, 8.5297214e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.9462764e-8, 3.762379e-8, -1.5327544e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-7.648143e-9, 2.8318103e-8, -3.4613994e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-5.328866e-11, -9.355089e-12, -3.9072277e-11), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-5.7547373e-11, 1.292625e-10, -2.591417e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (5.347072e-10, 1.0492385e-9, 3.3443383e-11), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.6564614e-10, 1.3785902e-10, 1.8310678e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.2923271e-10, 2.0646356e-11, 6.388344e-11), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.0649298e-8, -8.54413e-9, -7.7642376e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (6.786036e-8, -3.3324138e-8, 8.459508e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-4.4687608e-11, 1.3808948e-10, 2.1368587e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-2.44634e-14, 7.813818e-14, -5.9944833e-13), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.9938302e-10, -2.9452776e-10, -6.841959e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (3.4115527e-10, -8.097179e-10, -1.9063373e-9), (9.394451e-8, -5.0891366e-8, 7.111002e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (2.571808e-10, -3.8619417e-11, -9.950921e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.0986926e-8, -8.438304e-9, -7.7510154e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)],
+ 5: [(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.4754948e-9, -3.6699057e-9, 2.864852e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.3486752e-9, 2.87125e-9, 8.9582014e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.9462764e-8, 3.762379e-8, -1.5327544e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-7.648143e-9, 2.8318103e-8, -3.4613994e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-5.3290403e-11, -9.355394e-12, -3.9073553e-11), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-5.7590197e-11, 1.2935869e-10, -2.5933455e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (5.351674e-10, 1.0502295e-9, 3.3892524e-11), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.657694e-10, 1.379616e-10, 1.8324305e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.2923694e-10, 2.0647031e-11, 6.388553e-11), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.0654887e-8, -8.548644e-9, -7.773067e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (6.786036e-8, -3.3324138e-8, 8.459508e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-4.4687608e-11, 1.3808948e-10, 2.1368587e-9), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-2.44634e-14, 7.813818e-14, -5.9944833e-13), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (-1.9949706e-10, -2.9450525e-10, -6.8380834e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (6.303264e-10, -2.1125923e-9, -2.2079956e-9), (9.394451e-8, -5.0891366e-8, 7.111002e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (2.581828e-10, -3.8022245e-11, -9.955702e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (1.0992794e-8, -8.442803e-9, -7.7597e-10), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)],
+ }
+ float3[] extent.timeSamples = {
+ 1: [(-5.273652, -5.331042, -0.39056742), (5.329517, 5.33452, 0.3929681)],
+ 2: [(-5.273652, -5.331042, -0.3999314), (5.329517, 5.33452, 0.3836041)],
+ 3: [(-5.273652, -5.331042, -0.42632082), (5.329517, 5.33452, 0.3572147)],
+ 4: [(-5.273652, -5.331042, -0.46973568), (5.329517, 5.33452, 0.31379983)],
+ 5: [(-5.273652, -5.331042, -0.530176), (5.329517, 5.33452, 0.25335953)],
+ }
+ quath[] orientations.timeSamples = {
+ 1: [(0.468994, 0.168091, 0.454834, 0.738281), (0.382812, 0.670898, 0.481689, 0.413574), (0.470703, 0.326416, 0.564941, 0.59375), (0.505371, 0.708496, 0.482178, 0.101196), (0.35498, 0.568848, 0.675293, 0.306885), (0.385742, 0.692383, 0.0164642, 0.609375), (0.770996, 0.287109, 0.521973, 0.224609), (0.36792, 0.628906, 0.638184, 0.249512), (0.724121, 0.430664, 0.208252, 0.496826), (0.928223, 0.0809937, 0.0344238, 0.361572), (0.815918, 0.161743, 0.547852, 0.0884399), (0.349609, 0.229858, 0.651855, 0.632324), (0.287598, 0.840332, 0.302734, 0.345703), (0.287842, 0.565918, 0.714844, 0.293701), (0.901367, 0.0376282, 0.134277, 0.409912), (0.606934, 0.134644, 0.535156, 0.571777), (0.929688, 0.0853882, 0.155518, 0.322754), (0.591309, 0.702148, 0.337158, 0.209595), (0.518066, 0.614746, 0.533203, 0.263672), (0.0231018, 0.318115, 0.891602, 0.321533), (0.556641, 0.455811, 0.652832, 0.236328), (0.125854, 0.774902, 0.529297, 0.322021), (0.26709, 0.0723877, 0.121521, 0.953125), (0.0931396, 0.480469, 0.870605, 0.0512695), (0.234131, 0.668945, 0.696777, 0.110046), (0.754883, 0.409424, 0.098877, 0.50293), (0.785645, 0.39209, 0.0108719, 0.478516), (0.422119, 0.562012, 0.578613, 0.413574), (0.37085, 0.487549, 0.679688, 0.403564), (0.463379, 0.407227, 0.539551, 0.573242), (0.205444, 0.760254, 0.342773, 0.512207), (0.081543, 0.541016, 0.480225, 0.685547), (0.556152, 0.654785, 0.46875, 0.205322), (0.0188904, 0.510254, 0.608398, 0.607422), (0.402344, 0.682129, 0.42041, 0.442871), (0.366943, 0.180664, 0.835938, 0.365967), (0.207886, 0.830078, 0.468506, 0.219238), (0.59082, 0.160645, 0.0231934, 0.790527), (0.0663452, 0.758789, 0.333252, 0.555664), (0.479004, 0.525391, 0.555176, 0.431152), (0.756348, 0.00111389, 0.160522, 0.634277), (0.389893, 0.339111, 0.599609, 0.611328), (0.492432, 0.572754, 0.397705, 0.520996), (0.490967, 0.497803, 0.69043, 0.185913), (0.485596, 0.190918, 0.716797, 0.462402), (0.489258, 0.181152, 0.65918, 0.541504), (0.753418, 0.187378, 0.271973, 0.568848), (0.401611, 0.641113, 0.628418, 0.182129), (0.421143, 0.535156, 0.685547, 0.257568), (0.780273, 0.614258, 0.0437622, 0.109131), (0.597168, 0.0449829, 0.702637, 0.384766), (0.0605164, 0.700195, 0.465088, 0.538574), (0.0880737, 0.103577, 0.749512, 0.647949), (0.76709, 0.370361, 0.0926514, 0.515625), (0.331055, 0.462891, 0.496338, 0.655273), (0.732422, 0.647461, 0.114929, 0.176758), (0.316895, 0.783203, 0.51709, 0.137695), (0.618652, 0.761719, 0.1203, 0.151245), (0.915527, 0.253662, 0.310059, 0.0374146), (0.6875, 0.517578, 0.0124664, 0.508789), (0.356934, 0.337891, 0.705566, 0.510742), (0.532715, 0.261963, 0.570801, 0.566895), (0.304688, 0.268555, 0.804688, 0.43335), (0.522461, 0.490723, 0.471191, 0.51416), (0.670898, 0.572754, 0.177124, 0.436523), (0.754395, 0.229614, 0.491211, 0.370117), (0.532227, 0.608887, 0.430176, 0.401123), (0.598145, 0.635742, 0.294189, 0.38916), (0.398682, 0.611328, 0.213257, 0.649414), (0.831543, 0.350098, 0.388184, 0.187988), (0.497314, 0.344971, 0.470215, 0.642578), (0.00505447, 0.245728, 0.485352, 0.838867), (0.475098, 0.541016, 0.679199, 0.1427), (0.329102, 0.221802, 0.409668, 0.821289), (0.509766, 0.465576, 0.632324, 0.351318), (0.609375, 0.121033, 0.53125, 0.576172), (0.442627, 0.736328, 0.503418, 0.0914307), (0.594727, 0.343506, 0.60791, 0.398926), (0.484375, 0.196411, 0.669922, 0.527344), (0.648926, 0.105774, 0.583008, 0.477051), (0.765625, 0.528809, 0.279053, 0.236694), (0.656738, 0.347656, 0.525391, 0.414551), (0.72998, 0.120544, 0.345215, 0.577637), (0.473877, 0.454834, 0.432373, 0.617676), (0.300049, 0.0118637, 0.151733, 0.941895), (0.274902, 0.63916, 0.163818, 0.699707), (0.541992, 0.357178, 0.635742, 0.417969), (0.164795, 0.709473, 0.594238, 0.34082), (0.0489197, 0.474609, 0.853516, 0.209351), (0.439941, 0.592773, 0.416504, 0.530762), (0.0481262, 0.865234, 0.454102, 0.206909), (0.434814, 0.42041, 0.307861, 0.734375), (0.548828, 0.506836, 0.54248, 0.384277), (0.37207, 0.356445, 0.540039, 0.665527), (0.617676, 0.589844, 0.264404, 0.447754), (0.511719, 0.350098, 0.326904, 0.713379), (0.654785, 0.490723, 0.391357, 0.421143), (0.408203, 0.575195, 0.538086, 0.46167), (0.767578, 0.0193939, 0.42334, 0.480957), (0.449951, 0.648926, 0.553223, 0.265381), (0.0689697, 0.976562, 0.109619, 0.173218), (0.680664, 0.525391, 0.482666, 0.166626), (0.555176, 0.594238, 0.150757, 0.5625), (0.388916, 0.208862, 0.153442, 0.884277), (0.00372887, 0.476318, 0.333252, 0.813477), (0.64502, 0.660645, 0.151733, 0.353027), (0.0538025, 0.581543, 0.550781, 0.596191), (0.541504, 0.179077, 0.820312, 0.0462036), (0.457275, 0.225464, 0.830566, 0.223755), (0.133179, 0.665527, 0.361084, 0.639648), (0.707031, 0.44043, 0.0447388, 0.551758), (0.61377, 0.335938, 0.366455, 0.613281), (0.836426, 0.353516, 0.393066, 0.144409), (0.721191, 0.452393, 0.229614, 0.47168), (0.464355, 0.630859, 0.562012, 0.264893), (0.0296783, 0.586914, 0.512207, 0.626465), (0.56543, 0.61084, 0.537109, 0.136108), (0.0530701, 0.270996, 0.836426, 0.473389), (0.634766, 0.370117, 0.652344, 0.186523), (0.532715, 0.729004, 0.18811, 0.38623), (0.0645142, 0.530762, 0.811523, 0.235962), (0.414551, 0.618164, 0.667969, 0.0123596), (0.429932, 0.737305, 0.489502, 0.177734), (0.647461, 0.11261, 0.617676, 0.432129), (0.704102, 0.461182, 0.407471, 0.354248), (0.55127, 0.308105, 0.76123, 0.147949), (0.55127, 0.141846, 0.316406, 0.758789), (0.230591, 0.531738, 0.814453, 0.0300446), (0.581055, 0.407715, 0.136719, 0.690918), (0.489746, 0.521973, 0.618164, 0.325195), (0.142456, 0.584473, 0.478271, 0.639648), (0.438477, 0.63623, 0.447754, 0.449707), (0.577637, 0.131348, 0.78125, 0.196289), (0.587402, 0.46875, 0.496338, 0.434814), (0.103394, 0.379639, 0.787598, 0.474365), (0.100098, 0.434082, 0.730957, 0.51709), (0.43457, 0.615234, 0.302734, 0.583984), (0.64209, 0.463623, 0.608887, 0.0441284), (0.505371, 0.12915, 0.269775, 0.80957), (0.379639, 0.36499, 0.0939331, 0.844727), (0.172852, 0.598633, 0.774902, 0.105469), (0.141479, 0.482422, 0.61377, 0.608887), (0.3396, 0.581055, 0.716309, 0.184326), (0.204224, 0.544922, 0.792969, 0.181152), (0.400146, 0.591309, 0.692383, 0.102966), (0.203857, 0.398193, 0.60791, 0.65625), (0.801758, 0.357422, 0.335449, 0.341797), (0.043335, 0.150757, 0.884766, 0.438965), (0.173218, 0.672852, 0.376465, 0.612793), (0.649414, 0.362061, 0.481201, 0.4646), (0.662109, 0.603516, 0.344238, 0.280762), (0.489014, 0.19165, 0.800781, 0.288086), (0.82959, 0.0906372, 0.469482, 0.28833), (0.341797, 0.142822, 0.00710297, 0.928711), (0.523926, 0.176636, 0.598145, 0.580566), (0.564453, 0.246948, 0.589844, 0.521973), (0.459717, 0.496826, 0.608887, 0.413818), (0.499023, 0.828125, 0.0282593, 0.253662), (0.464844, 0.804199, 0.102539, 0.355957), (0.693359, 0.255615, 0.0837402, 0.668457), (0.415771, 0.621094, 0.638184, 0.18396), (0.158691, 0.731445, 0.27002, 0.605957), (0.648926, 0.623535, 0.0406799, 0.434326), (0.292236, 0.5, 0.449707, 0.679688), (0.33252, 0.110657, 0.888184, 0.297363), (0.641113, 0.267822, 0.715332, 0.072876), (0.0325317, 0.407227, 0.799316, 0.440918), (0.560547, 0.494385, 0.381348, 0.543945), (0.247681, 0.416016, 0.75, 0.450928), (0.601562, 0.671387, 0.388672, 0.190796), (0.348389, 0.845215, 0.292236, 0.28125), (0.433594, 0.464111, 0.401123, 0.660156), (0.450195, 0.214111, 0.85498, 0.143677), (0.596191, 0.440918, 0.377197, 0.554688), (0.561523, 0.715332, 0.274414, 0.313232), (0.477783, 0.435059, 0.686035, 0.334717), (0.744141, 0.078064, 0.392334, 0.535156), (0.319824, 0.375488, 0.851562, 0.178101), (0.513184, 0.283447, 0.0665894, 0.807617), (0.500977, 0.762695, 0.224976, 0.341064), (0.816895, 0.155396, 0.51709, 0.202393), (0.0157318, 0.497314, 0.763184, 0.411865), (0.605469, 0.570312, 0.39209, 0.393311), (0.0687256, 0.682129, 0.172363, 0.70752), (0.947266, 0.0371704, 0.212036, 0.237427), (0.268311, 0.295898, 0.0045166, 0.916504), (0.429932, 0.715332, 0.178467, 0.521484), (0.338135, 0.658203, 0.537598, 0.404053), (0.449707, 0.74707, 0.337646, 0.354248), (0.824219, 0.343506, 0.44873, 0.0349426), (0.0796509, 0.937988, 0.0897827, 0.325439), (0.344238, 0.719238, 0.506836, 0.327637), (0.705078, 0.387939, 0.588867, 0.0739136), (0.628418, 0.335205, 0.221191, 0.666504), (0.771484, 0.410889, 0.477051, 0.0908813), (0.538574, 0.566406, 0.619141, 0.0793457), (0.684082, 0.373047, 0.557129, 0.287109), (0.638672, 0.64209, 0.41748, 0.0727539), (0.681641, 0.515137, 0.456787, 0.247314), (0.538086, 0.609863, 0.340332, 0.471924), (0.71582, 0.0874634, 0.680664, 0.129028), (0.222412, 0.684082, 0.614746, 0.32373), (0.507324, 0.799316, 0.238647, 0.216431), (0.429932, 0.736328, 0.00971222, 0.522461), (0.757324, 0.644531, 0.052002, 0.0913086), (0.268799, 0.0161133, 0.438232, 0.857422), (0.435059, 0.742676, 0.3125, 0.401611), (0.804199, 0.469727, 0.227783, 0.283936), (0.231079, 0.451904, 0.687988, 0.519043), (0.451172, 0.574219, 0.420654, 0.538574), (0.140259, 0.85791, 0.0655518, 0.489746), (0.258301, 0.481445, 0.746094, 0.381104), (0.140625, 0.00349236, 0.95166, 0.272217), (0.0164795, 0.863281, 0.354492, 0.358398), (0.584961, 0.490967, 0.630859, 0.136963), (0.0425415, 0.624512, 0.487793, 0.608398), (0.16687, 0.415039, 0.871582, 0.199951), (0.543945, 0.479736, 0.336182, 0.600586), (0.0562744, 0.4729, 0.569336, 0.67041), (0.583008, 0.753906, 0.302979, 0.00542068), (0.395752, 0.253906, 0.640137, 0.607422), (0.632812, 0.652344, 0.410889, 0.0731201), (0.187134, 0.481445, 0.750488, 0.412109), (0.437744, 0.744141, 0.318115, 0.39209), (0.555176, 0.668945, 0.0766602, 0.488525), (0.570312, 0.519043, 0.300537, 0.561035), (0.171631, 0.740723, 0.150146, 0.631836), (0.282471, 0.283691, 0.195923, 0.89502), (0.651855, 0.702148, 0.0883179, 0.272705), (0.179688, 0.733398, 0.148804, 0.638184), (0.406494, 0.695312, 0.552734, 0.213623), (0.251953, 0.0709229, 0.73291, 0.62793), (0.723145, 0.568848, 0.390869, 0.0258331), (0.695312, 0.552734, 0.410889, 0.206055), (0.73877, 0.104553, 0.378906, 0.547363), (0.145142, 0.431152, 0.453857, 0.766113), (0.0645752, 0.461182, 0.388672, 0.794922), (0.391846, 0.616211, 0.637207, 0.245972), (0.522949, 0.0602417, 0.642578, 0.556641), (0.492676, 0.421631, 0.394043, 0.651367), (0.51416, 0.423828, 0.500488, 0.552734), (0.220703, 0.0689087, 0.910156, 0.344238), (0.177124, 0.377197, 0.200806, 0.886719), (0.698242, 0.253662, 0.665039, 0.0756836), (0.21106, 0.267822, 0.191895, 0.92041), (0.887207, 0.211792, 0.296631, 0.282715), (0.523438, 0.5, 0.164551, 0.669922), (0.637207, 0.383789, 0.585938, 0.321777), (0.567871, 0.57666, 0.193481, 0.554688), (0.0535583, 0.633789, 0.2323, 0.73584), (0.395996, 0.546875, 0.694824, 0.247437), (0.869629, 0.236938, 0.347656, 0.258301), (0.173462, 0.614746, 0.461426, 0.615723), (0.115173, 0.562988, 0.818359, 0.0155182), (0.598633, 0.304932, 0.0189056, 0.740234), (0.521484, 0.0218353, 0.553223, 0.649414), (0.561523, 0.512695, 0.397217, 0.513672), (0.151245, 0.234863, 0.959961, 0.0247345), (0.305908, 0.604492, 0.492188, 0.546387), (0.599121, 0.686523, 0.192627, 0.364258), (0.47876, 0.411377, 0.769531, 0.0985107), (0.585449, 0.271484, 0.34668, 0.680664), (0.616211, 0.0740356, 0.47998, 0.620117), (0.666016, 0.017334, 0.289307, 0.6875), (0.184937, 0.401611, 0.009552, 0.896973), (0.137817, 0.654785, 0.738281, 0.0872192), (0.555664, 0.531738, 0.36377, 0.525879), (0.236938, 0.133667, 0.754395, 0.597168), (0.381104, 0.640625, 0.516113, 0.421387), (0.218994, 0.468262, 0.683594, 0.515625), (0.583008, 0.480225, 0.416016, 0.506348), (0.407227, 0.781738, 0.311279, 0.355225), (0.396484, 0.394531, 0.443115, 0.700684), (0.566895, 0.721191, 0.379639, 0.11969), (0.708984, 0.542969, 0.158081, 0.421387), (0.163818, 0.010582, 0.847168, 0.505371), (0.709473, 0.27002, 0.612793, 0.219727), (0.0732422, 0.301025, 0.80957, 0.498535), (0.681641, 0.182129, 0.708496, 0.0115509), (0.692383, 0.416748, 0.588867, 0.00333977), (0.58252, 0.338379, 0.711914, 0.19873), (0.656738, 0.488525, 0.567383, 0.0895996), (0.635742, 0.539062, 0.488281, 0.258301), (0.615234, 0.659668, 0.316162, 0.293945), (0.828613, 0.468994, 0.148193, 0.267334), (0.300293, 0.1521, 0.732422, 0.592285), (0.69873, 0.440674, 0.35376, 0.438477), (0.0406494, 0.679199, 0.634277, 0.366943), (0.801758, 0.0582275, 0.281006, 0.524414), (0.41333, 0.127075, 0.186401, 0.882324), (0.438721, 0.474365, 0.755371, 0.110046), (0.620605, 0.513672, 0.584961, 0.0941772), (0.05896, 0.00168514, 0.958496, 0.279297), (0.825684, 0.330322, 0.226685, 0.397217), (0.385986, 0.615723, 0.388672, 0.566406), (0.290527, 0.516602, 0.746582, 0.30249), (0.881348, 0.0742798, 0.167603, 0.435547), (0.549316, 0.27832, 0.193115, 0.763672), (0.0157623, 0.395752, 0.130493, 0.908691), (0.460449, 0.697754, 0.510742, 0.201416), (0.726562, 0.541016, 0.303711, 0.294678), (0.288086, 0.392822, 0.691406, 0.533691), (0.737305, 0.626465, 0.169434, 0.187378), (0.722168, 0.625, 0.10022, 0.278809), (0.0105209, 0.804688, 0.153931, 0.573242), (0.101562, 0.690918, 0.702637, 0.134888), (0.38208, 0.552734, 0.606934, 0.424316), (0.160034, 0.0267181, 0.335205, 0.928223), (0.224365, 0.381348, 0.557617, 0.702148), (0.691406, 0.125854, 0.501465, 0.504883), (0.834961, 0.232788, 0.489746, 0.0942383), (0.491455, 0.541504, 0.523438, 0.4375), (0.551758, 0.432373, 0.494629, 0.513672), (0.108704, 0.459961, 0.589844, 0.654785), (0.438232, 0.476562, 0.706055, 0.286377), (0.361084, 0.252441, 0.392578, 0.807129), (0.788086, 0.0546875, 0.507812, 0.343994), (0.454346, 0.509766, 0.504395, 0.528809), (0.104248, 0.975586, 0.18103, 0.0692139), (0.924316, 0.149536, 0.0319824, 0.349609), (0.508789, 0.458008, 0.232056, 0.690918), (0.687988, 0.620605, 0.350342, 0.137207), (0.365723, 0.85791, 0.133911, 0.335693), (0.317871, 0.403076, 0.618164, 0.595215), (0.458496, 0.461426, 0.618164, 0.441162), (0.605957, 0.502441, 0.58252, 0.202271), (0.456787, 0.577637, 0.49585, 0.459961), (0.697754, 0.644043, 0.216675, 0.226318), (0.412842, 0.628906, 0.0456238, 0.657227), (0.671875, 0.20752, 0.675293, 0.222656), (0.378174, 0.548828, 0.451416, 0.593262), (0.697754, 0.4646, 0.540039, 0.0749512), (0.658691, 0.495605, 0.343994, 0.449463), (0.804688, 0.127441, 0.551758, 0.178955), (0.144043, 0.791016, 0.594238, 0.0206604), (0.185791, 0.387451, 0.444092, 0.786133), (0.764648, 0.463867, 0.436768, 0.0957031), (0.00309944, 0.714844, 0.105286, 0.690918), (0.546387, 0.481934, 0.570801, 0.378418), (0.54248, 0.0839844, 0.140991, 0.82373), (0.109497, 0.725098, 0.611816, 0.296143), (0.0836792, 0.163574, 0.586914, 0.788574), (0.693359, 0.0698853, 0.689453, 0.197266), (0.460693, 0.621582, 0.453613, 0.442383), (0.506348, 0.666016, 0.340576, 0.429443), (0.0577087, 0.415527, 0.0742188, 0.904785), (0.0575256, 0.779785, 0.514648, 0.352295), (0.365723, 0.540039, 0.170654, 0.738281), (0.987305, 0.150146, 0.00455856, 0.0514832), (0.623047, 0.119263, 0.412109, 0.653809), (0.977539, 0.11969, 0.0733032, 0.157227), (0.074646, 0.0269623, 0.183105, 0.97998), (0.666504, 0.482178, 0.428955, 0.373047), (0.25, 0.115356, 0.564941, 0.777832), (0.467529, 0.79541, 0.300293, 0.242065), (0.462646, 0.456787, 0.740234, 0.170288), (0.259033, 0.626953, 0.652344, 0.338623), (0.0396423, 0.377441, 0.59375, 0.709473), (0.0614929, 0.0821533, 0.919434, 0.379395), (0.242188, 0.235229, 0.460693, 0.820801), (0.124756, 0.628418, 0.368652, 0.673828), (0.504395, 0.364014, 0.738281, 0.26123), (0.452881, 0.682617, 0.0543518, 0.571289), (0.683594, 0.189087, 0.692383, 0.131348), (0.632812, 0.725586, 0.113708, 0.245239), (0.387939, 0.905273, 0.170654, 0.0314331), (0.609375, 0.0265198, 0.372559, 0.699219), (0.0329895, 0.283691, 0.740723, 0.60791), (0.165771, 0.155762, 0.812988, 0.536133), (0.592285, 0.456299, 0.560059, 0.357178), (0.634277, 0.0870361, 0.401367, 0.654785), (0.689941, 0.517578, 0.280273, 0.421631), (0.499023, 0.622559, 0.596191, 0.0888062), (0.484619, 0.506836, 0.529297, 0.477539), (0.220093, 0.473633, 0.765625, 0.375977), (0.00972748, 0.624023, 0.203735, 0.754395), (0.492188, 0.100647, 0.000545979, 0.864746), (0.228882, 0.834473, 0.301025, 0.400391), (0.456299, 0.23877, 0.587891, 0.623535), (0.536133, 0.5625, 0.523926, 0.349121), (0.587402, 0.292969, 0.322021, 0.682129), (0.593262, 0.556152, 0.566406, 0.13269), (0.10791, 0.829102, 0.539551, 0.0997314), (0.394775, 0.38501, 0.350342, 0.757324), (0.786133, 0.439941, 0.397217, 0.175537), (0.879395, 0.149536, 0.29834, 0.339355), (0.696777, 0.32373, 0.467773, 0.436768), (0.386963, 0.127808, 0.754883, 0.513672), (0.604004, 0.130737, 0.515137, 0.59375), (0.128418, 0.0111694, 0.991699, 0.000308275), (0.558105, 0.265625, 0.785645, 0.0202484), (0.695312, 0.64502, 0.264404, 0.175171), (0.5, 0.54541, 0.0738525, 0.668945), (0.0522766, 0.243652, 0.583496, 0.772949), (0.341309, 0.680176, 0.490479, 0.424805), (0.607422, 0.306641, 0.544434, 0.490234), (0.640137, 0.285645, 0.315918, 0.63916), (0.466553, 0.488037, 0.610352, 0.414307), (0.57959, 0.631348, 0.277344, 0.43457), (0.803711, 0.0847168, 0.138916, 0.572266), (0.58252, 0.186401, 0.631836, 0.47583), (0.317139, 0.583008, 0.588867, 0.461182), (0.21814, 0.707031, 0.276123, 0.61377), (0.0426941, 0.92334, 0.10791, 0.366211), (0.366699, 0.550781, 0.749023, 0.0311584), (0.235718, 0.0223236, 0.657227, 0.71582), (0.754395, 0.292236, 0.335938, 0.482178), (0.324219, 0.489258, 0.695312, 0.414795), (0.687012, 0.375488, 0.505859, 0.362061), (0.267578, 0.722656, 0.286865, 0.568848), (0.551758, 0.46875, 0.0196533, 0.689453), (0.665039, 0.427246, 0.526855, 0.312744), (0.68457, 0.344482, 0.495361, 0.40918), (0.468018, 0.071167, 0.810547, 0.344482), (0.279541, 0.22644, 0.518555, 0.775879), (0.20459, 0.785156, 0.466064, 0.352295), (0.543457, 0.624512, 0.0345764, 0.560059), (0.493652, 0.469482, 0.727539, 0.0794678), (0.444336, 0.550293, 0.649414, 0.280029), (0.668945, 0.264893, 0.556641, 0.415283), (0.449951, 0.425781, 0.0817871, 0.780762), (0.430664, 0.220337, 0.557129, 0.675293), (0.0508728, 0.175171, 0.791992, 0.58252), (0.543457, 0.53125, 0.597656, 0.255615), (0.402832, 0.424316, 0.280029, 0.76123), (0.44043, 0.366699, 0.681152, 0.455322), (0.675293, 0.268799, 0.202637, 0.65625), (0.0601807, 0.710449, 0.654297, 0.251953), (0.794434, 0.0823364, 0.0695801, 0.597656), (0.692871, 0.0828247, 0.700195, 0.150024), (0.466797, 0.635742, 0.212646, 0.57666), (0.623047, 0.494873, 0.351074, 0.493896), (0.505371, 0.647461, 0.547363, 0.15979), (0.249634, 0.17395, 0.193726, 0.932617), (0.907227, 0.142944, 0.160889, 0.361328), (0.546387, 0.397217, 0.618652, 0.401367), (0.463623, 0.51416, 0.588379, 0.417969), (0.603516, 0.73584, 0.190674, 0.241211), (0.27124, 0.0416565, 0.895508, 0.350098), (0.284912, 0.623535, 0.456055, 0.567383), (0.558105, 0.518555, 0.585938, 0.276367), (0.233398, 0.913574, 0.0595398, 0.328125), (0.557617, 0.60791, 0.128662, 0.550781), (0.179932, 0.273438, 0.70166, 0.632812), (0.279297, 0.337158, 0.812012, 0.38623), (0.208008, 0.403564, 0.648926, 0.610352), (0.883301, 0.201904, 0.420654, 0.0443726), (0.479736, 0.525879, 0.435791, 0.550781), (0.727539, 0.516602, 0.293945, 0.342773), (0.482422, 0.366455, 0.564453, 0.560547), (0.357422, 0.483643, 0.591797, 0.537109), (0.566895, 0.310547, 0.480713, 0.592773), (0.365723, 0.903809, 0.213135, 0.0608215), (0.475342, 0.624023, 0.427734, 0.449463), (0.391846, 0.452637, 0.689453, 0.407715), (0.0802612, 0.82959, 0.12915, 0.537109), (0.00506592, 0.568359, 0.799316, 0.195435), (0.535156, 0.691406, 0.485107, 0.0227966), (0.412354, 0.278076, 0.339844, 0.79834), (0.0248871, 0.283691, 0.486084, 0.826172), (0.702637, 0.530273, 0.393799, 0.264404), (0.639648, 0.391602, 0.158203, 0.64209), (0.624512, 0.00078249, 0.37793, 0.683594), (0.501953, 0.705078, 0.0289154, 0.5), (0.577148, 0.507812, 0.639648, 0.00888824), (0.0848389, 0.478271, 0.5625, 0.668945), (0.252197, 0.769043, 0.213135, 0.547363), (0.446533, 0.818848, 0.331543, 0.140869), (0.555176, 0.39502, 0.233398, 0.693848), (0.453857, 0.569824, 0.477783, 0.490723), (0.356934, 0.532227, 0.508789, 0.575195), (0.417236, 0.688965, 0.584961, 0.0932617), (0.15686, 0.802734, 0.000578403, 0.575684), (0.416748, 0.532715, 0.451904, 0.582031), (0.527344, 0.67334, 0.436035, 0.279541), (0.332031, 0.829102, 0.426514, 0.143311), (0.708984, 0.139038, 0.426514, 0.543945), (0.626953, 0.703125, 0.101624, 0.319336), (0.00901794, 0.382324, 0.672363, 0.633789), (0.173584, 0.694336, 0.612305, 0.335693), (0.29248, 0.541016, 0.58252, 0.53125), (0.888184, 0.383789, 0.250977, 0.0299225), (0.164917, 0.616211, 0.549805, 0.539551), (0.28833, 0.683594, 0.599121, 0.301025), (0.0667725, 0.96582, 0.189209, 0.162964), (0.429443, 0.416016, 0.80127, 0.0271606), (0.834961, 0.138794, 0.289551, 0.447021), (0.0962524, 0.109375, 0.922852, 0.356934), (0.305176, 0.535645, 0.561035, 0.552246), (0.625977, 0.284912, 0.679199, 0.255859), (0.60498, 0.441895, 0.468506, 0.468262), (0.395508, 0.270996, 0.822754, 0.30542), (0.416748, 0.207642, 0.602051, 0.648926), (0.333496, 0.230103, 0.496094, 0.768066), (0.80127, 0.308105, 0.502441, 0.103394), (0.86377, 0.446777, 0.203003, 0.114624), (0.273682, 0.230347, 0.649902, 0.670898), (0.782715, 0.469238, 0.0795898, 0.401123), (0.318604, 0.569336, 0.538574, 0.533203), (0.549316, 0.433594, 0.427979, 0.571777)],
+ 2: [(0.468994, 0.168091, 0.454834, 0.738281), (0.382812, 0.670898, 0.481689, 0.413574), (0.470703, 0.326416, 0.564941, 0.59375), (0.505371, 0.708496, 0.482178, 0.101196), (0.35498, 0.568848, 0.675293, 0.306885), (0.385742, 0.692383, 0.0164642, 0.609375), (0.770996, 0.287109, 0.521973, 0.224609), (0.36792, 0.628906, 0.638184, 0.249512), (0.724121, 0.430664, 0.208252, 0.496826), (0.928223, 0.0809937, 0.0344238, 0.361572), (0.815918, 0.161743, 0.547852, 0.0884399), (0.349609, 0.229858, 0.651855, 0.632324), (0.287598, 0.840332, 0.302734, 0.345703), (0.287842, 0.565918, 0.714844, 0.293701), (0.901367, 0.0376282, 0.134277, 0.409912), (0.606934, 0.134644, 0.535156, 0.571777), (0.929688, 0.0853882, 0.155518, 0.322754), (0.591309, 0.702148, 0.337158, 0.209595), (0.518066, 0.614746, 0.533203, 0.263672), (0.0231018, 0.318115, 0.891602, 0.321533), (0.556641, 0.455811, 0.652832, 0.236328), (0.125854, 0.774902, 0.529297, 0.322021), (0.26709, 0.0723877, 0.121521, 0.953125), (0.0931396, 0.480469, 0.870605, 0.0512695), (0.234131, 0.668945, 0.696777, 0.110046), (0.754883, 0.409424, 0.098877, 0.50293), (0.785645, 0.39209, 0.0108719, 0.478516), (0.422119, 0.562012, 0.578613, 0.413574), (0.37085, 0.487549, 0.679688, 0.403564), (0.463379, 0.407227, 0.539551, 0.573242), (0.205444, 0.760254, 0.342773, 0.512207), (0.081543, 0.541016, 0.480225, 0.685547), (0.556152, 0.654785, 0.46875, 0.205322), (0.0188904, 0.510254, 0.608398, 0.607422), (0.402344, 0.682129, 0.42041, 0.442871), (0.366943, 0.180664, 0.835938, 0.365967), (0.207886, 0.830078, 0.468506, 0.219238), (0.59082, 0.160645, 0.0231934, 0.790527), (0.0663452, 0.758789, 0.333252, 0.555664), (0.479004, 0.525391, 0.555176, 0.431152), (0.756348, 0.00111389, 0.160522, 0.634277), (0.389893, 0.339111, 0.599609, 0.611328), (0.492432, 0.572754, 0.397705, 0.520996), (0.490967, 0.497803, 0.69043, 0.185913), (0.485596, 0.190918, 0.716797, 0.462402), (0.489258, 0.181152, 0.65918, 0.541504), (0.753418, 0.187378, 0.271973, 0.568848), (0.401611, 0.641113, 0.628418, 0.182129), (0.421143, 0.535156, 0.685547, 0.257568), (0.780273, 0.614258, 0.0437622, 0.109131), (0.597168, 0.0449829, 0.702637, 0.384766), (0.0605164, 0.700195, 0.465088, 0.538574), (0.0880737, 0.103577, 0.749512, 0.647949), (0.76709, 0.370361, 0.0926514, 0.515625), (0.331055, 0.462891, 0.496338, 0.655273), (0.732422, 0.647461, 0.114929, 0.176758), (0.316895, 0.783203, 0.51709, 0.137695), (0.618652, 0.761719, 0.1203, 0.151245), (0.915527, 0.253662, 0.310059, 0.0374146), (0.6875, 0.517578, 0.0124664, 0.508789), (0.356934, 0.337891, 0.705566, 0.510742), (0.532715, 0.261963, 0.570801, 0.566895), (0.304688, 0.268555, 0.804688, 0.43335), (0.522461, 0.490723, 0.471191, 0.51416), (0.670898, 0.572754, 0.177124, 0.436523), (0.754395, 0.229614, 0.491211, 0.370117), (0.532227, 0.608887, 0.430176, 0.401123), (0.598145, 0.635742, 0.294189, 0.38916), (0.398682, 0.611328, 0.213257, 0.649414), (0.831543, 0.350098, 0.388184, 0.187988), (0.497314, 0.344971, 0.470215, 0.642578), (0.00505447, 0.245728, 0.485352, 0.838867), (0.475098, 0.541016, 0.679199, 0.1427), (0.329102, 0.221802, 0.409668, 0.821289), (0.509766, 0.465576, 0.632324, 0.351318), (0.609375, 0.121033, 0.53125, 0.576172), (0.442627, 0.736328, 0.503418, 0.0914307), (0.594727, 0.343506, 0.60791, 0.398926), (0.484375, 0.196411, 0.669922, 0.527344), (0.648926, 0.105774, 0.583008, 0.477051), (0.765625, 0.528809, 0.279053, 0.236694), (0.656738, 0.347656, 0.525391, 0.414551), (0.72998, 0.120544, 0.345215, 0.577637), (0.473877, 0.454834, 0.432373, 0.617676), (0.300049, 0.0118637, 0.151733, 0.941895), (0.274902, 0.63916, 0.163818, 0.699707), (0.541992, 0.357178, 0.635742, 0.417969), (0.164795, 0.709473, 0.594238, 0.34082), (0.0489197, 0.474609, 0.853516, 0.209351), (0.439941, 0.592773, 0.416504, 0.530762), (0.0481262, 0.865234, 0.454102, 0.206909), (0.434814, 0.42041, 0.307861, 0.734375), (0.548828, 0.506836, 0.54248, 0.384277), (0.37207, 0.356445, 0.540039, 0.665527), (0.617676, 0.589844, 0.264404, 0.447754), (0.511719, 0.350098, 0.326904, 0.713379), (0.654785, 0.490723, 0.391357, 0.421143), (0.408203, 0.575195, 0.538086, 0.46167), (0.767578, 0.0193939, 0.42334, 0.480957), (0.449951, 0.648926, 0.553223, 0.265381), (0.0689697, 0.976562, 0.109619, 0.173218), (0.680664, 0.525391, 0.482666, 0.166626), (0.555176, 0.594238, 0.150757, 0.5625), (0.388916, 0.208862, 0.153442, 0.884277), (0.00372887, 0.476318, 0.333252, 0.813477), (0.64502, 0.660645, 0.151733, 0.353027), (0.0538025, 0.581543, 0.550781, 0.596191), (0.541504, 0.179077, 0.820312, 0.0462036), (0.457275, 0.225464, 0.830566, 0.223755), (0.133179, 0.665527, 0.361084, 0.639648), (0.707031, 0.44043, 0.0447388, 0.551758), (0.61377, 0.335938, 0.366455, 0.613281), (0.836426, 0.353516, 0.393066, 0.144409), (0.721191, 0.452393, 0.229614, 0.47168), (0.464355, 0.630859, 0.562012, 0.264893), (0.0296783, 0.586914, 0.512207, 0.626465), (0.56543, 0.61084, 0.537109, 0.136108), (0.0530701, 0.270996, 0.836426, 0.473389), (0.634766, 0.370117, 0.652344, 0.186523), (0.532715, 0.729004, 0.18811, 0.38623), (0.0645142, 0.530762, 0.811523, 0.235962), (0.414551, 0.618164, 0.667969, 0.0123596), (0.429932, 0.737305, 0.489502, 0.177734), (0.647461, 0.11261, 0.617676, 0.432129), (0.704102, 0.461182, 0.407471, 0.354248), (0.55127, 0.308105, 0.76123, 0.147949), (0.55127, 0.141846, 0.316406, 0.758789), (0.230591, 0.531738, 0.814453, 0.0300446), (0.581055, 0.407715, 0.136719, 0.690918), (0.489746, 0.521973, 0.618164, 0.325195), (0.142456, 0.584473, 0.478271, 0.639648), (0.438477, 0.63623, 0.447754, 0.449707), (0.577637, 0.131348, 0.78125, 0.196289), (0.587402, 0.46875, 0.496338, 0.434814), (0.103394, 0.379639, 0.787598, 0.474365), (0.100098, 0.434082, 0.730957, 0.51709), (0.43457, 0.615234, 0.302734, 0.583984), (0.64209, 0.463623, 0.608887, 0.0441284), (0.505371, 0.12915, 0.269775, 0.80957), (0.379639, 0.36499, 0.0939331, 0.844727), (0.172852, 0.598633, 0.774902, 0.105469), (0.141479, 0.482422, 0.61377, 0.608887), (0.3396, 0.581055, 0.716309, 0.184326), (0.204224, 0.544922, 0.792969, 0.181152), (0.400146, 0.591309, 0.692383, 0.102966), (0.203857, 0.398193, 0.60791, 0.65625), (0.801758, 0.357422, 0.335449, 0.341797), (0.043335, 0.150757, 0.884766, 0.438965), (0.173218, 0.672852, 0.376465, 0.612793), (0.649414, 0.362061, 0.481201, 0.4646), (0.662109, 0.603516, 0.344238, 0.280762), (0.489014, 0.19165, 0.800781, 0.288086), (0.82959, 0.0906372, 0.469482, 0.28833), (0.341797, 0.142822, 0.00710297, 0.928711), (0.523926, 0.176636, 0.598145, 0.580566), (0.564453, 0.246948, 0.589844, 0.521973), (0.459717, 0.496826, 0.608887, 0.413818), (0.499023, 0.828125, 0.0282593, 0.253662), (0.464844, 0.804199, 0.102539, 0.355957), (0.693359, 0.255615, 0.0837402, 0.668457), (0.415771, 0.621094, 0.638184, 0.18396), (0.158691, 0.731445, 0.27002, 0.605957), (0.648926, 0.623535, 0.0406799, 0.434326), (0.292236, 0.5, 0.449707, 0.679688), (0.33252, 0.110657, 0.888184, 0.297363), (0.641113, 0.267822, 0.715332, 0.072876), (0.0325317, 0.407227, 0.799316, 0.440918), (0.560547, 0.494385, 0.381348, 0.543945), (0.247681, 0.416016, 0.75, 0.450928), (0.601562, 0.671387, 0.388672, 0.190796), (0.348389, 0.845215, 0.292236, 0.28125), (0.433594, 0.464111, 0.401123, 0.660156), (0.450195, 0.214111, 0.85498, 0.143677), (0.596191, 0.440918, 0.377197, 0.554688), (0.561523, 0.715332, 0.274414, 0.313232), (0.477783, 0.435059, 0.686035, 0.334717), (0.744141, 0.078064, 0.392334, 0.535156), (0.319824, 0.375488, 0.851562, 0.178101), (0.513184, 0.283447, 0.0665894, 0.807617), (0.500977, 0.762695, 0.224976, 0.341064), (0.816895, 0.155396, 0.51709, 0.202393), (0.0157318, 0.497314, 0.763184, 0.411865), (0.605469, 0.570312, 0.39209, 0.393311), (0.0687256, 0.682129, 0.172363, 0.70752), (0.947266, 0.0371704, 0.212036, 0.237427), (0.268311, 0.295898, 0.0045166, 0.916504), (0.429932, 0.715332, 0.178467, 0.521484), (0.338135, 0.658203, 0.537598, 0.404053), (0.449707, 0.74707, 0.337646, 0.354248), (0.824219, 0.343506, 0.44873, 0.0349426), (0.0796509, 0.937988, 0.0897827, 0.325439), (0.344238, 0.719238, 0.506836, 0.327637), (0.705078, 0.387939, 0.588867, 0.0739136), (0.628418, 0.335205, 0.221191, 0.666504), (0.771484, 0.410889, 0.477051, 0.0908813), (0.538574, 0.566406, 0.619141, 0.0793457), (0.684082, 0.373047, 0.557129, 0.287109), (0.638672, 0.64209, 0.41748, 0.0727539), (0.681641, 0.515137, 0.456787, 0.247314), (0.538086, 0.609863, 0.340332, 0.471924), (0.71582, 0.0874634, 0.680664, 0.129028), (0.222412, 0.684082, 0.614746, 0.32373), (0.507324, 0.799316, 0.238647, 0.216431), (0.429932, 0.736328, 0.00971222, 0.522461), (0.757324, 0.644531, 0.052002, 0.0913086), (0.268799, 0.0161133, 0.438232, 0.857422), (0.435059, 0.742676, 0.3125, 0.401611), (0.804199, 0.469727, 0.227783, 0.283936), (0.231079, 0.451904, 0.687988, 0.519043), (0.451172, 0.574219, 0.420654, 0.538574), (0.140259, 0.85791, 0.0655518, 0.489746), (0.258301, 0.481445, 0.746094, 0.381104), (0.140625, 0.00349236, 0.95166, 0.272217), (0.0164795, 0.863281, 0.354492, 0.358398), (0.584961, 0.490967, 0.630859, 0.136963), (0.0425415, 0.624512, 0.487793, 0.608398), (0.16687, 0.415039, 0.871582, 0.199951), (0.543945, 0.479736, 0.336182, 0.600586), (0.0562744, 0.4729, 0.569336, 0.67041), (0.583008, 0.753906, 0.302979, 0.00542068), (0.395752, 0.253906, 0.640137, 0.607422), (0.632812, 0.652344, 0.410889, 0.0731201), (0.187134, 0.481445, 0.750488, 0.412109), (0.437744, 0.744141, 0.318115, 0.39209), (0.555176, 0.668945, 0.0766602, 0.488525), (0.570312, 0.519043, 0.300537, 0.561035), (0.171631, 0.740723, 0.150146, 0.631836), (0.282471, 0.283691, 0.195923, 0.89502), (0.651855, 0.702148, 0.0883179, 0.272705), (0.179688, 0.733398, 0.148804, 0.638184), (0.406494, 0.695312, 0.552734, 0.213623), (0.251953, 0.0709229, 0.73291, 0.62793), (0.723145, 0.568848, 0.390869, 0.0258331), (0.695312, 0.552734, 0.410889, 0.206055), (0.73877, 0.104553, 0.378906, 0.547363), (0.145142, 0.431152, 0.453857, 0.766113), (0.0645752, 0.461182, 0.388672, 0.794922), (0.391846, 0.616211, 0.637207, 0.245972), (0.522949, 0.0602417, 0.642578, 0.556641), (0.492676, 0.421631, 0.394043, 0.651367), (0.51416, 0.423828, 0.500488, 0.552734), (0.220703, 0.0689087, 0.910156, 0.344238), (0.177124, 0.377197, 0.200806, 0.886719), (0.698242, 0.253662, 0.665039, 0.0756836), (0.21106, 0.267822, 0.191895, 0.92041), (0.887207, 0.211792, 0.296631, 0.282715), (0.523438, 0.5, 0.164551, 0.669922), (0.637207, 0.383789, 0.585938, 0.321777), (0.567871, 0.57666, 0.193481, 0.554688), (0.0535583, 0.633789, 0.2323, 0.73584), (0.395996, 0.546875, 0.694824, 0.247437), (0.869629, 0.236938, 0.347656, 0.258301), (0.173462, 0.614746, 0.461426, 0.615723), (0.115173, 0.562988, 0.818359, 0.0155182), (0.598633, 0.304932, 0.0189056, 0.740234), (0.521484, 0.0218353, 0.553223, 0.649414), (0.561523, 0.512695, 0.397217, 0.513672), (0.151245, 0.234863, 0.959961, 0.0247345), (0.305908, 0.604492, 0.492188, 0.546387), (0.599121, 0.686523, 0.192627, 0.364258), (0.47876, 0.411377, 0.769531, 0.0985107), (0.585449, 0.271484, 0.34668, 0.680664), (0.616211, 0.0740356, 0.47998, 0.620117), (0.666016, 0.017334, 0.289307, 0.6875), (0.184937, 0.401611, 0.009552, 0.896973), (0.137817, 0.654785, 0.738281, 0.0872192), (0.555664, 0.531738, 0.36377, 0.525879), (0.236938, 0.133667, 0.754395, 0.597168), (0.381104, 0.640625, 0.516113, 0.421387), (0.218994, 0.468262, 0.683594, 0.515625), (0.583008, 0.480225, 0.416016, 0.506348), (0.407227, 0.781738, 0.311279, 0.355225), (0.396484, 0.394531, 0.443115, 0.700684), (0.566895, 0.721191, 0.379639, 0.11969), (0.708984, 0.542969, 0.158081, 0.421387), (0.163818, 0.010582, 0.847168, 0.505371), (0.709473, 0.27002, 0.612793, 0.219727), (0.0732422, 0.301025, 0.80957, 0.498535), (0.681641, 0.182129, 0.708496, 0.0115509), (0.692383, 0.416748, 0.588867, 0.00333977), (0.58252, 0.338379, 0.711914, 0.19873), (0.656738, 0.488525, 0.567383, 0.0895996), (0.635742, 0.539062, 0.488281, 0.258301), (0.615234, 0.659668, 0.316162, 0.293945), (0.828613, 0.468994, 0.148193, 0.267334), (0.300293, 0.1521, 0.732422, 0.592285), (0.69873, 0.440674, 0.35376, 0.438477), (0.0406494, 0.679199, 0.634277, 0.366943), (0.801758, 0.0582275, 0.281006, 0.524414), (0.41333, 0.127075, 0.186401, 0.882324), (0.438721, 0.474365, 0.755371, 0.110046), (0.620605, 0.513672, 0.584961, 0.0941772), (0.05896, 0.00168514, 0.958496, 0.279297), (0.825684, 0.330322, 0.226685, 0.397217), (0.385986, 0.615723, 0.388672, 0.566406), (0.290527, 0.516602, 0.746582, 0.30249), (0.881348, 0.0742798, 0.167603, 0.435547), (0.549316, 0.27832, 0.193115, 0.763672), (0.0157623, 0.395752, 0.130493, 0.908691), (0.460449, 0.697754, 0.510742, 0.201416), (0.726562, 0.541016, 0.303711, 0.294678), (0.288086, 0.392822, 0.691406, 0.533691), (0.737305, 0.626465, 0.169434, 0.187378), (0.722168, 0.625, 0.10022, 0.278809), (0.0105209, 0.804688, 0.153931, 0.573242), (0.101562, 0.690918, 0.702637, 0.134888), (0.38208, 0.552734, 0.606934, 0.424316), (0.160034, 0.0267181, 0.335205, 0.928223), (0.224365, 0.381348, 0.557617, 0.702148), (0.691406, 0.125854, 0.501465, 0.504883), (0.834961, 0.232788, 0.489746, 0.0942383), (0.491455, 0.541504, 0.523438, 0.4375), (0.551758, 0.432373, 0.494629, 0.513672), (0.108704, 0.459961, 0.589844, 0.654785), (0.438232, 0.476562, 0.706055, 0.286377), (0.361084, 0.252441, 0.392578, 0.807129), (0.788086, 0.0546875, 0.507812, 0.343994), (0.454346, 0.509766, 0.504395, 0.528809), (0.104248, 0.975586, 0.18103, 0.0692139), (0.924316, 0.149536, 0.0319824, 0.349609), (0.508789, 0.458008, 0.232056, 0.690918), (0.687988, 0.620605, 0.350342, 0.137207), (0.365723, 0.85791, 0.133911, 0.335693), (0.317871, 0.403076, 0.618164, 0.595215), (0.458496, 0.461426, 0.618164, 0.441162), (0.605957, 0.502441, 0.58252, 0.202271), (0.456787, 0.577637, 0.49585, 0.459961), (0.697754, 0.644043, 0.216675, 0.226318), (0.412842, 0.628906, 0.0456238, 0.657227), (0.671875, 0.20752, 0.675293, 0.222656), (0.378174, 0.548828, 0.451416, 0.593262), (0.697754, 0.4646, 0.540039, 0.0749512), (0.658691, 0.495605, 0.343994, 0.449463), (0.804688, 0.127441, 0.551758, 0.178955), (0.144043, 0.791016, 0.594238, 0.0206604), (0.185791, 0.387451, 0.444092, 0.786133), (0.764648, 0.463867, 0.436768, 0.0957031), (0.00309944, 0.714844, 0.105286, 0.690918), (0.546387, 0.481934, 0.570801, 0.378418), (0.54248, 0.0839844, 0.140991, 0.82373), (0.109497, 0.725098, 0.611816, 0.296143), (0.0836792, 0.163574, 0.586914, 0.788574), (0.693359, 0.0698853, 0.689453, 0.197266), (0.460693, 0.621582, 0.453613, 0.442383), (0.506348, 0.666016, 0.340576, 0.429443), (0.0577087, 0.415527, 0.0742188, 0.904785), (0.0575256, 0.779785, 0.514648, 0.352295), (0.365723, 0.540039, 0.170654, 0.738281), (0.987305, 0.150146, 0.00455856, 0.0514832), (0.623047, 0.119263, 0.412109, 0.653809), (0.977539, 0.11969, 0.0733032, 0.157227), (0.074646, 0.0269623, 0.183105, 0.97998), (0.666504, 0.482178, 0.428955, 0.373047), (0.25, 0.115356, 0.564941, 0.777832), (0.467529, 0.79541, 0.300293, 0.242065), (0.462646, 0.456787, 0.740234, 0.170288), (0.259033, 0.626953, 0.652344, 0.338623), (0.0396423, 0.377441, 0.59375, 0.709473), (0.0614929, 0.0821533, 0.919434, 0.379395), (0.242188, 0.235229, 0.460693, 0.820801), (0.124756, 0.628418, 0.368652, 0.673828), (0.504395, 0.364014, 0.738281, 0.26123), (0.452881, 0.682617, 0.0543518, 0.571289), (0.683594, 0.189087, 0.692383, 0.131348), (0.632812, 0.725586, 0.113708, 0.245239), (0.387939, 0.905273, 0.170654, 0.0314331), (0.609375, 0.0265198, 0.372559, 0.699219), (0.0329895, 0.283691, 0.740723, 0.60791), (0.165771, 0.155762, 0.812988, 0.536133), (0.592285, 0.456299, 0.560059, 0.357178), (0.634277, 0.0870361, 0.401367, 0.654785), (0.689941, 0.517578, 0.280273, 0.421631), (0.499023, 0.622559, 0.596191, 0.0888062), (0.484619, 0.506836, 0.529297, 0.477539), (0.220093, 0.473633, 0.765625, 0.375977), (0.00972748, 0.624023, 0.203735, 0.754395), (0.492188, 0.100647, 0.000545979, 0.864746), (0.228882, 0.834473, 0.301025, 0.400391), (0.456299, 0.23877, 0.587891, 0.623535), (0.536133, 0.5625, 0.523926, 0.349121), (0.587402, 0.292969, 0.322021, 0.682129), (0.593262, 0.556152, 0.566406, 0.13269), (0.10791, 0.829102, 0.539551, 0.0997314), (0.394775, 0.38501, 0.350342, 0.757324), (0.786133, 0.439941, 0.397217, 0.175537), (0.879395, 0.149536, 0.29834, 0.339355), (0.696777, 0.32373, 0.467773, 0.436768), (0.386963, 0.127808, 0.754883, 0.513672), (0.604004, 0.130737, 0.515137, 0.59375), (0.128418, 0.0111694, 0.991699, 0.000308275), (0.558105, 0.265625, 0.785645, 0.0202484), (0.695312, 0.64502, 0.264404, 0.175171), (0.5, 0.54541, 0.0738525, 0.668945), (0.0522766, 0.243652, 0.583496, 0.772949), (0.341309, 0.680176, 0.490479, 0.424805), (0.607422, 0.306641, 0.544434, 0.490234), (0.640137, 0.285645, 0.315918, 0.63916), (0.466553, 0.488037, 0.610352, 0.414307), (0.57959, 0.631348, 0.277344, 0.43457), (0.803711, 0.0847168, 0.138916, 0.572266), (0.58252, 0.186401, 0.631836, 0.47583), (0.317139, 0.583008, 0.588867, 0.461182), (0.21814, 0.707031, 0.276123, 0.61377), (0.0426941, 0.92334, 0.10791, 0.366211), (0.366699, 0.550781, 0.749023, 0.0311584), (0.235718, 0.0223236, 0.657227, 0.71582), (0.754395, 0.292236, 0.335938, 0.482178), (0.324219, 0.489258, 0.695312, 0.414795), (0.687012, 0.375488, 0.505859, 0.362061), (0.267578, 0.722656, 0.286865, 0.568848), (0.551758, 0.46875, 0.0196533, 0.689453), (0.665039, 0.427246, 0.526855, 0.312744), (0.68457, 0.344482, 0.495361, 0.40918), (0.468018, 0.071167, 0.810547, 0.344482), (0.279541, 0.22644, 0.518555, 0.775879), (0.20459, 0.785156, 0.466064, 0.352295), (0.543457, 0.624512, 0.0345764, 0.560059), (0.493652, 0.469482, 0.727539, 0.0794678), (0.444336, 0.550293, 0.649414, 0.280029), (0.668945, 0.264893, 0.556641, 0.415283), (0.449951, 0.425781, 0.0817871, 0.780762), (0.430664, 0.220337, 0.557129, 0.675293), (0.0508728, 0.175171, 0.791992, 0.58252), (0.543457, 0.53125, 0.597656, 0.255615), (0.402832, 0.424316, 0.280029, 0.76123), (0.44043, 0.366699, 0.681152, 0.455322), (0.675293, 0.268799, 0.202637, 0.65625), (0.0601807, 0.710449, 0.654297, 0.251953), (0.794434, 0.0823364, 0.0695801, 0.597656), (0.692871, 0.0828247, 0.700195, 0.150024), (0.466797, 0.635742, 0.212646, 0.57666), (0.623047, 0.494873, 0.351074, 0.493896), (0.505371, 0.647461, 0.547363, 0.15979), (0.249634, 0.17395, 0.193726, 0.932617), (0.907227, 0.142944, 0.160889, 0.361328), (0.546387, 0.397217, 0.618652, 0.401367), (0.463623, 0.51416, 0.588379, 0.417969), (0.603516, 0.73584, 0.190674, 0.241211), (0.27124, 0.0416565, 0.895508, 0.350098), (0.284912, 0.623535, 0.456055, 0.567383), (0.558105, 0.518555, 0.585938, 0.276367), (0.233398, 0.913574, 0.0595398, 0.328125), (0.557617, 0.60791, 0.128662, 0.550781), (0.179932, 0.273438, 0.70166, 0.632812), (0.279297, 0.337158, 0.812012, 0.38623), (0.208008, 0.403564, 0.648926, 0.610352), (0.883301, 0.201904, 0.420654, 0.0443726), (0.479736, 0.525879, 0.435791, 0.550781), (0.727539, 0.516602, 0.293945, 0.342773), (0.482422, 0.366455, 0.564453, 0.560547), (0.357422, 0.483643, 0.591797, 0.537109), (0.566895, 0.310547, 0.480713, 0.592773), (0.365723, 0.903809, 0.213135, 0.0608215), (0.475342, 0.624023, 0.427734, 0.449463), (0.391846, 0.452637, 0.689453, 0.407715), (0.0802612, 0.82959, 0.12915, 0.537109), (0.00506592, 0.568359, 0.799316, 0.195435), (0.535156, 0.691406, 0.485107, 0.0227966), (0.412354, 0.278076, 0.339844, 0.79834), (0.0248871, 0.283691, 0.486084, 0.826172), (0.702637, 0.530273, 0.393799, 0.264404), (0.639648, 0.391602, 0.158203, 0.64209), (0.624512, 0.00078249, 0.37793, 0.683594), (0.501953, 0.705078, 0.0289154, 0.5), (0.577148, 0.507812, 0.639648, 0.00888824), (0.0848389, 0.478271, 0.5625, 0.668945), (0.252197, 0.769043, 0.213135, 0.547363), (0.446533, 0.818848, 0.331543, 0.140869), (0.555176, 0.39502, 0.233398, 0.693848), (0.453857, 0.569824, 0.477783, 0.490723), (0.356934, 0.532227, 0.508789, 0.575195), (0.417236, 0.688965, 0.584961, 0.0932617), (0.15686, 0.802734, 0.000578403, 0.575684), (0.416748, 0.532715, 0.451904, 0.582031), (0.527344, 0.67334, 0.436035, 0.279541), (0.332031, 0.829102, 0.426514, 0.143311), (0.708984, 0.139038, 0.426514, 0.543945), (0.626953, 0.703125, 0.101624, 0.319336), (0.00901794, 0.382324, 0.672363, 0.633789), (0.173584, 0.694336, 0.612305, 0.335693), (0.29248, 0.541016, 0.58252, 0.53125), (0.888184, 0.383789, 0.250977, 0.0299225), (0.164917, 0.616211, 0.549805, 0.539551), (0.28833, 0.683594, 0.599121, 0.301025), (0.0667725, 0.96582, 0.189209, 0.162964), (0.429443, 0.416016, 0.80127, 0.0271606), (0.834961, 0.138794, 0.289551, 0.447021), (0.0962524, 0.109375, 0.922852, 0.356934), (0.305176, 0.535645, 0.561035, 0.552246), (0.625977, 0.284912, 0.679199, 0.255859), (0.60498, 0.441895, 0.468506, 0.468262), (0.395508, 0.270996, 0.822754, 0.30542), (0.416748, 0.207642, 0.602051, 0.648926), (0.333496, 0.230103, 0.496094, 0.768066), (0.80127, 0.308105, 0.502441, 0.103394), (0.86377, 0.446777, 0.203003, 0.114624), (0.273682, 0.230347, 0.649902, 0.670898), (0.782715, 0.469238, 0.0795898, 0.401123), (0.318604, 0.569336, 0.538574, 0.533203), (0.549316, 0.433594, 0.427979, 0.571777)],
+ 3: [(0.468994, 0.168091, 0.454834, 0.738281), (0.382812, 0.670898, 0.481689, 0.413574), (0.470703, 0.326416, 0.564941, 0.59375), (0.505371, 0.708496, 0.482178, 0.101196), (0.35498, 0.568848, 0.675293, 0.306885), (0.385742, 0.692383, 0.0164642, 0.609375), (0.770996, 0.287109, 0.521973, 0.224609), (0.36792, 0.628906, 0.638184, 0.249512), (0.724121, 0.430664, 0.208252, 0.496826), (0.928223, 0.0809937, 0.0344238, 0.361572), (0.815918, 0.161743, 0.547852, 0.0884399), (0.349609, 0.229858, 0.651855, 0.632324), (0.287598, 0.840332, 0.302734, 0.345703), (0.287842, 0.565918, 0.714844, 0.293701), (0.901367, 0.0376282, 0.134277, 0.409912), (0.606934, 0.134644, 0.535156, 0.571777), (0.929688, 0.0853882, 0.155518, 0.322754), (0.591309, 0.702148, 0.337158, 0.209595), (0.518066, 0.614746, 0.533203, 0.263672), (0.0231018, 0.318115, 0.891602, 0.321533), (0.556641, 0.455811, 0.652832, 0.236328), (0.125854, 0.774902, 0.529297, 0.322021), (0.26709, 0.0723877, 0.121521, 0.953125), (0.0931396, 0.480469, 0.870605, 0.0512695), (0.234131, 0.668945, 0.696777, 0.110046), (0.754883, 0.409424, 0.098877, 0.50293), (0.785645, 0.39209, 0.0108719, 0.478516), (0.422119, 0.562012, 0.578613, 0.413574), (0.37085, 0.487549, 0.679688, 0.403564), (0.463379, 0.407227, 0.539551, 0.573242), (0.205444, 0.760254, 0.342773, 0.512207), (0.081543, 0.541016, 0.480225, 0.685547), (0.556152, 0.654785, 0.46875, 0.205322), (0.0188904, 0.510254, 0.608398, 0.607422), (0.402344, 0.682129, 0.42041, 0.442871), (0.366943, 0.180664, 0.835938, 0.365967), (0.207886, 0.830078, 0.468506, 0.219238), (0.59082, 0.160645, 0.0231934, 0.790527), (0.0663452, 0.758789, 0.333252, 0.555664), (0.479004, 0.525391, 0.555176, 0.431152), (0.756348, 0.00111389, 0.160522, 0.634277), (0.389893, 0.339111, 0.599609, 0.611328), (0.492432, 0.572754, 0.397705, 0.520996), (0.490967, 0.497803, 0.69043, 0.185913), (0.485596, 0.190918, 0.716797, 0.462402), (0.489258, 0.181152, 0.65918, 0.541504), (0.753418, 0.187378, 0.271973, 0.568848), (0.401611, 0.641113, 0.628418, 0.182129), (0.421143, 0.535156, 0.685547, 0.257568), (0.780273, 0.614258, 0.0437622, 0.109131), (0.597168, 0.0449829, 0.702637, 0.384766), (0.0605164, 0.700195, 0.465088, 0.538574), (0.0880737, 0.103577, 0.749512, 0.647949), (0.76709, 0.370361, 0.0926514, 0.515625), (0.331055, 0.462891, 0.496338, 0.655273), (0.732422, 0.647461, 0.114929, 0.176758), (0.316895, 0.783203, 0.51709, 0.137695), (0.618652, 0.761719, 0.1203, 0.151245), (0.915527, 0.253662, 0.310059, 0.0374146), (0.6875, 0.517578, 0.0124664, 0.508789), (0.356934, 0.337891, 0.705566, 0.510742), (0.532715, 0.261963, 0.570801, 0.566895), (0.304688, 0.268555, 0.804688, 0.43335), (0.522461, 0.490723, 0.471191, 0.51416), (0.670898, 0.572754, 0.177124, 0.436523), (0.754395, 0.229614, 0.491211, 0.370117), (0.532227, 0.608887, 0.430176, 0.401123), (0.598145, 0.635742, 0.294189, 0.38916), (0.398682, 0.611328, 0.213257, 0.649414), (0.831543, 0.350098, 0.388184, 0.187988), (0.497314, 0.344971, 0.470215, 0.642578), (0.00505447, 0.245728, 0.485352, 0.838867), (0.475098, 0.541016, 0.679199, 0.1427), (0.329102, 0.221802, 0.409668, 0.821289), (0.509766, 0.465576, 0.632324, 0.351318), (0.609375, 0.121033, 0.53125, 0.576172), (0.442627, 0.736328, 0.503418, 0.0914307), (0.594727, 0.343506, 0.60791, 0.398926), (0.484375, 0.196411, 0.669922, 0.527344), (0.648926, 0.105774, 0.583008, 0.477051), (0.765625, 0.528809, 0.279053, 0.236694), (0.656738, 0.347656, 0.525391, 0.414551), (0.72998, 0.120544, 0.345215, 0.577637), (0.473877, 0.454834, 0.432373, 0.617676), (0.300049, 0.0118637, 0.151733, 0.941895), (0.274902, 0.63916, 0.163818, 0.699707), (0.541992, 0.357178, 0.635742, 0.417969), (0.164795, 0.709473, 0.594238, 0.34082), (0.0489197, 0.474609, 0.853516, 0.209351), (0.439941, 0.592773, 0.416504, 0.530762), (0.0481262, 0.865234, 0.454102, 0.206909), (0.434814, 0.42041, 0.307861, 0.734375), (0.548828, 0.506836, 0.54248, 0.384277), (0.37207, 0.356445, 0.540039, 0.665527), (0.617676, 0.589844, 0.264404, 0.447754), (0.511719, 0.350098, 0.326904, 0.713379), (0.654785, 0.490723, 0.391357, 0.421143), (0.408203, 0.575195, 0.538086, 0.46167), (0.767578, 0.0193939, 0.42334, 0.480957), (0.449951, 0.648926, 0.553223, 0.265381), (0.0689697, 0.976562, 0.109619, 0.173218), (0.680664, 0.525391, 0.482666, 0.166626), (0.555176, 0.594238, 0.150757, 0.5625), (0.388916, 0.208862, 0.153442, 0.884277), (0.00372887, 0.476318, 0.333252, 0.813477), (0.64502, 0.660645, 0.151733, 0.353027), (0.0538025, 0.581543, 0.550781, 0.596191), (0.541504, 0.179077, 0.820312, 0.0462036), (0.457275, 0.225464, 0.830566, 0.223755), (0.133179, 0.665527, 0.361084, 0.639648), (0.707031, 0.44043, 0.0447388, 0.551758), (0.61377, 0.335938, 0.366455, 0.613281), (0.836426, 0.353516, 0.393066, 0.144409), (0.721191, 0.452393, 0.229614, 0.47168), (0.464355, 0.630859, 0.562012, 0.264893), (0.0296783, 0.586914, 0.512207, 0.626465), (0.56543, 0.61084, 0.537109, 0.136108), (0.0530701, 0.270996, 0.836426, 0.473389), (0.634766, 0.370117, 0.652344, 0.186523), (0.532715, 0.729004, 0.18811, 0.38623), (0.0645142, 0.530762, 0.811523, 0.235962), (0.414551, 0.618164, 0.667969, 0.0123596), (0.429932, 0.737305, 0.489502, 0.177734), (0.647461, 0.11261, 0.617676, 0.432129), (0.704102, 0.461182, 0.407471, 0.354248), (0.55127, 0.308105, 0.76123, 0.147949), (0.55127, 0.141846, 0.316406, 0.758789), (0.230591, 0.531738, 0.814453, 0.0300446), (0.581055, 0.407715, 0.136719, 0.690918), (0.489746, 0.521973, 0.618164, 0.325195), (0.142456, 0.584473, 0.478271, 0.639648), (0.438477, 0.63623, 0.447754, 0.449707), (0.577637, 0.131348, 0.78125, 0.196289), (0.587402, 0.46875, 0.496338, 0.434814), (0.103394, 0.379639, 0.787598, 0.474365), (0.100098, 0.434082, 0.730957, 0.51709), (0.43457, 0.615234, 0.302734, 0.583984), (0.64209, 0.463623, 0.608887, 0.0441284), (0.505371, 0.12915, 0.269775, 0.80957), (0.379639, 0.36499, 0.0939331, 0.844727), (0.172852, 0.598633, 0.774902, 0.105469), (0.141479, 0.482422, 0.61377, 0.608887), (0.3396, 0.581055, 0.716309, 0.184326), (0.204224, 0.544922, 0.792969, 0.181152), (0.400146, 0.591309, 0.692383, 0.102966), (0.203857, 0.398193, 0.60791, 0.65625), (0.801758, 0.357422, 0.335449, 0.341797), (0.043335, 0.150757, 0.884766, 0.438965), (0.173218, 0.672852, 0.376465, 0.612793), (0.649414, 0.362061, 0.481201, 0.4646), (0.662109, 0.603516, 0.344238, 0.280762), (0.489014, 0.19165, 0.800781, 0.288086), (0.82959, 0.0906372, 0.469482, 0.28833), (0.341797, 0.142822, 0.00710297, 0.928711), (0.523926, 0.176636, 0.598145, 0.580566), (0.564453, 0.246948, 0.589844, 0.521973), (0.459717, 0.496826, 0.608887, 0.413818), (0.499023, 0.828125, 0.0282593, 0.253662), (0.464844, 0.804199, 0.102539, 0.355957), (0.693359, 0.255615, 0.0837402, 0.668457), (0.415771, 0.621094, 0.638184, 0.18396), (0.158691, 0.731445, 0.27002, 0.605957), (0.648926, 0.623535, 0.0406799, 0.434326), (0.292236, 0.5, 0.449707, 0.679688), (0.33252, 0.110657, 0.888184, 0.297363), (0.641113, 0.267822, 0.715332, 0.072876), (0.0325317, 0.407227, 0.799316, 0.440918), (0.560547, 0.494385, 0.381348, 0.543945), (0.247681, 0.416016, 0.75, 0.450928), (0.601562, 0.671387, 0.388672, 0.190796), (0.348389, 0.845215, 0.292236, 0.28125), (0.433594, 0.464111, 0.401123, 0.660156), (0.450195, 0.214111, 0.85498, 0.143677), (0.596191, 0.440918, 0.377197, 0.554688), (0.561523, 0.715332, 0.274414, 0.313232), (0.477783, 0.435059, 0.686035, 0.334717), (0.744141, 0.078064, 0.392334, 0.535156), (0.319824, 0.375488, 0.851562, 0.178101), (0.513184, 0.283447, 0.0665894, 0.807617), (0.500977, 0.762695, 0.224976, 0.341064), (0.816895, 0.155396, 0.51709, 0.202393), (0.0157318, 0.497314, 0.763184, 0.411865), (0.605469, 0.570312, 0.39209, 0.393311), (0.0687256, 0.682129, 0.172363, 0.70752), (0.947266, 0.0371704, 0.212036, 0.237427), (0.268311, 0.295898, 0.0045166, 0.916504), (0.429932, 0.715332, 0.178467, 0.521484), (0.338135, 0.658203, 0.537598, 0.404053), (0.449707, 0.74707, 0.337646, 0.354248), (0.824219, 0.343506, 0.44873, 0.0349426), (0.0796509, 0.937988, 0.0897827, 0.325439), (0.344238, 0.719238, 0.506836, 0.327637), (0.705078, 0.387939, 0.588867, 0.0739136), (0.628418, 0.335205, 0.221191, 0.666504), (0.771484, 0.410889, 0.477051, 0.0908813), (0.538574, 0.566406, 0.619141, 0.0793457), (0.684082, 0.373047, 0.557129, 0.287109), (0.638672, 0.64209, 0.41748, 0.0727539), (0.681641, 0.515137, 0.456787, 0.247314), (0.538086, 0.609863, 0.340332, 0.471924), (0.71582, 0.0874634, 0.680664, 0.129028), (0.222412, 0.684082, 0.614746, 0.32373), (0.507324, 0.799316, 0.238647, 0.216431), (0.429932, 0.736328, 0.00971222, 0.522461), (0.757324, 0.644531, 0.052002, 0.0913086), (0.268799, 0.0161133, 0.438232, 0.857422), (0.435059, 0.742676, 0.3125, 0.401611), (0.804199, 0.469727, 0.227783, 0.283936), (0.231079, 0.451904, 0.687988, 0.519043), (0.451172, 0.574219, 0.420654, 0.538574), (0.140259, 0.85791, 0.0655518, 0.489746), (0.258301, 0.481445, 0.746094, 0.381104), (0.140625, 0.00349236, 0.95166, 0.272217), (0.0164795, 0.863281, 0.354492, 0.358398), (0.584961, 0.490967, 0.630859, 0.136963), (0.0425415, 0.624512, 0.487793, 0.608398), (0.16687, 0.415039, 0.871582, 0.199951), (0.543945, 0.479736, 0.336182, 0.600586), (0.0562744, 0.4729, 0.569336, 0.67041), (0.583008, 0.753906, 0.302979, 0.00542068), (0.395752, 0.253906, 0.640137, 0.607422), (0.632812, 0.652344, 0.410889, 0.0731201), (0.187134, 0.481445, 0.750488, 0.412109), (0.437744, 0.744141, 0.318115, 0.39209), (0.555176, 0.668945, 0.0766602, 0.488525), (0.570312, 0.519043, 0.300537, 0.561035), (0.171631, 0.740723, 0.150146, 0.631836), (0.282471, 0.283691, 0.195923, 0.89502), (0.651855, 0.702148, 0.0883179, 0.272705), (0.179688, 0.733398, 0.148804, 0.638184), (0.406494, 0.695312, 0.552734, 0.213623), (0.251953, 0.0709229, 0.73291, 0.62793), (0.723145, 0.568848, 0.390869, 0.0258331), (0.695312, 0.552734, 0.410889, 0.206055), (0.73877, 0.104553, 0.378906, 0.547363), (0.145142, 0.431152, 0.453857, 0.766113), (0.0645752, 0.461182, 0.388672, 0.794922), (0.391846, 0.616211, 0.637207, 0.245972), (0.522949, 0.0602417, 0.642578, 0.556641), (0.492676, 0.421631, 0.394043, 0.651367), (0.51416, 0.423828, 0.500488, 0.552734), (0.220703, 0.0689087, 0.910156, 0.344238), (0.177124, 0.377197, 0.200806, 0.886719), (0.698242, 0.253662, 0.665039, 0.0756836), (0.21106, 0.267822, 0.191895, 0.92041), (0.887207, 0.211792, 0.296631, 0.282715), (0.523438, 0.5, 0.164551, 0.669922), (0.637207, 0.383789, 0.585938, 0.321777), (0.567871, 0.57666, 0.193481, 0.554688), (0.0535583, 0.633789, 0.2323, 0.73584), (0.395996, 0.546875, 0.694824, 0.247437), (0.869629, 0.236938, 0.347656, 0.258301), (0.173462, 0.614746, 0.461426, 0.615723), (0.115173, 0.562988, 0.818359, 0.0155182), (0.598633, 0.304932, 0.0189056, 0.740234), (0.521484, 0.0218353, 0.553223, 0.649414), (0.561523, 0.512695, 0.397217, 0.513672), (0.151245, 0.234863, 0.959961, 0.0247345), (0.305908, 0.604492, 0.492188, 0.546387), (0.599121, 0.686523, 0.192627, 0.364258), (0.47876, 0.411377, 0.769531, 0.0985107), (0.585449, 0.271484, 0.34668, 0.680664), (0.616211, 0.0740356, 0.47998, 0.620117), (0.666016, 0.017334, 0.289307, 0.6875), (0.184937, 0.401611, 0.009552, 0.896973), (0.137817, 0.654785, 0.738281, 0.0872192), (0.555664, 0.531738, 0.36377, 0.525879), (0.236938, 0.133667, 0.754395, 0.597168), (0.381104, 0.640625, 0.516113, 0.421387), (0.218994, 0.468262, 0.683594, 0.515625), (0.583008, 0.480225, 0.416016, 0.506348), (0.407227, 0.781738, 0.311279, 0.355225), (0.396484, 0.394531, 0.443115, 0.700684), (0.566895, 0.721191, 0.379639, 0.11969), (0.708984, 0.542969, 0.158081, 0.421387), (0.163818, 0.010582, 0.847168, 0.505371), (0.709473, 0.27002, 0.612793, 0.219727), (0.0732422, 0.301025, 0.80957, 0.498535), (0.681641, 0.182129, 0.708496, 0.0115509), (0.692383, 0.416748, 0.588867, 0.00333977), (0.58252, 0.338379, 0.711914, 0.19873), (0.656738, 0.488525, 0.567383, 0.0895996), (0.635742, 0.539062, 0.488281, 0.258301), (0.615234, 0.659668, 0.316162, 0.293945), (0.828613, 0.468994, 0.148193, 0.267334), (0.300293, 0.1521, 0.732422, 0.592285), (0.69873, 0.440674, 0.35376, 0.438477), (0.0406494, 0.679199, 0.634277, 0.366943), (0.801758, 0.0582275, 0.281006, 0.524414), (0.41333, 0.127075, 0.186401, 0.882324), (0.438721, 0.474365, 0.755371, 0.110046), (0.620605, 0.513672, 0.584961, 0.0941772), (0.05896, 0.00168514, 0.958496, 0.279297), (0.825684, 0.330322, 0.226685, 0.397217), (0.385986, 0.615723, 0.388672, 0.566406), (0.290527, 0.516602, 0.746582, 0.30249), (0.881348, 0.0742798, 0.167603, 0.435547), (0.549316, 0.27832, 0.193115, 0.763672), (0.0157623, 0.395752, 0.130493, 0.908691), (0.460449, 0.697754, 0.510742, 0.201416), (0.726562, 0.541016, 0.303711, 0.294678), (0.288086, 0.392822, 0.691406, 0.533691), (0.737305, 0.626465, 0.169434, 0.187378), (0.722168, 0.625, 0.10022, 0.278809), (0.0105209, 0.804688, 0.153931, 0.573242), (0.101562, 0.690918, 0.702637, 0.134888), (0.38208, 0.552734, 0.606934, 0.424316), (0.160034, 0.0267181, 0.335205, 0.928223), (0.224365, 0.381348, 0.557617, 0.702148), (0.691406, 0.125854, 0.501465, 0.504883), (0.834961, 0.232788, 0.489746, 0.0942383), (0.491455, 0.541504, 0.523438, 0.4375), (0.551758, 0.432373, 0.494629, 0.513672), (0.108704, 0.459961, 0.589844, 0.654785), (0.438232, 0.476562, 0.706055, 0.286377), (0.361084, 0.252441, 0.392578, 0.807129), (0.788086, 0.0546875, 0.507812, 0.343994), (0.454346, 0.509766, 0.504395, 0.528809), (0.104248, 0.975586, 0.18103, 0.0692139), (0.924316, 0.149536, 0.0319824, 0.349609), (0.508789, 0.458008, 0.232056, 0.690918), (0.687988, 0.620605, 0.350342, 0.137207), (0.365723, 0.85791, 0.133911, 0.335693), (0.317871, 0.403076, 0.618164, 0.595215), (0.458496, 0.461426, 0.618164, 0.441162), (0.605957, 0.502441, 0.58252, 0.202271), (0.456787, 0.577637, 0.49585, 0.459961), (0.697754, 0.644043, 0.216675, 0.226318), (0.412842, 0.628906, 0.0456238, 0.657227), (0.671875, 0.20752, 0.675293, 0.222656), (0.378174, 0.548828, 0.451416, 0.593262), (0.697754, 0.4646, 0.540039, 0.0749512), (0.658691, 0.495605, 0.343994, 0.449463), (0.804688, 0.127441, 0.551758, 0.178955), (0.144043, 0.791016, 0.594238, 0.0206604), (0.185791, 0.387451, 0.444092, 0.786133), (0.764648, 0.463867, 0.436768, 0.0957031), (0.00309944, 0.714844, 0.105286, 0.690918), (0.546387, 0.481934, 0.570801, 0.378418), (0.54248, 0.0839844, 0.140991, 0.82373), (0.109497, 0.725098, 0.611816, 0.296143), (0.0836792, 0.163574, 0.586914, 0.788574), (0.693359, 0.0698853, 0.689453, 0.197266), (0.460693, 0.621582, 0.453613, 0.442383), (0.506348, 0.666016, 0.340576, 0.429443), (0.0577087, 0.415527, 0.0742188, 0.904785), (0.0575256, 0.779785, 0.514648, 0.352295), (0.365723, 0.540039, 0.170654, 0.738281), (0.987305, 0.150146, 0.00455856, 0.0514832), (0.623047, 0.119263, 0.412109, 0.653809), (0.977539, 0.11969, 0.0733032, 0.157227), (0.074646, 0.0269623, 0.183105, 0.97998), (0.666504, 0.482178, 0.428955, 0.373047), (0.25, 0.115356, 0.564941, 0.777832), (0.467529, 0.79541, 0.300293, 0.242065), (0.462646, 0.456787, 0.740234, 0.170288), (0.259033, 0.626953, 0.652344, 0.338623), (0.0396423, 0.377441, 0.59375, 0.709473), (0.0614929, 0.0821533, 0.919434, 0.379395), (0.242188, 0.235229, 0.460693, 0.820801), (0.124756, 0.628418, 0.368652, 0.673828), (0.504395, 0.364014, 0.738281, 0.26123), (0.452881, 0.682617, 0.0543518, 0.571289), (0.683594, 0.189087, 0.692383, 0.131348), (0.632812, 0.725586, 0.113708, 0.245239), (0.387939, 0.905273, 0.170654, 0.0314331), (0.609375, 0.0265198, 0.372559, 0.699219), (0.0329895, 0.283691, 0.740723, 0.60791), (0.165771, 0.155762, 0.812988, 0.536133), (0.592285, 0.456299, 0.560059, 0.357178), (0.634277, 0.0870361, 0.401367, 0.654785), (0.689941, 0.517578, 0.280273, 0.421631), (0.499023, 0.622559, 0.596191, 0.0888062), (0.484619, 0.506836, 0.529297, 0.477539), (0.220093, 0.473633, 0.765625, 0.375977), (0.00972748, 0.624023, 0.203735, 0.754395), (0.492188, 0.100647, 0.000545979, 0.864746), (0.228882, 0.834473, 0.301025, 0.400391), (0.456299, 0.23877, 0.587891, 0.623535), (0.536133, 0.5625, 0.523926, 0.349121), (0.587402, 0.292969, 0.322021, 0.682129), (0.593262, 0.556152, 0.566406, 0.13269), (0.10791, 0.829102, 0.539551, 0.0997314), (0.394775, 0.38501, 0.350342, 0.757324), (0.786133, 0.439941, 0.397217, 0.175537), (0.879395, 0.149536, 0.29834, 0.339355), (0.696777, 0.32373, 0.467773, 0.436768), (0.386963, 0.127808, 0.754883, 0.513672), (0.604004, 0.130737, 0.515137, 0.59375), (0.128418, 0.0111694, 0.991699, 0.000308275), (0.558105, 0.265625, 0.785645, 0.0202484), (0.695312, 0.64502, 0.264404, 0.175171), (0.5, 0.54541, 0.0738525, 0.668945), (0.0522766, 0.243652, 0.583496, 0.772949), (0.341309, 0.680176, 0.490479, 0.424805), (0.607422, 0.306641, 0.544434, 0.490234), (0.640137, 0.285645, 0.315918, 0.63916), (0.466553, 0.488037, 0.610352, 0.414307), (0.57959, 0.631348, 0.277344, 0.43457), (0.803711, 0.0847168, 0.138916, 0.572266), (0.58252, 0.186401, 0.631836, 0.47583), (0.317139, 0.583008, 0.588867, 0.461182), (0.21814, 0.707031, 0.276123, 0.61377), (0.0426941, 0.92334, 0.10791, 0.366211), (0.366699, 0.550781, 0.749023, 0.0311584), (0.235718, 0.0223236, 0.657227, 0.71582), (0.754395, 0.292236, 0.335938, 0.482178), (0.324219, 0.489258, 0.695312, 0.414795), (0.687012, 0.375488, 0.505859, 0.362061), (0.267578, 0.722656, 0.286865, 0.568848), (0.551758, 0.46875, 0.0196533, 0.689453), (0.665039, 0.427246, 0.526855, 0.312744), (0.68457, 0.344482, 0.495361, 0.40918), (0.468018, 0.071167, 0.810547, 0.344482), (0.279541, 0.22644, 0.518555, 0.775879), (0.20459, 0.785156, 0.466064, 0.352295), (0.543457, 0.624512, 0.0345764, 0.560059), (0.493652, 0.469482, 0.727539, 0.0794678), (0.444336, 0.550293, 0.649414, 0.280029), (0.668945, 0.264893, 0.556641, 0.415283), (0.449951, 0.425781, 0.0817871, 0.780762), (0.430664, 0.220337, 0.557129, 0.675293), (0.0508728, 0.175171, 0.791992, 0.58252), (0.543457, 0.53125, 0.597656, 0.255615), (0.402832, 0.424316, 0.280029, 0.76123), (0.44043, 0.366699, 0.681152, 0.455322), (0.675293, 0.268799, 0.202637, 0.65625), (0.0601807, 0.710449, 0.654297, 0.251953), (0.794434, 0.0823364, 0.0695801, 0.597656), (0.692871, 0.0828247, 0.700195, 0.150024), (0.466797, 0.635742, 0.212646, 0.57666), (0.623047, 0.494873, 0.351074, 0.493896), (0.505371, 0.647461, 0.547363, 0.15979), (0.249634, 0.17395, 0.193726, 0.932617), (0.907227, 0.142944, 0.160889, 0.361328), (0.546387, 0.397217, 0.618652, 0.401367), (0.463623, 0.51416, 0.588379, 0.417969), (0.603516, 0.73584, 0.190674, 0.241211), (0.27124, 0.0416565, 0.895508, 0.350098), (0.284912, 0.623535, 0.456055, 0.567383), (0.558105, 0.518555, 0.585938, 0.276367), (0.233398, 0.913574, 0.0595398, 0.328125), (0.557617, 0.60791, 0.128662, 0.550781), (0.179932, 0.273438, 0.70166, 0.632812), (0.279297, 0.337158, 0.812012, 0.38623), (0.208008, 0.403564, 0.648926, 0.610352), (0.883301, 0.201904, 0.420654, 0.0443726), (0.479736, 0.525879, 0.435791, 0.550781), (0.727539, 0.516602, 0.293945, 0.342773), (0.482422, 0.366455, 0.564453, 0.560547), (0.357422, 0.483643, 0.591797, 0.537109), (0.566895, 0.310547, 0.480713, 0.592773), (0.365723, 0.903809, 0.213135, 0.0608215), (0.475342, 0.624023, 0.427734, 0.449463), (0.391846, 0.452637, 0.689453, 0.407715), (0.0802612, 0.82959, 0.12915, 0.537109), (0.00506592, 0.568359, 0.799316, 0.195435), (0.535156, 0.691406, 0.485107, 0.0227966), (0.412354, 0.278076, 0.339844, 0.79834), (0.0248871, 0.283691, 0.486084, 0.826172), (0.702637, 0.530273, 0.393799, 0.264404), (0.639648, 0.391602, 0.158203, 0.64209), (0.624512, 0.00078249, 0.37793, 0.683594), (0.501953, 0.705078, 0.0289154, 0.5), (0.577148, 0.507812, 0.639648, 0.00888824), (0.0848389, 0.478271, 0.5625, 0.668945), (0.252197, 0.769043, 0.213135, 0.547363), (0.446533, 0.818848, 0.331543, 0.140869), (0.555176, 0.39502, 0.233398, 0.693848), (0.453857, 0.569824, 0.477783, 0.490723), (0.356934, 0.532227, 0.508789, 0.575195), (0.417236, 0.688965, 0.584961, 0.0932617), (0.15686, 0.802734, 0.000578403, 0.575684), (0.416748, 0.532715, 0.451904, 0.582031), (0.527344, 0.67334, 0.436035, 0.279541), (0.332031, 0.829102, 0.426514, 0.143311), (0.708984, 0.139038, 0.426514, 0.543945), (0.626953, 0.703125, 0.101624, 0.319336), (0.00901794, 0.382324, 0.672363, 0.633789), (0.173584, 0.694336, 0.612305, 0.335693), (0.29248, 0.541016, 0.58252, 0.53125), (0.888184, 0.383789, 0.250977, 0.0299225), (0.164917, 0.616211, 0.549805, 0.539551), (0.28833, 0.683594, 0.599121, 0.301025), (0.0667725, 0.96582, 0.189209, 0.162964), (0.429443, 0.416016, 0.80127, 0.0271606), (0.834961, 0.138794, 0.289551, 0.447021), (0.0962524, 0.109375, 0.922852, 0.356934), (0.305176, 0.535645, 0.561035, 0.552246), (0.625977, 0.284912, 0.679199, 0.255859), (0.60498, 0.441895, 0.468506, 0.468262), (0.395508, 0.270996, 0.822754, 0.30542), (0.416748, 0.207642, 0.602051, 0.648926), (0.333496, 0.230103, 0.496094, 0.768066), (0.80127, 0.308105, 0.502441, 0.103394), (0.86377, 0.446777, 0.203003, 0.114624), (0.273682, 0.230347, 0.649902, 0.670898), (0.782715, 0.469238, 0.0795898, 0.401123), (0.318604, 0.569336, 0.538574, 0.533203), (0.549316, 0.433594, 0.427979, 0.571777)],
+ 4: [(0.468994, 0.168091, 0.454834, 0.738281), (0.382812, 0.670898, 0.481689, 0.413574), (0.470703, 0.326416, 0.564941, 0.59375), (0.505371, 0.708496, 0.482178, 0.101196), (0.35498, 0.568848, 0.675293, 0.306885), (0.385742, 0.692383, 0.0164642, 0.609375), (0.770996, 0.287109, 0.521973, 0.224609), (0.36792, 0.628906, 0.638184, 0.249512), (0.724121, 0.430664, 0.208252, 0.496826), (0.928223, 0.0809937, 0.0344238, 0.361572), (0.815918, 0.161743, 0.547852, 0.0884399), (0.349609, 0.229858, 0.651855, 0.632324), (0.287598, 0.840332, 0.302734, 0.345703), (0.287842, 0.565918, 0.714844, 0.293701), (0.901367, 0.0376282, 0.134277, 0.409912), (0.606934, 0.134644, 0.535156, 0.571777), (0.929688, 0.0853882, 0.155518, 0.322754), (0.591309, 0.702148, 0.337158, 0.209595), (0.518066, 0.614746, 0.533203, 0.263672), (0.0231018, 0.318115, 0.891602, 0.321533), (0.556641, 0.455811, 0.652832, 0.236328), (0.125854, 0.774902, 0.529297, 0.322021), (0.26709, 0.0723877, 0.121521, 0.953125), (0.0931396, 0.480469, 0.870605, 0.0512695), (0.234131, 0.668945, 0.696777, 0.110046), (0.754883, 0.409424, 0.098877, 0.50293), (0.785645, 0.39209, 0.0108719, 0.478516), (0.422119, 0.562012, 0.578613, 0.413574), (0.37085, 0.487549, 0.679688, 0.403564), (0.463379, 0.407227, 0.539551, 0.573242), (0.205444, 0.760254, 0.342773, 0.512207), (0.081543, 0.541016, 0.480225, 0.685547), (0.556152, 0.654785, 0.46875, 0.205322), (0.0188904, 0.510254, 0.608398, 0.607422), (0.402344, 0.682129, 0.42041, 0.442871), (0.366943, 0.180664, 0.835938, 0.365967), (0.207886, 0.830078, 0.468506, 0.219238), (0.59082, 0.160645, 0.0231934, 0.790527), (0.0663452, 0.758789, 0.333252, 0.555664), (0.479004, 0.525391, 0.555176, 0.431152), (0.756348, 0.00111389, 0.160522, 0.634277), (0.389893, 0.339111, 0.599609, 0.611328), (0.492432, 0.572754, 0.397705, 0.520996), (0.490967, 0.497803, 0.69043, 0.185913), (0.485596, 0.190918, 0.716797, 0.462402), (0.489258, 0.181152, 0.65918, 0.541504), (0.753418, 0.187378, 0.271973, 0.568848), (0.401611, 0.641113, 0.628418, 0.182129), (0.421143, 0.535156, 0.685547, 0.257568), (0.780273, 0.614258, 0.0437622, 0.109131), (0.597168, 0.0449829, 0.702637, 0.384766), (0.0605164, 0.700195, 0.465088, 0.538574), (0.0880737, 0.103577, 0.749512, 0.647949), (0.76709, 0.370361, 0.0926514, 0.515625), (0.331055, 0.462891, 0.496338, 0.655273), (0.732422, 0.647461, 0.114929, 0.176758), (0.316895, 0.783203, 0.51709, 0.137695), (0.618652, 0.761719, 0.1203, 0.151245), (0.915527, 0.253662, 0.310059, 0.0374146), (0.6875, 0.517578, 0.0124664, 0.508789), (0.356934, 0.337891, 0.705566, 0.510742), (0.532715, 0.261963, 0.570801, 0.566895), (0.304688, 0.268555, 0.804688, 0.43335), (0.522461, 0.490723, 0.471191, 0.51416), (0.670898, 0.572754, 0.177124, 0.436523), (0.754395, 0.229614, 0.491211, 0.370117), (0.532227, 0.608887, 0.430176, 0.401123), (0.598145, 0.635742, 0.294189, 0.38916), (0.398682, 0.611328, 0.213257, 0.649414), (0.831543, 0.350098, 0.388184, 0.187988), (0.497314, 0.344971, 0.470215, 0.642578), (0.00505447, 0.245728, 0.485352, 0.838867), (0.475098, 0.541016, 0.679199, 0.1427), (0.329102, 0.221802, 0.409668, 0.821289), (0.509766, 0.465576, 0.632324, 0.351318), (0.609375, 0.121033, 0.53125, 0.576172), (0.442627, 0.736328, 0.503418, 0.0914307), (0.594727, 0.343506, 0.60791, 0.398926), (0.484375, 0.196411, 0.669922, 0.527344), (0.648926, 0.105774, 0.583008, 0.477051), (0.765625, 0.528809, 0.279053, 0.236694), (0.656738, 0.347656, 0.525391, 0.414551), (0.72998, 0.120544, 0.345215, 0.577637), (0.473877, 0.454834, 0.432373, 0.617676), (0.300049, 0.0118637, 0.151733, 0.941895), (0.274902, 0.63916, 0.163818, 0.699707), (0.541992, 0.357178, 0.635742, 0.417969), (0.164795, 0.709473, 0.594238, 0.34082), (0.0489197, 0.474609, 0.853516, 0.209351), (0.439941, 0.592773, 0.416504, 0.530762), (0.0481262, 0.865234, 0.454102, 0.206909), (0.434814, 0.42041, 0.307861, 0.734375), (0.548828, 0.506836, 0.54248, 0.384277), (0.37207, 0.356445, 0.540039, 0.665527), (0.617676, 0.589844, 0.264404, 0.447754), (0.511719, 0.350098, 0.326904, 0.713379), (0.654785, 0.490723, 0.391357, 0.421143), (0.408203, 0.575195, 0.538086, 0.46167), (0.767578, 0.0193939, 0.42334, 0.480957), (0.449951, 0.648926, 0.553223, 0.265381), (0.0689697, 0.976562, 0.109619, 0.173218), (0.680664, 0.525391, 0.482666, 0.166626), (0.555176, 0.594238, 0.150757, 0.5625), (0.388916, 0.208862, 0.153442, 0.884277), (0.00372887, 0.476318, 0.333252, 0.813477), (0.64502, 0.660645, 0.151733, 0.353027), (0.0538025, 0.581543, 0.550781, 0.596191), (0.541504, 0.179077, 0.820312, 0.0462036), (0.457275, 0.225464, 0.830566, 0.223755), (0.133179, 0.665527, 0.361084, 0.639648), (0.707031, 0.44043, 0.0447388, 0.551758), (0.61377, 0.335938, 0.366455, 0.613281), (0.836426, 0.353516, 0.393066, 0.144409), (0.721191, 0.452393, 0.229614, 0.47168), (0.464355, 0.630859, 0.562012, 0.264893), (0.0296783, 0.586914, 0.512207, 0.626465), (0.56543, 0.61084, 0.537109, 0.136108), (0.0530701, 0.270996, 0.836426, 0.473389), (0.634766, 0.370117, 0.652344, 0.186523), (0.532715, 0.729004, 0.18811, 0.38623), (0.0645142, 0.530762, 0.811523, 0.235962), (0.414551, 0.618164, 0.667969, 0.0123596), (0.429932, 0.737305, 0.489502, 0.177734), (0.647461, 0.11261, 0.617676, 0.432129), (0.704102, 0.461182, 0.407471, 0.354248), (0.55127, 0.308105, 0.76123, 0.147949), (0.55127, 0.141846, 0.316406, 0.758789), (0.230591, 0.531738, 0.814453, 0.0300446), (0.581055, 0.407715, 0.136719, 0.690918), (0.489746, 0.521973, 0.618164, 0.325195), (0.142456, 0.584473, 0.478271, 0.639648), (0.438477, 0.63623, 0.447754, 0.449707), (0.577637, 0.131348, 0.78125, 0.196289), (0.587402, 0.46875, 0.496338, 0.434814), (0.103394, 0.379639, 0.787598, 0.474365), (0.100098, 0.434082, 0.730957, 0.51709), (0.43457, 0.615234, 0.302734, 0.583984), (0.64209, 0.463623, 0.608887, 0.0441284), (0.505371, 0.12915, 0.269775, 0.80957), (0.379639, 0.36499, 0.0939331, 0.844727), (0.172852, 0.598633, 0.774902, 0.105469), (0.141479, 0.482422, 0.61377, 0.608887), (0.3396, 0.581055, 0.716309, 0.184326), (0.204224, 0.544922, 0.792969, 0.181152), (0.400146, 0.591309, 0.692383, 0.102966), (0.203857, 0.398193, 0.60791, 0.65625), (0.801758, 0.357422, 0.335449, 0.341797), (0.043335, 0.150757, 0.884766, 0.438965), (0.173218, 0.672852, 0.376465, 0.612793), (0.649414, 0.362061, 0.481201, 0.4646), (0.662109, 0.603516, 0.344238, 0.280762), (0.489014, 0.19165, 0.800781, 0.288086), (0.82959, 0.0906372, 0.469482, 0.28833), (0.341797, 0.142822, 0.00710297, 0.928711), (0.523926, 0.176636, 0.598145, 0.580566), (0.564453, 0.246948, 0.589844, 0.521973), (0.459717, 0.496826, 0.608887, 0.413818), (0.499023, 0.828125, 0.0282593, 0.253662), (0.464844, 0.804199, 0.102539, 0.355957), (0.693359, 0.255615, 0.0837402, 0.668457), (0.415771, 0.621094, 0.638184, 0.18396), (0.158691, 0.731445, 0.27002, 0.605957), (0.648926, 0.623535, 0.0406799, 0.434326), (0.292236, 0.5, 0.449707, 0.679688), (0.33252, 0.110657, 0.888184, 0.297363), (0.641113, 0.267822, 0.715332, 0.072876), (0.0325317, 0.407227, 0.799316, 0.440918), (0.560547, 0.494385, 0.381348, 0.543945), (0.247681, 0.416016, 0.75, 0.450928), (0.601562, 0.671387, 0.388672, 0.190796), (0.348389, 0.845215, 0.292236, 0.28125), (0.433594, 0.464111, 0.401123, 0.660156), (0.450195, 0.214111, 0.85498, 0.143677), (0.596191, 0.440918, 0.377197, 0.554688), (0.561523, 0.715332, 0.274414, 0.313232), (0.477783, 0.435059, 0.686035, 0.334717), (0.744141, 0.078064, 0.392334, 0.535156), (0.319824, 0.375488, 0.851562, 0.178101), (0.513184, 0.283447, 0.0665894, 0.807617), (0.500977, 0.762695, 0.224976, 0.341064), (0.816895, 0.155396, 0.51709, 0.202393), (0.0157318, 0.497314, 0.763184, 0.411865), (0.605469, 0.570312, 0.39209, 0.393311), (0.0687256, 0.682129, 0.172363, 0.70752), (0.947266, 0.0371704, 0.212036, 0.237427), (0.268311, 0.295898, 0.0045166, 0.916504), (0.429932, 0.715332, 0.178467, 0.521484), (0.338135, 0.658203, 0.537598, 0.404053), (0.449707, 0.74707, 0.337646, 0.354248), (0.824219, 0.343506, 0.44873, 0.0349426), (0.0796509, 0.937988, 0.0897827, 0.325439), (0.344238, 0.719238, 0.506836, 0.327637), (0.705078, 0.387939, 0.588867, 0.0739136), (0.628418, 0.335205, 0.221191, 0.666504), (0.771484, 0.410889, 0.477051, 0.0908813), (0.538574, 0.566406, 0.619141, 0.0793457), (0.684082, 0.373047, 0.557129, 0.287109), (0.638672, 0.64209, 0.41748, 0.0727539), (0.681641, 0.515137, 0.456787, 0.247314), (0.538086, 0.609863, 0.340332, 0.471924), (0.71582, 0.0874634, 0.680664, 0.129028), (0.222412, 0.684082, 0.614746, 0.32373), (0.507324, 0.799316, 0.238647, 0.216431), (0.429932, 0.736328, 0.00971222, 0.522461), (0.757324, 0.644531, 0.052002, 0.0913086), (0.268799, 0.0161133, 0.438232, 0.857422), (0.435059, 0.742676, 0.3125, 0.401611), (0.804199, 0.469727, 0.227783, 0.283936), (0.231079, 0.451904, 0.687988, 0.519043), (0.451172, 0.574219, 0.420654, 0.538574), (0.140259, 0.85791, 0.0655518, 0.489746), (0.258301, 0.481445, 0.746094, 0.381104), (0.140625, 0.00349236, 0.95166, 0.272217), (0.0164795, 0.863281, 0.354492, 0.358398), (0.584961, 0.490967, 0.630859, 0.136963), (0.0425415, 0.624512, 0.487793, 0.608398), (0.16687, 0.415039, 0.871582, 0.199951), (0.543945, 0.479736, 0.336182, 0.600586), (0.0562744, 0.4729, 0.569336, 0.67041), (0.583008, 0.753906, 0.302979, 0.00542068), (0.395752, 0.253906, 0.640137, 0.607422), (0.632812, 0.652344, 0.410889, 0.0731201), (0.187134, 0.481445, 0.750488, 0.412109), (0.437744, 0.744141, 0.318115, 0.39209), (0.555176, 0.668945, 0.0766602, 0.488525), (0.570312, 0.519043, 0.300537, 0.561035), (0.171631, 0.740723, 0.150146, 0.631836), (0.282471, 0.283691, 0.195923, 0.89502), (0.651855, 0.702148, 0.0883179, 0.272705), (0.179688, 0.733398, 0.148804, 0.638184), (0.406494, 0.695312, 0.552734, 0.213623), (0.251953, 0.0709229, 0.73291, 0.62793), (0.723145, 0.568848, 0.390869, 0.0258331), (0.695312, 0.552734, 0.410889, 0.206055), (0.73877, 0.104553, 0.378906, 0.547363), (0.145142, 0.431152, 0.453857, 0.766113), (0.0645752, 0.461182, 0.388672, 0.794922), (0.391846, 0.616211, 0.637207, 0.245972), (0.522949, 0.0602417, 0.642578, 0.556641), (0.492676, 0.421631, 0.394043, 0.651367), (0.51416, 0.423828, 0.500488, 0.552734), (0.220703, 0.0689087, 0.910156, 0.344238), (0.177124, 0.377197, 0.200806, 0.886719), (0.698242, 0.253662, 0.665039, 0.0756836), (0.21106, 0.267822, 0.191895, 0.92041), (0.887207, 0.211792, 0.296631, 0.282715), (0.523438, 0.5, 0.164551, 0.669922), (0.637207, 0.383789, 0.585938, 0.321777), (0.567871, 0.57666, 0.193481, 0.554688), (0.0535583, 0.633789, 0.2323, 0.73584), (0.395996, 0.546875, 0.694824, 0.247437), (0.869629, 0.236938, 0.347656, 0.258301), (0.173462, 0.614746, 0.461426, 0.615723), (0.115173, 0.562988, 0.818359, 0.0155182), (0.598633, 0.304932, 0.0189056, 0.740234), (0.521484, 0.0218353, 0.553223, 0.649414), (0.561523, 0.512695, 0.397217, 0.513672), (0.151245, 0.234863, 0.959961, 0.0247345), (0.305908, 0.604492, 0.492188, 0.546387), (0.599121, 0.686523, 0.192627, 0.364258), (0.47876, 0.411377, 0.769531, 0.0985107), (0.585449, 0.271484, 0.34668, 0.680664), (0.616211, 0.0740356, 0.47998, 0.620117), (0.666016, 0.017334, 0.289307, 0.6875), (0.184937, 0.401611, 0.009552, 0.896973), (0.137817, 0.654785, 0.738281, 0.0872192), (0.555664, 0.531738, 0.36377, 0.525879), (0.236938, 0.133667, 0.754395, 0.597168), (0.381104, 0.640625, 0.516113, 0.421387), (0.218994, 0.468262, 0.683594, 0.515625), (0.583008, 0.480225, 0.416016, 0.506348), (0.407227, 0.781738, 0.311279, 0.355225), (0.396484, 0.394531, 0.443115, 0.700684), (0.566895, 0.721191, 0.379639, 0.11969), (0.708984, 0.542969, 0.158081, 0.421387), (0.163818, 0.010582, 0.847168, 0.505371), (0.709473, 0.27002, 0.612793, 0.219727), (0.0732422, 0.301025, 0.80957, 0.498535), (0.681641, 0.182129, 0.708496, 0.0115509), (0.692383, 0.416748, 0.588867, 0.00333977), (0.58252, 0.338379, 0.711914, 0.19873), (0.656738, 0.488525, 0.567383, 0.0895996), (0.635742, 0.539062, 0.488281, 0.258301), (0.615234, 0.659668, 0.316162, 0.293945), (0.828613, 0.468994, 0.148193, 0.267334), (0.300293, 0.1521, 0.732422, 0.592285), (0.69873, 0.440674, 0.35376, 0.438477), (0.0406494, 0.679199, 0.634277, 0.366943), (0.801758, 0.0582275, 0.281006, 0.524414), (0.41333, 0.127075, 0.186401, 0.882324), (0.438721, 0.474365, 0.755371, 0.110046), (0.620605, 0.513672, 0.584961, 0.0941772), (0.05896, 0.00168514, 0.958496, 0.279297), (0.825684, 0.330322, 0.226685, 0.397217), (0.385986, 0.615723, 0.388672, 0.566406), (0.290527, 0.516602, 0.746582, 0.30249), (0.881348, 0.0742798, 0.167603, 0.435547), (0.549316, 0.27832, 0.193115, 0.763672), (0.0157623, 0.395752, 0.130493, 0.908691), (0.460449, 0.697754, 0.510742, 0.201416), (0.726562, 0.541016, 0.303711, 0.294678), (0.288086, 0.392822, 0.691406, 0.533691), (0.737305, 0.626465, 0.169434, 0.187378), (0.722168, 0.625, 0.10022, 0.278809), (0.0105209, 0.804688, 0.153931, 0.573242), (0.101562, 0.690918, 0.702637, 0.134888), (0.38208, 0.552734, 0.606934, 0.424316), (0.160034, 0.0267181, 0.335205, 0.928223), (0.224365, 0.381348, 0.557617, 0.702148), (0.691406, 0.125854, 0.501465, 0.504883), (0.834961, 0.232788, 0.489746, 0.0942383), (0.491455, 0.541504, 0.523438, 0.4375), (0.551758, 0.432373, 0.494629, 0.513672), (0.108704, 0.459961, 0.589844, 0.654785), (0.438232, 0.476562, 0.706055, 0.286377), (0.361084, 0.252441, 0.392578, 0.807129), (0.788086, 0.0546875, 0.507812, 0.343994), (0.454346, 0.509766, 0.504395, 0.528809), (0.104248, 0.975586, 0.18103, 0.0692139), (0.924316, 0.149536, 0.0319824, 0.349609), (0.508789, 0.458008, 0.232056, 0.690918), (0.687988, 0.620605, 0.350342, 0.137207), (0.365723, 0.85791, 0.133911, 0.335693), (0.317871, 0.403076, 0.618164, 0.595215), (0.458496, 0.461426, 0.618164, 0.441162), (0.605957, 0.502441, 0.58252, 0.202271), (0.456787, 0.577637, 0.49585, 0.459961), (0.697754, 0.644043, 0.216675, 0.226318), (0.412842, 0.628906, 0.0456238, 0.657227), (0.671875, 0.20752, 0.675293, 0.222656), (0.378174, 0.548828, 0.451416, 0.593262), (0.697754, 0.4646, 0.540039, 0.0749512), (0.658691, 0.495605, 0.343994, 0.449463), (0.804688, 0.127441, 0.551758, 0.178955), (0.144043, 0.791016, 0.594238, 0.0206604), (0.185791, 0.387451, 0.444092, 0.786133), (0.764648, 0.463867, 0.436768, 0.0957031), (0.00309944, 0.714844, 0.105286, 0.690918), (0.546387, 0.481934, 0.570801, 0.378418), (0.54248, 0.0839844, 0.140991, 0.82373), (0.109497, 0.725098, 0.611816, 0.296143), (0.0836792, 0.163574, 0.586914, 0.788574), (0.693359, 0.0698853, 0.689453, 0.197266), (0.460693, 0.621582, 0.453613, 0.442383), (0.506348, 0.666016, 0.340576, 0.429443), (0.0577087, 0.415527, 0.0742188, 0.904785), (0.0575256, 0.779785, 0.514648, 0.352295), (0.365723, 0.540039, 0.170654, 0.738281), (0.987305, 0.150146, 0.00455856, 0.0514832), (0.623047, 0.119263, 0.412109, 0.653809), (0.977539, 0.11969, 0.0733032, 0.157227), (0.074646, 0.0269623, 0.183105, 0.97998), (0.666504, 0.482178, 0.428955, 0.373047), (0.25, 0.115356, 0.564941, 0.777832), (0.467529, 0.79541, 0.300293, 0.242065), (0.462646, 0.456787, 0.740234, 0.170288), (0.259033, 0.626953, 0.652344, 0.338623), (0.0396423, 0.377441, 0.59375, 0.709473), (0.0614929, 0.0821533, 0.919434, 0.379395), (0.242188, 0.235229, 0.460693, 0.820801), (0.124756, 0.628418, 0.368652, 0.673828), (0.504395, 0.364014, 0.738281, 0.26123), (0.452881, 0.682617, 0.0543518, 0.571289), (0.683594, 0.189087, 0.692383, 0.131348), (0.632812, 0.725586, 0.113708, 0.245239), (0.387939, 0.905273, 0.170654, 0.0314331), (0.609375, 0.0265198, 0.372559, 0.699219), (0.0329895, 0.283691, 0.740723, 0.60791), (0.165771, 0.155762, 0.812988, 0.536133), (0.592285, 0.456299, 0.560059, 0.357178), (0.634277, 0.0870361, 0.401367, 0.654785), (0.689941, 0.517578, 0.280273, 0.421631), (0.499023, 0.622559, 0.596191, 0.0888062), (0.484619, 0.506836, 0.529297, 0.477539), (0.220093, 0.473633, 0.765625, 0.375977), (0.00972748, 0.624023, 0.203735, 0.754395), (0.492188, 0.100647, 0.000545979, 0.864746), (0.228882, 0.834473, 0.301025, 0.400391), (0.456299, 0.23877, 0.587891, 0.623535), (0.536133, 0.5625, 0.523926, 0.349121), (0.587402, 0.292969, 0.322021, 0.682129), (0.593262, 0.556152, 0.566406, 0.13269), (0.10791, 0.829102, 0.539551, 0.0997314), (0.394775, 0.38501, 0.350342, 0.757324), (0.786133, 0.439941, 0.397217, 0.175537), (0.879395, 0.149536, 0.29834, 0.339355), (0.696777, 0.32373, 0.467773, 0.436768), (0.386963, 0.127808, 0.754883, 0.513672), (0.604004, 0.130737, 0.515137, 0.59375), (0.128418, 0.0111694, 0.991699, 0.000308275), (0.558105, 0.265625, 0.785645, 0.0202484), (0.695312, 0.64502, 0.264404, 0.175171), (0.5, 0.54541, 0.0738525, 0.668945), (0.0522766, 0.243652, 0.583496, 0.772949), (0.341309, 0.680176, 0.490479, 0.424805), (0.607422, 0.306641, 0.544434, 0.490234), (0.640137, 0.285645, 0.315918, 0.63916), (0.466553, 0.488037, 0.610352, 0.414307), (0.57959, 0.631348, 0.277344, 0.43457), (0.803711, 0.0847168, 0.138916, 0.572266), (0.58252, 0.186401, 0.631836, 0.47583), (0.317139, 0.583008, 0.588867, 0.461182), (0.21814, 0.707031, 0.276123, 0.61377), (0.0426941, 0.92334, 0.10791, 0.366211), (0.366699, 0.550781, 0.749023, 0.0311584), (0.235718, 0.0223236, 0.657227, 0.71582), (0.754395, 0.292236, 0.335938, 0.482178), (0.324219, 0.489258, 0.695312, 0.414795), (0.687012, 0.375488, 0.505859, 0.362061), (0.267578, 0.722656, 0.286865, 0.568848), (0.551758, 0.46875, 0.0196533, 0.689453), (0.665039, 0.427246, 0.526855, 0.312744), (0.68457, 0.344482, 0.495361, 0.40918), (0.468018, 0.071167, 0.810547, 0.344482), (0.279541, 0.22644, 0.518555, 0.775879), (0.20459, 0.785156, 0.466064, 0.352295), (0.543457, 0.624512, 0.0345764, 0.560059), (0.493652, 0.469482, 0.727539, 0.0794678), (0.444336, 0.550293, 0.649414, 0.280029), (0.668945, 0.264893, 0.556641, 0.415283), (0.449951, 0.425781, 0.0817871, 0.780762), (0.430664, 0.220337, 0.557129, 0.675293), (0.0508728, 0.175171, 0.791992, 0.58252), (0.543457, 0.53125, 0.597656, 0.255615), (0.402832, 0.424316, 0.280029, 0.76123), (0.44043, 0.366699, 0.681152, 0.455322), (0.675293, 0.268799, 0.202637, 0.65625), (0.0601807, 0.710449, 0.654297, 0.251953), (0.794434, 0.0823364, 0.0695801, 0.597656), (0.692871, 0.0828247, 0.700195, 0.150024), (0.466797, 0.635742, 0.212646, 0.57666), (0.623047, 0.494873, 0.351074, 0.493896), (0.505371, 0.647461, 0.547363, 0.15979), (0.249634, 0.17395, 0.193726, 0.932617), (0.907227, 0.142944, 0.160889, 0.361328), (0.546387, 0.397217, 0.618652, 0.401367), (0.463623, 0.51416, 0.588379, 0.417969), (0.603516, 0.73584, 0.190674, 0.241211), (0.27124, 0.0416565, 0.895508, 0.350098), (0.284912, 0.623535, 0.456055, 0.567383), (0.558105, 0.518555, 0.585938, 0.276367), (0.233398, 0.913574, 0.0595398, 0.328125), (0.557617, 0.60791, 0.128662, 0.550781), (0.179932, 0.273438, 0.70166, 0.632812), (0.279297, 0.337158, 0.812012, 0.38623), (0.208008, 0.403564, 0.648926, 0.610352), (0.883301, 0.201904, 0.420654, 0.0443726), (0.479736, 0.525879, 0.435791, 0.550781), (0.727539, 0.516602, 0.293945, 0.342773), (0.482422, 0.366455, 0.564453, 0.560547), (0.357422, 0.483643, 0.591797, 0.537109), (0.566895, 0.310547, 0.480713, 0.592773), (0.365723, 0.903809, 0.213135, 0.0608215), (0.475342, 0.624023, 0.427734, 0.449463), (0.391846, 0.452637, 0.689453, 0.407715), (0.0802612, 0.82959, 0.12915, 0.537109), (0.00506592, 0.568359, 0.799316, 0.195435), (0.535156, 0.691406, 0.485107, 0.0227966), (0.412354, 0.278076, 0.339844, 0.79834), (0.0248871, 0.283691, 0.486084, 0.826172), (0.702637, 0.530273, 0.393799, 0.264404), (0.639648, 0.391602, 0.158203, 0.64209), (0.624512, 0.00078249, 0.37793, 0.683594), (0.501953, 0.705078, 0.0289154, 0.5), (0.577148, 0.507812, 0.639648, 0.00888824), (0.0848389, 0.478271, 0.5625, 0.668945), (0.252197, 0.769043, 0.213135, 0.547363), (0.446533, 0.818848, 0.331543, 0.140869), (0.555176, 0.39502, 0.233398, 0.693848), (0.453857, 0.569824, 0.477783, 0.490723), (0.356934, 0.532227, 0.508789, 0.575195), (0.417236, 0.688965, 0.584961, 0.0932617), (0.15686, 0.802734, 0.000578403, 0.575684), (0.416748, 0.532715, 0.451904, 0.582031), (0.527344, 0.67334, 0.436035, 0.279541), (0.332031, 0.829102, 0.426514, 0.143311), (0.708984, 0.139038, 0.426514, 0.543945), (0.626953, 0.703125, 0.101624, 0.319336), (0.00901794, 0.382324, 0.672363, 0.633789), (0.173584, 0.694336, 0.612305, 0.335693), (0.29248, 0.541016, 0.58252, 0.53125), (0.888184, 0.383789, 0.250977, 0.0299225), (0.164917, 0.616211, 0.549805, 0.539551), (0.28833, 0.683594, 0.599121, 0.301025), (0.0667725, 0.96582, 0.189209, 0.162964), (0.429443, 0.416016, 0.80127, 0.0271606), (0.834961, 0.138794, 0.289551, 0.447021), (0.0962524, 0.109375, 0.922852, 0.356934), (0.305176, 0.535645, 0.561035, 0.552246), (0.625977, 0.284912, 0.679199, 0.255859), (0.60498, 0.441895, 0.468506, 0.468262), (0.395508, 0.270996, 0.822754, 0.30542), (0.416748, 0.207642, 0.602051, 0.648926), (0.333496, 0.230103, 0.496094, 0.768066), (0.80127, 0.308105, 0.502441, 0.103394), (0.86377, 0.446777, 0.203003, 0.114624), (0.273682, 0.230347, 0.649902, 0.670898), (0.782715, 0.469238, 0.0795898, 0.401123), (0.318604, 0.569336, 0.538574, 0.533203), (0.549316, 0.433594, 0.427979, 0.571777)],
+ 5: [(0.468994, 0.168091, 0.454834, 0.738281), (0.382812, 0.670898, 0.481689, 0.413574), (0.470703, 0.326416, 0.564941, 0.59375), (0.505371, 0.708496, 0.482178, 0.101196), (0.35498, 0.568848, 0.675293, 0.306885), (0.385742, 0.692383, 0.0164642, 0.609375), (0.770996, 0.287109, 0.521973, 0.224609), (0.36792, 0.628906, 0.638184, 0.249512), (0.724121, 0.430664, 0.208252, 0.496826), (0.928223, 0.0809937, 0.0344238, 0.361572), (0.815918, 0.161743, 0.547852, 0.0884399), (0.349609, 0.229858, 0.651855, 0.632324), (0.287598, 0.840332, 0.302734, 0.345703), (0.287842, 0.565918, 0.714844, 0.293701), (0.901367, 0.0376282, 0.134277, 0.409912), (0.606934, 0.134644, 0.535156, 0.571777), (0.929688, 0.0853882, 0.155518, 0.322754), (0.591309, 0.702148, 0.337158, 0.209595), (0.518066, 0.614746, 0.533203, 0.263672), (0.0231018, 0.318115, 0.891602, 0.321533), (0.556641, 0.455811, 0.652832, 0.236328), (0.125854, 0.774902, 0.529297, 0.322021), (0.26709, 0.0723877, 0.121521, 0.953125), (0.0931396, 0.480469, 0.870605, 0.0512695), (0.234131, 0.668945, 0.696777, 0.110046), (0.754883, 0.409424, 0.098877, 0.50293), (0.785645, 0.39209, 0.0108719, 0.478516), (0.422119, 0.562012, 0.578613, 0.413574), (0.37085, 0.487549, 0.679688, 0.403564), (0.463379, 0.407227, 0.539551, 0.573242), (0.205444, 0.760254, 0.342773, 0.512207), (0.081543, 0.541016, 0.480225, 0.685547), (0.556152, 0.654785, 0.46875, 0.205322), (0.0188904, 0.510254, 0.608398, 0.607422), (0.402344, 0.682129, 0.42041, 0.442871), (0.366943, 0.180664, 0.835938, 0.365967), (0.207886, 0.830078, 0.468506, 0.219238), (0.59082, 0.160645, 0.0231934, 0.790527), (0.0663452, 0.758789, 0.333252, 0.555664), (0.479004, 0.525391, 0.555176, 0.431152), (0.756348, 0.00111389, 0.160522, 0.634277), (0.389893, 0.339111, 0.599609, 0.611328), (0.492432, 0.572754, 0.397705, 0.520996), (0.490967, 0.497803, 0.69043, 0.185913), (0.485596, 0.190918, 0.716797, 0.462402), (0.489258, 0.181152, 0.65918, 0.541504), (0.753418, 0.187378, 0.271973, 0.568848), (0.401611, 0.641113, 0.628418, 0.182129), (0.421143, 0.535156, 0.685547, 0.257568), (0.780273, 0.614258, 0.0437622, 0.109131), (0.597168, 0.0449829, 0.702637, 0.384766), (0.0605164, 0.700195, 0.465088, 0.538574), (0.0880737, 0.103577, 0.749512, 0.647949), (0.76709, 0.370361, 0.0926514, 0.515625), (0.331055, 0.462891, 0.496338, 0.655273), (0.732422, 0.647461, 0.114929, 0.176758), (0.316895, 0.783203, 0.51709, 0.137695), (0.618652, 0.761719, 0.1203, 0.151245), (0.915527, 0.253662, 0.310059, 0.0374146), (0.6875, 0.517578, 0.0124664, 0.508789), (0.356934, 0.337891, 0.705566, 0.510742), (0.532715, 0.261963, 0.570801, 0.566895), (0.304688, 0.268555, 0.804688, 0.43335), (0.522461, 0.490723, 0.471191, 0.51416), (0.670898, 0.572754, 0.177124, 0.436523), (0.754395, 0.229614, 0.491211, 0.370117), (0.532227, 0.608887, 0.430176, 0.401123), (0.598145, 0.635742, 0.294189, 0.38916), (0.398682, 0.611328, 0.213257, 0.649414), (0.831543, 0.350098, 0.388184, 0.187988), (0.497314, 0.344971, 0.470215, 0.642578), (0.00505447, 0.245728, 0.485352, 0.838867), (0.475098, 0.541016, 0.679199, 0.1427), (0.329102, 0.221802, 0.409668, 0.821289), (0.509766, 0.465576, 0.632324, 0.351318), (0.609375, 0.121033, 0.53125, 0.576172), (0.442627, 0.736328, 0.503418, 0.0914307), (0.594727, 0.343506, 0.60791, 0.398926), (0.484375, 0.196411, 0.669922, 0.527344), (0.648926, 0.105774, 0.583008, 0.477051), (0.765625, 0.528809, 0.279053, 0.236694), (0.656738, 0.347656, 0.525391, 0.414551), (0.72998, 0.120544, 0.345215, 0.577637), (0.473877, 0.454834, 0.432373, 0.617676), (0.300049, 0.0118637, 0.151733, 0.941895), (0.274902, 0.63916, 0.163818, 0.699707), (0.541992, 0.357178, 0.635742, 0.417969), (0.164795, 0.709473, 0.594238, 0.34082), (0.0489197, 0.474609, 0.853516, 0.209351), (0.439941, 0.592773, 0.416504, 0.530762), (0.0481262, 0.865234, 0.454102, 0.206909), (0.434814, 0.42041, 0.307861, 0.734375), (0.548828, 0.506836, 0.54248, 0.384277), (0.37207, 0.356445, 0.540039, 0.665527), (0.617676, 0.589844, 0.264404, 0.447754), (0.511719, 0.350098, 0.326904, 0.713379), (0.654785, 0.490723, 0.391357, 0.421143), (0.408203, 0.575195, 0.538086, 0.46167), (0.767578, 0.0193939, 0.42334, 0.480957), (0.449951, 0.648926, 0.553223, 0.265381), (0.0689697, 0.976562, 0.109619, 0.173218), (0.680664, 0.525391, 0.482666, 0.166626), (0.555176, 0.594238, 0.150757, 0.5625), (0.388916, 0.208862, 0.153442, 0.884277), (0.00372887, 0.476318, 0.333252, 0.813477), (0.64502, 0.660645, 0.151733, 0.353027), (0.0538025, 0.581543, 0.550781, 0.596191), (0.541504, 0.179077, 0.820312, 0.0462036), (0.457275, 0.225464, 0.830566, 0.223755), (0.133179, 0.665527, 0.361084, 0.639648), (0.707031, 0.44043, 0.0447388, 0.551758), (0.61377, 0.335938, 0.366455, 0.613281), (0.836426, 0.353516, 0.393066, 0.144409), (0.721191, 0.452393, 0.229614, 0.47168), (0.464355, 0.630859, 0.562012, 0.264893), (0.0296783, 0.586914, 0.512207, 0.626465), (0.56543, 0.61084, 0.537109, 0.136108), (0.0530701, 0.270996, 0.836426, 0.473389), (0.634766, 0.370117, 0.652344, 0.186523), (0.532715, 0.729004, 0.18811, 0.38623), (0.0645142, 0.530762, 0.811523, 0.235962), (0.414551, 0.618164, 0.667969, 0.0123596), (0.429932, 0.737305, 0.489502, 0.177734), (0.647461, 0.11261, 0.617676, 0.432129), (0.704102, 0.461182, 0.407471, 0.354248), (0.55127, 0.308105, 0.76123, 0.147949), (0.55127, 0.141846, 0.316406, 0.758789), (0.230591, 0.531738, 0.814453, 0.0300446), (0.581055, 0.407715, 0.136719, 0.690918), (0.489746, 0.521973, 0.618164, 0.325195), (0.142456, 0.584473, 0.478271, 0.639648), (0.438477, 0.63623, 0.447754, 0.449707), (0.577637, 0.131348, 0.78125, 0.196289), (0.587402, 0.46875, 0.496338, 0.434814), (0.103394, 0.379639, 0.787598, 0.474365), (0.100098, 0.434082, 0.730957, 0.51709), (0.43457, 0.615234, 0.302734, 0.583984), (0.64209, 0.463623, 0.608887, 0.0441284), (0.505371, 0.12915, 0.269775, 0.80957), (0.379639, 0.36499, 0.0939331, 0.844727), (0.172852, 0.598633, 0.774902, 0.105469), (0.141479, 0.482422, 0.61377, 0.608887), (0.3396, 0.581055, 0.716309, 0.184326), (0.204224, 0.544922, 0.792969, 0.181152), (0.400146, 0.591309, 0.692383, 0.102966), (0.203857, 0.398193, 0.60791, 0.65625), (0.801758, 0.357422, 0.335449, 0.341797), (0.043335, 0.150757, 0.884766, 0.438965), (0.173218, 0.672852, 0.376465, 0.612793), (0.649414, 0.362061, 0.481201, 0.4646), (0.662109, 0.603516, 0.344238, 0.280762), (0.489014, 0.19165, 0.800781, 0.288086), (0.82959, 0.0906372, 0.469482, 0.28833), (0.341797, 0.142822, 0.00710297, 0.928711), (0.523926, 0.176636, 0.598145, 0.580566), (0.564453, 0.246948, 0.589844, 0.521973), (0.459717, 0.496826, 0.608887, 0.413818), (0.499023, 0.828125, 0.0282593, 0.253662), (0.464844, 0.804199, 0.102539, 0.355957), (0.693359, 0.255615, 0.0837402, 0.668457), (0.415771, 0.621094, 0.638184, 0.18396), (0.158691, 0.731445, 0.27002, 0.605957), (0.648926, 0.623535, 0.0406799, 0.434326), (0.292236, 0.5, 0.449707, 0.679688), (0.33252, 0.110657, 0.888184, 0.297363), (0.641113, 0.267822, 0.715332, 0.072876), (0.0325317, 0.407227, 0.799316, 0.440918), (0.560547, 0.494385, 0.381348, 0.543945), (0.247681, 0.416016, 0.75, 0.450928), (0.601562, 0.671387, 0.388672, 0.190796), (0.348389, 0.845215, 0.292236, 0.28125), (0.433594, 0.464111, 0.401123, 0.660156), (0.450195, 0.214111, 0.85498, 0.143677), (0.596191, 0.440918, 0.377197, 0.554688), (0.561523, 0.715332, 0.274414, 0.313232), (0.477783, 0.435059, 0.686035, 0.334717), (0.744141, 0.078064, 0.392334, 0.535156), (0.319824, 0.375488, 0.851562, 0.178101), (0.513184, 0.283447, 0.0665894, 0.807617), (0.500977, 0.762695, 0.224976, 0.341064), (0.816895, 0.155396, 0.51709, 0.202393), (0.0157318, 0.497314, 0.763184, 0.411865), (0.605469, 0.570312, 0.39209, 0.393311), (0.0687256, 0.682129, 0.172363, 0.70752), (0.947266, 0.0371704, 0.212036, 0.237427), (0.268311, 0.295898, 0.0045166, 0.916504), (0.429932, 0.715332, 0.178467, 0.521484), (0.338135, 0.658203, 0.537598, 0.404053), (0.449707, 0.74707, 0.337646, 0.354248), (0.824219, 0.343506, 0.44873, 0.0349426), (0.0796509, 0.937988, 0.0897827, 0.325439), (0.344238, 0.719238, 0.506836, 0.327637), (0.705078, 0.387939, 0.588867, 0.0739136), (0.628418, 0.335205, 0.221191, 0.666504), (0.771484, 0.410889, 0.477051, 0.0908813), (0.538574, 0.566406, 0.619141, 0.0793457), (0.684082, 0.373047, 0.557129, 0.287109), (0.638672, 0.64209, 0.41748, 0.0727539), (0.681641, 0.515137, 0.456787, 0.247314), (0.538086, 0.609863, 0.340332, 0.471924), (0.71582, 0.0874634, 0.680664, 0.129028), (0.222412, 0.684082, 0.614746, 0.32373), (0.507324, 0.799316, 0.238647, 0.216431), (0.429932, 0.736328, 0.00971222, 0.522461), (0.757324, 0.644531, 0.052002, 0.0913086), (0.268799, 0.0161133, 0.438232, 0.857422), (0.435059, 0.742676, 0.3125, 0.401611), (0.804199, 0.469727, 0.227783, 0.283936), (0.231079, 0.451904, 0.687988, 0.519043), (0.451172, 0.574219, 0.420654, 0.538574), (0.140259, 0.85791, 0.0655518, 0.489746), (0.258301, 0.481445, 0.746094, 0.381104), (0.140625, 0.00349236, 0.95166, 0.272217), (0.0164795, 0.863281, 0.354492, 0.358398), (0.584961, 0.490967, 0.630859, 0.136963), (0.0425415, 0.624512, 0.487793, 0.608398), (0.16687, 0.415039, 0.871582, 0.199951), (0.543945, 0.479736, 0.336182, 0.600586), (0.0562744, 0.4729, 0.569336, 0.67041), (0.583008, 0.753906, 0.302979, 0.00542068), (0.395752, 0.253906, 0.640137, 0.607422), (0.632812, 0.652344, 0.410889, 0.0731201), (0.187134, 0.481445, 0.750488, 0.412109), (0.437744, 0.744141, 0.318115, 0.39209), (0.555176, 0.668945, 0.0766602, 0.488525), (0.570312, 0.519043, 0.300537, 0.561035), (0.171631, 0.740723, 0.150146, 0.631836), (0.282471, 0.283691, 0.195923, 0.89502), (0.651855, 0.702148, 0.0883179, 0.272705), (0.179688, 0.733398, 0.148804, 0.638184), (0.406494, 0.695312, 0.552734, 0.213623), (0.251953, 0.0709229, 0.73291, 0.62793), (0.723145, 0.568848, 0.390869, 0.0258331), (0.695312, 0.552734, 0.410889, 0.206055), (0.73877, 0.104553, 0.378906, 0.547363), (0.145142, 0.431152, 0.453857, 0.766113), (0.0645752, 0.461182, 0.388672, 0.794922), (0.391846, 0.616211, 0.637207, 0.245972), (0.522949, 0.0602417, 0.642578, 0.556641), (0.492676, 0.421631, 0.394043, 0.651367), (0.51416, 0.423828, 0.500488, 0.552734), (0.220703, 0.0689087, 0.910156, 0.344238), (0.177124, 0.377197, 0.200806, 0.886719), (0.698242, 0.253662, 0.665039, 0.0756836), (0.21106, 0.267822, 0.191895, 0.92041), (0.887207, 0.211792, 0.296631, 0.282715), (0.523438, 0.5, 0.164551, 0.669922), (0.637207, 0.383789, 0.585938, 0.321777), (0.567871, 0.57666, 0.193481, 0.554688), (0.0535583, 0.633789, 0.2323, 0.73584), (0.395996, 0.546875, 0.694824, 0.247437), (0.869629, 0.236938, 0.347656, 0.258301), (0.173462, 0.614746, 0.461426, 0.615723), (0.115173, 0.562988, 0.818359, 0.0155182), (0.598633, 0.304932, 0.0189056, 0.740234), (0.521484, 0.0218353, 0.553223, 0.649414), (0.561523, 0.512695, 0.397217, 0.513672), (0.151245, 0.234863, 0.959961, 0.0247345), (0.305908, 0.604492, 0.492188, 0.546387), (0.599121, 0.686523, 0.192627, 0.364258), (0.47876, 0.411377, 0.769531, 0.0985107), (0.585449, 0.271484, 0.34668, 0.680664), (0.616211, 0.0740356, 0.47998, 0.620117), (0.666016, 0.017334, 0.289307, 0.6875), (0.184937, 0.401611, 0.009552, 0.896973), (0.137817, 0.654785, 0.738281, 0.0872192), (0.555664, 0.531738, 0.36377, 0.525879), (0.236938, 0.133667, 0.754395, 0.597168), (0.381104, 0.640625, 0.516113, 0.421387), (0.218994, 0.468262, 0.683594, 0.515625), (0.583008, 0.480225, 0.416016, 0.506348), (0.407227, 0.781738, 0.311279, 0.355225), (0.396484, 0.394531, 0.443115, 0.700684), (0.566895, 0.721191, 0.379639, 0.11969), (0.708984, 0.542969, 0.158081, 0.421387), (0.163818, 0.010582, 0.847168, 0.505371), (0.709473, 0.27002, 0.612793, 0.219727), (0.0732422, 0.301025, 0.80957, 0.498535), (0.681641, 0.182129, 0.708496, 0.0115509), (0.692383, 0.416748, 0.588867, 0.00333977), (0.58252, 0.338379, 0.711914, 0.19873), (0.656738, 0.488525, 0.567383, 0.0895996), (0.635742, 0.539062, 0.488281, 0.258301), (0.615234, 0.659668, 0.316162, 0.293945), (0.828613, 0.468994, 0.148193, 0.267334), (0.300293, 0.1521, 0.732422, 0.592285), (0.69873, 0.440674, 0.35376, 0.438477), (0.0406494, 0.679199, 0.634277, 0.366943), (0.801758, 0.0582275, 0.281006, 0.524414), (0.41333, 0.127075, 0.186401, 0.882324), (0.438721, 0.474365, 0.755371, 0.110046), (0.620605, 0.513672, 0.584961, 0.0941772), (0.05896, 0.00168514, 0.958496, 0.279297), (0.825684, 0.330322, 0.226685, 0.397217), (0.385986, 0.615723, 0.388672, 0.566406), (0.290527, 0.516602, 0.746582, 0.30249), (0.881348, 0.0742798, 0.167603, 0.435547), (0.549316, 0.27832, 0.193115, 0.763672), (0.0157623, 0.395752, 0.130493, 0.908691), (0.460449, 0.697754, 0.510742, 0.201416), (0.726562, 0.541016, 0.303711, 0.294678), (0.288086, 0.392822, 0.691406, 0.533691), (0.737305, 0.626465, 0.169434, 0.187378), (0.722168, 0.625, 0.10022, 0.278809), (0.0105209, 0.804688, 0.153931, 0.573242), (0.101562, 0.690918, 0.702637, 0.134888), (0.38208, 0.552734, 0.606934, 0.424316), (0.160034, 0.0267181, 0.335205, 0.928223), (0.224365, 0.381348, 0.557617, 0.702148), (0.691406, 0.125854, 0.501465, 0.504883), (0.834961, 0.232788, 0.489746, 0.0942383), (0.491455, 0.541504, 0.523438, 0.4375), (0.551758, 0.432373, 0.494629, 0.513672), (0.108704, 0.459961, 0.589844, 0.654785), (0.438232, 0.476562, 0.706055, 0.286377), (0.361084, 0.252441, 0.392578, 0.807129), (0.788086, 0.0546875, 0.507812, 0.343994), (0.454346, 0.509766, 0.504395, 0.528809), (0.104248, 0.975586, 0.18103, 0.0692139), (0.924316, 0.149536, 0.0319824, 0.349609), (0.508789, 0.458008, 0.232056, 0.690918), (0.687988, 0.620605, 0.350342, 0.137207), (0.365723, 0.85791, 0.133911, 0.335693), (0.317871, 0.403076, 0.618164, 0.595215), (0.458496, 0.461426, 0.618164, 0.441162), (0.605957, 0.502441, 0.58252, 0.202271), (0.456787, 0.577637, 0.49585, 0.459961), (0.697754, 0.644043, 0.216675, 0.226318), (0.412842, 0.628906, 0.0456238, 0.657227), (0.671875, 0.20752, 0.675293, 0.222656), (0.378174, 0.548828, 0.451416, 0.593262), (0.697754, 0.4646, 0.540039, 0.0749512), (0.658691, 0.495605, 0.343994, 0.449463), (0.804688, 0.127441, 0.551758, 0.178955), (0.144043, 0.791016, 0.594238, 0.0206604), (0.185791, 0.387451, 0.444092, 0.786133), (0.764648, 0.463867, 0.436768, 0.0957031), (0.00309944, 0.714844, 0.105286, 0.690918), (0.546387, 0.481934, 0.570801, 0.378418), (0.54248, 0.0839844, 0.140991, 0.82373), (0.109497, 0.725098, 0.611816, 0.296143), (0.0836792, 0.163574, 0.586914, 0.788574), (0.693359, 0.0698853, 0.689453, 0.197266), (0.460693, 0.621582, 0.453613, 0.442383), (0.506348, 0.666016, 0.340576, 0.429443), (0.0577087, 0.415527, 0.0742188, 0.904785), (0.0575256, 0.779785, 0.514648, 0.352295), (0.365723, 0.540039, 0.170654, 0.738281), (0.987305, 0.150146, 0.00455856, 0.0514832), (0.623047, 0.119263, 0.412109, 0.653809), (0.977539, 0.11969, 0.0733032, 0.157227), (0.074646, 0.0269623, 0.183105, 0.97998), (0.666504, 0.482178, 0.428955, 0.373047), (0.25, 0.115356, 0.564941, 0.777832), (0.467529, 0.79541, 0.300293, 0.242065), (0.462646, 0.456787, 0.740234, 0.170288), (0.259033, 0.626953, 0.652344, 0.338623), (0.0396423, 0.377441, 0.59375, 0.709473), (0.0614929, 0.0821533, 0.919434, 0.379395), (0.242188, 0.235229, 0.460693, 0.820801), (0.124756, 0.628418, 0.368652, 0.673828), (0.504395, 0.364014, 0.738281, 0.26123), (0.452881, 0.682617, 0.0543518, 0.571289), (0.683594, 0.189087, 0.692383, 0.131348), (0.632812, 0.725586, 0.113708, 0.245239), (0.387939, 0.905273, 0.170654, 0.0314331), (0.609375, 0.0265198, 0.372559, 0.699219), (0.0329895, 0.283691, 0.740723, 0.60791), (0.165771, 0.155762, 0.812988, 0.536133), (0.592285, 0.456299, 0.560059, 0.357178), (0.634277, 0.0870361, 0.401367, 0.654785), (0.689941, 0.517578, 0.280273, 0.421631), (0.499023, 0.622559, 0.596191, 0.0888062), (0.484619, 0.506836, 0.529297, 0.477539), (0.220093, 0.473633, 0.765625, 0.375977), (0.00972748, 0.624023, 0.203735, 0.754395), (0.492188, 0.100647, 0.000545979, 0.864746), (0.228882, 0.834473, 0.301025, 0.400391), (0.456299, 0.23877, 0.587891, 0.623535), (0.536133, 0.5625, 0.523926, 0.349121), (0.587402, 0.292969, 0.322021, 0.682129), (0.593262, 0.556152, 0.566406, 0.13269), (0.10791, 0.829102, 0.539551, 0.0997314), (0.394775, 0.38501, 0.350342, 0.757324), (0.786133, 0.439941, 0.397217, 0.175537), (0.879395, 0.149536, 0.29834, 0.339355), (0.696777, 0.32373, 0.467773, 0.436768), (0.386963, 0.127808, 0.754883, 0.513672), (0.604004, 0.130737, 0.515137, 0.59375), (0.128418, 0.0111694, 0.991699, 0.000308275), (0.558105, 0.265625, 0.785645, 0.0202484), (0.695312, 0.64502, 0.264404, 0.175171), (0.5, 0.54541, 0.0738525, 0.668945), (0.0522766, 0.243652, 0.583496, 0.772949), (0.341309, 0.680176, 0.490479, 0.424805), (0.607422, 0.306641, 0.544434, 0.490234), (0.640137, 0.285645, 0.315918, 0.63916), (0.466553, 0.488037, 0.610352, 0.414307), (0.57959, 0.631348, 0.277344, 0.43457), (0.803711, 0.0847168, 0.138916, 0.572266), (0.58252, 0.186401, 0.631836, 0.47583), (0.317139, 0.583008, 0.588867, 0.461182), (0.21814, 0.707031, 0.276123, 0.61377), (0.0426941, 0.92334, 0.10791, 0.366211), (0.366699, 0.550781, 0.749023, 0.0311584), (0.235718, 0.0223236, 0.657227, 0.71582), (0.754395, 0.292236, 0.335938, 0.482178), (0.324219, 0.489258, 0.695312, 0.414795), (0.687012, 0.375488, 0.505859, 0.362061), (0.267578, 0.722656, 0.286865, 0.568848), (0.551758, 0.46875, 0.0196533, 0.689453), (0.665039, 0.427246, 0.526855, 0.312744), (0.68457, 0.344482, 0.495361, 0.40918), (0.468018, 0.071167, 0.810547, 0.344482), (0.279541, 0.22644, 0.518555, 0.775879), (0.20459, 0.785156, 0.466064, 0.352295), (0.543457, 0.624512, 0.0345764, 0.560059), (0.493652, 0.469482, 0.727539, 0.0794678), (0.444336, 0.550293, 0.649414, 0.280029), (0.668945, 0.264893, 0.556641, 0.415283), (0.449951, 0.425781, 0.0817871, 0.780762), (0.430664, 0.220337, 0.557129, 0.675293), (0.0508728, 0.175171, 0.791992, 0.58252), (0.543457, 0.53125, 0.597656, 0.255615), (0.402832, 0.424316, 0.280029, 0.76123), (0.44043, 0.366699, 0.681152, 0.455322), (0.675293, 0.268799, 0.202637, 0.65625), (0.0601807, 0.710449, 0.654297, 0.251953), (0.794434, 0.0823364, 0.0695801, 0.597656), (0.692871, 0.0828247, 0.700195, 0.150024), (0.466797, 0.635742, 0.212646, 0.57666), (0.623047, 0.494873, 0.351074, 0.493896), (0.505371, 0.647461, 0.547363, 0.15979), (0.249634, 0.17395, 0.193726, 0.932617), (0.907227, 0.142944, 0.160889, 0.361328), (0.546387, 0.397217, 0.618652, 0.401367), (0.463623, 0.51416, 0.588379, 0.417969), (0.603516, 0.73584, 0.190674, 0.241211), (0.27124, 0.0416565, 0.895508, 0.350098), (0.284912, 0.623535, 0.456055, 0.567383), (0.558105, 0.518555, 0.585938, 0.276367), (0.233398, 0.913574, 0.0595398, 0.328125), (0.557617, 0.60791, 0.128662, 0.550781), (0.179932, 0.273438, 0.70166, 0.632812), (0.279297, 0.337158, 0.812012, 0.38623), (0.208008, 0.403564, 0.648926, 0.610352), (0.883301, 0.201904, 0.420654, 0.0443726), (0.479736, 0.525879, 0.435791, 0.550781), (0.727539, 0.516602, 0.293945, 0.342773), (0.482422, 0.366455, 0.564453, 0.560547), (0.357422, 0.483643, 0.591797, 0.537109), (0.566895, 0.310547, 0.480713, 0.592773), (0.365723, 0.903809, 0.213135, 0.0608215), (0.475342, 0.624023, 0.427734, 0.449463), (0.391846, 0.452637, 0.689453, 0.407715), (0.0802612, 0.82959, 0.12915, 0.537109), (0.00506592, 0.568359, 0.799316, 0.195435), (0.535156, 0.691406, 0.485107, 0.0227966), (0.412354, 0.278076, 0.339844, 0.79834), (0.0248871, 0.283691, 0.486084, 0.826172), (0.702637, 0.530273, 0.393799, 0.264404), (0.639648, 0.391602, 0.158203, 0.64209), (0.624512, 0.00078249, 0.37793, 0.683594), (0.501953, 0.705078, 0.0289154, 0.5), (0.577148, 0.507812, 0.639648, 0.00888824), (0.0848389, 0.478271, 0.5625, 0.668945), (0.252197, 0.769043, 0.213135, 0.547363), (0.446533, 0.818848, 0.331543, 0.140869), (0.555176, 0.39502, 0.233398, 0.693848), (0.453857, 0.569824, 0.477783, 0.490723), (0.356934, 0.532227, 0.508789, 0.575195), (0.417236, 0.688965, 0.584961, 0.0932617), (0.15686, 0.802734, 0.000578403, 0.575684), (0.416748, 0.532715, 0.451904, 0.582031), (0.527344, 0.67334, 0.436035, 0.279541), (0.332031, 0.829102, 0.426514, 0.143311), (0.708984, 0.139038, 0.426514, 0.543945), (0.626953, 0.703125, 0.101624, 0.319336), (0.00901794, 0.382324, 0.672363, 0.633789), (0.173584, 0.694336, 0.612305, 0.335693), (0.29248, 0.541016, 0.58252, 0.53125), (0.888184, 0.383789, 0.250977, 0.0299225), (0.164917, 0.616211, 0.549805, 0.539551), (0.28833, 0.683594, 0.599121, 0.301025), (0.0667725, 0.96582, 0.189209, 0.162964), (0.429443, 0.416016, 0.80127, 0.0271606), (0.834961, 0.138794, 0.289551, 0.447021), (0.0962524, 0.109375, 0.922852, 0.356934), (0.305176, 0.535645, 0.561035, 0.552246), (0.625977, 0.284912, 0.679199, 0.255859), (0.60498, 0.441895, 0.468506, 0.468262), (0.395508, 0.270996, 0.822754, 0.30542), (0.416748, 0.207642, 0.602051, 0.648926), (0.333496, 0.230103, 0.496094, 0.768066), (0.80127, 0.308105, 0.502441, 0.103394), (0.86377, 0.446777, 0.203003, 0.114624), (0.273682, 0.230347, 0.649902, 0.670898), (0.782715, 0.469238, 0.0795898, 0.401123), (0.318604, 0.569336, 0.538574, 0.533203), (0.549316, 0.433594, 0.427979, 0.571777)],
+ }
+ point3f[] positions = []
+ point3f[] positions.timeSamples = {
+ 1: [(4.1675253, -3.5916092, 1.8878177e-10), (-0.77677006, -2.7297707, 2.2821411e-11), (3.0630136, 1.158053, -5.062111e-10), (-4.2709227, 1.0144538, 6.76464e-10), (-3.044508, 4.2851124, -3.9149595e-10), (0.29896238, 0.3106549, -7.816431e-11), (0.15971519, 3.7982178, -2.486611e-10), (0.3848841, -1.6533717, -4.7115134e-10), (0.58787704, -3.3571897, -4.8183746e-10), (4.113137, 0.4235462, 2.1811025e-12), (2.3364277, 4.629844, 6.5539973e-10), (-4.4072022, -3.7855508, 1.330619e-10), (2.6305351, -3.0152974, 5.616334e-10), (-0.32800487, 5, -2.5730745e-10), (-4.423228, 2.7572892, -3.5334402e-10), (0.72067314, 0.48032182, -3.0607294e-11), (2.7783132, 4.408583, 1.7096724e-10), (0.5235561, 1.9940797, -3.4645287e-11), (-3.6079555, -1.103081, 5.0366333e-10), (-4.6905637, 4.050367, -3.9834303e-10), (4.6523604, -3.5442917, -3.576539e-11), (0.846675, 4.1522455, 2.2718716e-11), (-3.3387394, -3.095033, 1.3571666e-10), (1.3029603, 2.0271907, -2.2196633e-10), (0.7090133, -0.11374539, 2.3935076e-11), (2.9434667, 3.9371858, 2.1592372e-10), (-1.957395, -1.295166, -4.2009418e-10), (-2.5378819, 0.25532737, -1.1998125e-10), (2.7822194, -2.20158, 1.1130851e-9), (-2.1778595, 2.223699, -1.1091765e-10), (-2.9153743, -0.90093225, -5.062648e-10), (0.16372001, 1.847963, -3.4701858e-10), (0.51893455, 2.9131505, -5.751253e-10), (3.937106, 2.9227145, -3.9821257e-10), (-1.150243, -4.334717, 8.0838e-11), (4.9943843, 3.4778712, -2.6374325e-10), (-0.79614973, -1.6060177, -2.1719682e-10), (0.81279016, -0.67148095, 3.1967184e-10), (-0.60879153, 0.98583937, 2.0755242e-10), (0.14318645, -2.1115084, -3.2708414e-10), (2.209392, 2.1642263, -1.5093438e-10), (-1.9529516, -0.47410214, 1.8977656e-10), (3.9580522, -0.7834903, 1.8144286e-10), (-0.9853899, 1.7057277, 4.3770143e-10), (-2.5326447, -0.88900006, -1.297259e-10), (-1.6385394, -3.1866343, 5.938898e-10), (2.7824752, -3.7559679, -4.1263393e-10), (-1.1081235, 0.16402376, 6.280465e-11), (-4.915382, -1.1118164, 2.5618663e-10), (2.4458625, -1.4070538, 1.07071796e-10), (-3.2303452, -0.7035627, 1.7560599e-11), (-3.0455608, -2.8056617, 4.6093396e-10), (-1.2546664, -3.0451941, 2.9386753e-12), (-1.132415, -1.3642524, -9.91641e-10), (-1.578752, -3.9951396, 1.7757884e-10), (4.3221517, 2.0829816, 2.8563063e-10), (-4.2577195, -1.5047516, 2.0890678e-10), (2.8562903, 0.0697684, -4.6419318e-10), (0.65989065, 1.0402397, -5.83519e-10), (-2.5549412, -4.511527, 4.886025e-11), (-4.104018, -2.9322283, 6.651364e-10), (-5, 0.4470213, -6.3586136e-11), (-3.0484476, 0.94580436, 5.481757e-10), (3.2602262, 3.4405003, 4.494846e-11), (1.910574, -2.0677114, 8.4613094e-11), (-3.5228193, -0.23725545, 5.164156e-10), (3.7944171, -2.7523572, -8.505169e-12), (1.2122772, 3.1690722, -1.0068375e-10), (2.646268, 2.4091716, -3.2547942e-10), (4.8208714, -1.5148462, -9.012702e-11), (-1.2628251, -0.97338057, -4.0722065e-10), (-1.4086337, -3.626728, 2.299716e-11), (-2.5653627, 2.9119213, 4.2673776e-10), (-0.5645547, -0.79126203, 2.8919156e-10), (-0.49555647, -1.7958064, -3.9470693e-10), (-0.69743896, -2.3221412, 1.029151e-9), (4.4066095, 3.1025362, -4.395595e-10), (0.25015795, 0.8468384, -6.607262e-11), (-0.2631955, -1.0234504, -5.24374e-10), (3.1680245, 2.5463982, -2.9316927e-10), (-4.6506653, 5, 2.1385904e-10), (-4.6026554, 1.3711742, -3.803644e-10), (3.1056917, -5, -1.452154e-10), (-1.6525402, -2.4309952, 1.1747725e-10), (-2.1106822, -2.6816633, -1.8780535e-10), (-0.24840721, 3.6696415, -7.715939e-12), (-0.6457389, -0.46140188, 6.452725e-10), (-1.6083769, 2.8740814, -5.2706506e-11), (2.6379557, 1.0427659, -1.6744017e-10), (0.79618275, -1.4430921, -1.5842105e-10), (-3.7965436, 3.8374155, -5.1356475e-10), (1.9752188, 2.5091677, -1.8334378e-10), (-2.694076, 2.1187503, 2.9131209e-10), (-1.0504433, -0.63218683, 2.2240682e-10), (4.848428, 0.8334273, 5.306533e-11), (-2.1824472, 3.082237, 2.0563196e-10), (-4.092787, -0.65156513, -2.54052e-10), (0.89873743, 2.895908, -3.5259684e-11), (4.523795, 1.2473478, 4.021583e-10), (-1.6789103, 1.9038124, -1.1600898e-10), (-3.1786568, -0.11009467, 6.126033e-11), (-0.61424, 0.21318685, -2.199843e-11), (-0.7986419, -1.1155312, -1.7370105e-10), (-1.2320653, 0.8163628, -4.694207e-10), (1.1412246, 2.525091, 2.8175262e-10), (1.9273977, -0.9651795, -4.653389e-12), (-4.5596657, 3.6792166, 8.84502e-10), (-2.262162, 1.1849214, 1.0595946e-9), (0.113197275, 3.2924771, 5.033005e-10), (1.6290038, 3.2055206, -6.6868733e-13), (-2.446578, 0.72817385, -8.579013e-10), (-1.7607195, -3.5305445, 1.3484569e-10), (-4.7049146, -0.2480207, -2.8814773e-10), (-2.9548793, -3.2870576, 4.5571247e-10), (-1.3188102, -2.1844149, -3.3392622e-11), (-3.3425186, 4.5717764, -2.859899e-10), (1.6867588, 0.8332646, 2.8825609e-11), (-2.6924903, 2.5347557, 3.3726244e-11), (3.946361, -1.8196282, -7.871994e-10), (0.58144593, 3.8181074, -2.7513292e-10), (-4.669978, 0.2947643, -1.7384927e-10), (-3.3986003, -2.2893734, 3.5914116e-10), (-4.499845, 0.60703975, -8.3744656e-10), (2.4174178, 0.081225015, -1.5073913e-9), (1.0346074, -3.40563, 9.3220986e-11), (-0.54158366, 0.6029342, -2.8507152e-10), (2.0036492, -1.6210043, -3.9178105e-10), (2.960071, -2.7815025, -6.1356165e-10), (-5, 3.7392359, -4.581826e-10), (-5, -0.550608, -1.914735e-11), (-2.6098526, -1.6135595, 2.904329e-10), (1.4168508, -4.343722, -1.3832846e-10), (4.6505213, -0.38244194, -2.902072e-10), (-3.9158187, 2.6518154, -5.847615e-10), (-0.24592777, 2.5489948, -8.153489e-11), (4.4786706, -4.7318015, -2.3424174e-10), (3.4778402, 1.2479651, -2.5416577e-10), (4.479569, 0.18023989, 2.1389102e-10), (-3.6428192, 0.64515233, 4.3799608e-10), (-0.44626167, -0.13334084, 5.637797e-10), (1.948288, 0.43188542, 1.7217616e-10), (-4.128481, 0.5693549, -2.0470425e-10), (-2.470858, -3.5143464, 1.8178792e-11), (-0.93176347, 2.50029, 5.419746e-10), (2.2185812, -2.8784413, -3.958578e-10), (-3.729115, -0.74608845, 6.033124e-11), (1.7652824, -0.4350059, -9.106271e-11), (2.2246711, 1.2588613, -1.1706125e-10), (2.7583477, -1.7478126, -3.6256775e-11), (-4.1926446, 3.8442082, 2.3004354e-10), (-2.9509015, -2.4168572, 3.0949993e-11), (3.6367447, 2.6199365, 7.292711e-10), (1.7322685, 1.305025, 1.0413892e-10), (-3.7940397, -1.4844648, -3.6684522e-10), (-1.6755497, -2.8002093, -6.815757e-10), (0.022063928, -0.79013604, 6.9141426e-10), (-0.96260196, 0.54569656, 3.6417702e-10), (3.3072467, -0.9135537, -2.409879e-10), (1.5632646, -3.269097, -3.7551318e-10), (-5, 0.86214167, 3.7074432e-10), (-3.2492566, 0.5828752, 1.893441e-11), (-1.5079819, -0.5821401, 5.942946e-10), (4.9387374, 0.36350498, -5.921845e-10), (-3.4121163, 3.4306142, 3.7898273e-10), (0.13176313, -3.4746013, -9.2606767e-10), (0.709214, -1.9858419, -2.2859292e-10), (-1.5630611, -1.2484871, 5.8894e-12), (0.03241087, 2.2468557, -1.2611345e-10), (3.4473739, -3.0606859, -3.0719324e-10), (1.73114, -2.832135, 3.301861e-10), (2.5740058, 1.9272333, 7.863021e-11), (-3.690615, 2.2989857, 2.375925e-10), (-1.8381828, 3.895664, 4.270424e-10), (-2.5744328, -2.7397082, -9.543935e-11), (-1.8679609, 1.4551494, -2.7683145e-10), (0.9246881, -2.4324229, 8.716472e-11), (-5, 1.7239665, 1.0239676e-10), (-3.294413, 2.5873394, 7.7818374e-10), (-0.56373024, 4.6852193, -2.0167623e-10), (-3.4193523, 1.0151957, 2.3980817e-14), (3.774835, 0.018045083, 1.5734103e-9), (4.6500854, 1.7349203, 3.6385295e-10), (2.6184115, -0.86865574, 3.9107934e-10), (-0.5853549, 1.4739648, -8.727707e-10), (-0.9600792, 4.3892255, 1.6796187e-10), (-0.16215548, -0.4251888, -1.7772703e-9), (-3.6859374, 0.042075574, -7.986817e-11), (3.252489, 0.24011396, -5.819336e-10), (1.452841, -1.86128, 4.2196246e-11), (2.524199, -4.6760807, 1.5298474e-10), (-3.676933, -1.9359343, -1.9220536e-10), (-2.2507145, 3.5440943, -2.3051483e-10), (-1.666472, 0.7291404, -1.7698815e-10), (-0.4095211, -1.3724262, 8.410894e-11), (1.8316506, 0.010112802, -1.4075607e-9), (-3.5731125, 2.9705112, 1.3157275e-10), (-3.4830365, -0.5244374, -3.9729153e-10), (3.9857066, 2.358829, 6.257147e-10), (0.38376904, -0.58546525, -1.15669085e-10), (3.551004, -2.137024, 4.5147164e-11), (-4.9948573, 3.195249, 5.6238886e-10), (-1.4798408, 0.3346703, -2.5531588e-10), (4.1184993, -2.3783383, -1.8489588e-10), (4.2108655, -2.9263844, -3.0501446e-10), (-0.43327045, -3.4036884, 1.304093e-10), (0.68586004, -2.8782992, -3.3330538e-10), (3.6272566, -5, 3.8829606e-11), (3.5726898, -0.512856, -2.3164043e-10), (-1.1838006, -2.5875456, 1.7025181e-10), (1.5038911, 3.5771492, 1.02527764e-10), (-3.3943617, -1.6605926, 4.1493564e-10), (3.4036522, -2.6008737, -1.5763738e-10), (-1.8888153, 0.24652381, -1.2227497e-10), (-4.4230504, -2.281942, -2.5879276e-10), (-4.5539827, -0.6731496, 8.821395e-10), (2.3644674, -1.9923637, -1.4709183e-9), (-1.3392448, -0.1931145, 5.72289e-10), (-0.3232206, -2.122856, -1.7104984e-11), (-1.7627387, -0.8964305, 9.610184e-10), (1.243882, 0.9710438, -3.3823833e-10), (-3.161398, 1.7566656, 2.1192997e-10), (-0.8450355, -3.184997, -3.3184444e-10), (-0.16566065, 1.1299105, 3.017664e-11), (-4.4374137, 0.07002304, -2.6154612e-10), (-2.7186272, 1.7507627, -1.5626744e-10), (5.0000067, 1.3647715, -4.711458e-10), (4.267657, 0.8778892, 4.1716486e-10), (-2.0234709, 2.6134577, 4.198053e-10), (-3.8983598, 3.4113889, 4.2142973e-11), (2.7829998, 1.5261011, -4.2408355e-10), (0.08417763, -1.2939843, 2.773235e-10), (-0.5842293, 2.7548964, 1.5845547e-11), (-4.286697, -0.29913527, -6.418116e-10), (3.4782958, 2.1705437, -2.0808827e-10), (0.57245094, 3.3586466, 7.1774897e-10), (-0.1315123, 0.5949023, -3.6522263e-10), (-0.19487128, -2.5357616, -5.604486e-10), (-1.9710425, 0.951295, 6.062034e-10), (0.24660568, -0.17372707, -7.280547e-10), (2.4799428, 0.56115615, 9.2531205e-11), (-3.8800573, -2.4119542, -9.333945e-11), (-3.9655242, 1.3442367, -6.8527317e-10), (-3.5511224, 1.4308455, 7.262857e-11), (1.2700526, -0.5780408, 8.051753e-10), (4.8415575, -3.1155064, 7.2067596e-10), (-2.3618352, -0.44638133, -3.1794078e-10), (-0.91238266, -0.18301672, 5.459886e-10), (4.369418, -1.3483201, 1.6151105e-10), (2.5018234, -2.5069203, -3.9621062e-10), (-0.42027217, 2.0421312, 8.998652e-11), (-3.2605479, -1.3212926, -2.8690161e-11), (-0.9454622, -2.065709, -3.5733594e-10), (1.536966, 2.4544578, 3.3495495e-10), (4.883824, -2.22674, -1.0092427e-10), (-1.797197, -5, -1.7201462e-10), (1.3000917, 1.5308121, 8.263048e-10), (-3.899403, -0.26876053, -1.446786e-10), (-2.2178667, -0.046674963, -4.6193693e-10), (-0.06693145, -1.7092235, -2.5015268e-10), (4.5091753, -1.9070908, -1.1073156e-10), (-1.0812895, 3.8179314, 1.3855228e-10), (-2.7000394, -0.14477403, 1.9436858e-10), (-2.6446025, 4.3151407, 7.956391e-11), (-3.8441133, 0.95818967, 4.121623e-10), (3.6161313, 0.4366354, 3.1946445e-10), (1.1716098, -0.0819778, -3.285428e-10), (3.5216355, -1.5005776, -1.7791946e-10), (-2.9714615, 0.20871249, 4.0166948e-10), (2.2522943, 1.6478126, 3.479479e-10), (3.2672336, -0.23526803, -3.1158565e-10), (0.11126099, 5, -3.6870913e-11), (-1.0092968, 1.2116798, -1.7985169e-10), (-4.8990855, -2.2275937, 3.4337289e-10), (-5, 1.2735173, -1.4988777e-10), (0.2429441, 1.4088402, -4.0265236e-10), (-2.3153536, -1.9599248, -5.4260596e-11), (-4.6716723, 0.9344406, 2.0236566e-9), (3.1247122, -2.3272727, 1.7404322e-10), (2.9146314, 0.5950423, 6.689721e-10), (-3.3910863, 0.23851617, 2.9577474e-10), (-3.145431, 2.2107356, 6.4139805e-11), (4.213621, 1.5930359, 6.752958e-10), (-1.7341952, -0.12857157, -4.5965892e-10), (2.8071394, -0.41043028, -1.8660595e-10), (-5, -0.015089936, 9.6492925e-11), (-4.131485, -1.9315223, -2.824957e-10), (1.6213425, -1.310705, -6.32735e-11), (0.38640657, -2.462969, 7.3056894e-11), (-4.5681295, 1.9387041, 4.1933346e-10), (-2.536633, 1.442573, -2.1365729e-10), (0.47415087, -1.0716817, 1.9272228e-10), (-2.1571805, -0.8617872, 4.31446e-11), (-3.9786317, 1.8632076, 4.4974974e-10), (-4.028914, -1.0830251, 3.2562514e-10), (-2.814706, -1.2532787, 3.6295966e-11), (-4.8969507, 2.3129294, 1.8391066e-10), (-4.5265665, -3.3463922, 6.371266e-10), (-0.86200196, 2.1338737, 2.9713565e-10), (-0.3297721, 3.1546624, 1.351399e-10), (1.1069463, -1.098658, 1.45332635e-11), (-4.462968, -1.1023563, -2.0020419e-10), (-2.6427307, 3.7944725, 4.6198773e-10), (3.9101896, -4.545224, 7.467131e-11), (-3.3137555, -3.9082515, -3.387357e-11), (1.9118557, 2.9152627, -5.986369e-10), (-4.0575066, 4.535833, -1.7533433e-10), (-0.20143773, 1.6376506, 1.6413572e-12), (0.9244135, 1.8426661, -1.7617441e-10), (-2.2280378, -1.5943184, -1.6831114e-10), (-1.9005361, -1.7423644, -4.1035486e-10), (-4.905829, -1.7469083, -5.5190474e-10), (1.3314134, 0.40869403, 1.2411891e-10), (0.9880774, 3.4476967, -1.5112422e-10), (4.700355, 2.2989626, 7.22693e-11), (3.3222842, 0.77934504, 4.0610248e-10), (4.8704863, 3.0527518, 4.8415494e-11), (-1.798823, 3.3188813, -1.4228485e-10), (1.3456954, -3.8684566, 1.4104995e-10), (-2.7142322, -2.0297315, -6.8817346e-10), (4.085998, -0.31188405, 6.022716e-11), (-4.0984755, 0.12988648, 1.0303536e-10), (-2.3803995, -1.2397659, 5.7369615e-10), (-2.6873393, 1.0582669, -2.3692115e-10), (-2.457962, -2.367663, -2.2199359e-10), (-2.7202566, -0.56821924, -2.885402e-10), (3.187807, -1.8262169, -3.236318e-10), (-4.227845, 2.2929158, -8.09563e-11), (1.8029767, 1.7459276, -1.8184101e-10), (2.5509155, 3.7742693, 8.262704e-10), (-2.118374, -3.1332965, 2.1438769e-10), (1.2195741, -2.811712, -1.5650742e-10), (5, 1.9641619, -3.8924075e-10), (3.2981553, 1.6917144, 1.7292147e-11), (-5, 2.74453, 1.4417703e-9), (2.9969578, 2.0579696, 4.8557414e-10), (5, -2.676641, 2.2275715e-10), (-0.8487135, -5, -3.9103e-10), (2.8189175, -4.220725, -4.1256137e-10), (-2.0301058, -2.2340462, 1.4299784e-11), (0.82970876, 2.335265, 5.2331844e-10), (3.5506625, -3.5851626, -2.7752267e-10), (-1.1782604, -1.7708973, -5.9162564e-11), (0.75930357, 1.4551351, 9.0935676e-11), (5, -0.5849647, 2.5652824e-10), (-2.7767892, 3.3279035, -3.121149e-10), (2.553529, -3.398255, 1.6179666e-9), (4.570615, -4.238119, -2.9701042e-10), (2.9608986, -1.3160512, 3.2668024e-10), (-0.17514324, -3.8522344, -3.744867e-10), (-0.101953454, -3.1570415, -1.4764567e-10), (1.5234842, -2.339492, 1.300513e-10), (1.4296964, 2.8341029, -2.7485267e-10), (1.7561272, 4.380782, -2.0775603e-11), (-1.0723313, -3.5287337, -8.366963e-11), (2.0345762, -2.4679933, 9.218598e-11), (0.44816208, -3.8131561, 4.3474957e-10), (5, -1.0629107, 6.50085e-11), (1.7431802, 2.118988, 6.611749e-11), (0.41237405, 2.4843163, 1.0769144e-10), (-1.4916087, 3.649345, 1.08516085e-10), (-3.2675304, -5, -1.07972464e-10), (-3.1154294, -1.9979396, 4.371361e-10), (-3.2618809, -0.9995285, -1.2217425e-9), (-4.064263, 3.0541208, 2.207268e-9), (-0.76241994, 3.3172708, -2.783666e-10), (2.264951, -0.53433055, -7.1817263e-10), (-4.2876244, 1.5827179, 1.2875856e-10), (-1.5162756, -1.6229932, -1.1545476e-10), (3.819378, 1.8628191, 6.6089745e-10), (-0.47550598, -4.685087, -8.4222296e-10), (0.38981855, 4.325682, -3.596834e-10), (4.033512, 3.3525832, -1.2011209e-10), (-2.9884648, -1.6262447, -3.516476e-10), (5, 2.545349, 3.3679157e-10), (-0.6844387, 3.7916281, 3.2684944e-10), (-1.2584084, 3.2883441, 2.5749625e-10), (-0.6207092, -4.190244, 7.679616e-10), (-3.8071156, 0.3579687, -3.363585e-10), (-3.0379834, -0.42113027, -3.0536662e-10), (-3.55517, -2.725853, -8.8365204e-11), (-0.41772524, -2.9186316, -2.0198425e-10), (2.0157034, 3.3970492, -1.6054358e-10), (-3.362275, -3.5135303, -3.411884e-10), (3.8745968, 1.3536968, -2.363847e-10), (2.0778723, -3.3140366, 3.2400926e-10), (-3.7713258, 4.2832685, -4.0342174e-10), (-2.207372, 1.7748765, 5.0995785e-10), (-1.059728, 2.9054053, -2.284839e-12), (2.1082826, 3.814939, -1.5417445e-10), (-1.3871241, 2.4274974, 4.8894033e-10), (-2.5897105, -3.113439, 5.0472404e-10), (-1.3937116, 4.1820855, -8.207521e-11), (-0.12012148, 0.116398565, 9.090795e-11), (3.0715902, -3.3359728, 7.775036e-11), (0.20186128, -2.8999722, 6.220602e-11), (2.4276628, 3.2362323, 4.838141e-10), (-2.836889, 0.59232175, 1.2008572e-10), (-2.1066372, -3.644615, 3.954148e-11), (1.3069409, 4.7210383, -1.88082e-10), (-2.1458519, 0.49736223, 2.687487e-10), (-2.907369, -3.6973875, 1.8762536e-10), (-3.7388258, -3.2174716, 2.5005364e-10), (-3.0451977, 1.3632972, -3.8180925e-10), (0.08879909, 2.8419917, -3.0813885e-10), (2.857374, 3.375093, -2.6875568e-10), (-0.93909204, -4.634145, -1.4940127e-10), (-1.4806738, 1.2547113, 1.5688673e-10), (2.3027687, -3.7901351, 2.2342941e-10), (2.3590229, 2.773762, 2.8294256e-11), (-5, 4.796005, -3.0189684e-10), (-0.6838821, -3.7407565, -2.6588598e-10), (-3.4131536, 3.9990466, 1.6993451e-10), (-4.0902896, -3.4784431, -7.8103923e-10), (2.189017, -4.292632, 2.459437e-10), (3.725775, 3.5665636, -2.093048e-11), (3.2196527, -4.553553, 2.3145708e-11), (-4.477837, 3.2683213, -1.8666335e-10), (-2.9154353, -5, -1.3481238e-10), (-1.1201291, -3.980856, -1.6212498e-10), (-1.8532491, 4.49132, -7.536427e-10), (-0.019274898, 4.402428, 6.823786e-11), (3.4255326, 3.0426486, 9.779955e-13), (-1.6580068, -2.0154974, -5.8754424e-10), (2.8737144, 2.8982449, -7.054779e-11), (4.8865533, -5, 8.0799367e-10), (2.2563875, 4.2285457, -3.0432634e-10), (-3.1511402, 5, -1.8390833e-10), (4.502919, 3.5967453, -2.353917e-11), (-1.3529135, -5, -2.586652e-10), (4.1059256, -5, -7.4250944e-10), (-3.4545324, -4.630971, 5.0950744e-11), (3.3715467, 3.8758721, -9.58888e-11), (-4.186334, 4.998253, -8.546652e-11), (-0.008456694, -4.292852, 1.381788e-10), (-2.6662195, 4.8866997, 2.1445146e-10), (1.7443, 4.867959, 6.850523e-10), (-2.5629616, -5, 4.3735127e-11), (-4.4644732, 4.409126, -1.189171e-10), (-2.2383602, 4.099241, 7.980372e-11), (4.0010877, -4.073402, -2.1944446e-10), (-3.0842934, 2.9832387, -6.3172056e-10), (4.998435, -4.5332837, 1.6574297e-11), (3.7061675, 4.5341334, -1.9908752e-10), (4.4032564, 2.6492193, 6.324852e-11), (-1.4511706, -4.6499553, 8.8670316e-10), (3.5392828, -4.176752, -5.6409766e-11), (3.1908858, -3.8959794, -2.6691538e-10), (-5, 4.277841, -1.0682233e-10), (0.5306742, 5, -5.6900595e-12), (-3.6721714, 4.9100623, 1.908379e-10), (-1.6903167, -4.38274, 2.879217e-10), (0.41369775, -4.8664417, -2.4977065e-10), (-3.0709054, 3.7221785, 3.6129694e-10), (-2.0758035, -4.5756283, -5.914702e-11), (0.6532308, -4.438715, 2.01694e-10), (-3.5470111, 1.8948942, -5.687515e-10), (-3.4202065, -4.2795305, 3.3172975e-10), (0.9752473, 5, 4.1800785e-11), (-2.5791836, -3.9594297, 1.8880075e-10), (0.7880247, 4.5685573, 1.4404278e-10), (-2.2214625, 4.7484856, -2.1280522e-10), (4.3660884, 4.619149, 2.0574542e-10), (2.1912475, 5, 5.1791327e-10), (-2.9972596, -4.5849476, 1.7362096e-10), (1.0886613, 3.811087, 8.717802e-10), (-1.1933123, 4.861399, 1.3682977e-10), (-0.42837754, 4.1591473, 2.8739566e-10), (1.6652398, 3.9359057, -4.2923604e-10), (-2.2820668, -4.1633086, -8.327674e-10), (-3.6394649, -5, 4.5053516e-11), (2.1491492, 0.86050814, 1.00262354e-10), (2.670796, 5, -5.58809e-10), (1.2821605, 4.228902, 1.643341e-10), (-1.9561995, -4.034129, -7.0812495e-11), (-2.9599385, -4.174161, -1.4139434e-10), (-2.1948626, -5, -1.6463753e-10), (-5, -3.6549814, 2.2073587e-10), (3.2639298, 4.3699784, -4.689006e-10), (3.8020253, 0.85929537, -2.045426e-10), (-3.9140928, -4.5564733, -3.3848724e-10), (-3.7698152, -4.157495, 1.1381629e-10), (-4.0540133, -5, -8.2565954e-11), (-4.3159823, -4.679113, -2.3251623e-10), (4.409635, 4.2339067, 5.5328242e-11), (-5, -4.8670497, -8.1640894e-10), (-3.7468703, -3.736479, -2.3602897e-10), (3.1333697, 4.880706, -2.9293257e-10), (3.7837605, 4.080415, 4.5165138e-10), (5, 4.808447, 1.10331744e-10), (-4.729345, -4.5553637, 7.5211415e-10), (5, 4.348623, 4.741295e-10), (4.1942563, 3.884944, 4.484444e-10), (-4.404907, -4.289323, -2.3026026e-10), (4.0351343, 4.998, 8.74085e-11), (-4.7484217, -3.9822292, 5.6658145e-10), (4.558625, 5, 3.8799342e-10), (-4.1044354, -4.052985, -2.969694e-11), (-5, -4.2716846, -1.7024104e-10), (-4.5294714, -5, -1.7115653e-10), (5, 3.913188, -1.479089e-11)],
+ 2: [(4.1675253, -3.5916092, -0.009363988), (-0.77677006, -2.7297707, -0.009363988), (3.0630136, 1.158053, -0.009363988), (-4.2709227, 1.0144538, -0.009363988), (-3.044508, 4.2851124, -0.009363988), (0.29896238, 0.3106549, -0.009363989), (0.15971519, 3.7982178, -0.009363989), (0.3848841, -1.6533717, -0.009363989), (0.58787704, -3.3571897, -0.009363989), (4.113137, 0.4235462, -0.009363988), (2.3364277, 4.629844, -0.009363988), (-4.4072022, -3.7855508, -0.009363988), (2.6305351, -3.0152974, -0.009363988), (-0.32800487, 5, -0.009363989), (-4.423228, 2.7572892, -0.009363989), (0.72067314, 0.48032182, -0.009363988), (2.7783132, 4.408583, -0.009363988), (0.5235561, 1.9940797, -0.009363989), (-3.6079555, -1.103081, -0.009363989), (-4.6905637, 4.050367, -0.00936399), (4.6523604, -3.5442917, -0.009363989), (0.846675, 4.1522455, -0.009363988), (-3.3387394, -3.095033, -0.009363988), (1.3029603, 2.0271907, -0.0093639875), (0.7090133, -0.11374539, -0.009363989), (2.9434667, 3.9371858, -0.009363989), (-1.957395, -1.295166, -0.009363988), (-2.5378819, 0.25532737, -0.009363989), (2.7822194, -2.20158, -0.009363988), (-2.1778595, 2.223699, -0.009363988), (-2.9153743, -0.90093225, -0.00936399), (0.16372001, 1.847963, -0.009363989), (0.51893455, 2.9131505, -0.009363989), (3.937106, 2.9227145, -0.009363988), (-1.150243, -4.334717, -0.009363988), (4.9943843, 3.4778712, -0.00936399), (-0.79614973, -1.6060177, -0.009363988), (0.81279016, -0.67148095, -0.00936399), (-0.60879153, 0.98583937, -0.009363988), (0.14318645, -2.1115084, -0.009363989), (2.209392, 2.1642263, -0.009363989), (-1.9529516, -0.47410214, -0.009363988), (3.9580522, -0.7834903, -0.009363988), (-0.9853899, 1.7057277, -0.009363988), (-2.5326447, -0.88900006, -0.009363989), (-1.6385394, -3.1866343, -0.009363988), (2.7824752, -3.7559679, -0.009363989), (-1.1081235, 0.16402376, -0.009363989), (-4.915382, -1.1118164, -0.009363988), (2.4458625, -1.4070538, -0.009363988), (-3.2303452, -0.7035627, -0.009363989), (-3.0455608, -2.8056617, -0.009363988), (-1.2546664, -3.0451941, -0.009363989), (-1.132415, -1.3642524, -0.00936399), (-1.578752, -3.9951396, -0.009363989), (4.3221517, 2.0829816, -0.009363988), (-4.2577195, -1.5047516, -0.0093639875), (2.8562903, 0.0697684, -0.009363989), (0.65989065, 1.0402397, -0.00936399), (-2.5549412, -4.511527, -0.009363989), (-4.104018, -2.9322283, -0.009363988), (-5, 0.4470213, -0.009363989), (-3.0484476, 0.94580436, -0.009363988), (3.2602262, 3.4405003, -0.009363989), (1.910574, -2.0677114, -0.009363989), (-3.5228193, -0.23725545, -0.009363988), (3.7944171, -2.7523572, -0.009363989), (1.2122772, 3.1690722, -0.009363988), (2.646268, 2.4091716, -0.009363988), (4.8208714, -1.5148462, -0.009363989), (-1.2628251, -0.97338057, -0.009363989), (-1.4086337, -3.626728, -0.009363989), (-2.5653627, 2.9119213, -0.009363988), (-0.5645547, -0.79126203, -0.009363989), (-0.49555647, -1.7958064, -0.00936399), (-0.69743896, -2.3221412, -0.0093639875), (4.4066095, 3.1025362, -0.00936399), (0.25015795, 0.8468384, -0.009363988), (-0.2631955, -1.0234504, -0.009363989), (3.1680245, 2.5463982, -0.009363988), (-4.6506653, 5, -0.009363988), (-4.6026554, 1.3711742, -0.009363988), (3.1056917, -5, -0.009363988), (-1.6525402, -2.4309952, -0.009363989), (-2.1106822, -2.6816633, -0.009363989), (-0.24840721, 3.6696415, -0.009363989), (-0.6457389, -0.46140188, -0.009363988), (-1.6083769, 2.8740814, -0.009363989), (2.6379557, 1.0427659, -0.009363989), (0.79618275, -1.4430921, -0.009363989), (-3.7965436, 3.8374155, -0.009363988), (1.9752188, 2.5091677, -0.009363989), (-2.694076, 2.1187503, -0.0093639875), (-1.0504433, -0.63218683, -0.009363988), (4.848428, 0.8334273, -0.009363988), (-2.1824472, 3.082237, -0.009363988), (-4.092787, -0.65156513, -0.009363989), (0.89873743, 2.895908, -0.009363989), (4.523795, 1.2473478, -0.009363988), (-1.6789103, 1.9038124, -0.009363988), (-3.1786568, -0.11009467, -0.009363989), (-0.61424, 0.21318685, -0.009363988), (-0.7986419, -1.1155312, -0.009363989), (-1.2320653, 0.8163628, -0.00936399), (1.1412246, 2.525091, -0.009363988), (1.9273977, -0.9651795, -0.009363988), (-4.5596657, 3.6792166, -0.0093639875), (-2.262162, 1.1849214, -0.0093639875), (0.113197275, 3.2924771, -0.0093639875), (1.6290038, 3.2055206, -0.009363988), (-2.446578, 0.72817385, -0.009363988), (-1.7607195, -3.5305445, -0.009363988), (-4.7049146, -0.2480207, -0.009363989), (-2.9548793, -3.2870576, -0.009363989), (-1.3188102, -2.1844149, -0.009363989), (-3.3425186, 4.5717764, -0.009363989), (1.6867588, 0.8332646, -0.009363989), (-2.6924903, 2.5347557, -0.009363988), (3.946361, -1.8196282, -0.009363989), (0.58144593, 3.8181074, -0.00936399), (-4.669978, 0.2947643, -0.009363988), (-3.3986003, -2.2893734, -0.009363988), (-4.499845, 0.60703975, -0.009363989), (2.4174178, 0.081225015, -0.00936399), (1.0346074, -3.40563, -0.009363989), (-0.54158366, 0.6029342, -0.009363989), (2.0036492, -1.6210043, -0.009363988), (2.960071, -2.7815025, -0.009363989), (-5, 3.7392359, -0.009363988), (-5, -0.550608, -0.009363988), (-2.6098526, -1.6135595, -0.0093639875), (1.4168508, -4.343722, -0.009363988), (4.6505213, -0.38244194, -0.009363989), (-3.9158187, 2.6518154, -0.009363988), (-0.24592777, 2.5489948, -0.009363989), (4.4786706, -4.7318015, -0.009363989), (3.4778402, 1.2479651, -0.009363989), (4.479569, 0.18023989, -0.009363989), (-3.6428192, 0.64515233, -0.009363989), (-0.44626167, -0.13334084, -0.0093639875), (1.948288, 0.43188542, -0.009363988), (-4.128481, 0.5693549, -0.009363989), (-2.470858, -3.5143464, -0.009363988), (-0.93176347, 2.50029, -0.009363988), (2.2185812, -2.8784413, -0.009363988), (-3.729115, -0.74608845, -0.009363988), (1.7652824, -0.4350059, -0.009363989), (2.2246711, 1.2588613, -0.009363989), (2.7583477, -1.7478126, -0.009363988), (-4.1926446, 3.8442082, -0.009363989), (-2.9509015, -2.4168572, -0.009363988), (3.6367447, 2.6199365, -0.009363988), (1.7322685, 1.305025, -0.009363989), (-3.7940397, -1.4844648, -0.009363988), (-1.6755497, -2.8002093, -0.00936399), (0.022063928, -0.79013604, -0.0093639875), (-0.96260196, 0.54569656, -0.009363988), (3.3072467, -0.9135537, -0.009363988), (1.5632646, -3.269097, -0.009363989), (-5, 0.86214167, -0.009363988), (-3.2492566, 0.5828752, -0.009363989), (-1.5079819, -0.5821401, -0.009363988), (4.9387374, 0.36350498, -0.00936399), (-3.4121163, 3.4306142, -0.009363988), (0.13176313, -3.4746013, -0.00936399), (0.709214, -1.9858419, -0.009363989), (-1.5630611, -1.2484871, -0.009363989), (0.03241087, 2.2468557, -0.009363988), (3.4473739, -3.0606859, -0.009363988), (1.73114, -2.832135, -0.009363988), (2.5740058, 1.9272333, -0.009363988), (-3.690615, 2.2989857, -0.009363989), (-1.8381828, 3.895664, -0.009363989), (-2.5744328, -2.7397082, -0.009363989), (-1.8679609, 1.4551494, -0.009363989), (0.9246881, -2.4324229, -0.009363989), (-5, 1.7239665, -0.009363989), (-3.294413, 2.5873394, -0.009363988), (-0.56373024, 4.6852193, -0.009363989), (-3.4193523, 1.0151957, -0.009363988), (3.774835, 0.018045083, -0.0093639875), (4.6500854, 1.7349203, -0.009363989), (2.6184115, -0.86865574, -0.009363989), (-0.5853549, 1.4739648, -0.00936399), (-0.9600792, 4.3892255, -0.009363988), (-0.16215548, -0.4251888, -0.009363991), (-3.6859374, 0.042075574, -0.009363989), (3.252489, 0.24011396, -0.009363989), (1.452841, -1.86128, -0.009363988), (2.524199, -4.6760807, -0.009363988), (-3.676933, -1.9359343, -0.009363988), (-2.2507145, 3.5440943, -0.009363989), (-1.666472, 0.7291404, -0.009363988), (-0.4095211, -1.3724262, -0.009363989), (1.8316506, 0.010112802, -0.00936399), (-3.5731125, 2.9705112, -0.009363989), (-3.4830365, -0.5244374, -0.009363988), (3.9857066, 2.358829, -0.009363989), (0.38376904, -0.58546525, -0.009363989), (3.551004, -2.137024, -0.009363988), (-4.9948573, 3.195249, -0.009363989), (-1.4798408, 0.3346703, -0.009363989), (4.1184993, -2.3783383, -0.009363989), (4.2108655, -2.9263844, -0.009363988), (-0.43327045, -3.4036884, -0.009363988), (0.68586004, -2.8782992, -0.009363989), (3.6272566, -5, -0.009363989), (3.5726898, -0.512856, -0.009363989), (-1.1838006, -2.5875456, -0.009363988), (1.5038911, 3.5771492, -0.009363989), (-3.3943617, -1.6605926, -0.009363988), (3.4036522, -2.6008737, -0.009363988), (-1.8888153, 0.24652381, -0.009363989), (-4.4230504, -2.281942, -0.009363989), (-4.5539827, -0.6731496, -0.009363988), (2.3644674, -1.9923637, -0.00936399), (-1.3392448, -0.1931145, -0.0093639875), (-0.3232206, -2.122856, -0.009363989), (-1.7627387, -0.8964305, -0.0093639875), (1.243882, 0.9710438, -0.009363989), (-3.161398, 1.7566656, -0.009363989), (-0.8450355, -3.184997, -0.009363989), (-0.16566065, 1.1299105, -0.009363989), (-4.4374137, 0.07002304, -0.009363989), (-2.7186272, 1.7507627, -0.009363989), (5.0000067, 1.3647715, -0.009363989), (4.267657, 0.8778892, -0.0093639875), (-2.0234709, 2.6134577, -0.009363988), (-3.8983598, 3.4113889, -0.009363988), (2.7829998, 1.5261011, -0.009363988), (0.08417763, -1.2939843, -0.009363988), (-0.5842293, 2.7548964, -0.009363989), (-4.286697, -0.29913527, -0.00936399), (3.4782958, 2.1705437, -0.009363989), (0.57245094, 3.3586466, -0.0093639875), (-0.1315123, 0.5949023, -0.009363988), (-0.19487128, -2.5357616, -0.00936399), (-1.9710425, 0.951295, -0.0093639875), (0.24660568, -0.17372707, -0.009363988), (2.4799428, 0.56115615, -0.009363988), (-3.8800573, -2.4119542, -0.009363989), (-3.9655242, 1.3442367, -0.009363988), (-3.5511224, 1.4308455, -0.009363989), (1.2700526, -0.5780408, -0.009363989), (4.8415575, -3.1155064, -0.009363989), (-2.3618352, -0.44638133, -0.009363989), (-0.91238266, -0.18301672, -0.0093639875), (4.369418, -1.3483201, -0.0093639875), (2.5018234, -2.5069203, -0.009363988), (-0.42027217, 2.0421312, -0.009363988), (-3.2605479, -1.3212926, -0.009363988), (-0.9454622, -2.065709, -0.009363988), (1.536966, 2.4544578, -0.009363988), (4.883824, -2.22674, -0.009363991), (-1.797197, -5, -0.009363988), (1.3000917, 1.5308121, -0.0093639875), (-3.899403, -0.26876053, -0.009363989), (-2.2178667, -0.046674963, -0.00936399), (-0.06693145, -1.7092235, -0.009363989), (4.5091753, -1.9070908, -0.009363988), (-1.0812895, 3.8179314, -0.009363989), (-2.7000394, -0.14477403, -0.009363989), (-2.6446025, 4.3151407, -0.009363988), (-3.8441133, 0.95818967, -0.009363989), (3.6161313, 0.4366354, -0.009363988), (1.1716098, -0.0819778, -0.009363988), (3.5216355, -1.5005776, -0.009363989), (-2.9714615, 0.20871249, -0.009363988), (2.2522943, 1.6478126, -0.009363988), (3.2672336, -0.23526803, -0.009363988), (0.11126099, 5, -0.009363988), (-1.0092968, 1.2116798, -0.00936399), (-4.8990855, -2.2275937, -0.009363989), (-5, 1.2735173, -0.009363989), (0.2429441, 1.4088402, -0.009363988), (-2.3153536, -1.9599248, -0.009363989), (-4.6716723, 0.9344406, -0.009363987), (3.1247122, -2.3272727, -0.009363988), (2.9146314, 0.5950423, -0.009363988), (-3.3910863, 0.23851617, -0.009363988), (-3.145431, 2.2107356, -0.00936399), (4.213621, 1.5930359, -0.0093639875), (-1.7341952, -0.12857157, -0.00936399), (2.8071394, -0.41043028, -0.00936399), (-5, -0.015089936, -0.009363989), (-4.131485, -1.9315223, -0.009363989), (1.6213425, -1.310705, -0.009363989), (0.38640657, -2.462969, -0.009363989), (-4.5681295, 1.9387041, -0.009363988), (-2.536633, 1.442573, -0.009363989), (0.47415087, -1.0716817, -0.009363988), (-2.1571805, -0.8617872, -0.009363988), (-3.9786317, 1.8632076, -0.009363988), (-4.028914, -1.0830251, -0.009363988), (-2.814706, -1.2532787, -0.009363989), (-4.8969507, 2.3129294, -0.009363988), (-4.5265665, -3.3463922, -0.009363988), (-0.86200196, 2.1338737, -0.009363989), (-0.3297721, 3.1546624, -0.009363988), (1.1069463, -1.098658, -0.009363988), (-4.462968, -1.1023563, -0.009363988), (-2.6427307, 3.7944725, -0.009363988), (3.9101896, -4.545224, -0.009363988), (-3.3137555, -3.9082515, -0.009363989), (1.9118557, 2.9152627, -0.009363989), (-4.0575066, 4.535833, -0.009363989), (-0.20143773, 1.6376506, -0.009363988), (0.9244135, 1.8426661, -0.009363989), (-2.2280378, -1.5943184, -0.009363989), (-1.9005361, -1.7423644, -0.00936399), (-4.905829, -1.7469083, -0.009363989), (1.3314134, 0.40869403, -0.009363988), (0.9880774, 3.4476967, -0.009363988), (4.700355, 2.2989626, -0.009363989), (3.3222842, 0.77934504, -0.009363988), (4.8704863, 3.0527518, -0.009363989), (-1.798823, 3.3188813, -0.009363988), (1.3456954, -3.8684566, -0.009363989), (-2.7142322, -2.0297315, -0.009363988), (4.085998, -0.31188405, -0.009363988), (-4.0984755, 0.12988648, -0.009363988), (-2.3803995, -1.2397659, -0.009363988), (-2.6873393, 1.0582669, -0.00936399), (-2.457962, -2.367663, -0.009363989), (-2.7202566, -0.56821924, -0.009363988), (3.187807, -1.8262169, -0.009363988), (-4.227845, 2.2929158, -0.009363988), (1.8029767, 1.7459276, -0.009363988), (2.5509155, 3.7742693, -0.009363988), (-2.118374, -3.1332965, -0.009363989), (1.2195741, -2.811712, -0.009363988), (5, 1.9641619, -0.00936399), (3.2981553, 1.6917144, -0.009363988), (-5, 2.74453, -0.009363988), (2.9969578, 2.0579696, -0.009363989), (5, -2.676641, -0.009363988), (-0.8487135, -5, -0.009363989), (2.8189175, -4.220725, -0.009363989), (-2.0301058, -2.2340462, -0.009363989), (0.82970876, 2.335265, -0.0093639875), (3.5506625, -3.5851626, -0.009363989), (-1.1782604, -1.7708973, -0.009363989), (0.75930357, 1.4551351, -0.009363988), (5, -0.5849647, -0.009363989), (-2.7767892, 3.3279035, -0.009363989), (2.553529, -3.398255, -0.009363987), (4.570615, -4.238119, -0.009363988), (2.9608986, -1.3160512, -0.009363989), (-0.17514324, -3.8522344, -0.009363989), (-0.101953454, -3.1570415, -0.009363988), (1.5234842, -2.339492, -0.009363988), (1.4296964, 2.8341029, -0.009363989), (1.7561272, 4.380782, -0.009363988), (-1.0723313, -3.5287337, -0.009363988), (2.0345762, -2.4679933, -0.0093639875), (0.44816208, -3.8131561, -0.009363988), (5, -1.0629107, -0.009363988), (1.7431802, 2.118988, -0.009363988), (0.41237405, 2.4843163, -0.009363989), (-1.4916087, 3.649345, -0.009363988), (-3.2675304, -5, -0.009363989), (-3.1154294, -1.9979396, -0.009363988), (-3.2618809, -0.9995285, -0.009363989), (-4.064263, 3.0541208, -0.009363987), (-0.76241994, 3.3172708, -0.009363989), (2.264951, -0.53433055, -0.00936399), (-4.2876244, 1.5827179, -0.009363989), (-1.5162756, -1.6229932, -0.009363989), (3.819378, 1.8628191, -0.009363989), (-0.47550598, -4.685087, -0.00936399), (0.38981855, 4.325682, -0.009363989), (4.033512, 3.3525832, -0.009363989), (-2.9884648, -1.6262447, -0.009363988), (5, 2.545349, -0.0093639875), (-0.6844387, 3.7916281, -0.009363989), (-1.2584084, 3.2883441, -0.009363989), (-0.6207092, -4.190244, -0.0093639875), (-3.8071156, 0.3579687, -0.009363989), (-3.0379834, -0.42113027, -0.009363989), (-3.55517, -2.725853, -0.009363989), (-0.41772524, -2.9186316, -0.009363988), (2.0157034, 3.3970492, -0.009363989), (-3.362275, -3.5135303, -0.009363989), (3.8745968, 1.3536968, -0.009363989), (2.0778723, -3.3140366, -0.009363989), (-3.7713258, 4.2832685, -0.009363988), (-2.207372, 1.7748765, -0.009363988), (-1.059728, 2.9054053, -0.009363988), (2.1082826, 3.814939, -0.009363989), (-1.3871241, 2.4274974, -0.009363987), (-2.5897105, -3.113439, -0.009363989), (-1.3937116, 4.1820855, -0.009363989), (-0.12012148, 0.116398565, -0.009363989), (3.0715902, -3.3359728, -0.009363988), (0.20186128, -2.8999722, -0.009363989), (2.4276628, 3.2362323, -0.009363988), (-2.836889, 0.59232175, -0.009363988), (-2.1066372, -3.644615, -0.009363988), (1.3069409, 4.7210383, -0.009363988), (-2.1458519, 0.49736223, -0.009363989), (-2.907369, -3.6973875, -0.009363989), (-3.7388258, -3.2174716, -0.009363989), (-3.0451977, 1.3632972, -0.009363988), (0.08879909, 2.8419917, -0.009363989), (2.857374, 3.375093, -0.00936399), (-0.93909204, -4.634145, -0.009363988), (-1.4806738, 1.2547113, -0.009363988), (2.3027687, -3.7901351, -0.009363988), (2.3590229, 2.773762, -0.009363989), (-5, 4.796005, -0.009363989), (-0.6838821, -3.7407565, -0.009363989), (-3.4131536, 3.9990466, -0.009363988), (-4.0902896, -3.4784431, -0.009363989), (2.189017, -4.292632, -0.009363988), (3.725775, 3.5665636, -0.009363988), (3.2196527, -4.553553, -0.0093639875), (-4.477837, 3.2683213, -0.009363988), (-2.9154353, -5, -0.009363988), (-1.1201291, -3.980856, -0.009363989), (-1.8532491, 4.49132, -0.00936399), (-0.019274898, 4.402428, -0.009363989), (3.4255326, 3.0426486, -0.009363989), (-1.6580068, -2.0154974, -0.009363989), (2.8737144, 2.8982449, -0.009363988), (4.8865533, -5, -0.0093639875), (2.2563875, 4.2285457, -0.009363989), (-3.1511402, 5, -0.009363989), (4.502919, 3.5967453, -0.0093639875), (-1.3529135, -5, -0.009363989), (4.1059256, -5, -0.009363989), (-3.4545324, -4.630971, -0.009363989), (3.3715467, 3.8758721, -0.009363989), (-4.186334, 4.998253, -0.009363989), (-0.008456694, -4.292852, -0.009363988), (-2.6662195, 4.8866997, -0.009363988), (1.7443, 4.867959, -0.009363988), (-2.5629616, -5, -0.009363988), (-4.4644732, 4.409126, -0.009363988), (-2.2383602, 4.099241, -0.009363988), (4.0010877, -4.073402, -0.009363988), (-3.0842934, 2.9832387, -0.009363989), (4.998435, -4.5332837, -0.009363989), (3.7061675, 4.5341334, -0.009363989), (4.4032564, 2.6492193, -0.009363989), (-1.4511706, -4.6499553, -0.0093639875), (3.5392828, -4.176752, -0.009363989), (3.1908858, -3.8959794, -0.009363989), (-5, 4.277841, -0.009363988), (0.5306742, 5, -0.009363989), (-3.6721714, 4.9100623, -0.009363989), (-1.6903167, -4.38274, -0.0093639875), (0.41369775, -4.8664417, -0.009363989), (-3.0709054, 3.7221785, -0.009363988), (-2.0758035, -4.5756283, -0.009363989), (0.6532308, -4.438715, -0.009363988), (-3.5470111, 1.8948942, -0.009363989), (-3.4202065, -4.2795305, -0.009363988), (0.9752473, 5, -0.009363988), (-2.5791836, -3.9594297, -0.009363988), (0.7880247, 4.5685573, -0.009363988), (-2.2214625, 4.7484856, -0.009363988), (4.3660884, 4.619149, -0.009363989), (2.1912475, 5, -0.009363988), (-2.9972596, -4.5849476, -0.009363989), (1.0886613, 3.811087, -0.0093639875), (-1.1933123, 4.861399, -0.009363989), (-0.42837754, 4.1591473, -0.009363988), (1.6652398, 3.9359057, -0.00936399), (-2.2820668, -4.1633086, -0.009363989), (-3.6394649, -5, -0.009363989), (2.1491492, 0.86050814, -0.009363989), (2.670796, 5, -0.009363989), (1.2821605, 4.228902, -0.009363988), (-1.9561995, -4.034129, -0.009363988), (-2.9599385, -4.174161, -0.009363989), (-2.1948626, -5, -0.009363988), (-5, -3.6549814, -0.009363988), (3.2639298, 4.3699784, -0.00936399), (3.8020253, 0.85929537, -0.009363988), (-3.9140928, -4.5564733, -0.009363989), (-3.7698152, -4.157495, -0.009363989), (-4.0540133, -5, -0.009363989), (-4.3159823, -4.679113, -0.009363988), (4.409635, 4.2339067, -0.009363988), (-5, -4.8670497, -0.00936399), (-3.7468703, -3.736479, -0.009363989), (3.1333697, 4.880706, -0.009363989), (3.7837605, 4.080415, -0.009363988), (5, 4.808447, -0.009363988), (-4.729345, -4.5553637, -0.009363988), (5, 4.348623, -0.009363988), (4.1942563, 3.884944, -0.009363988), (-4.404907, -4.289323, -0.009363988), (4.0351343, 4.998, -0.009363989), (-4.7484217, -3.9822292, -0.0093639875), (4.558625, 5, -0.009363988), (-4.1044354, -4.052985, -0.009363989), (-5, -4.2716846, -0.009363988), (-4.5294714, -5, -0.009363988), (5, 3.913188, -0.009363988)],
+ 3: [(4.1675253, -3.5916092, -0.03575341), (-0.77677006, -2.7297707, -0.03575341), (3.0630136, 1.158053, -0.03575341), (-4.2709227, 1.0144538, -0.035753414), (-3.044508, 4.2851124, -0.03575341), (0.29896238, 0.3106549, -0.035753414), (0.15971519, 3.7982178, -0.03575341), (0.3848841, -1.6533717, -0.035753414), (0.58787704, -3.3571897, -0.03575341), (4.113137, 0.4235462, -0.03575341), (2.3364277, 4.629844, -0.035753414), (-4.4072022, -3.7855508, -0.03575341), (2.6305351, -3.0152974, -0.035753414), (-0.32800487, 5, -0.035753414), (-4.423228, 2.7572892, -0.035753414), (0.72067314, 0.48032182, -0.03575341), (2.7783132, 4.408583, -0.03575341), (0.5235561, 1.9940797, -0.035753414), (-3.6079555, -1.103081, -0.035753414), (-4.6905637, 4.050367, -0.035753414), (4.6523604, -3.5442917, -0.035753414), (0.846675, 4.1522455, -0.03575341), (-3.3387394, -3.095033, -0.03575341), (1.3029603, 2.0271907, -0.03575341), (0.7090133, -0.11374539, -0.035753414), (2.9434667, 3.9371858, -0.035753414), (-1.957395, -1.295166, -0.03575341), (-2.5378819, 0.25532737, -0.035753414), (2.7822194, -2.20158, -0.035753414), (-2.1778595, 2.223699, -0.03575341), (-2.9153743, -0.90093225, -0.035753414), (0.16372001, 1.847963, -0.035753414), (0.51893455, 2.9131505, -0.035753414), (3.937106, 2.9227145, -0.03575341), (-1.150243, -4.334717, -0.03575341), (4.9943843, 3.4778712, -0.03575341), (-0.79614973, -1.6060177, -0.03575341), (0.81279016, -0.67148095, -0.035753414), (-0.60879153, 0.98583937, -0.03575341), (0.14318645, -2.1115084, -0.035753414), (2.209392, 2.1642263, -0.035753414), (-1.9529516, -0.47410214, -0.03575341), (3.9580522, -0.7834903, -0.03575341), (-0.9853899, 1.7057277, -0.03575341), (-2.5326447, -0.88900006, -0.035753414), (-1.6385394, -3.1866343, -0.03575341), (2.7824752, -3.7559679, -0.035753414), (-1.1081235, 0.16402376, -0.035753414), (-4.915382, -1.1118164, -0.035753407), (2.4458625, -1.4070538, -0.03575341), (-3.2303452, -0.7035627, -0.035753414), (-3.0455608, -2.8056617, -0.035753414), (-1.2546664, -3.0451941, -0.035753414), (-1.132415, -1.3642524, -0.035753414), (-1.578752, -3.9951396, -0.035753414), (4.3221517, 2.0829816, -0.035753414), (-4.2577195, -1.5047516, -0.03575341), (2.8562903, 0.0697684, -0.035753418), (0.65989065, 1.0402397, -0.035753414), (-2.5549412, -4.511527, -0.035753414), (-4.104018, -2.9322283, -0.035753414), (-5, 0.4470213, -0.035753414), (-3.0484476, 0.94580436, -0.035753414), (3.2602262, 3.4405003, -0.035753414), (1.910574, -2.0677114, -0.035753414), (-3.5228193, -0.23725545, -0.035753407), (3.7944171, -2.7523572, -0.035753414), (1.2122772, 3.1690722, -0.03575341), (2.646268, 2.4091716, -0.03575341), (4.8208714, -1.5148462, -0.035753414), (-1.2628251, -0.97338057, -0.035753414), (-1.4086337, -3.626728, -0.035753414), (-2.5653627, 2.9119213, -0.035753407), (-0.5645547, -0.79126203, -0.035753414), (-0.49555647, -1.7958064, -0.035753414), (-0.69743896, -2.3221412, -0.035753407), (4.4066095, 3.1025362, -0.035753414), (0.25015795, 0.8468384, -0.03575341), (-0.2631955, -1.0234504, -0.03575341), (3.1680245, 2.5463982, -0.03575341), (-4.6506653, 5, -0.03575341), (-4.6026554, 1.3711742, -0.03575341), (3.1056917, -5, -0.03575341), (-1.6525402, -2.4309952, -0.035753414), (-2.1106822, -2.6816633, -0.035753414), (-0.24840721, 3.6696415, -0.035753414), (-0.6457389, -0.46140188, -0.03575341), (-1.6083769, 2.8740814, -0.035753414), (2.6379557, 1.0427659, -0.035753414), (0.79618275, -1.4430921, -0.035753414), (-3.7965436, 3.8374155, -0.03575341), (1.9752188, 2.5091677, -0.035753414), (-2.694076, 2.1187503, -0.03575341), (-1.0504433, -0.63218683, -0.03575341), (4.848428, 0.8334273, -0.03575341), (-2.1824472, 3.082237, -0.03575341), (-4.092787, -0.65156513, -0.035753414), (0.89873743, 2.895908, -0.035753414), (4.523795, 1.2473478, -0.035753414), (-1.6789103, 1.9038124, -0.03575341), (-3.1786568, -0.11009467, -0.035753414), (-0.61424, 0.21318685, -0.03575341), (-0.7986419, -1.1155312, -0.035753414), (-1.2320653, 0.8163628, -0.035753414), (1.1412246, 2.525091, -0.03575341), (1.9273977, -0.9651795, -0.03575341), (-4.5596657, 3.6792166, -0.03575341), (-2.262162, 1.1849214, -0.03575341), (0.113197275, 3.2924771, -0.03575341), (1.6290038, 3.2055206, -0.03575341), (-2.446578, 0.72817385, -0.03575341), (-1.7607195, -3.5305445, -0.03575341), (-4.7049146, -0.2480207, -0.035753414), (-2.9548793, -3.2870576, -0.035753414), (-1.3188102, -2.1844149, -0.035753414), (-3.3425186, 4.5717764, -0.03575341), (1.6867588, 0.8332646, -0.035753414), (-2.6924903, 2.5347557, -0.03575341), (3.946361, -1.8196282, -0.035753414), (0.58144593, 3.8181074, -0.035753414), (-4.669978, 0.2947643, -0.03575341), (-3.3986003, -2.2893734, -0.03575341), (-4.499845, 0.60703975, -0.035753414), (2.4174178, 0.081225015, -0.035753414), (1.0346074, -3.40563, -0.035753414), (-0.54158366, 0.6029342, -0.035753414), (2.0036492, -1.6210043, -0.03575341), (2.960071, -2.7815025, -0.035753414), (-5, 3.7392359, -0.03575341), (-5, -0.550608, -0.03575341), (-2.6098526, -1.6135595, -0.03575341), (1.4168508, -4.343722, -0.03575341), (4.6505213, -0.38244194, -0.03575341), (-3.9158187, 2.6518154, -0.03575341), (-0.24592777, 2.5489948, -0.035753414), (4.4786706, -4.7318015, -0.035753414), (3.4778402, 1.2479651, -0.035753414), (4.479569, 0.18023989, -0.035753414), (-3.6428192, 0.64515233, -0.035753414), (-0.44626167, -0.13334084, -0.03575341), (1.948288, 0.43188542, -0.03575341), (-4.128481, 0.5693549, -0.035753414), (-2.470858, -3.5143464, -0.03575341), (-0.93176347, 2.50029, -0.035753414), (2.2185812, -2.8784413, -0.03575341), (-3.729115, -0.74608845, -0.03575341), (1.7652824, -0.4350059, -0.035753414), (2.2246711, 1.2588613, -0.035753414), (2.7583477, -1.7478126, -0.03575341), (-4.1926446, 3.8442082, -0.035753414), (-2.9509015, -2.4168572, -0.03575341), (3.6367447, 2.6199365, -0.03575341), (1.7322685, 1.305025, -0.035753418), (-3.7940397, -1.4844648, -0.03575341), (-1.6755497, -2.8002093, -0.035753414), (0.022063928, -0.79013604, -0.03575341), (-0.96260196, 0.54569656, -0.03575341), (3.3072467, -0.9135537, -0.03575341), (1.5632646, -3.269097, -0.03575341), (-5, 0.86214167, -0.03575341), (-3.2492566, 0.5828752, -0.03575341), (-1.5079819, -0.5821401, -0.035753414), (4.9387374, 0.36350498, -0.035753414), (-3.4121163, 3.4306142, -0.03575341), (0.13176313, -3.4746013, -0.035753414), (0.709214, -1.9858419, -0.035753414), (-1.5630611, -1.2484871, -0.035753414), (0.03241087, 2.2468557, -0.03575341), (3.4473739, -3.0606859, -0.03575341), (1.73114, -2.832135, -0.03575341), (2.5740058, 1.9272333, -0.03575341), (-3.690615, 2.2989857, -0.035753414), (-1.8381828, 3.895664, -0.035753414), (-2.5744328, -2.7397082, -0.035753414), (-1.8679609, 1.4551494, -0.03575341), (0.9246881, -2.4324229, -0.035753414), (-5, 1.7239665, -0.035753414), (-3.294413, 2.5873394, -0.035753414), (-0.56373024, 4.6852193, -0.035753414), (-3.4193523, 1.0151957, -0.03575341), (3.774835, 0.018045083, -0.03575341), (4.6500854, 1.7349203, -0.035753414), (2.6184115, -0.86865574, -0.035753414), (-0.5853549, 1.4739648, -0.035753418), (-0.9600792, 4.3892255, -0.03575341), (-0.16215548, -0.4251888, -0.035753418), (-3.6859374, 0.042075574, -0.035753414), (3.252489, 0.24011396, -0.03575341), (1.452841, -1.86128, -0.03575341), (2.524199, -4.6760807, -0.035753414), (-3.676933, -1.9359343, -0.03575341), (-2.2507145, 3.5440943, -0.035753414), (-1.666472, 0.7291404, -0.03575341), (-0.4095211, -1.3724262, -0.035753414), (1.8316506, 0.010112802, -0.035753418), (-3.5731125, 2.9705112, -0.035753414), (-3.4830365, -0.5244374, -0.03575341), (3.9857066, 2.358829, -0.035753414), (0.38376904, -0.58546525, -0.035753414), (3.551004, -2.137024, -0.03575341), (-4.9948573, 3.195249, -0.035753414), (-1.4798408, 0.3346703, -0.035753414), (4.1184993, -2.3783383, -0.03575341), (4.2108655, -2.9263844, -0.03575341), (-0.43327045, -3.4036884, -0.035753414), (0.68586004, -2.8782992, -0.035753414), (3.6272566, -5, -0.035753414), (3.5726898, -0.512856, -0.035753414), (-1.1838006, -2.5875456, -0.03575341), (1.5038911, 3.5771492, -0.035753414), (-3.3943617, -1.6605926, -0.03575341), (3.4036522, -2.6008737, -0.03575341), (-1.8888153, 0.24652381, -0.03575341), (-4.4230504, -2.281942, -0.035753414), (-4.5539827, -0.6731496, -0.035753414), (2.3644674, -1.9923637, -0.03575341), (-1.3392448, -0.1931145, -0.035753407), (-0.3232206, -2.122856, -0.035753414), (-1.7627387, -0.8964305, -0.03575341), (1.243882, 0.9710438, -0.03575341), (-3.161398, 1.7566656, -0.035753414), (-0.8450355, -3.184997, -0.035753414), (-0.16566065, 1.1299105, -0.035753414), (-4.4374137, 0.07002304, -0.035753414), (-2.7186272, 1.7507627, -0.035753414), (5.0000067, 1.3647715, -0.03575341), (4.267657, 0.8778892, -0.03575341), (-2.0234709, 2.6134577, -0.03575341), (-3.8983598, 3.4113889, -0.03575341), (2.7829998, 1.5261011, -0.03575341), (0.08417763, -1.2939843, -0.03575341), (-0.5842293, 2.7548964, -0.035753414), (-4.286697, -0.29913527, -0.035753414), (3.4782958, 2.1705437, -0.035753414), (0.57245094, 3.3586466, -0.035753407), (-0.1315123, 0.5949023, -0.03575341), (-0.19487128, -2.5357616, -0.035753414), (-1.9710425, 0.951295, -0.03575341), (0.24660568, -0.17372707, -0.035753414), (2.4799428, 0.56115615, -0.03575341), (-3.8800573, -2.4119542, -0.035753414), (-3.9655242, 1.3442367, -0.03575341), (-3.5511224, 1.4308455, -0.035753414), (1.2700526, -0.5780408, -0.035753414), (4.8415575, -3.1155064, -0.035753414), (-2.3618352, -0.44638133, -0.035753414), (-0.91238266, -0.18301672, -0.03575341), (4.369418, -1.3483201, -0.03575341), (2.5018234, -2.5069203, -0.03575341), (-0.42027217, 2.0421312, -0.03575341), (-3.2605479, -1.3212926, -0.035753407), (-0.9454622, -2.065709, -0.03575341), (1.536966, 2.4544578, -0.035753414), (4.883824, -2.22674, -0.035753414), (-1.797197, -5, -0.03575341), (1.3000917, 1.5308121, -0.03575341), (-3.899403, -0.26876053, -0.035753414), (-2.2178667, -0.046674963, -0.035753414), (-0.06693145, -1.7092235, -0.035753414), (4.5091753, -1.9070908, -0.03575341), (-1.0812895, 3.8179314, -0.035753414), (-2.7000394, -0.14477403, -0.035753414), (-2.6446025, 4.3151407, -0.03575341), (-3.8441133, 0.95818967, -0.035753414), (3.6161313, 0.4366354, -0.03575341), (1.1716098, -0.0819778, -0.03575341), (3.5216355, -1.5005776, -0.035753414), (-2.9714615, 0.20871249, -0.035753407), (2.2522943, 1.6478126, -0.03575341), (3.2672336, -0.23526803, -0.03575341), (0.11126099, 5, -0.03575341), (-1.0092968, 1.2116798, -0.035753414), (-4.8990855, -2.2275937, -0.035753414), (-5, 1.2735173, -0.03575341), (0.2429441, 1.4088402, -0.03575341), (-2.3153536, -1.9599248, -0.035753414), (-4.6716723, 0.9344406, -0.035753407), (3.1247122, -2.3272727, -0.03575341), (2.9146314, 0.5950423, -0.035753414), (-3.3910863, 0.23851617, -0.03575341), (-3.145431, 2.2107356, -0.035753414), (4.213621, 1.5930359, -0.03575341), (-1.7341952, -0.12857157, -0.035753414), (2.8071394, -0.41043028, -0.035753414), (-5, -0.015089936, -0.035753414), (-4.131485, -1.9315223, -0.035753414), (1.6213425, -1.310705, -0.035753414), (0.38640657, -2.462969, -0.035753414), (-4.5681295, 1.9387041, -0.03575341), (-2.536633, 1.442573, -0.035753414), (0.47415087, -1.0716817, -0.03575341), (-2.1571805, -0.8617872, -0.03575341), (-3.9786317, 1.8632076, -0.03575341), (-4.028914, -1.0830251, -0.035753414), (-2.814706, -1.2532787, -0.035753414), (-4.8969507, 2.3129294, -0.03575341), (-4.5265665, -3.3463922, -0.03575341), (-0.86200196, 2.1338737, -0.035753414), (-0.3297721, 3.1546624, -0.03575341), (1.1069463, -1.098658, -0.03575341), (-4.462968, -1.1023563, -0.03575341), (-2.6427307, 3.7944725, -0.035753414), (3.9101896, -4.545224, -0.03575341), (-3.3137555, -3.9082515, -0.035753414), (1.9118557, 2.9152627, -0.035753418), (-4.0575066, 4.535833, -0.03575341), (-0.20143773, 1.6376506, -0.03575341), (0.9244135, 1.8426661, -0.035753414), (-2.2280378, -1.5943184, -0.035753414), (-1.9005361, -1.7423644, -0.035753414), (-4.905829, -1.7469083, -0.03575341), (1.3314134, 0.40869403, -0.035753407), (0.9880774, 3.4476967, -0.03575341), (4.700355, 2.2989626, -0.035753414), (3.3222842, 0.77934504, -0.03575341), (4.8704863, 3.0527518, -0.035753414), (-1.798823, 3.3188813, -0.03575341), (1.3456954, -3.8684566, -0.035753414), (-2.7142322, -2.0297315, -0.03575341), (4.085998, -0.31188405, -0.03575341), (-4.0984755, 0.12988648, -0.03575341), (-2.3803995, -1.2397659, -0.035753414), (-2.6873393, 1.0582669, -0.035753414), (-2.457962, -2.367663, -0.035753414), (-2.7202566, -0.56821924, -0.03575341), (3.187807, -1.8262169, -0.03575341), (-4.227845, 2.2929158, -0.03575341), (1.8029767, 1.7459276, -0.03575341), (2.5509155, 3.7742693, -0.035753414), (-2.118374, -3.1332965, -0.03575341), (1.2195741, -2.811712, -0.03575341), (5, 1.9641619, -0.035753414), (3.2981553, 1.6917144, -0.03575341), (-5, 2.74453, -0.03575341), (2.9969578, 2.0579696, -0.035753414), (5, -2.676641, -0.03575341), (-0.8487135, -5, -0.035753414), (2.8189175, -4.220725, -0.035753414), (-2.0301058, -2.2340462, -0.035753414), (0.82970876, 2.335265, -0.03575341), (3.5506625, -3.5851626, -0.035753414), (-1.1782604, -1.7708973, -0.035753414), (0.75930357, 1.4551351, -0.03575341), (5, -0.5849647, -0.035753414), (-2.7767892, 3.3279035, -0.035753414), (2.553529, -3.398255, -0.035753407), (4.570615, -4.238119, -0.03575341), (2.9608986, -1.3160512, -0.035753414), (-0.17514324, -3.8522344, -0.035753414), (-0.101953454, -3.1570415, -0.03575341), (1.5234842, -2.339492, -0.03575341), (1.4296964, 2.8341029, -0.035753414), (1.7561272, 4.380782, -0.03575341), (-1.0723313, -3.5287337, -0.03575341), (2.0345762, -2.4679933, -0.03575341), (0.44816208, -3.8131561, -0.035753414), (5, -1.0629107, -0.035753414), (1.7431802, 2.118988, -0.03575341), (0.41237405, 2.4843163, -0.03575341), (-1.4916087, 3.649345, -0.03575341), (-3.2675304, -5, -0.035753414), (-3.1154294, -1.9979396, -0.035753407), (-3.2618809, -0.9995285, -0.03575341), (-4.064263, 3.0541208, -0.03575341), (-0.76241994, 3.3172708, -0.035753414), (2.264951, -0.53433055, -0.035753414), (-4.2876244, 1.5827179, -0.035753414), (-1.5162756, -1.6229932, -0.035753414), (3.819378, 1.8628191, -0.03575341), (-0.47550598, -4.685087, -0.035753414), (0.38981855, 4.325682, -0.035753414), (4.033512, 3.3525832, -0.035753414), (-2.9884648, -1.6262447, -0.03575341), (5, 2.545349, -0.03575341), (-0.6844387, 3.7916281, -0.035753414), (-1.2584084, 3.2883441, -0.035753414), (-0.6207092, -4.190244, -0.03575341), (-3.8071156, 0.3579687, -0.03575341), (-3.0379834, -0.42113027, -0.035753414), (-3.55517, -2.725853, -0.035753414), (-0.41772524, -2.9186316, -0.03575341), (2.0157034, 3.3970492, -0.035753414), (-3.362275, -3.5135303, -0.03575341), (3.8745968, 1.3536968, -0.035753414), (2.0778723, -3.3140366, -0.035753414), (-3.7713258, 4.2832685, -0.03575341), (-2.207372, 1.7748765, -0.03575341), (-1.059728, 2.9054053, -0.03575341), (2.1082826, 3.814939, -0.035753414), (-1.3871241, 2.4274974, -0.03575341), (-2.5897105, -3.113439, -0.035753414), (-1.3937116, 4.1820855, -0.035753414), (-0.12012148, 0.116398565, -0.035753414), (3.0715902, -3.3359728, -0.03575341), (0.20186128, -2.8999722, -0.035753414), (2.4276628, 3.2362323, -0.03575341), (-2.836889, 0.59232175, -0.03575341), (-2.1066372, -3.644615, -0.03575341), (1.3069409, 4.7210383, -0.03575341), (-2.1458519, 0.49736223, -0.035753414), (-2.907369, -3.6973875, -0.035753414), (-3.7388258, -3.2174716, -0.035753414), (-3.0451977, 1.3632972, -0.03575341), (0.08879909, 2.8419917, -0.03575341), (2.857374, 3.375093, -0.035753414), (-0.93909204, -4.634145, -0.03575341), (-1.4806738, 1.2547113, -0.03575341), (2.3027687, -3.7901351, -0.03575341), (2.3590229, 2.773762, -0.035753414), (-5, 4.796005, -0.03575341), (-0.6838821, -3.7407565, -0.035753414), (-3.4131536, 3.9990466, -0.03575341), (-4.0902896, -3.4784431, -0.03575341), (2.189017, -4.292632, -0.03575341), (3.725775, 3.5665636, -0.03575341), (3.2196527, -4.553553, -0.03575341), (-4.477837, 3.2683213, -0.03575341), (-2.9154353, -5, -0.03575341), (-1.1201291, -3.980856, -0.03575341), (-1.8532491, 4.49132, -0.035753414), (-0.019274898, 4.402428, -0.035753414), (3.4255326, 3.0426486, -0.035753414), (-1.6580068, -2.0154974, -0.03575341), (2.8737144, 2.8982449, -0.03575341), (4.8865533, -5, -0.03575341), (2.2563875, 4.2285457, -0.03575341), (-3.1511402, 5, -0.035753414), (4.502919, 3.5967453, -0.03575341), (-1.3529135, -5, -0.035753414), (4.1059256, -5, -0.03575341), (-3.4545324, -4.630971, -0.035753414), (3.3715467, 3.8758721, -0.035753414), (-4.186334, 4.998253, -0.035753414), (-0.008456694, -4.292852, -0.03575341), (-2.6662195, 4.8866997, -0.03575341), (1.7443, 4.867959, -0.035753414), (-2.5629616, -5, -0.03575341), (-4.4644732, 4.409126, -0.03575341), (-2.2383602, 4.099241, -0.035753418), (4.0010877, -4.073402, -0.03575341), (-3.0842934, 2.9832387, -0.03575341), (4.998435, -4.5332837, -0.035753414), (3.7061675, 4.5341334, -0.035753414), (4.4032564, 2.6492193, -0.035753414), (-1.4511706, -4.6499553, -0.03575341), (3.5392828, -4.176752, -0.035753414), (3.1908858, -3.8959794, -0.03575341), (-5, 4.277841, -0.03575341), (0.5306742, 5, -0.035753414), (-3.6721714, 4.9100623, -0.035753414), (-1.6903167, -4.38274, -0.035753407), (0.41369775, -4.8664417, -0.035753414), (-3.0709054, 3.7221785, -0.035753414), (-2.0758035, -4.5756283, -0.035753414), (0.6532308, -4.438715, -0.03575341), (-3.5470111, 1.8948942, -0.03575341), (-3.4202065, -4.2795305, -0.03575341), (0.9752473, 5, -0.03575341), (-2.5791836, -3.9594297, -0.03575341), (0.7880247, 4.5685573, -0.03575341), (-2.2214625, 4.7484856, -0.03575341), (4.3660884, 4.619149, -0.035753414), (2.1912475, 5, -0.035753414), (-2.9972596, -4.5849476, -0.035753414), (1.0886613, 3.811087, -0.03575341), (-1.1933123, 4.861399, -0.035753414), (-0.42837754, 4.1591473, -0.03575341), (1.6652398, 3.9359057, -0.035753414), (-2.2820668, -4.1633086, -0.03575341), (-3.6394649, -5, -0.035753414), (2.1491492, 0.86050814, -0.035753414), (2.670796, 5, -0.03575341), (1.2821605, 4.228902, -0.03575341), (-1.9561995, -4.034129, -0.03575341), (-2.9599385, -4.174161, -0.03575341), (-2.1948626, -5, -0.03575341), (-5, -3.6549814, -0.03575341), (3.2639298, 4.3699784, -0.035753414), (3.8020253, 0.85929537, -0.03575341), (-3.9140928, -4.5564733, -0.03575341), (-3.7698152, -4.157495, -0.035753418), (-4.0540133, -5, -0.035753414), (-4.3159823, -4.679113, -0.03575341), (4.409635, 4.2339067, -0.03575341), (-5, -4.8670497, -0.035753418), (-3.7468703, -3.736479, -0.03575341), (3.1333697, 4.880706, -0.03575341), (3.7837605, 4.080415, -0.035753407), (5, 4.808447, -0.03575341), (-4.729345, -4.5553637, -0.035753414), (5, 4.348623, -0.03575341), (4.1942563, 3.884944, -0.035753407), (-4.404907, -4.289323, -0.03575341), (4.0351343, 4.998, -0.035753414), (-4.7484217, -3.9822292, -0.03575341), (4.558625, 5, -0.03575341), (-4.1044354, -4.052985, -0.035753414), (-5, -4.2716846, -0.03575341), (-4.5294714, -5, -0.03575341), (5, 3.913188, -0.03575341)],
+ 4: [(4.1675253, -3.5916092, -0.07916827), (-0.77677006, -2.7297707, -0.07916827), (3.0630136, 1.158053, -0.07916827), (-4.2709227, 1.0144538, -0.079168275), (-3.044508, 4.2851124, -0.07916827), (0.29896238, 0.3106549, -0.079168275), (0.15971519, 3.7982178, -0.07916827), (0.3848841, -1.6533717, -0.079168275), (0.58787704, -3.3571897, -0.07916827), (4.113137, 0.4235462, -0.07916827), (2.3364277, 4.629844, -0.079168275), (-4.4072022, -3.7855508, -0.07916827), (2.6305351, -3.0152974, -0.079168275), (-0.32800487, 5, -0.079168275), (-4.423228, 2.7572892, -0.079168275), (0.72067314, 0.48032182, -0.07916827), (2.7783132, 4.408583, -0.07916827), (0.5235561, 1.9940797, -0.079168275), (-3.6079555, -1.103081, -0.079168275), (-4.6905637, 4.050367, -0.079168275), (4.6523604, -3.5442917, -0.07916828), (0.846675, 4.1522455, -0.07916827), (-3.3387394, -3.095033, -0.07916827), (1.3029603, 2.0271907, -0.07916827), (0.7090133, -0.11374539, -0.079168275), (2.9434667, 3.9371858, -0.079168275), (-1.957395, -1.295166, -0.07916827), (-2.5378819, 0.25532737, -0.079168275), (2.7822194, -2.20158, -0.079168275), (-2.1778595, 2.223699, -0.07916827), (-2.9153743, -0.90093225, -0.079168275), (0.16372001, 1.847963, -0.079168275), (0.51893455, 2.9131505, -0.079168275), (3.937106, 2.9227145, -0.07916827), (-1.150243, -4.334717, -0.07916827), (4.9943843, 3.4778712, -0.07916827), (-0.79614973, -1.6060177, -0.07916827), (0.81279016, -0.67148095, -0.079168275), (-0.60879153, 0.98583937, -0.07916827), (0.14318645, -2.1115084, -0.079168275), (2.209392, 2.1642263, -0.079168275), (-1.9529516, -0.47410214, -0.07916827), (3.9580522, -0.7834903, -0.07916827), (-0.9853899, 1.7057277, -0.079168275), (-2.5326447, -0.88900006, -0.079168275), (-1.6385394, -3.1866343, -0.07916827), (2.7824752, -3.7559679, -0.079168275), (-1.1081235, 0.16402376, -0.079168275), (-4.915382, -1.1118164, -0.07916827), (2.4458625, -1.4070538, -0.07916827), (-3.2303452, -0.7035627, -0.079168275), (-3.0455608, -2.8056617, -0.079168275), (-1.2546664, -3.0451941, -0.079168275), (-1.132415, -1.3642524, -0.079168275), (-1.578752, -3.9951396, -0.07916827), (4.3221517, 2.0829816, -0.079168275), (-4.2577195, -1.5047516, -0.079168275), (2.8562903, 0.0697684, -0.079168275), (0.65989065, 1.0402397, -0.079168275), (-2.5549412, -4.511527, -0.079168275), (-4.104018, -2.9322283, -0.079168275), (-5, 0.4470213, -0.079168275), (-3.0484476, 0.94580436, -0.079168275), (3.2602262, 3.4405003, -0.079168275), (1.910574, -2.0677114, -0.079168275), (-3.5228193, -0.23725545, -0.07916827), (3.7944171, -2.7523572, -0.079168275), (1.2122772, 3.1690722, -0.07916827), (2.646268, 2.4091716, -0.07916826), (4.8208714, -1.5148462, -0.079168275), (-1.2628251, -0.97338057, -0.079168275), (-1.4086337, -3.626728, -0.079168275), (-2.5653627, 2.9119213, -0.07916826), (-0.5645547, -0.79126203, -0.07916827), (-0.49555647, -1.7958064, -0.079168275), (-0.69743896, -2.3221412, -0.07916827), (4.4066095, 3.1025362, -0.079168275), (0.25015795, 0.8468384, -0.07916827), (-0.2631955, -1.0234504, -0.07916827), (3.1680245, 2.5463982, -0.07916827), (-4.6506653, 5, -0.07916827), (-4.6026554, 1.3711742, -0.07916827), (3.1056917, -5, -0.07916827), (-1.6525402, -2.4309952, -0.079168275), (-2.1106822, -2.6816633, -0.079168275), (-0.24840721, 3.6696415, -0.079168275), (-0.6457389, -0.46140188, -0.07916827), (-1.6083769, 2.8740814, -0.079168275), (2.6379557, 1.0427659, -0.079168275), (0.79618275, -1.4430921, -0.079168275), (-3.7965436, 3.8374155, -0.07916827), (1.9752188, 2.5091677, -0.079168275), (-2.694076, 2.1187503, -0.07916827), (-1.0504433, -0.63218683, -0.07916827), (4.848428, 0.8334273, -0.07916827), (-2.1824472, 3.082237, -0.07916827), (-4.092787, -0.65156513, -0.079168275), (0.89873743, 2.895908, -0.079168275), (4.523795, 1.2473478, -0.079168275), (-1.6789103, 1.9038124, -0.07916827), (-3.1786568, -0.11009467, -0.079168275), (-0.61424, 0.21318685, -0.07916827), (-0.7986419, -1.1155312, -0.079168275), (-1.2320653, 0.8163628, -0.079168275), (1.1412246, 2.525091, -0.07916827), (1.9273977, -0.9651795, -0.07916827), (-4.5596657, 3.6792166, -0.07916826), (-2.262162, 1.1849214, -0.07916827), (0.113197275, 3.2924771, -0.079168275), (1.6290038, 3.2055206, -0.07916827), (-2.446578, 0.72817385, -0.07916827), (-1.7607195, -3.5305445, -0.07916827), (-4.7049146, -0.2480207, -0.079168275), (-2.9548793, -3.2870576, -0.079168275), (-1.3188102, -2.1844149, -0.079168275), (-3.3425186, 4.5717764, -0.07916827), (1.6867588, 0.8332646, -0.079168275), (-2.6924903, 2.5347557, -0.07916827), (3.946361, -1.8196282, -0.07916828), (0.58144593, 3.8181074, -0.079168275), (-4.669978, 0.2947643, -0.07916827), (-3.3986003, -2.2893734, -0.07916827), (-4.499845, 0.60703975, -0.079168275), (2.4174178, 0.081225015, -0.07916828), (1.0346074, -3.40563, -0.079168275), (-0.54158366, 0.6029342, -0.079168275), (2.0036492, -1.6210043, -0.07916826), (2.960071, -2.7815025, -0.079168275), (-5, 3.7392359, -0.07916827), (-5, -0.550608, -0.07916827), (-2.6098526, -1.6135595, -0.07916827), (1.4168508, -4.343722, -0.07916827), (4.6505213, -0.38244194, -0.07916827), (-3.9158187, 2.6518154, -0.07916827), (-0.24592777, 2.5489948, -0.079168275), (4.4786706, -4.7318015, -0.079168275), (3.4778402, 1.2479651, -0.079168275), (4.479569, 0.18023989, -0.079168275), (-3.6428192, 0.64515233, -0.079168275), (-0.44626167, -0.13334084, -0.07916827), (1.948288, 0.43188542, -0.079168275), (-4.128481, 0.5693549, -0.079168275), (-2.470858, -3.5143464, -0.07916827), (-0.93176347, 2.50029, -0.079168275), (2.2185812, -2.8784413, -0.07916827), (-3.729115, -0.74608845, -0.07916827), (1.7652824, -0.4350059, -0.079168275), (2.2246711, 1.2588613, -0.079168275), (2.7583477, -1.7478126, -0.07916827), (-4.1926446, 3.8442082, -0.079168275), (-2.9509015, -2.4168572, -0.07916827), (3.6367447, 2.6199365, -0.079168275), (1.7322685, 1.305025, -0.079168275), (-3.7940397, -1.4844648, -0.07916827), (-1.6755497, -2.8002093, -0.07916828), (0.022063928, -0.79013604, -0.07916827), (-0.96260196, 0.54569656, -0.07916827), (3.3072467, -0.9135537, -0.07916827), (1.5632646, -3.269097, -0.079168275), (-5, 0.86214167, -0.07916827), (-3.2492566, 0.5828752, -0.07916827), (-1.5079819, -0.5821401, -0.079168275), (4.9387374, 0.36350498, -0.07916828), (-3.4121163, 3.4306142, -0.07916826), (0.13176313, -3.4746013, -0.079168275), (0.709214, -1.9858419, -0.079168275), (-1.5630611, -1.2484871, -0.079168275), (0.03241087, 2.2468557, -0.07916827), (3.4473739, -3.0606859, -0.07916827), (1.73114, -2.832135, -0.07916827), (2.5740058, 1.9272333, -0.07916827), (-3.690615, 2.2989857, -0.079168275), (-1.8381828, 3.895664, -0.079168275), (-2.5744328, -2.7397082, -0.07916828), (-1.8679609, 1.4551494, -0.07916827), (0.9246881, -2.4324229, -0.079168275), (-5, 1.7239665, -0.079168275), (-3.294413, 2.5873394, -0.079168275), (-0.56373024, 4.6852193, -0.079168275), (-3.4193523, 1.0151957, -0.07916827), (3.774835, 0.018045083, -0.079168275), (4.6500854, 1.7349203, -0.079168275), (2.6184115, -0.86865574, -0.079168275), (-0.5853549, 1.4739648, -0.079168275), (-0.9600792, 4.3892255, -0.07916827), (-0.16215548, -0.4251888, -0.07916828), (-3.6859374, 0.042075574, -0.079168275), (3.252489, 0.24011396, -0.07916827), (1.452841, -1.86128, -0.07916827), (2.524199, -4.6760807, -0.079168275), (-3.676933, -1.9359343, -0.07916827), (-2.2507145, 3.5440943, -0.07916828), (-1.666472, 0.7291404, -0.07916826), (-0.4095211, -1.3724262, -0.079168275), (1.8316506, 0.010112802, -0.079168275), (-3.5731125, 2.9705112, -0.07916827), (-3.4830365, -0.5244374, -0.07916827), (3.9857066, 2.358829, -0.079168275), (0.38376904, -0.58546525, -0.079168275), (3.551004, -2.137024, -0.07916827), (-4.9948573, 3.195249, -0.079168275), (-1.4798408, 0.3346703, -0.079168275), (4.1184993, -2.3783383, -0.07916827), (4.2108655, -2.9263844, -0.07916827), (-0.43327045, -3.4036884, -0.07916827), (0.68586004, -2.8782992, -0.079168275), (3.6272566, -5, -0.079168275), (3.5726898, -0.512856, -0.07916827), (-1.1838006, -2.5875456, -0.07916827), (1.5038911, 3.5771492, -0.079168275), (-3.3943617, -1.6605926, -0.07916827), (3.4036522, -2.6008737, -0.07916827), (-1.8888153, 0.24652381, -0.07916827), (-4.4230504, -2.281942, -0.07916828), (-4.5539827, -0.6731496, -0.07916827), (2.3644674, -1.9923637, -0.07916827), (-1.3392448, -0.1931145, -0.07916827), (-0.3232206, -2.122856, -0.079168275), (-1.7627387, -0.8964305, -0.07916827), (1.243882, 0.9710438, -0.07916827), (-3.161398, 1.7566656, -0.079168275), (-0.8450355, -3.184997, -0.079168275), (-0.16566065, 1.1299105, -0.079168275), (-4.4374137, 0.07002304, -0.079168275), (-2.7186272, 1.7507627, -0.079168275), (5.0000067, 1.3647715, -0.079168275), (4.267657, 0.8778892, -0.07916827), (-2.0234709, 2.6134577, -0.07916827), (-3.8983598, 3.4113889, -0.07916827), (2.7829998, 1.5261011, -0.07916827), (0.08417763, -1.2939843, -0.07916827), (-0.5842293, 2.7548964, -0.079168275), (-4.286697, -0.29913527, -0.079168275), (3.4782958, 2.1705437, -0.079168275), (0.57245094, 3.3586466, -0.07916827), (-0.1315123, 0.5949023, -0.07916827), (-0.19487128, -2.5357616, -0.079168275), (-1.9710425, 0.951295, -0.07916827), (0.24660568, -0.17372707, -0.07916827), (2.4799428, 0.56115615, -0.07916827), (-3.8800573, -2.4119542, -0.079168275), (-3.9655242, 1.3442367, -0.07916827), (-3.5511224, 1.4308455, -0.079168275), (1.2700526, -0.5780408, -0.079168275), (4.8415575, -3.1155064, -0.07916827), (-2.3618352, -0.44638133, -0.079168275), (-0.91238266, -0.18301672, -0.07916827), (4.369418, -1.3483201, -0.07916827), (2.5018234, -2.5069203, -0.07916827), (-0.42027217, 2.0421312, -0.07916827), (-3.2605479, -1.3212926, -0.07916827), (-0.9454622, -2.065709, -0.07916827), (1.536966, 2.4544578, -0.079168275), (4.883824, -2.22674, -0.07916828), (-1.797197, -5, -0.07916827), (1.3000917, 1.5308121, -0.07916827), (-3.899403, -0.26876053, -0.079168275), (-2.2178667, -0.046674963, -0.079168275), (-0.06693145, -1.7092235, -0.079168275), (4.5091753, -1.9070908, -0.07916827), (-1.0812895, 3.8179314, -0.079168275), (-2.7000394, -0.14477403, -0.079168275), (-2.6446025, 4.3151407, -0.07916827), (-3.8441133, 0.95818967, -0.079168275), (3.6161313, 0.4366354, -0.07916827), (1.1716098, -0.0819778, -0.07916827), (3.5216355, -1.5005776, -0.079168275), (-2.9714615, 0.20871249, -0.07916827), (2.2522943, 1.6478126, -0.07916827), (3.2672336, -0.23526803, -0.07916827), (0.11126099, 5, -0.07916827), (-1.0092968, 1.2116798, -0.079168275), (-4.8990855, -2.2275937, -0.079168275), (-5, 1.2735173, -0.07916827), (0.2429441, 1.4088402, -0.07916827), (-2.3153536, -1.9599248, -0.079168275), (-4.6716723, 0.9344406, -0.07916827), (3.1247122, -2.3272727, -0.07916827), (2.9146314, 0.5950423, -0.079168275), (-3.3910863, 0.23851617, -0.07916826), (-3.145431, 2.2107356, -0.079168275), (4.213621, 1.5930359, -0.07916827), (-1.7341952, -0.12857157, -0.079168275), (2.8071394, -0.41043028, -0.079168275), (-5, -0.015089936, -0.079168275), (-4.131485, -1.9315223, -0.079168275), (1.6213425, -1.310705, -0.079168275), (0.38640657, -2.462969, -0.079168275), (-4.5681295, 1.9387041, -0.07916827), (-2.536633, 1.442573, -0.079168275), (0.47415087, -1.0716817, -0.07916827), (-2.1571805, -0.8617872, -0.07916827), (-3.9786317, 1.8632076, -0.079168275), (-4.028914, -1.0830251, -0.079168275), (-2.814706, -1.2532787, -0.079168275), (-4.8969507, 2.3129294, -0.07916827), (-4.5265665, -3.3463922, -0.079168275), (-0.86200196, 2.1338737, -0.079168275), (-0.3297721, 3.1546624, -0.07916827), (1.1069463, -1.098658, -0.07916827), (-4.462968, -1.1023563, -0.07916827), (-2.6427307, 3.7944725, -0.079168275), (3.9101896, -4.545224, -0.07916827), (-3.3137555, -3.9082515, -0.079168275), (1.9118557, 2.9152627, -0.079168275), (-4.0575066, 4.535833, -0.07916827), (-0.20143773, 1.6376506, -0.07916827), (0.9244135, 1.8426661, -0.079168275), (-2.2280378, -1.5943184, -0.079168275), (-1.9005361, -1.7423644, -0.079168275), (-4.905829, -1.7469083, -0.07916827), (1.3314134, 0.40869403, -0.07916827), (0.9880774, 3.4476967, -0.07916827), (4.700355, 2.2989626, -0.079168275), (3.3222842, 0.77934504, -0.07916827), (4.8704863, 3.0527518, -0.079168275), (-1.798823, 3.3188813, -0.07916827), (1.3456954, -3.8684566, -0.079168275), (-2.7142322, -2.0297315, -0.07916827), (4.085998, -0.31188405, -0.07916827), (-4.0984755, 0.12988648, -0.079168275), (-2.3803995, -1.2397659, -0.079168275), (-2.6873393, 1.0582669, -0.079168275), (-2.457962, -2.367663, -0.079168275), (-2.7202566, -0.56821924, -0.07916827), (3.187807, -1.8262169, -0.07916827), (-4.227845, 2.2929158, -0.07916827), (1.8029767, 1.7459276, -0.07916827), (2.5509155, 3.7742693, -0.079168275), (-2.118374, -3.1332965, -0.07916827), (1.2195741, -2.811712, -0.079168275), (5, 1.9641619, -0.079168275), (3.2981553, 1.6917144, -0.07916827), (-5, 2.74453, -0.079168275), (2.9969578, 2.0579696, -0.079168275), (5, -2.676641, -0.07916827), (-0.8487135, -5, -0.079168275), (2.8189175, -4.220725, -0.079168275), (-2.0301058, -2.2340462, -0.079168275), (0.82970876, 2.335265, -0.07916827), (3.5506625, -3.5851626, -0.079168275), (-1.1782604, -1.7708973, -0.079168275), (0.75930357, 1.4551351, -0.07916827), (5, -0.5849647, -0.079168275), (-2.7767892, 3.3279035, -0.079168275), (2.553529, -3.398255, -0.07916826), (4.570615, -4.238119, -0.07916827), (2.9608986, -1.3160512, -0.079168275), (-0.17514324, -3.8522344, -0.079168275), (-0.101953454, -3.1570415, -0.07916827), (1.5234842, -2.339492, -0.07916827), (1.4296964, 2.8341029, -0.079168275), (1.7561272, 4.380782, -0.07916827), (-1.0723313, -3.5287337, -0.07916827), (2.0345762, -2.4679933, -0.07916827), (0.44816208, -3.8131561, -0.079168275), (5, -1.0629107, -0.07916827), (1.7431802, 2.118988, -0.07916827), (0.41237405, 2.4843163, -0.07916827), (-1.4916087, 3.649345, -0.07916826), (-3.2675304, -5, -0.07916828), (-3.1154294, -1.9979396, -0.07916827), (-3.2618809, -0.9995285, -0.07916827), (-4.064263, 3.0541208, -0.07916826), (-0.76241994, 3.3172708, -0.079168275), (2.264951, -0.53433055, -0.079168275), (-4.2876244, 1.5827179, -0.079168275), (-1.5162756, -1.6229932, -0.079168275), (3.819378, 1.8628191, -0.079168275), (-0.47550598, -4.685087, -0.079168275), (0.38981855, 4.325682, -0.079168275), (4.033512, 3.3525832, -0.079168275), (-2.9884648, -1.6262447, -0.07916827), (5, 2.545349, -0.07916827), (-0.6844387, 3.7916281, -0.079168275), (-1.2584084, 3.2883441, -0.07916827), (-0.6207092, -4.190244, -0.07916826), (-3.8071156, 0.3579687, -0.07916827), (-3.0379834, -0.42113027, -0.079168275), (-3.55517, -2.725853, -0.079168275), (-0.41772524, -2.9186316, -0.07916827), (2.0157034, 3.3970492, -0.079168275), (-3.362275, -3.5135303, -0.07916827), (3.8745968, 1.3536968, -0.079168275), (2.0778723, -3.3140366, -0.079168275), (-3.7713258, 4.2832685, -0.07916827), (-2.207372, 1.7748765, -0.07916827), (-1.059728, 2.9054053, -0.07916827), (2.1082826, 3.814939, -0.079168275), (-1.3871241, 2.4274974, -0.079168275), (-2.5897105, -3.113439, -0.079168275), (-1.3937116, 4.1820855, -0.079168275), (-0.12012148, 0.116398565, -0.079168275), (3.0715902, -3.3359728, -0.07916827), (0.20186128, -2.8999722, -0.079168275), (2.4276628, 3.2362323, -0.07916827), (-2.836889, 0.59232175, -0.07916827), (-2.1066372, -3.644615, -0.07916827), (1.3069409, 4.7210383, -0.07916827), (-2.1458519, 0.49736223, -0.079168275), (-2.907369, -3.6973875, -0.079168275), (-3.7388258, -3.2174716, -0.079168275), (-3.0451977, 1.3632972, -0.07916827), (0.08879909, 2.8419917, -0.079168275), (2.857374, 3.375093, -0.07916827), (-0.93909204, -4.634145, -0.07916827), (-1.4806738, 1.2547113, -0.07916827), (2.3027687, -3.7901351, -0.07916827), (2.3590229, 2.773762, -0.079168275), (-5, 4.796005, -0.07916827), (-0.6838821, -3.7407565, -0.079168275), (-3.4131536, 3.9990466, -0.07916827), (-4.0902896, -3.4784431, -0.079168275), (2.189017, -4.292632, -0.07916827), (3.725775, 3.5665636, -0.07916827), (3.2196527, -4.553553, -0.07916827), (-4.477837, 3.2683213, -0.07916827), (-2.9154353, -5, -0.07916827), (-1.1201291, -3.980856, -0.07916827), (-1.8532491, 4.49132, -0.079168275), (-0.019274898, 4.402428, -0.079168275), (3.4255326, 3.0426486, -0.079168275), (-1.6580068, -2.0154974, -0.079168275), (2.8737144, 2.8982449, -0.07916827), (4.8865533, -5, -0.07916827), (2.2563875, 4.2285457, -0.07916827), (-3.1511402, 5, -0.079168275), (4.502919, 3.5967453, -0.07916827), (-1.3529135, -5, -0.079168275), (4.1059256, -5, -0.07916827), (-3.4545324, -4.630971, -0.079168275), (3.3715467, 3.8758721, -0.079168275), (-4.186334, 4.998253, -0.079168275), (-0.008456694, -4.292852, -0.07916827), (-2.6662195, 4.8866997, -0.07916827), (1.7443, 4.867959, -0.07916827), (-2.5629616, -5, -0.07916827), (-4.4644732, 4.409126, -0.07916827), (-2.2383602, 4.099241, -0.079168275), (4.0010877, -4.073402, -0.07916827), (-3.0842934, 2.9832387, -0.07916827), (4.998435, -4.5332837, -0.079168275), (3.7061675, 4.5341334, -0.079168275), (4.4032564, 2.6492193, -0.079168275), (-1.4511706, -4.6499553, -0.07916827), (3.5392828, -4.176752, -0.079168275), (3.1908858, -3.8959794, -0.07916827), (-5, 4.277841, -0.07916827), (0.5306742, 5, -0.079168275), (-3.6721714, 4.9100623, -0.079168275), (-1.6903167, -4.38274, -0.07916826), (0.41369775, -4.8664417, -0.079168275), (-3.0709054, 3.7221785, -0.079168275), (-2.0758035, -4.5756283, -0.079168275), (0.6532308, -4.438715, -0.07916827), (-3.5470111, 1.8948942, -0.07916827), (-3.4202065, -4.2795305, -0.07916826), (0.9752473, 5, -0.07916827), (-2.5791836, -3.9594297, -0.07916827), (0.7880247, 4.5685573, -0.07916827), (-2.2214625, 4.7484856, -0.07916827), (4.3660884, 4.619149, -0.079168275), (2.1912475, 5, -0.07916827), (-2.9972596, -4.5849476, -0.079168275), (1.0886613, 3.811087, -0.079168275), (-1.1933123, 4.861399, -0.079168275), (-0.42837754, 4.1591473, -0.07916827), (1.6652398, 3.9359057, -0.079168275), (-2.2820668, -4.1633086, -0.07916827), (-3.6394649, -5, -0.079168275), (2.1491492, 0.86050814, -0.079168275), (2.670796, 5, -0.07916827), (1.2821605, 4.228902, -0.07916827), (-1.9561995, -4.034129, -0.07916827), (-2.9599385, -4.174161, -0.07916827), (-2.1948626, -5, -0.07916827), (-5, -3.6549814, -0.07916827), (3.2639298, 4.3699784, -0.079168275), (3.8020253, 0.85929537, -0.07916827), (-3.9140928, -4.5564733, -0.07916827), (-3.7698152, -4.157495, -0.079168275), (-4.0540133, -5, -0.079168275), (-4.3159823, -4.679113, -0.07916827), (4.409635, 4.2339067, -0.07916827), (-5, -4.8670497, -0.079168275), (-3.7468703, -3.736479, -0.07916827), (3.1333697, 4.880706, -0.079168275), (3.7837605, 4.080415, -0.07916827), (5, 4.808447, -0.07916827), (-4.729345, -4.5553637, -0.079168275), (5, 4.348623, -0.07916827), (4.1942563, 3.884944, -0.07916827), (-4.404907, -4.289323, -0.07916827), (4.0351343, 4.998, -0.07916828), (-4.7484217, -3.9822292, -0.07916827), (4.558625, 5, -0.07916827), (-4.1044354, -4.052985, -0.079168275), (-5, -4.2716846, -0.07916827), (-4.5294714, -5, -0.07916827), (5, 3.913188, -0.07916827)],
+ 5: [(4.1675253, -3.5916092, -0.13960855), (-0.77677006, -2.7297707, -0.13960855), (3.0630136, 1.158053, -0.13960856), (-4.2709227, 1.0144538, -0.13960856), (-3.044508, 4.2851124, -0.13960855), (0.29896238, 0.3106549, -0.13960858), (0.15971519, 3.7982178, -0.13960855), (0.3848841, -1.6533717, -0.13960856), (0.58787704, -3.3571897, -0.13960856), (4.113137, 0.4235462, -0.13960856), (2.3364277, 4.629844, -0.13960856), (-4.4072022, -3.7855508, -0.13960856), (2.6305351, -3.0152974, -0.13960856), (-0.32800487, 5, -0.13960856), (-4.423228, 2.7572892, -0.13960856), (0.72067314, 0.48032182, -0.13960856), (2.7783132, 4.408583, -0.13960856), (0.5235561, 1.9940797, -0.13960856), (-3.6079555, -1.103081, -0.13960858), (-4.6905637, 4.050367, -0.13960856), (4.6523604, -3.5442917, -0.13960856), (0.846675, 4.1522455, -0.13960856), (-3.3387394, -3.095033, -0.13960856), (1.3029603, 2.0271907, -0.13960856), (0.7090133, -0.11374539, -0.13960856), (2.9434667, 3.9371858, -0.13960856), (-1.957395, -1.295166, -0.13960855), (-2.5378819, 0.25532737, -0.13960856), (2.7822194, -2.20158, -0.13960856), (-2.1778595, 2.223699, -0.13960856), (-2.9153743, -0.90093225, -0.13960856), (0.16372001, 1.847963, -0.13960856), (0.51893455, 2.9131505, -0.13960856), (3.937106, 2.9227145, -0.13960856), (-1.150243, -4.334717, -0.13960856), (4.9943843, 3.4778712, -0.13960855), (-0.79614973, -1.6060177, -0.13960856), (0.81279016, -0.67148095, -0.13960858), (-0.60879153, 0.98583937, -0.13960856), (0.14318645, -2.1115084, -0.13960856), (2.209392, 2.1642263, -0.13960856), (-1.9529516, -0.47410214, -0.13960855), (3.9580522, -0.7834903, -0.13960856), (-0.9853899, 1.7057277, -0.13960856), (-2.5326447, -0.88900006, -0.13960856), (-1.6385394, -3.1866343, -0.13960856), (2.7824752, -3.7559679, -0.13960856), (-1.1081235, 0.16402376, -0.13960858), (-4.915382, -1.1118164, -0.13960856), (2.4458625, -1.4070538, -0.13960856), (-3.2303452, -0.7035627, -0.13960856), (-3.0455608, -2.8056617, -0.13960856), (-1.2546664, -3.0451941, -0.13960856), (-1.132415, -1.3642524, -0.13960856), (-1.578752, -3.9951396, -0.13960856), (4.3221517, 2.0829816, -0.13960856), (-4.2577195, -1.5047516, -0.13960856), (2.8562903, 0.0697684, -0.13960856), (0.65989065, 1.0402397, -0.13960856), (-2.5549412, -4.511527, -0.13960856), (-4.104018, -2.9322283, -0.13960858), (-5, 0.4470213, -0.13960858), (-3.0484476, 0.94580436, -0.13960856), (3.2602262, 3.4405003, -0.13960856), (1.910574, -2.0677114, -0.13960856), (-3.5228193, -0.23725545, -0.13960856), (3.7944171, -2.7523572, -0.13960856), (1.2122772, 3.1690722, -0.13960856), (2.646268, 2.4091716, -0.13960855), (4.8208714, -1.5148462, -0.13960856), (-1.2628251, -0.97338057, -0.13960856), (-1.4086337, -3.626728, -0.13960856), (-2.5653627, 2.9119213, -0.13960855), (-0.5645547, -0.79126203, -0.13960856), (-0.49555647, -1.7958064, -0.13960856), (-0.69743896, -2.3221412, -0.13960856), (4.4066095, 3.1025362, -0.13960856), (0.25015795, 0.8468384, -0.13960856), (-0.2631955, -1.0234504, -0.13960856), (3.1680245, 2.5463982, -0.13960856), (-4.6506653, 5, -0.13960856), (-4.6026554, 1.3711742, -0.13960856), (3.1056917, -5, -0.13960855), (-1.6525402, -2.4309952, -0.13960856), (-2.1106822, -2.6816633, -0.13960856), (-0.24840721, 3.6696415, -0.13960856), (-0.6457389, -0.46140188, -0.13960855), (-1.6083769, 2.8740814, -0.13960858), (2.6379557, 1.0427659, -0.13960856), (0.79618275, -1.4430921, -0.13960856), (-3.7965436, 3.8374155, -0.13960856), (1.9752188, 2.5091677, -0.13960856), (-2.694076, 2.1187503, -0.13960855), (-1.0504433, -0.63218683, -0.13960856), (4.848428, 0.8334273, -0.13960856), (-2.1824472, 3.082237, -0.13960856), (-4.092787, -0.65156513, -0.13960856), (0.89873743, 2.895908, -0.13960856), (4.523795, 1.2473478, -0.13960855), (-1.6789103, 1.9038124, -0.13960856), (-3.1786568, -0.11009467, -0.13960856), (-0.61424, 0.21318685, -0.13960856), (-0.7986419, -1.1155312, -0.13960856), (-1.2320653, 0.8163628, -0.13960856), (1.1412246, 2.525091, -0.13960856), (1.9273977, -0.9651795, -0.13960856), (-4.5596657, 3.6792166, -0.13960855), (-2.262162, 1.1849214, -0.13960855), (0.113197275, 3.2924771, -0.13960856), (1.6290038, 3.2055206, -0.13960856), (-2.446578, 0.72817385, -0.13960856), (-1.7607195, -3.5305445, -0.13960855), (-4.7049146, -0.2480207, -0.13960856), (-2.9548793, -3.2870576, -0.13960856), (-1.3188102, -2.1844149, -0.13960856), (-3.3425186, 4.5717764, -0.13960856), (1.6867588, 0.8332646, -0.13960856), (-2.6924903, 2.5347557, -0.13960856), (3.946361, -1.8196282, -0.13960856), (0.58144593, 3.8181074, -0.13960858), (-4.669978, 0.2947643, -0.13960856), (-3.3986003, -2.2893734, -0.13960856), (-4.499845, 0.60703975, -0.13960856), (2.4174178, 0.081225015, -0.13960856), (1.0346074, -3.40563, -0.13960856), (-0.54158366, 0.6029342, -0.13960856), (2.0036492, -1.6210043, -0.13960855), (2.960071, -2.7815025, -0.13960856), (-5, 3.7392359, -0.13960856), (-5, -0.550608, -0.13960856), (-2.6098526, -1.6135595, -0.13960856), (1.4168508, -4.343722, -0.13960856), (4.6505213, -0.38244194, -0.13960855), (-3.9158187, 2.6518154, -0.13960856), (-0.24592777, 2.5489948, -0.13960856), (4.4786706, -4.7318015, -0.13960856), (3.4778402, 1.2479651, -0.13960856), (4.479569, 0.18023989, -0.13960856), (-3.6428192, 0.64515233, -0.13960856), (-0.44626167, -0.13334084, -0.13960856), (1.948288, 0.43188542, -0.13960856), (-4.128481, 0.5693549, -0.13960858), (-2.470858, -3.5143464, -0.13960856), (-0.93176347, 2.50029, -0.13960856), (2.2185812, -2.8784413, -0.13960856), (-3.729115, -0.74608845, -0.13960856), (1.7652824, -0.4350059, -0.13960856), (2.2246711, 1.2588613, -0.13960856), (2.7583477, -1.7478126, -0.13960856), (-4.1926446, 3.8442082, -0.13960856), (-2.9509015, -2.4168572, -0.13960855), (3.6367447, 2.6199365, -0.13960856), (1.7322685, 1.305025, -0.13960856), (-3.7940397, -1.4844648, -0.13960856), (-1.6755497, -2.8002093, -0.13960856), (0.022063928, -0.79013604, -0.13960855), (-0.96260196, 0.54569656, -0.13960856), (3.3072467, -0.9135537, -0.13960858), (1.5632646, -3.269097, -0.13960856), (-5, 0.86214167, -0.13960856), (-3.2492566, 0.5828752, -0.13960856), (-1.5079819, -0.5821401, -0.13960856), (4.9387374, 0.36350498, -0.13960856), (-3.4121163, 3.4306142, -0.13960855), (0.13176313, -3.4746013, -0.13960856), (0.709214, -1.9858419, -0.13960856), (-1.5630611, -1.2484871, -0.13960856), (0.03241087, 2.2468557, -0.13960855), (3.4473739, -3.0606859, -0.13960855), (1.73114, -2.832135, -0.13960856), (2.5740058, 1.9272333, -0.13960856), (-3.690615, 2.2989857, -0.13960856), (-1.8381828, 3.895664, -0.13960856), (-2.5744328, -2.7397082, -0.13960856), (-1.8679609, 1.4551494, -0.13960856), (0.9246881, -2.4324229, -0.13960856), (-5, 1.7239665, -0.13960856), (-3.294413, 2.5873394, -0.13960856), (-0.56373024, 4.6852193, -0.13960856), (-3.4193523, 1.0151957, -0.13960856), (3.774835, 0.018045083, -0.13960856), (4.6500854, 1.7349203, -0.13960856), (2.6184115, -0.86865574, -0.13960856), (-0.5853549, 1.4739648, -0.13960858), (-0.9600792, 4.3892255, -0.13960856), (-0.16215548, -0.4251888, -0.13960858), (-3.6859374, 0.042075574, -0.13960856), (3.252489, 0.24011396, -0.13960855), (1.452841, -1.86128, -0.13960856), (2.524199, -4.6760807, -0.13960856), (-3.676933, -1.9359343, -0.13960856), (-2.2507145, 3.5440943, -0.13960856), (-1.666472, 0.7291404, -0.13960855), (-0.4095211, -1.3724262, -0.13960856), (1.8316506, 0.010112802, -0.13960856), (-3.5731125, 2.9705112, -0.13960856), (-3.4830365, -0.5244374, -0.13960856), (3.9857066, 2.358829, -0.13960856), (0.38376904, -0.58546525, -0.13960856), (3.551004, -2.137024, -0.13960856), (-4.9948573, 3.195249, -0.13960856), (-1.4798408, 0.3346703, -0.13960858), (4.1184993, -2.3783383, -0.13960855), (4.2108655, -2.9263844, -0.13960856), (-0.43327045, -3.4036884, -0.13960856), (0.68586004, -2.8782992, -0.13960856), (3.6272566, -5, -0.13960856), (3.5726898, -0.512856, -0.13960856), (-1.1838006, -2.5875456, -0.13960856), (1.5038911, 3.5771492, -0.13960856), (-3.3943617, -1.6605926, -0.13960856), (3.4036522, -2.6008737, -0.13960856), (-1.8888153, 0.24652381, -0.13960856), (-4.4230504, -2.281942, -0.13960856), (-4.5539827, -0.6731496, -0.13960856), (2.3644674, -1.9923637, -0.13960855), (-1.3392448, -0.1931145, -0.13960856), (-0.3232206, -2.122856, -0.13960858), (-1.7627387, -0.8964305, -0.13960856), (1.243882, 0.9710438, -0.13960856), (-3.161398, 1.7566656, -0.13960856), (-0.8450355, -3.184997, -0.13960856), (-0.16566065, 1.1299105, -0.13960856), (-4.4374137, 0.07002304, -0.13960856), (-2.7186272, 1.7507627, -0.13960856), (5.0000067, 1.3647715, -0.13960856), (4.267657, 0.8778892, -0.13960856), (-2.0234709, 2.6134577, -0.13960856), (-3.8983598, 3.4113889, -0.13960856), (2.7829998, 1.5261011, -0.13960856), (0.08417763, -1.2939843, -0.13960856), (-0.5842293, 2.7548964, -0.13960856), (-4.286697, -0.29913527, -0.13960856), (3.4782958, 2.1705437, -0.13960856), (0.57245094, 3.3586466, -0.13960856), (-0.1315123, 0.5949023, -0.13960856), (-0.19487128, -2.5357616, -0.13960856), (-1.9710425, 0.951295, -0.13960856), (0.24660568, -0.17372707, -0.13960856), (2.4799428, 0.56115615, -0.13960856), (-3.8800573, -2.4119542, -0.13960856), (-3.9655242, 1.3442367, -0.13960856), (-3.5511224, 1.4308455, -0.13960858), (1.2700526, -0.5780408, -0.13960856), (4.8415575, -3.1155064, -0.13960856), (-2.3618352, -0.44638133, -0.13960856), (-0.91238266, -0.18301672, -0.13960855), (4.369418, -1.3483201, -0.13960856), (2.5018234, -2.5069203, -0.13960855), (-0.42027217, 2.0421312, -0.13960855), (-3.2605479, -1.3212926, -0.13960856), (-0.9454622, -2.065709, -0.13960856), (1.536966, 2.4544578, -0.13960856), (4.883824, -2.22674, -0.13960856), (-1.797197, -5, -0.13960855), (1.3000917, 1.5308121, -0.13960855), (-3.899403, -0.26876053, -0.13960856), (-2.2178667, -0.046674963, -0.13960856), (-0.06693145, -1.7092235, -0.13960856), (4.5091753, -1.9070908, -0.13960856), (-1.0812895, 3.8179314, -0.13960856), (-2.7000394, -0.14477403, -0.13960856), (-2.6446025, 4.3151407, -0.13960856), (-3.8441133, 0.95818967, -0.13960856), (3.6161313, 0.4366354, -0.13960855), (1.1716098, -0.0819778, -0.13960855), (3.5216355, -1.5005776, -0.13960856), (-2.9714615, 0.20871249, -0.13960856), (2.2522943, 1.6478126, -0.13960855), (3.2672336, -0.23526803, -0.13960855), (0.11126099, 5, -0.13960856), (-1.0092968, 1.2116798, -0.13960856), (-4.8990855, -2.2275937, -0.13960856), (-5, 1.2735173, -0.13960856), (0.2429441, 1.4088402, -0.13960856), (-2.3153536, -1.9599248, -0.13960856), (-4.6716723, 0.9344406, -0.13960856), (3.1247122, -2.3272727, -0.13960856), (2.9146314, 0.5950423, -0.13960856), (-3.3910863, 0.23851617, -0.13960856), (-3.145431, 2.2107356, -0.13960856), (4.213621, 1.5930359, -0.13960855), (-1.7341952, -0.12857157, -0.13960856), (2.8071394, -0.41043028, -0.13960856), (-5, -0.015089936, -0.13960856), (-4.131485, -1.9315223, -0.13960856), (1.6213425, -1.310705, -0.13960856), (0.38640657, -2.462969, -0.13960856), (-4.5681295, 1.9387041, -0.13960856), (-2.536633, 1.442573, -0.13960856), (0.47415087, -1.0716817, -0.13960856), (-2.1571805, -0.8617872, -0.13960856), (-3.9786317, 1.8632076, -0.13960856), (-4.028914, -1.0830251, -0.13960856), (-2.814706, -1.2532787, -0.13960856), (-4.8969507, 2.3129294, -0.13960856), (-4.5265665, -3.3463922, -0.13960856), (-0.86200196, 2.1338737, -0.13960856), (-0.3297721, 3.1546624, -0.13960856), (1.1069463, -1.098658, -0.13960855), (-4.462968, -1.1023563, -0.13960856), (-2.6427307, 3.7944725, -0.13960856), (3.9101896, -4.545224, -0.13960856), (-3.3137555, -3.9082515, -0.13960856), (1.9118557, 2.9152627, -0.13960856), (-4.0575066, 4.535833, -0.13960856), (-0.20143773, 1.6376506, -0.13960856), (0.9244135, 1.8426661, -0.13960856), (-2.2280378, -1.5943184, -0.13960856), (-1.9005361, -1.7423644, -0.13960856), (-4.905829, -1.7469083, -0.13960856), (1.3314134, 0.40869403, -0.13960856), (0.9880774, 3.4476967, -0.13960856), (4.700355, 2.2989626, -0.13960856), (3.3222842, 0.77934504, -0.13960856), (4.8704863, 3.0527518, -0.13960858), (-1.798823, 3.3188813, -0.13960856), (1.3456954, -3.8684566, -0.13960856), (-2.7142322, -2.0297315, -0.13960856), (4.085998, -0.31188405, -0.13960856), (-4.0984755, 0.12988648, -0.13960856), (-2.3803995, -1.2397659, -0.13960856), (-2.6873393, 1.0582669, -0.13960856), (-2.457962, -2.367663, -0.13960856), (-2.7202566, -0.56821924, -0.13960856), (3.187807, -1.8262169, -0.13960856), (-4.227845, 2.2929158, -0.13960855), (1.8029767, 1.7459276, -0.13960856), (2.5509155, 3.7742693, -0.13960855), (-2.118374, -3.1332965, -0.13960856), (1.2195741, -2.811712, -0.13960856), (5, 1.9641619, -0.13960856), (3.2981553, 1.6917144, -0.13960856), (-5, 2.74453, -0.13960856), (2.9969578, 2.0579696, -0.13960855), (5, -2.676641, -0.13960856), (-0.8487135, -5, -0.13960856), (2.8189175, -4.220725, -0.13960856), (-2.0301058, -2.2340462, -0.13960858), (0.82970876, 2.335265, -0.13960855), (3.5506625, -3.5851626, -0.13960856), (-1.1782604, -1.7708973, -0.13960856), (0.75930357, 1.4551351, -0.13960856), (5, -0.5849647, -0.13960856), (-2.7767892, 3.3279035, -0.13960856), (2.553529, -3.398255, -0.13960855), (4.570615, -4.238119, -0.13960856), (2.9608986, -1.3160512, -0.13960856), (-0.17514324, -3.8522344, -0.13960856), (-0.101953454, -3.1570415, -0.13960856), (1.5234842, -2.339492, -0.13960858), (1.4296964, 2.8341029, -0.13960858), (1.7561272, 4.380782, -0.13960856), (-1.0723313, -3.5287337, -0.13960855), (2.0345762, -2.4679933, -0.13960856), (0.44816208, -3.8131561, -0.13960855), (5, -1.0629107, -0.13960856), (1.7431802, 2.118988, -0.13960855), (0.41237405, 2.4843163, -0.13960856), (-1.4916087, 3.649345, -0.13960855), (-3.2675304, -5, -0.13960856), (-3.1154294, -1.9979396, -0.13960856), (-3.2618809, -0.9995285, -0.13960856), (-4.064263, 3.0541208, -0.13960856), (-0.76241994, 3.3172708, -0.13960856), (2.264951, -0.53433055, -0.13960858), (-4.2876244, 1.5827179, -0.13960856), (-1.5162756, -1.6229932, -0.13960856), (3.819378, 1.8628191, -0.13960856), (-0.47550598, -4.685087, -0.13960856), (0.38981855, 4.325682, -0.13960858), (4.033512, 3.3525832, -0.13960856), (-2.9884648, -1.6262447, -0.13960855), (5, 2.545349, -0.13960856), (-0.6844387, 3.7916281, -0.13960856), (-1.2584084, 3.2883441, -0.13960856), (-0.6207092, -4.190244, -0.13960855), (-3.8071156, 0.3579687, -0.13960855), (-3.0379834, -0.42113027, -0.13960856), (-3.55517, -2.725853, -0.13960856), (-0.41772524, -2.9186316, -0.13960856), (2.0157034, 3.3970492, -0.13960856), (-3.362275, -3.5135303, -0.13960856), (3.8745968, 1.3536968, -0.13960856), (2.0778723, -3.3140366, -0.13960856), (-3.7713258, 4.2832685, -0.13960855), (-2.207372, 1.7748765, -0.13960856), (-1.059728, 2.9054053, -0.13960855), (2.1082826, 3.814939, -0.13960856), (-1.3871241, 2.4274974, -0.13960856), (-2.5897105, -3.113439, -0.13960856), (-1.3937116, 4.1820855, -0.13960856), (-0.12012148, 0.116398565, -0.13960855), (3.0715902, -3.3359728, -0.13960856), (0.20186128, -2.8999722, -0.13960856), (2.4276628, 3.2362323, -0.13960856), (-2.836889, 0.59232175, -0.13960856), (-2.1066372, -3.644615, -0.13960855), (1.3069409, 4.7210383, -0.13960855), (-2.1458519, 0.49736223, -0.13960856), (-2.907369, -3.6973875, -0.13960856), (-3.7388258, -3.2174716, -0.13960856), (-3.0451977, 1.3632972, -0.13960856), (0.08879909, 2.8419917, -0.13960856), (2.857374, 3.375093, -0.13960856), (-0.93909204, -4.634145, -0.13960856), (-1.4806738, 1.2547113, -0.13960856), (2.3027687, -3.7901351, -0.13960856), (2.3590229, 2.773762, -0.13960856), (-5, 4.796005, -0.13960855), (-0.6838821, -3.7407565, -0.13960856), (-3.4131536, 3.9990466, -0.13960856), (-4.0902896, -3.4784431, -0.13960856), (2.189017, -4.292632, -0.13960856), (3.725775, 3.5665636, -0.13960855), (3.2196527, -4.553553, -0.13960856), (-4.477837, 3.2683213, -0.13960856), (-2.9154353, -5, -0.13960856), (-1.1201291, -3.980856, -0.13960856), (-1.8532491, 4.49132, -0.13960856), (-0.019274898, 4.402428, -0.13960858), (3.4255326, 3.0426486, -0.13960856), (-1.6580068, -2.0154974, -0.13960856), (2.8737144, 2.8982449, -0.13960856), (4.8865533, -5, -0.13960856), (2.2563875, 4.2285457, -0.13960856), (-3.1511402, 5, -0.13960856), (4.502919, 3.5967453, -0.13960855), (-1.3529135, -5, -0.13960856), (4.1059256, -5, -0.13960856), (-3.4545324, -4.630971, -0.13960856), (3.3715467, 3.8758721, -0.13960856), (-4.186334, 4.998253, -0.13960856), (-0.008456694, -4.292852, -0.13960856), (-2.6662195, 4.8866997, -0.13960856), (1.7443, 4.867959, -0.13960856), (-2.5629616, -5, -0.13960856), (-4.4644732, 4.409126, -0.13960856), (-2.2383602, 4.099241, -0.13960856), (4.0010877, -4.073402, -0.13960856), (-3.0842934, 2.9832387, -0.13960856), (4.998435, -4.5332837, -0.13960856), (3.7061675, 4.5341334, -0.13960856), (4.4032564, 2.6492193, -0.13960856), (-1.4511706, -4.6499553, -0.13960856), (3.5392828, -4.176752, -0.13960856), (3.1908858, -3.8959794, -0.13960856), (-5, 4.277841, -0.13960856), (0.5306742, 5, -0.13960858), (-3.6721714, 4.9100623, -0.13960856), (-1.6903167, -4.38274, -0.13960855), (0.41369775, -4.8664417, -0.13960856), (-3.0709054, 3.7221785, -0.13960855), (-2.0758035, -4.5756283, -0.13960856), (0.6532308, -4.438715, -0.13960856), (-3.5470111, 1.8948942, -0.13960856), (-3.4202065, -4.2795305, -0.13960855), (0.9752473, 5, -0.13960855), (-2.5791836, -3.9594297, -0.13960856), (0.7880247, 4.5685573, -0.13960855), (-2.2214625, 4.7484856, -0.13960855), (4.3660884, 4.619149, -0.13960856), (2.1912475, 5, -0.13960856), (-2.9972596, -4.5849476, -0.13960856), (1.0886613, 3.811087, -0.13960856), (-1.1933123, 4.861399, -0.13960856), (-0.42837754, 4.1591473, -0.13960856), (1.6652398, 3.9359057, -0.13960856), (-2.2820668, -4.1633086, -0.13960855), (-3.6394649, -5, -0.13960856), (2.1491492, 0.86050814, -0.13960856), (2.670796, 5, -0.13960856), (1.2821605, 4.228902, -0.13960855), (-1.9561995, -4.034129, -0.13960856), (-2.9599385, -4.174161, -0.13960856), (-2.1948626, -5, -0.13960856), (-5, -3.6549814, -0.13960856), (3.2639298, 4.3699784, -0.13960858), (3.8020253, 0.85929537, -0.13960856), (-3.9140928, -4.5564733, -0.13960855), (-3.7698152, -4.157495, -0.13960856), (-4.0540133, -5, -0.13960858), (-4.3159823, -4.679113, -0.13960855), (4.409635, 4.2339067, -0.13960856), (-5, -4.8670497, -0.13960856), (-3.7468703, -3.736479, -0.13960856), (3.1333697, 4.880706, -0.13960856), (3.7837605, 4.080415, -0.13960856), (5, 4.808447, -0.13960855), (-4.729345, -4.5553637, -0.13960856), (5, 4.348623, -0.13960856), (4.1942563, 3.884944, -0.13960856), (-4.404907, -4.289323, -0.13960856), (4.0351343, 4.998, -0.13960856), (-4.7484217, -3.9822292, -0.13960856), (4.558625, 5, -0.13960856), (-4.1044354, -4.052985, -0.13960856), (-5, -4.2716846, -0.13960855), (-4.5294714, -5, -0.13960856), (5, 3.913188, -0.13960856)],
+ }
+ int[] protoIndices = []
+ int[] protoIndices.timeSamples = {
+ 1: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ }
+ rel prototypes = </Rocks/Instances/Prototypes/Rock_0>
+ uniform bool pruning:prunable = 0
+ float3[] scales = []
+ float3[] scales.timeSamples = {
+ 1: [(0.14172319, 0.14172319, 0.14172319), (0.10029252, 0.10029252, 0.10029252), (0.18134323, 0.18134323, 0.18134323), (0.12623805, 0.12623805, 0.12623805), (0.10022483, 0.10022483, 0.10022483), (0.11894938, 0.11894938, 0.11894938), (0.11161965, 0.11161965, 0.11161965), (0.16177759, 0.16177759, 0.16177759), (0.19162112, 0.19162112, 0.19162112), (0.15199168, 0.15199168, 0.15199168), (0.10936818, 0.10936818, 0.10936818), (0.1119827, 0.111982696, 0.111982696), (0.19744946, 0.19744946, 0.19744946), (0.19223702, 0.19223702, 0.19223702), (0.114910774, 0.114910774, 0.114910774), (0.10862304, 0.10862304, 0.10862304), (0.18047523, 0.18047523, 0.18047523), (0.18691078, 0.18691078, 0.18691078), (0.18762624, 0.18762624, 0.18762624), (0.102495134, 0.102495134, 0.102495134), (0.17481448, 0.17481448, 0.17481448), (0.13745625, 0.13745625, 0.13745625), (0.1169585, 0.1169585, 0.1169585), (0.13553365, 0.13553365, 0.13553365), (0.16723502, 0.16723502, 0.16723502), (0.19425061, 0.19425061, 0.19425061), (0.16002521, 0.16002521, 0.16002521), (0.1391068, 0.1391068, 0.1391068), (0.18550682, 0.18550682, 0.18550682), (0.10525586, 0.10525586, 0.10525586), (0.19929136, 0.19929136, 0.19929136), (0.1722306, 0.1722306, 0.1722306), (0.19501713, 0.19501713, 0.19501713), (0.19302395, 0.19302395, 0.19302395), (0.15721127, 0.15721127, 0.15721127), (0.19952482, 0.19952482, 0.19952482), (0.12173809, 0.12173809, 0.1217381), (0.19381942, 0.19381942, 0.19381942), (0.13378444, 0.13378444, 0.13378444), (0.19948044, 0.19948044, 0.19948044), (0.12811777, 0.12811777, 0.12811777), (0.1212849, 0.1212849, 0.1212849), (0.17964527, 0.17964527, 0.17964527), (0.13431281, 0.13431281, 0.13431281), (0.1582495, 0.1582495, 0.1582495), (0.18623838, 0.18623838, 0.18623838), (0.18141069, 0.18141069, 0.18141069), (0.11646598, 0.11646598, 0.11646598), (0.16494167, 0.16494167, 0.16494167), (0.13916416, 0.13916416, 0.13916416), (0.13589337, 0.13589337, 0.13589337), (0.13020925, 0.13020925, 0.13020925), (0.19353762, 0.19353762, 0.19353762), (0.19642974, 0.19642974, 0.19642974), (0.17435914, 0.17435914, 0.17435914), (0.1696752, 0.1696752, 0.1696752), (0.18771876, 0.18771876, 0.18771876), (0.14476237, 0.14476237, 0.14476237), (0.114282645, 0.114282645, 0.114282645), (0.10797047, 0.10797047, 0.10797047), (0.15342611, 0.15342611, 0.15342611), (0.10040834, 0.10040834, 0.10040834), (0.10364749, 0.10364749, 0.10364749), (0.18283775, 0.18283775, 0.18283775), (0.11108214, 0.11108214, 0.11108214), (0.14308448, 0.14308448, 0.14308448), (0.121854395, 0.121854395, 0.121854395), (0.11287031, 0.11287031, 0.11287031), (0.1706352, 0.1706352, 0.1706352), (0.16552845, 0.16552845, 0.16552845), (0.15867262, 0.15867262, 0.15867262), (0.10241511, 0.10241511, 0.10241511), (0.17420247, 0.17420247, 0.17420247), (0.1869008, 0.1869008, 0.1869008), (0.13819286, 0.13819286, 0.13819286), (0.18617925, 0.18617925, 0.18617925), (0.18544312, 0.18544312, 0.18544312), (0.16783936, 0.16783936, 0.16783936), (0.17528448, 0.17528448, 0.17528448), (0.15134707, 0.15134707, 0.15134707), (0.13206375, 0.13206375, 0.13206375), (0.16306287, 0.16306287, 0.16306287), (0.1575478, 0.1575478, 0.1575478), (0.1000997, 0.1000997, 0.1000997), (0.10777086, 0.10777086, 0.10777086), (0.14056571, 0.14056571, 0.14056571), (0.13948797, 0.13948797, 0.13948797), (0.12682317, 0.12682317, 0.12682317), (0.165428, 0.165428, 0.165428), (0.16638756, 0.16638756, 0.16638756), (0.101214744, 0.101214744, 0.101214744), (0.14729013, 0.14729013, 0.14729013), (0.17486918, 0.17486918, 0.17486918), (0.18100545, 0.18100545, 0.18100545), (0.15057571, 0.15057571, 0.15057571), (0.17140004, 0.17140004, 0.17140004), (0.13447945, 0.13447945, 0.13447945), (0.1981385, 0.1981385, 0.1981385), (0.15300599, 0.15300599, 0.15300599), (0.17432371, 0.17432371, 0.17432371), (0.12847671, 0.12847671, 0.12847671), (0.1300669, 0.1300669, 0.1300669), (0.10183531, 0.10183531, 0.10183531), (0.1709834, 0.1709834, 0.1709834), (0.11164422, 0.11164422, 0.11164422), (0.19489469, 0.19489469, 0.19489469), (0.12366511, 0.12366511, 0.12366511), (0.18187001, 0.18187001, 0.18187001), (0.15558699, 0.15558699, 0.15558699), (0.17849174, 0.17849174, 0.17849174), (0.19696003, 0.19696003, 0.19696003), (0.18857506, 0.18857506, 0.18857506), (0.10675031, 0.10675031, 0.10675031), (0.13809735, 0.13809735, 0.13809735), (0.18451662, 0.18451662, 0.18451662), (0.19021323, 0.19021323, 0.19021323), (0.13331154, 0.13331154, 0.13331154), (0.14633088, 0.14633088, 0.14633088), (0.15028134, 0.15028134, 0.15028134), (0.171864, 0.171864, 0.171864), (0.11130679, 0.11130679, 0.11130679), (0.1502267, 0.1502267, 0.1502267), (0.13423976, 0.13423976, 0.13423976), (0.18497759, 0.18497759, 0.18497759), (0.1736241, 0.1736241, 0.1736241), (0.12646134, 0.12646134, 0.12646134), (0.15853566, 0.15853566, 0.15853566), (0.17965382, 0.17965382, 0.17965382), (0.14735726, 0.14735726, 0.14735726), (0.13624248, 0.13624248, 0.13624248), (0.15266715, 0.15266715, 0.15266715), (0.19821939, 0.19821939, 0.19821939), (0.12530683, 0.12530683, 0.12530683), (0.19621356, 0.19621356, 0.19621356), (0.14824396, 0.14824396, 0.14824396), (0.15224026, 0.15224026, 0.15224026), (0.100351825, 0.100351825, 0.100351825), (0.17223835, 0.17223835, 0.17223835), (0.19334838, 0.19334838, 0.19334838), (0.100710765, 0.100710765, 0.100710765), (0.14842908, 0.14842908, 0.14842908), (0.13557956, 0.13557956, 0.13557956), (0.113662355, 0.113662355, 0.113662355), (0.15893427, 0.15893427, 0.15893427), (0.12692566, 0.12692566, 0.12692566), (0.16886988, 0.16886988, 0.16886988), (0.16833937, 0.16833937, 0.16833937), (0.17621502, 0.17621502, 0.17621502), (0.1782211, 0.1782211, 0.1782211), (0.11921705, 0.11921705, 0.11921705), (0.15935126, 0.15935126, 0.15935126), (0.16305056, 0.16305056, 0.16305056), (0.16741821, 0.16741821, 0.16741821), (0.11838294, 0.11838293, 0.11838293), (0.16467193, 0.16467193, 0.16467193), (0.17874432, 0.17874432, 0.17874432), (0.16803929, 0.16803929, 0.16803929), (0.111399114, 0.111399114, 0.111399114), (0.14289968, 0.14289968, 0.14289968), (0.10486378, 0.10486378, 0.10486378), (0.121137574, 0.121137574, 0.121137574), (0.1772308, 0.1772308, 0.1772308), (0.19579127, 0.19579127, 0.19579127), (0.17045128, 0.17045128, 0.17045128), (0.12121004, 0.121210046, 0.12121004), (0.1213617, 0.1213617, 0.1213617), (0.10162039, 0.1016204, 0.1016204), (0.18314496, 0.18314496, 0.18314496), (0.11487794, 0.11487794, 0.11487794), (0.15579394, 0.15579394, 0.15579394), (0.14748974, 0.14748974, 0.14748974), (0.11478952, 0.11478952, 0.11478952), (0.10363876, 0.10363876, 0.10363876), (0.17962754, 0.17962754, 0.17962754), (0.13167714, 0.13167714, 0.13167714), (0.11226555, 0.11226555, 0.11226555), (0.12721995, 0.12721995, 0.12721995), (0.17548874, 0.17548874, 0.17548874), (0.13268617, 0.13268617, 0.13268617), (0.18352199, 0.18352199, 0.18352199), (0.1878573, 0.1878573, 0.1878573), (0.16555044, 0.16555044, 0.16555044), (0.1713369, 0.1713369, 0.1713369), (0.18597813, 0.18597813, 0.18597813), (0.13642877, 0.13642877, 0.13642877), (0.19658181, 0.19658181, 0.19658181), (0.11448326, 0.11448326, 0.11448326), (0.13080463, 0.13080463, 0.13080463), (0.16562164, 0.16562164, 0.16562164), (0.10473912, 0.10473912, 0.10473912), (0.117193975, 0.117193975, 0.117193975), (0.14800587, 0.14800587, 0.14800587), (0.12771049, 0.12771049, 0.12771049), (0.12175891, 0.12175891, 0.12175891), (0.19834013, 0.19834013, 0.19834013), (0.11507412, 0.11507412, 0.11507412), (0.14767495, 0.14767495, 0.14767495), (0.1103148, 0.1103148, 0.110314794), (0.1574498, 0.1574498, 0.1574498), (0.12407453, 0.12407453, 0.12407453), (0.14487734, 0.14487734, 0.14487734), (0.1517503, 0.1517503, 0.1517503), (0.16031215, 0.16031215, 0.16031215), (0.15580858, 0.15580858, 0.15580858), (0.19662309, 0.19662309, 0.19662309), (0.17229593, 0.17229593, 0.17229593), (0.10967554, 0.10967554, 0.10967554), (0.14279902, 0.14279902, 0.14279902), (0.1367748, 0.1367748, 0.1367748), (0.17064096, 0.17064096, 0.17064096), (0.10903813, 0.10903813, 0.10903813), (0.13121553, 0.13121553, 0.13121553), (0.1096869, 0.1096869, 0.1096869), (0.10164373, 0.10164373, 0.10164373), (0.11891883, 0.11891883, 0.11891883), (0.18912748, 0.18912748, 0.18912748), (0.17561358, 0.17561358, 0.17561358), (0.17143068, 0.17143068, 0.17143068), (0.14112458, 0.14112458, 0.14112458), (0.111915305, 0.111915305, 0.111915305), (0.17877343, 0.17877343, 0.17877343), (0.106223, 0.106223, 0.106223), (0.13184862, 0.13184862, 0.13184862), (0.10847034, 0.10847034, 0.10847034), (0.19618687, 0.19618687, 0.19618687), (0.15895997, 0.15895997, 0.15895997), (0.13853732, 0.13853732, 0.13853732), (0.10795692, 0.10795692, 0.10795692), (0.19710794, 0.19710794, 0.19710794), (0.14396106, 0.14396106, 0.14396106), (0.1776239, 0.1776239, 0.1776239), (0.18442112, 0.18442112, 0.18442112), (0.13195619, 0.13195619, 0.13195619), (0.19108248, 0.19108248, 0.19108248), (0.14590731, 0.14590731, 0.14590731), (0.10174266, 0.10174266, 0.10174266), (0.13995983, 0.13995983, 0.13995983), (0.13090616, 0.13090616, 0.13090616), (0.14151147, 0.14151147, 0.14151147), (0.12882674, 0.12882674, 0.12882674), (0.12586424, 0.12586424, 0.12586424), (0.16837966, 0.16837966, 0.16837966), (0.12348554, 0.12348554, 0.12348554), (0.100051574, 0.100051574, 0.100051574), (0.18468678, 0.18468678, 0.18468678), (0.1815013, 0.1815013, 0.1815013), (0.19576788, 0.19576788, 0.19576788), (0.16287561, 0.16287561, 0.16287561), (0.14857875, 0.14857875, 0.14857875), (0.16071053, 0.16071053, 0.16071053), (0.17977396, 0.17977396, 0.17977396), (0.1344373, 0.1344373, 0.1344373), (0.12265878, 0.12265878, 0.12265878), (0.18105084, 0.18105084, 0.18105084), (0.11038053, 0.11038053, 0.11038053), (0.16433293, 0.16433293, 0.16433293), (0.18472075, 0.18472075, 0.18472075), (0.11469215, 0.11469215, 0.11469215), (0.10712121, 0.10712121, 0.10712121), (0.15059352, 0.15059352, 0.15059352), (0.1425719, 0.1425719, 0.1425719), (0.16783395, 0.16783395, 0.16783395), (0.19678757, 0.19678757, 0.19678757), (0.14226696, 0.14226696, 0.14226696), (0.14613333, 0.14613333, 0.14613333), (0.10262809, 0.10262809, 0.10262809), (0.18386772, 0.18386772, 0.18386772), (0.13754506, 0.13754506, 0.13754506), (0.19104421, 0.19104421, 0.1910442), (0.19941677, 0.19941677, 0.19941677), (0.17862856, 0.17862856, 0.17862856), (0.12512408, 0.12512408, 0.12512408), (0.1563856, 0.1563856, 0.1563856), (0.10410943, 0.10410943, 0.10410943), (0.17045668, 0.17045668, 0.17045668), (0.10356156, 0.10356156, 0.10356156), (0.1805349, 0.1805349, 0.1805349), (0.11961666, 0.11961666, 0.11961666), (0.10780964, 0.10780964, 0.10780964), (0.17932215, 0.17932215, 0.17932215), (0.16883194, 0.16883194, 0.16883194), (0.19077508, 0.19077507, 0.19077507), (0.15793861, 0.15793861, 0.15793861), (0.111792766, 0.11179276, 0.11179276), (0.17236096, 0.17236096, 0.17236096), (0.15511994, 0.15511994, 0.15511994), (0.11863964, 0.11863964, 0.11863964), (0.11032846, 0.11032846, 0.11032846), (0.11355084, 0.11355084, 0.11355084), (0.10354251, 0.10354251, 0.10354251), (0.15110308, 0.15110308, 0.15110308), (0.1716482, 0.1716482, 0.1716482), (0.11343519, 0.11343519, 0.11343519), (0.11484221, 0.11484221, 0.11484221), (0.15928078, 0.15928078, 0.15928078), (0.16131136, 0.16131136, 0.16131136), (0.19311708, 0.19311708, 0.19311708), (0.12065772, 0.12065772, 0.12065772), (0.19413377, 0.19413377, 0.19413377), (0.13790147, 0.13790147, 0.13790147), (0.19463432, 0.19463432, 0.19463432), (0.16946983, 0.16946983, 0.16946983), (0.16419846, 0.16419846, 0.16419846), (0.14034523, 0.14034523, 0.14034523), (0.15334319, 0.15334319, 0.15334319), (0.1724496, 0.1724496, 0.1724496), (0.13479161, 0.13479161, 0.13479161), (0.18435813, 0.18435813, 0.18435813), (0.1639334, 0.1639334, 0.1639334), (0.15776677, 0.15776677, 0.15776677), (0.14450797, 0.14450797, 0.14450797), (0.122769214, 0.122769214, 0.122769214), (0.17423299, 0.17423299, 0.17423299), (0.19037694, 0.19037694, 0.19037694), (0.11361282, 0.11361282, 0.11361282), (0.14458582, 0.14458582, 0.14458582), (0.14501567, 0.14501567, 0.14501567), (0.14522895, 0.14522895, 0.14522895), (0.12436036, 0.12436036, 0.12436036), (0.13267854, 0.13267854, 0.13267854), (0.13636823, 0.13636823, 0.13636823), (0.17360517, 0.17360517, 0.17360517), (0.19406614, 0.19406614, 0.19406614), (0.149205, 0.149205, 0.149205), (0.10046536, 0.10046536, 0.10046536), (0.18648931, 0.18648931, 0.18648931), (0.16292405, 0.16292405, 0.16292405), (0.1428356, 0.1428356, 0.1428356), (0.19358882, 0.19358882, 0.19358882), (0.17513084, 0.17513084, 0.17513084), (0.13694672, 0.13694672, 0.13694672), (0.11225305, 0.11225305, 0.11225305), (0.11133621, 0.11133621, 0.11133621), (0.19783857, 0.19783857, 0.19783857), (0.15065423, 0.15065423, 0.15065423), (0.14954138, 0.14954138, 0.14954138), (0.1107749, 0.1107749, 0.1107749), (0.19611081, 0.19611081, 0.19611081), (0.18178824, 0.18178824, 0.18178824), (0.1639154, 0.1639154, 0.1639154), (0.18216372, 0.18216372, 0.18216372), (0.15550277, 0.15550277, 0.15550277), (0.18769147, 0.18769147, 0.18769147), (0.18095958, 0.18095958, 0.18095958), (0.19253144, 0.19253144, 0.19253144), (0.18900585, 0.18900585, 0.18900585), (0.13973562, 0.13973562, 0.13973562), (0.14814948, 0.14814948, 0.14814948), (0.18449296, 0.18449296, 0.18449296), (0.11284067, 0.11284067, 0.11284067), (0.101560704, 0.101560704, 0.101560704), (0.16244091, 0.16244091, 0.16244091), (0.17782182, 0.17782182, 0.17782182), (0.122980155, 0.122980155, 0.122980155), (0.12862383, 0.12862383, 0.12862383), (0.17066385, 0.17066385, 0.17066385), (0.10373427, 0.10373427, 0.10373427), (0.12717757, 0.12717757, 0.12717757), (0.10348429, 0.10348429, 0.103484295), (0.19692996, 0.19692996, 0.19692996), (0.10615195, 0.106151946, 0.10615195), (0.18180639, 0.18180639, 0.18180639), (0.19755353, 0.19755353, 0.19755353), (0.18082553, 0.18082553, 0.18082553), (0.18312263, 0.18312263, 0.18312263), (0.19133726, 0.19133726, 0.19133726), (0.13329647, 0.13329647, 0.13329647), (0.19921127, 0.19921127, 0.19921127), (0.14216883, 0.14216883, 0.14216883), (0.12793967, 0.12793967, 0.12793967), (0.17537344, 0.17537344, 0.17537344), (0.18933117, 0.18933117, 0.18933117), (0.105730586, 0.105730586, 0.105730586), (0.19162282, 0.19162282, 0.19162282), (0.19230664, 0.19230664, 0.19230664), (0.18816158, 0.18816158, 0.18816158), (0.1622675, 0.1622675, 0.1622675), (0.12614508, 0.12614508, 0.12614508), (0.18374053, 0.18374053, 0.18374053), (0.14540528, 0.14540528, 0.14540528), (0.13605313, 0.13605313, 0.13605313), (0.19362248, 0.19362248, 0.19362248), (0.12749226, 0.12749226, 0.12749226), (0.1415241, 0.1415241, 0.1415241), (0.10816063, 0.10816063, 0.10816063), (0.17168577, 0.17168577, 0.17168577), (0.18647833, 0.18647833, 0.18647833), (0.15950616, 0.15950616, 0.15950616), (0.19573213, 0.19573213, 0.19573213), (0.1837504, 0.1837504, 0.1837504), (0.13568276, 0.13568276, 0.13568276), (0.19487908, 0.19487908, 0.19487908), (0.10879818, 0.10879818, 0.10879818), (0.13713503, 0.13713503, 0.13713503), (0.111651875, 0.111651875, 0.111651875), (0.19634676, 0.19634676, 0.19634676), (0.17455313, 0.17455313, 0.17455313), (0.19435436, 0.19435436, 0.19435436), (0.104394, 0.104394, 0.104394), (0.17708337, 0.17708337, 0.17708337), (0.15122269, 0.15122269, 0.15122269), (0.13346812, 0.13346812, 0.13346812), (0.16913584, 0.16913584, 0.16913584), (0.18239708, 0.18239708, 0.18239708), (0.1473836, 0.1473836, 0.1473836), (0.17306608, 0.17306608, 0.17306608), (0.112129405, 0.112129405, 0.112129405), (0.12645203, 0.12645203, 0.12645203), (0.1853979, 0.1853979, 0.1853979), (0.12736014, 0.12736014, 0.12736014), (0.19915605, 0.19915605, 0.19915605), (0.18204685, 0.18204683, 0.18204683), (0.16520208, 0.16520208, 0.16520208), (0.11824369, 0.118243694, 0.118243694), (0.15308033, 0.15308033, 0.15308033), (0.12590967, 0.12590967, 0.12590967), (0.14154476, 0.14154476, 0.14154476), (0.10246736, 0.10246736, 0.102467366), (0.17029068, 0.17029068, 0.17029068), (0.12534645, 0.12534645, 0.12534645), (0.19121689, 0.19121689, 0.19121689), (0.12854327, 0.12854327, 0.12854327), (0.1907922, 0.1907922, 0.1907922), (0.19230428, 0.19230428, 0.19230428), (0.14528608, 0.14528608, 0.14528608), (0.10790823, 0.10790823, 0.10790823), (0.1574128, 0.1574128, 0.1574128), (0.15500368, 0.15500368, 0.15500368), (0.1764029, 0.1764029, 0.1764029), (0.15347946, 0.15347946, 0.15347946), (0.11467518, 0.11467518, 0.11467518), (0.16159739, 0.16159739, 0.16159739), (0.15059125, 0.15059125, 0.15059125), (0.19879603, 0.19879603, 0.19879603), (0.14504734, 0.14504734, 0.14504734), (0.16576114, 0.16576114, 0.16576114), (0.15047891, 0.15047891, 0.15047891), (0.190952, 0.190952, 0.190952), (0.19337532, 0.19337532, 0.19337532), (0.19679457, 0.19679457, 0.19679457), (0.10334339, 0.10334339, 0.10334339), (0.17556727, 0.17556727, 0.17556727), (0.109160386, 0.109160386, 0.109160386), (0.16814616, 0.16814616, 0.16814616), (0.18584998, 0.18584998, 0.18584998), (0.18098828, 0.18098828, 0.18098828), (0.103529386, 0.103529386, 0.103529386), (0.12700284, 0.12700284, 0.12700284), (0.13043144, 0.13043144, 0.13043144), (0.16309232, 0.16309232, 0.16309232), (0.14710145, 0.14710145, 0.14710145), (0.18220225, 0.18220225, 0.18220225), (0.19372457, 0.19372457, 0.19372457), (0.1465819, 0.1465819, 0.1465819), (0.18756133, 0.18756133, 0.18756133), (0.13876925, 0.13876925, 0.13876925), (0.104977384, 0.104977384, 0.104977384), (0.16696888, 0.16696888, 0.16696888), (0.13962445, 0.13962445, 0.13962445), (0.15586458, 0.15586458, 0.15586458), (0.102442525, 0.102442525, 0.102442525), (0.13659693, 0.13659693, 0.13659693), (0.19891, 0.19891, 0.19891), (0.19837989, 0.19837989, 0.19837989), (0.13991955, 0.13991955, 0.13991955), (0.17686398, 0.17686398, 0.17686398), (0.101206616, 0.101206616, 0.101206616), (0.13854046, 0.13854046, 0.13854046), (0.18138227, 0.18138227, 0.18138227), (0.10703174, 0.10703174, 0.10703174), (0.121638566, 0.121638566, 0.121638566), (0.16535184, 0.16535184, 0.16535184), (0.13047335, 0.13047335, 0.13047335), (0.11087233, 0.11087233, 0.11087233), (0.100131296, 0.100131296, 0.100131296), (0.19520906, 0.19520906, 0.19520906), (0.11774472, 0.11774472, 0.11774472), (0.18132432, 0.18132432, 0.18132432), (0.12041959, 0.12041959, 0.12041959), (0.19871294, 0.19871294, 0.19871294), (0.13350035, 0.13350035, 0.13350035), (0.114277594, 0.114277594, 0.114277594), (0.18774438, 0.18774438, 0.18774438), (0.11237246, 0.11237246, 0.11237246), (0.15174346, 0.15174346, 0.15174346), (0.13342075, 0.13342075, 0.13342075), (0.14047433, 0.14047433, 0.14047433), (0.18736804, 0.18736804, 0.18736804), (0.19306973, 0.19306973, 0.19306973), (0.19271255, 0.19271255, 0.19271255), (0.18320185, 0.18320185, 0.18320185), (0.15679277, 0.15679277, 0.15679277), (0.12971446, 0.12971446, 0.12971446), (0.17852679, 0.17852679, 0.17852679), (0.18606336, 0.18606336, 0.18606336), (0.16333368, 0.16333368, 0.16333368), (0.10447112, 0.104471125, 0.104471125), (0.12389205, 0.12389205, 0.12389205), (0.117913395, 0.117913395, 0.117913395), (0.11551177, 0.11551177, 0.11551177)],
+ 2: [(0.14172319, 0.14172319, 0.14172319), (0.10029252, 0.10029252, 0.10029252), (0.18134323, 0.18134323, 0.18134323), (0.12623805, 0.12623805, 0.12623805), (0.10022483, 0.10022483, 0.10022483), (0.11894938, 0.11894938, 0.11894938), (0.11161965, 0.11161965, 0.11161965), (0.16177759, 0.16177759, 0.16177759), (0.19162112, 0.19162112, 0.19162112), (0.15199168, 0.15199168, 0.15199168), (0.10936818, 0.10936818, 0.10936818), (0.1119827, 0.111982696, 0.111982696), (0.19744946, 0.19744946, 0.19744946), (0.19223702, 0.19223702, 0.19223702), (0.114910774, 0.114910774, 0.114910774), (0.10862304, 0.10862304, 0.10862304), (0.18047523, 0.18047523, 0.18047523), (0.18691078, 0.18691078, 0.18691078), (0.18762624, 0.18762624, 0.18762624), (0.102495134, 0.102495134, 0.102495134), (0.17481448, 0.17481448, 0.17481448), (0.13745625, 0.13745625, 0.13745625), (0.1169585, 0.1169585, 0.1169585), (0.13553365, 0.13553365, 0.13553365), (0.16723502, 0.16723502, 0.16723502), (0.19425061, 0.19425061, 0.19425061), (0.16002521, 0.16002521, 0.16002521), (0.1391068, 0.1391068, 0.1391068), (0.18550682, 0.18550682, 0.18550682), (0.10525586, 0.10525586, 0.10525586), (0.19929136, 0.19929136, 0.19929136), (0.1722306, 0.1722306, 0.1722306), (0.19501713, 0.19501713, 0.19501713), (0.19302395, 0.19302395, 0.19302395), (0.15721127, 0.15721127, 0.15721127), (0.19952482, 0.19952482, 0.19952482), (0.12173809, 0.12173809, 0.1217381), (0.19381942, 0.19381942, 0.19381942), (0.13378444, 0.13378444, 0.13378444), (0.19948044, 0.19948044, 0.19948044), (0.12811777, 0.12811777, 0.12811777), (0.1212849, 0.1212849, 0.1212849), (0.17964527, 0.17964527, 0.17964527), (0.13431281, 0.13431281, 0.13431281), (0.1582495, 0.1582495, 0.1582495), (0.18623838, 0.18623838, 0.18623838), (0.18141069, 0.18141069, 0.18141069), (0.11646598, 0.11646598, 0.11646598), (0.16494167, 0.16494167, 0.16494167), (0.13916416, 0.13916416, 0.13916416), (0.13589337, 0.13589337, 0.13589337), (0.13020925, 0.13020925, 0.13020925), (0.19353762, 0.19353762, 0.19353762), (0.19642974, 0.19642974, 0.19642974), (0.17435914, 0.17435914, 0.17435914), (0.1696752, 0.1696752, 0.1696752), (0.18771876, 0.18771876, 0.18771876), (0.14476237, 0.14476237, 0.14476237), (0.114282645, 0.114282645, 0.114282645), (0.10797047, 0.10797047, 0.10797047), (0.15342611, 0.15342611, 0.15342611), (0.10040834, 0.10040834, 0.10040834), (0.10364749, 0.10364749, 0.10364749), (0.18283775, 0.18283775, 0.18283775), (0.11108214, 0.11108214, 0.11108214), (0.14308448, 0.14308448, 0.14308448), (0.121854395, 0.121854395, 0.121854395), (0.11287031, 0.11287031, 0.11287031), (0.1706352, 0.1706352, 0.1706352), (0.16552845, 0.16552845, 0.16552845), (0.15867262, 0.15867262, 0.15867262), (0.10241511, 0.10241511, 0.10241511), (0.17420247, 0.17420247, 0.17420247), (0.1869008, 0.1869008, 0.1869008), (0.13819286, 0.13819286, 0.13819286), (0.18617925, 0.18617925, 0.18617925), (0.18544312, 0.18544312, 0.18544312), (0.16783936, 0.16783936, 0.16783936), (0.17528448, 0.17528448, 0.17528448), (0.15134707, 0.15134707, 0.15134707), (0.13206375, 0.13206375, 0.13206375), (0.16306287, 0.16306287, 0.16306287), (0.1575478, 0.1575478, 0.1575478), (0.1000997, 0.1000997, 0.1000997), (0.10777086, 0.10777086, 0.10777086), (0.14056571, 0.14056571, 0.14056571), (0.13948797, 0.13948797, 0.13948797), (0.12682317, 0.12682317, 0.12682317), (0.165428, 0.165428, 0.165428), (0.16638756, 0.16638756, 0.16638756), (0.101214744, 0.101214744, 0.101214744), (0.14729013, 0.14729013, 0.14729013), (0.17486918, 0.17486918, 0.17486918), (0.18100545, 0.18100545, 0.18100545), (0.15057571, 0.15057571, 0.15057571), (0.17140004, 0.17140004, 0.17140004), (0.13447945, 0.13447945, 0.13447945), (0.1981385, 0.1981385, 0.1981385), (0.15300599, 0.15300599, 0.15300599), (0.17432371, 0.17432371, 0.17432371), (0.12847671, 0.12847671, 0.12847671), (0.1300669, 0.1300669, 0.1300669), (0.10183531, 0.10183531, 0.10183531), (0.1709834, 0.1709834, 0.1709834), (0.11164422, 0.11164422, 0.11164422), (0.19489469, 0.19489469, 0.19489469), (0.12366511, 0.12366511, 0.12366511), (0.18187001, 0.18187001, 0.18187001), (0.15558699, 0.15558699, 0.15558699), (0.17849174, 0.17849174, 0.17849174), (0.19696003, 0.19696003, 0.19696003), (0.18857506, 0.18857506, 0.18857506), (0.10675031, 0.10675031, 0.10675031), (0.13809735, 0.13809735, 0.13809735), (0.18451662, 0.18451662, 0.18451662), (0.19021323, 0.19021323, 0.19021323), (0.13331154, 0.13331154, 0.13331154), (0.14633088, 0.14633088, 0.14633088), (0.15028134, 0.15028134, 0.15028134), (0.171864, 0.171864, 0.171864), (0.11130679, 0.11130679, 0.11130679), (0.1502267, 0.1502267, 0.1502267), (0.13423976, 0.13423976, 0.13423976), (0.18497759, 0.18497759, 0.18497759), (0.1736241, 0.1736241, 0.1736241), (0.12646134, 0.12646134, 0.12646134), (0.15853566, 0.15853566, 0.15853566), (0.17965382, 0.17965382, 0.17965382), (0.14735726, 0.14735726, 0.14735726), (0.13624248, 0.13624248, 0.13624248), (0.15266715, 0.15266715, 0.15266715), (0.19821939, 0.19821939, 0.19821939), (0.12530683, 0.12530683, 0.12530683), (0.19621356, 0.19621356, 0.19621356), (0.14824396, 0.14824396, 0.14824396), (0.15224026, 0.15224026, 0.15224026), (0.100351825, 0.100351825, 0.100351825), (0.17223835, 0.17223835, 0.17223835), (0.19334838, 0.19334838, 0.19334838), (0.100710765, 0.100710765, 0.100710765), (0.14842908, 0.14842908, 0.14842908), (0.13557956, 0.13557956, 0.13557956), (0.113662355, 0.113662355, 0.113662355), (0.15893427, 0.15893427, 0.15893427), (0.12692566, 0.12692566, 0.12692566), (0.16886988, 0.16886988, 0.16886988), (0.16833937, 0.16833937, 0.16833937), (0.17621502, 0.17621502, 0.17621502), (0.1782211, 0.1782211, 0.1782211), (0.11921705, 0.11921705, 0.11921705), (0.15935126, 0.15935126, 0.15935126), (0.16305056, 0.16305056, 0.16305056), (0.16741821, 0.16741821, 0.16741821), (0.11838294, 0.11838293, 0.11838293), (0.16467193, 0.16467193, 0.16467193), (0.17874432, 0.17874432, 0.17874432), (0.16803929, 0.16803929, 0.16803929), (0.111399114, 0.111399114, 0.111399114), (0.14289968, 0.14289968, 0.14289968), (0.10486378, 0.10486378, 0.10486378), (0.121137574, 0.121137574, 0.121137574), (0.1772308, 0.1772308, 0.1772308), (0.19579127, 0.19579127, 0.19579127), (0.17045128, 0.17045128, 0.17045128), (0.12121004, 0.121210046, 0.12121004), (0.1213617, 0.1213617, 0.1213617), (0.10162039, 0.1016204, 0.1016204), (0.18314496, 0.18314496, 0.18314496), (0.11487794, 0.11487794, 0.11487794), (0.15579394, 0.15579394, 0.15579394), (0.14748974, 0.14748974, 0.14748974), (0.11478952, 0.11478952, 0.11478952), (0.10363876, 0.10363876, 0.10363876), (0.17962754, 0.17962754, 0.17962754), (0.13167714, 0.13167714, 0.13167714), (0.11226555, 0.11226555, 0.11226555), (0.12721995, 0.12721995, 0.12721995), (0.17548874, 0.17548874, 0.17548874), (0.13268617, 0.13268617, 0.13268617), (0.18352199, 0.18352199, 0.18352199), (0.1878573, 0.1878573, 0.1878573), (0.16555044, 0.16555044, 0.16555044), (0.1713369, 0.1713369, 0.1713369), (0.18597813, 0.18597813, 0.18597813), (0.13642877, 0.13642877, 0.13642877), (0.19658181, 0.19658181, 0.19658181), (0.11448326, 0.11448326, 0.11448326), (0.13080463, 0.13080463, 0.13080463), (0.16562164, 0.16562164, 0.16562164), (0.10473912, 0.10473912, 0.10473912), (0.117193975, 0.117193975, 0.117193975), (0.14800587, 0.14800587, 0.14800587), (0.12771049, 0.12771049, 0.12771049), (0.12175891, 0.12175891, 0.12175891), (0.19834013, 0.19834013, 0.19834013), (0.11507412, 0.11507412, 0.11507412), (0.14767495, 0.14767495, 0.14767495), (0.1103148, 0.1103148, 0.110314794), (0.1574498, 0.1574498, 0.1574498), (0.12407453, 0.12407453, 0.12407453), (0.14487734, 0.14487734, 0.14487734), (0.1517503, 0.1517503, 0.1517503), (0.16031215, 0.16031215, 0.16031215), (0.15580858, 0.15580858, 0.15580858), (0.19662309, 0.19662309, 0.19662309), (0.17229593, 0.17229593, 0.17229593), (0.10967554, 0.10967554, 0.10967554), (0.14279902, 0.14279902, 0.14279902), (0.1367748, 0.1367748, 0.1367748), (0.17064096, 0.17064096, 0.17064096), (0.10903813, 0.10903813, 0.10903813), (0.13121553, 0.13121553, 0.13121553), (0.1096869, 0.1096869, 0.1096869), (0.10164373, 0.10164373, 0.10164373), (0.11891883, 0.11891883, 0.11891883), (0.18912748, 0.18912748, 0.18912748), (0.17561358, 0.17561358, 0.17561358), (0.17143068, 0.17143068, 0.17143068), (0.14112458, 0.14112458, 0.14112458), (0.111915305, 0.111915305, 0.111915305), (0.17877343, 0.17877343, 0.17877343), (0.106223, 0.106223, 0.106223), (0.13184862, 0.13184862, 0.13184862), (0.10847034, 0.10847034, 0.10847034), (0.19618687, 0.19618687, 0.19618687), (0.15895997, 0.15895997, 0.15895997), (0.13853732, 0.13853732, 0.13853732), (0.10795692, 0.10795692, 0.10795692), (0.19710794, 0.19710794, 0.19710794), (0.14396106, 0.14396106, 0.14396106), (0.1776239, 0.1776239, 0.1776239), (0.18442112, 0.18442112, 0.18442112), (0.13195619, 0.13195619, 0.13195619), (0.19108248, 0.19108248, 0.19108248), (0.14590731, 0.14590731, 0.14590731), (0.10174266, 0.10174266, 0.10174266), (0.13995983, 0.13995983, 0.13995983), (0.13090616, 0.13090616, 0.13090616), (0.14151147, 0.14151147, 0.14151147), (0.12882674, 0.12882674, 0.12882674), (0.12586424, 0.12586424, 0.12586424), (0.16837966, 0.16837966, 0.16837966), (0.12348554, 0.12348554, 0.12348554), (0.100051574, 0.100051574, 0.100051574), (0.18468678, 0.18468678, 0.18468678), (0.1815013, 0.1815013, 0.1815013), (0.19576788, 0.19576788, 0.19576788), (0.16287561, 0.16287561, 0.16287561), (0.14857875, 0.14857875, 0.14857875), (0.16071053, 0.16071053, 0.16071053), (0.17977396, 0.17977396, 0.17977396), (0.1344373, 0.1344373, 0.1344373), (0.12265878, 0.12265878, 0.12265878), (0.18105084, 0.18105084, 0.18105084), (0.11038053, 0.11038053, 0.11038053), (0.16433293, 0.16433293, 0.16433293), (0.18472075, 0.18472075, 0.18472075), (0.11469215, 0.11469215, 0.11469215), (0.10712121, 0.10712121, 0.10712121), (0.15059352, 0.15059352, 0.15059352), (0.1425719, 0.1425719, 0.1425719), (0.16783395, 0.16783395, 0.16783395), (0.19678757, 0.19678757, 0.19678757), (0.14226696, 0.14226696, 0.14226696), (0.14613333, 0.14613333, 0.14613333), (0.10262809, 0.10262809, 0.10262809), (0.18386772, 0.18386772, 0.18386772), (0.13754506, 0.13754506, 0.13754506), (0.19104421, 0.19104421, 0.1910442), (0.19941677, 0.19941677, 0.19941677), (0.17862856, 0.17862856, 0.17862856), (0.12512408, 0.12512408, 0.12512408), (0.1563856, 0.1563856, 0.1563856), (0.10410943, 0.10410943, 0.10410943), (0.17045668, 0.17045668, 0.17045668), (0.10356156, 0.10356156, 0.10356156), (0.1805349, 0.1805349, 0.1805349), (0.11961666, 0.11961666, 0.11961666), (0.10780964, 0.10780964, 0.10780964), (0.17932215, 0.17932215, 0.17932215), (0.16883194, 0.16883194, 0.16883194), (0.19077508, 0.19077507, 0.19077507), (0.15793861, 0.15793861, 0.15793861), (0.111792766, 0.11179276, 0.11179276), (0.17236096, 0.17236096, 0.17236096), (0.15511994, 0.15511994, 0.15511994), (0.11863964, 0.11863964, 0.11863964), (0.11032846, 0.11032846, 0.11032846), (0.11355084, 0.11355084, 0.11355084), (0.10354251, 0.10354251, 0.10354251), (0.15110308, 0.15110308, 0.15110308), (0.1716482, 0.1716482, 0.1716482), (0.11343519, 0.11343519, 0.11343519), (0.11484221, 0.11484221, 0.11484221), (0.15928078, 0.15928078, 0.15928078), (0.16131136, 0.16131136, 0.16131136), (0.19311708, 0.19311708, 0.19311708), (0.12065772, 0.12065772, 0.12065772), (0.19413377, 0.19413377, 0.19413377), (0.13790147, 0.13790147, 0.13790147), (0.19463432, 0.19463432, 0.19463432), (0.16946983, 0.16946983, 0.16946983), (0.16419846, 0.16419846, 0.16419846), (0.14034523, 0.14034523, 0.14034523), (0.15334319, 0.15334319, 0.15334319), (0.1724496, 0.1724496, 0.1724496), (0.13479161, 0.13479161, 0.13479161), (0.18435813, 0.18435813, 0.18435813), (0.1639334, 0.1639334, 0.1639334), (0.15776677, 0.15776677, 0.15776677), (0.14450797, 0.14450797, 0.14450797), (0.122769214, 0.122769214, 0.122769214), (0.17423299, 0.17423299, 0.17423299), (0.19037694, 0.19037694, 0.19037694), (0.11361282, 0.11361282, 0.11361282), (0.14458582, 0.14458582, 0.14458582), (0.14501567, 0.14501567, 0.14501567), (0.14522895, 0.14522895, 0.14522895), (0.12436036, 0.12436036, 0.12436036), (0.13267854, 0.13267854, 0.13267854), (0.13636823, 0.13636823, 0.13636823), (0.17360517, 0.17360517, 0.17360517), (0.19406614, 0.19406614, 0.19406614), (0.149205, 0.149205, 0.149205), (0.10046536, 0.10046536, 0.10046536), (0.18648931, 0.18648931, 0.18648931), (0.16292405, 0.16292405, 0.16292405), (0.1428356, 0.1428356, 0.1428356), (0.19358882, 0.19358882, 0.19358882), (0.17513084, 0.17513084, 0.17513084), (0.13694672, 0.13694672, 0.13694672), (0.11225305, 0.11225305, 0.11225305), (0.11133621, 0.11133621, 0.11133621), (0.19783857, 0.19783857, 0.19783857), (0.15065423, 0.15065423, 0.15065423), (0.14954138, 0.14954138, 0.14954138), (0.1107749, 0.1107749, 0.1107749), (0.19611081, 0.19611081, 0.19611081), (0.18178824, 0.18178824, 0.18178824), (0.1639154, 0.1639154, 0.1639154), (0.18216372, 0.18216372, 0.18216372), (0.15550277, 0.15550277, 0.15550277), (0.18769147, 0.18769147, 0.18769147), (0.18095958, 0.18095958, 0.18095958), (0.19253144, 0.19253144, 0.19253144), (0.18900585, 0.18900585, 0.18900585), (0.13973562, 0.13973562, 0.13973562), (0.14814948, 0.14814948, 0.14814948), (0.18449296, 0.18449296, 0.18449296), (0.11284067, 0.11284067, 0.11284067), (0.101560704, 0.101560704, 0.101560704), (0.16244091, 0.16244091, 0.16244091), (0.17782182, 0.17782182, 0.17782182), (0.122980155, 0.122980155, 0.122980155), (0.12862383, 0.12862383, 0.12862383), (0.17066385, 0.17066385, 0.17066385), (0.10373427, 0.10373427, 0.10373427), (0.12717757, 0.12717757, 0.12717757), (0.10348429, 0.10348429, 0.103484295), (0.19692996, 0.19692996, 0.19692996), (0.10615195, 0.106151946, 0.10615195), (0.18180639, 0.18180639, 0.18180639), (0.19755353, 0.19755353, 0.19755353), (0.18082553, 0.18082553, 0.18082553), (0.18312263, 0.18312263, 0.18312263), (0.19133726, 0.19133726, 0.19133726), (0.13329647, 0.13329647, 0.13329647), (0.19921127, 0.19921127, 0.19921127), (0.14216883, 0.14216883, 0.14216883), (0.12793967, 0.12793967, 0.12793967), (0.17537344, 0.17537344, 0.17537344), (0.18933117, 0.18933117, 0.18933117), (0.105730586, 0.105730586, 0.105730586), (0.19162282, 0.19162282, 0.19162282), (0.19230664, 0.19230664, 0.19230664), (0.18816158, 0.18816158, 0.18816158), (0.1622675, 0.1622675, 0.1622675), (0.12614508, 0.12614508, 0.12614508), (0.18374053, 0.18374053, 0.18374053), (0.14540528, 0.14540528, 0.14540528), (0.13605313, 0.13605313, 0.13605313), (0.19362248, 0.19362248, 0.19362248), (0.12749226, 0.12749226, 0.12749226), (0.1415241, 0.1415241, 0.1415241), (0.10816063, 0.10816063, 0.10816063), (0.17168577, 0.17168577, 0.17168577), (0.18647833, 0.18647833, 0.18647833), (0.15950616, 0.15950616, 0.15950616), (0.19573213, 0.19573213, 0.19573213), (0.1837504, 0.1837504, 0.1837504), (0.13568276, 0.13568276, 0.13568276), (0.19487908, 0.19487908, 0.19487908), (0.10879818, 0.10879818, 0.10879818), (0.13713503, 0.13713503, 0.13713503), (0.111651875, 0.111651875, 0.111651875), (0.19634676, 0.19634676, 0.19634676), (0.17455313, 0.17455313, 0.17455313), (0.19435436, 0.19435436, 0.19435436), (0.104394, 0.104394, 0.104394), (0.17708337, 0.17708337, 0.17708337), (0.15122269, 0.15122269, 0.15122269), (0.13346812, 0.13346812, 0.13346812), (0.16913584, 0.16913584, 0.16913584), (0.18239708, 0.18239708, 0.18239708), (0.1473836, 0.1473836, 0.1473836), (0.17306608, 0.17306608, 0.17306608), (0.112129405, 0.112129405, 0.112129405), (0.12645203, 0.12645203, 0.12645203), (0.1853979, 0.1853979, 0.1853979), (0.12736014, 0.12736014, 0.12736014), (0.19915605, 0.19915605, 0.19915605), (0.18204685, 0.18204683, 0.18204683), (0.16520208, 0.16520208, 0.16520208), (0.11824369, 0.118243694, 0.118243694), (0.15308033, 0.15308033, 0.15308033), (0.12590967, 0.12590967, 0.12590967), (0.14154476, 0.14154476, 0.14154476), (0.10246736, 0.10246736, 0.102467366), (0.17029068, 0.17029068, 0.17029068), (0.12534645, 0.12534645, 0.12534645), (0.19121689, 0.19121689, 0.19121689), (0.12854327, 0.12854327, 0.12854327), (0.1907922, 0.1907922, 0.1907922), (0.19230428, 0.19230428, 0.19230428), (0.14528608, 0.14528608, 0.14528608), (0.10790823, 0.10790823, 0.10790823), (0.1574128, 0.1574128, 0.1574128), (0.15500368, 0.15500368, 0.15500368), (0.1764029, 0.1764029, 0.1764029), (0.15347946, 0.15347946, 0.15347946), (0.11467518, 0.11467518, 0.11467518), (0.16159739, 0.16159739, 0.16159739), (0.15059125, 0.15059125, 0.15059125), (0.19879603, 0.19879603, 0.19879603), (0.14504734, 0.14504734, 0.14504734), (0.16576114, 0.16576114, 0.16576114), (0.15047891, 0.15047891, 0.15047891), (0.190952, 0.190952, 0.190952), (0.19337532, 0.19337532, 0.19337532), (0.19679457, 0.19679457, 0.19679457), (0.10334339, 0.10334339, 0.10334339), (0.17556727, 0.17556727, 0.17556727), (0.109160386, 0.109160386, 0.109160386), (0.16814616, 0.16814616, 0.16814616), (0.18584998, 0.18584998, 0.18584998), (0.18098828, 0.18098828, 0.18098828), (0.103529386, 0.103529386, 0.103529386), (0.12700284, 0.12700284, 0.12700284), (0.13043144, 0.13043144, 0.13043144), (0.16309232, 0.16309232, 0.16309232), (0.14710145, 0.14710145, 0.14710145), (0.18220225, 0.18220225, 0.18220225), (0.19372457, 0.19372457, 0.19372457), (0.1465819, 0.1465819, 0.1465819), (0.18756133, 0.18756133, 0.18756133), (0.13876925, 0.13876925, 0.13876925), (0.104977384, 0.104977384, 0.104977384), (0.16696888, 0.16696888, 0.16696888), (0.13962445, 0.13962445, 0.13962445), (0.15586458, 0.15586458, 0.15586458), (0.102442525, 0.102442525, 0.102442525), (0.13659693, 0.13659693, 0.13659693), (0.19891, 0.19891, 0.19891), (0.19837989, 0.19837989, 0.19837989), (0.13991955, 0.13991955, 0.13991955), (0.17686398, 0.17686398, 0.17686398), (0.101206616, 0.101206616, 0.101206616), (0.13854046, 0.13854046, 0.13854046), (0.18138227, 0.18138227, 0.18138227), (0.10703174, 0.10703174, 0.10703174), (0.121638566, 0.121638566, 0.121638566), (0.16535184, 0.16535184, 0.16535184), (0.13047335, 0.13047335, 0.13047335), (0.11087233, 0.11087233, 0.11087233), (0.100131296, 0.100131296, 0.100131296), (0.19520906, 0.19520906, 0.19520906), (0.11774472, 0.11774472, 0.11774472), (0.18132432, 0.18132432, 0.18132432), (0.12041959, 0.12041959, 0.12041959), (0.19871294, 0.19871294, 0.19871294), (0.13350035, 0.13350035, 0.13350035), (0.114277594, 0.114277594, 0.114277594), (0.18774438, 0.18774438, 0.18774438), (0.11237246, 0.11237246, 0.11237246), (0.15174346, 0.15174346, 0.15174346), (0.13342075, 0.13342075, 0.13342075), (0.14047433, 0.14047433, 0.14047433), (0.18736804, 0.18736804, 0.18736804), (0.19306973, 0.19306973, 0.19306973), (0.19271255, 0.19271255, 0.19271255), (0.18320185, 0.18320185, 0.18320185), (0.15679277, 0.15679277, 0.15679277), (0.12971446, 0.12971446, 0.12971446), (0.17852679, 0.17852679, 0.17852679), (0.18606336, 0.18606336, 0.18606336), (0.16333368, 0.16333368, 0.16333368), (0.10447112, 0.104471125, 0.104471125), (0.12389205, 0.12389205, 0.12389205), (0.117913395, 0.117913395, 0.117913395), (0.11551177, 0.11551177, 0.11551177)],
+ 3: [(0.14172319, 0.14172319, 0.14172319), (0.10029252, 0.10029252, 0.10029252), (0.18134323, 0.18134323, 0.18134323), (0.12623805, 0.12623805, 0.12623805), (0.10022483, 0.10022483, 0.10022483), (0.11894938, 0.11894938, 0.11894938), (0.11161965, 0.11161965, 0.11161965), (0.16177759, 0.16177759, 0.16177759), (0.19162112, 0.19162112, 0.19162112), (0.15199168, 0.15199168, 0.15199168), (0.10936818, 0.10936818, 0.10936818), (0.1119827, 0.111982696, 0.111982696), (0.19744946, 0.19744946, 0.19744946), (0.19223702, 0.19223702, 0.19223702), (0.114910774, 0.114910774, 0.114910774), (0.10862304, 0.10862304, 0.10862304), (0.18047523, 0.18047523, 0.18047523), (0.18691078, 0.18691078, 0.18691078), (0.18762624, 0.18762624, 0.18762624), (0.102495134, 0.102495134, 0.102495134), (0.17481448, 0.17481448, 0.17481448), (0.13745625, 0.13745625, 0.13745625), (0.1169585, 0.1169585, 0.1169585), (0.13553365, 0.13553365, 0.13553365), (0.16723502, 0.16723502, 0.16723502), (0.19425061, 0.19425061, 0.19425061), (0.16002521, 0.16002521, 0.16002521), (0.1391068, 0.1391068, 0.1391068), (0.18550682, 0.18550682, 0.18550682), (0.10525586, 0.10525586, 0.10525586), (0.19929136, 0.19929136, 0.19929136), (0.1722306, 0.1722306, 0.1722306), (0.19501713, 0.19501713, 0.19501713), (0.19302395, 0.19302395, 0.19302395), (0.15721127, 0.15721127, 0.15721127), (0.19952482, 0.19952482, 0.19952482), (0.12173809, 0.12173809, 0.1217381), (0.19381942, 0.19381942, 0.19381942), (0.13378444, 0.13378444, 0.13378444), (0.19948044, 0.19948044, 0.19948044), (0.12811777, 0.12811777, 0.12811777), (0.1212849, 0.1212849, 0.1212849), (0.17964527, 0.17964527, 0.17964527), (0.13431281, 0.13431281, 0.13431281), (0.1582495, 0.1582495, 0.1582495), (0.18623838, 0.18623838, 0.18623838), (0.18141069, 0.18141069, 0.18141069), (0.11646598, 0.11646598, 0.11646598), (0.16494167, 0.16494167, 0.16494167), (0.13916416, 0.13916416, 0.13916416), (0.13589337, 0.13589337, 0.13589337), (0.13020925, 0.13020925, 0.13020925), (0.19353762, 0.19353762, 0.19353762), (0.19642974, 0.19642974, 0.19642974), (0.17435914, 0.17435914, 0.17435914), (0.1696752, 0.1696752, 0.1696752), (0.18771876, 0.18771876, 0.18771876), (0.14476237, 0.14476237, 0.14476237), (0.114282645, 0.114282645, 0.114282645), (0.10797047, 0.10797047, 0.10797047), (0.15342611, 0.15342611, 0.15342611), (0.10040834, 0.10040834, 0.10040834), (0.10364749, 0.10364749, 0.10364749), (0.18283775, 0.18283775, 0.18283775), (0.11108214, 0.11108214, 0.11108214), (0.14308448, 0.14308448, 0.14308448), (0.121854395, 0.121854395, 0.121854395), (0.11287031, 0.11287031, 0.11287031), (0.1706352, 0.1706352, 0.1706352), (0.16552845, 0.16552845, 0.16552845), (0.15867262, 0.15867262, 0.15867262), (0.10241511, 0.10241511, 0.10241511), (0.17420247, 0.17420247, 0.17420247), (0.1869008, 0.1869008, 0.1869008), (0.13819286, 0.13819286, 0.13819286), (0.18617925, 0.18617925, 0.18617925), (0.18544312, 0.18544312, 0.18544312), (0.16783936, 0.16783936, 0.16783936), (0.17528448, 0.17528448, 0.17528448), (0.15134707, 0.15134707, 0.15134707), (0.13206375, 0.13206375, 0.13206375), (0.16306287, 0.16306287, 0.16306287), (0.1575478, 0.1575478, 0.1575478), (0.1000997, 0.1000997, 0.1000997), (0.10777086, 0.10777086, 0.10777086), (0.14056571, 0.14056571, 0.14056571), (0.13948797, 0.13948797, 0.13948797), (0.12682317, 0.12682317, 0.12682317), (0.165428, 0.165428, 0.165428), (0.16638756, 0.16638756, 0.16638756), (0.101214744, 0.101214744, 0.101214744), (0.14729013, 0.14729013, 0.14729013), (0.17486918, 0.17486918, 0.17486918), (0.18100545, 0.18100545, 0.18100545), (0.15057571, 0.15057571, 0.15057571), (0.17140004, 0.17140004, 0.17140004), (0.13447945, 0.13447945, 0.13447945), (0.1981385, 0.1981385, 0.1981385), (0.15300599, 0.15300599, 0.15300599), (0.17432371, 0.17432371, 0.17432371), (0.12847671, 0.12847671, 0.12847671), (0.1300669, 0.1300669, 0.1300669), (0.10183531, 0.10183531, 0.10183531), (0.1709834, 0.1709834, 0.1709834), (0.11164422, 0.11164422, 0.11164422), (0.19489469, 0.19489469, 0.19489469), (0.12366511, 0.12366511, 0.12366511), (0.18187001, 0.18187001, 0.18187001), (0.15558699, 0.15558699, 0.15558699), (0.17849174, 0.17849174, 0.17849174), (0.19696003, 0.19696003, 0.19696003), (0.18857506, 0.18857506, 0.18857506), (0.10675031, 0.10675031, 0.10675031), (0.13809735, 0.13809735, 0.13809735), (0.18451662, 0.18451662, 0.18451662), (0.19021323, 0.19021323, 0.19021323), (0.13331154, 0.13331154, 0.13331154), (0.14633088, 0.14633088, 0.14633088), (0.15028134, 0.15028134, 0.15028134), (0.171864, 0.171864, 0.171864), (0.11130679, 0.11130679, 0.11130679), (0.1502267, 0.1502267, 0.1502267), (0.13423976, 0.13423976, 0.13423976), (0.18497759, 0.18497759, 0.18497759), (0.1736241, 0.1736241, 0.1736241), (0.12646134, 0.12646134, 0.12646134), (0.15853566, 0.15853566, 0.15853566), (0.17965382, 0.17965382, 0.17965382), (0.14735726, 0.14735726, 0.14735726), (0.13624248, 0.13624248, 0.13624248), (0.15266715, 0.15266715, 0.15266715), (0.19821939, 0.19821939, 0.19821939), (0.12530683, 0.12530683, 0.12530683), (0.19621356, 0.19621356, 0.19621356), (0.14824396, 0.14824396, 0.14824396), (0.15224026, 0.15224026, 0.15224026), (0.100351825, 0.100351825, 0.100351825), (0.17223835, 0.17223835, 0.17223835), (0.19334838, 0.19334838, 0.19334838), (0.100710765, 0.100710765, 0.100710765), (0.14842908, 0.14842908, 0.14842908), (0.13557956, 0.13557956, 0.13557956), (0.113662355, 0.113662355, 0.113662355), (0.15893427, 0.15893427, 0.15893427), (0.12692566, 0.12692566, 0.12692566), (0.16886988, 0.16886988, 0.16886988), (0.16833937, 0.16833937, 0.16833937), (0.17621502, 0.17621502, 0.17621502), (0.1782211, 0.1782211, 0.1782211), (0.11921705, 0.11921705, 0.11921705), (0.15935126, 0.15935126, 0.15935126), (0.16305056, 0.16305056, 0.16305056), (0.16741821, 0.16741821, 0.16741821), (0.11838294, 0.11838293, 0.11838293), (0.16467193, 0.16467193, 0.16467193), (0.17874432, 0.17874432, 0.17874432), (0.16803929, 0.16803929, 0.16803929), (0.111399114, 0.111399114, 0.111399114), (0.14289968, 0.14289968, 0.14289968), (0.10486378, 0.10486378, 0.10486378), (0.121137574, 0.121137574, 0.121137574), (0.1772308, 0.1772308, 0.1772308), (0.19579127, 0.19579127, 0.19579127), (0.17045128, 0.17045128, 0.17045128), (0.12121004, 0.121210046, 0.12121004), (0.1213617, 0.1213617, 0.1213617), (0.10162039, 0.1016204, 0.1016204), (0.18314496, 0.18314496, 0.18314496), (0.11487794, 0.11487794, 0.11487794), (0.15579394, 0.15579394, 0.15579394), (0.14748974, 0.14748974, 0.14748974), (0.11478952, 0.11478952, 0.11478952), (0.10363876, 0.10363876, 0.10363876), (0.17962754, 0.17962754, 0.17962754), (0.13167714, 0.13167714, 0.13167714), (0.11226555, 0.11226555, 0.11226555), (0.12721995, 0.12721995, 0.12721995), (0.17548874, 0.17548874, 0.17548874), (0.13268617, 0.13268617, 0.13268617), (0.18352199, 0.18352199, 0.18352199), (0.1878573, 0.1878573, 0.1878573), (0.16555044, 0.16555044, 0.16555044), (0.1713369, 0.1713369, 0.1713369), (0.18597813, 0.18597813, 0.18597813), (0.13642877, 0.13642877, 0.13642877), (0.19658181, 0.19658181, 0.19658181), (0.11448326, 0.11448326, 0.11448326), (0.13080463, 0.13080463, 0.13080463), (0.16562164, 0.16562164, 0.16562164), (0.10473912, 0.10473912, 0.10473912), (0.117193975, 0.117193975, 0.117193975), (0.14800587, 0.14800587, 0.14800587), (0.12771049, 0.12771049, 0.12771049), (0.12175891, 0.12175891, 0.12175891), (0.19834013, 0.19834013, 0.19834013), (0.11507412, 0.11507412, 0.11507412), (0.14767495, 0.14767495, 0.14767495), (0.1103148, 0.1103148, 0.110314794), (0.1574498, 0.1574498, 0.1574498), (0.12407453, 0.12407453, 0.12407453), (0.14487734, 0.14487734, 0.14487734), (0.1517503, 0.1517503, 0.1517503), (0.16031215, 0.16031215, 0.16031215), (0.15580858, 0.15580858, 0.15580858), (0.19662309, 0.19662309, 0.19662309), (0.17229593, 0.17229593, 0.17229593), (0.10967554, 0.10967554, 0.10967554), (0.14279902, 0.14279902, 0.14279902), (0.1367748, 0.1367748, 0.1367748), (0.17064096, 0.17064096, 0.17064096), (0.10903813, 0.10903813, 0.10903813), (0.13121553, 0.13121553, 0.13121553), (0.1096869, 0.1096869, 0.1096869), (0.10164373, 0.10164373, 0.10164373), (0.11891883, 0.11891883, 0.11891883), (0.18912748, 0.18912748, 0.18912748), (0.17561358, 0.17561358, 0.17561358), (0.17143068, 0.17143068, 0.17143068), (0.14112458, 0.14112458, 0.14112458), (0.111915305, 0.111915305, 0.111915305), (0.17877343, 0.17877343, 0.17877343), (0.106223, 0.106223, 0.106223), (0.13184862, 0.13184862, 0.13184862), (0.10847034, 0.10847034, 0.10847034), (0.19618687, 0.19618687, 0.19618687), (0.15895997, 0.15895997, 0.15895997), (0.13853732, 0.13853732, 0.13853732), (0.10795692, 0.10795692, 0.10795692), (0.19710794, 0.19710794, 0.19710794), (0.14396106, 0.14396106, 0.14396106), (0.1776239, 0.1776239, 0.1776239), (0.18442112, 0.18442112, 0.18442112), (0.13195619, 0.13195619, 0.13195619), (0.19108248, 0.19108248, 0.19108248), (0.14590731, 0.14590731, 0.14590731), (0.10174266, 0.10174266, 0.10174266), (0.13995983, 0.13995983, 0.13995983), (0.13090616, 0.13090616, 0.13090616), (0.14151147, 0.14151147, 0.14151147), (0.12882674, 0.12882674, 0.12882674), (0.12586424, 0.12586424, 0.12586424), (0.16837966, 0.16837966, 0.16837966), (0.12348554, 0.12348554, 0.12348554), (0.100051574, 0.100051574, 0.100051574), (0.18468678, 0.18468678, 0.18468678), (0.1815013, 0.1815013, 0.1815013), (0.19576788, 0.19576788, 0.19576788), (0.16287561, 0.16287561, 0.16287561), (0.14857875, 0.14857875, 0.14857875), (0.16071053, 0.16071053, 0.16071053), (0.17977396, 0.17977396, 0.17977396), (0.1344373, 0.1344373, 0.1344373), (0.12265878, 0.12265878, 0.12265878), (0.18105084, 0.18105084, 0.18105084), (0.11038053, 0.11038053, 0.11038053), (0.16433293, 0.16433293, 0.16433293), (0.18472075, 0.18472075, 0.18472075), (0.11469215, 0.11469215, 0.11469215), (0.10712121, 0.10712121, 0.10712121), (0.15059352, 0.15059352, 0.15059352), (0.1425719, 0.1425719, 0.1425719), (0.16783395, 0.16783395, 0.16783395), (0.19678757, 0.19678757, 0.19678757), (0.14226696, 0.14226696, 0.14226696), (0.14613333, 0.14613333, 0.14613333), (0.10262809, 0.10262809, 0.10262809), (0.18386772, 0.18386772, 0.18386772), (0.13754506, 0.13754506, 0.13754506), (0.19104421, 0.19104421, 0.1910442), (0.19941677, 0.19941677, 0.19941677), (0.17862856, 0.17862856, 0.17862856), (0.12512408, 0.12512408, 0.12512408), (0.1563856, 0.1563856, 0.1563856), (0.10410943, 0.10410943, 0.10410943), (0.17045668, 0.17045668, 0.17045668), (0.10356156, 0.10356156, 0.10356156), (0.1805349, 0.1805349, 0.1805349), (0.11961666, 0.11961666, 0.11961666), (0.10780964, 0.10780964, 0.10780964), (0.17932215, 0.17932215, 0.17932215), (0.16883194, 0.16883194, 0.16883194), (0.19077508, 0.19077507, 0.19077507), (0.15793861, 0.15793861, 0.15793861), (0.111792766, 0.11179276, 0.11179276), (0.17236096, 0.17236096, 0.17236096), (0.15511994, 0.15511994, 0.15511994), (0.11863964, 0.11863964, 0.11863964), (0.11032846, 0.11032846, 0.11032846), (0.11355084, 0.11355084, 0.11355084), (0.10354251, 0.10354251, 0.10354251), (0.15110308, 0.15110308, 0.15110308), (0.1716482, 0.1716482, 0.1716482), (0.11343519, 0.11343519, 0.11343519), (0.11484221, 0.11484221, 0.11484221), (0.15928078, 0.15928078, 0.15928078), (0.16131136, 0.16131136, 0.16131136), (0.19311708, 0.19311708, 0.19311708), (0.12065772, 0.12065772, 0.12065772), (0.19413377, 0.19413377, 0.19413377), (0.13790147, 0.13790147, 0.13790147), (0.19463432, 0.19463432, 0.19463432), (0.16946983, 0.16946983, 0.16946983), (0.16419846, 0.16419846, 0.16419846), (0.14034523, 0.14034523, 0.14034523), (0.15334319, 0.15334319, 0.15334319), (0.1724496, 0.1724496, 0.1724496), (0.13479161, 0.13479161, 0.13479161), (0.18435813, 0.18435813, 0.18435813), (0.1639334, 0.1639334, 0.1639334), (0.15776677, 0.15776677, 0.15776677), (0.14450797, 0.14450797, 0.14450797), (0.122769214, 0.122769214, 0.122769214), (0.17423299, 0.17423299, 0.17423299), (0.19037694, 0.19037694, 0.19037694), (0.11361282, 0.11361282, 0.11361282), (0.14458582, 0.14458582, 0.14458582), (0.14501567, 0.14501567, 0.14501567), (0.14522895, 0.14522895, 0.14522895), (0.12436036, 0.12436036, 0.12436036), (0.13267854, 0.13267854, 0.13267854), (0.13636823, 0.13636823, 0.13636823), (0.17360517, 0.17360517, 0.17360517), (0.19406614, 0.19406614, 0.19406614), (0.149205, 0.149205, 0.149205), (0.10046536, 0.10046536, 0.10046536), (0.18648931, 0.18648931, 0.18648931), (0.16292405, 0.16292405, 0.16292405), (0.1428356, 0.1428356, 0.1428356), (0.19358882, 0.19358882, 0.19358882), (0.17513084, 0.17513084, 0.17513084), (0.13694672, 0.13694672, 0.13694672), (0.11225305, 0.11225305, 0.11225305), (0.11133621, 0.11133621, 0.11133621), (0.19783857, 0.19783857, 0.19783857), (0.15065423, 0.15065423, 0.15065423), (0.14954138, 0.14954138, 0.14954138), (0.1107749, 0.1107749, 0.1107749), (0.19611081, 0.19611081, 0.19611081), (0.18178824, 0.18178824, 0.18178824), (0.1639154, 0.1639154, 0.1639154), (0.18216372, 0.18216372, 0.18216372), (0.15550277, 0.15550277, 0.15550277), (0.18769147, 0.18769147, 0.18769147), (0.18095958, 0.18095958, 0.18095958), (0.19253144, 0.19253144, 0.19253144), (0.18900585, 0.18900585, 0.18900585), (0.13973562, 0.13973562, 0.13973562), (0.14814948, 0.14814948, 0.14814948), (0.18449296, 0.18449296, 0.18449296), (0.11284067, 0.11284067, 0.11284067), (0.101560704, 0.101560704, 0.101560704), (0.16244091, 0.16244091, 0.16244091), (0.17782182, 0.17782182, 0.17782182), (0.122980155, 0.122980155, 0.122980155), (0.12862383, 0.12862383, 0.12862383), (0.17066385, 0.17066385, 0.17066385), (0.10373427, 0.10373427, 0.10373427), (0.12717757, 0.12717757, 0.12717757), (0.10348429, 0.10348429, 0.103484295), (0.19692996, 0.19692996, 0.19692996), (0.10615195, 0.106151946, 0.10615195), (0.18180639, 0.18180639, 0.18180639), (0.19755353, 0.19755353, 0.19755353), (0.18082553, 0.18082553, 0.18082553), (0.18312263, 0.18312263, 0.18312263), (0.19133726, 0.19133726, 0.19133726), (0.13329647, 0.13329647, 0.13329647), (0.19921127, 0.19921127, 0.19921127), (0.14216883, 0.14216883, 0.14216883), (0.12793967, 0.12793967, 0.12793967), (0.17537344, 0.17537344, 0.17537344), (0.18933117, 0.18933117, 0.18933117), (0.105730586, 0.105730586, 0.105730586), (0.19162282, 0.19162282, 0.19162282), (0.19230664, 0.19230664, 0.19230664), (0.18816158, 0.18816158, 0.18816158), (0.1622675, 0.1622675, 0.1622675), (0.12614508, 0.12614508, 0.12614508), (0.18374053, 0.18374053, 0.18374053), (0.14540528, 0.14540528, 0.14540528), (0.13605313, 0.13605313, 0.13605313), (0.19362248, 0.19362248, 0.19362248), (0.12749226, 0.12749226, 0.12749226), (0.1415241, 0.1415241, 0.1415241), (0.10816063, 0.10816063, 0.10816063), (0.17168577, 0.17168577, 0.17168577), (0.18647833, 0.18647833, 0.18647833), (0.15950616, 0.15950616, 0.15950616), (0.19573213, 0.19573213, 0.19573213), (0.1837504, 0.1837504, 0.1837504), (0.13568276, 0.13568276, 0.13568276), (0.19487908, 0.19487908, 0.19487908), (0.10879818, 0.10879818, 0.10879818), (0.13713503, 0.13713503, 0.13713503), (0.111651875, 0.111651875, 0.111651875), (0.19634676, 0.19634676, 0.19634676), (0.17455313, 0.17455313, 0.17455313), (0.19435436, 0.19435436, 0.19435436), (0.104394, 0.104394, 0.104394), (0.17708337, 0.17708337, 0.17708337), (0.15122269, 0.15122269, 0.15122269), (0.13346812, 0.13346812, 0.13346812), (0.16913584, 0.16913584, 0.16913584), (0.18239708, 0.18239708, 0.18239708), (0.1473836, 0.1473836, 0.1473836), (0.17306608, 0.17306608, 0.17306608), (0.112129405, 0.112129405, 0.112129405), (0.12645203, 0.12645203, 0.12645203), (0.1853979, 0.1853979, 0.1853979), (0.12736014, 0.12736014, 0.12736014), (0.19915605, 0.19915605, 0.19915605), (0.18204685, 0.18204683, 0.18204683), (0.16520208, 0.16520208, 0.16520208), (0.11824369, 0.118243694, 0.118243694), (0.15308033, 0.15308033, 0.15308033), (0.12590967, 0.12590967, 0.12590967), (0.14154476, 0.14154476, 0.14154476), (0.10246736, 0.10246736, 0.102467366), (0.17029068, 0.17029068, 0.17029068), (0.12534645, 0.12534645, 0.12534645), (0.19121689, 0.19121689, 0.19121689), (0.12854327, 0.12854327, 0.12854327), (0.1907922, 0.1907922, 0.1907922), (0.19230428, 0.19230428, 0.19230428), (0.14528608, 0.14528608, 0.14528608), (0.10790823, 0.10790823, 0.10790823), (0.1574128, 0.1574128, 0.1574128), (0.15500368, 0.15500368, 0.15500368), (0.1764029, 0.1764029, 0.1764029), (0.15347946, 0.15347946, 0.15347946), (0.11467518, 0.11467518, 0.11467518), (0.16159739, 0.16159739, 0.16159739), (0.15059125, 0.15059125, 0.15059125), (0.19879603, 0.19879603, 0.19879603), (0.14504734, 0.14504734, 0.14504734), (0.16576114, 0.16576114, 0.16576114), (0.15047891, 0.15047891, 0.15047891), (0.190952, 0.190952, 0.190952), (0.19337532, 0.19337532, 0.19337532), (0.19679457, 0.19679457, 0.19679457), (0.10334339, 0.10334339, 0.10334339), (0.17556727, 0.17556727, 0.17556727), (0.109160386, 0.109160386, 0.109160386), (0.16814616, 0.16814616, 0.16814616), (0.18584998, 0.18584998, 0.18584998), (0.18098828, 0.18098828, 0.18098828), (0.103529386, 0.103529386, 0.103529386), (0.12700284, 0.12700284, 0.12700284), (0.13043144, 0.13043144, 0.13043144), (0.16309232, 0.16309232, 0.16309232), (0.14710145, 0.14710145, 0.14710145), (0.18220225, 0.18220225, 0.18220225), (0.19372457, 0.19372457, 0.19372457), (0.1465819, 0.1465819, 0.1465819), (0.18756133, 0.18756133, 0.18756133), (0.13876925, 0.13876925, 0.13876925), (0.104977384, 0.104977384, 0.104977384), (0.16696888, 0.16696888, 0.16696888), (0.13962445, 0.13962445, 0.13962445), (0.15586458, 0.15586458, 0.15586458), (0.102442525, 0.102442525, 0.102442525), (0.13659693, 0.13659693, 0.13659693), (0.19891, 0.19891, 0.19891), (0.19837989, 0.19837989, 0.19837989), (0.13991955, 0.13991955, 0.13991955), (0.17686398, 0.17686398, 0.17686398), (0.101206616, 0.101206616, 0.101206616), (0.13854046, 0.13854046, 0.13854046), (0.18138227, 0.18138227, 0.18138227), (0.10703174, 0.10703174, 0.10703174), (0.121638566, 0.121638566, 0.121638566), (0.16535184, 0.16535184, 0.16535184), (0.13047335, 0.13047335, 0.13047335), (0.11087233, 0.11087233, 0.11087233), (0.100131296, 0.100131296, 0.100131296), (0.19520906, 0.19520906, 0.19520906), (0.11774472, 0.11774472, 0.11774472), (0.18132432, 0.18132432, 0.18132432), (0.12041959, 0.12041959, 0.12041959), (0.19871294, 0.19871294, 0.19871294), (0.13350035, 0.13350035, 0.13350035), (0.114277594, 0.114277594, 0.114277594), (0.18774438, 0.18774438, 0.18774438), (0.11237246, 0.11237246, 0.11237246), (0.15174346, 0.15174346, 0.15174346), (0.13342075, 0.13342075, 0.13342075), (0.14047433, 0.14047433, 0.14047433), (0.18736804, 0.18736804, 0.18736804), (0.19306973, 0.19306973, 0.19306973), (0.19271255, 0.19271255, 0.19271255), (0.18320185, 0.18320185, 0.18320185), (0.15679277, 0.15679277, 0.15679277), (0.12971446, 0.12971446, 0.12971446), (0.17852679, 0.17852679, 0.17852679), (0.18606336, 0.18606336, 0.18606336), (0.16333368, 0.16333368, 0.16333368), (0.10447112, 0.104471125, 0.104471125), (0.12389205, 0.12389205, 0.12389205), (0.117913395, 0.117913395, 0.117913395), (0.11551177, 0.11551177, 0.11551177)],
+ 4: [(0.14172319, 0.14172319, 0.14172319), (0.10029252, 0.10029252, 0.10029252), (0.18134323, 0.18134323, 0.18134323), (0.12623805, 0.12623805, 0.12623805), (0.10022483, 0.10022483, 0.10022483), (0.11894938, 0.11894938, 0.11894938), (0.11161965, 0.11161965, 0.11161965), (0.16177759, 0.16177759, 0.16177759), (0.19162112, 0.19162112, 0.19162112), (0.15199168, 0.15199168, 0.15199168), (0.10936818, 0.10936818, 0.10936818), (0.1119827, 0.111982696, 0.111982696), (0.19744946, 0.19744946, 0.19744946), (0.19223702, 0.19223702, 0.19223702), (0.114910774, 0.114910774, 0.114910774), (0.10862304, 0.10862304, 0.10862304), (0.18047523, 0.18047523, 0.18047523), (0.18691078, 0.18691078, 0.18691078), (0.18762624, 0.18762624, 0.18762624), (0.102495134, 0.102495134, 0.102495134), (0.17481448, 0.17481448, 0.17481448), (0.13745625, 0.13745625, 0.13745625), (0.1169585, 0.1169585, 0.1169585), (0.13553365, 0.13553365, 0.13553365), (0.16723502, 0.16723502, 0.16723502), (0.19425061, 0.19425061, 0.19425061), (0.16002521, 0.16002521, 0.16002521), (0.1391068, 0.1391068, 0.1391068), (0.18550682, 0.18550682, 0.18550682), (0.10525586, 0.10525586, 0.10525586), (0.19929136, 0.19929136, 0.19929136), (0.1722306, 0.1722306, 0.1722306), (0.19501713, 0.19501713, 0.19501713), (0.19302395, 0.19302395, 0.19302395), (0.15721127, 0.15721127, 0.15721127), (0.19952482, 0.19952482, 0.19952482), (0.12173809, 0.12173809, 0.1217381), (0.19381942, 0.19381942, 0.19381942), (0.13378444, 0.13378444, 0.13378444), (0.19948044, 0.19948044, 0.19948044), (0.12811777, 0.12811777, 0.12811777), (0.1212849, 0.1212849, 0.1212849), (0.17964527, 0.17964527, 0.17964527), (0.13431281, 0.13431281, 0.13431281), (0.1582495, 0.1582495, 0.1582495), (0.18623838, 0.18623838, 0.18623838), (0.18141069, 0.18141069, 0.18141069), (0.11646598, 0.11646598, 0.11646598), (0.16494167, 0.16494167, 0.16494167), (0.13916416, 0.13916416, 0.13916416), (0.13589337, 0.13589337, 0.13589337), (0.13020925, 0.13020925, 0.13020925), (0.19353762, 0.19353762, 0.19353762), (0.19642974, 0.19642974, 0.19642974), (0.17435914, 0.17435914, 0.17435914), (0.1696752, 0.1696752, 0.1696752), (0.18771876, 0.18771876, 0.18771876), (0.14476237, 0.14476237, 0.14476237), (0.114282645, 0.114282645, 0.114282645), (0.10797047, 0.10797047, 0.10797047), (0.15342611, 0.15342611, 0.15342611), (0.10040834, 0.10040834, 0.10040834), (0.10364749, 0.10364749, 0.10364749), (0.18283775, 0.18283775, 0.18283775), (0.11108214, 0.11108214, 0.11108214), (0.14308448, 0.14308448, 0.14308448), (0.121854395, 0.121854395, 0.121854395), (0.11287031, 0.11287031, 0.11287031), (0.1706352, 0.1706352, 0.1706352), (0.16552845, 0.16552845, 0.16552845), (0.15867262, 0.15867262, 0.15867262), (0.10241511, 0.10241511, 0.10241511), (0.17420247, 0.17420247, 0.17420247), (0.1869008, 0.1869008, 0.1869008), (0.13819286, 0.13819286, 0.13819286), (0.18617925, 0.18617925, 0.18617925), (0.18544312, 0.18544312, 0.18544312), (0.16783936, 0.16783936, 0.16783936), (0.17528448, 0.17528448, 0.17528448), (0.15134707, 0.15134707, 0.15134707), (0.13206375, 0.13206375, 0.13206375), (0.16306287, 0.16306287, 0.16306287), (0.1575478, 0.1575478, 0.1575478), (0.1000997, 0.1000997, 0.1000997), (0.10777086, 0.10777086, 0.10777086), (0.14056571, 0.14056571, 0.14056571), (0.13948797, 0.13948797, 0.13948797), (0.12682317, 0.12682317, 0.12682317), (0.165428, 0.165428, 0.165428), (0.16638756, 0.16638756, 0.16638756), (0.101214744, 0.101214744, 0.101214744), (0.14729013, 0.14729013, 0.14729013), (0.17486918, 0.17486918, 0.17486918), (0.18100545, 0.18100545, 0.18100545), (0.15057571, 0.15057571, 0.15057571), (0.17140004, 0.17140004, 0.17140004), (0.13447945, 0.13447945, 0.13447945), (0.1981385, 0.1981385, 0.1981385), (0.15300599, 0.15300599, 0.15300599), (0.17432371, 0.17432371, 0.17432371), (0.12847671, 0.12847671, 0.12847671), (0.1300669, 0.1300669, 0.1300669), (0.10183531, 0.10183531, 0.10183531), (0.1709834, 0.1709834, 0.1709834), (0.11164422, 0.11164422, 0.11164422), (0.19489469, 0.19489469, 0.19489469), (0.12366511, 0.12366511, 0.12366511), (0.18187001, 0.18187001, 0.18187001), (0.15558699, 0.15558699, 0.15558699), (0.17849174, 0.17849174, 0.17849174), (0.19696003, 0.19696003, 0.19696003), (0.18857506, 0.18857506, 0.18857506), (0.10675031, 0.10675031, 0.10675031), (0.13809735, 0.13809735, 0.13809735), (0.18451662, 0.18451662, 0.18451662), (0.19021323, 0.19021323, 0.19021323), (0.13331154, 0.13331154, 0.13331154), (0.14633088, 0.14633088, 0.14633088), (0.15028134, 0.15028134, 0.15028134), (0.171864, 0.171864, 0.171864), (0.11130679, 0.11130679, 0.11130679), (0.1502267, 0.1502267, 0.1502267), (0.13423976, 0.13423976, 0.13423976), (0.18497759, 0.18497759, 0.18497759), (0.1736241, 0.1736241, 0.1736241), (0.12646134, 0.12646134, 0.12646134), (0.15853566, 0.15853566, 0.15853566), (0.17965382, 0.17965382, 0.17965382), (0.14735726, 0.14735726, 0.14735726), (0.13624248, 0.13624248, 0.13624248), (0.15266715, 0.15266715, 0.15266715), (0.19821939, 0.19821939, 0.19821939), (0.12530683, 0.12530683, 0.12530683), (0.19621356, 0.19621356, 0.19621356), (0.14824396, 0.14824396, 0.14824396), (0.15224026, 0.15224026, 0.15224026), (0.100351825, 0.100351825, 0.100351825), (0.17223835, 0.17223835, 0.17223835), (0.19334838, 0.19334838, 0.19334838), (0.100710765, 0.100710765, 0.100710765), (0.14842908, 0.14842908, 0.14842908), (0.13557956, 0.13557956, 0.13557956), (0.113662355, 0.113662355, 0.113662355), (0.15893427, 0.15893427, 0.15893427), (0.12692566, 0.12692566, 0.12692566), (0.16886988, 0.16886988, 0.16886988), (0.16833937, 0.16833937, 0.16833937), (0.17621502, 0.17621502, 0.17621502), (0.1782211, 0.1782211, 0.1782211), (0.11921705, 0.11921705, 0.11921705), (0.15935126, 0.15935126, 0.15935126), (0.16305056, 0.16305056, 0.16305056), (0.16741821, 0.16741821, 0.16741821), (0.11838294, 0.11838293, 0.11838293), (0.16467193, 0.16467193, 0.16467193), (0.17874432, 0.17874432, 0.17874432), (0.16803929, 0.16803929, 0.16803929), (0.111399114, 0.111399114, 0.111399114), (0.14289968, 0.14289968, 0.14289968), (0.10486378, 0.10486378, 0.10486378), (0.121137574, 0.121137574, 0.121137574), (0.1772308, 0.1772308, 0.1772308), (0.19579127, 0.19579127, 0.19579127), (0.17045128, 0.17045128, 0.17045128), (0.12121004, 0.121210046, 0.12121004), (0.1213617, 0.1213617, 0.1213617), (0.10162039, 0.1016204, 0.1016204), (0.18314496, 0.18314496, 0.18314496), (0.11487794, 0.11487794, 0.11487794), (0.15579394, 0.15579394, 0.15579394), (0.14748974, 0.14748974, 0.14748974), (0.11478952, 0.11478952, 0.11478952), (0.10363876, 0.10363876, 0.10363876), (0.17962754, 0.17962754, 0.17962754), (0.13167714, 0.13167714, 0.13167714), (0.11226555, 0.11226555, 0.11226555), (0.12721995, 0.12721995, 0.12721995), (0.17548874, 0.17548874, 0.17548874), (0.13268617, 0.13268617, 0.13268617), (0.18352199, 0.18352199, 0.18352199), (0.1878573, 0.1878573, 0.1878573), (0.16555044, 0.16555044, 0.16555044), (0.1713369, 0.1713369, 0.1713369), (0.18597813, 0.18597813, 0.18597813), (0.13642877, 0.13642877, 0.13642877), (0.19658181, 0.19658181, 0.19658181), (0.11448326, 0.11448326, 0.11448326), (0.13080463, 0.13080463, 0.13080463), (0.16562164, 0.16562164, 0.16562164), (0.10473912, 0.10473912, 0.10473912), (0.117193975, 0.117193975, 0.117193975), (0.14800587, 0.14800587, 0.14800587), (0.12771049, 0.12771049, 0.12771049), (0.12175891, 0.12175891, 0.12175891), (0.19834013, 0.19834013, 0.19834013), (0.11507412, 0.11507412, 0.11507412), (0.14767495, 0.14767495, 0.14767495), (0.1103148, 0.1103148, 0.110314794), (0.1574498, 0.1574498, 0.1574498), (0.12407453, 0.12407453, 0.12407453), (0.14487734, 0.14487734, 0.14487734), (0.1517503, 0.1517503, 0.1517503), (0.16031215, 0.16031215, 0.16031215), (0.15580858, 0.15580858, 0.15580858), (0.19662309, 0.19662309, 0.19662309), (0.17229593, 0.17229593, 0.17229593), (0.10967554, 0.10967554, 0.10967554), (0.14279902, 0.14279902, 0.14279902), (0.1367748, 0.1367748, 0.1367748), (0.17064096, 0.17064096, 0.17064096), (0.10903813, 0.10903813, 0.10903813), (0.13121553, 0.13121553, 0.13121553), (0.1096869, 0.1096869, 0.1096869), (0.10164373, 0.10164373, 0.10164373), (0.11891883, 0.11891883, 0.11891883), (0.18912748, 0.18912748, 0.18912748), (0.17561358, 0.17561358, 0.17561358), (0.17143068, 0.17143068, 0.17143068), (0.14112458, 0.14112458, 0.14112458), (0.111915305, 0.111915305, 0.111915305), (0.17877343, 0.17877343, 0.17877343), (0.106223, 0.106223, 0.106223), (0.13184862, 0.13184862, 0.13184862), (0.10847034, 0.10847034, 0.10847034), (0.19618687, 0.19618687, 0.19618687), (0.15895997, 0.15895997, 0.15895997), (0.13853732, 0.13853732, 0.13853732), (0.10795692, 0.10795692, 0.10795692), (0.19710794, 0.19710794, 0.19710794), (0.14396106, 0.14396106, 0.14396106), (0.1776239, 0.1776239, 0.1776239), (0.18442112, 0.18442112, 0.18442112), (0.13195619, 0.13195619, 0.13195619), (0.19108248, 0.19108248, 0.19108248), (0.14590731, 0.14590731, 0.14590731), (0.10174266, 0.10174266, 0.10174266), (0.13995983, 0.13995983, 0.13995983), (0.13090616, 0.13090616, 0.13090616), (0.14151147, 0.14151147, 0.14151147), (0.12882674, 0.12882674, 0.12882674), (0.12586424, 0.12586424, 0.12586424), (0.16837966, 0.16837966, 0.16837966), (0.12348554, 0.12348554, 0.12348554), (0.100051574, 0.100051574, 0.100051574), (0.18468678, 0.18468678, 0.18468678), (0.1815013, 0.1815013, 0.1815013), (0.19576788, 0.19576788, 0.19576788), (0.16287561, 0.16287561, 0.16287561), (0.14857875, 0.14857875, 0.14857875), (0.16071053, 0.16071053, 0.16071053), (0.17977396, 0.17977396, 0.17977396), (0.1344373, 0.1344373, 0.1344373), (0.12265878, 0.12265878, 0.12265878), (0.18105084, 0.18105084, 0.18105084), (0.11038053, 0.11038053, 0.11038053), (0.16433293, 0.16433293, 0.16433293), (0.18472075, 0.18472075, 0.18472075), (0.11469215, 0.11469215, 0.11469215), (0.10712121, 0.10712121, 0.10712121), (0.15059352, 0.15059352, 0.15059352), (0.1425719, 0.1425719, 0.1425719), (0.16783395, 0.16783395, 0.16783395), (0.19678757, 0.19678757, 0.19678757), (0.14226696, 0.14226696, 0.14226696), (0.14613333, 0.14613333, 0.14613333), (0.10262809, 0.10262809, 0.10262809), (0.18386772, 0.18386772, 0.18386772), (0.13754506, 0.13754506, 0.13754506), (0.19104421, 0.19104421, 0.1910442), (0.19941677, 0.19941677, 0.19941677), (0.17862856, 0.17862856, 0.17862856), (0.12512408, 0.12512408, 0.12512408), (0.1563856, 0.1563856, 0.1563856), (0.10410943, 0.10410943, 0.10410943), (0.17045668, 0.17045668, 0.17045668), (0.10356156, 0.10356156, 0.10356156), (0.1805349, 0.1805349, 0.1805349), (0.11961666, 0.11961666, 0.11961666), (0.10780964, 0.10780964, 0.10780964), (0.17932215, 0.17932215, 0.17932215), (0.16883194, 0.16883194, 0.16883194), (0.19077508, 0.19077507, 0.19077507), (0.15793861, 0.15793861, 0.15793861), (0.111792766, 0.11179276, 0.11179276), (0.17236096, 0.17236096, 0.17236096), (0.15511994, 0.15511994, 0.15511994), (0.11863964, 0.11863964, 0.11863964), (0.11032846, 0.11032846, 0.11032846), (0.11355084, 0.11355084, 0.11355084), (0.10354251, 0.10354251, 0.10354251), (0.15110308, 0.15110308, 0.15110308), (0.1716482, 0.1716482, 0.1716482), (0.11343519, 0.11343519, 0.11343519), (0.11484221, 0.11484221, 0.11484221), (0.15928078, 0.15928078, 0.15928078), (0.16131136, 0.16131136, 0.16131136), (0.19311708, 0.19311708, 0.19311708), (0.12065772, 0.12065772, 0.12065772), (0.19413377, 0.19413377, 0.19413377), (0.13790147, 0.13790147, 0.13790147), (0.19463432, 0.19463432, 0.19463432), (0.16946983, 0.16946983, 0.16946983), (0.16419846, 0.16419846, 0.16419846), (0.14034523, 0.14034523, 0.14034523), (0.15334319, 0.15334319, 0.15334319), (0.1724496, 0.1724496, 0.1724496), (0.13479161, 0.13479161, 0.13479161), (0.18435813, 0.18435813, 0.18435813), (0.1639334, 0.1639334, 0.1639334), (0.15776677, 0.15776677, 0.15776677), (0.14450797, 0.14450797, 0.14450797), (0.122769214, 0.122769214, 0.122769214), (0.17423299, 0.17423299, 0.17423299), (0.19037694, 0.19037694, 0.19037694), (0.11361282, 0.11361282, 0.11361282), (0.14458582, 0.14458582, 0.14458582), (0.14501567, 0.14501567, 0.14501567), (0.14522895, 0.14522895, 0.14522895), (0.12436036, 0.12436036, 0.12436036), (0.13267854, 0.13267854, 0.13267854), (0.13636823, 0.13636823, 0.13636823), (0.17360517, 0.17360517, 0.17360517), (0.19406614, 0.19406614, 0.19406614), (0.149205, 0.149205, 0.149205), (0.10046536, 0.10046536, 0.10046536), (0.18648931, 0.18648931, 0.18648931), (0.16292405, 0.16292405, 0.16292405), (0.1428356, 0.1428356, 0.1428356), (0.19358882, 0.19358882, 0.19358882), (0.17513084, 0.17513084, 0.17513084), (0.13694672, 0.13694672, 0.13694672), (0.11225305, 0.11225305, 0.11225305), (0.11133621, 0.11133621, 0.11133621), (0.19783857, 0.19783857, 0.19783857), (0.15065423, 0.15065423, 0.15065423), (0.14954138, 0.14954138, 0.14954138), (0.1107749, 0.1107749, 0.1107749), (0.19611081, 0.19611081, 0.19611081), (0.18178824, 0.18178824, 0.18178824), (0.1639154, 0.1639154, 0.1639154), (0.18216372, 0.18216372, 0.18216372), (0.15550277, 0.15550277, 0.15550277), (0.18769147, 0.18769147, 0.18769147), (0.18095958, 0.18095958, 0.18095958), (0.19253144, 0.19253144, 0.19253144), (0.18900585, 0.18900585, 0.18900585), (0.13973562, 0.13973562, 0.13973562), (0.14814948, 0.14814948, 0.14814948), (0.18449296, 0.18449296, 0.18449296), (0.11284067, 0.11284067, 0.11284067), (0.101560704, 0.101560704, 0.101560704), (0.16244091, 0.16244091, 0.16244091), (0.17782182, 0.17782182, 0.17782182), (0.122980155, 0.122980155, 0.122980155), (0.12862383, 0.12862383, 0.12862383), (0.17066385, 0.17066385, 0.17066385), (0.10373427, 0.10373427, 0.10373427), (0.12717757, 0.12717757, 0.12717757), (0.10348429, 0.10348429, 0.103484295), (0.19692996, 0.19692996, 0.19692996), (0.10615195, 0.106151946, 0.10615195), (0.18180639, 0.18180639, 0.18180639), (0.19755353, 0.19755353, 0.19755353), (0.18082553, 0.18082553, 0.18082553), (0.18312263, 0.18312263, 0.18312263), (0.19133726, 0.19133726, 0.19133726), (0.13329647, 0.13329647, 0.13329647), (0.19921127, 0.19921127, 0.19921127), (0.14216883, 0.14216883, 0.14216883), (0.12793967, 0.12793967, 0.12793967), (0.17537344, 0.17537344, 0.17537344), (0.18933117, 0.18933117, 0.18933117), (0.105730586, 0.105730586, 0.105730586), (0.19162282, 0.19162282, 0.19162282), (0.19230664, 0.19230664, 0.19230664), (0.18816158, 0.18816158, 0.18816158), (0.1622675, 0.1622675, 0.1622675), (0.12614508, 0.12614508, 0.12614508), (0.18374053, 0.18374053, 0.18374053), (0.14540528, 0.14540528, 0.14540528), (0.13605313, 0.13605313, 0.13605313), (0.19362248, 0.19362248, 0.19362248), (0.12749226, 0.12749226, 0.12749226), (0.1415241, 0.1415241, 0.1415241), (0.10816063, 0.10816063, 0.10816063), (0.17168577, 0.17168577, 0.17168577), (0.18647833, 0.18647833, 0.18647833), (0.15950616, 0.15950616, 0.15950616), (0.19573213, 0.19573213, 0.19573213), (0.1837504, 0.1837504, 0.1837504), (0.13568276, 0.13568276, 0.13568276), (0.19487908, 0.19487908, 0.19487908), (0.10879818, 0.10879818, 0.10879818), (0.13713503, 0.13713503, 0.13713503), (0.111651875, 0.111651875, 0.111651875), (0.19634676, 0.19634676, 0.19634676), (0.17455313, 0.17455313, 0.17455313), (0.19435436, 0.19435436, 0.19435436), (0.104394, 0.104394, 0.104394), (0.17708337, 0.17708337, 0.17708337), (0.15122269, 0.15122269, 0.15122269), (0.13346812, 0.13346812, 0.13346812), (0.16913584, 0.16913584, 0.16913584), (0.18239708, 0.18239708, 0.18239708), (0.1473836, 0.1473836, 0.1473836), (0.17306608, 0.17306608, 0.17306608), (0.112129405, 0.112129405, 0.112129405), (0.12645203, 0.12645203, 0.12645203), (0.1853979, 0.1853979, 0.1853979), (0.12736014, 0.12736014, 0.12736014), (0.19915605, 0.19915605, 0.19915605), (0.18204685, 0.18204683, 0.18204683), (0.16520208, 0.16520208, 0.16520208), (0.11824369, 0.118243694, 0.118243694), (0.15308033, 0.15308033, 0.15308033), (0.12590967, 0.12590967, 0.12590967), (0.14154476, 0.14154476, 0.14154476), (0.10246736, 0.10246736, 0.102467366), (0.17029068, 0.17029068, 0.17029068), (0.12534645, 0.12534645, 0.12534645), (0.19121689, 0.19121689, 0.19121689), (0.12854327, 0.12854327, 0.12854327), (0.1907922, 0.1907922, 0.1907922), (0.19230428, 0.19230428, 0.19230428), (0.14528608, 0.14528608, 0.14528608), (0.10790823, 0.10790823, 0.10790823), (0.1574128, 0.1574128, 0.1574128), (0.15500368, 0.15500368, 0.15500368), (0.1764029, 0.1764029, 0.1764029), (0.15347946, 0.15347946, 0.15347946), (0.11467518, 0.11467518, 0.11467518), (0.16159739, 0.16159739, 0.16159739), (0.15059125, 0.15059125, 0.15059125), (0.19879603, 0.19879603, 0.19879603), (0.14504734, 0.14504734, 0.14504734), (0.16576114, 0.16576114, 0.16576114), (0.15047891, 0.15047891, 0.15047891), (0.190952, 0.190952, 0.190952), (0.19337532, 0.19337532, 0.19337532), (0.19679457, 0.19679457, 0.19679457), (0.10334339, 0.10334339, 0.10334339), (0.17556727, 0.17556727, 0.17556727), (0.109160386, 0.109160386, 0.109160386), (0.16814616, 0.16814616, 0.16814616), (0.18584998, 0.18584998, 0.18584998), (0.18098828, 0.18098828, 0.18098828), (0.103529386, 0.103529386, 0.103529386), (0.12700284, 0.12700284, 0.12700284), (0.13043144, 0.13043144, 0.13043144), (0.16309232, 0.16309232, 0.16309232), (0.14710145, 0.14710145, 0.14710145), (0.18220225, 0.18220225, 0.18220225), (0.19372457, 0.19372457, 0.19372457), (0.1465819, 0.1465819, 0.1465819), (0.18756133, 0.18756133, 0.18756133), (0.13876925, 0.13876925, 0.13876925), (0.104977384, 0.104977384, 0.104977384), (0.16696888, 0.16696888, 0.16696888), (0.13962445, 0.13962445, 0.13962445), (0.15586458, 0.15586458, 0.15586458), (0.102442525, 0.102442525, 0.102442525), (0.13659693, 0.13659693, 0.13659693), (0.19891, 0.19891, 0.19891), (0.19837989, 0.19837989, 0.19837989), (0.13991955, 0.13991955, 0.13991955), (0.17686398, 0.17686398, 0.17686398), (0.101206616, 0.101206616, 0.101206616), (0.13854046, 0.13854046, 0.13854046), (0.18138227, 0.18138227, 0.18138227), (0.10703174, 0.10703174, 0.10703174), (0.121638566, 0.121638566, 0.121638566), (0.16535184, 0.16535184, 0.16535184), (0.13047335, 0.13047335, 0.13047335), (0.11087233, 0.11087233, 0.11087233), (0.100131296, 0.100131296, 0.100131296), (0.19520906, 0.19520906, 0.19520906), (0.11774472, 0.11774472, 0.11774472), (0.18132432, 0.18132432, 0.18132432), (0.12041959, 0.12041959, 0.12041959), (0.19871294, 0.19871294, 0.19871294), (0.13350035, 0.13350035, 0.13350035), (0.114277594, 0.114277594, 0.114277594), (0.18774438, 0.18774438, 0.18774438), (0.11237246, 0.11237246, 0.11237246), (0.15174346, 0.15174346, 0.15174346), (0.13342075, 0.13342075, 0.13342075), (0.14047433, 0.14047433, 0.14047433), (0.18736804, 0.18736804, 0.18736804), (0.19306973, 0.19306973, 0.19306973), (0.19271255, 0.19271255, 0.19271255), (0.18320185, 0.18320185, 0.18320185), (0.15679277, 0.15679277, 0.15679277), (0.12971446, 0.12971446, 0.12971446), (0.17852679, 0.17852679, 0.17852679), (0.18606336, 0.18606336, 0.18606336), (0.16333368, 0.16333368, 0.16333368), (0.10447112, 0.104471125, 0.104471125), (0.12389205, 0.12389205, 0.12389205), (0.117913395, 0.117913395, 0.117913395), (0.11551177, 0.11551177, 0.11551177)],
+ 5: [(0.14172319, 0.14172319, 0.14172319), (0.10029252, 0.10029252, 0.10029252), (0.18134323, 0.18134323, 0.18134323), (0.12623805, 0.12623805, 0.12623805), (0.10022483, 0.10022483, 0.10022483), (0.11894938, 0.11894938, 0.11894938), (0.11161965, 0.11161965, 0.11161965), (0.16177759, 0.16177759, 0.16177759), (0.19162112, 0.19162112, 0.19162112), (0.15199168, 0.15199168, 0.15199168), (0.10936818, 0.10936818, 0.10936818), (0.1119827, 0.111982696, 0.111982696), (0.19744946, 0.19744946, 0.19744946), (0.19223702, 0.19223702, 0.19223702), (0.114910774, 0.114910774, 0.114910774), (0.10862304, 0.10862304, 0.10862304), (0.18047523, 0.18047523, 0.18047523), (0.18691078, 0.18691078, 0.18691078), (0.18762624, 0.18762624, 0.18762624), (0.102495134, 0.102495134, 0.102495134), (0.17481448, 0.17481448, 0.17481448), (0.13745625, 0.13745625, 0.13745625), (0.1169585, 0.1169585, 0.1169585), (0.13553365, 0.13553365, 0.13553365), (0.16723502, 0.16723502, 0.16723502), (0.19425061, 0.19425061, 0.19425061), (0.16002521, 0.16002521, 0.16002521), (0.1391068, 0.1391068, 0.1391068), (0.18550682, 0.18550682, 0.18550682), (0.10525586, 0.10525586, 0.10525586), (0.19929136, 0.19929136, 0.19929136), (0.1722306, 0.1722306, 0.1722306), (0.19501713, 0.19501713, 0.19501713), (0.19302395, 0.19302395, 0.19302395), (0.15721127, 0.15721127, 0.15721127), (0.19952482, 0.19952482, 0.19952482), (0.12173809, 0.12173809, 0.1217381), (0.19381942, 0.19381942, 0.19381942), (0.13378444, 0.13378444, 0.13378444), (0.19948044, 0.19948044, 0.19948044), (0.12811777, 0.12811777, 0.12811777), (0.1212849, 0.1212849, 0.1212849), (0.17964527, 0.17964527, 0.17964527), (0.13431281, 0.13431281, 0.13431281), (0.1582495, 0.1582495, 0.1582495), (0.18623838, 0.18623838, 0.18623838), (0.18141069, 0.18141069, 0.18141069), (0.11646598, 0.11646598, 0.11646598), (0.16494167, 0.16494167, 0.16494167), (0.13916416, 0.13916416, 0.13916416), (0.13589337, 0.13589337, 0.13589337), (0.13020925, 0.13020925, 0.13020925), (0.19353762, 0.19353762, 0.19353762), (0.19642974, 0.19642974, 0.19642974), (0.17435914, 0.17435914, 0.17435914), (0.1696752, 0.1696752, 0.1696752), (0.18771876, 0.18771876, 0.18771876), (0.14476237, 0.14476237, 0.14476237), (0.114282645, 0.114282645, 0.114282645), (0.10797047, 0.10797047, 0.10797047), (0.15342611, 0.15342611, 0.15342611), (0.10040834, 0.10040834, 0.10040834), (0.10364749, 0.10364749, 0.10364749), (0.18283775, 0.18283775, 0.18283775), (0.11108214, 0.11108214, 0.11108214), (0.14308448, 0.14308448, 0.14308448), (0.121854395, 0.121854395, 0.121854395), (0.11287031, 0.11287031, 0.11287031), (0.1706352, 0.1706352, 0.1706352), (0.16552845, 0.16552845, 0.16552845), (0.15867262, 0.15867262, 0.15867262), (0.10241511, 0.10241511, 0.10241511), (0.17420247, 0.17420247, 0.17420247), (0.1869008, 0.1869008, 0.1869008), (0.13819286, 0.13819286, 0.13819286), (0.18617925, 0.18617925, 0.18617925), (0.18544312, 0.18544312, 0.18544312), (0.16783936, 0.16783936, 0.16783936), (0.17528448, 0.17528448, 0.17528448), (0.15134707, 0.15134707, 0.15134707), (0.13206375, 0.13206375, 0.13206375), (0.16306287, 0.16306287, 0.16306287), (0.1575478, 0.1575478, 0.1575478), (0.1000997, 0.1000997, 0.1000997), (0.10777086, 0.10777086, 0.10777086), (0.14056571, 0.14056571, 0.14056571), (0.13948797, 0.13948797, 0.13948797), (0.12682317, 0.12682317, 0.12682317), (0.165428, 0.165428, 0.165428), (0.16638756, 0.16638756, 0.16638756), (0.101214744, 0.101214744, 0.101214744), (0.14729013, 0.14729013, 0.14729013), (0.17486918, 0.17486918, 0.17486918), (0.18100545, 0.18100545, 0.18100545), (0.15057571, 0.15057571, 0.15057571), (0.17140004, 0.17140004, 0.17140004), (0.13447945, 0.13447945, 0.13447945), (0.1981385, 0.1981385, 0.1981385), (0.15300599, 0.15300599, 0.15300599), (0.17432371, 0.17432371, 0.17432371), (0.12847671, 0.12847671, 0.12847671), (0.1300669, 0.1300669, 0.1300669), (0.10183531, 0.10183531, 0.10183531), (0.1709834, 0.1709834, 0.1709834), (0.11164422, 0.11164422, 0.11164422), (0.19489469, 0.19489469, 0.19489469), (0.12366511, 0.12366511, 0.12366511), (0.18187001, 0.18187001, 0.18187001), (0.15558699, 0.15558699, 0.15558699), (0.17849174, 0.17849174, 0.17849174), (0.19696003, 0.19696003, 0.19696003), (0.18857506, 0.18857506, 0.18857506), (0.10675031, 0.10675031, 0.10675031), (0.13809735, 0.13809735, 0.13809735), (0.18451662, 0.18451662, 0.18451662), (0.19021323, 0.19021323, 0.19021323), (0.13331154, 0.13331154, 0.13331154), (0.14633088, 0.14633088, 0.14633088), (0.15028134, 0.15028134, 0.15028134), (0.171864, 0.171864, 0.171864), (0.11130679, 0.11130679, 0.11130679), (0.1502267, 0.1502267, 0.1502267), (0.13423976, 0.13423976, 0.13423976), (0.18497759, 0.18497759, 0.18497759), (0.1736241, 0.1736241, 0.1736241), (0.12646134, 0.12646134, 0.12646134), (0.15853566, 0.15853566, 0.15853566), (0.17965382, 0.17965382, 0.17965382), (0.14735726, 0.14735726, 0.14735726), (0.13624248, 0.13624248, 0.13624248), (0.15266715, 0.15266715, 0.15266715), (0.19821939, 0.19821939, 0.19821939), (0.12530683, 0.12530683, 0.12530683), (0.19621356, 0.19621356, 0.19621356), (0.14824396, 0.14824396, 0.14824396), (0.15224026, 0.15224026, 0.15224026), (0.100351825, 0.100351825, 0.100351825), (0.17223835, 0.17223835, 0.17223835), (0.19334838, 0.19334838, 0.19334838), (0.100710765, 0.100710765, 0.100710765), (0.14842908, 0.14842908, 0.14842908), (0.13557956, 0.13557956, 0.13557956), (0.113662355, 0.113662355, 0.113662355), (0.15893427, 0.15893427, 0.15893427), (0.12692566, 0.12692566, 0.12692566), (0.16886988, 0.16886988, 0.16886988), (0.16833937, 0.16833937, 0.16833937), (0.17621502, 0.17621502, 0.17621502), (0.1782211, 0.1782211, 0.1782211), (0.11921705, 0.11921705, 0.11921705), (0.15935126, 0.15935126, 0.15935126), (0.16305056, 0.16305056, 0.16305056), (0.16741821, 0.16741821, 0.16741821), (0.11838294, 0.11838293, 0.11838293), (0.16467193, 0.16467193, 0.16467193), (0.17874432, 0.17874432, 0.17874432), (0.16803929, 0.16803929, 0.16803929), (0.111399114, 0.111399114, 0.111399114), (0.14289968, 0.14289968, 0.14289968), (0.10486378, 0.10486378, 0.10486378), (0.121137574, 0.121137574, 0.121137574), (0.1772308, 0.1772308, 0.1772308), (0.19579127, 0.19579127, 0.19579127), (0.17045128, 0.17045128, 0.17045128), (0.12121004, 0.121210046, 0.12121004), (0.1213617, 0.1213617, 0.1213617), (0.10162039, 0.1016204, 0.1016204), (0.18314496, 0.18314496, 0.18314496), (0.11487794, 0.11487794, 0.11487794), (0.15579394, 0.15579394, 0.15579394), (0.14748974, 0.14748974, 0.14748974), (0.11478952, 0.11478952, 0.11478952), (0.10363876, 0.10363876, 0.10363876), (0.17962754, 0.17962754, 0.17962754), (0.13167714, 0.13167714, 0.13167714), (0.11226555, 0.11226555, 0.11226555), (0.12721995, 0.12721995, 0.12721995), (0.17548874, 0.17548874, 0.17548874), (0.13268617, 0.13268617, 0.13268617), (0.18352199, 0.18352199, 0.18352199), (0.1878573, 0.1878573, 0.1878573), (0.16555044, 0.16555044, 0.16555044), (0.1713369, 0.1713369, 0.1713369), (0.18597813, 0.18597813, 0.18597813), (0.13642877, 0.13642877, 0.13642877), (0.19658181, 0.19658181, 0.19658181), (0.11448326, 0.11448326, 0.11448326), (0.13080463, 0.13080463, 0.13080463), (0.16562164, 0.16562164, 0.16562164), (0.10473912, 0.10473912, 0.10473912), (0.117193975, 0.117193975, 0.117193975), (0.14800587, 0.14800587, 0.14800587), (0.12771049, 0.12771049, 0.12771049), (0.12175891, 0.12175891, 0.12175891), (0.19834013, 0.19834013, 0.19834013), (0.11507412, 0.11507412, 0.11507412), (0.14767495, 0.14767495, 0.14767495), (0.1103148, 0.1103148, 0.110314794), (0.1574498, 0.1574498, 0.1574498), (0.12407453, 0.12407453, 0.12407453), (0.14487734, 0.14487734, 0.14487734), (0.1517503, 0.1517503, 0.1517503), (0.16031215, 0.16031215, 0.16031215), (0.15580858, 0.15580858, 0.15580858), (0.19662309, 0.19662309, 0.19662309), (0.17229593, 0.17229593, 0.17229593), (0.10967554, 0.10967554, 0.10967554), (0.14279902, 0.14279902, 0.14279902), (0.1367748, 0.1367748, 0.1367748), (0.17064096, 0.17064096, 0.17064096), (0.10903813, 0.10903813, 0.10903813), (0.13121553, 0.13121553, 0.13121553), (0.1096869, 0.1096869, 0.1096869), (0.10164373, 0.10164373, 0.10164373), (0.11891883, 0.11891883, 0.11891883), (0.18912748, 0.18912748, 0.18912748), (0.17561358, 0.17561358, 0.17561358), (0.17143068, 0.17143068, 0.17143068), (0.14112458, 0.14112458, 0.14112458), (0.111915305, 0.111915305, 0.111915305), (0.17877343, 0.17877343, 0.17877343), (0.106223, 0.106223, 0.106223), (0.13184862, 0.13184862, 0.13184862), (0.10847034, 0.10847034, 0.10847034), (0.19618687, 0.19618687, 0.19618687), (0.15895997, 0.15895997, 0.15895997), (0.13853732, 0.13853732, 0.13853732), (0.10795692, 0.10795692, 0.10795692), (0.19710794, 0.19710794, 0.19710794), (0.14396106, 0.14396106, 0.14396106), (0.1776239, 0.1776239, 0.1776239), (0.18442112, 0.18442112, 0.18442112), (0.13195619, 0.13195619, 0.13195619), (0.19108248, 0.19108248, 0.19108248), (0.14590731, 0.14590731, 0.14590731), (0.10174266, 0.10174266, 0.10174266), (0.13995983, 0.13995983, 0.13995983), (0.13090616, 0.13090616, 0.13090616), (0.14151147, 0.14151147, 0.14151147), (0.12882674, 0.12882674, 0.12882674), (0.12586424, 0.12586424, 0.12586424), (0.16837966, 0.16837966, 0.16837966), (0.12348554, 0.12348554, 0.12348554), (0.100051574, 0.100051574, 0.100051574), (0.18468678, 0.18468678, 0.18468678), (0.1815013, 0.1815013, 0.1815013), (0.19576788, 0.19576788, 0.19576788), (0.16287561, 0.16287561, 0.16287561), (0.14857875, 0.14857875, 0.14857875), (0.16071053, 0.16071053, 0.16071053), (0.17977396, 0.17977396, 0.17977396), (0.1344373, 0.1344373, 0.1344373), (0.12265878, 0.12265878, 0.12265878), (0.18105084, 0.18105084, 0.18105084), (0.11038053, 0.11038053, 0.11038053), (0.16433293, 0.16433293, 0.16433293), (0.18472075, 0.18472075, 0.18472075), (0.11469215, 0.11469215, 0.11469215), (0.10712121, 0.10712121, 0.10712121), (0.15059352, 0.15059352, 0.15059352), (0.1425719, 0.1425719, 0.1425719), (0.16783395, 0.16783395, 0.16783395), (0.19678757, 0.19678757, 0.19678757), (0.14226696, 0.14226696, 0.14226696), (0.14613333, 0.14613333, 0.14613333), (0.10262809, 0.10262809, 0.10262809), (0.18386772, 0.18386772, 0.18386772), (0.13754506, 0.13754506, 0.13754506), (0.19104421, 0.19104421, 0.1910442), (0.19941677, 0.19941677, 0.19941677), (0.17862856, 0.17862856, 0.17862856), (0.12512408, 0.12512408, 0.12512408), (0.1563856, 0.1563856, 0.1563856), (0.10410943, 0.10410943, 0.10410943), (0.17045668, 0.17045668, 0.17045668), (0.10356156, 0.10356156, 0.10356156), (0.1805349, 0.1805349, 0.1805349), (0.11961666, 0.11961666, 0.11961666), (0.10780964, 0.10780964, 0.10780964), (0.17932215, 0.17932215, 0.17932215), (0.16883194, 0.16883194, 0.16883194), (0.19077508, 0.19077507, 0.19077507), (0.15793861, 0.15793861, 0.15793861), (0.111792766, 0.11179276, 0.11179276), (0.17236096, 0.17236096, 0.17236096), (0.15511994, 0.15511994, 0.15511994), (0.11863964, 0.11863964, 0.11863964), (0.11032846, 0.11032846, 0.11032846), (0.11355084, 0.11355084, 0.11355084), (0.10354251, 0.10354251, 0.10354251), (0.15110308, 0.15110308, 0.15110308), (0.1716482, 0.1716482, 0.1716482), (0.11343519, 0.11343519, 0.11343519), (0.11484221, 0.11484221, 0.11484221), (0.15928078, 0.15928078, 0.15928078), (0.16131136, 0.16131136, 0.16131136), (0.19311708, 0.19311708, 0.19311708), (0.12065772, 0.12065772, 0.12065772), (0.19413377, 0.19413377, 0.19413377), (0.13790147, 0.13790147, 0.13790147), (0.19463432, 0.19463432, 0.19463432), (0.16946983, 0.16946983, 0.16946983), (0.16419846, 0.16419846, 0.16419846), (0.14034523, 0.14034523, 0.14034523), (0.15334319, 0.15334319, 0.15334319), (0.1724496, 0.1724496, 0.1724496), (0.13479161, 0.13479161, 0.13479161), (0.18435813, 0.18435813, 0.18435813), (0.1639334, 0.1639334, 0.1639334), (0.15776677, 0.15776677, 0.15776677), (0.14450797, 0.14450797, 0.14450797), (0.122769214, 0.122769214, 0.122769214), (0.17423299, 0.17423299, 0.17423299), (0.19037694, 0.19037694, 0.19037694), (0.11361282, 0.11361282, 0.11361282), (0.14458582, 0.14458582, 0.14458582), (0.14501567, 0.14501567, 0.14501567), (0.14522895, 0.14522895, 0.14522895), (0.12436036, 0.12436036, 0.12436036), (0.13267854, 0.13267854, 0.13267854), (0.13636823, 0.13636823, 0.13636823), (0.17360517, 0.17360517, 0.17360517), (0.19406614, 0.19406614, 0.19406614), (0.149205, 0.149205, 0.149205), (0.10046536, 0.10046536, 0.10046536), (0.18648931, 0.18648931, 0.18648931), (0.16292405, 0.16292405, 0.16292405), (0.1428356, 0.1428356, 0.1428356), (0.19358882, 0.19358882, 0.19358882), (0.17513084, 0.17513084, 0.17513084), (0.13694672, 0.13694672, 0.13694672), (0.11225305, 0.11225305, 0.11225305), (0.11133621, 0.11133621, 0.11133621), (0.19783857, 0.19783857, 0.19783857), (0.15065423, 0.15065423, 0.15065423), (0.14954138, 0.14954138, 0.14954138), (0.1107749, 0.1107749, 0.1107749), (0.19611081, 0.19611081, 0.19611081), (0.18178824, 0.18178824, 0.18178824), (0.1639154, 0.1639154, 0.1639154), (0.18216372, 0.18216372, 0.18216372), (0.15550277, 0.15550277, 0.15550277), (0.18769147, 0.18769147, 0.18769147), (0.18095958, 0.18095958, 0.18095958), (0.19253144, 0.19253144, 0.19253144), (0.18900585, 0.18900585, 0.18900585), (0.13973562, 0.13973562, 0.13973562), (0.14814948, 0.14814948, 0.14814948), (0.18449296, 0.18449296, 0.18449296), (0.11284067, 0.11284067, 0.11284067), (0.101560704, 0.101560704, 0.101560704), (0.16244091, 0.16244091, 0.16244091), (0.17782182, 0.17782182, 0.17782182), (0.122980155, 0.122980155, 0.122980155), (0.12862383, 0.12862383, 0.12862383), (0.17066385, 0.17066385, 0.17066385), (0.10373427, 0.10373427, 0.10373427), (0.12717757, 0.12717757, 0.12717757), (0.10348429, 0.10348429, 0.103484295), (0.19692996, 0.19692996, 0.19692996), (0.10615195, 0.106151946, 0.10615195), (0.18180639, 0.18180639, 0.18180639), (0.19755353, 0.19755353, 0.19755353), (0.18082553, 0.18082553, 0.18082553), (0.18312263, 0.18312263, 0.18312263), (0.19133726, 0.19133726, 0.19133726), (0.13329647, 0.13329647, 0.13329647), (0.19921127, 0.19921127, 0.19921127), (0.14216883, 0.14216883, 0.14216883), (0.12793967, 0.12793967, 0.12793967), (0.17537344, 0.17537344, 0.17537344), (0.18933117, 0.18933117, 0.18933117), (0.105730586, 0.105730586, 0.105730586), (0.19162282, 0.19162282, 0.19162282), (0.19230664, 0.19230664, 0.19230664), (0.18816158, 0.18816158, 0.18816158), (0.1622675, 0.1622675, 0.1622675), (0.12614508, 0.12614508, 0.12614508), (0.18374053, 0.18374053, 0.18374053), (0.14540528, 0.14540528, 0.14540528), (0.13605313, 0.13605313, 0.13605313), (0.19362248, 0.19362248, 0.19362248), (0.12749226, 0.12749226, 0.12749226), (0.1415241, 0.1415241, 0.1415241), (0.10816063, 0.10816063, 0.10816063), (0.17168577, 0.17168577, 0.17168577), (0.18647833, 0.18647833, 0.18647833), (0.15950616, 0.15950616, 0.15950616), (0.19573213, 0.19573213, 0.19573213), (0.1837504, 0.1837504, 0.1837504), (0.13568276, 0.13568276, 0.13568276), (0.19487908, 0.19487908, 0.19487908), (0.10879818, 0.10879818, 0.10879818), (0.13713503, 0.13713503, 0.13713503), (0.111651875, 0.111651875, 0.111651875), (0.19634676, 0.19634676, 0.19634676), (0.17455313, 0.17455313, 0.17455313), (0.19435436, 0.19435436, 0.19435436), (0.104394, 0.104394, 0.104394), (0.17708337, 0.17708337, 0.17708337), (0.15122269, 0.15122269, 0.15122269), (0.13346812, 0.13346812, 0.13346812), (0.16913584, 0.16913584, 0.16913584), (0.18239708, 0.18239708, 0.18239708), (0.1473836, 0.1473836, 0.1473836), (0.17306608, 0.17306608, 0.17306608), (0.112129405, 0.112129405, 0.112129405), (0.12645203, 0.12645203, 0.12645203), (0.1853979, 0.1853979, 0.1853979), (0.12736014, 0.12736014, 0.12736014), (0.19915605, 0.19915605, 0.19915605), (0.18204685, 0.18204683, 0.18204683), (0.16520208, 0.16520208, 0.16520208), (0.11824369, 0.118243694, 0.118243694), (0.15308033, 0.15308033, 0.15308033), (0.12590967, 0.12590967, 0.12590967), (0.14154476, 0.14154476, 0.14154476), (0.10246736, 0.10246736, 0.102467366), (0.17029068, 0.17029068, 0.17029068), (0.12534645, 0.12534645, 0.12534645), (0.19121689, 0.19121689, 0.19121689), (0.12854327, 0.12854327, 0.12854327), (0.1907922, 0.1907922, 0.1907922), (0.19230428, 0.19230428, 0.19230428), (0.14528608, 0.14528608, 0.14528608), (0.10790823, 0.10790823, 0.10790823), (0.1574128, 0.1574128, 0.1574128), (0.15500368, 0.15500368, 0.15500368), (0.1764029, 0.1764029, 0.1764029), (0.15347946, 0.15347946, 0.15347946), (0.11467518, 0.11467518, 0.11467518), (0.16159739, 0.16159739, 0.16159739), (0.15059125, 0.15059125, 0.15059125), (0.19879603, 0.19879603, 0.19879603), (0.14504734, 0.14504734, 0.14504734), (0.16576114, 0.16576114, 0.16576114), (0.15047891, 0.15047891, 0.15047891), (0.190952, 0.190952, 0.190952), (0.19337532, 0.19337532, 0.19337532), (0.19679457, 0.19679457, 0.19679457), (0.10334339, 0.10334339, 0.10334339), (0.17556727, 0.17556727, 0.17556727), (0.109160386, 0.109160386, 0.109160386), (0.16814616, 0.16814616, 0.16814616), (0.18584998, 0.18584998, 0.18584998), (0.18098828, 0.18098828, 0.18098828), (0.103529386, 0.103529386, 0.103529386), (0.12700284, 0.12700284, 0.12700284), (0.13043144, 0.13043144, 0.13043144), (0.16309232, 0.16309232, 0.16309232), (0.14710145, 0.14710145, 0.14710145), (0.18220225, 0.18220225, 0.18220225), (0.19372457, 0.19372457, 0.19372457), (0.1465819, 0.1465819, 0.1465819), (0.18756133, 0.18756133, 0.18756133), (0.13876925, 0.13876925, 0.13876925), (0.104977384, 0.104977384, 0.104977384), (0.16696888, 0.16696888, 0.16696888), (0.13962445, 0.13962445, 0.13962445), (0.15586458, 0.15586458, 0.15586458), (0.102442525, 0.102442525, 0.102442525), (0.13659693, 0.13659693, 0.13659693), (0.19891, 0.19891, 0.19891), (0.19837989, 0.19837989, 0.19837989), (0.13991955, 0.13991955, 0.13991955), (0.17686398, 0.17686398, 0.17686398), (0.101206616, 0.101206616, 0.101206616), (0.13854046, 0.13854046, 0.13854046), (0.18138227, 0.18138227, 0.18138227), (0.10703174, 0.10703174, 0.10703174), (0.121638566, 0.121638566, 0.121638566), (0.16535184, 0.16535184, 0.16535184), (0.13047335, 0.13047335, 0.13047335), (0.11087233, 0.11087233, 0.11087233), (0.100131296, 0.100131296, 0.100131296), (0.19520906, 0.19520906, 0.19520906), (0.11774472, 0.11774472, 0.11774472), (0.18132432, 0.18132432, 0.18132432), (0.12041959, 0.12041959, 0.12041959), (0.19871294, 0.19871294, 0.19871294), (0.13350035, 0.13350035, 0.13350035), (0.114277594, 0.114277594, 0.114277594), (0.18774438, 0.18774438, 0.18774438), (0.11237246, 0.11237246, 0.11237246), (0.15174346, 0.15174346, 0.15174346), (0.13342075, 0.13342075, 0.13342075), (0.14047433, 0.14047433, 0.14047433), (0.18736804, 0.18736804, 0.18736804), (0.19306973, 0.19306973, 0.19306973), (0.19271255, 0.19271255, 0.19271255), (0.18320185, 0.18320185, 0.18320185), (0.15679277, 0.15679277, 0.15679277), (0.12971446, 0.12971446, 0.12971446), (0.17852679, 0.17852679, 0.17852679), (0.18606336, 0.18606336, 0.18606336), (0.16333368, 0.16333368, 0.16333368), (0.10447112, 0.104471125, 0.104471125), (0.12389205, 0.12389205, 0.12389205), (0.117913395, 0.117913395, 0.117913395), (0.11551177, 0.11551177, 0.11551177)],
+ }
+ vector3f[] velocities.timeSamples = {
+ 1: [(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)],
+ 2: [(0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861046), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (-8.437403e-10, -2.6998948e-10, -0.40861046), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (1.4985249e-9, 4.9916143e-10, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861046), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861046), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861046), (0, 0, -0.40861046), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861046), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (-3.3161673e-10, 2.1237391e-10, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861046), (0, 0, -0.4086104), (0, 0, -0.40861046), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (7.1713646e-10, 1.1938311e-9, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861046), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861046), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (-1.5178302e-10, -1.315916e-10, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (1.1626155e-13, 3.6272495e-14, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861046), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861046), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861046), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (-6.967436e-10, -1.806176e-10, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (4.5742368e-10, -2.9294317e-10, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (-6.894259e-10, -1.1477009e-9, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861046), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861046), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.40861046), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104), (0, 0, -0.40861043), (0, 0, -0.4086104)],
+ 3: [(0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172209), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (-1.0029328e-9, -3.3372163e-10, -0.8172209), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (1.6350796e-9, 5.480754e-10, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172209), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (-1.5571217e-9, -9.367552e-10, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172209), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (1.3791153e-9, 8.2966767e-10, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172209), (0, 0, -0.8172209), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (-1.4678484e-11, 1.2490907e-10, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (-1.8683778e-10, -1.5864735e-10, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172209), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (-1.4663933e-10, 1.3769513e-10, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (1.7597299e-10, 1.4942185e-10, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172209), (0, 0, -0.8172208), (0, 0, -0.8172209), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (1.3295866e-11, -1.13143446e-10, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (7.609959e-10, 1.2728301e-9, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172209), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (8.257902e-10, 4.9426024e-10, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172209), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (-2.436099e-10, -1.3517605e-10, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (1.1626155e-13, 3.6272495e-14, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172209), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (-2.9185998e-10, 1.7851616e-10, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172209), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172209), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (-6.307322e-10, -1.7325746e-10, -0.81722087), (-1.0665357e-9, -6.3835365e-10, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (5.843481e-10, -4.236309e-10, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (-7.3159057e-10, -1.2236473e-9, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172209), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172209), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172209), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208), (0, 0, -0.81722087), (0, 0, -0.8172208)],
+ 4: [(0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258314), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (-1.1497769e-9, -3.926736e-10, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (1.7093676e-9, 5.745045e-10, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (-2.8088714e-9, -1.7158378e-9, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (2.4877678e-9, 1.5196874e-9, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (-1.4763218e-11, 1.2563013e-10, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (-1.9200558e-10, -1.6303542e-10, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (-1.4948043e-10, 1.3736197e-10, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (1.8084027e-10, 1.5355475e-10, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (1.3372619e-11, -1.1379658e-10, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (7.663785e-10, 1.2824967e-9, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (9.19369e-10, 1.5154121e-9, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (-2.436099e-10, -1.3517605e-10, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (1.1626155e-13, 3.6272495e-14, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (-2.914463e-10, 1.8025405e-10, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (-5.805969e-10, -1.4964913e-10, -1.2258313), (-1.187396e-9, -1.9572055e-9, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258312), (5.8772553e-10, -4.2544646e-10, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (-7.367652e-10, -1.2329403e-9, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258314), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258313), (0, 0, -1.2258312), (0, 0, -1.2258313), (0, 0, -1.2258313)],
+ 5: [(0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344419), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (-1.4069502e-9, -4.9565435e-10, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (1.8096759e-9, 6.098789e-10, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (-2.8088714e-9, -1.7158378e-9, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (2.4877678e-9, 1.5196874e-9, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (-1.47637e-11, 1.2563424e-10, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (-1.9214846e-10, -1.6315674e-10, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (-1.496619e-10, 1.3734394e-10, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (1.8097485e-10, 1.5366902e-10, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (1.3373056e-11, -1.138003e-10, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (7.6703777e-10, 1.2836803e-9, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (9.19369e-10, 1.5154121e-9, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (-2.436099e-10, -1.3517605e-10, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (1.1626155e-13, 3.6272495e-14, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (-2.914206e-10, 1.8036204e-10, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (-4.6223905e-10, -9.7340296e-11, -1.6344417), (-1.187396e-9, -1.9572055e-9, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344415), (5.879422e-10, -4.2556297e-10, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (-7.37399e-10, -1.2340782e-9, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344419), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344417), (0, 0, -1.6344415), (0, 0, -1.6344417), (0, 0, -1.6344417)],
+ }
+
+ def Xform "Prototypes"
+ {
+ def Xform "Rock_0"
+ {
+ def Mesh "mesh_0"
+ {
+ float3[] extent.timeSamples = {
+ 1: [(-0.9200616, -1.1723773, -0.9816961), (1.1531225, 1.1242445, 1.1446561)],
+ }
+ int[] faceVertexCounts.timeSamples = {
+ 1: [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3],
+ }
+ int[] faceVertexIndices.timeSamples = {
+ 1: [0, 3, 2, 0, 4, 3, 0, 5, 4, 0, 6, 5, 0, 7, 6, 0, 8, 7, 0, 9, 8, 0, 10, 9, 0, 11, 10, 0, 12, 11, 0, 13, 12, 0, 14, 13, 0, 15, 14, 0, 16, 15, 0, 17, 16, 0, 18, 17, 0, 19, 18, 0, 20, 19, 0, 21, 20, 0, 22, 21, 0, 23, 22, 0, 24, 23, 0, 25, 24, 0, 2, 25, 2, 3, 27, 26, 3, 4, 28, 27, 4, 5, 29, 28, 5, 6, 30, 29, 6, 7, 31, 30, 7, 8, 32, 31, 8, 9, 33, 32, 9, 10, 34, 33, 10, 11, 35, 34, 11, 12, 36, 35, 12, 13, 37, 36, 13, 14, 38, 37, 14, 15, 39, 38, 15, 16, 40, 39, 16, 17, 41, 40, 17, 18, 42, 41, 18, 19, 43, 42, 19, 20, 44, 43, 20, 21, 45, 44, 21, 22, 46, 45, 22, 23, 47, 46, 23, 24, 48, 47, 24, 25, 49, 48, 25, 2, 26, 49, 26, 27, 51, 50, 27, 28, 52, 51, 28, 29, 53, 52, 29, 30, 54, 53, 30, 31, 55, 54, 31, 32, 56, 55, 32, 33, 57, 56, 33, 34, 58, 57, 34, 35, 59, 58, 35, 36, 60, 59, 36, 37, 61, 60, 37, 38, 62, 61, 38, 39, 63, 62, 39, 40, 64, 63, 40, 41, 65, 64, 41, 42, 66, 65, 42, 43, 67, 66, 43, 44, 68, 67, 44, 45, 69, 68, 45, 46, 70, 69, 46, 47, 71, 70, 47, 48, 72, 71, 48, 49, 73, 72, 49, 26, 50, 73, 50, 51, 75, 74, 51, 52, 76, 75, 52, 53, 77, 76, 53, 54, 78, 77, 54, 55, 79, 78, 55, 56, 80, 79, 56, 57, 81, 80, 57, 58, 82, 81, 58, 59, 83, 82, 59, 60, 84, 83, 60, 61, 85, 84, 61, 62, 86, 85, 62, 63, 87, 86, 63, 64, 88, 87, 64, 65, 89, 88, 65, 66, 90, 89, 66, 67, 91, 90, 67, 68, 92, 91, 68, 69, 93, 92, 69, 70, 94, 93, 70, 71, 95, 94, 71, 72, 96, 95, 72, 73, 97, 96, 73, 50, 74, 97, 74, 75, 99, 98, 75, 76, 100, 99, 76, 77, 101, 100, 77, 78, 102, 101, 78, 79, 103, 102, 79, 80, 104, 103, 80, 81, 105, 104, 81, 82, 106, 105, 82, 83, 107, 106, 83, 84, 108, 107, 84, 85, 109, 108, 85, 86, 110, 109, 86, 87, 111, 110, 87, 88, 112, 111, 88, 89, 113, 112, 89, 90, 114, 113, 90, 91, 115, 114, 91, 92, 116, 115, 92, 93, 117, 116, 93, 94, 118, 117, 94, 95, 119, 118, 95, 96, 120, 119, 96, 97, 121, 120, 97, 74, 98, 121, 98, 99, 123, 122, 99, 100, 124, 123, 100, 101, 125, 124, 101, 102, 126, 125, 102, 103, 127, 126, 103, 104, 128, 127, 104, 105, 129, 128, 105, 106, 130, 129, 106, 107, 131, 130, 107, 108, 132, 131, 108, 109, 133, 132, 109, 110, 134, 133, 110, 111, 135, 134, 111, 112, 136, 135, 112, 113, 137, 136, 113, 114, 138, 137, 114, 115, 139, 138, 115, 116, 140, 139, 116, 117, 141, 140, 117, 118, 142, 141, 118, 119, 143, 142, 119, 120, 144, 143, 120, 121, 145, 144, 121, 98, 122, 145, 122, 123, 147, 146, 123, 124, 148, 147, 124, 125, 149, 148, 125, 126, 150, 149, 126, 127, 151, 150, 127, 128, 152, 151, 128, 129, 153, 152, 129, 130, 154, 153, 130, 131, 155, 154, 131, 132, 156, 155, 132, 133, 157, 156, 133, 134, 158, 157, 134, 135, 159, 158, 135, 136, 160, 159, 136, 137, 161, 160, 137, 138, 162, 161, 138, 139, 163, 162, 139, 140, 164, 163, 140, 141, 165, 164, 141, 142, 166, 165, 142, 143, 167, 166, 143, 144, 168, 167, 144, 145, 169, 168, 145, 122, 146, 169, 146, 147, 171, 170, 147, 148, 172, 171, 148, 149, 173, 172, 149, 150, 174, 173, 150, 151, 175, 174, 151, 152, 176, 175, 152, 153, 177, 176, 153, 154, 178, 177, 154, 155, 179, 178, 155, 156, 180, 179, 156, 157, 181, 180, 157, 158, 182, 181, 158, 159, 183, 182, 159, 160, 184, 183, 160, 161, 185, 184, 161, 162, 186, 185, 162, 163, 187, 186, 163, 164, 188, 187, 164, 165, 189, 188, 165, 166, 190, 189, 166, 167, 191, 190, 167, 168, 192, 191, 168, 169, 193, 192, 169, 146, 170, 193, 170, 171, 195, 194, 171, 172, 196, 195, 172, 173, 197, 196, 173, 174, 198, 197, 174, 175, 199, 198, 175, 176, 200, 199, 176, 177, 201, 200, 177, 178, 202, 201, 178, 179, 203, 202, 179, 180, 204, 203, 180, 181, 205, 204, 181, 182, 206, 205, 182, 183, 207, 206, 183, 184, 208, 207, 184, 185, 209, 208, 185, 186, 210, 209, 186, 187, 211, 210, 187, 188, 212, 211, 188, 189, 213, 212, 189, 190, 214, 213, 190, 191, 215, 214, 191, 192, 216, 215, 192, 193, 217, 216, 193, 170, 194, 217, 194, 195, 219, 218, 195, 196, 220, 219, 196, 197, 221, 220, 197, 198, 222, 221, 198, 199, 223, 222, 199, 200, 224, 223, 200, 201, 225, 224, 201, 202, 226, 225, 202, 203, 227, 226, 203, 204, 228, 227, 204, 205, 229, 228, 205, 206, 230, 229, 206, 207, 231, 230, 207, 208, 232, 231, 208, 209, 233, 232, 209, 210, 234, 233, 210, 211, 235, 234, 211, 212, 236, 235, 212, 213, 237, 236, 213, 214, 238, 237, 214, 215, 239, 238, 215, 216, 240, 239, 216, 217, 241, 240, 217, 194, 218, 241, 218, 219, 243, 242, 219, 220, 244, 243, 220, 221, 245, 244, 221, 222, 246, 245, 222, 223, 247, 246, 223, 224, 248, 247, 224, 225, 249, 248, 225, 226, 250, 249, 226, 227, 251, 250, 227, 228, 252, 251, 228, 229, 253, 252, 229, 230, 254, 253, 230, 231, 255, 254, 231, 232, 256, 255, 232, 233, 257, 256, 233, 234, 258, 257, 234, 235, 259, 258, 235, 236, 260, 259, 236, 237, 261, 260, 237, 238, 262, 261, 238, 239, 263, 262, 239, 240, 264, 263, 240, 241, 265, 264, 241, 218, 242, 265, 242, 243, 1, 243, 244, 1, 244, 245, 1, 245, 246, 1, 246, 247, 1, 247, 248, 1, 248, 249, 1, 249, 250, 1, 250, 251, 1, 251, 252, 1, 252, 253, 1, 253, 254, 1, 254, 255, 1, 255, 256, 1, 256, 257, 1, 257, 258, 1, 258, 259, 1, 259, 260, 1, 260, 261, 1, 261, 262, 1, 262, 263, 1, 263, 264, 1, 264, 265, 1, 265, 242, 1],
+ }
+ uniform token orientation = "leftHanded"
+ point3f[] points.timeSamples = {
+ 1: [(-4.6101682e-8, 1.2073886e-8, 1.1407812), (5.2350654e-8, -1.923855e-8, -0.8324003), (0.25657073, 7.7598056e-10, 0.95753235), (0.24404664, 0.0653921, 0.94291687), (0.22342291, 0.12899327, 0.9628179), (0.18772939, 0.1877294, 0.9908274), (0.13954337, 0.2416962, 1.041588), (0.07445665, 0.27787572, 1.073661), (2.193609e-8, 0.27572826, 1.0290504), (-0.07133191, 0.26621428, 1.0285914), (-0.14354767, 0.24863191, 1.0714855), (-0.2044914, 0.20449151, 1.0793223), (-0.25053325, 0.14464551, 1.0796819), (-0.29544345, 0.07916393, 1.1415577), (-0.2909899, 1.136442e-7, 1.0860244), (-0.26977837, -0.07228677, 1.0423659), (-0.24152933, -0.13944688, 1.0408685), (-0.18970485, -0.18970464, 1.0012562), (-0.1326364, -0.22973283, 0.99001807), (-0.06966218, -0.2599824, 1.0045062), (-1.3813306e-7, -0.28060094, 1.0472407), (0.07541636, -0.28145844, 1.0875075), (0.15334757, -0.26560625, 1.1446561), (0.20602392, -0.2060242, 1.0874135), (0.2388839, -0.13791989, 1.0294654), (0.25462973, -0.068228036, 0.9838191), (0.48562673, 4.601833e-9, 0.841123), (0.46078336, 0.12346653, 0.82624257), (0.40078968, 0.23139602, 0.8015605), (0.3175218, 0.3175218, 0.77774066), (0.23029833, 0.39888844, 0.79775685), (0.12410837, 0.4631787, 0.830539), (3.012592e-8, 0.47337088, 0.81988895), (-0.123013556, 0.4590931, 0.8232107), (-0.23939233, 0.41463983, 0.8292689), (-0.35337532, 0.3533755, 0.86558944), (-0.4628305, 0.26721546, 0.9256788), (-0.5488792, 0.14707193, 0.98425823), (-0.55122006, 2.0782635e-7, 0.9547673), (-0.49853992, -0.13358313, 0.89396554), (-0.43079695, -0.24872047, 0.8615925), (-0.32647577, -0.3264754, 0.79967916), (-0.20761475, -0.359599, 0.71915513), (-0.106429905, -0.39720124, 0.71219677), (-1.9444293e-7, -0.43770373, 0.7580935), (0.12795314, -0.47752866, 0.8562781), (0.26727083, -0.46292725, 0.9258719), (0.37946314, -0.3794636, 0.9295104), (0.45059773, -0.2601531, 0.9012062), (0.48366857, -0.12959898, 0.8672914), (0.6860602, 4.3811546e-9, 0.68605405), (0.709724, 0.19016998, 0.7347685), (0.5725596, 0.33056745, 0.6611214), (0.5026716, 0.5026716, 0.7108861), (0.37627363, 0.6517251, 0.7525606), (0.21274869, 0.7939888, 0.8220314), (6.672487e-8, 0.77954817, 0.7795694), (-0.19461398, 0.7263096, 0.7519441), (-0.36205077, 0.62709063, 0.7241068), (-0.52140117, 0.5214014, 0.73738164), (-0.61218596, 0.35344595, 0.7068915), (-0.6935072, 0.18582493, 0.71797466), (-0.7973692, 2.999284e-7, 0.7973956), (-0.7379852, -0.19774218, 0.76403505), (-0.6382085, -0.36846945, 0.73694825), (-0.47432113, -0.47432056, 0.6707803), (-0.29041135, -0.5030068, 0.5807854), (-0.152114, -0.5676963, 0.5876876), (-3.0913435e-7, -0.66388744, 0.6638748), (0.17159073, -0.6403867, 0.6629641), (0.31984285, -0.5539848, 0.6396666), (0.49777365, -0.49777424, 0.70395774), (0.57742035, -0.3333743, 0.666736), (0.62587166, -0.16770232, 0.6479328), (0.85616267, 1.1413167e-9, 0.49430412), (0.807678, 0.21641667, 0.48275784), (0.6755336, 0.3900195, 0.45034125), (0.62787473, 0.62787473, 0.5126613), (0.4641612, 0.8039508, 0.53597766), (0.25791657, 0.9625577, 0.57535905), (8.415276e-8, 1.0570587, 0.6103253), (-0.22741623, 0.8487294, 0.50730205), (-0.40539458, 0.7021643, 0.4681002), (-0.6203879, 0.6203882, 0.5065466), (-0.7901659, 0.4562028, 0.5267852), (-0.80065715, 0.21453573, 0.4785602), (-0.82704663, 3.2796612e-7, 0.47748902), (-0.8718231, -0.23360388, 0.5211095), (-0.81422013, -0.47008967, 0.54282576), (-0.6013835, -0.60138285, 0.4910247), (-0.4152341, -0.7192059, 0.47946474), (-0.25128764, -0.9378167, 0.56056666), (-4.6287371e-7, -1.0012876, 0.5781164), (0.23412499, -0.87376815, 0.5222725), (0.42031115, -0.72800124, 0.48532975), (0.6007351, -0.6007359, 0.49049574), (0.6699547, -0.38679916, 0.44662112), (0.77621907, -0.2079879, 0.4639489), (0.94869894, 1.0131695e-9, 0.25420177), (0.83971846, 0.22500189, 0.23293158), (0.7720389, 0.44573689, 0.23886387), (0.72227013, 0.72227013, 0.2736995), (0.52840364, 0.915222, 0.28317776), (0.26934722, 1.0052173, 0.27885455), (9.341014e-8, 1.1242445, 0.30125275), (-0.28508398, 1.0639484, 0.29515135), (-0.5113727, 0.8857238, 0.27404833), (-0.66692066, 0.666921, 0.2527195), (-0.82452315, 0.476039, 0.2551073), (-0.8142778, 0.21818537, 0.22587225), (-0.8239037, 3.494164e-7, 0.22075327), (-0.89231676, -0.23909514, 0.24752662), (-0.82426125, -0.47588694, 0.25502616), (-0.6379838, -0.6379831, 0.2417508), (-0.4524665, -0.78369427, 0.24247116), (-0.29560208, -1.1032002, 0.30604303), (-5.2120294e-7, -1.1205214, 0.30025485), (0.31413692, -1.1723773, 0.3252384), (0.53072137, -0.9192376, 0.28442046), (0.6590578, -0.65905863, 0.24973914), (0.7699526, -0.44453302, 0.23821826), (0.92312056, -0.24735016, 0.25607422), (1.1531225, -5.802286e-9, 0), (0.9415914, 0.25229865, 0), (0.86868477, 0.5015354, 0), (0.78656036, 0.78656036, 5.9609646e-9), (0.5080713, 0.88000536, 8.563704e-10), (0.2511726, 0.9373888, 0), (8.154078e-8, 1.0483248, -1.8311766e-10), (-0.27590477, 1.0296912, -2.501501e-10), (-0.47379187, 0.8206319, 1.9862038e-10), (-0.5795691, 0.57956946, 1.3669192e-9), (-0.85086006, 0.49124458, 6.635563e-11), (-0.918669, 0.24615695, 1.8538733e-10), (-0.90569705, 3.679738e-7, -3.5734296e-10), (-0.9097644, -0.24377021, 0), (-0.8534974, -0.4927664, 5.4817446e-11), (-0.6854004, -0.68539965, 0), (-0.4497072, -0.7789151, 3.8115178e-10), (-0.25004438, -0.9331769, 1.284731e-10), (-5.159704e-7, -1.1077939, 5.7185052e-9), (0.26584363, -0.9921439, 1.5427911e-9), (0.47347578, -0.8200852, -2.0101326e-10), (0.68108714, -0.68108803, 0), (0.9566476, -0.5523216, -1.586081e-9), (1.0849764, -0.29071936, -2.3351694e-9), (1.0475646, -4.641404e-9, -0.28070045), (1.0185481, 0.27291915, -0.28255358), (0.9532803, 0.55037665, -0.29495648), (0.8119829, 0.8119829, -0.30770493), (0.48225152, 0.83528423, -0.25843772), (0.24455489, 0.9126911, -0.25318018), (7.567305e-8, 0.98853153, -0.264878), (-0.2464561, 0.9197871, -0.2551492), (-0.36792883, 0.6372717, -0.19715461), (-0.5125328, 0.51253307, -0.19419912), (-0.7173787, 0.41417903, -0.22194706), (-0.8779101, 0.2352356, -0.24352908), (-0.89798707, 3.633591e-7, -0.24060962), (-0.85851896, -0.23003906, -0.23814835), (-0.73569524, -0.4247534, -0.22761577), (-0.5859091, -0.5859084, -0.22201203), (-0.36681053, -0.6353339, -0.19655496), (-0.21134636, -0.7887541, -0.21878994), (-4.4108708e-7, -0.9485965, -0.25417432), (0.20590192, -0.768438, -0.2131525), (0.378874, -0.65622985, -0.20302193), (0.62879556, -0.62879634, -0.2382683), (0.8166643, -0.4715021, -0.25267512), (0.99170005, -0.265726, -0.2751038), (0.98975426, -1.40478305e-8, -0.5714557), (0.97801507, 0.26205835, -0.5846009), (0.8311257, 0.47985062, -0.55409956), (0.72216487, 0.72216487, -0.5896713), (0.45957625, 0.7960095, -0.53068197), (0.22015588, 0.8216328, -0.49110132), (5.5957397e-8, 0.7902891, -0.4562609), (-0.21401279, 0.798707, -0.47739413), (-0.32817313, 0.5684128, -0.37890652), (-0.43611497, 0.4361152, -0.3560445), (-0.58142674, 0.33568707, -0.3875851), (-0.826982, 0.22158948, -0.49429962), (-0.9200616, 3.499849e-7, -0.5312069), (-0.89418143, -0.23959479, -0.5344774), (-0.692123, -0.39959696, -0.46140397), (-0.49025863, -0.4902581, -0.40026522), (-0.35978284, -0.6231616, -0.41541654), (-0.1899274, -0.70881754, -0.4236501), (-3.3742458e-7, -0.71366745, -0.41201046), (0.17357202, -0.6477809, -0.38715672), (0.33948338, -0.5880032, -0.39197052), (0.5360093, -0.53601, -0.4376319), (0.65831304, -0.38007778, -0.4388577), (0.8346929, -0.22365595, -0.49890992), (0.7591084, -1.0408585e-8, -0.7591237), (0.7048733, 0.18887024, -0.7297452), (0.6211763, 0.35863632, -0.7172756), (0.55516654, 0.55516654, -0.7851469), (0.40436175, 0.7003752, -0.80875325), (0.18249576, 0.6810833, -0.70510876), (4.7903164e-8, 0.6755054, -0.67549616), (-0.16908647, 0.6310396, -0.6532845), (-0.29294232, 0.5073912, -0.58584934), (-0.4035238, 0.40352404, -0.5706291), (-0.54459876, 0.31442443, -0.62882566), (-0.6850195, 0.18355066, -0.709185), (-0.72433895, 2.7986445e-7, -0.72434396), (-0.6686181, -0.17915535, -0.69219995), (-0.57611525, -0.33261994, -0.6652282), (-0.4227345, -0.42273402, -0.5978045), (-0.29954273, -0.5188228, -0.5990535), (-0.15478307, -0.57765734, -0.59800303), (-2.6681312e-7, -0.5272218, -0.52716917), (0.1299708, -0.4850587, -0.5021097), (0.27139193, -0.47006524, -0.5427363), (0.41508353, -0.415084, -0.58698195), (0.5212096, -0.30092096, -0.6018104), (0.6431263, -0.1723257, -0.6658014), (0.51177984, -3.6384118e-9, -0.8864348), (0.49319577, 0.13215141, -0.88438), (0.4602675, 0.2657356, -0.9205512), (0.39417598, 0.39417598, -0.96555936), (0.2833814, 0.49083105, -0.9816961), (0.14006287, 0.52272177, -0.9373401), (3.424996e-8, 0.47587183, -0.82422197), (-0.114835426, 0.42857185, -0.7684654), (-0.20907688, 0.36213195, -0.72422224), (-0.30600548, 0.30600566, -0.7495234), (-0.40223885, 0.23223284, -0.8044598), (-0.4646538, 0.12450377, -0.8331849), (-0.50672966, 1.963675e-7, -0.87768507), (-0.4437002, -0.1188889, -0.7956007), (-0.38157976, -0.22030492, -0.7631291), (-0.30332407, -0.3033237, -0.7429526), (-0.22411294, -0.3881747, -0.7763234), (-0.11682954, -0.4360131, -0.7818128), (-2.101346e-7, -0.44824392, -0.776355), (0.110034436, -0.410655, -0.7363283), (0.21254782, -0.36814415, -0.73625004), (0.30699438, -0.3069948, -0.7519467), (0.4221757, -0.24374361, -0.8443454), (0.47537154, -0.1273758, -0.8524092), (0.24876843, 3.5235725e-9, -0.9284052), (0.23402733, 0.06270743, -0.90419376), (0.209454, 0.12092831, -0.9026024), (0.16960225, 0.16960223, -0.89512545), (0.115890674, 0.2007287, -0.86499053), (0.057514183, 0.21464634, -0.8292894), (-5.3843088e-8, 0.21485984, -0.8018193), (-0.05476209, 0.20437539, -0.7895937), (-0.103988335, 0.18011343, -0.77612484), (-0.14758572, 0.14758576, -0.7788899), (-0.18264966, 0.10545286, -0.7870576), (-0.2044332, 0.054777786, -0.7898172), (-0.21336983, 8.320303e-8, -0.7962569), (-0.21180913, -0.056753978, -0.8183238), (-0.20195855, -0.11660067, -0.87029165), (-0.16788197, -0.16788174, -0.8860427), (-0.116145656, -0.20117009, -0.8668935), (-0.06019818, -0.22466226, -0.86799943), (-1.5698986e-7, -0.22698508, -0.8470847), (0.057091504, -0.21306875, -0.8231921), (0.11131794, -0.19280861, -0.8308494), (0.1649996, -0.16499981, -0.87082654), (0.21355578, -0.12329668, -0.9202843), (0.24094893, -0.06456227, -0.930945)],
+ }
+ uniform token subdivisionScheme = "none"
+ }
+ }
+ }
+ }
+}
--- /dev/null
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+typedef long myLong;
+typedef TestInterface AnotherNameForTestInterface;
+typedef TestInterface? NullableTestInterface;
+typedef CustomEventInit TestDictionaryTypedef;
+
+interface TestExternalInterface;
+
+[Pref="xyz"]
+interface TestRenamedInterface {
+};
+
+callback interface TestCallbackInterface {
+ readonly attribute long foo;
+ attribute DOMString bar;
+ void doSomething();
+ long doSomethingElse(DOMString arg, TestInterface otherArg);
+ void doSequenceLongArg(sequence<long> arg);
+ void doSequenceStringArg(sequence<DOMString> arg);
+ void doMozMapLongArg(MozMap<long> arg);
+ sequence<long> getSequenceOfLong();
+ sequence<TestInterface> getSequenceOfInterfaces();
+ sequence<TestInterface>? getNullableSequenceOfInterfaces();
+ sequence<TestInterface?> getSequenceOfNullableInterfaces();
+ sequence<TestInterface?>? getNullableSequenceOfNullableInterfaces();
+ sequence<TestCallbackInterface> getSequenceOfCallbackInterfaces();
+ sequence<TestCallbackInterface>? getNullableSequenceOfCallbackInterfaces();
+ sequence<TestCallbackInterface?> getSequenceOfNullableCallbackInterfaces();
+ sequence<TestCallbackInterface?>? getNullableSequenceOfNullableCallbackInterfaces();
+ MozMap<long> getMozMapOfLong();
+ Dict? getDictionary();
+ void passArrayBuffer(ArrayBuffer arg);
+ void passNullableArrayBuffer(ArrayBuffer? arg);
+ void passOptionalArrayBuffer(optional ArrayBuffer arg);
+ void passOptionalNullableArrayBuffer(optional ArrayBuffer? arg);
+ void passOptionalNullableArrayBufferWithDefaultValue(optional ArrayBuffer? arg= null);
+ void passArrayBufferView(ArrayBufferView arg);
+ void passInt8Array(Int8Array arg);
+ void passInt16Array(Int16Array arg);
+ void passInt32Array(Int32Array arg);
+ void passUint8Array(Uint8Array arg);
+ void passUint16Array(Uint16Array arg);
+ void passUint32Array(Uint32Array arg);
+ void passUint8ClampedArray(Uint8ClampedArray arg);
+ void passFloat32Array(Float32Array arg);
+ void passFloat64Array(Float64Array arg);
+ void passSequenceOfArrayBuffers(sequence<ArrayBuffer> arg);
+ void passSequenceOfNullableArrayBuffers(sequence<ArrayBuffer?> arg);
+ void passVariadicTypedArray(Float32Array... arg);
+ void passVariadicNullableTypedArray(Float32Array?... arg);
+ Uint8Array receiveUint8Array();
+ attribute Uint8Array uint8ArrayAttr;
+ Promise<void> receivePromise();
+};
+
+callback interface TestSingleOperationCallbackInterface {
+ TestInterface doSomething(short arg, sequence<double> anotherArg);
+};
+
+enum TestEnum {
+ "1",
+ "a",
+ "b"
+};
+
+callback TestCallback = void();
+[TreatNonCallableAsNull] callback TestTreatAsNullCallback = void();
+
+// Callback return value tests
+callback TestIntegerReturn = long();
+callback TestNullableIntegerReturn = long?();
+callback TestBooleanReturn = boolean();
+callback TestFloatReturn = float();
+callback TestStringReturn = DOMString(long arg);
+callback TestEnumReturn = TestEnum();
+callback TestInterfaceReturn = TestInterface();
+callback TestNullableInterfaceReturn = TestInterface?();
+callback TestExternalInterfaceReturn = TestExternalInterface();
+callback TestNullableExternalInterfaceReturn = TestExternalInterface?();
+callback TestCallbackInterfaceReturn = TestCallbackInterface();
+callback TestNullableCallbackInterfaceReturn = TestCallbackInterface?();
+callback TestCallbackReturn = TestCallback();
+callback TestNullableCallbackReturn = TestCallback?();
+callback TestObjectReturn = object();
+callback TestNullableObjectReturn = object?();
+callback TestTypedArrayReturn = ArrayBuffer();
+callback TestNullableTypedArrayReturn = ArrayBuffer?();
+callback TestSequenceReturn = sequence<boolean>();
+callback TestNullableSequenceReturn = sequence<boolean>?();
+// Callback argument tests
+callback TestIntegerArguments = sequence<long>(long arg1, long? arg2,
+ sequence<long> arg3,
+ sequence<long?>? arg4);
+callback TestInterfaceArguments = void(TestInterface arg1, TestInterface? arg2,
+ TestExternalInterface arg3,
+ TestExternalInterface? arg4,
+ TestCallbackInterface arg5,
+ TestCallbackInterface? arg6,
+ sequence<TestInterface> arg7,
+ sequence<TestInterface?>? arg8,
+ sequence<TestExternalInterface> arg9,
+ sequence<TestExternalInterface?>? arg10,
+ sequence<TestCallbackInterface> arg11,
+ sequence<TestCallbackInterface?>? arg12);
+callback TestStringEnumArguments = void(DOMString myString, DOMString? nullString,
+ TestEnum myEnum);
+callback TestObjectArguments = void(object anObj, object? anotherObj,
+ ArrayBuffer buf, ArrayBuffer? buf2);
+callback TestOptionalArguments = void(optional DOMString aString,
+ optional object something,
+ optional sequence<TestInterface> aSeq,
+ optional TestInterface? anInterface,
+ optional TestInterface anotherInterface,
+ optional long aLong);
+// If you add a new test callback, add it to the forceCallbackGeneration
+// method on TestInterface so it actually gets tested.
+
+TestInterface implements ImplementedInterface;
+
+// This interface is only for use in the constructor below
+interface OnlyForUseInConstructor {
+};
+
+[Constructor,
+ Constructor(DOMString str),
+ Constructor(unsigned long num, boolean? boolArg),
+ Constructor(TestInterface? iface),
+ Constructor(long arg1, IndirectlyImplementedInterface iface),
+ Constructor(Date arg1),
+ Constructor(ArrayBuffer arrayBuf),
+ Constructor(Uint8Array typedArr),
+ // Constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3),
+ NamedConstructor=Test,
+ NamedConstructor=Test(DOMString str),
+ NamedConstructor=Test2(DictForConstructor dict, any any1, object obj1,
+ object? obj2, sequence<Dict> seq, optional any any2,
+ optional object obj3, optional object? obj4),
+ NamedConstructor=Test3((long or MozMap<any>) arg1)
+ ]
+interface TestInterface {
+ // Integer types
+ // XXXbz add tests for throwing versions of all the integer stuff
+ readonly attribute byte readonlyByte;
+ attribute byte writableByte;
+ void passByte(byte arg);
+ byte receiveByte();
+ void passOptionalByte(optional byte arg);
+ void passOptionalByteBeforeRequired(optional byte arg1, byte arg2);
+ void passOptionalByteWithDefault(optional byte arg = 0);
+ void passOptionalByteWithDefaultBeforeRequired(optional byte arg1 = 0, byte arg2);
+ void passNullableByte(byte? arg);
+ void passOptionalNullableByte(optional byte? arg);
+ void passVariadicByte(byte... arg);
+ [StoreInSlot, Pure]
+ readonly attribute byte cachedByte;
+ [StoreInSlot, Constant]
+ readonly attribute byte cachedConstantByte;
+ [StoreInSlot, Pure]
+ attribute byte cachedWritableByte;
+ [Affects=Nothing]
+ attribute byte sideEffectFreeByte;
+ [Affects=Nothing, DependsOn=DOMState]
+ attribute byte domDependentByte;
+ [Affects=Nothing, DependsOn=Nothing]
+ readonly attribute byte constantByte;
+ [DependsOn=DeviceState, Affects=Nothing]
+ readonly attribute byte deviceStateDependentByte;
+ [Affects=Nothing]
+ byte returnByteSideEffectFree();
+ [Affects=Nothing, DependsOn=DOMState]
+ byte returnDOMDependentByte();
+ [Affects=Nothing, DependsOn=Nothing]
+ byte returnConstantByte();
+ [DependsOn=DeviceState, Affects=Nothing]
+ byte returnDeviceStateDependentByte();
+
+ [UnsafeInPrerendering]
+ void unsafePrerenderMethod();
+ [UnsafeInPrerendering]
+ attribute long unsafePrerenderWritable;
+ [UnsafeInPrerendering]
+ readonly attribute long unsafePrerenderReadonly;
+ readonly attribute short readonlyShort;
+ attribute short writableShort;
+ void passShort(short arg);
+ short receiveShort();
+ void passOptionalShort(optional short arg);
+ void passOptionalShortWithDefault(optional short arg = 5);
+
+ readonly attribute long readonlyLong;
+ attribute long writableLong;
+ void passLong(long arg);
+ long receiveLong();
+ void passOptionalLong(optional long arg);
+ void passOptionalLongWithDefault(optional long arg = 7);
+
+ readonly attribute long long readonlyLongLong;
+ attribute long long writableLongLong;
+ void passLongLong(long long arg);
+ long long receiveLongLong();
+ void passOptionalLongLong(optional long long arg);
+ void passOptionalLongLongWithDefault(optional long long arg = -12);
+
+ readonly attribute octet readonlyOctet;
+ attribute octet writableOctet;
+ void passOctet(octet arg);
+ octet receiveOctet();
+ void passOptionalOctet(optional octet arg);
+ void passOptionalOctetWithDefault(optional octet arg = 19);
+
+ readonly attribute unsigned short readonlyUnsignedShort;
+ attribute unsigned short writableUnsignedShort;
+ void passUnsignedShort(unsigned short arg);
+ unsigned short receiveUnsignedShort();
+ void passOptionalUnsignedShort(optional unsigned short arg);
+ void passOptionalUnsignedShortWithDefault(optional unsigned short arg = 2);
+
+ readonly attribute unsigned long readonlyUnsignedLong;
+ attribute unsigned long writableUnsignedLong;
+ void passUnsignedLong(unsigned long arg);
+ unsigned long receiveUnsignedLong();
+ void passOptionalUnsignedLong(optional unsigned long arg);
+ void passOptionalUnsignedLongWithDefault(optional unsigned long arg = 6);
+
+ readonly attribute unsigned long long readonlyUnsignedLongLong;
+ attribute unsigned long long writableUnsignedLongLong;
+ void passUnsignedLongLong(unsigned long long arg);
+ unsigned long long receiveUnsignedLongLong();
+ void passOptionalUnsignedLongLong(optional unsigned long long arg);
+ void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17);
+
+ attribute float writableFloat;
+ attribute unrestricted float writableUnrestrictedFloat;
+ attribute float? writableNullableFloat;
+ attribute unrestricted float? writableNullableUnrestrictedFloat;
+ attribute double writableDouble;
+ attribute unrestricted double writableUnrestrictedDouble;
+ attribute double? writableNullableDouble;
+ attribute unrestricted double? writableNullableUnrestrictedDouble;
+ void passFloat(float arg1, unrestricted float arg2,
+ float? arg3, unrestricted float? arg4,
+ double arg5, unrestricted double arg6,
+ double? arg7, unrestricted double? arg8,
+ sequence<float> arg9, sequence<unrestricted float> arg10,
+ sequence<float?> arg11, sequence<unrestricted float?> arg12,
+ sequence<double> arg13, sequence<unrestricted double> arg14,
+ sequence<double?> arg15, sequence<unrestricted double?> arg16);
+ [LenientFloat]
+ void passLenientFloat(float arg1, unrestricted float arg2,
+ float? arg3, unrestricted float? arg4,
+ double arg5, unrestricted double arg6,
+ double? arg7, unrestricted double? arg8,
+ sequence<float> arg9,
+ sequence<unrestricted float> arg10,
+ sequence<float?> arg11,
+ sequence<unrestricted float?> arg12,
+ sequence<double> arg13,
+ sequence<unrestricted double> arg14,
+ sequence<double?> arg15,
+ sequence<unrestricted double?> arg16);
+ [LenientFloat]
+ attribute float lenientFloatAttr;
+ [LenientFloat]
+ attribute double lenientDoubleAttr;
+
+ void passUnrestricted(optional unrestricted float arg1 = 0,
+ optional unrestricted float arg2 = Infinity,
+ optional unrestricted float arg3 = -Infinity,
+ optional unrestricted float arg4 = NaN,
+ optional unrestricted double arg5 = 0,
+ optional unrestricted double arg6 = Infinity,
+ optional unrestricted double arg7 = -Infinity,
+ optional unrestricted double arg8 = NaN);
+
+ // Castable interface types
+ // XXXbz add tests for throwing versions of all the castable interface stuff
+ TestInterface receiveSelf();
+ TestInterface? receiveNullableSelf();
+ TestInterface receiveWeakSelf();
+ TestInterface? receiveWeakNullableSelf();
+ void passSelf(TestInterface arg);
+ void passNullableSelf(TestInterface? arg);
+ attribute TestInterface nonNullSelf;
+ attribute TestInterface? nullableSelf;
+ [Cached, Pure]
+ readonly attribute TestInterface cachedSelf;
+ // Optional arguments
+ void passOptionalSelf(optional TestInterface? arg);
+ void passOptionalNonNullSelf(optional TestInterface arg);
+ void passOptionalSelfWithDefault(optional TestInterface? arg = null);
+
+ // Non-wrapper-cache interface types
+ [NewObject]
+ TestNonWrapperCacheInterface receiveNonWrapperCacheInterface();
+ [NewObject]
+ TestNonWrapperCacheInterface? receiveNullableNonWrapperCacheInterface();
+ [NewObject]
+ sequence<TestNonWrapperCacheInterface> receiveNonWrapperCacheInterfaceSequence();
+ [NewObject]
+ sequence<TestNonWrapperCacheInterface?> receiveNullableNonWrapperCacheInterfaceSequence();
+ [NewObject]
+ sequence<TestNonWrapperCacheInterface>? receiveNonWrapperCacheInterfaceNullableSequence();
+ [NewObject]
+ sequence<TestNonWrapperCacheInterface?>? receiveNullableNonWrapperCacheInterfaceNullableSequence();
+
+ // Non-castable interface types
+ IndirectlyImplementedInterface receiveOther();
+ IndirectlyImplementedInterface? receiveNullableOther();
+ IndirectlyImplementedInterface receiveWeakOther();
+ IndirectlyImplementedInterface? receiveWeakNullableOther();
+ void passOther(IndirectlyImplementedInterface arg);
+ void passNullableOther(IndirectlyImplementedInterface? arg);
+ attribute IndirectlyImplementedInterface nonNullOther;
+ attribute IndirectlyImplementedInterface? nullableOther;
+ // Optional arguments
+ void passOptionalOther(optional IndirectlyImplementedInterface? arg);
+ void passOptionalNonNullOther(optional IndirectlyImplementedInterface arg);
+ void passOptionalOtherWithDefault(optional IndirectlyImplementedInterface? arg = null);
+
+ // External interface types
+ TestExternalInterface receiveExternal();
+ TestExternalInterface? receiveNullableExternal();
+ TestExternalInterface receiveWeakExternal();
+ TestExternalInterface? receiveWeakNullableExternal();
+ void passExternal(TestExternalInterface arg);
+ void passNullableExternal(TestExternalInterface? arg);
+ attribute TestExternalInterface nonNullExternal;
+ attribute TestExternalInterface? nullableExternal;
+ // Optional arguments
+ void passOptionalExternal(optional TestExternalInterface? arg);
+ void passOptionalNonNullExternal(optional TestExternalInterface arg);
+ void passOptionalExternalWithDefault(optional TestExternalInterface? arg = null);
+
+ // Callback interface types
+ TestCallbackInterface receiveCallbackInterface();
+ TestCallbackInterface? receiveNullableCallbackInterface();
+ TestCallbackInterface receiveWeakCallbackInterface();
+ TestCallbackInterface? receiveWeakNullableCallbackInterface();
+ void passCallbackInterface(TestCallbackInterface arg);
+ void passNullableCallbackInterface(TestCallbackInterface? arg);
+ attribute TestCallbackInterface nonNullCallbackInterface;
+ attribute TestCallbackInterface? nullableCallbackInterface;
+ // Optional arguments
+ void passOptionalCallbackInterface(optional TestCallbackInterface? arg);
+ void passOptionalNonNullCallbackInterface(optional TestCallbackInterface arg);
+ void passOptionalCallbackInterfaceWithDefault(optional TestCallbackInterface? arg = null);
+
+ // Miscellaneous interface tests
+ IndirectlyImplementedInterface receiveConsequentialInterface();
+ void passConsequentialInterface(IndirectlyImplementedInterface arg);
+
+ // Sequence types
+ [Cached, Pure]
+ readonly attribute sequence<long> readonlySequence;
+ [Cached, Pure]
+ readonly attribute sequence<Dict> readonlySequenceOfDictionaries;
+ [Cached, Pure]
+ readonly attribute sequence<Dict>? readonlyNullableSequenceOfDictionaries;
+ [Cached, Pure, Frozen]
+ readonly attribute sequence<Dict> readonlyFrozenSequence;
+ [Cached, Pure, Frozen]
+ readonly attribute sequence<Dict>? readonlyFrozenNullableSequence;
+ sequence<long> receiveSequence();
+ sequence<long>? receiveNullableSequence();
+ sequence<long?> receiveSequenceOfNullableInts();
+ sequence<long?>? receiveNullableSequenceOfNullableInts();
+ void passSequence(sequence<long> arg);
+ void passNullableSequence(sequence<long>? arg);
+ void passSequenceOfNullableInts(sequence<long?> arg);
+ void passOptionalSequenceOfNullableInts(optional sequence<long?> arg);
+ void passOptionalNullableSequenceOfNullableInts(optional sequence<long?>? arg);
+ sequence<TestInterface> receiveCastableObjectSequence();
+ sequence<TestCallbackInterface> receiveCallbackObjectSequence();
+ sequence<TestInterface?> receiveNullableCastableObjectSequence();
+ sequence<TestCallbackInterface?> receiveNullableCallbackObjectSequence();
+ sequence<TestInterface>? receiveCastableObjectNullableSequence();
+ sequence<TestInterface?>? receiveNullableCastableObjectNullableSequence();
+ sequence<TestInterface> receiveWeakCastableObjectSequence();
+ sequence<TestInterface?> receiveWeakNullableCastableObjectSequence();
+ sequence<TestInterface>? receiveWeakCastableObjectNullableSequence();
+ sequence<TestInterface?>? receiveWeakNullableCastableObjectNullableSequence();
+ void passCastableObjectSequence(sequence<TestInterface> arg);
+ void passNullableCastableObjectSequence(sequence<TestInterface?> arg);
+ void passCastableObjectNullableSequence(sequence<TestInterface>? arg);
+ void passNullableCastableObjectNullableSequence(sequence<TestInterface?>? arg);
+ void passOptionalSequence(optional sequence<long> arg);
+ void passOptionalSequenceWithDefaultValue(optional sequence<long> arg = []);
+ void passOptionalNullableSequence(optional sequence<long>? arg);
+ void passOptionalNullableSequenceWithDefaultValue(optional sequence<long>? arg = null);
+ void passOptionalNullableSequenceWithDefaultValue2(optional sequence<long>? arg = []);
+ void passOptionalObjectSequence(optional sequence<TestInterface> arg);
+ void passExternalInterfaceSequence(sequence<TestExternalInterface> arg);
+ void passNullableExternalInterfaceSequence(sequence<TestExternalInterface?> arg);
+
+ sequence<DOMString> receiveStringSequence();
+ void passStringSequence(sequence<DOMString> arg);
+
+ sequence<ByteString> receiveByteStringSequence();
+ void passByteStringSequence(sequence<ByteString> arg);
+
+ sequence<any> receiveAnySequence();
+ sequence<any>? receiveNullableAnySequence();
+ sequence<sequence<any>> receiveAnySequenceSequence();
+
+ sequence<object> receiveObjectSequence();
+ sequence<object?> receiveNullableObjectSequence();
+
+ void passSequenceOfSequences(sequence<sequence<long>> arg);
+ void passSequenceOfSequencesOfSequences(sequence<sequence<sequence<long>>> arg);
+ sequence<sequence<long>> receiveSequenceOfSequences();
+ sequence<sequence<sequence<long>>> receiveSequenceOfSequencesOfSequences();
+
+ // MozMap types
+ void passMozMap(MozMap<long> arg);
+ void passNullableMozMap(MozMap<long>? arg);
+ void passMozMapOfNullableInts(MozMap<long?> arg);
+ void passOptionalMozMapOfNullableInts(optional MozMap<long?> arg);
+ void passOptionalNullableMozMapOfNullableInts(optional MozMap<long?>? arg);
+ void passCastableObjectMozMap(MozMap<TestInterface> arg);
+ void passNullableCastableObjectMozMap(MozMap<TestInterface?> arg);
+ void passCastableObjectNullableMozMap(MozMap<TestInterface>? arg);
+ void passNullableCastableObjectNullableMozMap(MozMap<TestInterface?>? arg);
+ void passOptionalMozMap(optional MozMap<long> arg);
+ void passOptionalNullableMozMap(optional MozMap<long>? arg);
+ void passOptionalNullableMozMapWithDefaultValue(optional MozMap<long>? arg = null);
+ void passOptionalObjectMozMap(optional MozMap<TestInterface> arg);
+ void passExternalInterfaceMozMap(MozMap<TestExternalInterface> arg);
+ void passNullableExternalInterfaceMozMap(MozMap<TestExternalInterface?> arg);
+ void passStringMozMap(MozMap<DOMString> arg);
+ void passByteStringMozMap(MozMap<ByteString> arg);
+ void passMozMapOfMozMaps(MozMap<MozMap<long>> arg);
+ MozMap<long> receiveMozMap();
+ MozMap<long>? receiveNullableMozMap();
+ MozMap<long?> receiveMozMapOfNullableInts();
+ MozMap<long?>? receiveNullableMozMapOfNullableInts();
+ MozMap<MozMap<long>> receiveMozMapOfMozMaps();
+ MozMap<any> receiveAnyMozMap();
+
+ // Typed array types
+ void passArrayBuffer(ArrayBuffer arg);
+ void passNullableArrayBuffer(ArrayBuffer? arg);
+ void passOptionalArrayBuffer(optional ArrayBuffer arg);
+ void passOptionalNullableArrayBuffer(optional ArrayBuffer? arg);
+ void passOptionalNullableArrayBufferWithDefaultValue(optional ArrayBuffer? arg= null);
+ void passArrayBufferView(ArrayBufferView arg);
+ void passInt8Array(Int8Array arg);
+ void passInt16Array(Int16Array arg);
+ void passInt32Array(Int32Array arg);
+ void passUint8Array(Uint8Array arg);
+ void passUint16Array(Uint16Array arg);
+ void passUint32Array(Uint32Array arg);
+ void passUint8ClampedArray(Uint8ClampedArray arg);
+ void passFloat32Array(Float32Array arg);
+ void passFloat64Array(Float64Array arg);
+ void passSequenceOfArrayBuffers(sequence<ArrayBuffer> arg);
+ void passSequenceOfNullableArrayBuffers(sequence<ArrayBuffer?> arg);
+ void passMozMapOfArrayBuffers(MozMap<ArrayBuffer> arg);
+ void passMozMapOfNullableArrayBuffers(MozMap<ArrayBuffer?> arg);
+ void passVariadicTypedArray(Float32Array... arg);
+ void passVariadicNullableTypedArray(Float32Array?... arg);
+ Uint8Array receiveUint8Array();
+ attribute Uint8Array uint8ArrayAttr;
+
+ // DOMString types
+ void passString(DOMString arg);
+ void passNullableString(DOMString? arg);
+ void passOptionalString(optional DOMString arg);
+ void passOptionalStringWithDefaultValue(optional DOMString arg = "abc");
+ void passOptionalNullableString(optional DOMString? arg);
+ void passOptionalNullableStringWithDefaultValue(optional DOMString? arg = null);
+ void passVariadicString(DOMString... arg);
+ DOMString receiveString();
+
+ // ByteString types
+ void passByteString(ByteString arg);
+ void passNullableByteString(ByteString? arg);
+ void passOptionalByteString(optional ByteString arg);
+ void passOptionalByteStringWithDefaultValue(optional ByteString arg = "abc");
+ void passOptionalNullableByteString(optional ByteString? arg);
+ void passOptionalNullableByteStringWithDefaultValue(optional ByteString? arg = null);
+ void passVariadicByteString(ByteString... arg);
+ void passOptionalUnionByteString(optional (ByteString or long) arg);
+ void passOptionalUnionByteStringWithDefaultValue(optional (ByteString or long) arg = "abc");
+
+ // USVString types
+ void passUSVS(USVString arg);
+ void passNullableUSVS(USVString? arg);
+ void passOptionalUSVS(optional USVString arg);
+ void passOptionalUSVSWithDefaultValue(optional USVString arg = "abc");
+ void passOptionalNullableUSVS(optional USVString? arg);
+ void passOptionalNullableUSVSWithDefaultValue(optional USVString? arg = null);
+ void passVariadicUSVS(USVString... arg);
+ USVString receiveUSVS();
+
+ // Enumerated types
+ void passEnum(TestEnum arg);
+ void passNullableEnum(TestEnum? arg);
+ void passOptionalEnum(optional TestEnum arg);
+ void passEnumWithDefault(optional TestEnum arg = "a");
+ void passOptionalNullableEnum(optional TestEnum? arg);
+ void passOptionalNullableEnumWithDefaultValue(optional TestEnum? arg = null);
+ void passOptionalNullableEnumWithDefaultValue2(optional TestEnum? arg = "a");
+ TestEnum receiveEnum();
+ TestEnum? receiveNullableEnum();
+ attribute TestEnum enumAttribute;
+ readonly attribute TestEnum readonlyEnumAttribute;
+
+ // Callback types
+ void passCallback(TestCallback arg);
+ void passNullableCallback(TestCallback? arg);
+ void passOptionalCallback(optional TestCallback arg);
+ void passOptionalNullableCallback(optional TestCallback? arg);
+ void passOptionalNullableCallbackWithDefaultValue(optional TestCallback? arg = null);
+ TestCallback receiveCallback();
+ TestCallback? receiveNullableCallback();
+ void passNullableTreatAsNullCallback(TestTreatAsNullCallback? arg);
+ void passOptionalNullableTreatAsNullCallback(optional TestTreatAsNullCallback? arg);
+ void passOptionalNullableTreatAsNullCallbackWithDefaultValue(optional TestTreatAsNullCallback? arg = null);
+ attribute TestTreatAsNullCallback treatAsNullCallback;
+ attribute TestTreatAsNullCallback? nullableTreatAsNullCallback;
+
+ // Force code generation of the various test callbacks we have.
+ void forceCallbackGeneration(TestIntegerReturn arg1,
+ TestNullableIntegerReturn arg2,
+ TestBooleanReturn arg3,
+ TestFloatReturn arg4,
+ TestStringReturn arg5,
+ TestEnumReturn arg6,
+ TestInterfaceReturn arg7,
+ TestNullableInterfaceReturn arg8,
+ TestExternalInterfaceReturn arg9,
+ TestNullableExternalInterfaceReturn arg10,
+ TestCallbackInterfaceReturn arg11,
+ TestNullableCallbackInterfaceReturn arg12,
+ TestCallbackReturn arg13,
+ TestNullableCallbackReturn arg14,
+ TestObjectReturn arg15,
+ TestNullableObjectReturn arg16,
+ TestTypedArrayReturn arg17,
+ TestNullableTypedArrayReturn arg18,
+ TestSequenceReturn arg19,
+ TestNullableSequenceReturn arg20,
+ TestIntegerArguments arg21,
+ TestInterfaceArguments arg22,
+ TestStringEnumArguments arg23,
+ TestObjectArguments arg24,
+ TestOptionalArguments arg25);
+
+ // Any types
+ void passAny(any arg);
+ void passVariadicAny(any... arg);
+ void passOptionalAny(optional any arg);
+ void passAnyDefaultNull(optional any arg = null);
+ void passSequenceOfAny(sequence<any> arg);
+ void passNullableSequenceOfAny(sequence<any>? arg);
+ void passOptionalSequenceOfAny(optional sequence<any> arg);
+ void passOptionalNullableSequenceOfAny(optional sequence<any>? arg);
+ void passOptionalSequenceOfAnyWithDefaultValue(optional sequence<any>? arg = null);
+ void passSequenceOfSequenceOfAny(sequence<sequence<any>> arg);
+ void passSequenceOfNullableSequenceOfAny(sequence<sequence<any>?> arg);
+ void passNullableSequenceOfNullableSequenceOfAny(sequence<sequence<any>?>? arg);
+ void passOptionalNullableSequenceOfNullableSequenceOfAny(optional sequence<sequence<any>?>? arg);
+ void passMozMapOfAny(MozMap<any> arg);
+ void passNullableMozMapOfAny(MozMap<any>? arg);
+ void passOptionalMozMapOfAny(optional MozMap<any> arg);
+ void passOptionalNullableMozMapOfAny(optional MozMap<any>? arg);
+ void passOptionalMozMapOfAnyWithDefaultValue(optional MozMap<any>? arg = null);
+ void passMozMapOfMozMapOfAny(MozMap<MozMap<any>> arg);
+ void passMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?> arg);
+ void passNullableMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?>? arg);
+ void passOptionalNullableMozMapOfNullableMozMapOfAny(optional MozMap<MozMap<any>?>? arg);
+ void passOptionalNullableMozMapOfNullableSequenceOfAny(optional MozMap<sequence<any>?>? arg);
+ void passOptionalNullableSequenceOfNullableMozMapOfAny(optional sequence<MozMap<any>?>? arg);
+ any receiveAny();
+
+ // object types
+ void passObject(object arg);
+ void passVariadicObject(object... arg);
+ void passNullableObject(object? arg);
+ void passVariadicNullableObject(object... arg);
+ void passOptionalObject(optional object arg);
+ void passOptionalNullableObject(optional object? arg);
+ void passOptionalNullableObjectWithDefaultValue(optional object? arg = null);
+ void passSequenceOfObject(sequence<object> arg);
+ void passSequenceOfNullableObject(sequence<object?> arg);
+ void passNullableSequenceOfObject(sequence<object>? arg);
+ void passOptionalNullableSequenceOfNullableSequenceOfObject(optional sequence<sequence<object>?>? arg);
+ void passOptionalNullableSequenceOfNullableSequenceOfNullableObject(optional sequence<sequence<object?>?>? arg);
+ void passMozMapOfObject(MozMap<object> arg);
+ object receiveObject();
+ object? receiveNullableObject();
+
+ // Union types
+ void passUnion((object or long) arg);
+ // Some union tests are debug-only to avoid creating all those
+ // unused union types in opt builds.
+#ifdef DEBUG
+ void passUnion2((long or boolean) arg);
+ void passUnion3((object or long or boolean) arg);
+ void passUnion4((Node or long or boolean) arg);
+ void passUnion5((object or boolean) arg);
+ void passUnion6((object or DOMString) arg);
+ void passUnion7((object or DOMString or long) arg);
+ void passUnion8((object or DOMString or boolean) arg);
+ void passUnion9((object or DOMString or long or boolean) arg);
+ void passUnion10(optional (EventInit or long) arg);
+ void passUnion11(optional (CustomEventInit or long) arg);
+ void passUnion12(optional (EventInit or long) arg = 5);
+ void passUnion13(optional (object or long?) arg = null);
+ void passUnion14(optional (object or long?) arg = 5);
+ void passUnion15((sequence<long> or long) arg);
+ void passUnion16(optional (sequence<long> or long) arg);
+ void passUnion17(optional (sequence<long>? or long) arg = 5);
+ void passUnion18((sequence<object> or long) arg);
+ void passUnion19(optional (sequence<object> or long) arg);
+ void passUnion20(optional (sequence<object> or long) arg = []);
+ void passUnion21((MozMap<long> or long) arg);
+ void passUnion22((MozMap<object> or long) arg);
+ void passUnion23((sequence<ImageData> or long) arg);
+ void passUnion24((sequence<ImageData?> or long) arg);
+ void passUnion25((sequence<sequence<ImageData>> or long) arg);
+ void passUnion26((sequence<sequence<ImageData?>> or long) arg);
+ void passUnion27(optional (sequence<DOMString> or EventInit) arg);
+ void passUnion28(optional (EventInit or sequence<DOMString>) arg);
+ void passUnionWithCallback((EventHandler or long) arg);
+ void passUnionWithByteString((ByteString or long) arg);
+ void passUnionWithMozMap((MozMap<DOMString> or DOMString) arg);
+ void passUnionWithMozMapAndSequence((MozMap<DOMString> or sequence<DOMString>) arg);
+ void passUnionWithSequenceAndMozMap((sequence<DOMString> or MozMap<DOMString>) arg);
+ void passUnionWithUSVS((USVString or long) arg);
+#endif
+ void passUnionWithNullable((object? or long) arg);
+ void passNullableUnion((object or long)? arg);
+ void passOptionalUnion(optional (object or long) arg);
+ void passOptionalNullableUnion(optional (object or long)? arg);
+ void passOptionalNullableUnionWithDefaultValue(optional (object or long)? arg = null);
+ //void passUnionWithInterfaces((TestInterface or TestExternalInterface) arg);
+ //void passUnionWithInterfacesAndNullable((TestInterface? or TestExternalInterface) arg);
+ //void passUnionWithSequence((sequence<object> or long) arg);
+ void passUnionWithArrayBuffer((ArrayBuffer or long) arg);
+ void passUnionWithString((DOMString or object) arg);
+ // Using an enum in a union. Note that we use some enum not declared in our
+ // binding file, because UnionTypes.h will need to include the binding header
+ // for this enum. Pick an enum from an interface that won't drag in too much
+ // stuff.
+ void passUnionWithEnum((SupportedType or object) arg);
+
+ // Trying to use a callback in a union won't include the test
+ // headers, unfortunately, so won't compile.
+ //void passUnionWithCallback((TestCallback or long) arg);
+ void passUnionWithObject((object or long) arg);
+ //void passUnionWithDict((Dict or long) arg);
+
+ void passUnionWithDefaultValue1(optional (double or DOMString) arg = "");
+ void passUnionWithDefaultValue2(optional (double or DOMString) arg = 1);
+ void passUnionWithDefaultValue3(optional (double or DOMString) arg = 1.5);
+ void passUnionWithDefaultValue4(optional (float or DOMString) arg = "");
+ void passUnionWithDefaultValue5(optional (float or DOMString) arg = 1);
+ void passUnionWithDefaultValue6(optional (float or DOMString) arg = 1.5);
+ void passUnionWithDefaultValue7(optional (unrestricted double or DOMString) arg = "");
+ void passUnionWithDefaultValue8(optional (unrestricted double or DOMString) arg = 1);
+ void passUnionWithDefaultValue9(optional (unrestricted double or DOMString) arg = 1.5);
+ void passUnionWithDefaultValue10(optional (unrestricted double or DOMString) arg = Infinity);
+ void passUnionWithDefaultValue11(optional (unrestricted float or DOMString) arg = "");
+ void passUnionWithDefaultValue12(optional (unrestricted float or DOMString) arg = 1);
+ void passUnionWithDefaultValue13(optional (unrestricted float or DOMString) arg = Infinity);
+ void passUnionWithDefaultValue14(optional (double or ByteString) arg = "");
+ void passUnionWithDefaultValue15(optional (double or ByteString) arg = 1);
+ void passUnionWithDefaultValue16(optional (double or ByteString) arg = 1.5);
+ void passUnionWithDefaultValue17(optional (double or SupportedType) arg = "text/html");
+ void passUnionWithDefaultValue18(optional (double or SupportedType) arg = 1);
+ void passUnionWithDefaultValue19(optional (double or SupportedType) arg = 1.5);
+
+ void passNullableUnionWithDefaultValue1(optional (double or DOMString)? arg = "");
+ void passNullableUnionWithDefaultValue2(optional (double or DOMString)? arg = 1);
+ void passNullableUnionWithDefaultValue3(optional (double or DOMString)? arg = null);
+ void passNullableUnionWithDefaultValue4(optional (float or DOMString)? arg = "");
+ void passNullableUnionWithDefaultValue5(optional (float or DOMString)? arg = 1);
+ void passNullableUnionWithDefaultValue6(optional (float or DOMString)? arg = null);
+ void passNullableUnionWithDefaultValue7(optional (unrestricted double or DOMString)? arg = "");
+ void passNullableUnionWithDefaultValue8(optional (unrestricted double or DOMString)? arg = 1);
+ void passNullableUnionWithDefaultValue9(optional (unrestricted double or DOMString)? arg = null);
+ void passNullableUnionWithDefaultValue10(optional (unrestricted float or DOMString)? arg = "");
+ void passNullableUnionWithDefaultValue11(optional (unrestricted float or DOMString)? arg = 1);
+ void passNullableUnionWithDefaultValue12(optional (unrestricted float or DOMString)? arg = null);
+ void passNullableUnionWithDefaultValue13(optional (double or ByteString)? arg = "");
+ void passNullableUnionWithDefaultValue14(optional (double or ByteString)? arg = 1);
+ void passNullableUnionWithDefaultValue15(optional (double or ByteString)? arg = 1.5);
+ void passNullableUnionWithDefaultValue16(optional (double or ByteString)? arg = null);
+ void passNullableUnionWithDefaultValue17(optional (double or SupportedType)? arg = "text/html");
+ void passNullableUnionWithDefaultValue18(optional (double or SupportedType)? arg = 1);
+ void passNullableUnionWithDefaultValue19(optional (double or SupportedType)? arg = 1.5);
+ void passNullableUnionWithDefaultValue20(optional (double or SupportedType)? arg = null);
+
+ void passSequenceOfUnions(sequence<(CanvasPattern or CanvasGradient)> arg);
+ void passSequenceOfUnions2(sequence<(object or long)> arg);
+ void passVariadicUnion((CanvasPattern or CanvasGradient)... arg);
+
+ void passSequenceOfNullableUnions(sequence<(CanvasPattern or CanvasGradient)?> arg);
+ void passVariadicNullableUnion((CanvasPattern or CanvasGradient)?... arg);
+ void passMozMapOfUnions(MozMap<(CanvasPattern or CanvasGradient)> arg);
+ // XXXbz no move constructor on some unions
+ // void passMozMapOfUnions2(MozMap<(object or long)> arg);
+
+ (CanvasPattern or CanvasGradient) receiveUnion();
+ (object or long) receiveUnion2();
+ (CanvasPattern? or CanvasGradient) receiveUnionContainingNull();
+ (CanvasPattern or CanvasGradient)? receiveNullableUnion();
+ (object or long)? receiveNullableUnion2();
+
+ attribute (CanvasPattern or CanvasGradient) writableUnion;
+ attribute (CanvasPattern? or CanvasGradient) writableUnionContainingNull;
+ attribute (CanvasPattern or CanvasGradient)? writableNullableUnion;
+
+ // Date types
+ void passDate(Date arg);
+ void passNullableDate(Date? arg);
+ void passOptionalDate(optional Date arg);
+ void passOptionalNullableDate(optional Date? arg);
+ void passOptionalNullableDateWithDefaultValue(optional Date? arg = null);
+ void passDateSequence(sequence<Date> arg);
+ void passNullableDateSequence(sequence<Date?> arg);
+ void passDateMozMap(MozMap<Date> arg);
+ Date receiveDate();
+ Date? receiveNullableDate();
+
+ // Promise types
+ void passPromise(Promise<any> arg);
+ void passNullablePromise(Promise<any>? arg);
+ void passOptionalPromise(optional Promise<any> arg);
+ void passOptionalNullablePromise(optional Promise<any>? arg);
+ void passOptionalNullablePromiseWithDefaultValue(optional Promise<any>? arg = null);
+ void passPromiseSequence(sequence<Promise<any>> arg);
+ void passNullablePromiseSequence(sequence<Promise<any>?> arg);
+ Promise<any> receivePromise();
+ Promise<any> receiveAddrefedPromise();
+
+ // binaryNames tests
+ void methodRenamedFrom();
+ [BinaryName="otherMethodRenamedTo"]
+ void otherMethodRenamedFrom();
+ void methodRenamedFrom(byte argument);
+ readonly attribute byte attributeGetterRenamedFrom;
+ attribute byte attributeRenamedFrom;
+ [BinaryName="otherAttributeRenamedTo"]
+ attribute byte otherAttributeRenamedFrom;
+
+ void passDictionary(optional Dict x);
+ void passDictionary2(Dict x);
+ [Cached, Pure]
+ readonly attribute Dict readonlyDictionary;
+ [Cached, Pure]
+ readonly attribute Dict? readonlyNullableDictionary;
+ [Cached, Pure]
+ attribute Dict writableDictionary;
+ [Cached, Pure, Frozen]
+ readonly attribute Dict readonlyFrozenDictionary;
+ [Cached, Pure, Frozen]
+ readonly attribute Dict? readonlyFrozenNullableDictionary;
+ [Cached, Pure, Frozen]
+ attribute Dict writableFrozenDictionary;
+ Dict receiveDictionary();
+ Dict? receiveNullableDictionary();
+ void passOtherDictionary(optional GrandparentDict x);
+ void passSequenceOfDictionaries(sequence<Dict> x);
+ void passMozMapOfDictionaries(MozMap<GrandparentDict> x);
+ // No support for nullable dictionaries inside a sequence (nor should there be)
+ // void passSequenceOfNullableDictionaries(sequence<Dict?> x);
+ void passDictionaryOrLong(optional Dict x);
+ void passDictionaryOrLong(long x);
+
+ void passDictContainingDict(optional DictContainingDict arg);
+ void passDictContainingSequence(optional DictContainingSequence arg);
+ DictContainingSequence receiveDictContainingSequence();
+ void passVariadicDictionary(Dict... arg);
+
+ // EnforceRange/Clamp tests
+ void dontEnforceRangeOrClamp(byte arg);
+ void doEnforceRange([EnforceRange] byte arg);
+ void doClamp([Clamp] byte arg);
+ [EnforceRange] attribute byte enforcedByte;
+ [Clamp] attribute byte clampedByte;
+
+ // Typedefs
+ const myLong myLongConstant = 5;
+ void exerciseTypedefInterfaces1(AnotherNameForTestInterface arg);
+ AnotherNameForTestInterface exerciseTypedefInterfaces2(NullableTestInterface arg);
+ void exerciseTypedefInterfaces3(YetAnotherNameForTestInterface arg);
+
+ // Deprecated methods and attributes
+ [Deprecated="GetAttributeNode"]
+ attribute byte deprecatedAttribute;
+ [Deprecated="GetAttributeNode"]
+ byte deprecatedMethod();
+ [Deprecated="GetAttributeNode"]
+ byte deprecatedMethodWithContext(any arg);
+
+ // Static methods and attributes
+ static attribute boolean staticAttribute;
+ static void staticMethod(boolean arg);
+ static void staticMethodWithContext(any arg);
+
+ // Testing static method with a reserved C++ keyword as the name
+ static void assert(boolean arg);
+
+ // Deprecated static methods and attributes
+ [Deprecated="GetAttributeNode"]
+ static attribute byte staticDeprecatedAttribute;
+ [Deprecated="GetAttributeNode"]
+ static void staticDeprecatedMethod();
+ [Deprecated="GetAttributeNode"]
+ static void staticDeprecatedMethodWithContext(any arg);
+
+ // Overload resolution tests
+ //void overload1(DOMString... strs);
+ boolean overload1(TestInterface arg);
+ TestInterface overload1(DOMString strs, TestInterface arg);
+ void overload2(TestInterface arg);
+ void overload2(optional Dict arg);
+ void overload2(boolean arg);
+ void overload2(DOMString arg);
+ void overload2(Date arg);
+ void overload3(TestInterface arg);
+ void overload3(TestCallback arg);
+ void overload3(boolean arg);
+ void overload4(TestInterface arg);
+ void overload4(TestCallbackInterface arg);
+ void overload4(DOMString arg);
+ void overload5(long arg);
+ void overload5(TestEnum arg);
+ void overload6(long arg);
+ void overload6(boolean arg);
+ void overload7(long arg);
+ void overload7(boolean arg);
+ void overload7(ByteString arg);
+ void overload8(long arg);
+ void overload8(TestInterface arg);
+ void overload9(long? arg);
+ void overload9(DOMString arg);
+ void overload10(long? arg);
+ void overload10(object arg);
+ void overload11(long arg);
+ void overload11(DOMString? arg);
+ void overload12(long arg);
+ void overload12(boolean? arg);
+ void overload13(long? arg);
+ void overload13(boolean arg);
+ void overload14(optional long arg);
+ void overload14(TestInterface arg);
+ void overload15(long arg);
+ void overload15(optional TestInterface arg);
+ void overload16(long arg);
+ void overload16(optional TestInterface? arg);
+ void overload17(sequence<long> arg);
+ void overload17(MozMap<long> arg);
+ void overload18(MozMap<DOMString> arg);
+ void overload18(sequence<DOMString> arg);
+ void overload19(sequence<long> arg);
+ void overload19(optional Dict arg);
+ void overload20(optional Dict arg);
+ void overload20(sequence<long> arg);
+
+ // Variadic handling
+ void passVariadicThirdArg(DOMString arg1, long arg2, TestInterface... arg3);
+
+ // Conditionally exposed methods/attributes
+ [Pref="abc.def"]
+ readonly attribute boolean prefable1;
+ [Pref="abc.def"]
+ readonly attribute boolean prefable2;
+ [Pref="ghi.jkl"]
+ readonly attribute boolean prefable3;
+ [Pref="ghi.jkl"]
+ readonly attribute boolean prefable4;
+ [Pref="abc.def"]
+ readonly attribute boolean prefable5;
+ [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ readonly attribute boolean prefable6;
+ [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ readonly attribute boolean prefable7;
+ [Pref="ghi.jkl", Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ readonly attribute boolean prefable8;
+ [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ readonly attribute boolean prefable9;
+ [Pref="abc.def"]
+ void prefable10();
+ [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ void prefable11();
+ [Pref="abc.def", Func="TestFuncControlledMember"]
+ readonly attribute boolean prefable12;
+ [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ void prefable13();
+ [Pref="abc.def", Func="TestFuncControlledMember"]
+ readonly attribute boolean prefable14;
+ [Func="TestFuncControlledMember"]
+ readonly attribute boolean prefable15;
+ [Func="TestFuncControlledMember"]
+ readonly attribute boolean prefable16;
+ [Pref="abc.def", Func="TestFuncControlledMember"]
+ void prefable17();
+ [Func="TestFuncControlledMember"]
+ void prefable18();
+ [Func="TestFuncControlledMember"]
+ void prefable19();
+ [Pref="abc.def", Func="TestFuncControlledMember", ChromeOnly]
+ void prefable20();
+
+ // Conditionally exposed methods/attributes involving [SecureContext]
+ [SecureContext]
+ readonly attribute boolean conditionalOnSecureContext1;
+ [SecureContext, Pref="abc.def"]
+ readonly attribute boolean conditionalOnSecureContext2;
+ [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ readonly attribute boolean conditionalOnSecureContext3;
+ [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
+ readonly attribute boolean conditionalOnSecureContext4;
+ [SecureContext]
+ void conditionalOnSecureContext5();
+ [SecureContext, Pref="abc.def"]
+ void conditionalOnSecureContext6();
+ [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ void conditionalOnSecureContext7();
+ [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
+ void conditionalOnSecureContext8();
+
+ // Miscellania
+ [LenientThis] attribute long attrWithLenientThis;
+ [Unforgeable] readonly attribute long unforgeableAttr;
+ [Unforgeable, ChromeOnly] readonly attribute long unforgeableAttr2;
+ [Unforgeable] long unforgeableMethod();
+ [Unforgeable, ChromeOnly] long unforgeableMethod2();
+ stringifier;
+ void passRenamedInterface(TestRenamedInterface arg);
+ [PutForwards=writableByte] readonly attribute TestInterface putForwardsAttr;
+ [PutForwards=writableByte, LenientThis] readonly attribute TestInterface putForwardsAttr2;
+ [PutForwards=writableByte, ChromeOnly] readonly attribute TestInterface putForwardsAttr3;
+ [Throws] void throwingMethod();
+ [Throws] attribute boolean throwingAttr;
+ [GetterThrows] attribute boolean throwingGetterAttr;
+ [SetterThrows] attribute boolean throwingSetterAttr;
+ legacycaller short(unsigned long arg1, TestInterface arg2);
+ void passArgsWithDefaults(optional long arg1,
+ optional TestInterface? arg2 = null,
+ optional Dict arg3, optional double arg4 = 5.0,
+ optional float arg5);
+
+ attribute any jsonifierShouldSkipThis;
+ attribute TestParentInterface jsonifierShouldSkipThis2;
+ attribute TestCallbackInterface jsonifierShouldSkipThis3;
+ jsonifier;
+
+ attribute byte dashed-attribute;
+ void dashed-method();
+
+ // If you add things here, add them to TestExampleGen and TestJSImplGen as well
+};
+
+interface TestParentInterface {
+};
+
+interface TestChildInterface : TestParentInterface {
+};
+
+interface TestNonWrapperCacheInterface {
+};
+
+[NoInterfaceObject]
+interface ImplementedInterfaceParent {
+ void implementedParentMethod();
+ attribute boolean implementedParentProperty;
+
+ const long implementedParentConstant = 8;
+};
+
+ImplementedInterfaceParent implements IndirectlyImplementedInterface;
+
+[NoInterfaceObject]
+interface IndirectlyImplementedInterface {
+ void indirectlyImplementedMethod();
+ attribute boolean indirectlyImplementedProperty;
+
+ const long indirectlyImplementedConstant = 9;
+};
+
+[NoInterfaceObject]
+interface ImplementedInterface : ImplementedInterfaceParent {
+ void implementedMethod();
+ attribute boolean implementedProperty;
+
+ const long implementedConstant = 5;
+};
+
+[NoInterfaceObject]
+interface DiamondImplements {
+ readonly attribute long diamondImplementedProperty;
+};
+[NoInterfaceObject]
+interface DiamondBranch1A {
+};
+[NoInterfaceObject]
+interface DiamondBranch1B {
+};
+[NoInterfaceObject]
+interface DiamondBranch2A : DiamondImplements {
+};
+[NoInterfaceObject]
+interface DiamondBranch2B : DiamondImplements {
+};
+TestInterface implements DiamondBranch1A;
+TestInterface implements DiamondBranch1B;
+TestInterface implements DiamondBranch2A;
+TestInterface implements DiamondBranch2B;
+DiamondBranch1A implements DiamondImplements;
+DiamondBranch1B implements DiamondImplements;
+
+dictionary Dict : ParentDict {
+ TestEnum someEnum;
+ long x;
+ long a;
+ long b = 8;
+ long z = 9;
+ [EnforceRange] unsigned long enforcedUnsignedLong;
+ [Clamp] unsigned long clampedUnsignedLong;
+ DOMString str;
+ DOMString empty = "";
+ TestEnum otherEnum = "b";
+ DOMString otherStr = "def";
+ DOMString? yetAnotherStr = null;
+ DOMString template;
+ ByteString byteStr;
+ ByteString emptyByteStr = "";
+ ByteString otherByteStr = "def";
+ object someObj;
+ boolean prototype;
+ object? anotherObj = null;
+ TestCallback? someCallback = null;
+ any someAny;
+ any anotherAny = null;
+
+ unrestricted float urFloat = 0;
+ unrestricted float urFloat2 = 1.1;
+ unrestricted float urFloat3 = -1.1;
+ unrestricted float? urFloat4 = null;
+ unrestricted float infUrFloat = Infinity;
+ unrestricted float negativeInfUrFloat = -Infinity;
+ unrestricted float nanUrFloat = NaN;
+
+ unrestricted double urDouble = 0;
+ unrestricted double urDouble2 = 1.1;
+ unrestricted double urDouble3 = -1.1;
+ unrestricted double? urDouble4 = null;
+ unrestricted double infUrDouble = Infinity;
+ unrestricted double negativeInfUrDouble = -Infinity;
+ unrestricted double nanUrDouble = NaN;
+
+ (float or DOMString) floatOrString = "str";
+ (float or DOMString)? nullableFloatOrString = "str";
+ (object or long) objectOrLong;
+#ifdef DEBUG
+ (EventInit or long) eventInitOrLong;
+ (EventInit or long)? nullableEventInitOrLong;
+ (HTMLElement or long)? nullableHTMLElementOrLong;
+ // CustomEventInit is useful to test because it needs rooting.
+ (CustomEventInit or long) eventInitOrLong2;
+ (CustomEventInit or long)? nullableEventInitOrLong2;
+ (EventInit or long) eventInitOrLongWithDefaultValue = null;
+ (CustomEventInit or long) eventInitOrLongWithDefaultValue2 = null;
+ (EventInit or long) eventInitOrLongWithDefaultValue3 = 5;
+ (CustomEventInit or long) eventInitOrLongWithDefaultValue4 = 5;
+ (EventInit or long)? nullableEventInitOrLongWithDefaultValue = null;
+ (CustomEventInit or long)? nullableEventInitOrLongWithDefaultValue2 = null;
+ (EventInit or long)? nullableEventInitOrLongWithDefaultValue3 = 5;
+ (CustomEventInit or long)? nullableEventInitOrLongWithDefaultValue4 = 5;
+ (sequence<object> or long) objectSequenceOrLong;
+ (sequence<object> or long) objectSequenceOrLongWithDefaultValue1 = 1;
+ (sequence<object> or long) objectSequenceOrLongWithDefaultValue2 = [];
+ (sequence<object> or long)? nullableObjectSequenceOrLong;
+ (sequence<object> or long)? nullableObjectSequenceOrLongWithDefaultValue1 = 1;
+ (sequence<object> or long)? nullableObjectSequenceOrLongWithDefaultValue2 = [];
+#endif
+
+ ArrayBuffer arrayBuffer;
+ ArrayBuffer? nullableArrayBuffer;
+ Uint8Array uint8Array;
+ Float64Array? float64Array = null;
+
+ sequence<long> seq1;
+ sequence<long> seq2 = [];
+ sequence<long>? seq3;
+ sequence<long>? seq4 = null;
+ sequence<long>? seq5 = [];
+
+ long dashed-name;
+
+ required long requiredLong;
+ required object requiredObject;
+
+ CustomEventInit customEventInit;
+ TestDictionaryTypedef dictionaryTypedef;
+
+ Promise<void> promise;
+ sequence<Promise<void>> promiseSequence;
+};
+
+dictionary ParentDict : GrandparentDict {
+ long c = 5;
+ TestInterface someInterface;
+ TestInterface? someNullableInterface = null;
+ TestExternalInterface someExternalInterface;
+ any parentAny;
+};
+
+dictionary DictContainingDict {
+ Dict memberDict;
+};
+
+dictionary DictContainingSequence {
+ sequence<long> ourSequence;
+ sequence<TestInterface> ourSequence2;
+ sequence<any> ourSequence3;
+ sequence<object> ourSequence4;
+ sequence<object?> ourSequence5;
+ sequence<object>? ourSequence6;
+ sequence<object?>? ourSequence7;
+ sequence<object>? ourSequence8 = null;
+ sequence<object?>? ourSequence9 = null;
+ sequence<(float or DOMString)> ourSequence10;
+};
+
+dictionary DictForConstructor {
+ Dict dict;
+ DictContainingDict dict2;
+ sequence<Dict> seq1;
+ sequence<sequence<Dict>>? seq2;
+ sequence<sequence<Dict>?> seq3;
+ sequence<any> seq4;
+ sequence<any> seq5;
+ sequence<DictContainingSequence> seq6;
+ object obj1;
+ object? obj2;
+ any any1 = null;
+};
+
+dictionary DictWithConditionalMembers {
+ [ChromeOnly]
+ long chromeOnlyMember;
+ [Func="TestFuncControlledMember"]
+ long funcControlledMember;
+ [ChromeOnly, Func="nsGenericHTMLElement::TouchEventsEnabled"]
+ long chromeOnlyFuncControlledMember;
+};
+
+interface TestIndexedGetterInterface {
+ getter long item(unsigned long idx);
+ readonly attribute unsigned long length;
+ legacycaller void();
+};
+
+interface TestNamedGetterInterface {
+ getter DOMString (DOMString name);
+};
+
+interface TestIndexedGetterAndSetterAndNamedGetterInterface {
+ getter DOMString (DOMString myName);
+ getter long (unsigned long index);
+ setter creator void (unsigned long index, long arg);
+};
+
+interface TestIndexedAndNamedGetterInterface {
+ getter long (unsigned long index);
+ getter DOMString namedItem(DOMString name);
+ readonly attribute unsigned long length;
+};
+
+interface TestIndexedSetterInterface {
+ setter creator void setItem(unsigned long idx, DOMString item);
+ getter DOMString (unsigned long idx);
+};
+
+interface TestNamedSetterInterface {
+ setter creator void (DOMString myName, TestIndexedSetterInterface item);
+ getter TestIndexedSetterInterface (DOMString name);
+};
+
+interface TestIndexedAndNamedSetterInterface {
+ setter creator void (unsigned long index, TestIndexedSetterInterface item);
+ getter TestIndexedSetterInterface (unsigned long index);
+ setter creator void setNamedItem(DOMString name, TestIndexedSetterInterface item);
+ getter TestIndexedSetterInterface (DOMString name);
+};
+
+interface TestIndexedAndNamedGetterAndSetterInterface : TestIndexedSetterInterface {
+ getter long item(unsigned long index);
+ getter DOMString namedItem(DOMString name);
+ setter creator void (unsigned long index, long item);
+ setter creator void (DOMString name, DOMString item);
+ stringifier DOMString ();
+ readonly attribute unsigned long length;
+};
+
+interface TestIndexedDeleterInterface {
+ deleter void delItem(unsigned long idx);
+ getter long (unsigned long index);
+};
+
+interface TestIndexedDeleterWithRetvalInterface {
+ deleter boolean delItem(unsigned long index);
+ getter long (unsigned long index);
+};
+
+interface TestNamedDeleterInterface {
+ deleter void (DOMString name);
+ getter long (DOMString name);
+};
+
+interface TestNamedDeleterWithRetvalInterface {
+ deleter boolean delNamedItem(DOMString name);
+ getter long (DOMString name);
+};
+
+interface TestIndexedAndNamedDeleterInterface {
+ deleter void (unsigned long index);
+ getter long (unsigned long index);
+ deleter void delNamedItem(DOMString name);
+ getter long (DOMString name);
+};
+
+interface TestCppKeywordNamedMethodsInterface {
+ boolean continue();
+ boolean delete();
+ long volatile();
+};
+
+[Deprecated="GetAttributeNode", Constructor()]
+interface TestDeprecatedInterface {
+ static void alsoDeprecated();
+};
+
+
+[Constructor(Promise<void> promise)]
+interface TestInterfaceWithPromiseConstructorArg {
+};
+
+namespace TestNamespace {
+ readonly attribute boolean foo;
+ long bar();
+};
+
+partial namespace TestNamespace {
+ void baz();
+};
+
+[ClassString="RenamedNamespaceClassName"]
+namespace TestRenamedNamespace {
+};
+
+[ProtoObjectHack]
+namespace TestProtoObjectHackedNamespace {
+};
+
+[SecureContext]
+interface TestSecureContextInterface {
+ static void alsoSecureContext();
+};
--- /dev/null
+# YAML line comment
+
+--- |
+ ; LLVM-IR line comment
+ define void @myfunction() { ret void }
+...
+
+---
+name: myfunction
+legalized: true
+registers:
+ - { id: 0, class: gpr }
+body: |
+ bb.0.named (address-taken):
+ liveins: $r0, $r1
+ successors: %bb.1.alsonamed
+
+ ; MIR line comment
+ %0:gpr(s64) = COPY $r0
+ %1(s32) = COPY $r1
+ bb.1.alsonamed:
+ successors: %bb.2
+
+ %2(s32) = EXTRACT_SUBREG %1(s32), %subreg.sub0
+ %3(s32) = G_ADD %0:gpr(s32), %2(s32) killed
+ %4(s32) = G_CONSTANT i32 1
+ %5(s32) = G_FCONSTANT float 1.0
+ %6(p0) = G_LOAD %6(p0) :: (load 4 from %ir.myvar + 4)
+
+ bb.2:
+ $r0 = COPY %3
+...
--- /dev/null
+(!*******************************************************
+ Multiline comment
+*******************************************************!)
+model 'pygments test'
+ uses "mmxprs"
+
+ forward public procedure main ! Test forward declaration
+
+ public procedure main
+ declarations
+ MySet = {1, 2}
+ I: range
+ Coefficients: array(I) of real
+ Vars: array(I) of mpvar
+ end-declarations
+
+ Coefficients :: [2.2, -3.3, 4.4, 5.5, 1.1, -3.3, 7.7]
+
+ ! Single line comment
+ forall (i in I) Vars(i) is_binary
+
+ ! Constraint
+ sum (i in I) Vars(i) <= 3
+
+ maximize(sum(i in I) Coefficients(i) * Vars(i))
+
+ forall (i in I| Vars(i).sol <> 0) do
+ writeln("Vars(", i,") = ", Vars(i).sol)
+ end-do
+ end-procedure
+
+ main
+end-model
+
--- /dev/null
+// This is a single line comment.
+/* A multi line comment, in a single line... */
+/* This is a multi line comment
+ Second Line...
+*/
+/* This is a nested comment
+ /* Nested Line... */
+*/
+
+module Process_Bind_Without_Do =
+ (W: Monad_Bind with type m('a) = writer(string, 'a)) => {
+ let process = s => W.(up_case(s) >>= (up_str => to_words(up_str)));
+};
+
+let a = 1 or 2;
+let b = 1 || 2;
+let c = 1 && 2;
+
+let str = "Hello, Lexer!";
+
+let chr = 'a';
+
+type test;
+
+open Belt;
+
+include Pervasives;
+
+let test: unit => Map.String.t(string) = () => Map.String.empty;
+
+let tup = (1: int, 2: int);
+
+let myRec = {x: 0, y: 10};
+
+let myFuncs = {
+ myFun: (x) => x + 1,
+ your: (a, b) => a + b
+};
+
+let lst = [1, 2, 3];
+
+let logRest = (lst) =>
+ switch (lst) {
+ | [] => Js.log("no entry")
+ | [hd, ...rest] => Js.log2("Rest: ", rest);
+ };
+
+let arr = [|1, 2, 3|];
+
+let res = (x) =>
+ switch (x) {
+ | HasNothing => 0
+ | HasSingleInt(x) => 0
+ | HasSingleTuple((x, y)) => 0
+ | HasMultipleInts(x, y) => 0
+ | HasMultipleTuples((x, y), (q, r)) => 0
+ };
+
+module View = {
+ [@react.component]
+ let make = () => {
+ <div className="view">
+ <ul>
+ <li> React.string("Hello, World!") </li>
+ <li> "pipe"->React.string </li>
+ <li> <span> "nested"->React.string </span> </li>
+ </ul>
+ </div>
+ }
+}
\ No newline at end of file
(Token.Text, ''),
(Token.Text, '\n'),
]
- assert list(lexer.get_tokens(fragment)) == tokens
\ No newline at end of file
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+def test_directive_no_args(lexer):
+ fragment = 'Example\nServerName localhost'
+ tokens = [
+ (Token.Name.Builtin, 'Example'),
+ (Token.Text, ''),
+ (Token.Text, '\n'),
+ (Token.Name.Builtin, 'ServerName'),
+ (Token.Text, ' '),
+ (Token.Text, 'localhost'),
+ (Token.Text, ''),
+ (Token.Text, '\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+def test_include_globs(lexer):
+ fragment = 'Include /etc/httpd/conf.d/*.conf'
+ tokens = [
+ (Token.Name.Builtin, 'Include'),
+ (Token.Text, ' '),
+ (Token.String.Other, '/etc/httpd/conf.d/*.conf'),
+ (Token.Text, ''),
+ (Token.Text, '\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+def test_multi_include_globs(lexer):
+ fragment = 'Include /etc/httpd/conf.d/*/*.conf'
+ tokens = [
+ (Token.Name.Builtin, 'Include'),
+ (Token.Text, ' '),
+ (Token.String.Other, '/etc/httpd/conf.d/*/*.conf'),
+ (Token.Text, ''),
+ (Token.Text, '\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+def test_multi_include_globs_root(lexer):
+ fragment = 'Include /*conf/*.conf'
+ tokens = [
+ (Token.Name.Builtin, 'Include'),
+ (Token.Text, ' '),
+ (Token.String.Other, '/*conf/*.conf'),
+ (Token.Text, ''),
+ (Token.Text, '\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+
+def test_fix_lock_absolute_path(lexer):
+ fragment = 'LockFile /var/lock/apache2/accept.lock'
+ tokens = [
+ (Token.Name.Builtin, 'LockFile'),
+ (Token.Text, ' '),
+ (Token.String.Other, '/var/lock/apache2/accept.lock'),
+ (Token.Text, ''),
+ (Token.Text, '\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
# -*- coding: utf-8 -*-
"""
- Basic ColdfusionHtmlLexer Test
+ Basic GasLexer/NasmLexer Test
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
-import unittest
-import os
+import pytest
from pygments.token import Token
-from pygments.lexers import NasmLexer
+from pygments.lexers import NasmLexer, GasLexer
-class NasmLexerTest(unittest.TestCase):
+@pytest.fixture(scope='module')
+def lexer_gas():
+ yield GasLexer()
- def setUp(self):
- self.lexer = NasmLexer()
+@pytest.fixture(scope='module')
+def lexer_nasm():
+ yield NasmLexer()
- def testCPUID(self):
- # CPU is a valid directive, and we don't want to parse this as
- # cpu id, but as a single token. See bug #1517
- fragment = 'cpuid'
- expected = [
- (Token.Name.Function, u'cpuid'),
- (Token.Text, u'\n'),
- ]
- self.assertEqual(expected, list(self.lexer.get_tokens(fragment)))
+
+def test_comments(lexer_gas):
+ fragment = '''
+ lock addq $0, /* comments */ (%rsp) /*
+ // comments
+ */ xorq %rax, %rax // comments
+ '''
+ tokens = [
+ (Token.Text, ' '),
+ (Token.Name.Attribute, 'lock'),
+ (Token.Text, ' '),
+ (Token.Name.Function, 'addq'),
+ (Token.Text, ' '),
+ (Token.Name.Constant, '$0'),
+ (Token.Punctuation, ','),
+ (Token.Text, ' '),
+ (Token.Comment.Multiline, '/* comments */'),
+ (Token.Text, ' '),
+ (Token.Punctuation, '('),
+ (Token.Name.Variable, '%rsp'),
+ (Token.Punctuation, ')'),
+ (Token.Text, ' '),
+ (Token.Comment.Multiline, '/*\n // comments\n */'),
+ (Token.Text, ' '),
+ (Token.Name.Function, 'xorq'),
+ (Token.Text, ' '),
+ (Token.Name.Variable, '%rax'),
+ (Token.Punctuation, ','),
+ (Token.Text, ' '),
+ (Token.Name.Variable, '%rax'),
+ (Token.Text, ' '),
+ (Token.Comment.Single, '// comments\n'),
+ (Token.Text, ' \n')
+ ]
+ assert list(lexer_gas.get_tokens(fragment)) == tokens
+
+def test_cpuid(lexer_nasm):
+ # CPU is a valid directive, and we don't want to parse this as
+ # cpu id, but as a single token. See bug #1517
+ fragment = 'cpuid'
+ expected = [
+ (Token.Name.Function, u'cpuid'),
+ (Token.Text, u'\n'),
+ ]
+ assert expected == list(lexer_nasm.get_tokens(fragment))
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import random
+from io import StringIO, BytesIO
from os import path
import pytest
from pygments.token import _TokenType, Text
from pygments.lexer import RegexLexer
from pygments.formatters.img import FontNotFound
-from pygments.util import text_type, StringIO, BytesIO, xrange, ClassNotFound
+from pygments.util import ClassNotFound
TESTDIR = path.dirname(path.abspath(__file__))
TESTFILE = path.join(TESTDIR, 'test_basic_api.py')
-test_content = [chr(i) for i in xrange(33, 128)] * 5
+test_content = [chr(i) for i in range(33, 128)] * 5
random.shuffle(test_content)
test_content = ''.join(test_content) + '\n'
assert all(al.lower() == al for al in cls.aliases)
- inst = cls(opt1="val1", opt2="val2")
if issubclass(cls, RegexLexer):
+ inst = cls(opt1="val1", opt2="val2")
if not hasattr(cls, '_tokens'):
# if there's no "_tokens", the lexer has to be one with
# multiple tokendef variants
assert 'root' in cls._tokens, \
'%s has no root state' % cls
- if cls.name in ['XQuery', 'Opa']: # XXX temporary
- return
+@pytest.mark.parametrize('cls', lexers._iter_lexerclasses(plugins=False))
+def test_random_input(cls):
+ inst = cls()
try:
tokens = list(inst.get_tokens(test_content))
except KeyboardInterrupt:
for token in tokens:
assert isinstance(token, tuple)
assert isinstance(token[0], _TokenType)
- assert isinstance(token[1], text_type)
+ assert isinstance(token[1], str)
txt += token[1]
assert txt == test_content, "%s lexer roundtrip failed: %r != %r" % \
(cls.name, test_content, txt)
fmt = HtmlFormatter()
tokens = [(Text, u"ä")]
out = format(tokens, fmt)
- assert type(out) is text_type
+ assert type(out) is str
assert u"ä" in out
# encoding option
if cls.name != 'Raw tokens':
out = format(tokens, inst)
if cls.unicodeoutput:
- assert type(out) is text_type, '%s: %r' % (cls, out)
+ assert type(out) is str, '%s: %r' % (cls, out)
inst = cls(encoding='utf-8')
out = format(tokens, inst)
assert False, 'nothing raised'
-class TestFilters(object):
+class TestFilters:
def test_basic(self):
filters_args = [
for x, args in filters_args:
lx = lexers.PythonLexer()
lx.add_filter(x, **args)
- with open(TESTFILE, 'rb') as fp:
- text = fp.read().decode('utf-8')
+ # We don't read as binary and decode, but instead read as text, as
+ # we need consistent line endings. Otherwise we'll get \r\n on
+ # Windows
+ with open(TESTFILE, 'r', encoding='utf-8') as fp:
+ text = fp.read()
tokens = list(lx.get_tokens(text))
- assert all(isinstance(t[1], text_type) for t in tokens), \
+ assert all(isinstance(t[1], str) for t in tokens), \
'%s filter did not return Unicode' % x
roundtext = ''.join([t[1] for t in tokens])
if x not in ('whitespace', 'keywordcase', 'gobble'):
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import io
import os
import re
import sys
import tempfile
+from io import BytesIO
from os import path
from pytest import raises
from pygments import cmdline, highlight
-from pygments.util import BytesIO, StringIO
TESTDIR = path.dirname(path.abspath(__file__))
TESTFILE = path.join(TESTDIR, 'test_cmdline.py')
saved_stdin = sys.stdin
saved_stdout = sys.stdout
saved_stderr = sys.stderr
- if sys.version_info > (3,):
- stdin_buffer = BytesIO()
- stdout_buffer = BytesIO()
- stderr_buffer = BytesIO()
- new_stdin = sys.stdin = io.TextIOWrapper(stdin_buffer, 'utf-8')
- new_stdout = sys.stdout = io.TextIOWrapper(stdout_buffer, 'utf-8')
- new_stderr = sys.stderr = io.TextIOWrapper(stderr_buffer, 'utf-8')
- else:
- stdin_buffer = new_stdin = sys.stdin = StringIO()
- stdout_buffer = new_stdout = sys.stdout = StringIO()
- stderr_buffer = new_stderr = sys.stderr = StringIO()
+ stdin_buffer = BytesIO()
+ stdout_buffer = BytesIO()
+ stderr_buffer = BytesIO()
+ new_stdin = sys.stdin = io.TextIOWrapper(stdin_buffer, 'utf-8')
+ new_stdout = sys.stdout = io.TextIOWrapper(stdout_buffer, 'utf-8')
+ new_stderr = sys.stderr = io.TextIOWrapper(stderr_buffer, 'utf-8')
new_stdin.write(kwds.get('stdin', ''))
new_stdin.seek(0, 0)
try:
:license: BSD, see LICENSE for details.
"""
-from __future__ import unicode_literals
-
import pytest
from pygments.token import Text, Operator, Keyword, Name, String, Number, \
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import os
import pprint
import difflib
--- /dev/null
+# -*- coding: utf-8 -*-
+"""
+ Basic Grammar Notation Tests
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+import pytest
+
+from pygments.token import Token
+from pygments.lexers import PegLexer
+
+
+@pytest.fixture(scope='module')
+def lexer_peg():
+ yield PegLexer()
+
+
+def test_peg_basic(lexer_peg):
+ fragment = u'rule<-("terminal"/nonterminal/[cls])*\n'
+ tokens = [
+ (Token.Name.Class, u'rule'),
+ (Token.Operator, u'<-'),
+ (Token.Punctuation, u'('),
+ (Token.String.Double, u'"terminal"'),
+ (Token.Operator, u'/'),
+ (Token.Name.Class, u'nonterminal'),
+ (Token.Operator, u'/'),
+ (Token.Punctuation, u'['),
+ (Token.String, u'cls'),
+ (Token.Punctuation, u']'),
+ (Token.Punctuation, u')'),
+ (Token.Operator, u'*'),
+ (Token.Text, u'\n'),
+ ]
+ assert list(lexer_peg.get_tokens(fragment)) == tokens
+
+
+def test_peg_operators(lexer_peg):
+ # see for example:
+ # - https://github.com/gvanrossum/pegen
+ # - https://nim-lang.org/docs/pegs.html
+ fragment = u"rule = 'a' | 'b'\n"
+ tokens = [
+ (Token.Name.Class, u'rule'),
+ (Token.Text, u' '),
+ (Token.Operator, u'='),
+ (Token.Text, u' '),
+ (Token.String.Single, u"'a'"),
+ (Token.Text, u' '),
+ (Token.Operator, u'|'),
+ (Token.Text, u' '),
+ (Token.String.Single, u"'b'"),
+ (Token.Text, u'\n'),
+ ]
+ assert list(lexer_peg.get_tokens(fragment)) == tokens
+ fragment = u"rule: 'a' ~ 'b'\n"
+ tokens = [
+ (Token.Name.Class, u'rule'),
+ (Token.Operator, u':'),
+ (Token.Text, u' '),
+ (Token.String.Single, u"'a'"),
+ (Token.Text, u' '),
+ (Token.Operator, u'~'),
+ (Token.Text, u' '),
+ (Token.String.Single, u"'b'"),
+ (Token.Text, u'\n'),
+ ]
+ assert list(lexer_peg.get_tokens(fragment)) == tokens
+
+
+def test_peg_modified_strings(lexer_peg):
+ # see for example:
+ # - http://textx.github.io/Arpeggio/
+ # - https://nim-lang.org/docs/pegs.html
+ # - https://github.com/erikrose/parsimonious
+ fragment = u'~"regex" i"insensitive" "multimod"ilx ("not modified")\n'
+ tokens = [
+ # can't handle parsimonious-style regex while ~ is a cut operator
+ (Token.Operator, u'~'),
+ (Token.String.Double, u'"regex"'),
+ (Token.Text, u' '),
+ (Token.String.Double, u'i"insensitive"'),
+ (Token.Text, u' '),
+ (Token.String.Double, u'"multimod"ilx'),
+ (Token.Text, u' '),
+ (Token.Punctuation, u'('),
+ (Token.String.Double, u'"not modified"'),
+ (Token.Punctuation, u')'),
+ (Token.Text, u'\n'),
+ ]
+ assert list(lexer_peg.get_tokens(fragment)) == tokens
--- /dev/null
+# -*- coding: utf-8 -*-
+"""
+ Haskell Tests
+ ~~~~~~~~~~~~~
+
+ :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+import pytest
+
+from pygments.lexers import HaskellLexer
+from pygments.token import Token
+
+
+@pytest.fixture(scope='module')
+def lexer():
+ yield HaskellLexer()
+
+
+def test_promoted_names(lexer):
+ fragment = "'x ': '[]\n"
+ tokens = [
+ (Token.Name, '\'x'),
+ (Token.Text, ' '),
+ (Token.Keyword.Type, '\':'),
+ (Token.Text, ' '),
+ (Token.Keyword.Type, '\'[]'),
+ (Token.Text, '\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import io
import os
import re
import tempfile
from os import path
+from io import StringIO
from pytest import raises
-from pygments.util import StringIO
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter, NullFormatter
from pygments.formatters.html import escape_html
--- /dev/null
+# -*- coding: utf-8 -*-
+"""
+ Basic IdrisLexer Test
+ ~~~~~~~~~~~~~~~~~~~~
+
+ :copyright: Copyright 2020 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+import pytest
+
+from pygments.token import Keyword, Text, Name, Operator, Literal
+from pygments.lexers import IdrisLexer
+
+
+@pytest.fixture(scope='module')
+def lexer():
+ yield IdrisLexer()
+
+def test_reserved_word(lexer):
+ fragment = u'namespace Foobar\n links : String\n links = "abc"'
+ tokens = [
+ (Keyword.Reserved, u'namespace'),
+ (Text, u' '),
+ (Keyword.Type, u'Foobar'),
+ (Text, u'\n'),
+ (Text, u' '),
+ (Name.Function, u'links'),
+ (Text, u' '),
+ (Operator.Word, u':'),
+ (Text, u' '),
+ (Keyword.Type, u'String'),
+ (Text, u'\n'),
+ (Text, u' '),
+ (Text, u' '),
+ (Text, u'links'),
+ (Text, u' '),
+ (Operator.Word, u'='),
+ (Text, u' '),
+ (Literal.String, u'"'),
+ (Literal.String, u'abc'),
+ (Literal.String, u'"'),
+ (Text, u'\n')
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+def test_compiler_directive(lexer):
+ fragment = u'%link C "object.o"\n%name Vect xs'
+ tokens = [
+ (Keyword.Reserved, u'%link'),
+ (Text, u' '),
+ (Keyword.Type, u'C'),
+ (Text, u' '),
+ (Literal.String, u'"'),
+ (Literal.String, u'object.o'),
+ (Literal.String, u'"'),
+ (Text, u'\n'),
+ (Keyword.Reserved, u'%name'),
+ (Text, u' '),
+ (Keyword.Type, u'Vect'),
+ (Text, u' '),
+ (Text, u'xs'),
+ (Text, u'\n')
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
+from io import StringIO
-from pygments.util import StringIO
from pygments.lexers import PythonLexer
from pygments.formatters import IRCFormatter
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import os
import tempfile
from os import path
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
from pygments import modeline
from pygments.lexers import PythonLexer, Python3Lexer
from pygments.token import Token
+import re
+
@pytest.fixture(scope='module')
def lexer2():
(Token.Text, u'\n'),
]
assert list(lexer3.get_tokens(fragment)) == tokens
+
+
+def test_walrus_operator(lexer3):
+ """
+ Tests that ':=' is recognized as an Operator
+ """
+ fragment = u'if (a := 2) > 4:'
+ tokens = [
+ (Token.Keyword, 'if'),
+ (Token.Text, ' '),
+ (Token.Punctuation, '('),
+ (Token.Name, 'a'),
+ (Token.Text, ' '),
+ (Token.Operator, ':='),
+ (Token.Text, ' '),
+ (Token.Literal.Number.Integer, '2'),
+ (Token.Punctuation, ')'),
+ (Token.Text, ' '),
+ (Token.Operator, '>'),
+ (Token.Text, ' '),
+ (Token.Literal.Number.Integer, '4'),
+ (Token.Punctuation, ':'),
+ (Token.Text, '\n'),
+ ]
+ assert list(lexer3.get_tokens(fragment)) == tokens
+
+
+def test_fstring(lexer3):
+ """
+ Tests that the lexer can parse f-strings
+ """
+ fragments_and_tokens = (
+ # examples from PEP-0498
+ (
+ "f'My name is {name}, my age next year is {age+1}, my anniversary is {anniversary:%A, %B %d, %Y}.'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'My name is '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'name'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, ', my age next year is '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'age'),
+ (Token.Operator, '+'),
+ (Token.Literal.Number.Integer, '1'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, ', my anniversary is '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'anniversary'),
+ (Token.Literal.String.Interpol, ':'),
+ (Token.Literal.String.Single, '%A, %B %d, %Y'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, '.'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, u'\n')
+ ]
+ ), (
+ "f'He said his name is {name!r}.'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'He said his name is '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'name'),
+ (Token.Literal.String.Interpol, '!r}'),
+ (Token.Literal.String.Single, '.'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+
+ ), (
+ "f'input={value:#06x}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'input='),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'value'),
+ (Token.Literal.String.Interpol, ':'),
+ (Token.Literal.String.Single, '#06x'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ """f'{"quoted string"}'\n""",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Double, 'quoted string'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ """f'{f"{inner}"}'\n""", # not in the PEP
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'inner'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ # SyntaxError: f-string expression part cannot include a backslash
+ "f'{\\'quoted string\\'}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Error, '\\'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'quoted string'),
+ (Token.Literal.String.Escape, "\\'"),
+ (Token.Literal.String.Single, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'{{ {4*10} }}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Escape, '{{'),
+ (Token.Literal.String.Single, ' '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Literal.Number.Integer, '4'),
+ (Token.Operator, '*'),
+ (Token.Literal.Number.Integer, '10'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, ' '),
+ (Token.Literal.String.Escape, '}}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'{{{4*10}}}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Escape, '{{'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Literal.Number.Integer, '4'),
+ (Token.Operator, '*'),
+ (Token.Literal.Number.Integer, '10'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Escape, '}}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "fr'x={4*10}'\n",
+ [
+ (Token.Literal.String.Affix, 'fr'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, "x="),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Literal.Number.Integer, '4'),
+ (Token.Operator, '*'),
+ (Token.Literal.Number.Integer, '10'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ """f'abc {a["x"]} def'\n""",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'abc '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'a'),
+ (Token.Punctuation, '['),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Double, 'x'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Punctuation, ']'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, ' def'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'''abc {a['x']} def'''\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'''"),
+ (Token.Literal.String.Single, 'abc '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'a'),
+ (Token.Punctuation, '['),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'x'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Punctuation, ']'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, ' def'),
+ (Token.Literal.String.Single, "'''"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ """f'''{x
++1}'''\n""",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'''"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'x'),
+ (Token.Text, '\n'),
+ (Token.Operator, '+'),
+ (Token.Literal.Number.Integer, '1'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'''"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ """f'''{d[0
+]}'''\n""",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'''"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'd'),
+ (Token.Punctuation, '['),
+ (Token.Literal.Number.Integer, '0'),
+ (Token.Text, '\n'),
+ (Token.Punctuation, ']'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'''"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'result: {value:{width}.{precision}}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'result: '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'value'),
+ (Token.Literal.String.Interpol, ':'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'width'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, '.'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'precision'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "'a' 'b' f'{x}' '{c}' f'str<{y:^4}>' 'd' 'e'\n",
+ [
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'a'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, ' '),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'b'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, ' '),
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'x'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, ' '),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{c}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, ' '),
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'str<'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'y'),
+ (Token.Literal.String.Interpol, ':'),
+ (Token.Literal.String.Single, '^4'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, '>'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, ' '),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'd'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, ' '),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'e'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'{i}:{d[i]}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'i'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, ':'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'd'),
+ (Token.Punctuation, '['),
+ (Token.Name, 'i'),
+ (Token.Punctuation, ']'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'x = {x:+3}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, "x = "),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'x'),
+ (Token.Literal.String.Interpol, ':'),
+ (Token.Literal.String.Single, '+3'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'{fn(lst,2)} {fn(lst,3)}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'fn'),
+ (Token.Punctuation, '('),
+ (Token.Name, 'lst'),
+ (Token.Punctuation, ','),
+ (Token.Literal.Number.Integer, '2'),
+ (Token.Punctuation, ')'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, ' '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'fn'),
+ (Token.Punctuation, '('),
+ (Token.Name, 'lst'),
+ (Token.Punctuation, ','),
+ (Token.Literal.Number.Integer, '3'),
+ (Token.Punctuation, ')'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'mapping is { {a:b for (a, b) in ((1, 2), (3, 4))} }'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'mapping is '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Text, ' '),
+ (Token.Punctuation, '{'),
+ (Token.Name, 'a'),
+ (Token.Punctuation, ':'),
+ (Token.Name, 'b'),
+ (Token.Text, ' '),
+ (Token.Keyword, 'for'),
+ (Token.Text, ' '),
+ (Token.Punctuation, '('),
+ (Token.Name, 'a'),
+ (Token.Punctuation, ','),
+ (Token.Text, ' '),
+ (Token.Name, 'b'),
+ (Token.Punctuation, ')'),
+ (Token.Text, ' '),
+ (Token.Operator.Word, 'in'),
+ (Token.Text, ' '),
+ (Token.Punctuation, '('),
+ (Token.Punctuation, '('),
+ (Token.Literal.Number.Integer, '1'),
+ (Token.Punctuation, ','),
+ (Token.Text, ' '),
+ (Token.Literal.Number.Integer, '2'),
+ (Token.Punctuation, ')'),
+ (Token.Punctuation, ','),
+ (Token.Text, ' '),
+ (Token.Punctuation, '('),
+ (Token.Literal.Number.Integer, '3'),
+ (Token.Punctuation, ','),
+ (Token.Text, ' '),
+ (Token.Literal.Number.Integer, '4'),
+ (Token.Punctuation, ')'),
+ (Token.Punctuation, ')'),
+ (Token.Punctuation, '}'),
+ (Token.Text, ' '),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ """f'a={d["a"]}'\n""",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'a='),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'd'),
+ (Token.Punctuation, '['),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Double, 'a'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Punctuation, ']'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'a={d[a]}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, 'a='),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'd'),
+ (Token.Punctuation, '['),
+ (Token.Name, 'a'),
+ (Token.Punctuation, ']'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "fr'{header}:\\s+'\n",
+ [
+ (Token.Literal.String.Affix, 'fr'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'header'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, ':'),
+ (Token.Literal.String.Single, '\\'),
+ (Token.Literal.String.Single, 's+'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'{a!r}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'a'),
+ (Token.Literal.String.Interpol, '!r}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'{(lambda x: x*2)(3)}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Punctuation, '('),
+ (Token.Keyword, 'lambda'),
+ (Token.Text, ' '),
+ (Token.Name, 'x'),
+ (Token.Punctuation, ':'),
+ (Token.Text, ' '),
+ (Token.Name, 'x'),
+ (Token.Operator, '*'),
+ (Token.Literal.Number.Integer, '2'),
+ (Token.Punctuation, ')'),
+ (Token.Punctuation, '('),
+ (Token.Literal.Number.Integer, '3'),
+ (Token.Punctuation, ')'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "extra = f'{extra},waiters:{len(self._waiters)}'\n",
+ [
+ (Token.Name, 'extra'),
+ (Token.Text, ' '),
+ (Token.Operator, '='),
+ (Token.Text, ' '),
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'extra'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, ',waiters:'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name.Builtin, 'len'),
+ (Token.Punctuation, '('),
+ (Token.Name.Builtin.Pseudo, 'self'),
+ (Token.Operator, '.'),
+ (Token.Name, '_waiters'),
+ (Token.Punctuation, ')'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ 'message.append(f" [line {lineno:2d}]")\n',
+ [
+ (Token.Name, 'message'),
+ (Token.Operator, '.'),
+ (Token.Name, 'append'),
+ (Token.Punctuation, '('),
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Double, ' [line '),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'lineno'),
+ (Token.Literal.String.Interpol, ':'),
+ (Token.Literal.String.Double, '2d'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Double, ']'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Punctuation, ')'),
+ (Token.Text, '\n')
+ ]
+ ),
+ # Examples from https://bugs.python.org/issue36817
+ (
+ 'f"{foo=}"\n',
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'foo'),
+ (Token.Literal.String.Interpol, '=}'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'{foo=!s}'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'foo'),
+ (Token.Literal.String.Interpol, '=!s}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ 'f"{math.pi=!f:.2f}"\n',
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'math'),
+ (Token.Operator, '.'),
+ (Token.Name, 'pi'),
+ (Token.Literal.String.Interpol, '=!f:'),
+ (Token.Literal.String.Double, '.2f'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Text, '\n')
+ ]
+ ), (
+ 'f"{ chr(65) =}"\n',
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Text, ' '),
+ (Token.Name.Builtin, 'chr'),
+ (Token.Punctuation, '('),
+ (Token.Literal.Number.Integer, '65'),
+ (Token.Punctuation, ')'),
+ (Token.Text, ' '),
+ (Token.Literal.String.Interpol, '=}'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Text, '\n')
+ ]
+ ), (
+ 'f"{chr(65) = }"\n',
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name.Builtin, 'chr'),
+ (Token.Punctuation, '('),
+ (Token.Literal.Number.Integer, '65'),
+ (Token.Punctuation, ')'),
+ (Token.Text, ' '),
+ (Token.Literal.String.Interpol, '= }'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'*{n=:30}*'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, '*'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'n'),
+ (Token.Literal.String.Interpol, '=:'),
+ (Token.Literal.String.Single, '30'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, '*'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'*{n=!r:30}*'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, '*'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'n'),
+ (Token.Literal.String.Interpol, '=!r:'),
+ (Token.Literal.String.Single, '30'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, '*'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ """f"*{f'{n=}':30}*"\n""",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Literal.String.Double, '*'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'n'),
+ (Token.Literal.String.Interpol, '=}'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Interpol, ':'),
+ (Token.Literal.String.Double, '30'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Double, '*'),
+ (Token.Literal.String.Double, '"'),
+ (Token.Text, '\n')
+ ]
+ ), (
+ "f'*{n=:+<30}*'\n",
+ [
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Literal.String.Single, '*'),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'n'),
+ (Token.Literal.String.Interpol, '=:'),
+ (Token.Literal.String.Single, '+<30'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, '*'),
+ (Token.Literal.String.Single, "'"),
+ (Token.Text, '\n')
+ ]
+ ), (
+ """
+ f'''{foo
+ = !s:20}'''\n""",
+ [
+ (Token.Text, ' '),
+ (Token.Literal.String.Affix, 'f'),
+ (Token.Literal.String.Single, "'''"),
+ (Token.Literal.String.Interpol, '{'),
+ (Token.Name, 'foo'),
+ (Token.Text, '\n '),
+ (Token.Literal.String.Interpol, '= !s:'),
+ (Token.Literal.String.Single, '20'),
+ (Token.Literal.String.Interpol, '}'),
+ (Token.Literal.String.Single, "'''"),
+ (Token.Text, '\n')
+ ]
+ )
+
+ )
+
+ for fragment,tokens in fragments_and_tokens:
+ assert list(lexer3.get_tokens(fragment)) == tokens
+
+ # Now switch between single and double quotes, to cover both cases equally
+ rep = {"'":'"', '"':"'"}
+ pattern = re.compile("|".join(rep.keys()))
+ for fragment,tokens in fragments_and_tokens:
+ fragment = pattern.sub(lambda m: rep[m.group(0)], fragment)
+ tokens = list(tokens)
+ for i,(token,match) in enumerate(tokens):
+ if token == Token.Literal.String.Single:
+ token = Token.Literal.String.Double
+ elif token == Token.Literal.String.Double:
+ token = Token.Literal.String.Single
+ match = pattern.sub(lambda m: rep[m.group(0)], match)
+ tokens[i] = (token, match)
+ assert list(lexer3.get_tokens(fragment)) == tokens
(Token.Text, u'\n'),
]
assert list(lexer.get_tokens(fragment)) == tokens
+
+
+def test_indexing(lexer):
+ fragment = u'a[1]'
+ tokens = [
+ (Token.Name, u'a'),
+ (Token.Punctuation, u'['),
+ (Token.Literal.Number, u'1'),
+ (Token.Punctuation, u']'),
+ (Token.Text, u'\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+
+def test_dot_name(lexer):
+ fragment = u'. <- 1'
+ tokens = [
+ (Token.Name, '.'),
+ (Token.Text, ' '),
+ (Token.Operator, '<-'),
+ (Token.Text, ' '),
+ (Token.Literal.Number, '1'),
+ (Token.Text, '\n')
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+
+def test_dot_indexing(lexer):
+ fragment = u'.[1]'
+ tokens = [
+ (Token.Name, u'.'),
+ (Token.Punctuation, u'['),
+ (Token.Literal.Number, u'1'),
+ (Token.Punctuation, u']'),
+ (Token.Text, u'\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
:license: BSD, see LICENSE for details.
"""
-from pygments.util import StringIO
+from io import StringIO
+
from pygments.formatters import RtfFormatter
from pygments.lexers.special import TextLexer
:license: BSD, see LICENSE for details.
"""
-from __future__ import print_function
-
import re
+from io import StringIO
-from pygments.util import StringIO
from pygments.lexers.sql import PlPgsqlLexer
from pygments.formatters import TerminalFormatter, Terminal256Formatter, \
HtmlFormatter, LatexFormatter
yield HttpLexer()
+def test_http_status_line(lexer):
+ fragment = u'HTTP/1.1 200 OK\n'
+ tokens = [
+ (Token.Keyword.Reserved, u'HTTP'),
+ (Token.Operator, u'/'),
+ (Token.Number, u'1.1'),
+ (Token.Text, u' '),
+ (Token.Number, u'200'),
+ (Token.Text, u' '),
+ (Token.Name.Exception, u'OK'),
+ (Token.Text, u'\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+
+def test_http_status_line_without_reason_phrase(lexer):
+ fragment = u'HTTP/1.1 200\n'
+ tokens = [
+ (Token.Keyword.Reserved, u'HTTP'),
+ (Token.Operator, u'/'),
+ (Token.Number, u'1.1'),
+ (Token.Text, u' '),
+ (Token.Number, u'200'),
+ (Token.Text, u'\n'),
+ ]
+ assert list(lexer.get_tokens(fragment)) == tokens
+
+
def test_application_xml(lexer):
fragment = u'GET / HTTP/1.0\nContent-Type: application/xml\n\n<foo>\n'
tokens = [
import random
from pygments import unistring as uni
-from pygments.util import unichr
def test_cats_exist_and_compilable():
random.seed(0)
for i in range(1000):
o = random.randint(0, 65535)
- c = unichr(o)
+ c = chr(o)
if o > 0xd800 and o <= 0xdfff and not uni.Cs:
continue # Bah, Jython.
print(hex(o))
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""Test that syntax highlighting for USD files works correctly."""
+
+import textwrap
+import unittest
+
+from pygments.lexers import UsdLexer
+from pygments.token import Keyword, Literal, Name, Number, Operator, Punctuation, \
+ String, Text, Whitespace
+
+
+class _Common(unittest.TestCase):
+ """A basic class that makes it easier to write unittests."""
+
+ def setUp(self):
+ """Create a fresh USD lexer class before each test runs."""
+ self.lexer = UsdLexer()
+
+ def _get(self, code):
+ """Tokenize the code into its unique parts.
+
+ :param code: The USD source code to split up.
+ :type code: str
+
+ :returns: The tokenized pieces.
+ :rtype: list[:class:`pygments.token._TokenType`]
+
+ """
+ return list(self.lexer.get_tokens(code))
+
+
+class Features(_Common):
+ """Test that different features of USD highlight as expected."""
+
+ def test_asset_path(self):
+ """Check that a regular file path highlights correctly."""
+ for path in [
+ "@./some/path/to/a/file/foo.usda@",
+ "@/some/path/to/a/file/foo.usda@",
+ "@some/path/to/a/file/foo.usda@",
+ r"@file://SPECI__Z-_ALIZED(syntax_here)?with_arbitrary#)(%*&)\characters.tar.gz@",
+ ]:
+ expected = [
+ (String.Interpol, path),
+ (Whitespace, "\n"),
+ ]
+
+ self.assertEqual(expected, self._get(path))
+
+ def test_target_absolute(self):
+ """Check that SdfPath syntax examples work correctly."""
+ for code in [
+ # Absolute paths
+ "</some/another_one/here>",
+ "</some/path/here.property_name>",
+ "</some/path/here>",
+ # Relative paths
+ "<../some/another_one/here>",
+ "<../some/path/here.property_name>",
+ "<../some/path/here>",
+ ]:
+ self.assertEqual(
+ [(Name.Namespace, code), (Whitespace, "\n")], self._get(code),
+ )
+
+ def test_attribute(self):
+ """Test different attribute syntax styles."""
+ normal = "double foo = 8.0"
+
+ self.assertEqual(
+ [
+ (Keyword.Type, "double"),
+ (Whitespace, " "),
+ (Name.Attribute, "foo"),
+ (Whitespace, " "),
+ (Operator, "="),
+ (Whitespace, " "),
+ (Number, "8.0"),
+ (Whitespace, "\n"),
+ ],
+ self._get(normal),
+ )
+
+ custom = "custom double foo = 8.0"
+
+ self.assertEqual(
+ [
+ (Keyword.Token, "custom"),
+ (Whitespace, " "),
+ (Keyword.Type, "double"),
+ (Whitespace, " "),
+ (Name.Attribute, "foo"),
+ (Whitespace, " "),
+ (Operator, "="),
+ (Whitespace, " "),
+ (Number, "8.0"),
+ (Whitespace, "\n"),
+ ],
+ self._get(custom),
+ )
+
+ uniform = "uniform double foo = 8.0"
+
+ self.assertEqual(
+ [
+ (Keyword.Token, "uniform"),
+ (Whitespace, " "),
+ (Keyword.Type, "double"),
+ (Whitespace, " "),
+ (Name.Attribute, "foo"),
+ (Whitespace, " "),
+ (Operator, "="),
+ (Whitespace, " "),
+ (Number, "8.0"),
+ (Whitespace, "\n"),
+ ],
+ self._get(uniform),
+ )
+
+ custom_uniform = "custom uniform double foo = 8.0"
+
+ self.assertEqual(
+ [
+ (Keyword.Token, "custom"),
+ (Whitespace, " "),
+ (Keyword.Token, "uniform"),
+ (Whitespace, " "),
+ (Keyword.Type, "double"),
+ (Whitespace, " "),
+ (Name.Attribute, "foo"),
+ (Whitespace, " "),
+ (Operator, "="),
+ (Whitespace, " "),
+ (Number, "8.0"),
+ (Whitespace, "\n"),
+ ],
+ self._get(custom_uniform),
+ )
+
+ underscore = "custom double foo_underscore_name = 8.0"
+
+ self.assertEqual(
+ [
+ (Keyword.Token, "custom"),
+ (Text.Whitespace, " "),
+ (Keyword.Type, "double"),
+ (Text.Whitespace, " "),
+ (Name.Attribute, "foo_underscore_name"),
+ (Text.Whitespace, " "),
+ (Operator, "="),
+ (Whitespace, " "),
+ (Number, "8.0"),
+ (Whitespace, "\n"),
+ ],
+ self._get(underscore),
+ )
+
+ array = "double[] foo_underscore_name = [10.1, 12.0, 13]"
+
+ self.assertEqual(
+ [
+ (Keyword.Type, "double[]"),
+ (Text.Whitespace, " "),
+ (Name.Attribute, "foo_underscore_name"),
+ (Text.Whitespace, " "),
+ (Operator, "="),
+ (Whitespace, " "),
+ (Punctuation, "["),
+ (Number, "10.1"),
+ (Punctuation, ","),
+ (Whitespace, " "),
+ (Number, "12.0"),
+ (Punctuation, ","),
+ (Whitespace, " "),
+ (Number, "13"),
+ (Punctuation, "]"),
+ (Whitespace, "\n"),
+ ],
+ self._get(array),
+ )
+
+ namespaced = "double[] primvar:foo_thing = [10.1, 12.0, 13]"
+
+ self.assertEqual(
+ [
+ (Keyword.Type, "double[]"),
+ (Whitespace, " "),
+ (Name.Attribute, "primvar:foo_thing"),
+ (Whitespace, " "),
+ (Operator, "="),
+ (Whitespace, " "),
+ (Punctuation, "["),
+ (Number, "10.1"),
+ (Punctuation, ","),
+ (Whitespace, " "),
+ (Number, "12.0"),
+ (Punctuation, ","),
+ (Whitespace, " "),
+ (Number, "13"),
+ (Punctuation, "]"),
+ (Whitespace, "\n"),
+ ],
+ self._get(namespaced),
+ )
+
+ timesamples = textwrap.dedent(
+ """\
+ custom int[] foo = [8, 10, 14]
+ custom int[] foo.timeSamples = {
+ 1: [8, 0, 14],
+ 2: [-8, 0, 14],
+ }
+ """
+ )
+
+ self.assertEqual(
+ [
+ (Keyword.Token, u"custom"),
+ (Whitespace, u" "),
+ (Keyword.Type, u"int[]"),
+ (Whitespace, u" "),
+ (Name.Attribute, u"foo"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (Punctuation, u"["),
+ (Number, u"8"),
+ (Punctuation, u","),
+ (Whitespace, u" "),
+ (Number, u"10"),
+ (Punctuation, u","),
+ (Whitespace, u" "),
+ (Number, u"14"),
+ (Punctuation, u"]"),
+ (Whitespace, u"\n"),
+ (Keyword.Token, u"custom"),
+ (Whitespace, u" "),
+ (Keyword.Type, u"int[]"),
+ (Whitespace, u" "),
+ (Name.Attribute, u"foo"),
+ (Text, u"."),
+ (Name.Keyword.Tokens, u"timeSamples"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (Punctuation, u"{"),
+ (Whitespace, u"\n "),
+ (Number, u"1"),
+ (Punctuation, u":"),
+ (Whitespace, u" "),
+ (Punctuation, u"["),
+ (Number, u"8"),
+ (Punctuation, u","),
+ (Whitespace, u" "),
+ (Number, u"0"),
+ (Punctuation, u","),
+ (Whitespace, u" "),
+ (Number, u"14"),
+ (Punctuation, u"]"),
+ (Punctuation, u","),
+ (Whitespace, u"\n "),
+ (Number, u"2"),
+ (Punctuation, u":"),
+ (Whitespace, u" "),
+ (Punctuation, u"["),
+ (Number, u"-8"),
+ (Punctuation, u","),
+ (Whitespace, u" "),
+ (Number, u"0"),
+ (Punctuation, u","),
+ (Whitespace, u" "),
+ (Number, u"14"),
+ (Punctuation, u"]"),
+ (Punctuation, u","),
+ (Whitespace, u"\n"),
+ (Punctuation, u"}"),
+ (Whitespace, u"\n"),
+ ],
+ self._get(timesamples),
+ )
+
+ def test_string_priority(self):
+ """Make sure that no other rules override a string match."""
+ code = textwrap.dedent(
+ '''\
+ """
+ custom int[] foo = [8, 10, 14]
+ """'''
+ )
+
+ self.assertEqual(
+ [
+ (String, u'"""\ncustom int[] foo = [8, 10, 14]\n"""'),
+ (Whitespace, u"\n"),
+ ],
+ self._get(code),
+ )
+
+ def test_numbers(self):
+ """Check that different number representations work."""
+ code = "8 8.0123312132, -4 -14.123 1e10 0.1e10 10.123e+10 0.123e-14"
+
+ self.assertEqual(
+ [
+ (Number, u"8"),
+ (Whitespace, u" "),
+ (Number, u"8.0123312132"),
+ (Punctuation, u","),
+ (Whitespace, u" "),
+ (Number, u"-4"),
+ (Whitespace, u" "),
+ (Number, u"-14.123"),
+ (Whitespace, u" "),
+ (Number, u"1e10"),
+ (Whitespace, u" "),
+ (Number, u"0.1e10"),
+ (Whitespace, u" "),
+ (Number, u"10.123e+10"),
+ (Whitespace, u" "),
+ (Number, u"0.123e-14"),
+ (Whitespace, u"\n"),
+ ],
+ self._get(code),
+ )
+
+ def test_composition_arcs(self):
+ """Test composition arc syntax highlighting."""
+ code = textwrap.dedent(
+ """
+ def Xform "BottleMedical" (
+ kind = "prop"
+ payload = @./BottleMedical_payload.usd@</BottleMedical>
+ variants = {
+ string modelingVariant = "LiquidBottleLg"
+ string shadingComplexity = "full"
+ }
+ add variantSets = ["modelingVariant", "shadingComplexity"]
+ )
+ {
+ variantSet "modelingVariant" = {
+ "ALL_VARIANTS" {
+ }
+ }
+ }
+ """
+ )
+
+ self.assertEqual(
+ [
+ (Keyword.Tokens, u"def"),
+ (Whitespace, u" "),
+ (Text, u"Xform"),
+ (Whitespace, u" "),
+ (String, u'"BottleMedical"'),
+ (Whitespace, u" "),
+ (Punctuation, u"("),
+ (Whitespace, u"\n "),
+ (Name.Builtins, u"kind"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (String, u'"prop"'),
+ (Whitespace, u"\n "),
+ (Keyword.Tokens, u"payload"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (String.Interpol, u"@./BottleMedical_payload.usd@"),
+ (Name.Namespace, u"</BottleMedical>"),
+ (Whitespace, u"\n "),
+ (Keyword.Tokens, u"variants"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (Punctuation, u"{"),
+ (Whitespace, u"\n "),
+ (Keyword.Type, u"string"),
+ (Whitespace, u" "),
+ (Name.Attribute, u"modelingVariant"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (String, u'"LiquidBottleLg"'),
+ (Whitespace, u"\n "),
+ (Keyword.Type, u"string"),
+ (Whitespace, u" "),
+ (Name.Attribute, u"shadingComplexity"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (String, u'"full"'),
+ (Whitespace, u"\n "),
+ (Punctuation, u"}"),
+ (Whitespace, u"\n "),
+ (Keyword.Type, u"add"),
+ (Text.Whitespace, u" "),
+ (Name.Attribute, u"variantSets"),
+ (Text.Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (Punctuation, u"["),
+ (String, u'"modelingVariant"'),
+ (Punctuation, u","),
+ (Whitespace, u" "),
+ (String, u'"shadingComplexity"'),
+ (Punctuation, u"]"),
+ (Whitespace, u"\n"),
+ (Punctuation, u")"),
+ (Whitespace, u"\n"),
+ (Punctuation, u"{"),
+ (Whitespace, u"\n "),
+ (Keyword.Tokens, u"variantSet"),
+ (Whitespace, u" "),
+ (String, u'"modelingVariant"'),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (Punctuation, u"{"),
+ (Whitespace, u"\n "),
+ (String, u'"ALL_VARIANTS"'),
+ (Whitespace, u" "),
+ (Punctuation, u"{"),
+ (Whitespace, u"\n "),
+ (Punctuation, u"}"),
+ (Whitespace, u"\n "),
+ (Punctuation, u"}"),
+ (Whitespace, u"\n"),
+ (Punctuation, u"}"),
+ (Whitespace, u"\n"),
+ ],
+ self._get(code),
+ )
+
+ def test_string_single_line(self):
+ """Check a single string for the correct highlight."""
+ code = '"Some \'text"'
+
+ self.assertEqual(
+ [(String, code), (Whitespace, u"\n")], self._get(code),
+ )
+
+ def test_string_multiple_line(self):
+ """Check that different multi-line strings work correctly."""
+ code1 = textwrap.dedent(
+ u'''\
+ """
+ Some text multiline
+ """'''
+ )
+
+ self.assertEqual(
+ [(String, code1), (Whitespace, "\n"),], self._get(code1),
+ )
+
+ code2 = textwrap.dedent(
+ u'''\
+ """Some text multiline
+ """'''
+ )
+
+ self.assertEqual(
+ [(String, code2), (Whitespace, "\n"),], self._get(code2),
+ )
+
+ code3 = textwrap.dedent(
+ u'''\
+ """
+ Some text multiline"""'''
+ )
+
+ self.assertEqual(
+ [(String, code3), (Whitespace, "\n"),], self._get(code3),
+ )
+
+
+class EdgeCases(_Common):
+ """Any bugs / weird cases that deserve special attention."""
+
+ def test_metadata(self):
+ """Make sure metadata [the stuff inside ()s] don't match as Attributes."""
+ code = textwrap.dedent(
+ """
+ float[] primvars:skel:jointWeights = [1] (
+ elementSize = 1
+ interpolation = "constant"
+ )
+ """
+ )
+
+ self.assertEqual(
+ [
+ (Keyword.Type, u"float[]"),
+ (Whitespace, u" "),
+ (Name.Attribute, u"primvars:skel:jointWeights"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (Punctuation, u"["),
+ (Number, u"1"),
+ (Punctuation, u"]"),
+ (Whitespace, u" "),
+ (Punctuation, u"("),
+ (Whitespace, u"\n "),
+ (Name.Builtins, u"elementSize"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (Number, u"1"),
+ (Whitespace, u"\n "),
+ (Name.Builtins, u"interpolation"),
+ (Whitespace, u" "),
+ (Operator, u"="),
+ (Whitespace, u" "),
+ (String, u'"constant"'),
+ (Whitespace, u"\n"),
+ (Punctuation, u")"),
+ (Whitespace, u"\n"),
+ ],
+ self._get(code),
+ )
+
+ def test_outer_match(self):
+ """Make sure that text between located between quotes and @@s are not matched."""
+ at_sign = "@firststring@ something else @secondstring@"
+
+ self.assertEqual(
+ [
+ (String.Interpol, u"@firststring@"),
+ (Whitespace, u" "),
+ (Text, u"something"),
+ (Whitespace, u" "),
+ (Text, u"else"),
+ (Whitespace, u" "),
+ (String.Interpol, u"@secondstring@"),
+ (Whitespace, u"\n"),
+ ],
+ self._get(at_sign),
+ )
+
+ single = "'firststring' something else 'secondstring'"
+
+ self.assertEqual(
+ [
+ (String, u"'firststring'"),
+ (Whitespace, u" "),
+ (Text, u"something"),
+ (Whitespace, u" "),
+ (Text, u"else"),
+ (Whitespace, u" "),
+ (String, u"'secondstring'"),
+ (Whitespace, u"\n"),
+ ],
+ self._get(single),
+ )
+
+ double = "'firststring' something else 'secondstring'"
+
+ self.assertEqual(
+ [
+ (String, u"'firststring'"),
+ (Whitespace, u" "),
+ (Text, u"something"),
+ (Whitespace, u" "),
+ (Text, u"else"),
+ (Whitespace, u" "),
+ (String, u"'secondstring'"),
+ (Whitespace, u"\n"),
+ ],
+ self._get(double),
+ )
from pygments import util, console
-class FakeLexer(object):
+class FakeLexer:
def analyse(text):
return text
analyse = util.make_analysator(analyse)
def test_analysator_raises_exception():
# If an analysator wrapped by make_analysator raises an exception,
# then the wrapper will return 0.0.
- class ErrorLexer(object):
+ class ErrorLexer:
def analyse(text):
raise RuntimeError('something bad happened')
analyse = util.make_analysator(analyse)
assert s == (u'\xff', 'utf-8')
-def test_add_metaclass():
- class Meta(type):
- pass
-
- @util.add_metaclass(Meta)
- class Cls:
- pass
-
- assert type(Cls) is Meta
-
-
def test_console_ansiformat():
f = console.ansiformat
c = console.codes
+++ /dev/null
-[tox]
-envlist = py27, py35, py36, py37, py38, pypy, pypy3
-
-[testenv]
-deps =
- pytest
- pytest-cov
-commands = py.test {posargs}