From 065432bfcf777ac3dfb7da794bbec0a155f87794 Mon Sep 17 00:00:00 2001 From: etiennedemontalivet Date: Wed, 3 Jan 2024 08:50:13 +0000 Subject: [PATCH] deploy: 7e6e612413b9dfbd9e0ee0db63f8f022f0e5ba44 --- .buildinfo | 4 + .doctrees/_auto_examples/index.doctree | Bin 0 -> 9314 bytes .../_auto_examples/plot_read_trc.doctree | Bin 0 -> 387021 bytes .../_auto_examples/plot_trc_to_fif.doctree | Bin 0 -> 16610 bytes .../_auto_examples/sg_execution_times.doctree | Bin 0 -> 9525 bytes .../micromed_io.buffer.MicromedBuffer.doctree | Bin 0 -> 56809 bytes .../_autosummary/micromed_io.buffer.doctree | Bin 0 -> 5349 bytes .doctrees/_autosummary/micromed_io.doctree | Bin 0 -> 10881 bytes ...omed_io.header.ElectrodeReferences.doctree | Bin 0 -> 15478 bytes .../micromed_io.header.MicromedHeader.doctree | Bin 0 -> 68345 bytes .../_autosummary/micromed_io.header.doctree | Bin 0 -> 6629 bytes .../micromed_io.in_out.MicromedIO.doctree | Bin 0 -> 39018 bytes .../_autosummary/micromed_io.in_out.doctree | Bin 0 -> 5327 bytes ...micromed_io.tcp.MicromedPacketType.doctree | Bin 0 -> 10003 bytes ...ed_io.tcp.decode_tcp_header_packet.doctree | Bin 0 -> 7381 bytes ...ed_io.tcp.decode_tcp_marker_packet.doctree | Bin 0 -> 7547 bytes ...omed_io.tcp.decode_tcp_note_packet.doctree | Bin 0 -> 7521 bytes .../_autosummary/micromed_io.tcp.doctree | Bin 0 -> 12832 bytes ...cromed_io.tcp.encode_marker_packet.doctree | Bin 0 -> 8954 bytes ...micromed_io.tcp.encode_note_packet.doctree | Bin 0 -> 8800 bytes .../micromed_io.tcp.get_tcp_header.doctree | Bin 0 -> 9104 bytes ...create_mne_from_micromed_recording.doctree | Bin 0 -> 22729 bytes .../_autosummary/micromed_io.to_mne.doctree | Bin 0 -> 5706 bytes .../micromed_io.trc.MicromedTRC.doctree | Bin 0 -> 56417 bytes .../_autosummary/micromed_io.trc.doctree | Bin 0 -> 5280 bytes .doctrees/api.doctree | Bin 0 -> 4334 bytes .doctrees/environment.pickle | Bin 0 -> 976063 bytes .doctrees/index.doctree | Bin 0 -> 23826 bytes .doctrees/sg_execution_times.doctree | Bin 0 -> 9554 bytes .nojekyll | 0 _auto_examples/index.html | 468 +++++++++ _auto_examples/plot_read_trc.html | 865 ++++++++++++++++ _auto_examples/plot_trc_to_fif.html | 583 +++++++++++ _auto_examples/sg_execution_times.html | 449 +++++++++ .../micromed_io.buffer.MicromedBuffer.html | 681 +++++++++++++ _autosummary/micromed_io.buffer.html | 497 ++++++++++ ...icromed_io.header.ElectrodeReferences.html | 536 ++++++++++ .../micromed_io.header.MicromedHeader.html | 641 ++++++++++++ _autosummary/micromed_io.header.html | 501 ++++++++++ _autosummary/micromed_io.html | 508 ++++++++++ .../micromed_io.in_out.MicromedIO.html | 623 ++++++++++++ _autosummary/micromed_io.in_out.html | 497 ++++++++++ .../micromed_io.tcp.MicromedPacketType.html | 528 ++++++++++ ...romed_io.tcp.decode_tcp_header_packet.html | 524 ++++++++++ ...romed_io.tcp.decode_tcp_marker_packet.html | 525 ++++++++++ ...icromed_io.tcp.decode_tcp_note_packet.html | 525 ++++++++++ .../micromed_io.tcp.encode_marker_packet.html | 526 ++++++++++ .../micromed_io.tcp.encode_note_packet.html | 526 ++++++++++ .../micromed_io.tcp.get_tcp_header.html | 526 ++++++++++ _autosummary/micromed_io.tcp.html | 520 ++++++++++ ...ne.create_mne_from_micromed_recording.html | 549 +++++++++++ _autosummary/micromed_io.to_mne.html | 497 ++++++++++ _autosummary/micromed_io.trc.MicromedTRC.html | 659 +++++++++++++ _autosummary/micromed_io.trc.html | 497 ++++++++++ .../plot_trc_to_fif.ipynb | 90 ++ .../_auto_examples_jupyter.zip | Bin 0 -> 6578 bytes .../plot_read_trc.py | 49 + .../plot_trc_to_fif.py | 26 + .../_auto_examples_python.zip | Bin 0 -> 2455 bytes .../plot_read_trc.ipynb | 162 +++ _images/sphx_glr_plot_read_trc_thumb.png | Bin 0 -> 26794 bytes _images/sphx_glr_plot_trc_to_fif_001.png | Bin 0 -> 118071 bytes _images/sphx_glr_plot_trc_to_fif_thumb.png | Bin 0 -> 50423 bytes _sources/_auto_examples/index.rst.txt | 77 ++ _sources/_auto_examples/plot_read_trc.rst.txt | 561 +++++++++++ .../_auto_examples/plot_trc_to_fif.rst.txt | 222 +++++ .../_auto_examples/sg_execution_times.rst.txt | 40 + .../micromed_io.buffer.MicromedBuffer.rst.txt | 27 + .../_autosummary/micromed_io.buffer.rst.txt | 32 + ...omed_io.header.ElectrodeReferences.rst.txt | 31 + .../micromed_io.header.MicromedHeader.rst.txt | 43 + .../_autosummary/micromed_io.header.rst.txt | 33 + .../micromed_io.in_out.MicromedIO.rst.txt | 25 + .../_autosummary/micromed_io.in_out.rst.txt | 32 + _sources/_autosummary/micromed_io.rst.txt | 35 + ...micromed_io.tcp.MicromedPacketType.rst.txt | 26 + ...ed_io.tcp.decode_tcp_header_packet.rst.txt | 6 + ...ed_io.tcp.decode_tcp_marker_packet.rst.txt | 6 + ...omed_io.tcp.decode_tcp_note_packet.rst.txt | 6 + ...cromed_io.tcp.encode_marker_packet.rst.txt | 6 + ...micromed_io.tcp.encode_note_packet.rst.txt | 6 + .../micromed_io.tcp.get_tcp_header.rst.txt | 6 + _sources/_autosummary/micromed_io.tcp.rst.txt | 45 + ...create_mne_from_micromed_recording.rst.txt | 6 + .../_autosummary/micromed_io.to_mne.rst.txt | 31 + .../micromed_io.trc.MicromedTRC.rst.txt | 30 + _sources/_autosummary/micromed_io.trc.rst.txt | 32 + _sources/api.rst.txt | 10 + _sources/index.rst.txt | 14 + _sources/sg_execution_times.rst.txt | 40 + _static/basic.css | 925 ++++++++++++++++++ _static/binder_badge_logo.svg | 1 + _static/broken_example.png | Bin 0 -> 21404 bytes _static/check-solid.svg | 4 + _static/clipboard.min.js | 7 + _static/copy-button.svg | 5 + _static/copybutton.css | 94 ++ _static/copybutton.js | 248 +++++ _static/copybutton_funcs.js | 73 ++ _static/doctools.js | 156 +++ _static/documentation_options.js | 13 + _static/file.png | Bin 0 -> 286 bytes _static/jupyterlite_badge_logo.svg | 3 + _static/language_data.js | 199 ++++ _static/minus.png | Bin 0 -> 90 bytes _static/no_image.png | Bin 0 -> 4315 bytes _static/plus.png | Bin 0 -> 90 bytes _static/pygments.css | 152 +++ _static/scripts/bootstrap.js | 3 + _static/scripts/bootstrap.js.LICENSE.txt | 5 + _static/scripts/bootstrap.js.map | 1 + _static/scripts/pydata-sphinx-theme.js | 2 + _static/scripts/pydata-sphinx-theme.js.map | 1 + _static/searchtools.js | 574 +++++++++++ _static/sg_gallery-binder.css | 11 + _static/sg_gallery-dataframe.css | 47 + _static/sg_gallery-rendered-html.css | 224 +++++ _static/sg_gallery.css | 342 +++++++ _static/sphinx_highlight.js | 154 +++ _static/styles/bootstrap.css | 6 + _static/styles/bootstrap.css.map | 1 + _static/styles/pydata-sphinx-theme.css | 2 + _static/styles/pydata-sphinx-theme.css.map | 1 + _static/styles/theme.css | 2 + _static/vendor/fontawesome/6.1.2/LICENSE.txt | 165 ++++ .../vendor/fontawesome/6.1.2/css/all.min.css | 5 + .../vendor/fontawesome/6.1.2/js/all.min.js | 2 + .../6.1.2/js/all.min.js.LICENSE.txt | 5 + .../6.1.2/webfonts/fa-brands-400.ttf | Bin 0 -> 181264 bytes .../6.1.2/webfonts/fa-brands-400.woff2 | Bin 0 -> 105112 bytes .../6.1.2/webfonts/fa-regular-400.ttf | Bin 0 -> 60236 bytes .../6.1.2/webfonts/fa-regular-400.woff2 | Bin 0 -> 24028 bytes .../6.1.2/webfonts/fa-solid-900.ttf | Bin 0 -> 389948 bytes .../6.1.2/webfonts/fa-solid-900.woff2 | Bin 0 -> 154840 bytes .../6.1.2/webfonts/fa-v4compatibility.ttf | Bin 0 -> 10084 bytes .../6.1.2/webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4776 bytes _static/webpack-macros.html | 31 + api.html | 489 +++++++++ genindex.html | 557 +++++++++++ index.html | 572 +++++++++++ objects.inv | Bin 0 -> 2001 bytes py-modindex.html | 421 ++++++++ search.html | 400 ++++++++ searchindex.js | 1 + sg_execution_times.html | 449 +++++++++ 145 files changed, 21363 insertions(+) create mode 100644 .buildinfo create mode 100644 .doctrees/_auto_examples/index.doctree create mode 100644 .doctrees/_auto_examples/plot_read_trc.doctree create mode 100644 .doctrees/_auto_examples/plot_trc_to_fif.doctree create mode 100644 .doctrees/_auto_examples/sg_execution_times.doctree create mode 100644 .doctrees/_autosummary/micromed_io.buffer.MicromedBuffer.doctree create mode 100644 .doctrees/_autosummary/micromed_io.buffer.doctree create mode 100644 .doctrees/_autosummary/micromed_io.doctree create mode 100644 .doctrees/_autosummary/micromed_io.header.ElectrodeReferences.doctree create mode 100644 .doctrees/_autosummary/micromed_io.header.MicromedHeader.doctree create mode 100644 .doctrees/_autosummary/micromed_io.header.doctree create mode 100644 .doctrees/_autosummary/micromed_io.in_out.MicromedIO.doctree create mode 100644 .doctrees/_autosummary/micromed_io.in_out.doctree create mode 100644 .doctrees/_autosummary/micromed_io.tcp.MicromedPacketType.doctree create mode 100644 .doctrees/_autosummary/micromed_io.tcp.decode_tcp_header_packet.doctree create mode 100644 .doctrees/_autosummary/micromed_io.tcp.decode_tcp_marker_packet.doctree create mode 100644 .doctrees/_autosummary/micromed_io.tcp.decode_tcp_note_packet.doctree create mode 100644 .doctrees/_autosummary/micromed_io.tcp.doctree create mode 100644 .doctrees/_autosummary/micromed_io.tcp.encode_marker_packet.doctree create mode 100644 .doctrees/_autosummary/micromed_io.tcp.encode_note_packet.doctree create mode 100644 .doctrees/_autosummary/micromed_io.tcp.get_tcp_header.doctree create mode 100644 .doctrees/_autosummary/micromed_io.to_mne.create_mne_from_micromed_recording.doctree create mode 100644 .doctrees/_autosummary/micromed_io.to_mne.doctree create mode 100644 .doctrees/_autosummary/micromed_io.trc.MicromedTRC.doctree create mode 100644 .doctrees/_autosummary/micromed_io.trc.doctree create mode 100644 .doctrees/api.doctree create mode 100644 .doctrees/environment.pickle create mode 100644 .doctrees/index.doctree create mode 100644 .doctrees/sg_execution_times.doctree create mode 100644 .nojekyll create mode 100644 _auto_examples/index.html create mode 100644 _auto_examples/plot_read_trc.html create mode 100644 _auto_examples/plot_trc_to_fif.html create mode 100644 _auto_examples/sg_execution_times.html create mode 100644 _autosummary/micromed_io.buffer.MicromedBuffer.html create mode 100644 _autosummary/micromed_io.buffer.html create mode 100644 _autosummary/micromed_io.header.ElectrodeReferences.html create mode 100644 _autosummary/micromed_io.header.MicromedHeader.html create mode 100644 _autosummary/micromed_io.header.html create mode 100644 _autosummary/micromed_io.html create mode 100644 _autosummary/micromed_io.in_out.MicromedIO.html create mode 100644 _autosummary/micromed_io.in_out.html create mode 100644 _autosummary/micromed_io.tcp.MicromedPacketType.html create mode 100644 _autosummary/micromed_io.tcp.decode_tcp_header_packet.html create mode 100644 _autosummary/micromed_io.tcp.decode_tcp_marker_packet.html create mode 100644 _autosummary/micromed_io.tcp.decode_tcp_note_packet.html create mode 100644 _autosummary/micromed_io.tcp.encode_marker_packet.html create mode 100644 _autosummary/micromed_io.tcp.encode_note_packet.html create mode 100644 _autosummary/micromed_io.tcp.get_tcp_header.html create mode 100644 _autosummary/micromed_io.tcp.html create mode 100644 _autosummary/micromed_io.to_mne.create_mne_from_micromed_recording.html create mode 100644 _autosummary/micromed_io.to_mne.html create mode 100644 _autosummary/micromed_io.trc.MicromedTRC.html create mode 100644 _autosummary/micromed_io.trc.html create mode 100644 _downloads/022f7d0306cb4306fa5ceb91f4268f82/plot_trc_to_fif.ipynb create mode 100644 _downloads/225d151ea821367300a1321f418806af/_auto_examples_jupyter.zip create mode 100644 _downloads/375cbdb7aad81c7378509f9c7df99bf9/plot_read_trc.py create mode 100644 _downloads/4acc58f9b78d1a788dc63d8462941d50/plot_trc_to_fif.py create mode 100644 _downloads/8845d11ecb15bc8f327918febd001c4d/_auto_examples_python.zip create mode 100644 _downloads/ff1e34b9bce10d357229e1b1a38d147d/plot_read_trc.ipynb create mode 100644 _images/sphx_glr_plot_read_trc_thumb.png create mode 100644 _images/sphx_glr_plot_trc_to_fif_001.png create mode 100644 _images/sphx_glr_plot_trc_to_fif_thumb.png create mode 100644 _sources/_auto_examples/index.rst.txt create mode 100644 _sources/_auto_examples/plot_read_trc.rst.txt create mode 100644 _sources/_auto_examples/plot_trc_to_fif.rst.txt create mode 100644 _sources/_auto_examples/sg_execution_times.rst.txt create mode 100644 _sources/_autosummary/micromed_io.buffer.MicromedBuffer.rst.txt create mode 100644 _sources/_autosummary/micromed_io.buffer.rst.txt create mode 100644 _sources/_autosummary/micromed_io.header.ElectrodeReferences.rst.txt create mode 100644 _sources/_autosummary/micromed_io.header.MicromedHeader.rst.txt create mode 100644 _sources/_autosummary/micromed_io.header.rst.txt create mode 100644 _sources/_autosummary/micromed_io.in_out.MicromedIO.rst.txt create mode 100644 _sources/_autosummary/micromed_io.in_out.rst.txt create mode 100644 _sources/_autosummary/micromed_io.rst.txt create mode 100644 _sources/_autosummary/micromed_io.tcp.MicromedPacketType.rst.txt create mode 100644 _sources/_autosummary/micromed_io.tcp.decode_tcp_header_packet.rst.txt create mode 100644 _sources/_autosummary/micromed_io.tcp.decode_tcp_marker_packet.rst.txt create mode 100644 _sources/_autosummary/micromed_io.tcp.decode_tcp_note_packet.rst.txt create mode 100644 _sources/_autosummary/micromed_io.tcp.encode_marker_packet.rst.txt create mode 100644 _sources/_autosummary/micromed_io.tcp.encode_note_packet.rst.txt create mode 100644 _sources/_autosummary/micromed_io.tcp.get_tcp_header.rst.txt create mode 100644 _sources/_autosummary/micromed_io.tcp.rst.txt create mode 100644 _sources/_autosummary/micromed_io.to_mne.create_mne_from_micromed_recording.rst.txt create mode 100644 _sources/_autosummary/micromed_io.to_mne.rst.txt create mode 100644 _sources/_autosummary/micromed_io.trc.MicromedTRC.rst.txt create mode 100644 _sources/_autosummary/micromed_io.trc.rst.txt create mode 100644 _sources/api.rst.txt create mode 100644 _sources/index.rst.txt create mode 100644 _sources/sg_execution_times.rst.txt create mode 100644 _static/basic.css create mode 100644 _static/binder_badge_logo.svg create mode 100644 _static/broken_example.png create mode 100644 _static/check-solid.svg create mode 100644 _static/clipboard.min.js create mode 100644 _static/copy-button.svg create mode 100644 _static/copybutton.css create mode 100644 _static/copybutton.js create mode 100644 _static/copybutton_funcs.js create mode 100644 _static/doctools.js create mode 100644 _static/documentation_options.js create mode 100644 _static/file.png create mode 100644 _static/jupyterlite_badge_logo.svg create mode 100644 _static/language_data.js create mode 100644 _static/minus.png create mode 100644 _static/no_image.png create mode 100644 _static/plus.png create mode 100644 _static/pygments.css create mode 100644 _static/scripts/bootstrap.js create mode 100644 _static/scripts/bootstrap.js.LICENSE.txt create mode 100644 _static/scripts/bootstrap.js.map create mode 100644 _static/scripts/pydata-sphinx-theme.js create mode 100644 _static/scripts/pydata-sphinx-theme.js.map create mode 100644 _static/searchtools.js create mode 100644 _static/sg_gallery-binder.css create mode 100644 _static/sg_gallery-dataframe.css create mode 100644 _static/sg_gallery-rendered-html.css create mode 100644 _static/sg_gallery.css create mode 100644 _static/sphinx_highlight.js create mode 100644 _static/styles/bootstrap.css create mode 100644 _static/styles/bootstrap.css.map create mode 100644 _static/styles/pydata-sphinx-theme.css create mode 100644 _static/styles/pydata-sphinx-theme.css.map create mode 100644 _static/styles/theme.css create mode 100644 _static/vendor/fontawesome/6.1.2/LICENSE.txt create mode 100644 _static/vendor/fontawesome/6.1.2/css/all.min.css create mode 100644 _static/vendor/fontawesome/6.1.2/js/all.min.js create mode 100644 _static/vendor/fontawesome/6.1.2/js/all.min.js.LICENSE.txt create mode 100644 _static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.ttf create mode 100644 _static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2 create mode 100644 _static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.ttf create mode 100644 _static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2 create mode 100644 _static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.ttf create mode 100644 _static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2 create mode 100644 _static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.ttf create mode 100644 _static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.woff2 create mode 100644 _static/webpack-macros.html create mode 100644 api.html create mode 100644 genindex.html create mode 100644 index.html create mode 100644 objects.inv create mode 100644 py-modindex.html create mode 100644 search.html create mode 100644 searchindex.js create mode 100644 sg_execution_times.html diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..185ce8a --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# 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: bb957b2f2e741c69e1ea2bba0aa139c4 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/_auto_examples/index.doctree b/.doctrees/_auto_examples/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2558a02de7b03ed38203a44bd7428dff4918ac1e GIT binary patch literal 9314 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 literal 0 HcmV?d00001 diff --git a/.doctrees/_auto_examples/plot_read_trc.doctree b/.doctrees/_auto_examples/plot_read_trc.doctree new file mode 100644 index 0000000000000000000000000000000000000000..87bc741795508166b50181b74f0b1a23820301a2 GIT binary patch literal 387021 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 literal 0 HcmV?d00001 diff --git a/.doctrees/_auto_examples/plot_trc_to_fif.doctree b/.doctrees/_auto_examples/plot_trc_to_fif.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8bd5fa989a04b47356bcd5236457ed637defad6b GIT binary patch literal 16610 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 literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.buffer.MicromedBuffer.doctree b/.doctrees/_autosummary/micromed_io.buffer.MicromedBuffer.doctree new file mode 100644 index 0000000000000000000000000000000000000000..b5fd8780a97720b1ad7c61291b9af2652df50315 GIT binary patch literal 56809 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 z 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 literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.buffer.doctree b/.doctrees/_autosummary/micromed_io.buffer.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a28c04d4a0fdaa5ca649fdd2ce6f6336da1c702c GIT binary patch literal 5349 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 T(7e|zdj_O)JTpB<+VA`yQ#1@% literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.doctree b/.doctrees/_autosummary/micromed_io.doctree new file mode 100644 index 0000000000000000000000000000000000000000..48552248fb791cec1b303f2259873441d3be7284 GIT binary patch literal 10881 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 SDDF{Q1lUPjpyfO1?fxHizM}#F literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.header.MicromedHeader.doctree b/.doctrees/_autosummary/micromed_io.header.MicromedHeader.doctree new file mode 100644 index 0000000000000000000000000000000000000000..33fdea3868a377986dd7dfcb511222a7abdeaabc GIT binary patch literal 68345 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%0DynC{m~8+B$<{Sa1?Xnr%@ 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

ryX~3rW0(%noI$xS@z8agvW<)j6(T=mtAoX z{5jz+R8r!xBo=>JC>~#G!jy$gkEU(YUtoOz`e!V^QHRdPV7CT95!^ed?wR!k z&S__Z)n@Zl2e%;^<#Yo0g;a!L$_8-wu)bS>nk?o0O|u>@Dc=RSdZ&1m+*Q31BiBG9=3Q%RNay)jB1Z1s*Q!cGWnYm@_}z% z9|?YIT9&v1V;oRO#cAUKneZY#Y(-M%ae={W&Gn-EQSigtJGTKGT80b20=IgQ0KCJ9 oNfO0tqhc1rwRW>oZ&xvA77_R3RkPy2Cgu(Jup}TQT8oMVO7V=u1406%fP@er0nflY5)v2j2axy!@SW=JnV#|ZvJWJd#-6G= zbvfsJ=jt~r-~a1lQ}#zMC$aFuqiyDSVdU||=s7QP(;g3%dDlGiE%U%^>bhiyNt8;L z8$AUISNMS^d1ziWdWp!DA0*rP{#wFa9P3rvB=V05dx>4MQ$>4kLN6Q!u#YM{F z;(5c{jD9Rz+?uc^s!e5BDxMWvL$;gZ7K96p)u9X4kt`Oa=joST%yr!Oywz_bJAVFd z6e{M2Nh5*G8bF^b{g|-Rh}sP$_~31g3>S8~AM?iT3?b|PkCSs)fw|9SI?b44r;3+k zaR;h*F0T5LTz4|ow&VUT0RnmoJH%&+WMCDy_AeDOx6-b;QE$XjMMYoV*l5Huayh{4 zHCp{fnD*j6j&5vh6jD2rCgUIXyp*&~XIj^fdckfIGx7;@vE&Jt_qicie6e_=xG5mJ z{fd2SRi-WJyJc9^?&cWBt$YAQtybjqCq8sWMu!s@D&%ud?h&6Uo}*vbh0RB;?(V$_8fomE zbO75E=1K$4VlULw zao^}_+}{FAhL__H3G;W*#%~dSPZxg`&xUmv{lq!J&>$Zn(jG#G5r5J(j1;1R(KB?l zzKk(HiUZ&Em3e5F519zu+UZR-naAovUCy6I1!#ajv zBNV*94#7r+U!Emg(f~q~_!s;lg^*vINBka$eg@y7k%`>#HH}D~&K6#@17$qq@$8U<; zy4NmEO<7;@`;$}adTDg~&^vS=r+qg4os=qVia(z38@eCD8D|Mm7w$p)rELD)k7D1& zJ%IR|_`CQ=Q~XnJOt9!N21z9!j4^kwoFk3gp1YqU$y<}|u3TUXth&2s>CS-E)j|v> zqxrg?yf`q`?hEvwQ=u@yTE#c>_uqY__g~16&L;X1tPT0W=|p;#k`RNU3qbe|s2`34 zR9`D)Ta6$JJ6W>B#uJ7bIy2VilkwsxX$Z22# zm{*dQOY8H}+XX*#gVf_~KgdhNPn;8ZC&oOzecrADP+7WY_((n4>}qKKZPV<&WB+nJ z*JDQ>kCDiI;lKFNvz;JnAt2XWW{X37okv4rSkppq-8Tq$*Sp_12SvG@yI;5DW1=2H zVN>i469m-lTUn8Yv?edDhpVNsnH2>$X>uN#oXJcF_j2+SaGcc@|vU7)TD0bf%T^QS}SBM9o zED;bNB?z#xGUTtjW7rmmtaY=ccm#P@(wIFTbG zs(OiBl{1{u(>{Q;=%EMU48RA$+6f=HlOcnTZR%w^V_{9|A5O&yPrb-Nw*gcu$m>yo zI^~@fC9ZPr`-z`{bJ_9ygi2p9lE1Q67zGS$0n8*Y18ZS8bTKD$3P-5d=^HLVPs3Uv z59u@yD!&ZJ165^1Ky;NX3&?@z7r=iH6~~J!PwS?E^sRDBgp5lx?!`cogi{q7Gv~HSD-`aLh+fsLCRKy*nNOrz_INo z+a_`D2abWB$o0cEFi<##HF6b6+8U$tdj#GfVwp8k)AzstGrbn~V8VSoL2#6F$NHKJ zsso3kgbWZ5*%S zQGk|$XNB`dXeGz3*G6Wub~2`MT6-{{^p-l&n6J@f_PzT<*m(B`_?757O;epqM0Vjg z5gTav+I57oJ@j9zdBs||@Ii(!=ne0&B8C;w3jO2+Rk3+Uadd4OarAxfWu|(uj5;fZ zMU?MZ5QJ#58FDTKT_*4H3|WMo1xkA@wEIR#uZ~R)sOuwS_2O20(%Q)Rh!av#V7fMb zR=$G34A5aNq$)rY{es bE%q+wnH#X)q5oIRd*q~Ze?~b++S>jfmh0i= literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.in_out.MicromedIO.doctree b/.doctrees/_autosummary/micromed_io.in_out.MicromedIO.doctree new file mode 100644 index 0000000000000000000000000000000000000000..59d44afcd1b57ad7f04cb3fe281680c93fb8179f GIT binary patch literal 39018 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 CbTeE4 literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.in_out.doctree b/.doctrees/_autosummary/micromed_io.in_out.doctree new file mode 100644 index 0000000000000000000000000000000000000000..1b8b7d17c8f4db7a377da8dc56278ce62bd75323 GIT binary patch literal 5327 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 LBbQF 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 el?|6%-}VxRd}c&(-=%^82OSvU<1PtAY; literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.tcp.doctree b/.doctrees/_autosummary/micromed_io.tcp.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7a8d2981eacdb2a15319a57d660cff94a14a24ea GIT binary patch literal 12832 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 NAXI7Wd&B1H{{W&ZslNaK literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.tcp.encode_marker_packet.doctree b/.doctrees/_autosummary/micromed_io.tcp.encode_marker_packet.doctree new file mode 100644 index 0000000000000000000000000000000000000000..200d120008fbcd818992af490d22632af7b85aee GIT binary patch literal 8954 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 literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.tcp.encode_note_packet.doctree b/.doctrees/_autosummary/micromed_io.tcp.encode_note_packet.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6ea9c15240cbcb8ca0cc3f8606865dca7532f941 GIT binary patch literal 8800 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 Q-lD3%!Y|MY-fcGi7ndE2#{d8T literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.to_mne.doctree b/.doctrees/_autosummary/micromed_io.to_mne.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f3144ab306b4beb5ffd78db8e0fe41b6eaaefba2 GIT binary patch literal 5706 zcmcgweTyVV8Q;6znc11!_uMV&-6gY1k_*Ys7>RJK$3;94^vphr9j3MN zhpC3NB;BI#B_v794Oo%@h~JHfh54^#FO6r5A#)ED9}!M!TAGb%D--MDx>yl6#G<%q ze%u!jr?1i|;;Mfn)j_`$ao3k8euLGdpR?F^SgK``h9Oha3Mm(sWbLU0@;!V1ayk?X zrr}2(pVZWtYgjx7dBhG>_Z57f$M;2iUn1F{9_3q!ZkeT+`6@GC3Z<6@{2Sepz1eM< z`C`7g`-DBw9O#Ut;$^Wr6MG<@g>qrCHf+Jhip8SFo_X_)!phy8Zdc20Aeq-?k=NCV zMaf92uD1%&N`~N|?a4QJ+&D^HBaO_O=k}mGT z^v=aiU(;(}OKahHxIhr_|b0adP=_&zs5cY@tni5(axo%qS}?$BHLh9rBEH@%@rVaZ^Bd_m?cM zO_dIn@7CR-{p~ce$s#Ekt3hUFa4&8KR=fHYT)k@JWka)J8ZhO!GH{ZZ*O@pkbe1f> z*?91ycVB(y!-J&V(2HtgPFM_oTkG>crsAjK$qLX`H()ZLiB zw$O9iH1$}?G_LugHLInWgI#3JuR~P9df>3!z90g)qj&0ud@1_8N4WG6@j1B z2~f2fN^g3KQDnJAC67+QZGodi`-CH}m)sa{4}mU+`+E=1H$nGKWfof;ZJs#)*xiS@ z6&B1&%p*#k&IDDf&hTH03fl^N%@qqy?`@kepMO&}3(|j_9i%8Z_I`6Yo@S;QPj?}I z#_JV|6#sWv?qgKwvrW~66o{S7Jar&KrHvz!*=>7f>Jx{x{T)&o_J6 zGV+(F>6-XLO%wkrYR;d}L;eWX`y=A+Po<|90YCHn*Y17he6npm+u@me{^xA>ocBW# z`=^E2|GuEu{7k1MMg9T0`Tcp6ewQb%vniP+%8nU&K#=?;upiHpG}mg09}QMC&a*I^ z7x4p}{>A+1I+Ae2L%QZYAQqi1>4bW`pPBXAEsjP!mXku2Y!}cROIIsi@Ac2Cv@3q( z2C2tKevtRx-#RDCFA`s@-un*rZ(mwi_#k6uIb;)$$EX_L{VzUdX&lHQBD&?W*iJ74 z)4|j;Yn!2r{g-iAT;IQie;3f*{tFg;PJJ`;-V%3a83v=lu9mwr`|z@RpY7Hu5uetMl0q{X(Qsije(($buB+EnUVmWvb&;X9Ka0 zggWM!nwXY~vMa^`j)o(QvAB|7=-`$EEIY+ARRLD3a5jf#GulNj`H|TgNvR`=4rd0w zf61)UaEgA|na~uG0kTF7cZ|l+_R$H5UC$vr;M7?s&XKQ$Q_hCCt2j^$ivzQwcr2B6 z0)EJ$xXY#^SWqn+W|L2R=u0!5CM8nCG(0{`$GC2d3J;ZN(B&)yqz%QpocKm*TJs}l z$KjDHsgR?vrFyh`dpGg%`^L#lhbtwOBQR7291~uXSangG)^i=#s5C5<%-o#YnIo}( z2p=|UIo%l#<>?zIH|7qT4U!>&q6AbF*g;`6V9_{bV-AgbD94xaieR3}drk)d2_L~V zG^q|u)0NQ(VnQRn2QNipm}H`9)+qfrGmyFL!?9L9j5$u_d{C?f`0zUwG33pGS+|gC z+?;{pgr}Z#Fwg*N1C4=9xKlrAy~Nedp`ZAg@yTo&^k```h9?tUOd%8Mm?#<{mfh=Ov?Z;9nC|SN834$$Ggve z^)={oO^w_+@&uWYf1xB#Q#-lr0arbr>yf%3Tl8gf6FwO_Rd`kc zU@jvMIW`-~G}3J12!AXBeBr-KRLU~5lHhejJMW~3>ja8=#;)_F6G)d8b>pTh@Cf0; z@OivJ%T|RreSpE^*gjg>m#88S9K(C0>qjH_K$#e}C{-lsa1PH8$$9DR!bT&#D;;F; znQ+KGgzywB2#$X6*j#ggb>MLHpn-$;HA=CT?akta49*&i@`QG57I}0??^9+uPbY|9 zxFX(pd<2Ka5Jz36eVf_@Q*bSf%!=fVa!HBXY@LASFIE79+NfGk`%I5rfVT*k|K9%| zVtoHQ_>-76fvHg@B)f5(h#kBt*?p9gXp_7(e&tlGLo$z0Rs(75#r+1fiN7Ldm7X%k^D{P()ZLyfhr*HQ@y6)j42=-9CZV zE^oDzwocGTolu$z)3te8#SRKHQlBeRN^F>9&=Usm5cmQrZtGqF{}A?jKYI&djQ2Ps q1iWS@aNPXDDg&MXU#Y;>_pTJ(7<_$9Pof=Vgc^+POxH|v`fCRt?2x=jV#Nl{2JVZMCw5=pgRcPyB(=I8dMOrFJDaBzW zRdTt?PQJe%(>=4ZJu`ba0A>YMxZUmP{`>F$@%8(k4~%@~?r*JP|Dw%7+i_c`XRUg@ z<=5??7md~ZTDNJp!rtS(y&vp7+?$HVJJzYd?{;c-FIt5hHOFn#J9evge=nM(?4jET zW<~k+fn5t-zZDmEMx0S+{r$ZuXFM7S-LPS6kD@D@Zmr`t?fQLH*PjhLwb|Q6!d-VB z?NK=tTX&azn)p$O;YVvPm^=@1Jn73*tJN5$Q=|<~AYmpxHoXyTo zXQOk4v)0)a&F^>6y#1YSt7UigpYl5=_sb^lbN$43uo~>=Ebgyb-OvxZ&8F2^iZf+2 zdbSgwp;sPT)17x#MI&yjZlBiV%SG?J1`Ts|LzX{=|5xGv9{k@+jf9*!E^FEp#N)OW zp`Pe!O$U`JCWngKsz|;C8+&`v&QwxTd85a}p4D}(arP;B9CxmS)WPaHSX-@+(xnZo?*d&sBo3Q+cTJNZSgXhC4rd2R`>Q+aYqB89A%f@rQMLfS@>265%F)lByrxk`XJ=I;HO++D=D1MESbq1|b?00m8~yNs^F8JB(+ z6VVB5OA{a$W97)hm{iGOt7-X+$#POSDnUu+$-$C|R=4`C{ud#F&oVpO#+pqPx4W%c z*zNQ0)pN39d{Z_4hN;GOe~nLz8t>vAA`Eqa1AloiVdq4q`%*(b7n7afNS2W9#kYgHe%XvBjt9WbI7O%TfZ^BxAMy#(|}qXUiDdD$6_ z#umDb2E#Vz(P*L?`ZeMu40_(pq@hPY(!)TLQbitO?5MMgGXw^2B>P~9#e2S*-wO2+ zwmw82r&ca@thS^1dUWugSs04WRpz8i&7F8e_cymy^}Au*+uru}69S!gMC(OS$7*Q&diPQdGloT`U;>Wp z<2aJg8l>#qM`U(-_u#{1O3^3-yIL=rDmt)+N?92Oke-VQlvl+7NpNVNZa3VT3wvZ4 zPFbB+5*eA1Xzm0X(t&lCQIBk__EpRy&fyph0woJE4J=9a$4U0Py!X=whDj)OjJ`5c z_uh`L65pbWqzP0osjF~R3hT&vqyX?Ef}pdDkE)YaqL1DbL+4OZYYc7PbC=@=yseeG zZ8d_*DK~T~2}#iCNOo0)^DF6mW(etcJt}nNv2_X7;l&dRuHC3}WK}~)ZR*aRYd)?X ziK6Mj-^3kqJQ~PG>Pe~{&y;G%7by2m?^o$#muwDuPS?E^Co1@Nmt!-#lzC<+w11rQahgRgxGk3^kl8Xq^%#yO@>GF~O`VZ94rU~u30gl{ z2cS(*ylfyv$@nNnhkk2OW5fFziH?KwcG>8JU^JZm^HRF`2G`A>;==^Twbr zpwa)zN|73s95uGNy(NKVYoFMprDZ%(2KPUyZnivA99E>Ijf2zwQJ{U_r#fV#v>{1q z1%^cNUnpxr6kjP&!5{JpzFZ*dvpg%gOdhCzp0dWgjG_gcaiKr?s?b z;wH70CcA$vNoio$8cwtrunU*JoC?Lfp();%^vVwo^o2og&Wy$TBaMhKvOm_6qJ4wu z_L<+r1fx0S{fSN?$4k9G(=vP4Q7a32=Ugc<3h#Ua3YGKD%V7qGSSjxZ8mni~Bkw5H z5Ha!)UD;*e?)Cz05+2DLQpO{x`TGl0AUyJ#0$GJel0}#E$Q=ofG`HfHpetmTqcZ7h zK-l#)znNI$$CAd*-McI8j$gB}=v}YOFI8IIW_t;XdzIb0C8`?paPLNiA402woQWOb z-cKW6fK{^S*-*zwgk)@{@-1-oHv$8hw0a7GV2k zg|l_LhHai|-3qO$ZDZXG8yI#tcW~~ow%>3B8wyyYk9LU7AuN#3YL9!-R_#|6Qc7&; z+;c0;jz&<~bxlm%%y_7v`U>$;;XGi}r5A8)t8RA$e{mVB(Wp#etEPgnb?DQ^#a>!; z4l#n0v#1I$nIerPEY|3WiCgWkQgg5!U}H$m>c`H;g5POcVP&dSm5*jBt!iL3+YNi~ z!~~V*WO;e2PyVK7*rYjWcLMb=PN1jQc(Ao+;wL=`7CQC=suZh_*3l`sYqx4k+|Fs= zEG1-Nf8)_;xY+T#ZOuveBN{Ej%Nr%_b__*Mxpge=9-AOjeU6*zm+*n^_7Cup?EeRQ zfJW)wK1yJ2Buov{72j(+{;A9cjnHnDKD6g$l4HVm(Fz7udFD>&_N0uxa#)&5)^=KU znIn8TMXi%~-y^}Gm-g=0I>a~?%N{$jDQQFN9}rKnS;KoD%Cq$h?;(719`zn3f``gW zG+x)Z@Su+^WqdbBq$GVY3>jYwN$>@bmkX5oHu9j?`zw~!dkG&&mr7dmB{yfIrR)I* zK36^BWyIe=I~%Zwa)GL42ilT1c1;M_JVN>w*Tr9QUHtbxT}y4Z`_bpZ~# z81l^JNL53g`$?4?dEQu{lyHn|S=L<3J|d83$T61$sO6GTIM$@rzDjV+E32-R#<8D> zaf}A0Y+P&{C&^s>DD_EFQy)snRG`$DEUSUiXN_|_=Lk{5px-3TaSZyI0;L27J;t);V$h*mOV8FM?hI2@Va;>Ys#gite5tHjRvK%r zPhbu2oXvwI@*AG7A8-DKRMm$!GL<%^S@Da*@$y>9^!Dx zUFb8emvY3YVa~|97;|1MP)cCVw^-I(%$X$2Q7b$WPtwT>E4C9iuM(`d2yH1izvALt zX{@**ffZt1EgvjI#(uQ8j+E7h7BUrRv4PM+6xZP5dZUudz{OmShz)RYD~c`~F81WX zg>3uL$k5OJ~Hq1w-mfSBT*fKd%zRSSTyd zl}3y=B@lzHw&&vo%hrz;5hoAcbx}kjn>fycMo?Tu^IRKyv!Hzk!CvDuANt?G;kV{Z>Oj4E_lDgY5aBu z4Sk!;;Wx#+-{jfV`5GZTy5KmQ+|(PqPp;pKGG*wCE4cQBb1}G) zIm}k9qhHkQKQ44bvME!}%`zc+>UMQmcfi?_DRIOECyGMb>U6B7nM&KOoy28^M{wH+ z#~o(hhQl1Vzj@qm*_G?r$4upUtt|60q4$0>@ywfLl6c-#IPYU-;+dDrBylC6@!0pcjNoYdX)o#OiG` z6VKLpQO;j$CT`?BL#@=IYid1Urd~j;-YSqtT%KFU>KF=4xKL6EVRXn`&A-*$!fg2o zpIH@cjc>F2ZQQ5C`Bv=^WVHHv2{QPm0Onp}mC4)44;9(z6$JvOzwj^3#IrF% z5YM&oXUxR2ZCnsn{lYpLy>kI&00(=hg!P=cN=<~y+&2>z7*VtdKQdM^03$eY@3h{85jM?}o+ExKOBh*i>RP=I zrJIru37m;xAt8G<+7AgbpKRDzoS@ovrLk=TAmMTpDgp^JX5!h9Ac*He!kn3SwgC&` zLqfva%vGLKNO%j=K_N&eD$xaV^Gp&g1PP&$z7Z0NHsPm@RSbXxPP`N(e9~CYFp$8R z7!ndL8L$x5hY1rZqeKNgN#Vj%#s&_+gbfe;{)!9O&s-G58_@bVwO}8i>8SiwUyAX;K)j)?JOa=;V-&1t5IQ-X}U;@ z4X0pM`qbGbtGv@LY>#Tw^+MPvp?E*@f_Et9UuP&LKSV~+s5tK}B_t6d;}jLzr}=it^mGMVWpYz44v}%oEw_q$(L5Vj4BwN)4Q-UAtvgnf7HwxL zew#w#SPfSGrb>gh@?c2f8Z{Nh?eUIP3ui00Er`86x=|$WSyvFMS7x#6voRZDormm} zmiSoRa$$vYjs=8N^{9aQgc){vmtA2w<+t{Pm3g~@h->hK5P=QA5$zvZi}oyw{G(OG z=ANu3IXx?06Zj0^O1y%*Q9-~OEOsqVIaX+cfl3!4gs4rZfW=sl@W2~>94l5}9yigK z{4V@;37ge^U{?^g)o&omGW-~E8R|aW5vOd17O2rB-w#!y5>bzi(uQfpU8vlC>`tkT zDO{%qbF~Il3PJt&f#%(;891;s11_i+;v2EEmG^+dn$@b*-GJ_@)=5v=eK? z+P<1tR@G7z8^4iaBQ-SD2FJw4)0CUnEw}-iF-lan5{y10M%UF1Kzzt z>XnUKG5ShM8^)8WGD|7xaT}qkF_bqA@d;go$8oKe@i?-DERVCNr%mI7votoy^0AG2 z%~@{Np8=khwJWr*l;DN4?PbzVIvb@8>ug&f;Hwx-FX?QwE2D-H(jF&M$;ymwPBCFN zBjIdRb8%;T^Vw0WY|C3R$-VS}&z2oSY8$lgDkX)aGm$FpWU4UBPB;_SS{Y}e3bLH( zi__DlA#lH#mOcDETSMOg4ysx+z(G?P$U$Y2rp!~NlqnoEU>Zz1D5VYSpcE_9XEc}T zpdU{$VKy@1pj2~l2mKcpuBk|;zmQo}VESY!T_s`UVi?RXFoQ8`SilIktuin|7MTSj zADx~y&O^`k9Mm}fOvU89(##vPj$~lYFOv%R-M-5QH%mi{=St~JpvAKV6!m;!hIlEY z|3y|RcY3yXjwCL9>zvi69OZ>lLQgu%C6MGd3dmnL3Kx1AMlM=_TYkwhP3a~`wP zib$fg@K-RBsF=D^Y~N7KhcL5$Dq}J8X)P^Uf2Y`m5Izw9RgWcTXuEzl*nf)RTx0o8#Nf?XZ%WS5_cO{Rsisgw z+lJW@@gGVYuPG&tq*GU*ot-FOV9n*~Voi`fSv0$9$AMDqNV?Q6v|}G@huIi}OYtU~ zog=vdLxQ@rKn233wiU=KT#5{{oJ&!l;4&^XdZ*>m8|H*Z$)8H{Rj{BB6U{Od4s{HhOlTaThP=RpZW`V52fyoidIq+)}4s344FVP@O?FY)} z+TP>XV~bZPM`&IfJGl6z6!UxFu(*GVVAXO5Qu+8b=p_;_TxqNA653y*Sjli{1Ue4s zr6hg_p_MCB*rO4#m-o(1oH%jRIam!3%v6p#huG)r>@2{lX3g#)BK1-W^Gq`7e>0km^{M&9iNJ0w z%+|Ucdf{mt*89W>8X8%RQ`VBuHniWd7p)GxNRDlfavQ)-Ek!z#o3RtH5Js>mu62r_ zTeCHXz1oT!@>EhSmkne>!r1mqCN)uhe;84IhlvvUeD_K(ovyZ41%+r%1^G>#QfBUThlM z6}(NAFd#nMaUN<`;#|EUDNeKNB*l3sDb7cAv^Bn-Kn${sc{q!xVKX=^@d|@}NS@2{ z^4oa#AaZ5hQKR>UaoylRB*VzR( zvR(c1x*^cBFmpo=<%e%I`l0y>`j;eiSNlHrqE7&pw+ii07Woe%MSr`y{a-uFhs_$4r=v`tNdSIh5Uf z!d$s_5T)RGRIQewZgu?(Q%R~D%D#lhWspSZjPt7wT`Yf37Fn%zbk;R_4p@1WcMl1P zodfpXh-JEXN}*k!>=$?XI^`FaE$Op*=l0(f5D1+P5Ql#=rJ+Rc-2`&WJN$c9A!ruo zfBzEIrOy8vU{)Rh-czUw?G&(7JPhclP#*^Vxu<}a8)#jC+;Yh%FMmleFK5On_tN}; zRL)0v7f4@12Yp{uvhP3Wo4;JHzv@zmR!>r5`cWw{i8a3eLxpyE|BF8Q&-q5TsMC*` zhkSYGDQ5qP6TY;3F8{IlTkbOYO#|wp$w-NM((8GODq~|Ru@_hD{N}ceWu_To|7{Bj zrO$6tTJh=M^E9%Lb+a9&w2{$F?$&EvmM{-3MOnu+sjAIRB=+d3KEXkO{evq^nv!#P zb0)>_;ZppHshu$6F^K9Xn5fLH6iba^%5L>ZTeb$1pmSL`$p%-cwltFT+M&d+`?@6aW5%^>z^~yH{yCxNB?zW6$5ZxG@qAd;@Ji)hz|(~k-5rq3JH%f9Tb9uq7wZTbMs6REd&Yw)=1w72}PUm2gWJ}KmsRT z3KIU*SkEw!z?mom3Ff@X14wF@#QOrR?Xm+%ih%dCNL=2Ln{Am}Bs{|2E09*|gpJw; zk_T#bWD(HL&q%(p!TR%JdAi8?nPFZSF7R@gqH0F{_eK-Z&z5QDWX{7D79EQDk>C{q zUC~1^o3|7lQ;|%>p_q+SXqPueAN_}7?s!Vqw^YC^rr(XWF4*97)aYKcJ+fD`5s6Zw-IRZdPWB1L%6!oZ7?QK zUN83l1NHR<>Ki6bpFC+rpKMr`aoQ>sB=1!dS!|}1i;L4)Qz(Q1Wg@yBrRj$PRBx4a zB1oLh5+FeV;$FvSCQoOjLx>5WPbVu7Kbm49HQv%jd<0nHoEFtA0IR?`trd&>B^tM4 z^p%wEDkUXxI!vgFPKUjNsmd%{aXO4^)ocsmbeLufyIBRvI05gTo*o3;gv3LGHlK$j z!&V|9pQuYbO+>9sJ;mL(zWuoeOG#LGRfn}Y=~a|AtXEMGxE7aWB81qcM7PIUh&H5B zm9=~<#e!My!l$U-;y!hFIU1A=SRN78-p`e4Z_+zRo24YYgKMXZcTfdc-tj0| zZ068|M0?hU9jUPo4Oc{b+0+5zG09h!BPAcg2GhG-|FM)Rgd6=nlYi2UC~a6bqUdb@ zfzeEMPAP{G@SRFkX7xgf1+#$&H==rryODd&bS-`E9M-5L`Mpw-OgiXhDDyi^nP&M5 z2jzM%$w+94ihCjJZ3- zgt;}sA*tr#4*5?YFy^6BQb;-zsbW7AOd5am8oW`zeJE) zx$2)CGQB?o`c1WUpiuIzQi>JMdI!^HvhSp{VV(7LP~h7b&1E|4$rKZ2gA>k5H5Yf* z&tlyr_2PmRiKklLY-DeH0duJA?x9keN&?Cbn9C9~7qfl^pm57711MyV98k=q#MPr+ z1x5JhDarf8nRiLkA_U9x1lus_&jWQQXGk zZpfVhc&XekNSDmNdh``=%dZ~&C;G;&9zzZ=Z_QVMz8RN|+UM>nkdz{Sx7VlR z3;k=bcg4nxuXz|jK6c;VOD|i>b3dPg-zwISzWEN_KZ1U0 zhfddz+@l+;aJpw7GIFhww5$d2(Udrwn1pyP|{c-w0#6Mlt5d_5HRy$;;lH^ zO2wk2RCjr_{S4~lX#2DDjiD|3cK*=z06`T(9oogQ_NqLrW#pEDw0)i{`0K;j@tApu zvRaDrnrBGWLt^Z&#bqP^++nPc;Ia@_aqc}!jYuQxuOM-G2)jLvu$*l^kbNHHQ~0VW zN22RMRZDD@tOHFxFH}(kTQ^B;6_Vu0no3m`@`4~;3RlmEJrJsXL&;%N9ks#GaTN=27P)qg;p99933zA;o~-_A3t1`8egfx;u$TvTP`&L*k~{<2Y3 z)W-dWIWA98K6A;%!=viOaoKZ;s-jKHLRH1NcNH}vjjEGKJjx3Q%V-X2yG zS|PkWjv7kftz-zOc{}k|9B-wvQBs;fdAzkzC&$|b`o{2=i1Vej!xhH~c7tb&;NFlL^88-{sjqcmW}d9+gwkN3F<*4(M>lfUu3$Do1c zX)0S)ED9&H?ZGnT-uu~`>nEI@SRY{HS7!!|USrx*h(-gy+o{<-XC~T)7lXHghD9&7 zuC_b=BHnWy^sopTjf8$^HG0QZMH4cQUB}NZ4ZBuHlQQ7FpmjXjC{y6|cJFvJCL&M= zy=ZIQui@RXRvbTiqv;^&0;+3hs&Yg6dgs`Gg1G(8P^-nVhyJi2JX_d^=wX-|%= zjy45$Eo^n0)zkEv>>g4Om!spht2MvbL^SOH^mg(TyJ54G>M1vLs?2ckMhR3W3N);M z-XQ}SbZm+hUv1z`T~Xryk>cNbB7QbdkNj*e|L zkupv%ZnvpLy~m)J+3R5_w0AV#4Hx!Zw=Zz<{fgwns!eZ~sXA7x-oTrxp>wpY zh6om$xtKL7BaBKf+Ld~eBH{fTctbSF=_(#%=_`^CQiY=})CL$@;6OwTw5b7xBcbn~MY=00eOTf`byVJ57q^Zp;g;_SKUnR8zyIc3Gr<-I?TkO+qyokN3 zmt79Ssp&uCFQ|+la;lh{evF3`94HY}Ey~fyTknchEOfg4Yc& zN3>h?KKD9QzM*5Cf~xpWnCMn=E?7=$5r)`sn{L>d=P~dg%sAMCh z%v<1{JR`c)3Bz_Uw|_s9gW2{{==iN!zq7c%7j37Ui~;1VhBmrwxLYq8L;Aj}4qOX) zPIeY*De{z}$X_kVQ^Y+oS-ebP*0sY0RtLO)zY{hasBAp6=HW&4(CHl;i*~^#o7LDo z;|5d%g!#4+7Jo~y)C#TBRmWX)8u$DG>a~wDW>+x%DYXLSOf#D*8il956%I7x8 zcpJV&_d19(f+W~XbKb7Qg_ppBVEZRzx347`N z930cmL~HHVgT3S3`Dl#83H%qPh7U{#{|8P0evNeh0YU$fbRV4{{!&~T7dun literal 0 HcmV?d00001 diff --git a/.doctrees/_autosummary/micromed_io.trc.doctree b/.doctrees/_autosummary/micromed_io.trc.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f67dec27127478dc0fc707354d3a2fc0a8e97627 GIT binary patch literal 5280 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 M0?CMNr2WJH1E9R_ng9R* literal 0 HcmV?d00001 diff --git a/.doctrees/api.doctree b/.doctrees/api.doctree new file mode 100644 index 0000000000000000000000000000000000000000..717f47c274e42c828a4422180f0533915058a046 GIT binary patch literal 4334 zcmb_fTaO$^6<+V|T=#Crt4Q&}M!7jkb|#7P0E@B2MM7rr1VsoTl&DkFT{BhQ?ygQ% zwRc9A1v~_?sNT}N^AnKxNjv~T;t%iu->L4N?HOmCL}aD0yH1@tb?U2gzH{ogtv~&3 zf6f27J(CHU&IT-sQWbGixNfAvJmIM=J}=(w2197?tag7j6w2p^$N;d0Kp2 zxLs1WGB$&1eaG<7N|i2_i;ZOj`}Zs!L-e{lREpK#cNeNu$p<}dh+ z99W(HtSCKdXAJtb5C^UoEF2aau3h;#a+|SCc`?ez%=MYIT8?vz^U--WWMs(qP8c&| zAjEeoWl8zfjq>bjFlOPo<`dG%UB|L1O%-BKyd<{89kC&f-1mnEe)Oa-a>)@U63rd@R=7zGdS)W;zH}9GHxU4V+2{#kb+Uco`7A zg5PWSy@B7GaDUV5yZw)T_2k{BPu_c4|6kr}tQHmC2KY>G^$l z4~X4i6-KzVL1Vgb2aQpH^DSTgt9|^{SOrq``wuJNjvst*oTw;|`Jj%8*6Q*Klb&na zsaARR3|tg(9f0{YvFu{Wg^a8y&iVx3&j8;8+|a`^9qM?#{xTW{e%&-c@jq74{252# z=Z01n&&YksAkOs{F6ki&*i^GjG#0v7PqX={8b3Pyqyg;ly~g1FCm(rC?;_^5GoD5= zodz=mdDF}*U%^a$Go4sku36kzFP`{JK6G1+jf*OMf#+|^+!^`sVM|cnb(`K9x1P-l z*UsiAI8DKu;ZC4Fg_Sw7dueS`$+dALBwXP(kZJ{3jD`u5X(9gTIvCk`21eT;^KJ`c zKFeYmN?ZKFPhT*d7MHFEJj+llMy`v2XAOLlLCf@%TP$xLlia%iF?{p6c6I}&Hi*ST z(Y^xHG{NN80zz(mDvrdT!8l|meI9zG979QBvt%Xkbv<^s9$uHPhhIE*<@8^hPG5hE zwbQ4S(|`GjPCp-pDNYuBnWZt5koVVHa+^dh#o0PJ`4edWc-5r4-Qd6DSf$gF#8@*> zY4s1W`u^(brjqN;lK9kQjEZnK)7)_Vn0tD^hqYBL5`YPOEWYRV8XE@|Sx{H=1%0id zoT<=i-mJ%8R%faMqeZO)mlw=+h`OZL8;Sq?9+GatW)aUotv~%Q z{@ms?R%4`6CuEs#8b+>CzRx6qrvJD z>L-qy6ID$mi+xz!C<9fzT^8!=Lv_)7h_~GfRw-g33XdzhrR^%! zQ=k)|`&3j2Q73XcIr+|sk@&u|JQ;AUl@0_;qnK-8O|FKZ|Gg69hLx7LQn;g)nH3X{ zzI$VB&Fz+UuY9Oi-&vkmS?u=d42Uu#08#9zVJBwkG-p!|#3N9}I@)x1OY>0aC_w5V zMz9Sf<;b-|l}>O>AR;3~DYAN2h_>6Mln$;$Ze1dJDoD{;K=QH zi4SYK{wq;tcpj+$6b7w*)LCVC&|K-GB(%X}X=E9kdqE@(HH656%$yE~5Su|Zw?d@@rKiKf-6l=%05k*36I_q=%+0ft*WP&_ zc<$;+xMH3pSLR=@%_B`2h3q-k1Ig{g?}5}G3Y)~(tcRk4Eb<*|*Bv1ylVFjaiv!?E zK@oE4_RT!CY!(PP6)}E@-%Tn_h1)i0>TU38j=VMi>Xsju!yr~6t4RMS6lgs|Tzr{t zK-oix)#vELFa4{~KlLgexJ2}*P^J^aKuruci7L>`tmw&vf;U#I%tm^~ofn9iWXvO^ z@Ek4(j+X1v-43C39&ogDaexObQLK0Spn8HLSmQ}aXqRq-r;q75=(;7HAb$~x65TJ7 z!{Tj1jhuf99>6Jtmc_Fc!pP9v(_tJZb~Sqyc8FmjPaISQhi}X zxX|t`srBkzy``H=_CdAU61U%8wN=fawt+oDl@m9hIYyfl17yI7qSg6PCI1`{d{%sj tOu$11IfeJP!QGb|E=XiaytNSf>)Wcj5roT>9`XH%c&?%ZD%<&Z@IQugk=XzM literal 0 HcmV?d00001 diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..fe2cf1accbbb03ae2288f961259edae440f891e4 GIT binary patch literal 976063 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

wFME?dkhih>11^@d==4ZT0p}G$$Cvd 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 A%m4rY literal 0 HcmV?d00001 diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c8eeb7df8e6e683088e776f40082cf1c6d7dd02f GIT binary patch literal 23826 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 literal 0 HcmV?d00001 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/_auto_examples/index.html b/_auto_examples/index.html new file mode 100644 index 0000000..35cd802 --- /dev/null +++ b/_auto_examples/index.html @@ -0,0 +1,468 @@ + + + + + + + + + + + Examples Gallery — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + + + + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_auto_examples/plot_read_trc.html b/_auto_examples/plot_read_trc.html new file mode 100644 index 0000000..f7c05bb --- /dev/null +++ b/_auto_examples/plot_read_trc.html @@ -0,0 +1,865 @@ + + + + + + + + + + + Read TRC file data — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ + +
+

Read TRC file data#

+

Here we read a trc file recorded with a Micromed system. We access the header, the notes, +the markers and the data.

+
# Author: Etienne de Montalivet <etienne.demontalivet@protonmail.com>
+#
+# License: BSD-3-Clause
+
+
+
from micromed_io.trc import MicromedTRC
+from pathlib import Path
+
+fname = Path("../data/sample.TRC")
+mmtrc = MicromedTRC(fname)
+
+
+

To get most useful data from the header, you can use micromed_header

+
print(mmtrc.micromed_header)
+hdr = mmtrc.micromed_header
+print(
+    f"Participant {hdr.name}-{hdr.surname} recorded with {hdr.nb_of_channels} channels "
+    + f"({hdr.ch_names}) at {mmtrc.sfreq}Hz with {hdr.acq_unit}."
+)
+
+
+
MicromedHeader(surname='Test', name='Chb', nb_of_channels=14, order=array([ 32,  33,  34,  35,  36,  37,  38,  39,  40,  41, 170, 174, 197,
+       198], dtype=uint16), acq_unit='65', min_sampling_rate=2048, nb_of_bytes=2, header_type='Micromed "System98" Header type', stored_channels=array([ 32,  33,  34,  35,  36,  37,  38,  39,  40,  41, 170, 174, 197,
+       198], dtype=uint16), ch_names=['x1-G2', 'x2-G2', 'x3-G2', 'x4-G2', 'x5-G2', 'x6-G2', 'x7-G2', 'x8-G2', 'x9-G2', 'x10-G2', 'MKR1+-MKR1-', 'MKR2+-MKR2-', 'MKR3+-MKR3-', 'MKR4+-MKR4-'], elec_refs=[ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV')], data_address=648170, recording_date=datetime.datetime(2023, 11, 6, 14, 35, 6), notes={64: 'TCP connection failed'}, markers={14144: '17', 57881: '17', 58401: '20', 58919: '32', 59435: '40', 59951: '14', 60467: '101', 60989: '3', 67537: '2', 68577: '1', 69613: '4', 72695: '3', 73728: '2', 74752: '1', 75776: '4', 78848: '3', 79872: '2', 80896: '1', 81920: '4', 84999: '3', 86035: '2', 87069: '1', 88103: '4', 91183: '3', 92217: '2', 93248: '1', 94272: '4', 97344: '3', 98368: '2', 99392: '1', 100416: '4', 103517: '14', 104035: '102', 104557: '3', 111643: '2', 112677: '1', 113711: '4', 116793: '3', 117824: '2', 118848: '1', 119872: '4', 122944: '3', 123968: '2', 124992: '1', 126017: '4', 129099: '3', 130133: '2', 131165: '1', 132201: '4', 135285: '3', 136317: '2', 137344: '1', 138368: '4', 141440: '3', 142464: '2', 143488: '1', 144512: '4', 147585: '14', 148099: '101', 148659: '3', 154613: '2', 155645: '1', 156672: '4', 159744: '3', 160768: '2', 161792: '1', 162816: '4', 165895: '3', 166931: '2', 167963: '1', 168997: '4', 172079: '3', 173113: '2', 174144: '1', 175168: '4', 178240: '3', 179264: '2', 180288: '1', 181312: '4', 184385: '3', 185419: '2', 186455: '1', 187485: '4', 190565: '14', 191081: '102', 191603: '3', 196829: '2', 197861: '1', 198895: '4', 201977: '3', 203008: '2', 204032: '1', 205056: '4', 208128: '3', 209152: '2', 210176: '1', 211201: '4', 214281: '3', 215317: '2', 216349: '1', 217383: '4', 220465: '3', 221499: '2', 222528: '1', 223552: '4', 226624: '3', 227648: '2', 228672: '1', 229696: '4', 232769: '14', 233283: '101', 233803: '3', 240064: '2', 241093: '1', 242127: '4', 245209: '3', 246243: '2', 247277: '1', 248311: '4', 251391: '3', 252416: '2', 253440: '1', 254464: '4', 257536: '3', 258560: '2', 259584: '1', 260613: '4', 263695: '3', 264731: '2', 265765: '1', 266799: '4', 269881: '3', 270912: '2', 271936: '1', 272960: '4', 276032: '14', 276544: '102', 277056: '3', 283797: '2', 284829: '1', 285865: '4', 288947: '3', 289979: '2', 291008: '1', 292032: '4', 295104: '3', 296128: '2', 297152: '1', 298185: '4', 299693: '16', 312960: '17', 314560: '3', 315584: '2', 316608: '1', 317632: '4', 320704: '3', 321733: '2', 322767: '1', 323837: '4', 326912: '3', 327936: '2', 328960: '1', 329984: '4', 333056: '11'})
+Participant Chb-Test recorded with 14 channels (['x1-G2', 'x2-G2', 'x3-G2', 'x4-G2', 'x5-G2', 'x6-G2', 'x7-G2', 'x8-G2', 'x9-G2', 'x10-G2', 'MKR1+-MKR1-', 'MKR2+-MKR2-', 'MKR3+-MKR3-', 'MKR4+-MKR4-']) at 2048Hz with 65.
+
+
+

If this is not enough for you, you can look for what you need in the full _header

+
mmtrc._header
+
+
+
{'title': '* MICROMED  Brain-Quick file *\x00\x1a', 'laboratory': '', 'surname': 'Test', 'name': 'Chb', 'date_of_birth': datetime.date(2020, 1, 1), 'start_time': datetime.datetime(2023, 11, 6, 14, 35, 6), 'acquisition_unit': '65', 'filetype': 'CFRE C.R., variable EEG, variable poly', 'BOData': 648170, 'n_chan': 14, 'multiplexer': 28, 's_freq': 2048, 'n_bytes': 2, 'compression': 0, 'n_montages': 13, 'dvideo_begin': 4294967295, 'mpeg_delay': 0, 'header_type': 'Micromed "System98" Header type', 'order': array([ 32,  33,  34,  35,  36,  37,  38,  39,  40,  41, 170, 174, 197,
+       198], dtype=uint16), 'chans': [{'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x1', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 0, 'Latitude': 90.0, 'Longitude': 108.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x2', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 1, 'Latitude': 90.0, 'Longitude': 72.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x3', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 2, 'Latitude': 61.79999923706055, 'Longitude': 130.6999969482422, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x4', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 3, 'Latitude': 61.79999923706055, 'Longitude': 49.29999923706055, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x5', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 4, 'Latitude': 90.0, 'Longitude': 144.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x6', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 5, 'Latitude': 90.0, 'Longitude': 36.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x7', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 6, 'Latitude': 45.0, 'Longitude': 90.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x8', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 7, 'Latitude': 45.0, 'Longitude': 180.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x9', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 8, 'Latitude': 45.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x10', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 9, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x03', 'chan_name': 'MKR1+', 'ground': 'MKR1-', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 0, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 64, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 1, 'Description': 'Marker of the first headbox', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c\x00\x00\x00\x00\x00\x00\x0b'}, {'status': b'\x01', 'channelType': b'\x03', 'chan_name': 'MKR2+', 'ground': 'MKR2-', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 0, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 129, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 1, 'Description': 'Marker of the second headbox', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c\x00\x00\x00\x00\x00\x00\x0b'}, {'status': b'\x01', 'channelType': b'\x03', 'chan_name': 'MKR3+', 'ground': 'MKR3-', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 0, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 194, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 1, 'Description': 'Marker of the third headbox', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c\x00\x00\x00\x00\x00\x00\x0b'}, {'status': b'\x01', 'channelType': b'\x03', 'chan_name': 'MKR4+', 'ground': 'MKR4-', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 0, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 255, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 1, 'Description': 'Marker of the fourth headbox', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c\x00\x00\x00\x00\x00\x00\x0b'}], 'notes': array([(64, b'TCP connection failed'), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''),
+       ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b'')],
+      dtype=[('sample', '<u4'), ('text', 'S40')]), 'flags': array([(0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0)],
+      dtype=[('begin', '<u4'), ('end', '<u4')]), 'segments': array([(0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0),
+       (0, 0), (0, 0), (0, 0), (0, 0)],
+      dtype=[('time_in_samples', '<u4'), ('sample', '<u4')]), 'impedance_begin': array([(255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255)], dtype=[('positive', 'u1'), ('negative', 'u1')]), 'impedance_end': array([(255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255), (255, 255), (255, 255), (255, 255), (255, 255),
+       (255, 255)], dtype=[('positive', 'u1'), ('negative', 'u1')]), 'montage': [{'lines': 21, 'sectors': 0, 'base_time': 15, 'notch': 0, 'colour': (9, 9, 9, 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), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Ref Std', 'inputsNonInv': (0, 2, 0, 6, 0, 44, 0, 49, 0, 15, 0, 4, 0, 9, 0, 12, 0, 1, 0, 3, 0, 8, 0, 11, 0, 14, 0, 5, 0, 40, 0, 45, 0, 7, 0, 10, 0, 13, 0, 191, 0, 174, 0, 174, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 400, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x1c\x08\x03\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\''}, {'lines': 20, 'sectors': 0, 'base_time': 15, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'DB Std', 'inputsNonInv': (6, 2, 44, 6, 49, 44, 15, 49, 4, 2, 9, 4, 12, 9, 15, 12, 3, 1, 8, 3, 11, 8, 14, 11, 5, 1, 40, 5, 45, 40, 14, 45, 10, 7, 13, 10, 0, 191, 0, 174, 0, 174, 0, 21, 0, 166, 0, 167, 0, 168, 0, 169, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 100000, 40000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 200, 200, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00&&&&&&&&\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x08\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x10\''}, {'lines': 16, 'sectors': 0, 'base_time': 15, 'notch': 0, 'colour': (9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Transv Std', 'inputsNonInv': (1, 2, 4, 6, 7, 4, 3, 7, 5, 3, 9, 44, 10, 9, 8, 10, 40, 8, 12, 49, 13, 12, 11, 13, 45, 11, 14, 15, 0, 191, 0, 174, 18, 16, 14, 18, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1000, 0, 1600, 1600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 3000, 100000, 7000, 7000, 32000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x08\x04\x05\x05\n\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x01\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x10\''}, {'lines': 27, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (9, 9, 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, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 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, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Ref 25', 'inputsNonInv': (0, 56, 0, 57, 0, 58, 0, 2, 0, 6, 0, 44, 0, 49, 0, 15, 0, 4, 0, 9, 0, 12, 0, 3, 0, 8, 0, 11, 0, 1, 0, 5, 0, 40, 0, 45, 0, 14, 0, 53, 0, 54, 0, 55, 0, 7, 0, 10, 0, 13, 0, 194, 0, 174, 0, 191, 0, 53, 0, 54, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 77, 0, 77, 0, 77, 0, 77, 0, 75, 0, 76, 0, 77, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91, 0, 92, 0, 93, 0, 94, 0, 95, 0, 96, 0, 97), 'inputsInv': (0, 98, 0, 101, 0, 102, 0, 103, 0, 104, 0, 105, 0, 107, 0, 108, 0, 109, 0, 110, 0, 111, 0, 112, 0, 113, 0, 114, 0, 115, 0, 116, 0, 117, 0, 118, 0, 120, 0, 121, 0, 122, 0, 123, 0, 124, 0, 125, 0, 128, 0, 129, 0, 130, 0, 131, 0, 132, 0, 133, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 145, 144, 147, 146, 149, 148, 0, 129, 0, 130, 0, 131, 0, 132, 0, 133, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 145, 144, 147, 146, 149, 148, 149, 148, 0, 143, 145, 144, 147, 146, 149, 148), 'HiPass_Filter': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 1000, 0, 1000, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 1000, 1000, 1000, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 1000, 1000, 1000, 1000, 300, 1000, 1000, 1000), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 10000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 1000, 10000, 10000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 1000, 10000, 10000, 10000, 40000, 1000, 10000, 10000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 200, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 200, 200, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 200, 200, 200, 800, 800, 200, 200), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x1c\x08\x04\x08\x05\x05((((((((((((((((\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x05\x05\x05\x05\x05\x05(((((((\x05\x05\x05\x05\x05\x05\x05((((((\x05\x05\x05\x05\x05\x05\x05((((((((\x08--\x05\x05\x05\x05\x05\x05((((((((\x08---(\x08--\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 28, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 2, 2, 2, 2, 2, 2, 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, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 2, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Triple B - 25', 'inputsNonInv': (56, 2, 57, 56, 58, 57, 15, 58, 6, 2, 44, 6, 49, 44, 15, 49, 4, 2, 9, 4, 12, 9, 15, 12, 3, 1, 8, 3, 11, 8, 14, 11, 5, 1, 40, 5, 45, 40, 14, 45, 53, 1, 54, 53, 55, 54, 14, 55, 10, 7, 13, 10, 0, 194, 0, 174, 0, 174, 0, 33, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, 62, 0, 63, 0, 64, 0, 65, 0, 66, 0, 67), 'inputsInv': (0, 68, 0, 69, 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91, 0, 92, 0, 93, 0, 94, 0, 95, 145, 144, 145, 144, 145, 144, 145, 144, 145, 144, 0, 21, 0, 2, 0, 68, 0, 67, 0, 6, 0, 72, 0, 4, 0, 71, 0, 77, 0, 59, 0, 76, 0, 53, 0, 17, 0, 81, 0, 9, 0, 80, 0, 86, 0, 62, 0, 85, 0, 56, 0, 19, 0, 90, 0, 12, 0, 89, 0, 93, 0, 58, 0, 15, 0, 198, 0, 205, 174, 0, 174, 0), 'HiPass_Filter': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 1000, 0, 0, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 53000, 0, 0), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 100000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 12000, 12000, 12000, 12000, 12000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 40000, 40000, 40000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 100, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 120, 120, 120, 120, 120, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x08\x04\x04\x05\x05\x05\x05\x05\x05\x05((((((((\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x08\x08\x08\x08\x08\x1c((((((((((((((((((((((((((\x08\x1c\x05\x05\x01\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x10\''}, {'lines': 37, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (9, 9, 9, 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), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Ref 38', 'inputsNonInv': (0, 2, 0, 6, 0, 44, 0, 49, 0, 15, 0, 4, 0, 9, 0, 12, 0, 67, 0, 68, 0, 69, 0, 70, 0, 75, 0, 76, 0, 71, 0, 77, 0, 1, 0, 3, 0, 8, 0, 11, 0, 14, 0, 5, 0, 40, 0, 45, 0, 62, 0, 63, 0, 64, 0, 65, 0, 72, 0, 73, 0, 66, 0, 74, 0, 7, 0, 10, 0, 13, 0, 191, 0, 174, 0, 174, 0, 174, 0, 174, 0, 174, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 400, 400, 400, 400, 400, 400, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x1c\x08\x04\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x01\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x10\''}, {'lines': 30, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Triple B 38', 'inputsNonInv': (75, 2, 76, 75, 71, 76, 77, 71, 15, 77, 6, 2, 44, 6, 49, 44, 15, 49, 4, 2, 9, 4, 12, 9, 15, 12, 3, 1, 8, 3, 11, 8, 14, 11, 5, 1, 40, 5, 45, 40, 14, 45, 72, 1, 73, 72, 66, 73, 74, 66, 14, 74, 10, 7, 13, 10, 0, 191, 0, 174, 0, 174, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x08\x04\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x01\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x10\''}, {'lines': 92, 'sectors': 0, 'base_time': 10, 'notch': 1, 'colour': (9, 9, 9, 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), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_part1_ref', 'inputsNonInv': (0, 32, 0, 33, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, 62, 0, 63, 0, 64, 0, 65, 0, 66, 0, 67, 0, 68, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 90, 0, 96, 0, 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102, 0, 103, 0, 104), 'inputsInv': (0, 105, 0, 106, 0, 107, 0, 108, 0, 109, 0, 110, 0, 111, 0, 112, 0, 113, 0, 114, 0, 115, 0, 116, 0, 117, 0, 118, 0, 119, 0, 120, 0, 121, 0, 122, 0, 123, 0, 124, 0, 125, 0, 126, 0, 127, 0, 128, 0, 129, 0, 130, 0, 131, 310, 309, 310, 309, 310, 309, 310, 309, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 10000, 10000, 10000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05********\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\x08\x08\x08\x08\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\''}, {'lines': 84, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (9, 9, 9, 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), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_part2_ref', 'inputsNonInv': (0, 132, 0, 133, 0, 134, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 0, 144, 0, 145, 0, 146, 0, 147, 0, 148, 0, 149, 0, 150, 0, 151, 0, 152, 0, 153, 0, 154, 0, 155, 0, 156, 0, 157, 0, 158, 0, 159, 0, 255, 0, 256, 0, 257, 0, 258, 0, 259, 0, 260, 0, 261, 0, 262, 0, 0, 0, 263, 0, 264, 0, 265, 0, 266, 0, 267, 0, 268, 0, 269, 0, 270, 0, 271, 0, 272, 0, 273, 0, 274, 0, 275, 0, 276, 0, 277, 0, 278, 0, 279, 0, 280, 0, 281, 0, 282, 0, 283, 0, 284, 0, 285, 0, 286, 0, 287, 0, 288, 0, 289), 'inputsInv': (0, 290, 0, 291, 0, 292, 0, 293, 0, 294, 0, 295, 0, 296, 0, 297, 0, 298, 0, 299, 0, 300, 0, 301, 0, 302, 0, 303, 0, 304, 0, 305, 0, 306, 0, 307, 0, 308, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x00\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x00\x01\x01\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 87, 'sectors': 0, 'base_time': 15, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 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), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_part1_bip', 'inputsNonInv': (33, 32, 34, 33, 35, 34, 36, 35, 37, 36, 38, 37, 39, 38, 40, 39, 41, 40, 42, 41, 43, 42, 45, 44, 46, 45, 47, 46, 48, 47, 49, 48, 50, 49, 51, 50, 52, 51, 53, 52, 54, 53, 55, 54, 57, 56, 58, 57, 59, 58, 60, 59, 62, 61, 63, 62, 64, 63, 65, 64, 66, 65, 67, 66, 68, 67, 69, 68, 70, 69, 71, 70, 72, 71, 73, 72, 74, 73, 75, 74, 76, 75, 77, 76, 78, 77, 80, 79, 81, 80, 82, 81, 83, 82, 84, 83, 85, 84, 86, 85, 87, 86, 88, 87, 89, 88, 90, 89, 97, 96, 98, 97, 99, 98, 100, 99, 101, 100, 102, 101, 103, 102, 104, 103, 105, 104, 106, 105), 'inputsInv': (107, 106, 109, 108, 110, 109, 111, 110, 112, 111, 113, 112, 114, 113, 115, 114, 117, 116, 118, 117, 119, 118, 120, 119, 121, 120, 122, 121, 123, 122, 125, 124, 126, 125, 127, 126, 128, 127, 129, 128, 130, 129, 131, 130, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 76, 'sectors': 0, 'base_time': 15, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_part2_bib', 'inputsNonInv': (133, 132, 134, 133, 135, 134, 136, 135, 137, 136, 138, 137, 139, 138, 141, 140, 142, 141, 143, 142, 144, 143, 145, 144, 146, 145, 147, 146, 148, 147, 149, 148, 151, 150, 152, 151, 153, 152, 154, 153, 155, 154, 156, 155, 157, 156, 158, 157, 159, 158, 256, 255, 257, 256, 258, 257, 259, 258, 260, 259, 261, 260, 262, 261, 0, 0, 264, 263, 265, 264, 266, 265, 267, 266, 268, 267, 269, 268, 270, 269, 271, 270, 272, 271, 273, 272, 274, 273, 276, 275, 277, 276, 278, 277, 279, 278, 280, 279, 281, 280, 282, 281, 283, 282, 284, 283, 285, 284, 286, 285, 288, 287, 289, 288, 290, 289, 291, 290, 292, 291, 293, 292, 294, 293, 295, 294, 296, 295), 'inputsInv': (297, 296, 298, 297, 300, 299, 301, 300, 302, 301, 303, 302, 304, 303, 305, 304, 306, 305, 307, 306, 308, 307, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\x00\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x98:'}, {'lines': 91, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (9, 9, 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, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 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, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_IMP_ref', 'inputsNonInv': (0, 32, 0, 34, 0, 36, 0, 38, 0, 40, 0, 42, 0, 44, 0, 46, 0, 48, 0, 50, 0, 52, 0, 54, 0, 56, 0, 58, 0, 60, 0, 61, 0, 63, 0, 65, 0, 67, 0, 69, 0, 71, 0, 73, 0, 75, 0, 77, 0, 79, 0, 81, 0, 83, 0, 85, 0, 87, 0, 89, 0, 96, 0, 98, 0, 100, 0, 102, 0, 104, 0, 106, 0, 108, 0, 110, 0, 112, 0, 114, 0, 116, 0, 118, 0, 120, 0, 122, 0, 124, 0, 126, 0, 128, 0, 130, 0, 132, 0, 134, 0, 136, 0, 138, 0, 140, 0, 142, 0, 144, 0, 146, 0, 148, 0, 150, 0, 152, 0, 154, 0, 156, 0, 158, 0, 255, 0, 257), 'inputsInv': (0, 259, 0, 261, 0, 0, 0, 263, 0, 265, 0, 267, 0, 269, 0, 271, 0, 273, 0, 275, 0, 277, 0, 279, 0, 281, 0, 283, 0, 285, 0, 287, 0, 289, 0, 291, 0, 293, 0, 295, 0, 297, 0, 299, 0, 301, 0, 303, 0, 305, 0, 307, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 131, 0, 132, 0, 133, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 145, 144, 147, 146, 149, 148, 149, 148, 0, 143, 145, 144, 147, 146, 149, 148), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 1000, 1000, 1000, 1000, 300, 1000, 1000, 1000), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 100000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 1000, 10000, 10000, 10000, 40000, 1000, 10000, 10000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 200, 200, 200, 800, 800, 200, 200), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\'\'\'\'\x05\x05\x05\x05\'\'\'\'\x05\x05\x05\x05\'\'\'\'\'\x05\x05\x05\x05\x05\'\'\'\'\x00\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\'\'\'\'\'\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x08---(\x08--\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 74, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 2, 2, 2, 2, 2, 2, 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, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 2, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_IMP_bip', 'inputsNonInv': (34, 32, 36, 34, 38, 36, 40, 38, 42, 40, 46, 44, 48, 46, 50, 48, 52, 50, 54, 52, 58, 56, 60, 58, 63, 61, 65, 63, 67, 65, 69, 67, 71, 69, 73, 71, 75, 73, 77, 75, 81, 79, 83, 81, 85, 83, 87, 85, 89, 87, 98, 96, 100, 98, 102, 100, 104, 102, 106, 104, 110, 108, 112, 110, 114, 112, 118, 116, 120, 118, 122, 120, 126, 124, 128, 126, 130, 128, 134, 132, 136, 134, 138, 136, 142, 140, 144, 142, 146, 144, 148, 146, 152, 150, 154, 152, 156, 154, 158, 156, 257, 255, 259, 257, 261, 259, 0, 0, 265, 263, 267, 265, 269, 267, 271, 269, 273, 271, 277, 275, 279, 277, 281, 279, 283, 281, 285, 283), 'inputsInv': (289, 287, 291, 289, 293, 291, 295, 293, 297, 295, 301, 299, 303, 301, 305, 303, 307, 305, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 9, 0, 80, 0, 86, 0, 62, 0, 85, 0, 56, 0, 19, 0, 90, 0, 12, 0, 89, 0, 93, 0, 58, 0, 15, 0, 198, 0, 205, 174, 0, 174, 0), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 53000, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 40000, 40000, 40000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\x05\x05\x05\x05\x05\'\'\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\x05\x05\x05\x05\x05\'\'\'\x05\x05\x05\'\'\'\x05\x05\x05\'\'\'\'\x05\x05\x05\x05\'\'\'\x00\x05\x05\x05\x05\x05\'\'\'\'\x05\x05\x05\x05\x05\x05\'\'\'\'\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05((((((((((((((\x08\x1c\x05\x05\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}], 'dvideo': array([(1229791274, 1297044035,  538985541, 1767993922),
+       (1968254318,  543908713, 1701603686,  436218400),
+       ( 538976288,  538976288,  538976288,  538976288), ...,
+       (         0,          0,          0,          0),
+       (         0,          0, 4294964096,       3200),
+       (         0,          0,          0,          0)],
+      dtype=[('delay', '<i4'), ('duration', '<u4'), ('file_ext', '<u4'), ('empty', '<u4')]), 'event_a': array([(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)],
+      dtype=[('code', '<u4'), ('begin', '<u4'), ('end', '<u4')]), 'event_b': array([(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
+       (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)],
+      dtype=[('code', '<u4'), ('begin', '<u4'), ('end', '<u4')]), 'trigger': array([(     14144,    17), (     57881,    17), (     58401,    20), ...,
+       (4294967295, 65535), (4294967295, 65535), (4294967295, 65535)],
+      dtype=[('sample', '<u4'), ('code', '<u2')])}
+
+
+

To extract notes from recording in the format {sample0 : note0, ... sampleN: noteN}

+
mmtrc.get_notes()
+
+
+
{64: 'TCP connection failed'}
+
+
+

To extract markers from recording in the format {sample0 : marker0, ... sampleN: markerN}

+
mmtrc.get_markers()
+
+
+
{14144: '17', 57881: '17', 58401: '20', 58919: '32', 59435: '40', 59951: '14', 60467: '101', 60989: '3', 67537: '2', 68577: '1', 69613: '4', 72695: '3', 73728: '2', 74752: '1', 75776: '4', 78848: '3', 79872: '2', 80896: '1', 81920: '4', 84999: '3', 86035: '2', 87069: '1', 88103: '4', 91183: '3', 92217: '2', 93248: '1', 94272: '4', 97344: '3', 98368: '2', 99392: '1', 100416: '4', 103517: '14', 104035: '102', 104557: '3', 111643: '2', 112677: '1', 113711: '4', 116793: '3', 117824: '2', 118848: '1', 119872: '4', 122944: '3', 123968: '2', 124992: '1', 126017: '4', 129099: '3', 130133: '2', 131165: '1', 132201: '4', 135285: '3', 136317: '2', 137344: '1', 138368: '4', 141440: '3', 142464: '2', 143488: '1', 144512: '4', 147585: '14', 148099: '101', 148659: '3', 154613: '2', 155645: '1', 156672: '4', 159744: '3', 160768: '2', 161792: '1', 162816: '4', 165895: '3', 166931: '2', 167963: '1', 168997: '4', 172079: '3', 173113: '2', 174144: '1', 175168: '4', 178240: '3', 179264: '2', 180288: '1', 181312: '4', 184385: '3', 185419: '2', 186455: '1', 187485: '4', 190565: '14', 191081: '102', 191603: '3', 196829: '2', 197861: '1', 198895: '4', 201977: '3', 203008: '2', 204032: '1', 205056: '4', 208128: '3', 209152: '2', 210176: '1', 211201: '4', 214281: '3', 215317: '2', 216349: '1', 217383: '4', 220465: '3', 221499: '2', 222528: '1', 223552: '4', 226624: '3', 227648: '2', 228672: '1', 229696: '4', 232769: '14', 233283: '101', 233803: '3', 240064: '2', 241093: '1', 242127: '4', 245209: '3', 246243: '2', 247277: '1', 248311: '4', 251391: '3', 252416: '2', 253440: '1', 254464: '4', 257536: '3', 258560: '2', 259584: '1', 260613: '4', 263695: '3', 264731: '2', 265765: '1', 266799: '4', 269881: '3', 270912: '2', 271936: '1', 272960: '4', 276032: '14', 276544: '102', 277056: '3', 283797: '2', 284829: '1', 285865: '4', 288947: '3', 289979: '2', 291008: '1', 292032: '4', 295104: '3', 296128: '2', 297152: '1', 298185: '4', 299693: '16', 312960: '17', 314560: '3', 315584: '2', 316608: '1', 317632: '4', 320704: '3', 321733: '2', 322767: '1', 323837: '4', 326912: '3', 327936: '2', 328960: '1', 329984: '4', 333056: '11'}
+
+
+

If you need markers or notes times in seconds, just divide by the sampling frequency

+
{k / mmtrc.sfreq: v for k, v in mmtrc.get_markers().items()}
+
+
+
{6.90625: '17', 28.26220703125: '17', 28.51611328125: '20', 28.76904296875: '32', 29.02099609375: '40', 29.27294921875: '14', 29.52490234375: '101', 29.77978515625: '3', 32.97705078125: '2', 33.48486328125: '1', 33.99072265625: '4', 35.49560546875: '3', 36.0: '2', 36.5: '1', 37.0: '4', 38.5: '3', 39.0: '2', 39.5: '1', 40.0: '4', 41.50341796875: '3', 42.00927734375: '2', 42.51416015625: '1', 43.01904296875: '4', 44.52294921875: '3', 45.02783203125: '2', 45.53125: '1', 46.03125: '4', 47.53125: '3', 48.03125: '2', 48.53125: '1', 49.03125: '4', 50.54541015625: '14', 50.79833984375: '102', 51.05322265625: '3', 54.51318359375: '2', 55.01806640625: '1', 55.52294921875: '4', 57.02783203125: '3', 57.53125: '2', 58.03125: '1', 58.53125: '4', 60.03125: '3', 60.53125: '2', 61.03125: '1', 61.53173828125: '4', 63.03662109375: '3', 63.54150390625: '2', 64.04541015625: '1', 64.55126953125: '4', 66.05712890625: '3', 66.56103515625: '2', 67.0625: '1', 67.5625: '4', 69.0625: '3', 69.5625: '2', 70.0625: '1', 70.5625: '4', 72.06298828125: '14', 72.31396484375: '101', 72.58740234375: '3', 75.49462890625: '2', 75.99853515625: '1', 76.5: '4', 78.0: '3', 78.5: '2', 79.0: '1', 79.5: '4', 81.00341796875: '3', 81.50927734375: '2', 82.01318359375: '1', 82.51806640625: '4', 84.02294921875: '3', 84.52783203125: '2', 85.03125: '1', 85.53125: '4', 87.03125: '3', 87.53125: '2', 88.03125: '1', 88.53125: '4', 90.03173828125: '3', 90.53662109375: '2', 91.04248046875: '1', 91.54541015625: '4', 93.04931640625: '14', 93.30126953125: '102', 93.55615234375: '3', 96.10791015625: '2', 96.61181640625: '1', 97.11669921875: '4', 98.62158203125: '3', 99.125: '2', 99.625: '1', 100.125: '4', 101.625: '3', 102.125: '2', 102.625: '1', 103.12548828125: '4', 104.62939453125: '3', 105.13525390625: '2', 105.63916015625: '1', 106.14404296875: '4', 107.64892578125: '3', 108.15380859375: '2', 108.65625: '1', 109.15625: '4', 110.65625: '3', 111.15625: '2', 111.65625: '1', 112.15625: '4', 113.65673828125: '14', 113.90771484375: '101', 114.16162109375: '3', 117.21875: '2', 117.72119140625: '1', 118.22607421875: '4', 119.73095703125: '3', 120.23583984375: '2', 120.74072265625: '1', 121.24560546875: '4', 122.74951171875: '3', 123.25: '2', 123.75: '1', 124.25: '4', 125.75: '3', 126.25: '2', 126.75: '1', 127.25244140625: '4', 128.75732421875: '3', 129.26318359375: '2', 129.76806640625: '1', 130.27294921875: '4', 131.77783203125: '3', 132.28125: '2', 132.78125: '1', 133.28125: '4', 134.78125: '14', 135.03125: '102', 135.28125: '3', 138.57275390625: '2', 139.07666015625: '1', 139.58251953125: '4', 141.08740234375: '3', 141.59130859375: '2', 142.09375: '1', 142.59375: '4', 144.09375: '3', 144.59375: '2', 145.09375: '1', 145.59814453125: '4', 146.33447265625: '16', 152.8125: '17', 153.59375: '3', 154.09375: '2', 154.59375: '1', 155.09375: '4', 156.59375: '3', 157.09619140625: '2', 157.60107421875: '1', 158.12353515625: '4', 159.625: '3', 160.125: '2', 160.625: '1', 161.125: '4', 162.625: '11'}
+
+
+

To get and play with the data, simply use:

+
data = mmtrc.get_data()
+print(f"data shape: {data.shape}")
+# or, if you want the 1st channel data only:
+data_ch1 = mmtrc.get_data(picks=[hdr.ch_names[0]])
+print(f"data_ch1 shape: {data_ch1.shape}")
+
+
+
data shape: (14, 349632)
+data_ch1 shape: (1, 349632)
+
+
+

Total running time of the script: (0 minutes 0.087 seconds)

+ +

Gallery generated by Sphinx-Gallery

+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_auto_examples/plot_trc_to_fif.html b/_auto_examples/plot_trc_to_fif.html new file mode 100644 index 0000000..988443a --- /dev/null +++ b/_auto_examples/plot_trc_to_fif.html @@ -0,0 +1,583 @@ + + + + + + + + + + + Convert TRC file to mne format — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ + +
+

Convert TRC file to mne format#

+

Here we convert a trc file recorded with a Micromed system to fif, the common +format used in mne framework.

+
# Author: Etienne de Montalivet <etienne.demontalivet@protonmail.com>
+#
+# License: BSD-3-Clause
+
+
+
from micromed_io.to_mne import create_mne_from_micromed_recording
+from pathlib import Path
+
+fname = Path("../data/sample.TRC")
+mne_raw = create_mne_from_micromed_recording(fname)
+
+
+
WARNING:root:MKR channel(s) is not close to 50mV. If no trigger received, then data are corrupted.
+Creating RawArray with float64 data, n_channels=14, n_times=349632
+    Range : 0 ... 349631 =      0.000 ...   170.718 secs
+Ready.
+
+
+

Info from trc file is parsed and stored in mne.Info

+
mne_raw.info
+
+
+
+
+ General + + + + + + + + + + + + + + + + + + + + + +
Measurement dateNovember 06, 2023 14:35:06 GMT
ExperimenterUnknown
ParticipantChb
+
+
+ Channels + + + + + + + + + + + + + + + + + + + + + + + +
Digitized pointsNot available
Good channels14 EEG
Bad channelsNone
EOG channelsNot available
ECG channelsNot available
+
+
+ Data + + + + + + + + + + + + + + + + + + + + + + +
Sampling frequency2048.00 Hz
Highpass0.00 Hz
Lowpass1024.00 Hz
+
+
+
+

As you see, markers sent by serial connection to Micromed are +parsed from the trc file and stored as mne.Annotations

+
mne_raw.plot(scalings=dict(eeg=5000), duration=20, start=20)
+
+
+plot trc to fif
Using matplotlib as 2D backend.
+
+<MNEBrowseFigure size 800x800 with 4 Axes>
+
+
+

Total running time of the script: (0 minutes 2.123 seconds)

+ +

Gallery generated by Sphinx-Gallery

+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_auto_examples/sg_execution_times.html b/_auto_examples/sg_execution_times.html new file mode 100644 index 0000000..f0131bb --- /dev/null +++ b/_auto_examples/sg_execution_times.html @@ -0,0 +1,449 @@ + + + + + + + + + + + Computation times — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

Computation times#

+

00:02.211 total execution time for 2 files from _auto_examples:

+
+ + + + + + + + + + + + + + + + + + + + + +

Example

Time

Mem (MB)

Convert TRC file to mne format (plot_trc_to_fif.py)

00:02.123

0.0

Read TRC file data (plot_read_trc.py)

00:00.087

0.0

+
+
+ + +
+ + + + + +
+ +
+
+
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.buffer.MicromedBuffer.html b/_autosummary/micromed_io.buffer.MicromedBuffer.html new file mode 100644 index 0000000..ebfcbe7 --- /dev/null +++ b/_autosummary/micromed_io.buffer.MicromedBuffer.html @@ -0,0 +1,681 @@ + + + + + + + + + + + micromed_io.buffer.MicromedBuffer — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.buffer.MicromedBuffer#

+
+
+class micromed_io.buffer.MicromedBuffer(epoch_duration: float | None = None, epoch_overlap: float | None = None, picks: List[str] | None = None)#
+

Bases: MicromedIO

+

Micromed IO class

+

This class TODO

+
+
Parameters:
+
+
epoch_duration: float, default=None

The epoch duration in sec.

+
+
epoch_overlap: float, default=None

The epoch overlap in sec.

+
+
+
+
+ +

Notes

+
    +
  1. The epoch buffer works this way:

    +
    +
      +
    • each time we receive new data, we fill the buffer with the selected channels (cf picks)

    • +
    • we keep the position of the “filled data” in current_buffer_length

    • +
    • as soon as an epoch_buffer is full, the array is stored in current_epoch and the new data are filled back from current_buffer_length=0.

    • +
    +
    +
  2. +
  3. Be careful with picks order as it changes the epoch structure (order from picks is kept). ["Fp1-G2", "Fpz-G2", "MKR+-MKR-"] doest not give the same epoch buffer as ["MKR+-MKR-", "Fp1-G2", "Fpz-G2"].

  4. +
+
+
Attributes:
+
+
epoch_duration: float

The epoch duration in sec.

+
+
epoch_overlap: float

The epoch overlap in sec.

+
+
epoch_buffer: np.ndarray

The epoch buffer that is filled every new eeg packet received. (see Notes 2.)

+
+
current_buffer_length: int

The position of the next eeg data to fill. (see Notes 1.)

+
+
current_epoch: np.ndarray

The last full epoch.

+
+
+
+
+

Methods

+ + + + + + + + + + + + + + + +

decode_data_eeg_packet

Decode eeg data packet.

decode_data_header_packet

Decode all (but histories) of the micromed header data packet.

init_buffer

Init the epoch buffer

update_epoch_buffer

Update of the epoch buffer

+
+
+decode_data_eeg_packet(packet: bytearray, picks: List | None = None, keep_raw: bool = False, use_volt: bool = False, check_data: bool = True) bool#
+

Decode eeg data packet. +Conversion is made to get physiological value of eegs.

+
+
Parameters:
+
+
packetbytearray

The EEGs data packet to decode.

+
+
picksList, optional

A list of channel to extract. If None, all channels are extracted. +The default is None.

+
+
keep_rawbool, optional

If True, the data won’t be converted to voltage. The default is False.

+
+
use_voltbool, optional

If True, the data is scaled to Volts. If False, whatever unit is used by Micromed. +Note that you may loose resolution by doing that. The default is False.

+
+
check_data: bool, optional

Check if MKR channel(s) is close to 50mV. If not, return False. You can disable +for speed performances.

+
+
+
+
Returns:
+
+
bool

False if decoding is suspicious/wrong.

+
+
+
+
Raises:
+
+
ValueError

If data is not encoded on 1,2 or 4 bytes. Should not happen.

+
+
+
+
+

Notes

+

EEGs data are stored in this order (per packet): +Ch1_t0, Ch2_t0, ... ChN_t0, Ch1_t1, Ch2_t1, ... ChN_t1, ...

+

self.current_data_eeg is always ordered regarding the order of the channels +in self.micromed_header.ch_names

+

If a marker is sent through serial port, MKR channel(s) is not close to 50mV. The warning should +then be ignored.

+
+ +
+
+decode_data_header_packet(packet: bytearray) None#
+

Decode all (but histories) of the micromed header data packet.

+
+
Parameters:
+
+
packetbytearray

The header packet to decode.

+
+
+
+
+
+ +
+
+init_buffer() None#
+

Init the epoch buffer

+
+
Raises:
+
+
ValueError

If epoch_overlap is more than 0 as it is not supported yet. Feel free to update the code.

+
+
+
+
+
+ +
+
+update_epoch_buffer() bool#
+

Update of the epoch buffer

+

The epoch buffer works this way:

+
+
    +
  1. each time we receive new data, we fill the buffer

  2. +
  3. we keep the position of the “filled data” in current_buffer_length

  4. +
  5. as soon as an epoch_buffer is full, the array is stored in current_epoch and the new data are filled back from current_buffer_length=0.

  6. +
+
+
+
Returns:
+
+
bool

If True, a new epoch has been filled and stored in self.current_epoch.

+
+
+
+
Raises:
+
+
ValueError

If the buffer is not initialized before this function is called.

+
+
+
+
+
+ +
+ +
+ + +
+ + + + + + + +
+ + + + + + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.buffer.html b/_autosummary/micromed_io.buffer.html new file mode 100644 index 0000000..17e3c91 --- /dev/null +++ b/_autosummary/micromed_io.buffer.html @@ -0,0 +1,497 @@ + + + + + + + + + + + micromed_io.buffer — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.buffer#

+

Micromed IO module

+

Classes

+ + + + + + +

MicromedBuffer

Micromed IO class

+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.header.ElectrodeReferences.html b/_autosummary/micromed_io.header.ElectrodeReferences.html new file mode 100644 index 0000000..ad0a3e4 --- /dev/null +++ b/_autosummary/micromed_io.header.ElectrodeReferences.html @@ -0,0 +1,536 @@ + + + + + + + + + + + micromed_io.header.ElectrodeReferences — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.header.ElectrodeReferences#

+
+
+class micromed_io.header.ElectrodeReferences(factor: float | None = None, logic_ground: int | None = None, units: str | None = None)#
+

Bases: object

+

Electrode references for conversion purpose

+
+

See also

+
+
MicromedHeader
+
+
+

Methods

+ + + +
+

Attributes detail

+ + + + + + + + + + + + +

factor

logic_ground

units

+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.header.MicromedHeader.html b/_autosummary/micromed_io.header.MicromedHeader.html new file mode 100644 index 0000000..f10f2a0 --- /dev/null +++ b/_autosummary/micromed_io.header.MicromedHeader.html @@ -0,0 +1,641 @@ + + + + + + + + + + + micromed_io.header.MicromedHeader — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.header.MicromedHeader#

+
+
+class micromed_io.header.MicromedHeader(surname: str | None = None, name: str | None = None, nb_of_channels: int | None = None, order: list | None = None, acq_unit: int | None = None, min_sampling_rate: int | None = None, nb_of_bytes: int | None = None, header_type: int | None = None, stored_channels: int | None = None, ch_names: list | None = None, elec_refs: list | None = None, data_address: int | None = None, recording_date: datetime | None = None, notes: dict | None = None, markers: dict | None = None)#
+

Bases: object

+

Micromed Header data

+

The header is common between TRC files and TCP communication. It contains the info to decode +the data correctly and some experiment info.

+

This class extract some of the available info.

+
+
Parameters:
+
+
surnamestr, optional

The patient surname.

+
+
namestr, optional

The patient name.

+
+
nb_of_channelsint, optional

The number of channels.

+
+
acq_unitint, optional

The acquisition unit

+
+
min_sampling_rate: int, optional

The minimum sampling rate of EEGs channels.

+
+
nb_of_bytes: int, optional

The number of bytes on which eeg data is encoded per value. Should be in [1, 2, 4].

+
+

Warning

+

When selecting a 24-bits resolution in SystemPLUS, values are encoded on 4 bytes…

+
+
+
header_type: int, optional

The header type. To be checked for valid parsing.

+
+
stored_channels: int, optional

Number of stored channels in EEGs data.

+
+
ch_names: list, optional

The channel names in format “<ch name>-<ground>”.

+
+
elec_refs: List[ElectrodeReferences], optional

A list of electrode references.

+
+
data_address: int, optional

The byte address of data packet start (useless in TCP context)

+
+
note_addressint, optional

The byte address of note packet start (useless in TCP context)

+
+
+
+
Attributes:
+
+
surnamestr

The patient surname.

+
+
namestr

The patient name.

+
+
nb_of_channelsint

The number of channels.

+
+
acq_unitint, optional

The acquisition unit

+
+
min_sampling_rate: int

The minimum sampling rate of EEGs channels.

+
+
nb_of_bytes: int

The number of bytes on which eeg data is encoded per value. Should be in [1, 2, 4].

+
+

Warning

+

When selecting a 24-bits resolution in SystemPLUS, values are encoded on 4 bytes…

+
+
+
header_type: int

The header type. To be checked for valid parsing.

+
+
stored_channels: int

Number of stored channels in EEGs data.

+
+
ch_names: list

The channel names in format “<ch name>-<ground>”.

+
+
elec_refs: List[ElectrodeReferences]

A list of electrode references.

+
+
data_address: int

The byte address of data packet start (useless in TCP context).

+
+
note_addressint

The byte address of note packet start (useless in TCP context)

+
+
recording_date: datetime

The date of file creation and therefore the recording date.

+
+
notesdict

Notes entered in Micromed interface. Keys are samples and values are comments (str).

+
+
markersdict

Serial markers received by Micromed. Key is the sample and value is the marker value (str).

+
+
+
+
+

Methods

+ + + +
+

Attributes detail

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

acq_unit

ch_names

data_address

elec_refs

header_type

markers

min_sampling_rate

name

nb_of_bytes

nb_of_channels

notes

order

recording_date

stored_channels

surname

+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.header.html b/_autosummary/micromed_io.header.html new file mode 100644 index 0000000..7c01850 --- /dev/null +++ b/_autosummary/micromed_io.header.html @@ -0,0 +1,501 @@ + + + + + + + + + + + micromed_io.header — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.header#

+

Micromed Header module +Contains some description of the micromed header of type 4

+

Classes

+ + + + + + + + + +

ElectrodeReferences

Electrode references for conversion purpose

MicromedHeader

Micromed Header data

+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.html b/_autosummary/micromed_io.html new file mode 100644 index 0000000..84b75fc --- /dev/null +++ b/_autosummary/micromed_io.html @@ -0,0 +1,508 @@ + + + + + + + + + + + micromed_io — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + + + + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.in_out.MicromedIO.html b/_autosummary/micromed_io.in_out.MicromedIO.html new file mode 100644 index 0000000..4d3fecf --- /dev/null +++ b/_autosummary/micromed_io.in_out.MicromedIO.html @@ -0,0 +1,623 @@ + + + + + + + + + + + micromed_io.in_out.MicromedIO — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.in_out.MicromedIO#

+
+
+class micromed_io.in_out.MicromedIO(picks: List[str] | None = None)#
+

Bases: object

+

Micromed IO class

+

This class provides the basics for decoding Micromed data. It is common between files and +TCP communication.

+
+
Parameters:
+
+
picksList[str], default=None

Channels to pick from EEGs data (all channels are stored). Channel names must follow +the same format as in SystemPLUS Evolution (see EEG Setup Montage). WARNING: see Note 3. +Example : [“Fp1-G2”, “Fpz-G2”, “MKR+-MKR-“] +If None, all channels are included. The default is None.

+
+
+
+
+ +
+
Attributes:
+
+
micromed_header: MicromedHeader

The corresponding micromed header of this connection.

+
+
current_data_eeg: np.ndarray

The current eeg data of shape (nb_of_channels, nb_of_samples).

+
+
picksList[str]

Channels to pick from EEGs data (all channels are sent via TCP). Channel names follow +the same format as in SystemPLUS Evolution (see EEG Setup Montage). WARNING: This impact +the channels order. +Example : [“Fp1-G2”, “Fpz-G2”, “MKR+-MKR-“]

+
+
picks_idnp.array

Indexes of the channels to pick.

+
+
sfreqfloat

The sampling frequency

+
+
+
+
+

Methods

+ + + + + + + + + +

decode_data_eeg_packet

Decode eeg data packet.

decode_data_header_packet

Decode all (but histories) of the micromed header data packet.

+
+
+decode_data_eeg_packet(packet: bytearray, picks: List | None = None, keep_raw: bool = False, use_volt: bool = False, check_data: bool = True) bool#
+

Decode eeg data packet. +Conversion is made to get physiological value of eegs.

+
+
Parameters:
+
+
packetbytearray

The EEGs data packet to decode.

+
+
picksList, optional

A list of channel to extract. If None, all channels are extracted. +The default is None.

+
+
keep_rawbool, optional

If True, the data won’t be converted to voltage. The default is False.

+
+
use_voltbool, optional

If True, the data is scaled to Volts. If False, whatever unit is used by Micromed. +Note that you may loose resolution by doing that. The default is False.

+
+
check_data: bool, optional

Check if MKR channel(s) is close to 50mV. If not, return False. You can disable +for speed performances.

+
+
+
+
Returns:
+
+
bool

False if decoding is suspicious/wrong.

+
+
+
+
Raises:
+
+
ValueError

If data is not encoded on 1,2 or 4 bytes. Should not happen.

+
+
+
+
+

Notes

+

EEGs data are stored in this order (per packet): +Ch1_t0, Ch2_t0, ... ChN_t0, Ch1_t1, Ch2_t1, ... ChN_t1, ...

+

self.current_data_eeg is always ordered regarding the order of the channels +in self.micromed_header.ch_names

+

If a marker is sent through serial port, MKR channel(s) is not close to 50mV. The warning should +then be ignored.

+
+ +
+
+decode_data_header_packet(packet: bytearray) None#
+

Decode all (but histories) of the micromed header data packet.

+
+
Parameters:
+
+
packetbytearray

The header packet to decode.

+
+
+
+
+
+ +
+ +
+ + +
+ + + + + + + +
+ + + + + + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.in_out.html b/_autosummary/micromed_io.in_out.html new file mode 100644 index 0000000..fafd5b4 --- /dev/null +++ b/_autosummary/micromed_io.in_out.html @@ -0,0 +1,497 @@ + + + + + + + + + + + micromed_io.in_out — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.in_out#

+

Micromed IO module

+

Classes

+ + + + + + +

MicromedIO

Micromed IO class

+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.tcp.MicromedPacketType.html b/_autosummary/micromed_io.tcp.MicromedPacketType.html new file mode 100644 index 0000000..a47e341 --- /dev/null +++ b/_autosummary/micromed_io.tcp.MicromedPacketType.html @@ -0,0 +1,528 @@ + + + + + + + + + + + micromed_io.tcp.MicromedPacketType — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.tcp.MicromedPacketType#

+
+
+class micromed_io.tcp.MicromedPacketType(value)#
+

Bases: IntEnum

+

Micromed packet type.

+

Attributes detail

+ + + + + + + + + + + + + + + +

HEADER

EEG_DATA

NOTE

MARKER

+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.tcp.decode_tcp_header_packet.html b/_autosummary/micromed_io.tcp.decode_tcp_header_packet.html new file mode 100644 index 0000000..ff06d8f --- /dev/null +++ b/_autosummary/micromed_io.tcp.decode_tcp_header_packet.html @@ -0,0 +1,524 @@ + + + + + + + + + + + micromed_io.tcp.decode_tcp_header_packet — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.tcp.decode_tcp_header_packet#

+
+
+micromed_io.tcp.decode_tcp_header_packet(packet: bytearray)#
+

Decode the Micromed tcp header packet.

+
+
Parameters:
+
+
packetbytearray

The tcp packet to decode.

+
+
+
+
Returns:
+
+
bool

True if decoding was successful. Else False.

+
+
+
+
+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.tcp.decode_tcp_marker_packet.html b/_autosummary/micromed_io.tcp.decode_tcp_marker_packet.html new file mode 100644 index 0000000..a0305ce --- /dev/null +++ b/_autosummary/micromed_io.tcp.decode_tcp_marker_packet.html @@ -0,0 +1,525 @@ + + + + + + + + + + + micromed_io.tcp.decode_tcp_marker_packet — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.tcp.decode_tcp_marker_packet#

+
+
+micromed_io.tcp.decode_tcp_marker_packet(packet: bytearray)#
+

Decode the Micromed tcp markers packet.

+
+
Parameters:
+
+
packetbytearray

The tcp packet to decode.

+
+
+
+
Returns:
+
+
tuple

trigger_sample: the sample when the marker is received +trigger_value: trigger value

+
+
+
+
+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.tcp.decode_tcp_note_packet.html b/_autosummary/micromed_io.tcp.decode_tcp_note_packet.html new file mode 100644 index 0000000..c05e28e --- /dev/null +++ b/_autosummary/micromed_io.tcp.decode_tcp_note_packet.html @@ -0,0 +1,525 @@ + + + + + + + + + + + micromed_io.tcp.decode_tcp_note_packet — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.tcp.decode_tcp_note_packet#

+
+
+micromed_io.tcp.decode_tcp_note_packet(packet: bytearray)#
+

Decode the Micromed tcp markers packet.

+
+
Parameters:
+
+
packetbytearray

The tcp packet to decode.

+
+
+
+
Returns:
+
+
tuple

trigger_sample: the sample when the marker is received +trigger_value: trigger value

+
+
+
+
+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.tcp.encode_marker_packet.html b/_autosummary/micromed_io.tcp.encode_marker_packet.html new file mode 100644 index 0000000..f67ac59 --- /dev/null +++ b/_autosummary/micromed_io.tcp.encode_marker_packet.html @@ -0,0 +1,526 @@ + + + + + + + + + + + micromed_io.tcp.encode_marker_packet — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.tcp.encode_marker_packet#

+
+
+micromed_io.tcp.encode_marker_packet(sample: uint32, marker: uint16) bytearray#
+

Encode a marker packet with sample and value

+
+
Parameters:
+
+
samplenp.uint32

The sample when marker occured

+
+
markernp.uint16

The marker value

+
+
+
+
Returns:
+
+
bytearray

The encoded packet

+
+
+
+
+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.tcp.encode_note_packet.html b/_autosummary/micromed_io.tcp.encode_note_packet.html new file mode 100644 index 0000000..cb36b8c --- /dev/null +++ b/_autosummary/micromed_io.tcp.encode_note_packet.html @@ -0,0 +1,526 @@ + + + + + + + + + + + micromed_io.tcp.encode_note_packet — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.tcp.encode_note_packet#

+
+
+micromed_io.tcp.encode_note_packet(sample: uint32, note: str) bytearray#
+

Encode a note packet with sample and text

+
+
Parameters:
+
+
samplenp.uint32

The sample when note occured

+
+
notestr

The text

+
+
+
+
Returns:
+
+
bytearray

The encoded packet

+
+
+
+
+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.tcp.get_tcp_header.html b/_autosummary/micromed_io.tcp.get_tcp_header.html new file mode 100644 index 0000000..20e9961 --- /dev/null +++ b/_autosummary/micromed_io.tcp.get_tcp_header.html @@ -0,0 +1,526 @@ + + + + + + + + + + + micromed_io.tcp.get_tcp_header — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.tcp.get_tcp_header#

+
+
+micromed_io.tcp.get_tcp_header(packet_type: MicromedPacketType, size: int) bytearray#
+

Build the Micromed TCP header

+
+
Parameters:
+
+
packet_typeMicromedPacketType

The packet type to be sent

+
+
sizeint

The size of the packet to be sent

+
+
+
+
Returns:
+
+
bytearray

The TCP header sent right before any packet

+
+
+
+
+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.tcp.html b/_autosummary/micromed_io.tcp.html new file mode 100644 index 0000000..7269142 --- /dev/null +++ b/_autosummary/micromed_io.tcp.html @@ -0,0 +1,520 @@ + + + + + + + + + + + micromed_io.tcp — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.tcp#

+

Micromed TCP module.

+

Functions

+ + + + + + + + + + + + + + + + + + + + + +

decode_tcp_header_packet

Decode the Micromed tcp header packet.

decode_tcp_marker_packet

Decode the Micromed tcp markers packet.

decode_tcp_note_packet

Decode the Micromed tcp markers packet.

encode_marker_packet

Encode a marker packet with sample and value

encode_note_packet

Encode a note packet with sample and text

get_tcp_header

Build the Micromed TCP header

+

Classes

+ + + + + + +

MicromedPacketType

Micromed packet type.

+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.to_mne.create_mne_from_micromed_recording.html b/_autosummary/micromed_io.to_mne.create_mne_from_micromed_recording.html new file mode 100644 index 0000000..13dd3bc --- /dev/null +++ b/_autosummary/micromed_io.to_mne.create_mne_from_micromed_recording.html @@ -0,0 +1,549 @@ + + + + + + + + + + + micromed_io.to_mne.create_mne_from_micromed_recording — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.to_mne.create_mne_from_micromed_recording#

+
+
+micromed_io.to_mne.create_mne_from_micromed_recording(recording_file: str | Path, sub_channels: List[str] | None = None, start_time: float = 0.0, stop_time: float | None = None, ch_types: List[str] | str = 'eeg') RawArray#
+

Create a mne Raw instance from a Micromed recording.

+
+
Parameters:
+
+
recording_fileUnion[str, Path]

The micromed recording file.

+
+
sub_channelsList[str], optional

The channels to pick from the recording. If None, all channels are picked.

+
+
start_timefloat, optional

The start time (in seconds) of the recording data to include in the mne Raw instance. +Defaults to 0.0.

+
+
stop_timefloat, optional

The stop time (in seconds) of the recording data to include in the mne Raw instance. +If None, all data until the end of the recording is included. Defaults to None.

+
+
ch_typesUnion[List[str], str], optional

The list of channel types. Types must be in [‘grad’, ‘mag’, ‘ref_meg’, ‘eeg’, +‘seeg’, ‘dbs’, ‘ecog’, ‘eog’, ‘emg’, ‘ecg’, ‘resp’, ‘bio’, ‘misc’, ‘stim’, ‘exci’, +‘syst’, ‘ias’, ‘gof’, ‘dipole’, ‘chpi’, ‘fnirs_cw_amplitude’, ‘fnirs_fd_ac_amplitude’, +‘fnirs_fd_phase’, ‘fnirs_od’, ‘hbo’, ‘hbr’, ‘csd’].

+
+
+
+
Returns:
+
+
mne.io.RawArray

A mne Raw instance containing the requested channels.

+
+
+
+
+

Notes

+

Some info are hardcoded, such as:

+
    +
  • device_info type: Micromed

  • +
  • device_info site: Unknown

  • +
+

Update the code if needed.

+

Examples

+
>>> from micromed_io.to_mne import create_mne_from_micromed_recording
+>>> mne_raw = create_mne_from_micromed_recording("path/to/file.TRC", start_time=10.0, stop_time=20.0) 
+
+
+
+ +
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.to_mne.html b/_autosummary/micromed_io.to_mne.html new file mode 100644 index 0000000..f55cdb6 --- /dev/null +++ b/_autosummary/micromed_io.to_mne.html @@ -0,0 +1,497 @@ + + + + + + + + + + + micromed_io.to_mne — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.to_mne#

+

Micromed module to load and transform data from Micromed recordings to mne format

+

Functions

+ + + + + + +

create_mne_from_micromed_recording

Create a mne Raw instance from a Micromed recording.

+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.trc.MicromedTRC.html b/_autosummary/micromed_io.trc.MicromedTRC.html new file mode 100644 index 0000000..4672d8c --- /dev/null +++ b/_autosummary/micromed_io.trc.MicromedTRC.html @@ -0,0 +1,659 @@ + + + + + + + + + + + micromed_io.trc.MicromedTRC — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.trc.MicromedTRC#

+
+
+class micromed_io.trc.MicromedTRC(filename: str | Path)#
+

Bases: MicromedIO

+

Micromed TRC class

+

This class deals with Micromed TRC file

+
+
Parameters:
+
+
filename: str or Path

The TRC filename.

+
+
+
+
Attributes:
+
+
filename: str or Path

The TRC filename.

+
+
+
+
+

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + +

decode_data_eeg_packet

Decode eeg data packet.

decode_data_header_packet

Decode all (but histories) of the micromed header data packet.

get_data

Get channels data in format (n_channels, n_sample)

get_header

Get the header

get_markers

Get the markers

get_notes

Get the notes

get_sfreq

Get the sampling frequency

+
+
+decode_data_eeg_packet(packet: bytearray, picks: List | None = None, keep_raw: bool = False, use_volt: bool = False, check_data: bool = True) bool#
+

Decode eeg data packet. +Conversion is made to get physiological value of eegs.

+
+
Parameters:
+
+
packetbytearray

The EEGs data packet to decode.

+
+
picksList, optional

A list of channel to extract. If None, all channels are extracted. +The default is None.

+
+
keep_rawbool, optional

If True, the data won’t be converted to voltage. The default is False.

+
+
use_voltbool, optional

If True, the data is scaled to Volts. If False, whatever unit is used by Micromed. +Note that you may loose resolution by doing that. The default is False.

+
+
check_data: bool, optional

Check if MKR channel(s) is close to 50mV. If not, return False. You can disable +for speed performances.

+
+
+
+
Returns:
+
+
bool

False if decoding is suspicious/wrong.

+
+
+
+
Raises:
+
+
ValueError

If data is not encoded on 1,2 or 4 bytes. Should not happen.

+
+
+
+
+

Notes

+

EEGs data are stored in this order (per packet): +Ch1_t0, Ch2_t0, ... ChN_t0, Ch1_t1, Ch2_t1, ... ChN_t1, ...

+

self.current_data_eeg is always ordered regarding the order of the channels +in self.micromed_header.ch_names

+

If a marker is sent through serial port, MKR channel(s) is not close to 50mV. The warning should +then be ignored.

+
+ +
+
+decode_data_header_packet(packet: bytearray) None#
+

Decode all (but histories) of the micromed header data packet.

+
+
Parameters:
+
+
packetbytearray

The header packet to decode.

+
+
+
+
+
+ +
+
+get_data(picks: List | None = None, start: int = 0, stop: int | None = None, keep_raw: bool = False, use_volt: bool = False)#
+

Get channels data in format (n_channels, n_sample)

+
+
Parameters:
+
+
picksList, optional

A list of channel to extract. If None, all channels are extracted. +The default is None.

+
+
startint, optional

The starting index of the data to extract. The default is 0.

+
+
stopint, optional

The ending index of the data to extract. If None, extract until the end of the data. +The default is None.

+
+
keep_rawbool, optional

If True, the data won’t be converted to voltage. The default is False.

+
+
use_voltbool, optional

If True, the data is scaled to Volts. If False, whatever unit is used by Micromed. +Note that you may lose resolution by doing that. The default is False.

+
+
+
+
+
+ +
+
+get_header()#
+

Get the header

+
+ +
+
+get_markers()#
+

Get the markers

+
+ +
+
+get_notes()#
+

Get the notes

+
+ +
+
+get_sfreq()#
+

Get the sampling frequency

+
+ +
+ +
+ + +
+ + + + + + + +
+ + + + + + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_autosummary/micromed_io.trc.html b/_autosummary/micromed_io.trc.html new file mode 100644 index 0000000..cf3f2ed --- /dev/null +++ b/_autosummary/micromed_io.trc.html @@ -0,0 +1,497 @@ + + + + + + + + + + + micromed_io.trc — Micromed IO 0.4.1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

micromed_io.trc#

+

Micromed IO module

+

Classes

+ + + + + + +

MicromedTRC

Micromed TRC class

+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/_downloads/022f7d0306cb4306fa5ceb91f4268f82/plot_trc_to_fif.ipynb b/_downloads/022f7d0306cb4306fa5ceb91f4268f82/plot_trc_to_fif.ipynb new file mode 100644 index 0000000..cffbfb6 --- /dev/null +++ b/_downloads/022f7d0306cb4306fa5ceb91f4268f82/plot_trc_to_fif.ipynb @@ -0,0 +1,90 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n# Convert TRC file to mne format\n\nHere we convert a trc file recorded with a Micromed system to fif, the common\nformat used in mne framework.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Author: Etienne de Montalivet \n#\n# License: BSD-3-Clause" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from micromed_io.to_mne import create_mne_from_micromed_recording\nfrom pathlib import Path\n\nfname = Path(\"../data/sample.TRC\")\nmne_raw = create_mne_from_micromed_recording(fname)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Info from trc file is parsed and stored in mne.Info\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "mne_raw.info" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you see, markers sent by serial connection to Micromed are\nparsed from the trc file and stored as mne.Annotations\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "mne_raw.plot(scalings=dict(eeg=5000), duration=20, start=20)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/_downloads/225d151ea821367300a1321f418806af/_auto_examples_jupyter.zip b/_downloads/225d151ea821367300a1321f418806af/_auto_examples_jupyter.zip new file mode 100644 index 0000000000000000000000000000000000000000..7ba895b0a6eaa9935b920b359d85b6cc05db2cee GIT binary patch literal 6578 zcmeHMPj4JG6b~&_s3#lpdeT2R;*Di4;O`J}Kau~~Us`ihsGZv*H&uz5Do}$4RbY$Dy5arRKAMi*$?sdb_tUN}*gxiL*I3JrFFF{>=d zqzY>pUWkb{2k}5f^)Yt+XTATkkDlsG%#SUOL|QqiRg&sTIh<5gdETCXQ7ZKkBubs< zyu?;OKIFL-_0U{yx^iXZycTv_W@ia=mEEb_Seq?&*GZuu!c4G-S~;G}L*dvLB6P=@ zfE?=HuS%nxRt1-N3;}%!jgV5llc`WvY_YGu|7Lx2eJAG-*M*hL5H`Vz+B6cWV;DM_ zm@G;S%S(;mPEb!mlu1h&tV^m9jD}d0+>LX&-^}ZyN%lEZupYL}sNESvalAp+zhQY% z<|2k&52Ce!BKC$)K=<mf-^a7T4#xgoR0kp zyZdiBO09`l;vlbZh}RME9m}S=VpfPQBR;}dG?ZieQ+yi9bBb$0pe{;b=# zdR>?)HxA#H{RSb`N6zR}2#%l#C30Jel#*2)d!tO+GUwBT{2KjHe~P%O*ycRe=Uj~{ zKJufbADxdivqJx7u&_FwN6o~<8{fj3r4FGg-`YG*U1>{DTWF|a$2S;r=tQ! zZj&6j(Nok1Sdip=|IucAJHC0VmKP4=WfrOZkg&19XO#ci4#a7tiEHortbYRF{E>8i zyY|7#3jKZ902~DQj8M)w!<)xgc8+Z*F)TtF+7w_*>(4L2Gco%?FrKEuS`TT)m@Z6! zH*kAlyKJBc>ohTj;sdp5-M850|AB3QjcZ`jBoTrjZvw#-WT)G0ZUWo$1u9Q88v)1` z+B$;o!z%ZNU1JxRdE*b1Yg4X>i0$pQcrFa@?Oo`^SQ@EZryyO#OD6-$9A^d^I&%~- z!cQG2s=bDTsE>3hQ(1E0kYh}YDb38*{a0HV-(n{tQXtz;^e{=s9DpUaGuC`#gDCL+ zl(=_1Z94W@)Xvrz$0}iCc4)-2*}b1b)#mAV`YfrGbhDV4ENAdg_q6$$%F;Jdf8HM= zIs)tB7vYl$rK{1HDo;XdT@TsFjB>3HeD7q8Ly&PP5%4g@R+wQ9D@!hgbp-|0XE`Tu z47UdQFg$gn1!03fx5XC~>0ZwMLI9FJ4wY4pp~40|kY60fEOb5!eUD}r+{=R=5bY8# zlFoT~#DXpw4B@Mef2EBuV_6@e_Y!HO7R3TXiZRE(c%pfICXS@Lju$Q4Db|o z%u8G*9{V!HH)j4$Y?WzLFEZHogm4In=qBv9#uNeHX_ZeQCz=h|ar5+orA!a(_EW+z z4d8g%+udE>ho8K-7wU-H{VbUVYR$LT2L5K@5?>pe||GUZ%pWU@tppj`JSZz n;3SLXy9b&`&x_}O;dP5=aq=dj|KPoAL~sQ^zu@!ZPpI`bjfq3_ literal 0 HcmV?d00001 diff --git a/_downloads/375cbdb7aad81c7378509f9c7df99bf9/plot_read_trc.py b/_downloads/375cbdb7aad81c7378509f9c7df99bf9/plot_read_trc.py new file mode 100644 index 0000000..ef21270 --- /dev/null +++ b/_downloads/375cbdb7aad81c7378509f9c7df99bf9/plot_read_trc.py @@ -0,0 +1,49 @@ +""" +=================== +Read TRC file data +=================== + +Here we read a trc file recorded with a Micromed system. We access the header, the notes, +the markers and the data. +""" +# Author: Etienne de Montalivet +# +# License: BSD-3-Clause + +# %% +from micromed_io.trc import MicromedTRC +from pathlib import Path + +fname = Path("../data/sample.TRC") +mmtrc = MicromedTRC(fname) +# %% +# To get most useful data from the header, you can use ``micromed_header`` +print(mmtrc.micromed_header) +hdr = mmtrc.micromed_header +print( + f"Participant {hdr.name}-{hdr.surname} recorded with {hdr.nb_of_channels} channels " + + f"({hdr.ch_names}) at {mmtrc.sfreq}Hz with {hdr.acq_unit}." +) + +# %% +# If this is not enough for you, you can look for what you need in the full ``_header`` +mmtrc._header +# %% +# To extract notes from recording in the format ``{sample0 : note0, ... sampleN: noteN}`` +mmtrc.get_notes() + +# %% +# To extract markers from recording in the format ``{sample0 : marker0, ... sampleN: markerN}`` +mmtrc.get_markers() + +# %% +# If you need markers or notes times in seconds, just divide by the sampling frequency +{k / mmtrc.sfreq: v for k, v in mmtrc.get_markers().items()} + +# %% +# To get and play with the data, simply use: +data = mmtrc.get_data() +print(f"data shape: {data.shape}") +# or, if you want the 1st channel data only: +data_ch1 = mmtrc.get_data(picks=[hdr.ch_names[0]]) +print(f"data_ch1 shape: {data_ch1.shape}") diff --git a/_downloads/4acc58f9b78d1a788dc63d8462941d50/plot_trc_to_fif.py b/_downloads/4acc58f9b78d1a788dc63d8462941d50/plot_trc_to_fif.py new file mode 100644 index 0000000..a5e35d9 --- /dev/null +++ b/_downloads/4acc58f9b78d1a788dc63d8462941d50/plot_trc_to_fif.py @@ -0,0 +1,26 @@ +""" +============================== +Convert TRC file to mne format +============================== + +Here we convert a trc file recorded with a Micromed system to fif, the common +format used in mne framework. +""" +# Author: Etienne de Montalivet +# +# License: BSD-3-Clause + +# %% + +from micromed_io.to_mne import create_mne_from_micromed_recording +from pathlib import Path + +fname = Path("../data/sample.TRC") +mne_raw = create_mne_from_micromed_recording(fname) +# %% +# Info from trc file is parsed and stored in mne.Info +mne_raw.info +# %% +# As you see, markers sent by serial connection to Micromed are +# parsed from the trc file and stored as mne.Annotations +mne_raw.plot(scalings=dict(eeg=5000), duration=20, start=20) diff --git a/_downloads/8845d11ecb15bc8f327918febd001c4d/_auto_examples_python.zip b/_downloads/8845d11ecb15bc8f327918febd001c4d/_auto_examples_python.zip new file mode 100644 index 0000000000000000000000000000000000000000..283f0fa7b600e33333e09aa9727f6b1610a54e2f GIT binary patch literal 2455 zcmcgu;cgp65Dp1NVt)bZe@3<{*}~blAS7hfh>{i+rLC+|38bjHZ0`1ai|=+XyXzPe z8L2z~?|{@FJOQu8D=@QrcXgALAR%#y?c2TCnb~i?Z}w(Kd+*-fq3gjn{U1L3_4v2H zc6WB@^AXO~rSXZkY2r`> zX(g;Aq>UQ^m_T%7Wom3DGgv8KfPg0|wWh+cTRSf+3WQmXz!$W<`fz{g3u7nn&?~7i(M-YQk}NTW;jIO8g~R!pwXbm`9UVUIB=q>OUbbey&)sVR;r}ux>XS>PcelYCc+cT`2_j9UbAkE=E|)gS0CA9R1dJrnf=+nRm=gIvHE>k| zDC~y+ZLN{5|B>hw!8Yy4gAOn8`MH5P>bf${Q(wrJWk8~#IO5XcM{G@nCL=gG=@c0s zpPaDTD(wdq1>~2W4q1^|%;MUI%|Zrv<-HklO{J<9sDuk##YxPY{c!7+HjLm+21K*d z#NW2ufu#Q`W?XSOYMi|kw{gA|8DZ@}YC|KYao=8HxoEo%4?LZret%pdSu=I6@NB|% zNic+cVlP9KanaL`aL)OP~sp(cwF-q7h6s7gR|32}u7ryC46UBMf9P?M-j zv5o|3+XePU6l}RBO-vXykdEZ!mL_nMQ5bnIJa>ht@l3o3-6jk+cpmk^V24r>g%xq1 zLfpk&Haw1+G`d{JILP$7S7X&GUAXBn$)=_G@%Y7yH&X~px6_~r-lZ}-dT00c-rHY- v=;es6S1;-N>MPOq`s+>!T1D5Zmmlvn>$lE~+0m`{=;<#0{er)H@6+gSIEoun literal 0 HcmV?d00001 diff --git a/_downloads/ff1e34b9bce10d357229e1b1a38d147d/plot_read_trc.ipynb b/_downloads/ff1e34b9bce10d357229e1b1a38d147d/plot_read_trc.ipynb new file mode 100644 index 0000000..ceaae17 --- /dev/null +++ b/_downloads/ff1e34b9bce10d357229e1b1a38d147d/plot_read_trc.ipynb @@ -0,0 +1,162 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n# Read TRC file data\n\nHere we read a trc file recorded with a Micromed system. We access the header, the notes, \nthe markers and the data.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Author: Etienne de Montalivet \n#\n# License: BSD-3-Clause" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from micromed_io.trc import MicromedTRC\nfrom pathlib import Path\n\nfname = Path(\"../data/sample.TRC\")\nmmtrc = MicromedTRC(fname)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To get most useful data from the header, you can use ``micromed_header``\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "print(mmtrc.micromed_header)\nhdr = mmtrc.micromed_header\nprint(\n f\"Participant {hdr.name}-{hdr.surname} recorded with {hdr.nb_of_channels} channels \"\n + f\"({hdr.ch_names}) at {mmtrc.sfreq}Hz with {hdr.acq_unit}.\"\n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If this is not enough for you, you can look for what you need in the full ``_header``\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "mmtrc._header" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To extract notes from recording in the format ``{sample0 : note0, ... sampleN: noteN}``\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "mmtrc.get_notes()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To extract markers from recording in the format ``{sample0 : marker0, ... sampleN: markerN}``\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "mmtrc.get_markers()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you need markers or notes times in seconds, just divide by the sampling frequency\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "{k / mmtrc.sfreq: v for k, v in mmtrc.get_markers().items()}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To get and play with the data, simply use:\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "data = mmtrc.get_data()\nprint(f\"data shape: {data.shape}\")\n# or, if you want the 1st channel data only:\ndata_ch1 = mmtrc.get_data(picks=[hdr.ch_names[0]])\nprint(f\"data_ch1 shape: {data_ch1.shape}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/_images/sphx_glr_plot_read_trc_thumb.png b/_images/sphx_glr_plot_read_trc_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8a5fed589d17fe6ee62d6a9788519dba471fbd65 GIT binary patch literal 26794 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 literal 0 HcmV?d00001 diff --git a/_images/sphx_glr_plot_trc_to_fif_001.png b/_images/sphx_glr_plot_trc_to_fif_001.png new file mode 100644 index 0000000000000000000000000000000000000000..e4cf8255c82a3ef074a3c2ceafc49975ddd13c5e GIT binary patch literal 118071 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%0A!x#iacLh0|Ejf6FPlx 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 jRFx#z=>`GmmKKq2iKUSSDPigEj_>S$zMWwP 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 R#ya>9uWO`JqJ2L2{{RV09*F<| literal 0 HcmV?d00001 diff --git a/_sources/_auto_examples/index.rst.txt b/_sources/_auto_examples/index.rst.txt new file mode 100644 index 0000000..2fe7425 --- /dev/null +++ b/_sources/_auto_examples/index.rst.txt @@ -0,0 +1,77 @@ +:orphan: + +Examples Gallery +================ + +The examples gallery provides working code samples to try the MicromedIO library. + + +.. raw:: html + +
+ + +.. raw:: html + +
+ +.. only:: html + + .. image:: /_auto_examples/images/thumb/sphx_glr_plot_trc_to_fif_thumb.png + :alt: + + :ref:`sphx_glr__auto_examples_plot_trc_to_fif.py` + +.. raw:: html + +
Convert TRC file to mne format
+
+ + +.. raw:: html + +
+ +.. only:: html + + .. image:: /_auto_examples/images/thumb/sphx_glr_plot_read_trc_thumb.png + :alt: + + :ref:`sphx_glr__auto_examples_plot_read_trc.py` + +.. raw:: html + +
Read TRC file data
+
+ + +.. raw:: html + +
+ + +.. toctree:: + :hidden: + + /_auto_examples/plot_trc_to_fif + /_auto_examples/plot_read_trc + + +.. only:: html + + .. container:: sphx-glr-footer sphx-glr-footer-gallery + + .. container:: sphx-glr-download sphx-glr-download-python + + :download:`Download all examples in Python source code: _auto_examples_python.zip ` + + .. container:: sphx-glr-download sphx-glr-download-jupyter + + :download:`Download all examples in Jupyter notebooks: _auto_examples_jupyter.zip ` + + +.. only:: html + + .. rst-class:: sphx-glr-signature + + `Gallery generated by Sphinx-Gallery `_ diff --git a/_sources/_auto_examples/plot_read_trc.rst.txt b/_sources/_auto_examples/plot_read_trc.rst.txt new file mode 100644 index 0000000..26e2e8d --- /dev/null +++ b/_sources/_auto_examples/plot_read_trc.rst.txt @@ -0,0 +1,561 @@ + +.. DO NOT EDIT. +.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. +.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: +.. "_auto_examples/plot_read_trc.py" +.. LINE NUMBERS ARE GIVEN BELOW. + +.. only:: html + + .. note:: + :class: sphx-glr-download-link-note + + :ref:`Go to the end ` + to download the full example code + +.. rst-class:: sphx-glr-example-title + +.. _sphx_glr__auto_examples_plot_read_trc.py: + + +=================== +Read TRC file data +=================== + +Here we read a trc file recorded with a Micromed system. We access the header, the notes, +the markers and the data. + +.. GENERATED FROM PYTHON SOURCE LINES 9-13 + +.. code-block:: Python + + # Author: Etienne de Montalivet + # + # License: BSD-3-Clause + + + + + + + + +.. GENERATED FROM PYTHON SOURCE LINES 14-19 + +.. code-block:: Python + + from micromed_io.trc import MicromedTRC + from pathlib import Path + + fname = Path("../data/sample.TRC") + mmtrc = MicromedTRC(fname) + + + + + + + +.. GENERATED FROM PYTHON SOURCE LINES 20-21 + +To get most useful data from the header, you can use ``micromed_header`` + +.. GENERATED FROM PYTHON SOURCE LINES 21-28 + +.. code-block:: Python + + print(mmtrc.micromed_header) + hdr = mmtrc.micromed_header + print( + f"Participant {hdr.name}-{hdr.surname} recorded with {hdr.nb_of_channels} channels " + + f"({hdr.ch_names}) at {mmtrc.sfreq}Hz with {hdr.acq_unit}." + ) + + + + + +.. rst-class:: sphx-glr-script-out + + .. code-block:: none + + MicromedHeader(surname='Test', name='Chb', nb_of_channels=14, order=array([ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 170, 174, 197, + 198], dtype=uint16), acq_unit='65', min_sampling_rate=2048, nb_of_bytes=2, header_type='Micromed "System98" Header type', stored_channels=array([ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 170, 174, 197, + 198], dtype=uint16), ch_names=['x1-G2', 'x2-G2', 'x3-G2', 'x4-G2', 'x5-G2', 'x6-G2', 'x7-G2', 'x8-G2', 'x9-G2', 'x10-G2', 'MKR1+-MKR1-', 'MKR2+-MKR2-', 'MKR3+-MKR3-', 'MKR4+-MKR4-'], elec_refs=[ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV'), ElectrodeReferences(factor=0.09765625, logic_ground=32768, units='μV')], data_address=648170, recording_date=datetime.datetime(2023, 11, 6, 14, 35, 6), notes={64: 'TCP connection failed'}, markers={14144: '17', 57881: '17', 58401: '20', 58919: '32', 59435: '40', 59951: '14', 60467: '101', 60989: '3', 67537: '2', 68577: '1', 69613: '4', 72695: '3', 73728: '2', 74752: '1', 75776: '4', 78848: '3', 79872: '2', 80896: '1', 81920: '4', 84999: '3', 86035: '2', 87069: '1', 88103: '4', 91183: '3', 92217: '2', 93248: '1', 94272: '4', 97344: '3', 98368: '2', 99392: '1', 100416: '4', 103517: '14', 104035: '102', 104557: '3', 111643: '2', 112677: '1', 113711: '4', 116793: '3', 117824: '2', 118848: '1', 119872: '4', 122944: '3', 123968: '2', 124992: '1', 126017: '4', 129099: '3', 130133: '2', 131165: '1', 132201: '4', 135285: '3', 136317: '2', 137344: '1', 138368: '4', 141440: '3', 142464: '2', 143488: '1', 144512: '4', 147585: '14', 148099: '101', 148659: '3', 154613: '2', 155645: '1', 156672: '4', 159744: '3', 160768: '2', 161792: '1', 162816: '4', 165895: '3', 166931: '2', 167963: '1', 168997: '4', 172079: '3', 173113: '2', 174144: '1', 175168: '4', 178240: '3', 179264: '2', 180288: '1', 181312: '4', 184385: '3', 185419: '2', 186455: '1', 187485: '4', 190565: '14', 191081: '102', 191603: '3', 196829: '2', 197861: '1', 198895: '4', 201977: '3', 203008: '2', 204032: '1', 205056: '4', 208128: '3', 209152: '2', 210176: '1', 211201: '4', 214281: '3', 215317: '2', 216349: '1', 217383: '4', 220465: '3', 221499: '2', 222528: '1', 223552: '4', 226624: '3', 227648: '2', 228672: '1', 229696: '4', 232769: '14', 233283: '101', 233803: '3', 240064: '2', 241093: '1', 242127: '4', 245209: '3', 246243: '2', 247277: '1', 248311: '4', 251391: '3', 252416: '2', 253440: '1', 254464: '4', 257536: '3', 258560: '2', 259584: '1', 260613: '4', 263695: '3', 264731: '2', 265765: '1', 266799: '4', 269881: '3', 270912: '2', 271936: '1', 272960: '4', 276032: '14', 276544: '102', 277056: '3', 283797: '2', 284829: '1', 285865: '4', 288947: '3', 289979: '2', 291008: '1', 292032: '4', 295104: '3', 296128: '2', 297152: '1', 298185: '4', 299693: '16', 312960: '17', 314560: '3', 315584: '2', 316608: '1', 317632: '4', 320704: '3', 321733: '2', 322767: '1', 323837: '4', 326912: '3', 327936: '2', 328960: '1', 329984: '4', 333056: '11'}) + Participant Chb-Test recorded with 14 channels (['x1-G2', 'x2-G2', 'x3-G2', 'x4-G2', 'x5-G2', 'x6-G2', 'x7-G2', 'x8-G2', 'x9-G2', 'x10-G2', 'MKR1+-MKR1-', 'MKR2+-MKR2-', 'MKR3+-MKR3-', 'MKR4+-MKR4-']) at 2048Hz with 65. + + + + +.. GENERATED FROM PYTHON SOURCE LINES 29-30 + +If this is not enough for you, you can look for what you need in the full ``_header`` + +.. GENERATED FROM PYTHON SOURCE LINES 30-31 + +.. code-block:: Python + + mmtrc._header + + + + +.. rst-class:: sphx-glr-script-out + + .. code-block:: none + + + {'title': '* MICROMED Brain-Quick file *\x00\x1a', 'laboratory': '', 'surname': 'Test', 'name': 'Chb', 'date_of_birth': datetime.date(2020, 1, 1), 'start_time': datetime.datetime(2023, 11, 6, 14, 35, 6), 'acquisition_unit': '65', 'filetype': 'CFRE C.R., variable EEG, variable poly', 'BOData': 648170, 'n_chan': 14, 'multiplexer': 28, 's_freq': 2048, 'n_bytes': 2, 'compression': 0, 'n_montages': 13, 'dvideo_begin': 4294967295, 'mpeg_delay': 0, 'header_type': 'Micromed "System98" Header type', 'order': array([ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 170, 174, 197, + 198], dtype=uint16), 'chans': [{'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x1', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 0, 'Latitude': 90.0, 'Longitude': 108.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x2', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 1, 'Latitude': 90.0, 'Longitude': 72.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x3', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 2, 'Latitude': 61.79999923706055, 'Longitude': 130.6999969482422, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x4', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 3, 'Latitude': 61.79999923706055, 'Longitude': 49.29999923706055, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x5', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 4, 'Latitude': 90.0, 'Longitude': 144.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x6', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 5, 'Latitude': 90.0, 'Longitude': 36.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x7', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 6, 'Latitude': 45.0, 'Longitude': 90.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x8', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 7, 'Latitude': 45.0, 'Longitude': 180.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x9', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 8, 'Latitude': 45.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x00', 'chan_name': 'x10', 'ground': 'G2', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 150, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 9, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 0, 'Description': '', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c'}, {'status': b'\x01', 'channelType': b'\x03', 'chan_name': 'MKR1+', 'ground': 'MKR1-', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 0, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 64, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 1, 'Description': 'Marker of the first headbox', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c\x00\x00\x00\x00\x00\x00\x0b'}, {'status': b'\x01', 'channelType': b'\x03', 'chan_name': 'MKR2+', 'ground': 'MKR2-', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 0, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 129, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 1, 'Description': 'Marker of the second headbox', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c\x00\x00\x00\x00\x00\x00\x0b'}, {'status': b'\x01', 'channelType': b'\x03', 'chan_name': 'MKR3+', 'ground': 'MKR3-', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 0, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 194, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 1, 'Description': 'Marker of the third headbox', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c\x00\x00\x00\x00\x00\x00\x0b'}, {'status': b'\x01', 'channelType': b'\x03', 'chan_name': 'MKR4+', 'ground': 'MKR4-', 'logical_ground': 32768, 'factor': 0.09765625, 'units': 'μV', 'HiPass_Limit': 0, 'HiPass_Type': 0, 'LowPass_Limit': 0, 'LowPass_Type': 0, 'rate_coefficient': 1, 'position': 255, 'Latitude': 0.0, 'Longitude': 0.0, 'presentInMap': 0, 'isInAvg': 1, 'Description': 'Marker of the fourth headbox', 'xyz': (0.0, 0.0, 0.0), 'Coordinate_Type': 0, 'free': b'\x80\xf3\xff\xff\x80\x0c\x00\x00\x00\x00\x00\x00\x0b'}], 'notes': array([(64, b'TCP connection failed'), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), + ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b''), ( 0, b'')], + dtype=[('sample', '?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x1c\x08\x03\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\''}, {'lines': 20, 'sectors': 0, 'base_time': 15, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'DB Std', 'inputsNonInv': (6, 2, 44, 6, 49, 44, 15, 49, 4, 2, 9, 4, 12, 9, 15, 12, 3, 1, 8, 3, 11, 8, 14, 11, 5, 1, 40, 5, 45, 40, 14, 45, 10, 7, 13, 10, 0, 191, 0, 174, 0, 174, 0, 21, 0, 166, 0, 167, 0, 168, 0, 169, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 100000, 40000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 200, 200, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00&&&&&&&&\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x08\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x10\''}, {'lines': 16, 'sectors': 0, 'base_time': 15, 'notch': 0, 'colour': (9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Transv Std', 'inputsNonInv': (1, 2, 4, 6, 7, 4, 3, 7, 5, 3, 9, 44, 10, 9, 8, 10, 40, 8, 12, 49, 13, 12, 11, 13, 45, 11, 14, 15, 0, 191, 0, 174, 18, 16, 14, 18, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1000, 0, 1600, 1600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 3000, 100000, 7000, 7000, 32000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x08\x04\x05\x05\n\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x01\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x10\''}, {'lines': 27, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (9, 9, 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, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 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, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Ref 25', 'inputsNonInv': (0, 56, 0, 57, 0, 58, 0, 2, 0, 6, 0, 44, 0, 49, 0, 15, 0, 4, 0, 9, 0, 12, 0, 3, 0, 8, 0, 11, 0, 1, 0, 5, 0, 40, 0, 45, 0, 14, 0, 53, 0, 54, 0, 55, 0, 7, 0, 10, 0, 13, 0, 194, 0, 174, 0, 191, 0, 53, 0, 54, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 77, 0, 77, 0, 77, 0, 77, 0, 75, 0, 76, 0, 77, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91, 0, 92, 0, 93, 0, 94, 0, 95, 0, 96, 0, 97), 'inputsInv': (0, 98, 0, 101, 0, 102, 0, 103, 0, 104, 0, 105, 0, 107, 0, 108, 0, 109, 0, 110, 0, 111, 0, 112, 0, 113, 0, 114, 0, 115, 0, 116, 0, 117, 0, 118, 0, 120, 0, 121, 0, 122, 0, 123, 0, 124, 0, 125, 0, 128, 0, 129, 0, 130, 0, 131, 0, 132, 0, 133, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 145, 144, 147, 146, 149, 148, 0, 129, 0, 130, 0, 131, 0, 132, 0, 133, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 145, 144, 147, 146, 149, 148, 149, 148, 0, 143, 145, 144, 147, 146, 149, 148), 'HiPass_Filter': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 1000, 0, 1000, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 1000, 1000, 1000, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 1000, 1000, 1000, 1000, 300, 1000, 1000, 1000), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 10000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 1000, 10000, 10000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 1000, 10000, 10000, 10000, 40000, 1000, 10000, 10000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 200, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 200, 200, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 200, 200, 200, 800, 800, 200, 200), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x1c\x08\x04\x08\x05\x05((((((((((((((((\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x05\x05\x05\x05\x05\x05(((((((\x05\x05\x05\x05\x05\x05\x05((((((\x05\x05\x05\x05\x05\x05\x05((((((((\x08--\x05\x05\x05\x05\x05\x05((((((((\x08---(\x08--\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 28, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 2, 2, 2, 2, 2, 2, 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, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 2, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Triple B - 25', 'inputsNonInv': (56, 2, 57, 56, 58, 57, 15, 58, 6, 2, 44, 6, 49, 44, 15, 49, 4, 2, 9, 4, 12, 9, 15, 12, 3, 1, 8, 3, 11, 8, 14, 11, 5, 1, 40, 5, 45, 40, 14, 45, 53, 1, 54, 53, 55, 54, 14, 55, 10, 7, 13, 10, 0, 194, 0, 174, 0, 174, 0, 33, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, 62, 0, 63, 0, 64, 0, 65, 0, 66, 0, 67), 'inputsInv': (0, 68, 0, 69, 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91, 0, 92, 0, 93, 0, 94, 0, 95, 145, 144, 145, 144, 145, 144, 145, 144, 145, 144, 0, 21, 0, 2, 0, 68, 0, 67, 0, 6, 0, 72, 0, 4, 0, 71, 0, 77, 0, 59, 0, 76, 0, 53, 0, 17, 0, 81, 0, 9, 0, 80, 0, 86, 0, 62, 0, 85, 0, 56, 0, 19, 0, 90, 0, 12, 0, 89, 0, 93, 0, 58, 0, 15, 0, 198, 0, 205, 174, 0, 174, 0), 'HiPass_Filter': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 1000, 0, 0, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 53000, 0, 0), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 100000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 12000, 12000, 12000, 12000, 12000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 40000, 40000, 40000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 100, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 120, 120, 120, 120, 120, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x08\x04\x04\x05\x05\x05\x05\x05\x05\x05((((((((\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x08\x08\x08\x08\x08\x1c((((((((((((((((((((((((((\x08\x1c\x05\x05\x01\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x10\''}, {'lines': 37, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (9, 9, 9, 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), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Ref 38', 'inputsNonInv': (0, 2, 0, 6, 0, 44, 0, 49, 0, 15, 0, 4, 0, 9, 0, 12, 0, 67, 0, 68, 0, 69, 0, 70, 0, 75, 0, 76, 0, 71, 0, 77, 0, 1, 0, 3, 0, 8, 0, 11, 0, 14, 0, 5, 0, 40, 0, 45, 0, 62, 0, 63, 0, 64, 0, 65, 0, 72, 0, 73, 0, 66, 0, 74, 0, 7, 0, 10, 0, 13, 0, 191, 0, 174, 0, 174, 0, 174, 0, 174, 0, 174, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 400, 400, 400, 400, 400, 400, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x1c\x08\x04\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x01\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x10\''}, {'lines': 30, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Triple B 38', 'inputsNonInv': (75, 2, 76, 75, 71, 76, 77, 71, 15, 77, 6, 2, 44, 6, 49, 44, 15, 49, 4, 2, 9, 4, 12, 9, 15, 12, 3, 1, 8, 3, 11, 8, 14, 11, 5, 1, 40, 5, 45, 40, 14, 45, 72, 1, 73, 72, 66, 73, 74, 66, 14, 74, 10, 7, 13, 10, 0, 191, 0, 174, 0, 174, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 10000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x1c\x1c\x08\x04\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x01\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x10\''}, {'lines': 92, 'sectors': 0, 'base_time': 10, 'notch': 1, 'colour': (9, 9, 9, 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), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_part1_ref', 'inputsNonInv': (0, 32, 0, 33, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, 62, 0, 63, 0, 64, 0, 65, 0, 66, 0, 67, 0, 68, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 90, 0, 96, 0, 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102, 0, 103, 0, 104), 'inputsInv': (0, 105, 0, 106, 0, 107, 0, 108, 0, 109, 0, 110, 0, 111, 0, 112, 0, 113, 0, 114, 0, 115, 0, 116, 0, 117, 0, 118, 0, 119, 0, 120, 0, 121, 0, 122, 0, 123, 0, 124, 0, 125, 0, 126, 0, 127, 0, 128, 0, 129, 0, 130, 0, 131, 310, 309, 310, 309, 310, 309, 310, 309, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 10000, 10000, 10000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05********\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\x08\x08\x08\x08\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\''}, {'lines': 84, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (9, 9, 9, 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), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_part2_ref', 'inputsNonInv': (0, 132, 0, 133, 0, 134, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 0, 144, 0, 145, 0, 146, 0, 147, 0, 148, 0, 149, 0, 150, 0, 151, 0, 152, 0, 153, 0, 154, 0, 155, 0, 156, 0, 157, 0, 158, 0, 159, 0, 255, 0, 256, 0, 257, 0, 258, 0, 259, 0, 260, 0, 261, 0, 262, 0, 0, 0, 263, 0, 264, 0, 265, 0, 266, 0, 267, 0, 268, 0, 269, 0, 270, 0, 271, 0, 272, 0, 273, 0, 274, 0, 275, 0, 276, 0, 277, 0, 278, 0, 279, 0, 280, 0, 281, 0, 282, 0, 283, 0, 284, 0, 285, 0, 286, 0, 287, 0, 288, 0, 289), 'inputsInv': (0, 290, 0, 291, 0, 292, 0, 293, 0, 294, 0, 295, 0, 296, 0, 297, 0, 298, 0, 299, 0, 300, 0, 301, 0, 302, 0, 303, 0, 304, 0, 305, 0, 306, 0, 307, 0, 308, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x00\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x00\x01\x01\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 87, 'sectors': 0, 'base_time': 15, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 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), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_part1_bip', 'inputsNonInv': (33, 32, 34, 33, 35, 34, 36, 35, 37, 36, 38, 37, 39, 38, 40, 39, 41, 40, 42, 41, 43, 42, 45, 44, 46, 45, 47, 46, 48, 47, 49, 48, 50, 49, 51, 50, 52, 51, 53, 52, 54, 53, 55, 54, 57, 56, 58, 57, 59, 58, 60, 59, 62, 61, 63, 62, 64, 63, 65, 64, 66, 65, 67, 66, 68, 67, 69, 68, 70, 69, 71, 70, 72, 71, 73, 72, 74, 73, 75, 74, 76, 75, 77, 76, 78, 77, 80, 79, 81, 80, 82, 81, 83, 82, 84, 83, 85, 84, 86, 85, 87, 86, 88, 87, 89, 88, 90, 89, 97, 96, 98, 97, 99, 98, 100, 99, 101, 100, 102, 101, 103, 102, 104, 103, 105, 104, 106, 105), 'inputsInv': (107, 106, 109, 108, 110, 109, 111, 110, 112, 111, 113, 112, 114, 113, 115, 114, 117, 116, 118, 117, 119, 118, 120, 119, 121, 120, 122, 121, 123, 122, 125, 124, 126, 125, 127, 126, 128, 127, 129, 128, 130, 129, 131, 130, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 76, 'sectors': 0, 'base_time': 15, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_part2_bib', 'inputsNonInv': (133, 132, 134, 133, 135, 134, 136, 135, 137, 136, 138, 137, 139, 138, 141, 140, 142, 141, 143, 142, 144, 143, 145, 144, 146, 145, 147, 146, 148, 147, 149, 148, 151, 150, 152, 151, 153, 152, 154, 153, 155, 154, 156, 155, 157, 156, 158, 157, 159, 158, 256, 255, 257, 256, 258, 257, 259, 258, 260, 259, 261, 260, 262, 261, 0, 0, 264, 263, 265, 264, 266, 265, 267, 266, 268, 267, 269, 268, 270, 269, 271, 270, 272, 271, 273, 272, 274, 273, 276, 275, 277, 276, 278, 277, 279, 278, 280, 279, 281, 280, 282, 281, 283, 282, 284, 283, 285, 284, 286, 285, 288, 287, 289, 288, 290, 289, 291, 290, 292, 291, 293, 292, 294, 293, 295, 294, 296, 295), 'inputsInv': (297, 296, 298, 297, 300, 299, 301, 300, 302, 301, 303, 302, 304, 303, 305, 304, 306, 305, 307, 306, 308, 307, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000, 32000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\x00\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\'\'\'\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x98:'}, {'lines': 91, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (9, 9, 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, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 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, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_IMP_ref', 'inputsNonInv': (0, 32, 0, 34, 0, 36, 0, 38, 0, 40, 0, 42, 0, 44, 0, 46, 0, 48, 0, 50, 0, 52, 0, 54, 0, 56, 0, 58, 0, 60, 0, 61, 0, 63, 0, 65, 0, 67, 0, 69, 0, 71, 0, 73, 0, 75, 0, 77, 0, 79, 0, 81, 0, 83, 0, 85, 0, 87, 0, 89, 0, 96, 0, 98, 0, 100, 0, 102, 0, 104, 0, 106, 0, 108, 0, 110, 0, 112, 0, 114, 0, 116, 0, 118, 0, 120, 0, 122, 0, 124, 0, 126, 0, 128, 0, 130, 0, 132, 0, 134, 0, 136, 0, 138, 0, 140, 0, 142, 0, 144, 0, 146, 0, 148, 0, 150, 0, 152, 0, 154, 0, 156, 0, 158, 0, 255, 0, 257), 'inputsInv': (0, 259, 0, 261, 0, 0, 0, 263, 0, 265, 0, 267, 0, 269, 0, 271, 0, 273, 0, 275, 0, 277, 0, 279, 0, 281, 0, 283, 0, 285, 0, 287, 0, 289, 0, 291, 0, 293, 0, 295, 0, 297, 0, 299, 0, 301, 0, 303, 0, 305, 0, 307, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 131, 0, 132, 0, 133, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 145, 144, 147, 146, 149, 148, 149, 148, 0, 143, 145, 144, 147, 146, 149, 148), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 1000, 1000, 1000, 1000, 300, 1000, 1000, 1000), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 100000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 40000, 1000, 10000, 10000, 10000, 40000, 1000, 10000, 10000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 200, 200, 200, 800, 800, 200, 200), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\'\'\'\x05\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\'\'\'\'\x05\x05\x05\x05\'\'\'\'\x05\x05\x05\x05\'\'\'\'\'\x05\x05\x05\x05\x05\'\'\'\'\x00\x05\x05\x05\x05\x05\x05\'\'\'\'\'\'\x05\x05\x05\x05\x05\x05\'\'\'\'\'\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05((((((((\x08---(\x08--\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 74, 'sectors': 0, 'base_time': 10, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 2, 2, 2, 2, 2, 2, 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, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 2, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': 'Perrier_IMP_bip', 'inputsNonInv': (34, 32, 36, 34, 38, 36, 40, 38, 42, 40, 46, 44, 48, 46, 50, 48, 52, 50, 54, 52, 58, 56, 60, 58, 63, 61, 65, 63, 67, 65, 69, 67, 71, 69, 73, 71, 75, 73, 77, 75, 81, 79, 83, 81, 85, 83, 87, 85, 89, 87, 98, 96, 100, 98, 102, 100, 104, 102, 106, 104, 110, 108, 112, 110, 114, 112, 118, 116, 120, 118, 122, 120, 126, 124, 128, 126, 130, 128, 134, 132, 136, 134, 138, 136, 142, 140, 144, 142, 146, 144, 148, 146, 152, 150, 154, 152, 156, 154, 158, 156, 257, 255, 259, 257, 261, 259, 0, 0, 265, 263, 267, 265, 269, 267, 271, 269, 273, 271, 277, 275, 279, 277, 281, 279, 283, 281, 285, 283), 'inputsInv': (289, 287, 291, 289, 293, 291, 295, 293, 297, 295, 301, 299, 303, 301, 305, 303, 307, 305, 310, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 9, 0, 80, 0, 86, 0, 62, 0, 85, 0, 56, 0, 19, 0, 90, 0, 12, 0, 89, 0, 93, 0, 58, 0, 15, 0, 198, 0, 205, 174, 0, 174, 0), 'HiPass_Filter': (1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 53000, 0, 0), 'LowPass_Filter': (50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 10000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 7000, 40000, 40000, 40000), 'reference': (500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800), 'free': b'\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\'\'\'\'\'\x05\x05\x05\x05\x05\'\'\x05\x05\x05\x05\x05\x05\x05\x05\'\'\'\'\'\x05\x05\x05\x05\x05\'\'\'\x05\x05\x05\'\'\'\x05\x05\x05\'\'\'\'\x05\x05\x05\x05\'\'\'\x00\x05\x05\x05\x05\x05\'\'\'\'\x05\x05\x05\x05\x05\x05\'\'\'\'\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05((((((((((((((\x08\x1c\x05\x05\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x01\x00\x10\''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}, {'lines': 0, 'sectors': 0, 'base_time': 0, 'notch': 0, 'colour': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'selection': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'description': '', 'inputsNonInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'inputsInv': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'HiPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'LowPass_Filter': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'reference': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 'free': b''}], 'dvideo': array([(1229791274, 1297044035, 538985541, 1767993922), + (1968254318, 543908713, 1701603686, 436218400), + ( 538976288, 538976288, 538976288, 538976288), ..., + ( 0, 0, 0, 0), + ( 0, 0, 4294964096, 3200), + ( 0, 0, 0, 0)], + dtype=[('delay', '` + + .. container:: sphx-glr-download sphx-glr-download-python + + :download:`Download Python source code: plot_read_trc.py ` + + +.. only:: html + + .. rst-class:: sphx-glr-signature + + `Gallery generated by Sphinx-Gallery `_ diff --git a/_sources/_auto_examples/plot_trc_to_fif.rst.txt b/_sources/_auto_examples/plot_trc_to_fif.rst.txt new file mode 100644 index 0000000..d96a6be --- /dev/null +++ b/_sources/_auto_examples/plot_trc_to_fif.rst.txt @@ -0,0 +1,222 @@ + +.. DO NOT EDIT. +.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. +.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: +.. "_auto_examples/plot_trc_to_fif.py" +.. LINE NUMBERS ARE GIVEN BELOW. + +.. only:: html + + .. note:: + :class: sphx-glr-download-link-note + + :ref:`Go to the end ` + to download the full example code + +.. rst-class:: sphx-glr-example-title + +.. _sphx_glr__auto_examples_plot_trc_to_fif.py: + + +============================== +Convert TRC file to mne format +============================== + +Here we convert a trc file recorded with a Micromed system to fif, the common +format used in mne framework. + +.. GENERATED FROM PYTHON SOURCE LINES 9-13 + +.. code-block:: Python + + # Author: Etienne de Montalivet + # + # License: BSD-3-Clause + + + + + + + + +.. GENERATED FROM PYTHON SOURCE LINES 14-20 + +.. code-block:: Python + + + from micromed_io.to_mne import create_mne_from_micromed_recording + from pathlib import Path + + fname = Path("../data/sample.TRC") + mne_raw = create_mne_from_micromed_recording(fname) + + + + +.. rst-class:: sphx-glr-script-out + + .. code-block:: none + + WARNING:root:MKR channel(s) is not close to 50mV. If no trigger received, then data are corrupted. + Creating RawArray with float64 data, n_channels=14, n_times=349632 + Range : 0 ... 349631 = 0.000 ... 170.718 secs + Ready. + + + + +.. GENERATED FROM PYTHON SOURCE LINES 21-22 + +Info from trc file is parsed and stored in mne.Info + +.. GENERATED FROM PYTHON SOURCE LINES 22-23 + +.. code-block:: Python + + mne_raw.info + + + + + +.. raw:: html + +
+
+ General + + + + + + + + + + + + + + + + + + + + + +
Measurement dateNovember 06, 2023 14:35:06 GMT
ExperimenterUnknown
ParticipantChb
+
+
+ Channels + + + + + + + + + + + + + + + + + + + + + + + +
Digitized pointsNot available
Good channels14 EEG
Bad channelsNone
EOG channelsNot available
ECG channelsNot available
+
+
+ Data + + + + + + + + + + + + + + + + + + + + + + +
Sampling frequency2048.00 Hz
Highpass0.00 Hz
Lowpass1024.00 Hz
+
+
+
+
+ +.. GENERATED FROM PYTHON SOURCE LINES 24-26 + +As you see, markers sent by serial connection to Micromed are +parsed from the trc file and stored as mne.Annotations + +.. GENERATED FROM PYTHON SOURCE LINES 26-27 + +.. code-block:: Python + + mne_raw.plot(scalings=dict(eeg=5000), duration=20, start=20) + + + +.. image-sg:: /_auto_examples/images/sphx_glr_plot_trc_to_fif_001.png + :alt: plot trc to fif + :srcset: /_auto_examples/images/sphx_glr_plot_trc_to_fif_001.png + :class: sphx-glr-single-img + + +.. rst-class:: sphx-glr-script-out + + .. code-block:: none + + Using matplotlib as 2D backend. + + + + + + +.. rst-class:: sphx-glr-timing + + **Total running time of the script:** (0 minutes 2.123 seconds) + + +.. _sphx_glr_download__auto_examples_plot_trc_to_fif.py: + +.. only:: html + + .. container:: sphx-glr-footer sphx-glr-footer-example + + .. container:: sphx-glr-download sphx-glr-download-jupyter + + :download:`Download Jupyter notebook: plot_trc_to_fif.ipynb ` + + .. container:: sphx-glr-download sphx-glr-download-python + + :download:`Download Python source code: plot_trc_to_fif.py ` + + +.. only:: html + + .. rst-class:: sphx-glr-signature + + `Gallery generated by Sphinx-Gallery `_ diff --git a/_sources/_auto_examples/sg_execution_times.rst.txt b/_sources/_auto_examples/sg_execution_times.rst.txt new file mode 100644 index 0000000..f900c0c --- /dev/null +++ b/_sources/_auto_examples/sg_execution_times.rst.txt @@ -0,0 +1,40 @@ + +:orphan: + +.. _sphx_glr__auto_examples_sg_execution_times: + + +Computation times +================= +**00:02.211** total execution time for 2 files **from _auto_examples**: + +.. container:: + + .. raw:: html + + + + + + + + .. list-table:: + :header-rows: 1 + :class: table table-striped sg-datatable + + * - Example + - Time + - Mem (MB) + * - :ref:`sphx_glr__auto_examples_plot_trc_to_fif.py` (``plot_trc_to_fif.py``) + - 00:02.123 + - 0.0 + * - :ref:`sphx_glr__auto_examples_plot_read_trc.py` (``plot_read_trc.py``) + - 00:00.087 + - 0.0 diff --git a/_sources/_autosummary/micromed_io.buffer.MicromedBuffer.rst.txt b/_sources/_autosummary/micromed_io.buffer.MicromedBuffer.rst.txt new file mode 100644 index 0000000..914e496 --- /dev/null +++ b/_sources/_autosummary/micromed_io.buffer.MicromedBuffer.rst.txt @@ -0,0 +1,27 @@ +micromed\_io.buffer.MicromedBuffer +================================== + +.. currentmodule:: micromed_io.buffer + +.. autoclass:: MicromedBuffer + :show-inheritance: + :inherited-members: + :special-members: __call__, __add__, __mul__ + + + + .. rubric:: Methods + + .. autosummary:: + :nosignatures: + + ~MicromedBuffer.decode_data_eeg_packet + ~MicromedBuffer.decode_data_header_packet + ~MicromedBuffer.init_buffer + ~MicromedBuffer.update_epoch_buffer + + + + + + \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.buffer.rst.txt b/_sources/_autosummary/micromed_io.buffer.rst.txt new file mode 100644 index 0000000..e01daac --- /dev/null +++ b/_sources/_autosummary/micromed_io.buffer.rst.txt @@ -0,0 +1,32 @@ +micromed\_io.buffer +=================== + +.. automodule:: micromed_io.buffer + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + :template: custom-class-template.rst + :nosignatures: + + MicromedBuffer + + + + + + + + + diff --git a/_sources/_autosummary/micromed_io.header.ElectrodeReferences.rst.txt b/_sources/_autosummary/micromed_io.header.ElectrodeReferences.rst.txt new file mode 100644 index 0000000..bd38642 --- /dev/null +++ b/_sources/_autosummary/micromed_io.header.ElectrodeReferences.rst.txt @@ -0,0 +1,31 @@ +micromed\_io.header.ElectrodeReferences +======================================= + +.. currentmodule:: micromed_io.header + +.. autoclass:: ElectrodeReferences + :show-inheritance: + :inherited-members: + :special-members: __call__, __add__, __mul__ + + + + .. rubric:: Methods + + .. autosummary:: + :nosignatures: + + + + + + + .. rubric:: Attributes detail + + .. autosummary:: + + ~ElectrodeReferences.factor + ~ElectrodeReferences.logic_ground + ~ElectrodeReferences.units + + \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.header.MicromedHeader.rst.txt b/_sources/_autosummary/micromed_io.header.MicromedHeader.rst.txt new file mode 100644 index 0000000..8b661a8 --- /dev/null +++ b/_sources/_autosummary/micromed_io.header.MicromedHeader.rst.txt @@ -0,0 +1,43 @@ +micromed\_io.header.MicromedHeader +================================== + +.. currentmodule:: micromed_io.header + +.. autoclass:: MicromedHeader + :show-inheritance: + :inherited-members: + :special-members: __call__, __add__, __mul__ + + + + .. rubric:: Methods + + .. autosummary:: + :nosignatures: + + + + + + + .. rubric:: Attributes detail + + .. autosummary:: + + ~MicromedHeader.acq_unit + ~MicromedHeader.ch_names + ~MicromedHeader.data_address + ~MicromedHeader.elec_refs + ~MicromedHeader.header_type + ~MicromedHeader.markers + ~MicromedHeader.min_sampling_rate + ~MicromedHeader.name + ~MicromedHeader.nb_of_bytes + ~MicromedHeader.nb_of_channels + ~MicromedHeader.notes + ~MicromedHeader.order + ~MicromedHeader.recording_date + ~MicromedHeader.stored_channels + ~MicromedHeader.surname + + \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.header.rst.txt b/_sources/_autosummary/micromed_io.header.rst.txt new file mode 100644 index 0000000..71024be --- /dev/null +++ b/_sources/_autosummary/micromed_io.header.rst.txt @@ -0,0 +1,33 @@ +micromed\_io.header +=================== + +.. automodule:: micromed_io.header + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + :template: custom-class-template.rst + :nosignatures: + + ElectrodeReferences + MicromedHeader + + + + + + + + + diff --git a/_sources/_autosummary/micromed_io.in_out.MicromedIO.rst.txt b/_sources/_autosummary/micromed_io.in_out.MicromedIO.rst.txt new file mode 100644 index 0000000..c4497c8 --- /dev/null +++ b/_sources/_autosummary/micromed_io.in_out.MicromedIO.rst.txt @@ -0,0 +1,25 @@ +micromed\_io.in\_out.MicromedIO +=============================== + +.. currentmodule:: micromed_io.in_out + +.. autoclass:: MicromedIO + :show-inheritance: + :inherited-members: + :special-members: __call__, __add__, __mul__ + + + + .. rubric:: Methods + + .. autosummary:: + :nosignatures: + + ~MicromedIO.decode_data_eeg_packet + ~MicromedIO.decode_data_header_packet + + + + + + \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.in_out.rst.txt b/_sources/_autosummary/micromed_io.in_out.rst.txt new file mode 100644 index 0000000..81a3ebd --- /dev/null +++ b/_sources/_autosummary/micromed_io.in_out.rst.txt @@ -0,0 +1,32 @@ +micromed\_io.in\_out +==================== + +.. automodule:: micromed_io.in_out + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + :template: custom-class-template.rst + :nosignatures: + + MicromedIO + + + + + + + + + diff --git a/_sources/_autosummary/micromed_io.rst.txt b/_sources/_autosummary/micromed_io.rst.txt new file mode 100644 index 0000000..f5c4ee9 --- /dev/null +++ b/_sources/_autosummary/micromed_io.rst.txt @@ -0,0 +1,35 @@ +micromed\_io +============ + +.. automodule:: micromed_io + + + + + + + + + + + + + + + + + + + +.. autosummary:: + :toctree: + :template: custom-module-template.rst + :recursive: + + micromed_io.buffer + micromed_io.header + micromed_io.in_out + micromed_io.tcp + micromed_io.to_mne + micromed_io.trc + diff --git a/_sources/_autosummary/micromed_io.tcp.MicromedPacketType.rst.txt b/_sources/_autosummary/micromed_io.tcp.MicromedPacketType.rst.txt new file mode 100644 index 0000000..5a57eca --- /dev/null +++ b/_sources/_autosummary/micromed_io.tcp.MicromedPacketType.rst.txt @@ -0,0 +1,26 @@ +micromed\_io.tcp.MicromedPacketType +=================================== + +.. currentmodule:: micromed_io.tcp + +.. autoclass:: MicromedPacketType + :show-inheritance: + :inherited-members: + :special-members: __call__, __add__, __mul__ + + + + + + + + .. rubric:: Attributes detail + + .. autosummary:: + + ~MicromedPacketType.HEADER + ~MicromedPacketType.EEG_DATA + ~MicromedPacketType.NOTE + ~MicromedPacketType.MARKER + + \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.tcp.decode_tcp_header_packet.rst.txt b/_sources/_autosummary/micromed_io.tcp.decode_tcp_header_packet.rst.txt new file mode 100644 index 0000000..85af69f --- /dev/null +++ b/_sources/_autosummary/micromed_io.tcp.decode_tcp_header_packet.rst.txt @@ -0,0 +1,6 @@ +micromed\_io.tcp.decode\_tcp\_header\_packet +============================================ + +.. currentmodule:: micromed_io.tcp + +.. autofunction:: decode_tcp_header_packet \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.tcp.decode_tcp_marker_packet.rst.txt b/_sources/_autosummary/micromed_io.tcp.decode_tcp_marker_packet.rst.txt new file mode 100644 index 0000000..0ac423f --- /dev/null +++ b/_sources/_autosummary/micromed_io.tcp.decode_tcp_marker_packet.rst.txt @@ -0,0 +1,6 @@ +micromed\_io.tcp.decode\_tcp\_marker\_packet +============================================ + +.. currentmodule:: micromed_io.tcp + +.. autofunction:: decode_tcp_marker_packet \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.tcp.decode_tcp_note_packet.rst.txt b/_sources/_autosummary/micromed_io.tcp.decode_tcp_note_packet.rst.txt new file mode 100644 index 0000000..9fddbce --- /dev/null +++ b/_sources/_autosummary/micromed_io.tcp.decode_tcp_note_packet.rst.txt @@ -0,0 +1,6 @@ +micromed\_io.tcp.decode\_tcp\_note\_packet +========================================== + +.. currentmodule:: micromed_io.tcp + +.. autofunction:: decode_tcp_note_packet \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.tcp.encode_marker_packet.rst.txt b/_sources/_autosummary/micromed_io.tcp.encode_marker_packet.rst.txt new file mode 100644 index 0000000..bfb84c4 --- /dev/null +++ b/_sources/_autosummary/micromed_io.tcp.encode_marker_packet.rst.txt @@ -0,0 +1,6 @@ +micromed\_io.tcp.encode\_marker\_packet +======================================= + +.. currentmodule:: micromed_io.tcp + +.. autofunction:: encode_marker_packet \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.tcp.encode_note_packet.rst.txt b/_sources/_autosummary/micromed_io.tcp.encode_note_packet.rst.txt new file mode 100644 index 0000000..1da6671 --- /dev/null +++ b/_sources/_autosummary/micromed_io.tcp.encode_note_packet.rst.txt @@ -0,0 +1,6 @@ +micromed\_io.tcp.encode\_note\_packet +===================================== + +.. currentmodule:: micromed_io.tcp + +.. autofunction:: encode_note_packet \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.tcp.get_tcp_header.rst.txt b/_sources/_autosummary/micromed_io.tcp.get_tcp_header.rst.txt new file mode 100644 index 0000000..cc49824 --- /dev/null +++ b/_sources/_autosummary/micromed_io.tcp.get_tcp_header.rst.txt @@ -0,0 +1,6 @@ +micromed\_io.tcp.get\_tcp\_header +================================= + +.. currentmodule:: micromed_io.tcp + +.. autofunction:: get_tcp_header \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.tcp.rst.txt b/_sources/_autosummary/micromed_io.tcp.rst.txt new file mode 100644 index 0000000..dfdabe9 --- /dev/null +++ b/_sources/_autosummary/micromed_io.tcp.rst.txt @@ -0,0 +1,45 @@ +micromed\_io.tcp +================ + +.. automodule:: micromed_io.tcp + + + + + + + + .. rubric:: Functions + + .. autosummary:: + :toctree: + :nosignatures: + + decode_tcp_header_packet + decode_tcp_marker_packet + decode_tcp_note_packet + encode_marker_packet + encode_note_packet + get_tcp_header + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + :template: custom-class-template.rst + :nosignatures: + + MicromedPacketType + + + + + + + + + diff --git a/_sources/_autosummary/micromed_io.to_mne.create_mne_from_micromed_recording.rst.txt b/_sources/_autosummary/micromed_io.to_mne.create_mne_from_micromed_recording.rst.txt new file mode 100644 index 0000000..412f81b --- /dev/null +++ b/_sources/_autosummary/micromed_io.to_mne.create_mne_from_micromed_recording.rst.txt @@ -0,0 +1,6 @@ +micromed\_io.to\_mne.create\_mne\_from\_micromed\_recording +=========================================================== + +.. currentmodule:: micromed_io.to_mne + +.. autofunction:: create_mne_from_micromed_recording \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.to_mne.rst.txt b/_sources/_autosummary/micromed_io.to_mne.rst.txt new file mode 100644 index 0000000..fb22263 --- /dev/null +++ b/_sources/_autosummary/micromed_io.to_mne.rst.txt @@ -0,0 +1,31 @@ +micromed\_io.to\_mne +==================== + +.. automodule:: micromed_io.to_mne + + + + + + + + .. rubric:: Functions + + .. autosummary:: + :toctree: + :nosignatures: + + create_mne_from_micromed_recording + + + + + + + + + + + + + diff --git a/_sources/_autosummary/micromed_io.trc.MicromedTRC.rst.txt b/_sources/_autosummary/micromed_io.trc.MicromedTRC.rst.txt new file mode 100644 index 0000000..4cac1c1 --- /dev/null +++ b/_sources/_autosummary/micromed_io.trc.MicromedTRC.rst.txt @@ -0,0 +1,30 @@ +micromed\_io.trc.MicromedTRC +============================ + +.. currentmodule:: micromed_io.trc + +.. autoclass:: MicromedTRC + :show-inheritance: + :inherited-members: + :special-members: __call__, __add__, __mul__ + + + + .. rubric:: Methods + + .. autosummary:: + :nosignatures: + + ~MicromedTRC.decode_data_eeg_packet + ~MicromedTRC.decode_data_header_packet + ~MicromedTRC.get_data + ~MicromedTRC.get_header + ~MicromedTRC.get_markers + ~MicromedTRC.get_notes + ~MicromedTRC.get_sfreq + + + + + + \ No newline at end of file diff --git a/_sources/_autosummary/micromed_io.trc.rst.txt b/_sources/_autosummary/micromed_io.trc.rst.txt new file mode 100644 index 0000000..1864211 --- /dev/null +++ b/_sources/_autosummary/micromed_io.trc.rst.txt @@ -0,0 +1,32 @@ +micromed\_io.trc +================ + +.. automodule:: micromed_io.trc + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + :template: custom-class-template.rst + :nosignatures: + + MicromedTRC + + + + + + + + + diff --git a/_sources/api.rst.txt b/_sources/api.rst.txt new file mode 100644 index 0000000..460a26b --- /dev/null +++ b/_sources/api.rst.txt @@ -0,0 +1,10 @@ +============= +API Reference +============= + +.. autosummary:: + :toctree: _autosummary + :template: custom-module-template.rst + :recursive: + + micromed_io diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt new file mode 100644 index 0000000..6cd5be3 --- /dev/null +++ b/_sources/index.rst.txt @@ -0,0 +1,14 @@ +.. Micromed IO documentation master file, created by + sphinx-quickstart on Thu Dec 7 10:14:10 2023. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +.. include:: ../../README.rst + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + _auto_examples/index + api + diff --git a/_sources/sg_execution_times.rst.txt b/_sources/sg_execution_times.rst.txt new file mode 100644 index 0000000..13e9189 --- /dev/null +++ b/_sources/sg_execution_times.rst.txt @@ -0,0 +1,40 @@ + +:orphan: + +.. _sphx_glr_sg_execution_times: + + +Computation times +================= +**00:02.211** total execution time for 2 files **from all galleries**: + +.. container:: + + .. raw:: html + + + + + + + + .. list-table:: + :header-rows: 1 + :class: table table-striped sg-datatable + + * - Example + - Time + - Mem (MB) + * - :ref:`sphx_glr__auto_examples_plot_trc_to_fif.py` (``../../examples/plot_trc_to_fif.py``) + - 00:02.123 + - 0.0 + * - :ref:`sphx_glr__auto_examples_plot_read_trc.py` (``../../examples/plot_read_trc.py``) + - 00:00.087 + - 0.0 diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 0000000..e760386 --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- 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: 270px; + 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 p.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: 360px; + 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:visited { + color: #551A8B; +} + +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, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.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, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 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; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + 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; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption 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 { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- 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; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type: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 > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.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 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +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 { + margin: 1em 0; +} + +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: absolute; + 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 diff --git a/_static/binder_badge_logo.svg b/_static/binder_badge_logo.svg new file mode 100644 index 0000000..327f6b6 --- /dev/null +++ b/_static/binder_badge_logo.svg @@ -0,0 +1 @@ + launchlaunchbinderbinder \ No newline at end of file diff --git a/_static/broken_example.png b/_static/broken_example.png new file mode 100644 index 0000000000000000000000000000000000000000..4fea24e7df4781c2c32c8d7995511ac89e953145 GIT binary patch literal 21404 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 + + + diff --git a/_static/clipboard.min.js b/_static/clipboard.min.js new file mode 100644 index 0000000..54b3c46 --- /dev/null +++ b/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/_static/copybutton.css b/_static/copybutton.css new file mode 100644 index 0000000..f1916ec --- /dev/null +++ b/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/_static/copybutton.js b/_static/copybutton.js new file mode 100644 index 0000000..ba04e5f --- /dev/null +++ b/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '>>> |\\.\\.\\. |\\$ ', true, true, true, true, '\n', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/_static/copybutton_funcs.js b/_static/copybutton_funcs.js new file mode 100644 index 0000000..dbe1aaa --- /dev/null +++ b/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 0000000..d06a71d --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (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: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 0000000..0145a7a --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '0.4.1', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/_static/jupyterlite_badge_logo.svg b/_static/jupyterlite_badge_logo.svg new file mode 100644 index 0000000..5de36d7 --- /dev/null +++ b/_static/jupyterlite_badge_logo.svg @@ -0,0 +1,3 @@ + + +launchlaunchlitelite \ No newline at end of file diff --git a/_static/language_data.js b/_static/language_data.js new file mode 100644 index 0000000..250f566 --- /dev/null +++ b/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * 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-2023 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 is copied as a separate JS file, is available */ + +/** + * 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; + } +} + diff --git a/_static/minus.png b/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/_static/no_image.png b/_static/no_image.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2d48d5d3f0044cf0399b3608d8eb5db6f9d12d GIT binary patch literal 4315 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 HW8D7$6^1w` literal 0 HcmV?d00001 diff --git a/_static/plus.png b/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/_static/pygments.css b/_static/pygments.css new file mode 100644 index 0000000..997797f --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,152 @@ +html[data-theme="light"] .highlight pre { line-height: 125%; } +html[data-theme="light"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight .hll { background-color: #7971292e } +html[data-theme="light"] .highlight { background: #fefefe; color: #545454 } +html[data-theme="light"] .highlight .c { color: #797129 } /* Comment */ +html[data-theme="light"] .highlight .err { color: #d91e18 } /* Error */ +html[data-theme="light"] .highlight .k { color: #7928a1 } /* Keyword */ +html[data-theme="light"] .highlight .l { color: #797129 } /* Literal */ +html[data-theme="light"] .highlight .n { color: #545454 } /* Name */ +html[data-theme="light"] .highlight .o { color: #008000 } /* Operator */ +html[data-theme="light"] .highlight .p { color: #545454 } /* Punctuation */ +html[data-theme="light"] .highlight .ch { color: #797129 } /* Comment.Hashbang */ +html[data-theme="light"] .highlight .cm { color: #797129 } /* Comment.Multiline */ +html[data-theme="light"] .highlight .cp { color: #797129 } /* Comment.Preproc */ +html[data-theme="light"] .highlight .cpf { color: #797129 } /* Comment.PreprocFile */ +html[data-theme="light"] .highlight .c1 { color: #797129 } /* Comment.Single */ +html[data-theme="light"] .highlight .cs { color: #797129 } /* Comment.Special */ +html[data-theme="light"] .highlight .gd { color: #007faa } /* Generic.Deleted */ +html[data-theme="light"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="light"] .highlight .gh { color: #007faa } /* Generic.Heading */ +html[data-theme="light"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="light"] .highlight .gu { color: #007faa } /* Generic.Subheading */ +html[data-theme="light"] .highlight .kc { color: #7928a1 } /* Keyword.Constant */ +html[data-theme="light"] .highlight .kd { color: #7928a1 } /* Keyword.Declaration */ +html[data-theme="light"] .highlight .kn { color: #7928a1 } /* Keyword.Namespace */ +html[data-theme="light"] .highlight .kp { color: #7928a1 } /* Keyword.Pseudo */ +html[data-theme="light"] .highlight .kr { color: #7928a1 } /* Keyword.Reserved */ +html[data-theme="light"] .highlight .kt { color: #797129 } /* Keyword.Type */ +html[data-theme="light"] .highlight .ld { color: #797129 } /* Literal.Date */ +html[data-theme="light"] .highlight .m { color: #797129 } /* Literal.Number */ +html[data-theme="light"] .highlight .s { color: #008000 } /* Literal.String */ +html[data-theme="light"] .highlight .na { color: #797129 } /* Name.Attribute */ +html[data-theme="light"] .highlight .nb { color: #797129 } /* Name.Builtin */ +html[data-theme="light"] .highlight .nc { color: #007faa } /* Name.Class */ +html[data-theme="light"] .highlight .no { color: #007faa } /* Name.Constant */ +html[data-theme="light"] .highlight .nd { color: #797129 } /* Name.Decorator */ +html[data-theme="light"] .highlight .ni { color: #008000 } /* Name.Entity */ +html[data-theme="light"] .highlight .ne { color: #7928a1 } /* Name.Exception */ +html[data-theme="light"] .highlight .nf { color: #007faa } /* Name.Function */ +html[data-theme="light"] .highlight .nl { color: #797129 } /* Name.Label */ +html[data-theme="light"] .highlight .nn { color: #545454 } /* Name.Namespace */ +html[data-theme="light"] .highlight .nx { color: #545454 } /* Name.Other */ +html[data-theme="light"] .highlight .py { color: #007faa } /* Name.Property */ +html[data-theme="light"] .highlight .nt { color: #007faa } /* Name.Tag */ +html[data-theme="light"] .highlight .nv { color: #d91e18 } /* Name.Variable */ +html[data-theme="light"] .highlight .ow { color: #7928a1 } /* Operator.Word */ +html[data-theme="light"] .highlight .pm { color: #545454 } /* Punctuation.Marker */ +html[data-theme="light"] .highlight .w { color: #545454 } /* Text.Whitespace */ +html[data-theme="light"] .highlight .mb { color: #797129 } /* Literal.Number.Bin */ +html[data-theme="light"] .highlight .mf { color: #797129 } /* Literal.Number.Float */ +html[data-theme="light"] .highlight .mh { color: #797129 } /* Literal.Number.Hex */ +html[data-theme="light"] .highlight .mi { color: #797129 } /* Literal.Number.Integer */ +html[data-theme="light"] .highlight .mo { color: #797129 } /* Literal.Number.Oct */ +html[data-theme="light"] .highlight .sa { color: #008000 } /* Literal.String.Affix */ +html[data-theme="light"] .highlight .sb { color: #008000 } /* Literal.String.Backtick */ +html[data-theme="light"] .highlight .sc { color: #008000 } /* Literal.String.Char */ +html[data-theme="light"] .highlight .dl { color: #008000 } /* Literal.String.Delimiter */ +html[data-theme="light"] .highlight .sd { color: #008000 } /* Literal.String.Doc */ +html[data-theme="light"] .highlight .s2 { color: #008000 } /* Literal.String.Double */ +html[data-theme="light"] .highlight .se { color: #008000 } /* Literal.String.Escape */ +html[data-theme="light"] .highlight .sh { color: #008000 } /* Literal.String.Heredoc */ +html[data-theme="light"] .highlight .si { color: #008000 } /* Literal.String.Interpol */ +html[data-theme="light"] .highlight .sx { color: #008000 } /* Literal.String.Other */ +html[data-theme="light"] .highlight .sr { color: #d91e18 } /* Literal.String.Regex */ +html[data-theme="light"] .highlight .s1 { color: #008000 } /* Literal.String.Single */ +html[data-theme="light"] .highlight .ss { color: #007faa } /* Literal.String.Symbol */ +html[data-theme="light"] .highlight .bp { color: #797129 } /* Name.Builtin.Pseudo */ +html[data-theme="light"] .highlight .fm { color: #007faa } /* Name.Function.Magic */ +html[data-theme="light"] .highlight .vc { color: #d91e18 } /* Name.Variable.Class */ +html[data-theme="light"] .highlight .vg { color: #d91e18 } /* Name.Variable.Global */ +html[data-theme="light"] .highlight .vi { color: #d91e18 } /* Name.Variable.Instance */ +html[data-theme="light"] .highlight .vm { color: #797129 } /* Name.Variable.Magic */ +html[data-theme="light"] .highlight .il { color: #797129 } /* Literal.Number.Integer.Long */ +html[data-theme="dark"] .highlight pre { line-height: 125%; } +html[data-theme="dark"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight .hll { background-color: #ffd9002e } +html[data-theme="dark"] .highlight { background: #2b2b2b; color: #f8f8f2 } +html[data-theme="dark"] .highlight .c { color: #ffd900 } /* Comment */ +html[data-theme="dark"] .highlight .err { color: #ffa07a } /* Error */ +html[data-theme="dark"] .highlight .k { color: #dcc6e0 } /* Keyword */ +html[data-theme="dark"] .highlight .l { color: #ffd900 } /* Literal */ +html[data-theme="dark"] .highlight .n { color: #f8f8f2 } /* Name */ +html[data-theme="dark"] .highlight .o { color: #abe338 } /* Operator */ +html[data-theme="dark"] .highlight .p { color: #f8f8f2 } /* Punctuation */ +html[data-theme="dark"] .highlight .ch { color: #ffd900 } /* Comment.Hashbang */ +html[data-theme="dark"] .highlight .cm { color: #ffd900 } /* Comment.Multiline */ +html[data-theme="dark"] .highlight .cp { color: #ffd900 } /* Comment.Preproc */ +html[data-theme="dark"] .highlight .cpf { color: #ffd900 } /* Comment.PreprocFile */ +html[data-theme="dark"] .highlight .c1 { color: #ffd900 } /* Comment.Single */ +html[data-theme="dark"] .highlight .cs { color: #ffd900 } /* Comment.Special */ +html[data-theme="dark"] .highlight .gd { color: #00e0e0 } /* Generic.Deleted */ +html[data-theme="dark"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="dark"] .highlight .gh { color: #00e0e0 } /* Generic.Heading */ +html[data-theme="dark"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="dark"] .highlight .gu { color: #00e0e0 } /* Generic.Subheading */ +html[data-theme="dark"] .highlight .kc { color: #dcc6e0 } /* Keyword.Constant */ +html[data-theme="dark"] .highlight .kd { color: #dcc6e0 } /* Keyword.Declaration */ +html[data-theme="dark"] .highlight .kn { color: #dcc6e0 } /* Keyword.Namespace */ +html[data-theme="dark"] .highlight .kp { color: #dcc6e0 } /* Keyword.Pseudo */ +html[data-theme="dark"] .highlight .kr { color: #dcc6e0 } /* Keyword.Reserved */ +html[data-theme="dark"] .highlight .kt { color: #ffd900 } /* Keyword.Type */ +html[data-theme="dark"] .highlight .ld { color: #ffd900 } /* Literal.Date */ +html[data-theme="dark"] .highlight .m { color: #ffd900 } /* Literal.Number */ +html[data-theme="dark"] .highlight .s { color: #abe338 } /* Literal.String */ +html[data-theme="dark"] .highlight .na { color: #ffd900 } /* Name.Attribute */ +html[data-theme="dark"] .highlight .nb { color: #ffd900 } /* Name.Builtin */ +html[data-theme="dark"] .highlight .nc { color: #00e0e0 } /* Name.Class */ +html[data-theme="dark"] .highlight .no { color: #00e0e0 } /* Name.Constant */ +html[data-theme="dark"] .highlight .nd { color: #ffd900 } /* Name.Decorator */ +html[data-theme="dark"] .highlight .ni { color: #abe338 } /* Name.Entity */ +html[data-theme="dark"] .highlight .ne { color: #dcc6e0 } /* Name.Exception */ +html[data-theme="dark"] .highlight .nf { color: #00e0e0 } /* Name.Function */ +html[data-theme="dark"] .highlight .nl { color: #ffd900 } /* Name.Label */ +html[data-theme="dark"] .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +html[data-theme="dark"] .highlight .nx { color: #f8f8f2 } /* Name.Other */ +html[data-theme="dark"] .highlight .py { color: #00e0e0 } /* Name.Property */ +html[data-theme="dark"] .highlight .nt { color: #00e0e0 } /* Name.Tag */ +html[data-theme="dark"] .highlight .nv { color: #ffa07a } /* Name.Variable */ +html[data-theme="dark"] .highlight .ow { color: #dcc6e0 } /* Operator.Word */ +html[data-theme="dark"] .highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */ +html[data-theme="dark"] .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +html[data-theme="dark"] .highlight .mb { color: #ffd900 } /* Literal.Number.Bin */ +html[data-theme="dark"] .highlight .mf { color: #ffd900 } /* Literal.Number.Float */ +html[data-theme="dark"] .highlight .mh { color: #ffd900 } /* Literal.Number.Hex */ +html[data-theme="dark"] .highlight .mi { color: #ffd900 } /* Literal.Number.Integer */ +html[data-theme="dark"] .highlight .mo { color: #ffd900 } /* Literal.Number.Oct */ +html[data-theme="dark"] .highlight .sa { color: #abe338 } /* Literal.String.Affix */ +html[data-theme="dark"] .highlight .sb { color: #abe338 } /* Literal.String.Backtick */ +html[data-theme="dark"] .highlight .sc { color: #abe338 } /* Literal.String.Char */ +html[data-theme="dark"] .highlight .dl { color: #abe338 } /* Literal.String.Delimiter */ +html[data-theme="dark"] .highlight .sd { color: #abe338 } /* Literal.String.Doc */ +html[data-theme="dark"] .highlight .s2 { color: #abe338 } /* Literal.String.Double */ +html[data-theme="dark"] .highlight .se { color: #abe338 } /* Literal.String.Escape */ +html[data-theme="dark"] .highlight .sh { color: #abe338 } /* Literal.String.Heredoc */ +html[data-theme="dark"] .highlight .si { color: #abe338 } /* Literal.String.Interpol */ +html[data-theme="dark"] .highlight .sx { color: #abe338 } /* Literal.String.Other */ +html[data-theme="dark"] .highlight .sr { color: #ffa07a } /* Literal.String.Regex */ +html[data-theme="dark"] .highlight .s1 { color: #abe338 } /* Literal.String.Single */ +html[data-theme="dark"] .highlight .ss { color: #00e0e0 } /* Literal.String.Symbol */ +html[data-theme="dark"] .highlight .bp { color: #ffd900 } /* Name.Builtin.Pseudo */ +html[data-theme="dark"] .highlight .fm { color: #00e0e0 } /* Name.Function.Magic */ +html[data-theme="dark"] .highlight .vc { color: #ffa07a } /* Name.Variable.Class */ +html[data-theme="dark"] .highlight .vg { color: #ffa07a } /* Name.Variable.Global */ +html[data-theme="dark"] .highlight .vi { color: #ffa07a } /* Name.Variable.Instance */ +html[data-theme="dark"] .highlight .vm { color: #ffd900 } /* Name.Variable.Magic */ +html[data-theme="dark"] .highlight .il { color: #ffd900 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/_static/scripts/bootstrap.js b/_static/scripts/bootstrap.js new file mode 100644 index 0000000..bda8a60 --- /dev/null +++ b/_static/scripts/bootstrap.js @@ -0,0 +1,3 @@ +/*! For license information please see bootstrap.js.LICENSE.txt */ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{afterMain:()=>w,afterRead:()=>b,afterWrite:()=>T,applyStyles:()=>D,arrow:()=>G,auto:()=>r,basePlacements:()=>a,beforeMain:()=>v,beforeRead:()=>g,beforeWrite:()=>E,bottom:()=>n,clippingParents:()=>h,computeStyles:()=>et,createPopper:()=>St,createPopperBase:()=>Lt,createPopperLite:()=>Dt,detectOverflow:()=>gt,end:()=>c,eventListeners:()=>nt,flip:()=>_t,hide:()=>yt,left:()=>o,main:()=>y,modifierPhases:()=>C,offset:()=>wt,placements:()=>m,popper:()=>u,popperGenerator:()=>kt,popperOffsets:()=>Et,preventOverflow:()=>At,read:()=>_,reference:()=>f,right:()=>s,start:()=>l,top:()=>i,variationPlacements:()=>p,viewport:()=>d,write:()=>A});var i="top",n="bottom",s="right",o="left",r="auto",a=[i,n,s,o],l="start",c="end",h="clippingParents",d="viewport",u="popper",f="reference",p=a.reduce((function(t,e){return t.concat([e+"-"+l,e+"-"+c])}),[]),m=[].concat(a,[r]).reduce((function(t,e){return t.concat([e,e+"-"+l,e+"-"+c])}),[]),g="beforeRead",_="read",b="afterRead",v="beforeMain",y="main",w="afterMain",E="beforeWrite",A="write",T="afterWrite",C=[g,_,b,v,y,w,E,A,T];function O(t){return t?(t.nodeName||"").toLowerCase():null}function x(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function k(t){return t instanceof x(t).Element||t instanceof Element}function L(t){return t instanceof x(t).HTMLElement||t instanceof HTMLElement}function S(t){return"undefined"!=typeof ShadowRoot&&(t instanceof x(t).ShadowRoot||t instanceof ShadowRoot)}const D={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];L(s)&&O(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});L(n)&&O(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function $(t){return t.split("-")[0]}var I=Math.max,N=Math.min,P=Math.round;function M(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function j(){return!/^((?!chrome|android).)*safari/i.test(M())}function F(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&L(t)&&(s=t.offsetWidth>0&&P(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&P(n.height)/t.offsetHeight||1);var r=(k(t)?x(t):window).visualViewport,a=!j()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function H(t){var e=F(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function B(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&S(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function W(t){return x(t).getComputedStyle(t)}function z(t){return["table","td","th"].indexOf(O(t))>=0}function R(t){return((k(t)?t.ownerDocument:t.document)||window.document).documentElement}function q(t){return"html"===O(t)?t:t.assignedSlot||t.parentNode||(S(t)?t.host:null)||R(t)}function V(t){return L(t)&&"fixed"!==W(t).position?t.offsetParent:null}function Y(t){for(var e=x(t),i=V(t);i&&z(i)&&"static"===W(i).position;)i=V(i);return i&&("html"===O(i)||"body"===O(i)&&"static"===W(i).position)?e:i||function(t){var e=/firefox/i.test(M());if(/Trident/i.test(M())&&L(t)&&"fixed"===W(t).position)return null;var i=q(t);for(S(i)&&(i=i.host);L(i)&&["html","body"].indexOf(O(i))<0;){var n=W(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function K(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Q(t,e,i){return I(t,N(e,i))}function X(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function U(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const G={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,r=t.state,l=t.name,c=t.options,h=r.elements.arrow,d=r.modifiersData.popperOffsets,u=$(r.placement),f=K(u),p=[o,s].indexOf(u)>=0?"height":"width";if(h&&d){var m=function(t,e){return X("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:U(t,a))}(c.padding,r),g=H(h),_="y"===f?i:o,b="y"===f?n:s,v=r.rects.reference[p]+r.rects.reference[f]-d[f]-r.rects.popper[p],y=d[f]-r.rects.reference[f],w=Y(h),E=w?"y"===f?w.clientHeight||0:w.clientWidth||0:0,A=v/2-y/2,T=m[_],C=E-g[p]-m[b],O=E/2-g[p]/2+A,x=Q(T,O,C),k=f;r.modifiersData[l]=((e={})[k]=x,e.centerOffset=x-O,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&B(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function J(t){return t.split("-")[1]}var Z={top:"auto",right:"auto",bottom:"auto",left:"auto"};function tt(t){var e,r=t.popper,a=t.popperRect,l=t.placement,h=t.variation,d=t.offsets,u=t.position,f=t.gpuAcceleration,p=t.adaptive,m=t.roundOffsets,g=t.isFixed,_=d.x,b=void 0===_?0:_,v=d.y,y=void 0===v?0:v,w="function"==typeof m?m({x:b,y}):{x:b,y};b=w.x,y=w.y;var E=d.hasOwnProperty("x"),A=d.hasOwnProperty("y"),T=o,C=i,O=window;if(p){var k=Y(r),L="clientHeight",S="clientWidth";k===x(r)&&"static"!==W(k=R(r)).position&&"absolute"===u&&(L="scrollHeight",S="scrollWidth"),(l===i||(l===o||l===s)&&h===c)&&(C=n,y-=(g&&k===O&&O.visualViewport?O.visualViewport.height:k[L])-a.height,y*=f?1:-1),l!==o&&(l!==i&&l!==n||h!==c)||(T=s,b-=(g&&k===O&&O.visualViewport?O.visualViewport.width:k[S])-a.width,b*=f?1:-1)}var D,$=Object.assign({position:u},p&&Z),I=!0===m?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:P(i*s)/s||0,y:P(n*s)/s||0}}({x:b,y},x(r)):{x:b,y};return b=I.x,y=I.y,f?Object.assign({},$,((D={})[C]=A?"0":"",D[T]=E?"0":"",D.transform=(O.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",D)):Object.assign({},$,((e={})[C]=A?y+"px":"",e[T]=E?b+"px":"",e.transform="",e))}const et={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:$(e.placement),variation:J(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,tt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,tt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var it={passive:!0};const nt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=x(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,it)})),a&&l.addEventListener("resize",i.update,it),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,it)})),a&&l.removeEventListener("resize",i.update,it)}},data:{}};var st={left:"right",right:"left",bottom:"top",top:"bottom"};function ot(t){return t.replace(/left|right|bottom|top/g,(function(t){return st[t]}))}var rt={start:"end",end:"start"};function at(t){return t.replace(/start|end/g,(function(t){return rt[t]}))}function lt(t){var e=x(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ct(t){return F(R(t)).left+lt(t).scrollLeft}function ht(t){var e=W(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function dt(t){return["html","body","#document"].indexOf(O(t))>=0?t.ownerDocument.body:L(t)&&ht(t)?t:dt(q(t))}function ut(t,e){var i;void 0===e&&(e=[]);var n=dt(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=x(n),r=s?[o].concat(o.visualViewport||[],ht(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ut(q(r)))}function ft(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function pt(t,e,i){return e===d?ft(function(t,e){var i=x(t),n=R(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=j();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+ct(t),y:l}}(t,i)):k(e)?function(t,e){var i=F(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ft(function(t){var e,i=R(t),n=lt(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=I(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=I(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ct(t),l=-n.scrollTop;return"rtl"===W(s||i).direction&&(a+=I(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(R(t)))}function mt(t){var e,r=t.reference,a=t.element,h=t.placement,d=h?$(h):null,u=h?J(h):null,f=r.x+r.width/2-a.width/2,p=r.y+r.height/2-a.height/2;switch(d){case i:e={x:f,y:r.y-a.height};break;case n:e={x:f,y:r.y+r.height};break;case s:e={x:r.x+r.width,y:p};break;case o:e={x:r.x-a.width,y:p};break;default:e={x:r.x,y:r.y}}var m=d?K(d):null;if(null!=m){var g="y"===m?"height":"width";switch(u){case l:e[m]=e[m]-(r[g]/2-a[g]/2);break;case c:e[m]=e[m]+(r[g]/2-a[g]/2)}}return e}function gt(t,e){void 0===e&&(e={});var o=e,r=o.placement,l=void 0===r?t.placement:r,c=o.strategy,p=void 0===c?t.strategy:c,m=o.boundary,g=void 0===m?h:m,_=o.rootBoundary,b=void 0===_?d:_,v=o.elementContext,y=void 0===v?u:v,w=o.altBoundary,E=void 0!==w&&w,A=o.padding,T=void 0===A?0:A,C=X("number"!=typeof T?T:U(T,a)),x=y===u?f:u,S=t.rects.popper,D=t.elements[E?x:y],$=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=ut(q(t)),i=["absolute","fixed"].indexOf(W(t).position)>=0&&L(t)?Y(t):t;return k(i)?e.filter((function(t){return k(t)&&B(t,i)&&"body"!==O(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=pt(t,i,n);return e.top=I(s.top,e.top),e.right=N(s.right,e.right),e.bottom=N(s.bottom,e.bottom),e.left=I(s.left,e.left),e}),pt(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(k(D)?D:D.contextElement||R(t.elements.popper),g,b,p),P=F(t.elements.reference),M=mt({reference:P,element:S,strategy:"absolute",placement:l}),j=ft(Object.assign({},S,M)),H=y===u?j:P,z={top:$.top-H.top+C.top,bottom:H.bottom-$.bottom+C.bottom,left:$.left-H.left+C.left,right:H.right-$.right+C.right},V=t.modifiersData.offset;if(y===u&&V){var K=V[l];Object.keys(z).forEach((function(t){var e=[s,n].indexOf(t)>=0?1:-1,o=[i,n].indexOf(t)>=0?"y":"x";z[t]+=K[o]*e}))}return z}const _t={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,c=t.options,h=t.name;if(!e.modifiersData[h]._skip){for(var d=c.mainAxis,u=void 0===d||d,f=c.altAxis,g=void 0===f||f,_=c.fallbackPlacements,b=c.padding,v=c.boundary,y=c.rootBoundary,w=c.altBoundary,E=c.flipVariations,A=void 0===E||E,T=c.allowedAutoPlacements,C=e.options.placement,O=$(C),x=_||(O!==C&&A?function(t){if($(t)===r)return[];var e=ot(t);return[at(t),e,at(e)]}(C):[ot(C)]),k=[C].concat(x).reduce((function(t,i){return t.concat($(i)===r?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,l=i.flipVariations,c=i.allowedAutoPlacements,h=void 0===c?m:c,d=J(n),u=d?l?p:p.filter((function(t){return J(t)===d})):a,f=u.filter((function(t){return h.indexOf(t)>=0}));0===f.length&&(f=u);var g=f.reduce((function(e,i){return e[i]=gt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[$(i)],e}),{});return Object.keys(g).sort((function(t,e){return g[t]-g[e]}))}(e,{placement:i,boundary:v,rootBoundary:y,padding:b,flipVariations:A,allowedAutoPlacements:T}):i)}),[]),L=e.rects.reference,S=e.rects.popper,D=new Map,I=!0,N=k[0],P=0;P=0,B=H?"width":"height",W=gt(e,{placement:M,boundary:v,rootBoundary:y,altBoundary:w,padding:b}),z=H?F?s:o:F?n:i;L[B]>S[B]&&(z=ot(z));var R=ot(z),q=[];if(u&&q.push(W[j]<=0),g&&q.push(W[z]<=0,W[R]<=0),q.every((function(t){return t}))){N=M,I=!1;break}D.set(M,q)}if(I)for(var V=function(t){var e=k.find((function(e){var i=D.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return N=e,"break"},Y=A?3:1;Y>0&&"break"!==V(Y);Y--);e.placement!==N&&(e.modifiersData[h]._skip=!0,e.placement=N,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function bt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function vt(t){return[i,s,n,o].some((function(e){return t[e]>=0}))}const yt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=gt(e,{elementContext:"reference"}),a=gt(e,{altBoundary:!0}),l=bt(r,n),c=bt(a,s,o),h=vt(l),d=vt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,n=t.options,r=t.name,a=n.offset,l=void 0===a?[0,0]:a,c=m.reduce((function(t,n){return t[n]=function(t,e,n){var r=$(t),a=[o,i].indexOf(r)>=0?-1:1,l="function"==typeof n?n(Object.assign({},e,{placement:t})):n,c=l[0],h=l[1];return c=c||0,h=(h||0)*a,[o,s].indexOf(r)>=0?{x:h,y:c}:{x:c,y:h}}(n,e.rects,l),t}),{}),h=c[e.placement],d=h.x,u=h.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=d,e.modifiersData.popperOffsets.y+=u),e.modifiersData[r]=c}},Et={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=mt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},At={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,a=t.name,c=r.mainAxis,h=void 0===c||c,d=r.altAxis,u=void 0!==d&&d,f=r.boundary,p=r.rootBoundary,m=r.altBoundary,g=r.padding,_=r.tether,b=void 0===_||_,v=r.tetherOffset,y=void 0===v?0:v,w=gt(e,{boundary:f,rootBoundary:p,padding:g,altBoundary:m}),E=$(e.placement),A=J(e.placement),T=!A,C=K(E),O="x"===C?"y":"x",x=e.modifiersData.popperOffsets,k=e.rects.reference,L=e.rects.popper,S="function"==typeof y?y(Object.assign({},e.rects,{placement:e.placement})):y,D="number"==typeof S?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S),P=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,M={x:0,y:0};if(x){if(h){var j,F="y"===C?i:o,B="y"===C?n:s,W="y"===C?"height":"width",z=x[C],R=z+w[F],q=z-w[B],V=b?-L[W]/2:0,X=A===l?k[W]:L[W],U=A===l?-L[W]:-k[W],G=e.elements.arrow,Z=b&&G?H(G):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[F],it=tt[B],nt=Q(0,k[W],Z[W]),st=T?k[W]/2-V-nt-et-D.mainAxis:X-nt-et-D.mainAxis,ot=T?-k[W]/2+V+nt+it+D.mainAxis:U+nt+it+D.mainAxis,rt=e.elements.arrow&&Y(e.elements.arrow),at=rt?"y"===C?rt.clientTop||0:rt.clientLeft||0:0,lt=null!=(j=null==P?void 0:P[C])?j:0,ct=z+ot-lt,ht=Q(b?N(R,z+st-lt-at):R,z,b?I(q,ct):q);x[C]=ht,M[C]=ht-z}if(u){var dt,ut="x"===C?i:o,ft="x"===C?n:s,pt=x[O],mt="y"===O?"height":"width",_t=pt+w[ut],bt=pt-w[ft],vt=-1!==[i,o].indexOf(E),yt=null!=(dt=null==P?void 0:P[O])?dt:0,wt=vt?_t:pt-k[mt]-L[mt]-yt+D.altAxis,Et=vt?pt+k[mt]+L[mt]-yt-D.altAxis:bt,At=b&&vt?function(t,e,i){var n=Q(t,e,i);return n>i?i:n}(wt,pt,Et):Q(b?wt:_t,pt,b?Et:bt);x[O]=At,M[O]=At-pt}e.modifiersData[a]=M}},requiresIfExists:["offset"]};function Tt(t,e,i){void 0===i&&(i=!1);var n,s,o=L(e),r=L(e)&&function(t){var e=t.getBoundingClientRect(),i=P(e.width)/t.offsetWidth||1,n=P(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=R(e),l=F(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==O(e)||ht(a))&&(c=(n=e)!==x(n)&&L(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:lt(n)),L(e)?((h=F(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=ct(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Ct(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Ot={placement:"bottom",modifiers:[],strategy:"absolute"};function xt(){for(var t=arguments.length,e=new Array(t),i=0;i$t.has(t)&&$t.get(t).get(e)||null,remove(t,e){if(!$t.has(t))return;const i=$t.get(t);i.delete(e),0===i.size&&$t.delete(t)}},Nt="transitionend",Pt=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),Mt=t=>{t.dispatchEvent(new Event(Nt))},jt=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Ft=t=>jt(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(Pt(t)):null,Ht=t=>{if(!jt(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},Bt=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),Wt=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?Wt(t.parentNode):null},zt=()=>{},Rt=t=>{t.offsetHeight},qt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Vt=[],Yt=()=>"rtl"===document.documentElement.dir,Kt=t=>{var e;e=()=>{const e=qt();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(Vt.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Vt)t()})),Vt.push(e)):e()},Qt=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,Xt=(t,e,i=!0)=>{if(!i)return void Qt(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const o=({target:i})=>{i===e&&(s=!0,e.removeEventListener(Nt,o),Qt(t))};e.addEventListener(Nt,o),setTimeout((()=>{s||Mt(e)}),n)},Ut=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},Gt=/[^.]*(?=\..*)\.|.*/,Jt=/\..*/,Zt=/::\d+$/,te={};let ee=1;const ie={mouseenter:"mouseover",mouseleave:"mouseout"},ne=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function se(t,e){return e&&`${e}::${ee++}`||t.uidEvent||ee++}function oe(t){const e=se(t);return t.uidEvent=e,te[e]=te[e]||{},te[e]}function re(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function ae(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=de(t);return ne.has(o)||(o=t),[n,s,o]}function le(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=ae(e,i,n);if(e in ie){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=oe(t),c=l[a]||(l[a]={}),h=re(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=se(r,e.replace(Gt,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return fe(s,{delegateTarget:r}),n.oneOff&&ue.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return fe(n,{delegateTarget:t}),i.oneOff&&ue.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function ce(t,e,i,n,s){const o=re(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function he(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&ce(t,e,i,r.callable,r.delegationSelector)}function de(t){return t=t.replace(Jt,""),ie[t]||t}const ue={on(t,e,i,n){le(t,e,i,n,!1)},one(t,e,i,n){le(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=ae(e,i,n),a=r!==e,l=oe(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))he(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(Zt,"");a&&!e.includes(s)||ce(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;ce(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=qt();let s=null,o=!0,r=!0,a=!1;e!==de(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=fe(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function fe(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function pe(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function me(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const ge={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${me(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${me(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=pe(t.dataset[n])}return e},getDataAttribute:(t,e)=>pe(t.getAttribute(`data-bs-${me(e)}`))};class _e{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=jt(e)?ge.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...jt(e)?ge.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],o=jt(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${o}" but expected type "${s}".`)}var i}}class be extends _e{constructor(t,e){super(),(t=Ft(t))&&(this._element=t,this._config=this._getConfig(e),It.set(this._element,this.constructor.DATA_KEY,this))}dispose(){It.remove(this._element,this.constructor.DATA_KEY),ue.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){Xt(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return It.get(Ft(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const ve=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?Pt(i.trim()):null}return e},ye={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Bt(t)&&Ht(t)))},getSelectorFromElement(t){const e=ve(t);return e&&ye.findOne(e)?e:null},getElementFromSelector(t){const e=ve(t);return e?ye.findOne(e):null},getMultipleElementsFromSelector(t){const e=ve(t);return e?ye.find(e):[]}},we=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;ue.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),Bt(this))return;const s=ye.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},Ee=".bs.alert",Ae=`close${Ee}`,Te=`closed${Ee}`;class Ce extends be{static get NAME(){return"alert"}close(){if(ue.trigger(this._element,Ae).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),ue.trigger(this._element,Te),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Ce.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}we(Ce,"close"),Kt(Ce);const Oe='[data-bs-toggle="button"]';class xe extends be{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=xe.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}ue.on(document,"click.bs.button.data-api",Oe,(t=>{t.preventDefault();const e=t.target.closest(Oe);xe.getOrCreateInstance(e).toggle()})),Kt(xe);const ke=".bs.swipe",Le=`touchstart${ke}`,Se=`touchmove${ke}`,De=`touchend${ke}`,$e=`pointerdown${ke}`,Ie=`pointerup${ke}`,Ne={endCallback:null,leftCallback:null,rightCallback:null},Pe={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Me extends _e{constructor(t,e){super(),this._element=t,t&&Me.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Ne}static get DefaultType(){return Pe}static get NAME(){return"swipe"}dispose(){ue.off(this._element,ke)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Qt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&Qt(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(ue.on(this._element,$e,(t=>this._start(t))),ue.on(this._element,Ie,(t=>this._end(t))),this._element.classList.add("pointer-event")):(ue.on(this._element,Le,(t=>this._start(t))),ue.on(this._element,Se,(t=>this._move(t))),ue.on(this._element,De,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const je=".bs.carousel",Fe=".data-api",He="next",Be="prev",We="left",ze="right",Re=`slide${je}`,qe=`slid${je}`,Ve=`keydown${je}`,Ye=`mouseenter${je}`,Ke=`mouseleave${je}`,Qe=`dragstart${je}`,Xe=`load${je}${Fe}`,Ue=`click${je}${Fe}`,Ge="carousel",Je="active",Ze=".active",ti=".carousel-item",ei=Ze+ti,ii={ArrowLeft:ze,ArrowRight:We},ni={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},si={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class oi extends be{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=ye.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Ge&&this.cycle()}static get Default(){return ni}static get DefaultType(){return si}static get NAME(){return"carousel"}next(){this._slide(He)}nextWhenVisible(){!document.hidden&&Ht(this._element)&&this.next()}prev(){this._slide(Be)}pause(){this._isSliding&&Mt(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?ue.one(this._element,qe,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void ue.one(this._element,qe,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?He:Be;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&ue.on(this._element,Ve,(t=>this._keydown(t))),"hover"===this._config.pause&&(ue.on(this._element,Ye,(()=>this.pause())),ue.on(this._element,Ke,(()=>this._maybeEnableCycle()))),this._config.touch&&Me.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of ye.find(".carousel-item img",this._element))ue.on(t,Qe,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(We)),rightCallback:()=>this._slide(this._directionToOrder(ze)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Me(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ii[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=ye.findOne(Ze,this._indicatorsElement);e.classList.remove(Je),e.removeAttribute("aria-current");const i=ye.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Je),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===He,s=e||Ut(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>ue.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(Re).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),Rt(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(Je),i.classList.remove(Je,c,l),this._isSliding=!1,r(qe)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return ye.findOne(ei,this._element)}_getItems(){return ye.find(ti,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Yt()?t===We?Be:He:t===We?He:Be}_orderToDirection(t){return Yt()?t===Be?We:ze:t===Be?ze:We}static jQueryInterface(t){return this.each((function(){const e=oi.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}ue.on(document,Ue,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=ye.getElementFromSelector(this);if(!e||!e.classList.contains(Ge))return;t.preventDefault();const i=oi.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===ge.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),ue.on(window,Xe,(()=>{const t=ye.find('[data-bs-ride="carousel"]');for(const e of t)oi.getOrCreateInstance(e)})),Kt(oi);const ri=".bs.collapse",ai=`show${ri}`,li=`shown${ri}`,ci=`hide${ri}`,hi=`hidden${ri}`,di=`click${ri}.data-api`,ui="show",fi="collapse",pi="collapsing",mi=`:scope .${fi} .${fi}`,gi='[data-bs-toggle="collapse"]',_i={parent:null,toggle:!0},bi={parent:"(null|element)",toggle:"boolean"};class vi extends be{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=ye.find(gi);for(const t of i){const e=ye.getSelectorFromElement(t),i=ye.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return _i}static get DefaultType(){return bi}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>vi.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(ue.trigger(this._element,ai).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(fi),this._element.classList.add(pi),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(pi),this._element.classList.add(fi,ui),this._element.style[e]="",ue.trigger(this._element,li)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(ue.trigger(this._element,ci).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,Rt(this._element),this._element.classList.add(pi),this._element.classList.remove(fi,ui);for(const t of this._triggerArray){const e=ye.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(pi),this._element.classList.add(fi),ue.trigger(this._element,hi)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(ui)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Ft(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(gi);for(const e of t){const t=ye.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=ye.find(mi,this._config.parent);return ye.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=vi.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}ue.on(document,di,gi,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of ye.getMultipleElementsFromSelector(this))vi.getOrCreateInstance(t,{toggle:!1}).toggle()})),Kt(vi);const yi="dropdown",wi=".bs.dropdown",Ei=".data-api",Ai="ArrowUp",Ti="ArrowDown",Ci=`hide${wi}`,Oi=`hidden${wi}`,xi=`show${wi}`,ki=`shown${wi}`,Li=`click${wi}${Ei}`,Si=`keydown${wi}${Ei}`,Di=`keyup${wi}${Ei}`,$i="show",Ii='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Ni=`${Ii}.${$i}`,Pi=".dropdown-menu",Mi=Yt()?"top-end":"top-start",ji=Yt()?"top-start":"top-end",Fi=Yt()?"bottom-end":"bottom-start",Hi=Yt()?"bottom-start":"bottom-end",Bi=Yt()?"left-start":"right-start",Wi=Yt()?"right-start":"left-start",zi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ri={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class qi extends be{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=ye.next(this._element,Pi)[0]||ye.prev(this._element,Pi)[0]||ye.findOne(Pi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return zi}static get DefaultType(){return Ri}static get NAME(){return yi}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Bt(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!ue.trigger(this._element,xi,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))ue.on(t,"mouseover",zt);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add($i),this._element.classList.add($i),ue.trigger(this._element,ki,t)}}hide(){if(Bt(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!ue.trigger(this._element,Ci,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))ue.off(t,"mouseover",zt);this._popper&&this._popper.destroy(),this._menu.classList.remove($i),this._element.classList.remove($i),this._element.setAttribute("aria-expanded","false"),ge.removeDataAttribute(this._menu,"popper"),ue.trigger(this._element,Oi,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!jt(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${yi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===e)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:jt(this._config.reference)?t=Ft(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const i=this._getPopperConfig();this._popper=St(t,this._menu,i)}_isShown(){return this._menu.classList.contains($i)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Bi;if(t.classList.contains("dropstart"))return Wi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ji:Mi:e?Hi:Fi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(ge.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...Qt(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=ye.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>Ht(t)));i.length&&Ut(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=ye.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ai,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:ye.prev(this,Ii)[0]||ye.next(this,Ii)[0]||ye.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}ue.on(document,Si,Ii,qi.dataApiKeydownHandler),ue.on(document,Si,Pi,qi.dataApiKeydownHandler),ue.on(document,Li,qi.clearMenus),ue.on(document,Di,qi.clearMenus),ue.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),Kt(qi);const Vi="backdrop",Yi="show",Ki=`mousedown.bs.${Vi}`,Qi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Xi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends _e{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Qi}static get DefaultType(){return Xi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void Qt(t);this._append();const e=this._getElement();this._config.isAnimated&&Rt(e),e.classList.add(Yi),this._emulateAnimation((()=>{Qt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Yi),this._emulateAnimation((()=>{this.dispose(),Qt(t)}))):Qt(t)}dispose(){this._isAppended&&(ue.off(this._element,Ki),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Ft(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),ue.on(t,Ki,(()=>{Qt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Xt(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends _e{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),ue.off(document,Gi),ue.on(document,Ji,(t=>this._handleFocusin(t))),ue.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,ue.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=ye.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&ge.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=ge.getDataAttribute(t,e);null!==i?(ge.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(jt(t))e(t);else for(const i of ye.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",En="show",An="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends be{constructor(t,e){super(t,e),this._dialog=ye.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||ue.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(ue.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(En),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){ue.off(window,hn),ue.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=ye.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),Rt(this._element),this._element.classList.add(En),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,ue.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){ue.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),ue.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),ue.on(this._element,bn,(t=>{ue.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),ue.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(ue.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(An)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(An),this._queueCallback((()=>{this._element.classList.remove(An),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=Yt()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=Yt()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}ue.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=ye.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),ue.one(e,pn,(t=>{t.defaultPrevented||ue.one(e,fn,(()=>{Ht(this)&&this.focus()}))}));const i=ye.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),we(On),Kt(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Bn=`click${xn}${kn}`,Wn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends be{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||ue.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),ue.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(ue.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),ue.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():ue.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){ue.on(this._element,Wn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():ue.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}ue.on(document,Bn,'[data-bs-toggle="offcanvas"]',(function(t){const e=ye.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Bt(this))return;ue.one(e,Fn,(()=>{Ht(this)&&this.focus()}));const i=ye.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),ue.on(window,Ln,(()=>{for(const t of ye.find(In))qn.getOrCreateInstance(t).show()})),ue.on(window,Hn,(()=>{for(const t of ye.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),we(qn),Kt(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Yn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Kn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Qn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Yn.has(i)||Boolean(Kn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Xn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends _e{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Xn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=ye.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?jt(e)?this._putElementInTemplate(Ft(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Qn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return Qt(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:Yt()?"left":"right",BOTTOM:"bottom",LEFT:Yt()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends be{constructor(t,i){if(void 0===e)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,i),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),ue.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=ue.trigger(this._element,this.constructor.eventName("show")),e=(Wt(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),ue.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))ue.on(t,"mouseover",zt);this._queueCallback((()=>{ue.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!ue.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))ue.off(t,"mouseover",zt);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),ue.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=Qt(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return St(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return Qt(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...Qt(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)ue.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");ue.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),ue.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},ue.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=ge.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Ft(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Kt(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Kt(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Es={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class As extends be{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return Es}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Ft(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(ue.off(this._config.target,ms),ue.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=ye.find(bs,this._config.target);for(const e of t){if(!e.hash||Bt(e))continue;const t=ye.findOne(decodeURI(e.hash),this._element);Ht(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),ue.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))ye.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of ye.parents(t,".nav, .list-group"))for(const t of ye.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=ye.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=As.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}ue.on(window,gs,(()=>{for(const t of ye.find('[data-bs-spy="scroll"]'))As.getOrCreateInstance(t)})),Kt(As);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Bs="show",Ws=".dropdown-toggle",zs=`:not(${Ws})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ys extends be{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),ue.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?ue.trigger(e,Cs,{relatedTarget:t}):null;ue.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(ye.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),ue.trigger(t,ks,{relatedTarget:e})):t.classList.add(Bs)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(ye.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),ue.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Bs)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!Bt(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=Ut(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ys.getOrCreateInstance(i).show())}_getChildren(){return ye.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=ye.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=ye.findOne(t,i);s&&s.classList.toggle(n,e)};n(Ws,Fs),n(".dropdown-menu",Bs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:ye.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ys.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}ue.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Bt(this)||Ys.getOrCreateInstance(this).show()})),ue.on(window,Ds,(()=>{for(const t of ye.find(Vs))Ys.getOrCreateInstance(t)})),Kt(Ys);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Us=`focusin${Ks}`,Gs=`focusout${Ks}`,Js=`hide${Ks}`,Zs=`hidden${Ks}`,to=`show${Ks}`,eo=`shown${Ks}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends be{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){ue.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),Rt(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),ue.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(ue.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),ue.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){ue.on(this._element,Qs,(t=>this._onInteraction(t,!0))),ue.on(this._element,Xs,(t=>this._onInteraction(t,!1))),ue.on(this._element,Us,(t=>this._onInteraction(t,!0))),ue.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}function lo(t){"loading"!=document.readyState?t():document.addEventListener("DOMContentLoaded",t)}we(ao),Kt(ao),lo((function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new cs(t,{delay:{show:500,hide:100}})}))})),lo((function(){document.getElementById("pst-back-to-top").addEventListener("click",(function(){document.body.scrollTop=0,document.documentElement.scrollTop=0}))})),lo((function(){var t=document.getElementById("pst-back-to-top"),e=document.getElementsByClassName("bd-header")[0].getBoundingClientRect();window.addEventListener("scroll",(function(){this.oldScroll>this.scrollY&&this.scrollY>e.bottom?t.style.display="block":t.style.display="none",this.oldScroll=this.scrollY}))}))})(); +//# sourceMappingURL=bootstrap.js.map \ No newline at end of file diff --git a/_static/scripts/bootstrap.js.LICENSE.txt b/_static/scripts/bootstrap.js.LICENSE.txt new file mode 100644 index 0000000..10f979d --- /dev/null +++ b/_static/scripts/bootstrap.js.LICENSE.txt @@ -0,0 +1,5 @@ +/*! + * Bootstrap v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ diff --git a/_static/scripts/bootstrap.js.map b/_static/scripts/bootstrap.js.map new file mode 100644 index 0000000..e5bc157 --- /dev/null +++ b/_static/scripts/bootstrap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/bootstrap.js","mappings":"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","sources":["webpack://pydata_sphinx_theme/webpack/bootstrap","webpack://pydata_sphinx_theme/webpack/runtime/define property getters","webpack://pydata_sphinx_theme/webpack/runtime/hasOwnProperty shorthand","webpack://pydata_sphinx_theme/webpack/runtime/make namespace object","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/enums.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/math.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/within.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/createPopper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper-lite.js","webpack://pydata_sphinx_theme/./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/mixin.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/bootstrap.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","/*!\n * Bootstrap v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nimport * as Popper from '@popperjs/core';\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map();\nconst Data = {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n const instanceMap = elementMap.get(element);\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);\n return;\n }\n instanceMap.set(key, instance);\n },\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null;\n }\n return null;\n },\n remove(element, key) {\n if (!elementMap.has(element)) {\n return;\n }\n const instanceMap = elementMap.get(element);\n instanceMap.delete(key);\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000;\nconst MILLISECONDS_MULTIPLIER = 1000;\nconst TRANSITION_END = 'transitionend';\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`);\n }\n return selector;\n};\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`;\n }\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase();\n};\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID);\n } while (document.getElementById(prefix));\n return prefix;\n};\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0;\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element);\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\n const floatTransitionDelay = Number.parseFloat(transitionDelay);\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n};\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END));\n};\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false;\n }\n if (typeof object.jquery !== 'undefined') {\n object = object[0];\n }\n return typeof object.nodeType !== 'undefined';\n};\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object;\n }\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object));\n }\n return null;\n};\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])');\n if (!closedDetails) {\n return elementIsVisible;\n }\n if (closedDetails !== element) {\n const summary = element.closest('summary');\n if (summary && summary.parentNode !== closedDetails) {\n return false;\n }\n if (summary === null) {\n return false;\n }\n }\n return elementIsVisible;\n};\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n if (element.classList.contains('disabled')) {\n return true;\n }\n if (typeof element.disabled !== 'undefined') {\n return element.disabled;\n }\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n};\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null;\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n if (element instanceof ShadowRoot) {\n return element;\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null;\n }\n return findShadowRoot(element.parentNode);\n};\nconst noop = () => {};\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight; // eslint-disable-line no-unused-expressions\n};\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery;\n }\n return null;\n};\nconst DOMContentLoadedCallbacks = [];\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback();\n }\n });\n }\n DOMContentLoadedCallbacks.push(callback);\n } else {\n callback();\n }\n};\nconst isRTL = () => document.documentElement.dir === 'rtl';\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery();\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME;\n const JQUERY_NO_CONFLICT = $.fn[name];\n $.fn[name] = plugin.jQueryInterface;\n $.fn[name].Constructor = plugin;\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT;\n return plugin.jQueryInterface;\n };\n }\n });\n};\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;\n};\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback);\n return;\n }\n const durationPadding = 5;\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n let called = false;\n const handler = ({\n target\n }) => {\n if (target !== transitionElement) {\n return;\n }\n called = true;\n transitionElement.removeEventListener(TRANSITION_END, handler);\n execute(callback);\n };\n transitionElement.addEventListener(TRANSITION_END, handler);\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement);\n }\n }, emulatedDuration);\n};\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length;\n let index = list.indexOf(activeElement);\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];\n }\n index += shouldGetNext ? 1 : -1;\n if (isCycleAllowed) {\n index = (index + listLength) % listLength;\n }\n return list[Math.max(0, Math.min(index, listLength - 1))];\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nconst stripNameRegex = /\\..*/;\nconst stripUidRegex = /::\\d+$/;\nconst eventRegistry = {}; // Events storage\nlet uidEvent = 1;\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nconst nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;\n}\nfunction getElementEvents(element) {\n const uid = makeEventUid(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, {\n delegateTarget: element\n });\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn);\n }\n return fn.apply(element, [event]);\n };\n}\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector);\n for (let {\n target\n } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue;\n }\n hydrateObj(event, {\n delegateTarget: target\n });\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn);\n }\n return fn.apply(target, [event]);\n }\n }\n };\n}\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);\n}\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string';\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : handler || delegationFunction;\n let typeEvent = getTypeEvent(originalTypeEvent);\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n return [isDelegated, callable, typeEvent];\n}\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n callable = wrapFunction(callable);\n }\n const events = getElementEvents(element);\n const handlers = events[typeEvent] || (events[typeEvent] = {});\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));\n const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);\n fn.delegationSelector = isDelegated ? handler : null;\n fn.callable = callable;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, isDelegated);\n}\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\n if (!fn) {\n return;\n }\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\n delete events[typeEvent][fn.uidEvent];\n}\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {};\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n}\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getElementEvents(element);\n const storeElementEvent = events[typeEvent] || {};\n const isNamespace = originalTypeEvent.startsWith('.');\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n },\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n const $ = getjQuery();\n const typeEvent = getTypeEvent(event);\n const inNamespace = event !== typeEvent;\n let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n const evt = hydrateObj(new Event(event, {\n bubbles,\n cancelable: true\n }), args);\n if (defaultPrevented) {\n evt.preventDefault();\n }\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n return evt;\n }\n};\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value;\n }\n });\n }\n }\n return obj;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === Number(value).toString()) {\n return Number(value);\n }\n if (value === '' || value === 'null') {\n return null;\n }\n if (typeof value !== 'string') {\n return value;\n }\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\n}\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);\n}\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);\n },\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);\n },\n getDataAttributes(element) {\n if (!element) {\n return {};\n }\n const attributes = {};\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n }\n return attributes;\n },\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {};\n }\n static get DefaultType() {\n return {};\n }\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n return config;\n }\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n };\n }\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property];\n const valueType = isElement(value) ? 'element' : toType(value);\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n }\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.2';\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super();\n element = getElement(element);\n if (!element) {\n return;\n }\n this._element = element;\n this._config = this._getConfig(config);\n Data.set(this._element, this.constructor.DATA_KEY, this);\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n }\n }\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated);\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);\n }\n static get VERSION() {\n return VERSION;\n }\n static get DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`;\n }\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target');\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href');\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`;\n }\n selector = hrefAttribute && hrefAttribute !== '#' ? parseSelector(hrefAttribute.trim()) : null;\n }\n return selector;\n};\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n },\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector);\n },\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector));\n },\n parents(element, selector) {\n const parents = [];\n let ancestor = element.parentNode.closest(selector);\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\n }\n return parents;\n },\n prev(element, selector) {\n let previous = element.previousElementSibling;\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n previous = previous.previousElementSibling;\n }\n return [];\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling;\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n next = next.nextElementSibling;\n }\n return [];\n },\n focusableChildren(element) {\n const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n },\n getSelectorFromElement(element) {\n const selector = getSelector(element);\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null;\n }\n return null;\n },\n getElementFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.findOne(selector) : null;\n },\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.find(selector) : [];\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n const name = component.NAME;\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`);\n const instance = component.getOrCreateInstance(target);\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]();\n });\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$f = 'alert';\nconst DATA_KEY$a = 'bs.alert';\nconst EVENT_KEY$b = `.${DATA_KEY$a}`;\nconst EVENT_CLOSE = `close${EVENT_KEY$b}`;\nconst EVENT_CLOSED = `closed${EVENT_KEY$b}`;\nconst CLASS_NAME_FADE$5 = 'fade';\nconst CLASS_NAME_SHOW$8 = 'show';\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$f;\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n if (closeEvent.defaultPrevented) {\n return;\n }\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\n }\n\n // Private\n _destroyElement() {\n this._element.remove();\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close');\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$e = 'button';\nconst DATA_KEY$9 = 'bs.button';\nconst EVENT_KEY$a = `.${DATA_KEY$9}`;\nconst DATA_API_KEY$6 = '.data-api';\nconst CLASS_NAME_ACTIVE$3 = 'active';\nconst SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nconst EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$e;\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this);\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$d = 'swipe';\nconst EVENT_KEY$9 = '.bs.swipe';\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;\nconst POINTER_TYPE_TOUCH = 'touch';\nconst POINTER_TYPE_PEN = 'pen';\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\nconst SWIPE_THRESHOLD = 40;\nconst Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nconst DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super();\n this._element = element;\n if (!element || !Swipe.isSupported()) {\n return;\n }\n this._config = this._getConfig(config);\n this._deltaX = 0;\n this._supportPointerEvents = Boolean(window.PointerEvent);\n this._initEvents();\n }\n\n // Getters\n static get Default() {\n return Default$c;\n }\n static get DefaultType() {\n return DefaultType$c;\n }\n static get NAME() {\n return NAME$d;\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n this._handleSwipe();\n execute(this._config.endCallback);\n }\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX);\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n const direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n if (!direction) {\n return;\n }\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));\n }\n }\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$c = 'carousel';\nconst DATA_KEY$8 = 'bs.carousel';\nconst EVENT_KEY$8 = `.${DATA_KEY$8}`;\nconst DATA_API_KEY$5 = '.data-api';\nconst ARROW_LEFT_KEY$1 = 'ArrowLeft';\nconst ARROW_RIGHT_KEY$1 = 'ArrowRight';\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next';\nconst ORDER_PREV = 'prev';\nconst DIRECTION_LEFT = 'left';\nconst DIRECTION_RIGHT = 'right';\nconst EVENT_SLIDE = `slide${EVENT_KEY$8}`;\nconst EVENT_SLID = `slid${EVENT_KEY$8}`;\nconst EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;\nconst EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;\nconst EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;\nconst EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst CLASS_NAME_CAROUSEL = 'carousel';\nconst CLASS_NAME_ACTIVE$2 = 'active';\nconst CLASS_NAME_SLIDE = 'slide';\nconst CLASS_NAME_END = 'carousel-item-end';\nconst CLASS_NAME_START = 'carousel-item-start';\nconst CLASS_NAME_NEXT = 'carousel-item-next';\nconst CLASS_NAME_PREV = 'carousel-item-prev';\nconst SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ITEM = '.carousel-item';\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\nconst SELECTOR_INDICATORS = '.carousel-indicators';\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT\n};\nconst Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nconst DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._interval = null;\n this._activeElement = null;\n this._isSliding = false;\n this.touchTimeout = null;\n this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\n this._addEventListeners();\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$b;\n }\n static get DefaultType() {\n return DefaultType$b;\n }\n static get NAME() {\n return NAME$c;\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT);\n }\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n prev() {\n this._slide(ORDER_PREV);\n }\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n this._clearInterval();\n }\n cycle() {\n this._clearInterval();\n this._updateInterval();\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\n return;\n }\n this.cycle();\n }\n to(index) {\n const items = this._getItems();\n if (index > items.length - 1 || index < 0) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\n return;\n }\n const activeIndex = this._getItemIndex(this._getActive());\n if (activeIndex === index) {\n return;\n }\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n this._slide(order, items[index]);\n }\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));\n }\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());\n }\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());\n }\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return;\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause();\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout);\n }\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n };\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\n }\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n const direction = KEY_TO_DIRECTION[event.key];\n if (direction) {\n event.preventDefault();\n this._slide(this._directionToOrder(direction));\n }\n }\n _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n _updateInterval() {\n const element = this._activeElement || this._getActive();\n if (!element) {\n return;\n }\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n _slide(order, element = null) {\n if (this._isSliding) {\n return;\n }\n const activeElement = this._getActive();\n const isNext = order === ORDER_NEXT;\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n if (nextElement === activeElement) {\n return;\n }\n const nextElementIndex = this._getItemIndex(nextElement);\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n const slideEvent = triggerEvent(EVENT_SLIDE);\n if (slideEvent.defaultPrevented) {\n return;\n }\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return;\n }\n const isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n this._setActiveIndicatorElement(nextElementIndex);\n this._activeElement = nextElement;\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n this._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n if (isCycling) {\n this.cycle();\n }\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config);\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n event.preventDefault();\n const carousel = Carousel.getOrCreateInstance(target);\n const slideIndex = this.getAttribute('data-bs-slide-to');\n if (slideIndex) {\n carousel.to(slideIndex);\n carousel._maybeEnableCycle();\n return;\n }\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n carousel._maybeEnableCycle();\n return;\n }\n carousel.prev();\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel);\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$b = 'collapse';\nconst DATA_KEY$7 = 'bs.collapse';\nconst EVENT_KEY$7 = `.${DATA_KEY$7}`;\nconst DATA_API_KEY$4 = '.data-api';\nconst EVENT_SHOW$6 = `show${EVENT_KEY$7}`;\nconst EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;\nconst EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;\nconst EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;\nconst EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;\nconst CLASS_NAME_SHOW$7 = 'show';\nconst CLASS_NAME_COLLAPSE = 'collapse';\nconst CLASS_NAME_COLLAPSING = 'collapsing';\nconst CLASS_NAME_COLLAPSED = 'collapsed';\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nconst WIDTH = 'width';\nconst HEIGHT = 'height';\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nconst SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nconst Default$a = {\n parent: null,\n toggle: true\n};\nconst DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isTransitioning = false;\n this._triggerArray = [];\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem);\n const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem);\n }\n }\n this._initializeChildren();\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\n }\n if (this._config.toggle) {\n this.toggle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$a;\n }\n static get DefaultType() {\n return DefaultType$a;\n }\n static get NAME() {\n return NAME$b;\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n show() {\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n let activeChildren = [];\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n toggle: false\n }));\n }\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n for (const activeInstance of activeChildren) {\n activeInstance.hide();\n }\n const dimension = this._getDimension();\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n this._element.style[dimension] = '';\n EventHandler.trigger(this._element, EVENT_SHOWN$6);\n };\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}`;\n this._queueCallback(complete, this._element, true);\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\n }\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n const dimension = this._getDimension();\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger);\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE);\n EventHandler.trigger(this._element, EVENT_HIDDEN$6);\n };\n this._element.style[dimension] = '';\n this._queueCallback(complete, this._element, true);\n }\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW$7);\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n config.parent = getElement(config.parent);\n return config;\n }\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n _initializeChildren() {\n if (!this._config.parent) {\n return;\n }\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element);\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n }\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {};\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config);\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for
elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$a = 'dropdown';\nconst DATA_KEY$6 = 'bs.dropdown';\nconst EVENT_KEY$6 = `.${DATA_KEY$6}`;\nconst DATA_API_KEY$3 = '.data-api';\nconst ESCAPE_KEY$2 = 'Escape';\nconst TAB_KEY$1 = 'Tab';\nconst ARROW_UP_KEY$1 = 'ArrowUp';\nconst ARROW_DOWN_KEY$1 = 'ArrowDown';\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;\nconst EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;\nconst EVENT_SHOW$5 = `show${EVENT_KEY$6}`;\nconst EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;\nconst EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst CLASS_NAME_SHOW$6 = 'show';\nconst CLASS_NAME_DROPUP = 'dropup';\nconst CLASS_NAME_DROPEND = 'dropend';\nconst CLASS_NAME_DROPSTART = 'dropstart';\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nconst SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;\nconst SELECTOR_MENU = '.dropdown-menu';\nconst SELECTOR_NAVBAR = '.navbar';\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nconst PLACEMENT_TOPCENTER = 'top';\nconst PLACEMENT_BOTTOMCENTER = 'bottom';\nconst Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nconst DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._popper = null;\n this._parent = this._element.parentNode; // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n }\n\n // Getters\n static get Default() {\n return Default$9;\n }\n static get DefaultType() {\n return DefaultType$9;\n }\n static get NAME() {\n return NAME$a;\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n if (showEvent.defaultPrevented) {\n return;\n }\n this._createPopper();\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n this._element.focus();\n this._element.setAttribute('aria-expanded', true);\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n this._element.classList.add(CLASS_NAME_SHOW$6);\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n this._completeHide(relatedTarget);\n }\n dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n super.dispose();\n }\n update() {\n this._inNavbar = this._detectNavbar();\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n if (this._popper) {\n this._popper.destroy();\n }\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n this._element.setAttribute('aria-expanded', 'false');\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n _getConfig(config) {\n config = super._getConfig(config);\n if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME$a.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n return config;\n }\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n let referenceElement = this._element;\n if (this._config.reference === 'parent') {\n referenceElement = this._parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference;\n }\n const popperConfig = this._getPopperConfig();\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n _getPlacement() {\n const parentDropdown = this._parent;\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n };\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _selectMenuItem({\n key,\n target\n }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));\n if (!items.length) {\n return;\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle);\n if (!context || context._config.autoClose === false) {\n continue;\n }\n const composedPath = event.composedPath();\n const isMenuTarget = composedPath.includes(context._menu);\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n const relatedTarget = {\n relatedTarget: context._element\n };\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n context._completeHide(relatedTarget);\n }\n }\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName);\n const isEscapeEvent = event.key === ESCAPE_KEY$2;\n const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n if (isInput && !isEscapeEvent) {\n return;\n }\n event.preventDefault();\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n instance._selectMenuItem(event);\n return;\n }\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$9 = 'backdrop';\nconst CLASS_NAME_FADE$4 = 'fade';\nconst CLASS_NAME_SHOW$5 = 'show';\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;\nconst Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n};\n\nconst DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n }\n\n // Getters\n static get Default() {\n return Default$8;\n }\n static get DefaultType() {\n return DefaultType$8;\n }\n static get NAME() {\n return NAME$9;\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._append();\n const element = this._getElement();\n if (this._config.isAnimated) {\n reflow(element);\n }\n element.classList.add(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n execute(callback);\n });\n }\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n this.dispose();\n execute(callback);\n });\n }\n dispose() {\n if (!this._isAppended) {\n return;\n }\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n this._element.remove();\n this._isAppended = false;\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n this._element = backdrop;\n }\n return this._element;\n }\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n _append() {\n if (this._isAppended) {\n return;\n }\n const element = this._getElement();\n this._config.rootElement.append(element);\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback);\n });\n this._isAppended = true;\n }\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$8 = 'focustrap';\nconst DATA_KEY$5 = 'bs.focustrap';\nconst EVENT_KEY$5 = `.${DATA_KEY$5}`;\nconst EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;\nconst TAB_KEY = 'Tab';\nconst TAB_NAV_FORWARD = 'forward';\nconst TAB_NAV_BACKWARD = 'backward';\nconst Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n};\n\nconst DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n }\n\n // Getters\n static get Default() {\n return Default$7;\n }\n static get DefaultType() {\n return DefaultType$7;\n }\n static get NAME() {\n return NAME$8;\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return;\n }\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n this._isActive = true;\n }\n deactivate() {\n if (!this._isActive) {\n return;\n }\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$5);\n }\n\n // Private\n _handleFocusin(event) {\n const {\n trapElement\n } = this._config;\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return;\n }\n const elements = SelectorEngine.focusableChildren(trapElement);\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\nconst PROPERTY_PADDING = 'padding-right';\nconst PROPERTY_MARGIN = 'margin-right';\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body;\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n hide() {\n const width = this.getWidth();\n this._disableOverFlow();\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);\n }\n reset() {\n this._resetElementAttributes(this._element, 'overflow');\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n isOverflowing() {\n return this.getWidth() > 0;\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n this._element.style.overflow = 'hidden';\n }\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth();\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n this._saveInitialAttribute(element, styleProperty);\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty);\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty);\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel);\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$7 = 'modal';\nconst DATA_KEY$4 = 'bs.modal';\nconst EVENT_KEY$4 = `.${DATA_KEY$4}`;\nconst DATA_API_KEY$2 = '.data-api';\nconst ESCAPE_KEY$1 = 'Escape';\nconst EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;\nconst EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;\nconst EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;\nconst EVENT_SHOW$4 = `show${EVENT_KEY$4}`;\nconst EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;\nconst EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;\nconst EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;\nconst EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;\nconst CLASS_NAME_OPEN = 'modal-open';\nconst CLASS_NAME_FADE$3 = 'fade';\nconst CLASS_NAME_SHOW$4 = 'show';\nconst CLASS_NAME_STATIC = 'modal-static';\nconst OPEN_SELECTOR$1 = '.modal.show';\nconst SELECTOR_DIALOG = '.modal-dialog';\nconst SELECTOR_MODAL_BODY = '.modal-body';\nconst SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nconst Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nconst DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._isShown = false;\n this._isTransitioning = false;\n this._scrollBar = new ScrollBarHelper();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$6;\n }\n static get DefaultType() {\n return DefaultType$6;\n }\n static get NAME() {\n return NAME$7;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._isTransitioning = true;\n this._scrollBar.hide();\n document.body.classList.add(CLASS_NAME_OPEN);\n this._adjustDialog();\n this._backdrop.show(() => this._showElement(relatedTarget));\n }\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._isShown = false;\n this._isTransitioning = true;\n this._focustrap.deactivate();\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n dispose() {\n EventHandler.off(window, EVENT_KEY$4);\n EventHandler.off(this._dialog, EVENT_KEY$4);\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n handleUpdate() {\n this._adjustDialog();\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n this._element.style.display = 'block';\n this._element.removeAttribute('aria-hidden');\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.scrollTop = 0;\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_SHOW$4);\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate();\n }\n this._isTransitioning = false;\n EventHandler.trigger(this._element, EVENT_SHOWN$4, {\n relatedTarget\n });\n };\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n this._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return;\n }\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition();\n return;\n }\n if (this._config.backdrop) {\n this.hide();\n }\n });\n });\n }\n _hideModal() {\n this._element.style.display = 'none';\n this._element.setAttribute('aria-hidden', true);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n this._isTransitioning = false;\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN);\n this._resetAdjustments();\n this._scrollBar.reset();\n EventHandler.trigger(this._element, EVENT_HIDDEN$4);\n });\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n if (hideEvent.defaultPrevented) {\n return;\n }\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const initialOverflowY = this._element.style.overflowY;\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n this._element.classList.add(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY;\n }, this._dialog);\n }, this._dialog);\n this._element.focus();\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const scrollbarWidth = this._scrollBar.getWidth();\n const isBodyOverflowing = scrollbarWidth > 0;\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](relatedTarget);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n EventHandler.one(target, EVENT_SHOW$4, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$4, () => {\n if (isVisible(this)) {\n this.focus();\n }\n });\n });\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$6 = 'offcanvas';\nconst DATA_KEY$3 = 'bs.offcanvas';\nconst EVENT_KEY$3 = `.${DATA_KEY$3}`;\nconst DATA_API_KEY$1 = '.data-api';\nconst EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst ESCAPE_KEY = 'Escape';\nconst CLASS_NAME_SHOW$3 = 'show';\nconst CLASS_NAME_SHOWING$1 = 'showing';\nconst CLASS_NAME_HIDING = 'hiding';\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nconst OPEN_SELECTOR = '.offcanvas.show';\nconst EVENT_SHOW$3 = `show${EVENT_KEY$3}`;\nconst EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;\nconst EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;\nconst EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;\nconst EVENT_RESIZE = `resize${EVENT_KEY$3}`;\nconst EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;\nconst SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nconst Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nconst DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$5;\n }\n static get DefaultType() {\n return DefaultType$5;\n }\n static get NAME() {\n return NAME$6;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._backdrop.show();\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate();\n }\n this._element.classList.add(CLASS_NAME_SHOW$3);\n this._element.classList.remove(CLASS_NAME_SHOWING$1);\n EventHandler.trigger(this._element, EVENT_SHOWN$3, {\n relatedTarget\n });\n };\n this._queueCallback(completeCallBack, this._element, true);\n }\n hide() {\n if (!this._isShown) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._focustrap.deactivate();\n this._element.blur();\n this._isShown = false;\n this._element.classList.add(CLASS_NAME_HIDING);\n this._backdrop.hide();\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n if (!this._config.scroll) {\n new ScrollBarHelper().reset();\n }\n EventHandler.trigger(this._element, EVENT_HIDDEN$3);\n };\n this._queueCallback(completeCallback, this._element, true);\n }\n dispose() {\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n this.hide();\n };\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n });\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$3, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus();\n }\n });\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n});\nenableDismissTrigger(Offcanvas);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\nconst DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n// js-docs-end allow-list\n\nconst uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase();\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));\n }\n return true;\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));\n};\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n const domParser = new window.DOMParser();\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase();\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n const attributeList = [].concat(...element.attributes);\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n }\n return createdDocument.body.innerHTML;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$5 = 'TemplateFactory';\nconst Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n};\nconst DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n }\n\n // Getters\n static get Default() {\n return Default$4;\n }\n static get DefaultType() {\n return DefaultType$4;\n }\n static get NAME() {\n return NAME$5;\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);\n }\n hasContent() {\n return this.getContent().length > 0;\n }\n changeContent(content) {\n this._checkContent(content);\n this._config.content = {\n ...this._config.content,\n ...content\n };\n return this;\n }\n toHtml() {\n const templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector);\n }\n const template = templateWrapper.children[0];\n const extraClass = this._resolvePossibleFunction(this._config.extraClass);\n if (extraClass) {\n template.classList.add(...extraClass.split(' '));\n }\n return template;\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config);\n this._checkContent(config.content);\n }\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({\n selector,\n entry: content\n }, DefaultContentType);\n }\n }\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n if (!templateElement) {\n return;\n }\n content = this._resolvePossibleFunction(content);\n if (!content) {\n templateElement.remove();\n return;\n }\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n return;\n }\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n templateElement.textContent = content;\n }\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this]);\n }\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n templateElement.textContent = element.textContent;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$4 = 'tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nconst CLASS_NAME_FADE$2 = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW$2 = 'show';\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\nconst EVENT_HIDE$2 = 'hide';\nconst EVENT_HIDDEN$2 = 'hidden';\nconst EVENT_SHOW$2 = 'show';\nconst EVENT_SHOWN$2 = 'shown';\nconst EVENT_INSERTED = 'inserted';\nconst EVENT_CLICK$1 = 'click';\nconst EVENT_FOCUSIN$1 = 'focusin';\nconst EVENT_FOCUSOUT$1 = 'focusout';\nconst EVENT_MOUSEENTER = 'mouseenter';\nconst EVENT_MOUSELEAVE = 'mouseleave';\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nconst Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' + '
' + '
' + '
',\n title: '',\n trigger: 'hover focus'\n};\nconst DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n super(element, config);\n\n // Private\n this._isEnabled = true;\n this._timeout = 0;\n this._isHovered = null;\n this._activeTrigger = {};\n this._popper = null;\n this._templateFactory = null;\n this._newContent = null;\n\n // Protected\n this.tip = null;\n this._setListeners();\n if (!this._config.selector) {\n this._fixTitle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$3;\n }\n static get DefaultType() {\n return DefaultType$3;\n }\n static get NAME() {\n return NAME$4;\n }\n\n // Public\n enable() {\n this._isEnabled = true;\n }\n disable() {\n this._isEnabled = false;\n }\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n toggle() {\n if (!this._isEnabled) {\n return;\n }\n this._activeTrigger.click = !this._activeTrigger.click;\n if (this._isShown()) {\n this._leave();\n return;\n }\n this._enter();\n }\n dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n this._disposePopper();\n super.dispose();\n }\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n const shadowRoot = findShadowRoot(this._element);\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper();\n const tip = this._getTipElement();\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n const {\n container\n } = this._config;\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));\n if (this._isHovered === false) {\n this._leave();\n }\n this._isHovered = false;\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n hide() {\n if (!this._isShown()) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n if (hideEvent.defaultPrevented) {\n return;\n }\n const tip = this._getTipElement();\n tip.classList.remove(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n if (!this._isHovered) {\n this._disposePopper();\n }\n this._element.removeAttribute('aria-describedby');\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n update() {\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle());\n }\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n return this.tip;\n }\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml();\n\n // TODO: remove this check in v6\n if (!tip) {\n return null;\n }\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`);\n const tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n return tip;\n }\n setContent(content) {\n this._newContent = content;\n if (this._isShown()) {\n this._disposePopper();\n this.show();\n }\n }\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n });\n }\n return this._templateFactory;\n }\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n };\n }\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element]);\n const attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element]);\n }\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n context._leave();\n });\n }\n }\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n _fixTitle() {\n const title = this._element.getAttribute('title');\n if (!title) {\n return;\n }\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title');\n }\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n this._isHovered = true;\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show();\n }\n }, this._config.delay.show);\n }\n _leave() {\n if (this._isWithActiveTrigger()) {\n return;\n }\n this._isHovered = false;\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide();\n }\n }, this._config.delay.hide);\n }\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n };\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n return config;\n }\n _getDelegateConfig() {\n const config = {};\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value;\n }\n }\n config.selector = false;\n config.trigger = 'manual';\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config;\n }\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$3 = 'popover';\nconst SELECTOR_TITLE = '.popover-header';\nconst SELECTOR_CONTENT = '.popover-body';\nconst Default$2 = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' + '
' + '

' + '
' + '
',\n trigger: 'click'\n};\nconst DefaultType$2 = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n};\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default$2;\n }\n static get DefaultType() {\n return DefaultType$2;\n }\n static get NAME() {\n return NAME$3;\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent();\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n };\n }\n _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$2 = 'scrollspy';\nconst DATA_KEY$2 = 'bs.scrollspy';\nconst EVENT_KEY$2 = `.${DATA_KEY$2}`;\nconst DATA_API_KEY = '.data-api';\nconst EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;\nconst EVENT_CLICK = `click${EVENT_KEY$2}`;\nconst EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nconst CLASS_NAME_ACTIVE$1 = 'active';\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nconst SELECTOR_TARGET_LINKS = '[href]';\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nconst SELECTOR_NAV_LINKS = '.nav-link';\nconst SELECTOR_NAV_ITEMS = '.nav-item';\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;\nconst SELECTOR_DROPDOWN = '.dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nconst Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nconst DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map();\n this._observableSections = new Map();\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;\n this._activeTarget = null;\n this._observer = null;\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n this.refresh(); // initialize\n }\n\n // Getters\n static get Default() {\n return Default$1;\n }\n static get DefaultType() {\n return DefaultType$1;\n }\n static get NAME() {\n return NAME$2;\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables();\n this._maybeEnableSmoothScroll();\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n for (const section of this._observableSections.values()) {\n this._observer.observe(section);\n }\n }\n dispose() {\n this._observer.disconnect();\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body;\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));\n }\n return config;\n }\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return;\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash);\n if (observableSection) {\n event.preventDefault();\n const root = this._rootElement || window;\n const height = observableSection.offsetTop - this._element.offsetTop;\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height;\n }\n });\n }\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(entries => this._observerCallback(entries), options);\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n this._process(targetElement(entry));\n };\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n this._clearActiveClass(targetElement(entry));\n continue;\n }\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop;\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry);\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return;\n }\n continue;\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n }\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor);\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n }\n _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n this._clearActiveClass(this._config.target);\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n this._activateParents(target);\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both