From a070988b78ceaf4c969dbf9da227682014e0b1a3 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 02:19:31 -0500 Subject: [PATCH 001/174] GUI: I am drunk! --- src/gui/fileDialog.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/fileDialog.cpp b/src/gui/fileDialog.cpp index e4dd8d3cd..77ea765b0 100644 --- a/src/gui/fileDialog.cpp +++ b/src/gui/fileDialog.cpp @@ -87,15 +87,15 @@ void FurnaceGUIFileDialog::convertFilterList(std::vector& filter) { if (filter[i+1]=="*") { ext=".*"; - } else for (char i: filter[i+1]) { - switch (i) { + } else for (char j: filter[i+1]) { + switch (j) { case '*': break; case ' ': ext+=','; break; default: - ext+=i; + ext+=j; break; } } From 43a1156349041f284807b479593b75f3cb861d96 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 02:20:44 -0500 Subject: [PATCH 002/174] update Linux release script Ubuntu 16.04 no like PortAudio... no specifie linky linkity for target "JACK::jacky" extern/portaudio/cmake/modules/FindJACK.cmake:65 --- scripts/release-linux.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/release-linux.sh b/scripts/release-linux.sh index 0c744296f..563e08127 100755 --- a/scripts/release-linux.sh +++ b/scripts/release-linux.sh @@ -14,7 +14,8 @@ fi cd linuxbuild -cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -Wno-unused-parameter -Werror" -DWITH_DEMOS=ON -DWITH_INSTRUMENTS=ON -DWITH_WAVETABLES=ON .. || exit 1 +# -DWITH_PORTAUDIO=OFF: Ubuntu 16.04 doesn't like it +cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -Wno-unused-parameter -Werror" -DWITH_PORTAUDIO=OFF -DWITH_DEMOS=ON -DWITH_INSTRUMENTS=ON -DWITH_WAVETABLES=ON .. || exit 1 make -j4 || exit 1 cd .. From 6dafc48e06881d8d1bcaa8ca5e906ff218b660aa Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 02:25:21 -0500 Subject: [PATCH 003/174] release v0.6pre10 - THE F R E E Z E from now on it's just bug fixes. once a pre-release survives a week without issues, 0.6 comes out. --- android/app/build.gradle | 4 ++-- android/app/src/main/AndroidManifest.xml | 4 ++-- papers/clipboard-format.md | 2 +- papers/format.md | 1 + res/Info.plist | 6 +++--- src/engine/engine.h | 4 ++-- src/gui/about.cpp | 3 +++ src/gui/fileDialog.cpp | 5 ++++- 8 files changed, 18 insertions(+), 11 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index dcf7fe76e..cb10cfcb1 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -15,8 +15,8 @@ android { } minSdkVersion 21 targetSdkVersion 26 - versionCode 169 - versionName "0.6pre9" + versionCode 171 + versionName "0.6pre10" externalNativeBuild { cmake { arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON" diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index dd3c7a0bd..059338471 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ diff --git a/papers/clipboard-format.md b/papers/clipboard-format.md index cb353546c..95ca8fb86 100644 --- a/papers/clipboard-format.md +++ b/papers/clipboard-format.md @@ -6,7 +6,7 @@ when copying pattern data from Furnace, it's stored in the clipboard as plain te org.tildearrow.furnace - Pattern Data (144) ``` -this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre9 is `169`. +this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre10 is `171`. the second line is a number between 0 and 18 (decimal) which indicates which column the clip starts from. - `0`: note. diff --git a/papers/format.md b/papers/format.md index 66bec724e..bcb680fb6 100644 --- a/papers/format.md +++ b/papers/format.md @@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1). the format versions are: +- 171: Furnace 0.6pre10 - 169: Furnace 0.6pre9 - 166: Furnace 0.6pre8 - 162: Furnace 0.6pre7 diff --git a/res/Info.plist b/res/Info.plist index a7e16ca73..b0b497e32 100644 --- a/res/Info.plist +++ b/res/Info.plist @@ -15,17 +15,17 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - 0.6pre9 + 0.6pre10 CFBundleName Furnace CFBundlePackageType APPL CFBundleShortVersionString - 0.6pre9 + 0.6pre10 CFBundleSignature ???? CFBundleVersion - 0.6pre9 + 0.6pre10 NSHumanReadableCopyright NSHighResolutionCapable diff --git a/src/engine/engine.h b/src/engine/engine.h index f94cb3e1f..5c4688616 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -58,8 +58,8 @@ class DivWorkPool; #define DIV_UNSTABLE -#define DIV_VERSION "dev170" -#define DIV_ENGINE_VERSION 170 +#define DIV_VERSION "0.6pre10" +#define DIV_ENGINE_VERSION 171 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 diff --git a/src/gui/about.cpp b/src/gui/about.cpp index cdb2fbc23..9b82483d3 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -30,6 +30,9 @@ const char* aboutLine[]={ "the biggest multi-system chiptune tracker!", "featuring DefleMask song compatibility.", "", + "this is a version released during The Freeze.", + "please report any issues you find!", + "", "> CREDITS <", "", "-- program --", diff --git a/src/gui/fileDialog.cpp b/src/gui/fileDialog.cpp index 77ea765b0..cd5116414 100644 --- a/src/gui/fileDialog.cpp +++ b/src/gui/fileDialog.cpp @@ -80,6 +80,7 @@ void FurnaceGUIFileDialog::convertFilterList(std::vector& filter) { memset(noSysFilter,0,4096); String result; + char sprintfBuf[4096]; for (size_t i=0; (i+1)& filter) { } if (!result.empty()) result+=','; - result+=fmt::sprintf("%s{%s}",label,ext); + // what the heck? fmt::sprintf not working?! + snprintf(sprintfBuf,4095,"%s{%s}",label.c_str(),ext.c_str()); + result+=sprintfBuf; } strncpy(noSysFilter,result.c_str(),4095); From e0f34f82e76ed493555df82cfc8d7e103d20107a Mon Sep 17 00:00:00 2001 From: Marcin Puc Date: Thu, 7 Sep 2023 11:38:16 +0200 Subject: [PATCH 004/174] Fix cmake system portaudio check --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8aa144dc8..eaad23559 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -211,7 +211,7 @@ endif() if (WITH_PORTAUDIO) if (SYSTEM_PORTAUDIO) find_package(PkgConfig REQUIRED) - pkg_check_modules(PORTAUDIO REQUIRED portaudio) + pkg_check_modules(PORTAUDIO REQUIRED portaudio-2.0) list(APPEND DEPENDENCIES_INCLUDE_DIRS ${PORTAUDIO_INCLUDE_DIRS}) list(APPEND DEPENDENCIES_COMPILE_OPTIONS ${PORTAUDIO_CFLAGS_OTHER}) list(APPEND DEPENDENCIES_LIBRARIES ${PORTAUDIO_LIBRARIES}) From 5e82db804f6f4b89d9c92f3fdd2f53e452b61c4d Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 04:57:18 -0500 Subject: [PATCH 005/174] GUI: add MSM6295 loop warning --- src/gui/sampleEdit.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/sampleEdit.cpp b/src/gui/sampleEdit.cpp index 3d17bec78..43e53618f 100644 --- a/src/gui/sampleEdit.cpp +++ b/src/gui/sampleEdit.cpp @@ -353,6 +353,10 @@ void FurnaceGUI::drawSampleEdit() { MAX_RATE("C219",dispatch->rate); } break; + case DIV_SYSTEM_MSM6295: + if (sample->loop) { + SAMPLE_WARN(warnLoop,"MSM6295: samples can't loop"); + } default: break; } From 38ae5726210b32746bd4a95f5e7ccfb23fb7796f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 14:21:00 -0500 Subject: [PATCH 006/174] possible fix to playback crash --- src/engine/playback.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index 6f6414225..eaeb1e81d 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -2118,6 +2118,7 @@ void DivEngine::nextBuf(float** in, float** out, int inChans, int outChans, unsi logW("%d: sizepush([](void* d) { DivDispatchContainer* dc=(DivDispatchContainer*)d; dc->fillBuf(dc->runtotal,dc->lastAvail,dc->size-dc->lastAvail); From b253acf64b8745e7009c13ada8b268b53e79eaec Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 14:26:26 -0500 Subject: [PATCH 007/174] GUI: make chip manager visible in basic mode fixes a problem in where "manage chips" would do nothing --- src/gui/gui.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 497aecace..4c3ffece7 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -4322,8 +4322,8 @@ bool FurnaceGUI::loop() { if (ImGui::MenuItem("channels",BIND_FOR(GUI_ACTION_WINDOW_CHANNELS),channelsOpen)) channelsOpen=!channelsOpen; } if (ImGui::MenuItem("pattern manager",BIND_FOR(GUI_ACTION_WINDOW_PAT_MANAGER),patManagerOpen)) patManagerOpen=!patManagerOpen; + if (ImGui::MenuItem("chip manager",BIND_FOR(GUI_ACTION_WINDOW_SYS_MANAGER),sysManagerOpen)) sysManagerOpen=!sysManagerOpen; if (!basicMode) { - if (ImGui::MenuItem("chip manager",BIND_FOR(GUI_ACTION_WINDOW_SYS_MANAGER),sysManagerOpen)) sysManagerOpen=!sysManagerOpen; if (ImGui::MenuItem("compatibility flags",BIND_FOR(GUI_ACTION_WINDOW_COMPAT_FLAGS),compatFlagsOpen)) compatFlagsOpen=!compatFlagsOpen; } if (ImGui::MenuItem("song comments",BIND_FOR(GUI_ACTION_WINDOW_NOTES),notesOpen)) notesOpen=!notesOpen; @@ -4563,9 +4563,7 @@ bool FurnaceGUI::loop() { MEASURE(channels,drawChannels()); } MEASURE(patManager,drawPatManager()); - if (!basicMode) { - MEASURE(sysManager,drawSysManager()); - } + MEASURE(sysManager,drawSysManager()); MEASURE(clock,drawClock()); MEASURE(regView,drawRegView()); MEASURE(log,drawLog()); From 7691626952e9da8856057f114df19a31f6de7f89 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 14:58:32 -0500 Subject: [PATCH 008/174] GUI: fix oscilloscope oversight --- src/gui/osc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/osc.cpp b/src/gui/osc.cpp index fc3b17245..6de7ddc2d 100644 --- a/src/gui/osc.cpp +++ b/src/gui/osc.cpp @@ -74,7 +74,7 @@ void FurnaceGUI::readOsc() { float delta=e->oscBuf[ch][posInt&0x7fff]-e->oscBuf[ch][(posInt-1)&0x7fff]; for (int j=0; j<8; j++) { - if (i-j>0) { + if (i-j>=0) { oscValues[ch][i-j]+=t1[j]*-delta; } if (i+j+1 Date: Thu, 7 Sep 2023 15:41:02 -0500 Subject: [PATCH 009/174] GUI: for real this time --- src/gui/osc.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gui/osc.cpp b/src/gui/osc.cpp index 6de7ddc2d..285d7a1fd 100644 --- a/src/gui/osc.cpp +++ b/src/gui/osc.cpp @@ -58,10 +58,12 @@ void FurnaceGUI::readOsc() { float* sincITable=DivFilterTables::getSincIntegralTable(); float posFrac=0.0; - int posInt=oscReadPos; + int posInt=oscReadPos-8; float factor=(float)oscWidth/(float)winSize; - for (int i=0; ioscBuf[ch][posInt&0x7fff]; + for (int i=-8; i=0 && ioscBuf[ch][posInt&0x7fff]; + } posFrac+=1.0; while (posFrac>=1.0) { From 2781f1d2c1dea7721e27a1935091a95b3b7e944c Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 18:16:06 -0500 Subject: [PATCH 010/174] GUI: no. for REAL this time. --- src/gui/gui.cpp | 2 ++ src/gui/osc.cpp | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 4c3ffece7..30ddd43c9 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -4521,6 +4521,8 @@ bool FurnaceGUI::loop() { MEASURE(log,drawLog()); MEASURE(compatFlags,drawCompatFlags()); MEASURE(stats,drawStats()); + MEASURE(readOsc,readOsc()); + MEASURE(osc,drawOsc()); MEASURE(chanOsc,drawChanOsc()); MEASURE(regView,drawRegView()); } else { diff --git a/src/gui/osc.cpp b/src/gui/osc.cpp index 285d7a1fd..ac4105a37 100644 --- a/src/gui/osc.cpp +++ b/src/gui/osc.cpp @@ -60,7 +60,7 @@ void FurnaceGUI::readOsc() { float posFrac=0.0; int posInt=oscReadPos-8; float factor=(float)oscWidth/(float)winSize; - for (int i=-8; i=0 && ioscBuf[ch][posInt&0x7fff]; } @@ -76,10 +76,10 @@ void FurnaceGUI::readOsc() { float delta=e->oscBuf[ch][posInt&0x7fff]-e->oscBuf[ch][(posInt-1)&0x7fff]; for (int j=0; j<8; j++) { - if (i-j>=0) { + if ((i-j)>=0 && (i-j)=0 && (i+j+1) Date: Thu, 7 Sep 2023 16:50:33 -0700 Subject: [PATCH 011/174] Adding BPM table to grooves doc. --- doc/2-interface/song-info.md | 1 + doc/8-advanced/grooves.md | 40 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/doc/2-interface/song-info.md b/doc/2-interface/song-info.md index 03d698576..05561a7dd 100644 --- a/doc/2-interface/song-info.md +++ b/doc/2-interface/song-info.md @@ -38,6 +38,7 @@ _**Virtual Tempo**:_ Simulates any arbitrary tempo without altering the tick rat - Set the second virtual tempo number (denominator) to 150. - The track will play at 200 BPM. - The ratio doesn't have to match BPM numbers. Set the numerator to 4 and the denominator to 5, and the virtual BPM becomes 150 × 4/5 = 120. +- Another way to accomplish this with more control over the results is to use grooves. See the page on [grooves](../8-advanced/grooves.md) for details. _**Divider**:_ Changes the effective tick rate. A tick rate of 60Hz and a divisor of 6 will result in ticks lasting a tenth of a second each! diff --git a/doc/8-advanced/grooves.md b/doc/8-advanced/grooves.md index d6fea075a..200681ee6 100644 --- a/doc/8-advanced/grooves.md +++ b/doc/8-advanced/grooves.md @@ -21,3 +21,43 @@ The "Grooves" window is for entering preset groove patterns. - The **`×`** buttons remove them. A single `09xx` command will switch to the matching numbered groove pattern. + +## BPM + +this is a non-exhaustive list of grooves and their equivalent BPM. + +_note:_ this table assumes a song's tick rate setting is left at its default value for the chosen engine speed: 60 for NTSC, or 50 for PAL. + +BPM NTSC | BPM PAL | groove | | BPM NTSC | BPM PAL | groove +--------:|--------:|:-----------------------|-|---------:|--------:|:---------------------- + 100.00 | 83.33 | 9 | | 168.75 | 140.63 | 6, 5, 5 + 102.86 | 85.71 | 9, 9, 9, 8 | | 171.43 | 142.86 | 6, 5, 5, 5 + 103.85 | 86.54 | 9, 9, 8 | | 175.61 | 146.34 | 6, 5, 5, 5, 5, 5, 5, 5 + 105.88 | 88.24 | 9, 8 | | 180.00 | 150.00 | 5 + 108.00 | 90.00 | 9, 8, 8 | | 184.62 | 153.85 | 5, 5, 5, 5, 5, 5, 5, 4 + 109.09 | 90.91 | 9, 8, 8, 8 | | 189.47 | 157.89 | 5, 5, 5, 4 + 112.50 | 93.75 | 8 | | 192.86 | 160.71 | 5, 5, 4 + 114.29 | 95.24 | 8, 8, 8, 8, 8, 8, 8, 7 | | 194.59 | 162.16 | 6, 4, 5, 4, 5, 4, 5, 4 + 116.13 | 96.77 | 8, 8, 8, 7 | | 200.00 | 166.67 | 5, 4 + 118.03 | 98.36 | 9, 7, 8, 7, 8, 7, 8, 7 | | 205.71 | 171.43 | 5, 4, 5, 4, 5, 4, 4, 4 + 120.00 | 100.00 | 8, 7 | | 207.69 | 173.08 | 5, 4, 4 + 122.03 | 101.69 | 8, 7, 8, 7, 8, 7, 7, 7 | | 211.76 | 176.47 | 5, 4, 4, 4 + 124.14 | 103.45 | 8, 7, 7, 7 | | 218.18 | 181.82 | 5, 4, 4, 4, 4, 4, 4, 4 + 126.32 | 105.26 | 8, 7, 7, 7, 7, 7, 7, 7 | | 225.00 | 187.50 | 4 + 128.57 | 107.14 | 7 | | 232.26 | 193.55 | 4, 4, 4, 4, 4, 4, 4, 3 + 130.91 | 109.09 | 7, 7, 7, 7, 7, 7, 7, 6 | | 240.00 | 200.00 | 4, 4, 4, 3 + 133.33 | 111.11 | 7, 7, 7, 6 | | 245.45 | 204.55 | 4, 4, 3 + 135.00 | 112.50 | 7, 7, 6 | | 248.28 | 206.90 | 5, 3, 4, 3, 4, 3, 4, 3 + 135.85 | 113.21 | 8, 6, 7, 6, 7, 6, 7, 6 | | 257.14 | 214.29 | 4, 3 + 138.46 | 115.38 | 7, 6 | | 266.67 | 222.22 | 4, 3, 4, 3, 4, 3, 3, 3 + 141.18 | 117.65 | 7, 6, 7, 6, 7, 6, 6, 6 | | 270.00 | 225.00 | 4, 3, 3 + 142.11 | 118.42 | 7, 6, 6 | | 276.92 | 230.77 | 4, 3, 3, 3 + 144.00 | 120.00 | 7, 6, 6, 6 | | 288.00 | 240.00 | 4, 3, 3, 3, 3, 3, 3, 3 + 146.94 | 122.45 | 7, 6, 6, 6, 6, 6, 6, 6 | | 300.00 | 250.00 | 3 + 150.00 | 125.00 | 6 | | 327.27 | 272.73 | 3, 3, 3, 2 + 153.19 | 127.66 | 6, 6, 6, 6, 6, 6, 6, 5 | | 337.50 | 281.25 | 3, 3, 2 + 156.52 | 130.43 | 6, 6, 6, 5 | | 360.00 | 300.00 | 3, 2 + 158.82 | 132.35 | 6, 6, 5 | | 385.71 | 321.43 | 3, 2, 2 + 160.00 | 133.33 | 7, 5, 6, 5, 6, 5, 6, 5 | | 400.00 | 333.33 | 3, 2, 2, 2 + 163.64 | 136.36 | 6, 5 | | 450.00 | 375.00 | 2 + 167.44 | 139.53 | 6, 5, 6, 5, 6, 5, 5, 5 | | 900.00 | 750.00 | 1 From 831fde4707e7b4f49ae94ed207f51c28368d3424 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Thu, 7 Sep 2023 16:52:17 -0700 Subject: [PATCH 012/174] The tiniest docs fix. --- doc/2-interface/keyboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/2-interface/keyboard.md b/doc/2-interface/keyboard.md index 2255670e6..43d42283b 100644 --- a/doc/2-interface/keyboard.md +++ b/doc/2-interface/keyboard.md @@ -242,7 +242,7 @@ the keys in the "Global hotkeys" section can be used in any window, though not w | Zoom out | `Ctrl--` | | Toggle auto-zoom | `Ctrl-0` | | Create instrument from sample | — | -| Set loop to selection | `Ctrl-l` | +| Set loop to selection | `Ctrl-L` | ## note input From a11e390d7eea1cdbe0b7fdd3c3fc55ff70ceec89 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 19:00:31 -0500 Subject: [PATCH 013/174] fix sample center rate loading --- src/engine/fileOpsSample.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/engine/fileOpsSample.cpp b/src/engine/fileOpsSample.cpp index ac9441adc..1fb503543 100644 --- a/src/engine/fileOpsSample.cpp +++ b/src/engine/fileOpsSample.cpp @@ -274,10 +274,13 @@ DivSample* DivEngine::sampleFromFile(const char* path) { { // There's no documentation on libsndfile detune range, but the code // implies -50..50. Yet when loading a file you can get a >50 value. + // disabled for now + /* if(inst.detune > 50) inst.detune = inst.detune - 100; short pitch = ((0x3c-inst.basenote)*100) + inst.detune; sample->centerRate=si.samplerate*pow(2.0,pitch/(12.0 * 100.0)); + */ if(inst.loop_count && inst.loops[0].mode >= SF_LOOP_FORWARD) { sample->loop=true; From 89b17e67a29891bac5da78372578ab9d54f14581 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 19:05:19 -0500 Subject: [PATCH 014/174] get rid of to-do list --- TODO.md | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 TODO.md diff --git a/TODO.md b/TODO.md deleted file mode 100644 index c190afd18..000000000 --- a/TODO.md +++ /dev/null @@ -1,12 +0,0 @@ -# to-do for 0.6pre7 - -- tutorial? -- ease-of-use improvements... ideas: - - preset compat flags - - maybe reduced set of presets for the sake of simplicity - - a more preferable highlight/drag system - - some speed/intuitive workflow improvements that go a long way - - make .pdf manual out of doc/ - - break compatibility if it relieves complexity -- multi-key binds -- bug fixes From bbc524c07a90c9f8b50069caabef5262e2bdc438 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 19:09:53 -0500 Subject: [PATCH 015/174] release v0.6pre11 --- android/app/build.gradle | 4 ++-- android/app/src/main/AndroidManifest.xml | 4 ++-- papers/clipboard-format.md | 2 +- papers/format.md | 1 + res/Info.plist | 6 +++--- src/engine/engine.h | 4 ++-- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index cb10cfcb1..c405afe60 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -15,8 +15,8 @@ android { } minSdkVersion 21 targetSdkVersion 26 - versionCode 171 - versionName "0.6pre10" + versionCode 172 + versionName "0.6pre11" externalNativeBuild { cmake { arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON" diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 059338471..c9d858a60 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ diff --git a/papers/clipboard-format.md b/papers/clipboard-format.md index 95ca8fb86..3da7ebc4c 100644 --- a/papers/clipboard-format.md +++ b/papers/clipboard-format.md @@ -6,7 +6,7 @@ when copying pattern data from Furnace, it's stored in the clipboard as plain te org.tildearrow.furnace - Pattern Data (144) ``` -this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre10 is `171`. +this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre11 is `172`. the second line is a number between 0 and 18 (decimal) which indicates which column the clip starts from. - `0`: note. diff --git a/papers/format.md b/papers/format.md index bcb680fb6..d6732d91b 100644 --- a/papers/format.md +++ b/papers/format.md @@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1). the format versions are: +- 172: Furnace 0.6pre11 - 171: Furnace 0.6pre10 - 169: Furnace 0.6pre9 - 166: Furnace 0.6pre8 diff --git a/res/Info.plist b/res/Info.plist index b0b497e32..8edb442a3 100644 --- a/res/Info.plist +++ b/res/Info.plist @@ -15,17 +15,17 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - 0.6pre10 + 0.6pre11 CFBundleName Furnace CFBundlePackageType APPL CFBundleShortVersionString - 0.6pre10 + 0.6pre11 CFBundleSignature ???? CFBundleVersion - 0.6pre10 + 0.6pre11 NSHumanReadableCopyright NSHighResolutionCapable diff --git a/src/engine/engine.h b/src/engine/engine.h index 5c4688616..ff7437c6e 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -58,8 +58,8 @@ class DivWorkPool; #define DIV_UNSTABLE -#define DIV_VERSION "0.6pre10" -#define DIV_ENGINE_VERSION 171 +#define DIV_VERSION "0.6pre11" +#define DIV_ENGINE_VERSION 172 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 From 8028e95faf3257a5e77c7da8d3f810665dbc3116 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 22:38:37 -0500 Subject: [PATCH 016/174] ugh --- src/gui/osc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/osc.cpp b/src/gui/osc.cpp index ac4105a37..d2f62910e 100644 --- a/src/gui/osc.cpp +++ b/src/gui/osc.cpp @@ -58,8 +58,8 @@ void FurnaceGUI::readOsc() { float* sincITable=DivFilterTables::getSincIntegralTable(); float posFrac=0.0; - int posInt=oscReadPos-8; float factor=(float)oscWidth/(float)winSize; + int posInt=oscReadPos-(8.0f/factor); for (int i=-8; i=0 && ioscBuf[ch][posInt&0x7fff]; From e06fc9c4804d4981536fff55f53535b5eba392be Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 23:04:20 -0500 Subject: [PATCH 017/174] update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37549dbda..c90088791 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ for other operating systems, you may [build the source](#developer-info). - Irem GA20 - Ensoniq ES5506 - Namco C140 + - Namco C219 - wavetable chips: - HuC6280 used in PC Engine - Konami Bubble System WSG From a4698dc911ed65ae8a39882b7e7e1d1c530324de Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 23:27:17 -0500 Subject: [PATCH 018/174] GUI: optimize calcChanOsc() --- src/gui/chanOsc.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gui/chanOsc.cpp b/src/gui/chanOsc.cpp index 04908702e..41ed6ca9e 100644 --- a/src/gui/chanOsc.cpp +++ b/src/gui/chanOsc.cpp @@ -96,16 +96,16 @@ void FurnaceGUI::calcChanOsc() { // 30ms should be enough int displaySize=(float)(buf->rate)*0.03f; if (e->isRunning()) { - float minLevel=1.0f; - float maxLevel=-1.0f; + short minLevel=32767; + short maxLevel=-32768; unsigned short needlePos=buf->needle; needlePos-=displaySize; for (unsigned short i=0; i<512; i++) { - float y=(float)buf->data[(unsigned short)(needlePos+(i*displaySize/512))]/32768.0f; + short y=buf->data[(unsigned short)(needlePos+(i*displaySize/512))]; if (minLevel>y) minLevel=y; if (maxLevel1.0f) estimate=1.0f; chanOscVol[i]=MAX(chanOscVol[i]*0.87f,estimate); } From d81a181ba5c9fae62a4a4827ec8dc16ff9b7487b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 7 Sep 2023 23:37:17 -0500 Subject: [PATCH 019/174] hmm? --- src/engine/filter.cpp | 23 +++++++++++++++++++++++ src/engine/filter.h | 7 +++++++ src/gui/osc.cpp | 6 +++--- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/engine/filter.cpp b/src/engine/filter.cpp index 5c8ab218e..25d581b5a 100644 --- a/src/engine/filter.cpp +++ b/src/engine/filter.cpp @@ -26,6 +26,7 @@ float* DivFilterTables::cubicTable=NULL; float* DivFilterTables::sincTable=NULL; float* DivFilterTables::sincTable8=NULL; float* DivFilterTables::sincIntegralTable=NULL; +float* DivFilterTables::sincIntegralSmallTable=NULL; // portions from Schism Tracker (scripts/lutgen.c) // licensed under same license as this program. @@ -106,3 +107,25 @@ float* DivFilterTables::getSincIntegralTable() { } return sincIntegralTable; } + +float* DivFilterTables::getSincIntegralSmallTable() { + if (sincIntegralSmallTable==NULL) { + logD("initializing small sinc integral table."); + sincIntegralSmallTable=new float[256]; + + sincIntegralSmallTable[0]=-0.5f; + for (int i=1; i<256; i++) { + int mapped=((i&31)<<3)|(i>>5); + int mappedPrev=(((i-1)&31)<<3)|((i-1)>>5); + double x=(double)i*M_PI/32.0; + double sinc=sin(x)/x; + sincIntegralSmallTable[mapped]=sincIntegralSmallTable[mappedPrev]+(sinc/32.0); + } + + for (int i=0; i<256; i++) { + int mapped=((i&31)<<3)|(i>>5); + sincIntegralSmallTable[mapped]*=pow(cos(M_PI*(double)i/512.0),2.0); + } + } + return sincIntegralSmallTable; +} \ No newline at end of file diff --git a/src/engine/filter.h b/src/engine/filter.h index 1e6597e4f..1406ee145 100644 --- a/src/engine/filter.h +++ b/src/engine/filter.h @@ -23,6 +23,7 @@ class DivFilterTables { static float* sincTable; static float* sincTable8; static float* sincIntegralTable; + static float* sincIntegralSmallTable; /** * get a 1024x4 cubic spline table. @@ -47,4 +48,10 @@ class DivFilterTables { * @return the table. */ static float* getSincIntegralTable(); + + /** + * get a 32x8 one-side sine-windowed sinc integral table. + * @return the table. + */ + static float* getSincIntegralSmallTable(); }; \ No newline at end of file diff --git a/src/gui/osc.cpp b/src/gui/osc.cpp index d2f62910e..4a12ff34c 100644 --- a/src/gui/osc.cpp +++ b/src/gui/osc.cpp @@ -55,7 +55,7 @@ void FurnaceGUI::readOsc() { oscValues[ch]=new float[1024]; } memset(oscValues[ch],0,1024*sizeof(float)); - float* sincITable=DivFilterTables::getSincIntegralTable(); + float* sincITable=DivFilterTables::getSincIntegralSmallTable(); float posFrac=0.0; float factor=(float)oscWidth/(float)winSize; @@ -67,11 +67,11 @@ void FurnaceGUI::readOsc() { posFrac+=1.0; while (posFrac>=1.0) { - unsigned int n=((unsigned int)(posFrac*8192.0))&8191; + unsigned int n=((unsigned int)(posFrac*32.0))&31; posFrac-=factor; posInt++; - float* t1=&sincITable[(8191-n)<<3]; + float* t1=&sincITable[(31-n)<<3]; float* t2=&sincITable[n<<3]; float delta=e->oscBuf[ch][posInt&0x7fff]-e->oscBuf[ch][(posInt-1)&0x7fff]; From a71e1bc6e910a4d325f907af948ae91fc9316244 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 8 Sep 2023 00:41:47 -0500 Subject: [PATCH 020/174] GUI: optimize readOsc --- src/engine/filter.cpp | 18 ++++---- src/gui/osc.cpp | 100 ++++++++++++++++++++---------------------- 2 files changed, 57 insertions(+), 61 deletions(-) diff --git a/src/engine/filter.cpp b/src/engine/filter.cpp index 25d581b5a..ee325052b 100644 --- a/src/engine/filter.cpp +++ b/src/engine/filter.cpp @@ -111,20 +111,20 @@ float* DivFilterTables::getSincIntegralTable() { float* DivFilterTables::getSincIntegralSmallTable() { if (sincIntegralSmallTable==NULL) { logD("initializing small sinc integral table."); - sincIntegralSmallTable=new float[256]; + sincIntegralSmallTable=new float[512]; sincIntegralSmallTable[0]=-0.5f; - for (int i=1; i<256; i++) { - int mapped=((i&31)<<3)|(i>>5); - int mappedPrev=(((i-1)&31)<<3)|((i-1)>>5); - double x=(double)i*M_PI/32.0; + for (int i=1; i<512; i++) { + int mapped=((i&63)<<3)|(i>>6); + int mappedPrev=(((i-1)&63)<<3)|((i-1)>>6); + double x=(double)i*M_PI/64.0; double sinc=sin(x)/x; - sincIntegralSmallTable[mapped]=sincIntegralSmallTable[mappedPrev]+(sinc/32.0); + sincIntegralSmallTable[mapped]=sincIntegralSmallTable[mappedPrev]+(sinc/64.0); } - for (int i=0; i<256; i++) { - int mapped=((i&31)<<3)|(i>>5); - sincIntegralSmallTable[mapped]*=pow(cos(M_PI*(double)i/512.0),2.0); + for (int i=0; i<512; i++) { + int mapped=((i&63)<<3)|(i>>6); + sincIntegralSmallTable[mapped]*=pow(cos(M_PI*(double)i/1024.0),2.0); } } return sincIntegralSmallTable; diff --git a/src/gui/osc.cpp b/src/gui/osc.cpp index 4a12ff34c..d43e82055 100644 --- a/src/gui/osc.cpp +++ b/src/gui/osc.cpp @@ -52,36 +52,30 @@ void FurnaceGUI::readOsc() { for (int ch=0; chgetAudioDescGot().outChans; ch++) { if (oscValues[ch]==NULL) { - oscValues[ch]=new float[1024]; + oscValues[ch]=new float[2048]; } - memset(oscValues[ch],0,1024*sizeof(float)); + memset(oscValues[ch],0,2048*sizeof(float)); float* sincITable=DivFilterTables::getSincIntegralSmallTable(); float posFrac=0.0; float factor=(float)oscWidth/(float)winSize; int posInt=oscReadPos-(8.0f/factor); - for (int i=-8; i=0 && ioscBuf[ch][posInt&0x7fff]; - } + for (int i=7; ioscBuf[ch][posInt&0x7fff]; posFrac+=1.0; while (posFrac>=1.0) { - unsigned int n=((unsigned int)(posFrac*32.0))&31; + unsigned int n=((unsigned int)(posFrac*64.0))&63; posFrac-=factor; posInt++; - float* t1=&sincITable[(31-n)<<3]; + float* t1=&sincITable[(63-n)<<3]; float* t2=&sincITable[n<<3]; float delta=e->oscBuf[ch][posInt&0x7fff]-e->oscBuf[ch][(posInt-1)&0x7fff]; for (int j=0; j<8; j++) { - if ((i-j)>=0 && (i-j)=0 && (i+j+1)DC.CursorPos; @@ -248,61 +242,63 @@ void FurnaceGUI::drawOsc() { dpiScale ); - oscWidth=round(inRect.Max.x-inRect.Min.x); - if (oscWidth<1) oscWidth=1; - if (oscWidth>1024) oscWidth=1024; + oscWidth=round(inRect.Max.x-inRect.Min.x)+24; + if (oscWidth<17) oscWidth=17; + if (oscWidth>2048) oscWidth=2048; ImDrawListFlags prevFlags=dl->Flags; if (!settings.oscAntiAlias) { dl->Flags&=~(ImDrawListFlags_AntiAliasedLines|ImDrawListFlags_AntiAliasedLinesUseTex); } - if (settings.oscMono) { - for (int i=0; igetAudioDescGot().outChans; j++) { - avg+=oscValues[j][i]; - } - avg/=e->getAudioDescGot().outChans; + if ((oscWidth-24)>0) { + if (settings.oscMono) { + for (int i=0; igetAudioDescGot().outChans; j++) { + avg+=oscValues[j][i+12]; + } + avg/=e->getAudioDescGot().outChans; - float y=avg*oscZoom; - if (!settings.oscEscapesBoundary) { - if (y<-0.5f) y=-0.5f; - if (y>0.5f) y=0.5f; - } - waveform[i]=ImLerp(inRect.Min,inRect.Max,ImVec2(x,0.5f-y)); - } - - if (settings.oscEscapesBoundary) { - dl->PushClipRectFullScreen(); - dl->AddPolyline(waveform,oscWidth,color,ImDrawFlags_None,dpiScale); - dl->PopClipRect(); - } else { - dl->AddPolyline(waveform,oscWidth,color,ImDrawFlags_None,dpiScale); - } - } else { - for (int ch=0; chgetAudioDescGot().outChans; ch++) { - for (int i=0; i0.5f) y=0.5f; } waveform[i]=ImLerp(inRect.Min,inRect.Max,ImVec2(x,0.5f-y)); } - - if (!isClipping) { - color=ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_WAVE_CH0+ch]); - } if (settings.oscEscapesBoundary) { dl->PushClipRectFullScreen(); - dl->AddPolyline(waveform,oscWidth,color,ImDrawFlags_None,dpiScale); + dl->AddPolyline(waveform,oscWidth-24,color,ImDrawFlags_None,dpiScale); dl->PopClipRect(); } else { - dl->AddPolyline(waveform,oscWidth,color,ImDrawFlags_None,dpiScale); + dl->AddPolyline(waveform,oscWidth-24,color,ImDrawFlags_None,dpiScale); + } + } else { + for (int ch=0; chgetAudioDescGot().outChans; ch++) { + for (int i=0; i0.5f) y=0.5f; + } + waveform[i]=ImLerp(inRect.Min,inRect.Max,ImVec2(x,0.5f-y)); + } + + if (!isClipping) { + color=ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_WAVE_CH0+ch]); + } + + if (settings.oscEscapesBoundary) { + dl->PushClipRectFullScreen(); + dl->AddPolyline(waveform,oscWidth-24,color,ImDrawFlags_None,dpiScale); + dl->PopClipRect(); + } else { + dl->AddPolyline(waveform,oscWidth-24,color,ImDrawFlags_None,dpiScale); + } } } } From 6b6a8518ce0bdd38ec4bf2441265cd13d9bc5a84 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 8 Sep 2023 00:46:09 -0500 Subject: [PATCH 021/174] GUI: optimize readOsc again --- src/gui/osc.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/gui/osc.cpp b/src/gui/osc.cpp index d43e82055..dd40b9da0 100644 --- a/src/gui/osc.cpp +++ b/src/gui/osc.cpp @@ -73,10 +73,23 @@ void FurnaceGUI::readOsc() { float* t2=&sincITable[n<<3]; float delta=e->oscBuf[ch][posInt&0x7fff]-e->oscBuf[ch][(posInt-1)&0x7fff]; - for (int j=0; j<8; j++) { - oscValues[ch][i-j]+=t1[j]*-delta; - oscValues[ch][i+j+1]+=t2[j]*delta; - } + oscValues[ch][i-7]+=t1[7]*-delta; + oscValues[ch][i-6]+=t1[6]*-delta; + oscValues[ch][i-5]+=t1[5]*-delta; + oscValues[ch][i-4]+=t1[4]*-delta; + oscValues[ch][i-3]+=t1[3]*-delta; + oscValues[ch][i-2]+=t1[2]*-delta; + oscValues[ch][i-1]+=t1[1]*-delta; + oscValues[ch][i] +=t1[0]*-delta; + + oscValues[ch][i+1]+=t2[0]*delta; + oscValues[ch][i+2]+=t2[1]*delta; + oscValues[ch][i+3]+=t2[2]*delta; + oscValues[ch][i+4]+=t2[3]*delta; + oscValues[ch][i+5]+=t2[4]*delta; + oscValues[ch][i+6]+=t2[5]*delta; + oscValues[ch][i+7]+=t2[6]*delta; + oscValues[ch][i+8]+=t2[7]*delta; } } From 624e45afa86702ed2a34d1435987c94dcfa9f747 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 8 Sep 2023 01:19:48 -0500 Subject: [PATCH 022/174] optimize renderSamples only render sample which has changed --- src/engine/engine.cpp | 14 +++++++++----- src/engine/engine.h | 8 ++++++-- src/gui/doAction.cpp | 28 ++++++++++++++-------------- src/gui/gui.cpp | 2 +- src/gui/sampleEdit.cpp | 36 +++++++++++++++--------------------- 5 files changed, 45 insertions(+), 43 deletions(-) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 86eebfa31..5bbcff1eb 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -396,13 +396,13 @@ int DivEngine::loadSampleROMs() { return error; } -void DivEngine::renderSamplesP() { +void DivEngine::renderSamplesP(int whichSample) { BUSY_BEGIN; - renderSamples(); + renderSamples(whichSample); BUSY_END; } -void DivEngine::renderSamples() { +void DivEngine::renderSamples(int whichSample) { sPreview.sample=-1; sPreview.pos=0; sPreview.dir=false; @@ -418,8 +418,12 @@ void DivEngine::renderSamples() { } // step 1: render samples - for (int i=0; irender(formatMask); + if (whichSample==-1) { + for (int i=0; irender(formatMask); + } + } else if (whichSample>=0 && whichSamplerender(formatMask); } // step 2: render samples to dispatch diff --git a/src/engine/engine.h b/src/engine/engine.h index ff7437c6e..c1b760bdf 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -1064,10 +1064,14 @@ class DivEngine { unsigned int getSampleFormatMask(); // UNSAFE render samples - only execute when locked - void renderSamples(); + void renderSamples(int whichSample=-1); // public render samples - void renderSamplesP(); + // values for whichSample + // -2: don't render anything - just update chip sample memory + // -1: render all samples + // >=0: render specific sample + void renderSamplesP(int whichSample=-1); // public swap channels void swapChannelsP(int src, int dest); diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index 1b4402c77..ebb26cac9 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -919,7 +919,7 @@ void FurnaceGUI::doAction(int what) { sample->strip(start,end); updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); sampleSelStart=-1; sampleSelEnd=-1; @@ -965,7 +965,7 @@ void FurnaceGUI::doAction(int what) { memcpy(&(sample->data16[pos]),sampleClipboard,sizeof(short)*sampleClipboardLen); } } - e->renderSamples(); + e->renderSamples(curSample); }); sampleSelStart=pos; sampleSelEnd=pos+sampleClipboardLen; @@ -995,7 +995,7 @@ void FurnaceGUI::doAction(int what) { sample->data16[pos+i]=sampleClipboard[i]; } } - e->renderSamples(); + e->renderSamples(curSample); }); sampleSelStart=pos; sampleSelEnd=pos+sampleClipboardLen; @@ -1032,7 +1032,7 @@ void FurnaceGUI::doAction(int what) { sample->data16[pos+i]=val; } } - e->renderSamples(); + e->renderSamples(curSample); }); sampleSelStart=pos; sampleSelEnd=pos+sampleClipboardLen; @@ -1104,7 +1104,7 @@ void FurnaceGUI::doAction(int what) { updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; break; @@ -1135,7 +1135,7 @@ void FurnaceGUI::doAction(int what) { updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; break; @@ -1166,7 +1166,7 @@ void FurnaceGUI::doAction(int what) { updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; break; @@ -1195,7 +1195,7 @@ void FurnaceGUI::doAction(int what) { updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; break; @@ -1211,7 +1211,7 @@ void FurnaceGUI::doAction(int what) { sample->strip(start,end); updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); sampleSelStart=-1; sampleSelEnd=-1; @@ -1229,7 +1229,7 @@ void FurnaceGUI::doAction(int what) { sample->trim(start,end); updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); sampleSelStart=-1; sampleSelEnd=-1; @@ -1264,7 +1264,7 @@ void FurnaceGUI::doAction(int what) { updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; break; @@ -1291,7 +1291,7 @@ void FurnaceGUI::doAction(int what) { updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; break; @@ -1316,7 +1316,7 @@ void FurnaceGUI::doAction(int what) { updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; break; @@ -1441,7 +1441,7 @@ void FurnaceGUI::doAction(int what) { sample->loop=true; updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; break; diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 30ddd43c9..176e99a02 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3254,7 +3254,7 @@ void FurnaceGUI::pointUp(int x, int y, int button) { if (sampleDragActive) { logD("stopping sample drag"); if (sampleDragMode) { - e->renderSamplesP(); + e->renderSamplesP(curSample); } else { if (sampleSelStart>sampleSelEnd) { sampleSelStart^=sampleSelEnd; diff --git a/src/gui/sampleEdit.cpp b/src/gui/sampleEdit.cpp index 43e53618f..20fe69960 100644 --- a/src/gui/sampleEdit.cpp +++ b/src/gui/sampleEdit.cpp @@ -432,7 +432,7 @@ void FurnaceGUI::drawSampleEdit() { } updateSampleTex=true; if (e->getSampleFormatMask()&(1U<renderSamplesP(); + e->renderSamplesP(curSample); } } popWarningColor(); @@ -462,7 +462,7 @@ void FurnaceGUI::drawSampleEdit() { sample->prepareUndo(true); e->lockEngine([this,sample,i]() { sample->convert((DivSampleDepth)i); - e->renderSamples(); + e->renderSamples(curSample); }); updateSampleTex=true; MARK_MODIFIED; @@ -483,7 +483,7 @@ void FurnaceGUI::drawSampleEdit() { if (ImGui::Checkbox("BRR emphasis",&be)) { sample->prepareUndo(true); sample->brrEmphasis=be; - e->renderSamplesP(); + e->renderSamplesP(curSample); updateSampleTex=true; MARK_MODIFIED; } @@ -500,7 +500,7 @@ void FurnaceGUI::drawSampleEdit() { if (ImGui::Checkbox("8-bit dither",&di)) { sample->prepareUndo(true); sample->dither=di; - e->renderSamplesP(); + e->renderSamplesP(curSample); updateSampleTex=true; MARK_MODIFIED; } @@ -631,7 +631,7 @@ void FurnaceGUI::drawSampleEdit() { if (ImGui::Selectable(sampleLoopModes[i])) { sample->prepareUndo(true); sample->loopMode=(DivSampleLoopMode)i; - e->renderSamplesP(); + e->renderSamplesP(curSample); updateSampleTex=true; MARK_MODIFIED; } @@ -657,7 +657,7 @@ void FurnaceGUI::drawSampleEdit() { } updateSampleTex=true; if (e->getSampleFormatMask()&(1U<renderSamplesP(); + e->renderSamplesP(curSample); } } if (ImGui::IsItemActive()) { @@ -683,7 +683,7 @@ void FurnaceGUI::drawSampleEdit() { } updateSampleTex=true; if (e->getSampleFormatMask()&(1U<renderSamplesP(); + e->renderSamplesP(curSample); } } if (ImGui::IsItemActive()) { @@ -752,7 +752,7 @@ void FurnaceGUI::drawSampleEdit() { ImGui::PushStyleColor(ImGuiCol_CheckMark,baseColor); if (ImGui::Checkbox(id,&sample->renderOn[i][j])) { - e->renderSamplesP(); + e->renderSamplesP(curSample); } ImGui::PopStyleColor(4); @@ -795,12 +795,6 @@ void FurnaceGUI::drawSampleEdit() { ImGui::EndTable(); } - /* - if (ImGui::Button("Apply")) { - e->renderSamplesP(); - } - ImGui::SameLine(); - */ ImGui::Separator(); pushToggleColors(!sampleDragMode); @@ -846,7 +840,7 @@ void FurnaceGUI::drawSampleEdit() { if (!sample->resize(resizeSize)) { showError("couldn't resize! make sure your sample is 8 or 16-bit."); } - e->renderSamples(); + e->renderSamples(curSample); }); updateSampleTex=true; sampleSelStart=-1; @@ -901,7 +895,7 @@ void FurnaceGUI::drawSampleEdit() { if (!sample->resample(targetRate,resampleTarget,resampleStrat)) { showError("couldn't resample! make sure your sample is 8 or 16-bit."); } - e->renderSamples(); + e->renderSamples(curSample); }); updateSampleTex=true; sampleSelStart=-1; @@ -972,7 +966,7 @@ void FurnaceGUI::drawSampleEdit() { updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; ImGui::CloseCurrentPopup(); @@ -1021,7 +1015,7 @@ void FurnaceGUI::drawSampleEdit() { if (!sample->insert(pos,silenceSize)) { showError("couldn't insert! make sure your sample is 8 or 16-bit."); } - e->renderSamples(); + e->renderSamples(curSample); }); updateSampleTex=true; sampleSelStart=pos; @@ -1182,7 +1176,7 @@ void FurnaceGUI::drawSampleEdit() { updateSampleTex=true; - e->renderSamples(); + e->renderSamples(curSample); }); MARK_MODIFIED; ImGui::CloseCurrentPopup(); @@ -1869,7 +1863,7 @@ void FurnaceGUI::doUndoSample() { DivSample* sample=e->song.sample[curSample]; e->lockEngine([this,sample]() { if (sample->undo()==2) { - e->renderSamples(); + e->renderSamples(curSample); updateSampleTex=true; } }); @@ -1881,7 +1875,7 @@ void FurnaceGUI::doRedoSample() { DivSample* sample=e->song.sample[curSample]; e->lockEngine([this,sample]() { if (sample->redo()==2) { - e->renderSamples(); + e->renderSamples(curSample); updateSampleTex=true; } }); From f0306ca66094c310d70c0d315a2d6d24bc8e1bbc Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 8 Sep 2023 01:38:23 -0500 Subject: [PATCH 023/174] GUI: sample editor usability fixes --- src/gui/sampleEdit.cpp | 67 ++++++++++++++++++++++++++++++++---------- 1 file changed, 52 insertions(+), 15 deletions(-) diff --git a/src/gui/sampleEdit.cpp b/src/gui/sampleEdit.cpp index 20fe69960..3c7faa617 100644 --- a/src/gui/sampleEdit.cpp +++ b/src/gui/sampleEdit.cpp @@ -195,6 +195,7 @@ void FurnaceGUI::drawSampleEdit() { ImGui::Separator(); String warnLoop, warnLoopMode, warnLoopPos; + String warnLoopStart, warnLoopEnd; String warnLength, warnRate; bool isChipVisible[DIV_MAX_CHIPS]; @@ -213,9 +214,21 @@ void FurnaceGUI::drawSampleEdit() { switch (e->song.system[i]) { case DIV_SYSTEM_SNES: if (sample->loop) { - if (sample->loopStart&15 || sample->loopEnd&15) { - SAMPLE_WARN(warnLoopPos,"SNES: loop must be a multiple of 16"); + if (sample->loopStart&15) { + int tryWith=(sample->loopStart+8)&(~15); + if (tryWith>(int)sample->samples) tryWith-=16; + String alignHint=fmt::sprintf("SNES: loop start must be a multiple of 16 (try with %d)",tryWith); + SAMPLE_WARN(warnLoopStart,alignHint); } + if (sample->loopEnd&15) { + int tryWith=(sample->loopEnd+8)&(~15); + if (tryWith>(int)sample->samples) tryWith-=16; + String alignHint=fmt::sprintf("SNES: loop end must be a multiple of 16 (try with %d)",tryWith); + SAMPLE_WARN(warnLoopEnd,alignHint); + } + } + if (sample->samples&15) { + SAMPLE_WARN(warnLength,"SNES: sample length will be padded to multiple of 16"); } if (dispatch!=NULL) { MAX_RATE("SNES",dispatch->chipClock/8.0); @@ -302,8 +315,11 @@ void FurnaceGUI::drawSampleEdit() { break; case DIV_SYSTEM_AMIGA: if (sample->loop) { - if (sample->loopStart&1 || sample->loopEnd&1) { - SAMPLE_WARN(warnLoopPos,"Amiga: loop must be a multiple of 2"); + if (sample->loopStart&1) { + SAMPLE_WARN(warnLoopStart,"Amiga: loop start must be a multiple of 2"); + } + if (sample->loopEnd&1) { + SAMPLE_WARN(warnLoopEnd,"Amiga: loop end must be a multiple of 2"); } } if (sample->samples>131070) { @@ -342,8 +358,11 @@ void FurnaceGUI::drawSampleEdit() { break; case DIV_SYSTEM_C219: if (sample->loop) { - if (sample->loopStart&1 || sample->loopEnd&1) { - SAMPLE_WARN(warnLoopPos,"C219: loop must be a multiple of 2"); + if (sample->loopStart&1) { + SAMPLE_WARN(warnLoopStart,"C219: loop start must be a multiple of 2"); + } + if (sample->loopEnd&1) { + SAMPLE_WARN(warnLoopEnd,"C219: loop end must be a multiple of 2"); } } if (sample->samples>131072) { @@ -643,7 +662,7 @@ void FurnaceGUI::drawSampleEdit() { } popWarningColor(); - pushWarningColor(!warnLoopPos.empty()); + pushWarningColor(!warnLoopPos.empty() || !warnLoopStart.empty()); ImGui::AlignTextToFramePadding(); ImGui::Text("Start"); ImGui::SameLine(); @@ -663,13 +682,23 @@ void FurnaceGUI::drawSampleEdit() { if (ImGui::IsItemActive()) { keepLoopAlive=true; } - if (ImGui::IsItemHovered() && (!warnLoopPos.empty() || sample->depth==DIV_SAMPLE_DEPTH_BRR)) { - if (sample->depth==DIV_SAMPLE_DEPTH_BRR) { - SAMPLE_WARN(warnLoopPos,"changing the loop in a BRR sample may result in glitches!"); + if (ImGui::IsItemHovered() && (!warnLoopPos.empty() || !warnLoopStart.empty() || sample->depth==DIV_SAMPLE_DEPTH_BRR)) { + if (ImGui::BeginTooltip()) { + if (sample->depth==DIV_SAMPLE_DEPTH_BRR) { + ImGui::Text("changing the loop in a BRR sample may result in glitches!"); + } + if (!warnLoopStart.empty()) { + ImGui::Text("%s",warnLoopStart.c_str()); + } + if (!warnLoopPos.empty()) { + ImGui::Text("%s",warnLoopPos.c_str()); + } + ImGui::EndTooltip(); } - ImGui::SetTooltip("%s",warnLoopPos.c_str()); } + popWarningColor(); + pushWarningColor(!warnLoopPos.empty() || !warnLoopEnd.empty()); ImGui::AlignTextToFramePadding(); ImGui::Text("End"); ImGui::SameLine(); @@ -689,11 +718,19 @@ void FurnaceGUI::drawSampleEdit() { if (ImGui::IsItemActive()) { keepLoopAlive=true; } - if (ImGui::IsItemHovered() && (!warnLoopPos.empty() || sample->depth==DIV_SAMPLE_DEPTH_BRR)) { - if (sample->depth==DIV_SAMPLE_DEPTH_BRR) { - SAMPLE_WARN(warnLoopPos,"changing the loop in a BRR sample may result in glitches!"); + if (ImGui::IsItemHovered() && (!warnLoopPos.empty() || !warnLoopEnd.empty() || sample->depth==DIV_SAMPLE_DEPTH_BRR)) { + if (ImGui::BeginTooltip()) { + if (sample->depth==DIV_SAMPLE_DEPTH_BRR) { + ImGui::Text("changing the loop in a BRR sample may result in glitches!"); + } + if (!warnLoopEnd.empty()) { + ImGui::Text("%s",warnLoopEnd.c_str()); + } + if (!warnLoopPos.empty()) { + ImGui::Text("%s",warnLoopPos.c_str()); + } + ImGui::EndTooltip(); } - ImGui::SetTooltip("%s",warnLoopPos.c_str()); } popWarningColor(); ImGui::EndDisabled(); From ff06ad67bde3c43dfe365944441a56c53f9f4a4f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 8 Sep 2023 01:47:49 -0500 Subject: [PATCH 024/174] GUI: display loop length in checkbox --- src/gui/sampleEdit.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/sampleEdit.cpp b/src/gui/sampleEdit.cpp index 3c7faa617..9e8212216 100644 --- a/src/gui/sampleEdit.cpp +++ b/src/gui/sampleEdit.cpp @@ -434,7 +434,8 @@ void FurnaceGUI::drawSampleEdit() { ImGui::TableNextColumn(); bool doLoop=(sample->loop); pushWarningColor(!warnLoop.empty()); - if (ImGui::Checkbox("Loop",&doLoop)) { MARK_MODIFIED + String loopCheckboxName=(doLoop && (sample->loopEnd-sample->loopStart)>0)?fmt::sprintf("Loop (length: %d)##Loop",sample->loopEnd-sample->loopStart):String("Loop"); + if (ImGui::Checkbox(loopCheckboxName.c_str(),&doLoop)) { MARK_MODIFIED if (doLoop) { sample->loop=true; if (sample->loopStart<0) { From 5209074c97d8b574a9535c421cb655ba5e797c88 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 8 Sep 2023 02:52:15 -0500 Subject: [PATCH 025/174] GUI: improve "clear..." menu --- src/engine/engine.cpp | 145 ++++++++++++++++++++++++++-- src/engine/engine.h | 8 ++ src/gui/doAction.cpp | 2 +- src/gui/gui.cpp | 216 ++++++++++++++++++++++++++---------------- 4 files changed, 279 insertions(+), 92 deletions(-) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 5bbcff1eb..ad25b6eea 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -883,6 +883,119 @@ void DivEngine::clearSubSongs() { BUSY_END; } +void DivEngine::delUnusedIns() { + BUSY_BEGIN; + saveLock.lock(); + + bool isUsed[256]; + memset(isUsed,0,256*sizeof(bool)); + + // scan + for (int i=0; ipat[i].data[k]==NULL) continue; + for (int l=0; lpatLen; l++) { + if (song.subsong[j]->pat[i].data[k]->data[l][2]>=0 && song.subsong[j]->pat[i].data[k]->data[l][2]<256) { + isUsed[song.subsong[j]->pat[i].data[k]->data[l][2]]=true; + } + } + } + } + } + + // delete + for (int i=0; itype==DIV_INS_PCE && i->amiga.useSample) || + i->type==DIV_INS_MSM6258 || + i->type==DIV_INS_MSM6295 || + i->type==DIV_INS_ADPCMA || + i->type==DIV_INS_ADPCMB || + i->type==DIV_INS_SEGAPCM || + i->type==DIV_INS_QSOUND || + i->type==DIV_INS_YMZ280B || + i->type==DIV_INS_RF5C68 || + i->type==DIV_INS_AMIGA || + i->type==DIV_INS_MULTIPCM || + (i->type==DIV_INS_MIKEY && i->amiga.useSample) || + (i->type==DIV_INS_X1_010 && i->amiga.useSample) || + (i->type==DIV_INS_SWAN && i->amiga.useSample) || + (i->type==DIV_INS_AY && i->amiga.useSample) || + (i->type==DIV_INS_AY8930 && i->amiga.useSample) || + (i->type==DIV_INS_VRC6 && i->amiga.useSample) || + (i->type==DIV_INS_SU && i->amiga.useSample) || + i->type==DIV_INS_SNES || + i->type==DIV_INS_ES5506 || + i->type==DIV_INS_K007232 || + i->type==DIV_INS_GA20 || + i->type==DIV_INS_K053260 || + i->type==DIV_INS_C140 || + i->type==DIV_INS_C219) { + if (i->amiga.initSample>=0 && i->amiga.initSampleamiga.initSample]=true; + } + if (i->amiga.useNoteMap) { + for (int j=0; j<120; j++) { + if (i->amiga.noteMap[j].map>=0 && i->amiga.noteMap[j].mapamiga.noteMap[j].map]=true; + } + } + } + } + } + + // delete + for (int i=0; i=0 && index<(int)song.ins.size()) { for (int i=0; inotifyInsDeletion(song.ins[index]); @@ -2264,6 +2375,12 @@ void DivEngine::delInstrument(int index) { removeAsset(song.insDir,index); checkAssetDir(song.insDir,song.ins.size()); } +} + +void DivEngine::delInstrument(int index) { + BUSY_BEGIN; + saveLock.lock(); + delInstrumentUnsafe(index); saveLock.unlock(); BUSY_END; } @@ -2444,9 +2561,7 @@ DivWavetable* DivEngine::waveFromFile(const char* path, bool addRaw) { return wave; } -void DivEngine::delWave(int index) { - BUSY_BEGIN; - saveLock.lock(); +void DivEngine::delWaveUnsafe(int index) { if (index>=0 && index<(int)song.wave.size()) { delete song.wave[index]; song.wave.erase(song.wave.begin()+index); @@ -2454,6 +2569,12 @@ void DivEngine::delWave(int index) { removeAsset(song.waveDir,index); checkAssetDir(song.waveDir,song.wave.size()); } +} + +void DivEngine::delWave(int index) { + BUSY_BEGIN; + saveLock.lock(); + delWaveUnsafe(index); saveLock.unlock(); BUSY_END; } @@ -2498,12 +2619,10 @@ int DivEngine::addSamplePtr(DivSample* which) { return sampleCount; } -void DivEngine::delSample(int index) { - BUSY_BEGIN; +void DivEngine::delSampleUnsafe(int index, bool render) { sPreview.sample=-1; sPreview.pos=0; sPreview.dir=false; - saveLock.lock(); if (index>=0 && index<(int)song.sample.size()) { delete song.sample[index]; song.sample.erase(song.sample.begin()+index); @@ -2527,8 +2646,14 @@ void DivEngine::delSample(int index) { } } - renderSamples(); + if (render) renderSamples(); } +} + +void DivEngine::delSample(int index) { + BUSY_BEGIN; + saveLock.lock(); + delSampleUnsafe(index); saveLock.unlock(); BUSY_END; } diff --git a/src/engine/engine.h b/src/engine/engine.h index c1b760bdf..914a207dd 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -889,6 +889,7 @@ class DivEngine { // delete instrument void delInstrument(int index); + void delInstrumentUnsafe(int index); // add wavetable int addWave(); @@ -901,6 +902,7 @@ class DivEngine { // delete wavetable void delWave(int index); + void delWaveUnsafe(int index); // add sample int addSample(); @@ -916,6 +918,7 @@ class DivEngine { // delete sample void delSample(int index); + void delSampleUnsafe(int index, bool render=true); // add order void addOrder(int pos, bool duplicate, bool where); @@ -1095,6 +1098,11 @@ class DivEngine { // clear all subsong data void clearSubSongs(); + // optimize assets + void delUnusedIns(); + void delUnusedWaves(); + void delUnusedSamples(); + // change system void changeSystem(int index, DivSystem which, bool preserveOrder=true); diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index ebb26cac9..6edfa694d 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -183,7 +183,7 @@ void FurnaceGUI::doAction(int what) { e->syncReset(); break; case GUI_ACTION_CLEAR: - showWarning("Are you sure you want to clear... (cannot be undone!)",GUI_WARN_CLEAR); + showWarning("Select an option: (cannot be undone!)",GUI_WARN_CLEAR); break; case GUI_ACTION_WINDOW_EDIT_CONTROLS: diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 176e99a02..af2d4458c 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -5521,90 +5521,144 @@ bool FurnaceGUI::loop() { } break; case GUI_WARN_CLEAR: - if (ImGui::Button("All subsongs")) { - stop(); - e->clearSubSongs(); - curOrder=0; - oldOrder=0; - oldOrder1=0; - MARK_MODIFIED; - ImGui::CloseCurrentPopup(); - } - ImGui::SameLine(); - if (ImGui::Button("Current subsong")) { - stop(); - e->lockEngine([this]() { - e->curSubSong->clearData(); - }); - e->setOrder(0); - curOrder=0; - oldOrder=0; - oldOrder1=0; - MARK_MODIFIED; - ImGui::CloseCurrentPopup(); - } - ImGui::SameLine(); - if (ImGui::Button("Orders")) { - stop(); - e->lockEngine([this]() { - memset(e->curOrders->ord,0,DIV_MAX_CHANS*DIV_MAX_PATTERNS); - e->curSubSong->ordersLen=1; - }); - e->setOrder(0); - curOrder=0; - oldOrder=0; - oldOrder1=0; - MARK_MODIFIED; - ImGui::CloseCurrentPopup(); - } - ImGui::SameLine(); - if (ImGui::Button("Pattern")) { - stop(); - e->lockEngine([this]() { - for (int i=0; igetTotalChannelCount(); i++) { - DivPattern* pat=e->curPat[i].getPattern(e->curOrders->ord[i][curOrder],true); - memset(pat->data,-1,DIV_MAX_ROWS*DIV_MAX_COLS*sizeof(short)); - for (int j=0; jdata[j][0]=0; - pat->data[j][1]=0; + if (ImGui::BeginTable("EraseOpt",2,ImGuiTableFlags_BordersInnerV)) { + ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthStretch,0.5f); + ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.5f); + ImGui::TableNextRow(); + + ImGui::TableNextColumn(); + ImGui::PushFont(headFont); + ImGui::AlignTextToFramePadding(); + ImGui::Text("Erasing"); + ImGui::PopFont(); + + if (ImGui::Button("All subsongs")) { + stop(); + e->clearSubSongs(); + curOrder=0; + oldOrder=0; + oldOrder1=0; + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + if (ImGui::Button("Current subsong")) { + stop(); + e->lockEngine([this]() { + e->curSubSong->clearData(); + }); + e->setOrder(0); + curOrder=0; + oldOrder=0; + oldOrder1=0; + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + if (ImGui::Button("Orders")) { + stop(); + e->lockEngine([this]() { + memset(e->curOrders->ord,0,DIV_MAX_CHANS*DIV_MAX_PATTERNS); + e->curSubSong->ordersLen=1; + }); + e->setOrder(0); + curOrder=0; + oldOrder=0; + oldOrder1=0; + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + if (ImGui::Button("Pattern")) { + stop(); + e->lockEngine([this]() { + for (int i=0; igetTotalChannelCount(); i++) { + DivPattern* pat=e->curPat[i].getPattern(e->curOrders->ord[i][curOrder],true); + memset(pat->data,-1,DIV_MAX_ROWS*DIV_MAX_COLS*sizeof(short)); + for (int j=0; jdata[j][0]=0; + pat->data[j][1]=0; + } } - } - }); - MARK_MODIFIED; - ImGui::CloseCurrentPopup(); - } - ImGui::SameLine(); - if (ImGui::Button("Instruments")) { - stop(); - e->lockEngine([this]() { - e->song.clearInstruments(); - }); - curIns=-1; - MARK_MODIFIED; - ImGui::CloseCurrentPopup(); - } - ImGui::SameLine(); - if (ImGui::Button("Wavetables")) { - stop(); - e->lockEngine([this]() { - e->song.clearWavetables(); - }); - curWave=0; - MARK_MODIFIED; - ImGui::CloseCurrentPopup(); - } - ImGui::SameLine(); - if (ImGui::Button("Samples")) { - stop(); - e->lockEngine([this]() { - e->song.clearSamples(); - }); - curSample=0; - ImGui::CloseCurrentPopup(); + }); + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + if (ImGui::Button("Instruments")) { + stop(); + e->lockEngine([this]() { + e->song.clearInstruments(); + }); + curIns=-1; + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + if (ImGui::Button("Wavetables")) { + stop(); + e->lockEngine([this]() { + e->song.clearWavetables(); + }); + curWave=0; + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + if (ImGui::Button("Samples")) { + stop(); + e->lockEngine([this]() { + e->song.clearSamples(); + }); + curSample=0; + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + + ImGui::TableNextColumn(); + ImGui::PushFont(headFont); + ImGui::AlignTextToFramePadding(); + ImGui::Text("Optimization"); + ImGui::PopFont(); + + if (ImGui::Button("De-duplicate patterns")) { + stop(); + e->lockEngine([this]() { + e->curSubSong->optimizePatterns(); + e->curSubSong->rearrangePatterns(); + }); + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + if (ImGui::Button("Remove unused instruments")) { + stop(); + e->delUnusedIns(); + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + /* + if (ImGui::Button("Remove unused wavetables")) { + stop(); + e->delUnusedWaves(); + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + }*/ + if (ImGui::Button("Remove unused samples")) { + stop(); + e->delUnusedSamples(); + MARK_MODIFIED; + ImGui::CloseCurrentPopup(); + } + + ImGui::EndTable(); } - if (ImGui::Button("Wait! What am I doing? Cancel!") || ImGui::IsKeyPressed(ImGuiKey_Escape)) { - ImGui::CloseCurrentPopup(); + if (ImGui::BeginTable("EraseOptFooter",3)) { + ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthStretch,0.5f); + ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthFixed); + ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthStretch,0.5f); + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::TableNextColumn(); + if (ImGui::Button("Never mind! Cancel") || ImGui::IsKeyPressed(ImGuiKey_Escape)) { + ImGui::CloseCurrentPopup(); + } + ImGui::TableNextColumn(); + ImGui::EndTable(); } break; case GUI_WARN_SUBSONG_DEL: From 1091c7f64c75faeb8e00dd2b93ee18e44b175376 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 8 Sep 2023 05:31:27 -0500 Subject: [PATCH 026/174] GUI: disable TX81Z send option it is not implemented --- src/gui/insEdit.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 00cc903f2..69afc1505 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -2531,10 +2531,12 @@ void FurnaceGUI::drawInsEdit() { if (ImGui::Button("Request from TX81Z")) { doAction(GUI_ACTION_TX81Z_REQUEST); } + /* ImGui::SameLine(); if (ImGui::Button("Send to TX81Z")) { showError("Coming soon!"); } + */ break; case DIV_INS_OPL: case DIV_INS_OPL_DRUMS: { From d0a12226556eca227d284d74114073e34f20a023 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Fri, 8 Sep 2023 12:18:35 -0700 Subject: [PATCH 027/174] Documentation updates. --- doc/2-interface/docking.png | Bin 446854 -> 447409 bytes doc/2-interface/interface1.png | Bin 445798 -> 494767 bytes doc/2-interface/menu-bar.md | 2 +- doc/6-sample/sample-editor.png | Bin 196544 -> 256536 bytes 4 files changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/2-interface/docking.png b/doc/2-interface/docking.png index ba4d6973fcb8ff70ff192369975b230c811f2f53..6521a68a5c8a1e47c9f1c0d355147ab7813a8ece 100644 GIT binary patch literal 447409 zcmaI8c|6o@^gf85iYNNpD=~r4#PU7I zzJ@3IDJm;kTD}v)sv59snXZ=cS@`9h`>d^hfXn~Oe!ABWrs6Z+Ub;z1yBRkTE8cp> zXKY19Z~0ej?9+)CmI?!Dld&SVf)hMmcb`|jJN%{M{v4^ecy))iYQdGqQYB?eQu;DeU6iPDw&xnms-dy{t9ehC&}8> zoOG>r3S^pg33*V(vt#iOi@*3TNsWEek^CyKB7Pfz-(KW;hm{Z;dR9h$6Gx*TdZzZR z8hxqnakwZ-dO!R}MkZcuAliUYdc0bn?6|m<&1HM9(jZ%5z%ofT>XQ=IH8_%nphRS; zQX(>tab4J^=p}rWJ~u3{<{d?zr-iRIMc;N)B&s(Xl`|NvDiQCN3h#1hGa+A~XX`#z z7*NjRvc273mL{#~#`FE2`<(qK`u6(eSoF?`!W<7NcSz-!CL`Ha4*p6-@`WGKcuxN@xbL`0-N_IU=&mB$6l(|j(6Qwswm9_HC|*rTe!`+rNcJbT?R^;IIpm5&gu)QWsfwqM|I07=5`W zG4HdqlUFNKwo%ewDsN=a5K$2Fw_Vg*2Q;KNk!4S(`@}Ukck{$1OjU zz~!GC+qcD2->7c8r~5!FCZrN8WY1c<$1Xywjr9{3oJcEn6hn;Fw2SHJ>TOD zl^HwuYZr;0>9LKVaoO%KJIFQ} zD#3u&BC%W#XcSx<%S#_2QS?Qf6p4q-;r*LYFwkbByS*D}T_hvAObN?ZcM)QPZ#XcB z0x(hdVh;OV_BUx=U-E5xY_$*mw`w`hm9f05cx>rW`6qd@l;$kN71 zp2O0RTXx~H^Rzxr#NDCf(L>B6J;7IPlxR9vY`#HtYMeHkGmYHi3&jSe~k@P0Ch!makTPIUI#c3T?{_%?B5 z?&8R!XOwniBG`7np1K38ZS^eYF*;(C&gISPUwlrCS{Sy^#)gDEfW)J+|C* zgg3S|iO#i(WJ48t_!c;X5IXLvWMO5JRtMh~J{v_MYl{)7;B?P6SkPs=Q=-0`DN9vs zpzH_ds;KQxG>FoI4sNC#lBxcbeIWtp=WBP8nWTec=vkf%F9S9-L3X$}?ZhWSYB^dr zB*P!`aO&*1#Ee4+u$b;+S2%lVVC{!F5Qm4Hj&sRj3{YX6TcI0izjq7MH}G1h4bvuKp`8* zqD3o!5vCHGvJ;Nk-mk4Q5vsS^Rvn5_yenO8x?wH{a+U3+Fy$Rkx$(8wnHqyd0u4; zZA`%rvW>6;!p2ozfLfs36g>;8)~5luBxXpmVY1&+kIS73;b_&MJ7eY8K$hq&1Y7&! zySGll-CMD$jz>9QURAvvu1^(~u(4ug?f7|3A&9Vv;w)4!rf)HN?z$7ewPFLn>h;Pe z;&6WGl^wzr%>lOfX(gUf00QYCng%2MJGOZKhvP|CkM~>A5l-}586j*nB3ED!z%J}- zMcqvO8wG04~b(Kd!{uvcd}pbLBLB&6M;v_tZ%Rp(xFI zo4rsx?R2wZb*s0YZQuV;S$)e3RDtr;C7gERsECAlU{4ne3-JJWTSd?)(+k+_!{WA< zHA~q>NYHgO*|LR}X5bG%JwmW%U+d+B=f&f$v{J8*nsY{PB^WTD%>$gPVn>*-2bi1M zGX+`Dl5tH~goreRpf!4egLrTiH*FJ#fXx#wTpQ~$rT!&}VU*_=!2#tri*|W{#|KDq zh$D#q#aBe+%(s9(`eo1QmoPq=MCWr0_w?$|OG&pKdIX_I&oWR)E>mwc)-? zg&!)D&S1)Z&Wv#=5wAG0LAJo1FLl_n6Kt2yQ4t6oztE{^$b?84(UbRCQiOBaH-P(6 z3x^xaK6}=f4Y=MwUY0c2<1bW4P#Hu2CqNTSVVX4A#yuFZR9G4R3HSo-^pkKz7&1OV z2rnEahv3+#6i559#KzJS$*>CgD;ZbI-DD(UzmXun2vL412OKh=HIys$NHBXoY2DYW z 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
  • j}J%+-@*$L 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∈i%0rWCv3WXb)+CVA{?r1o;C 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

    VTZ+XlaAZ*dgotBG_A? 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

    Nh ze$7T-K8FMcb0>cTo-Y`)Z03MiC_^}hu>!=u0`Y>0cMc+3zt<9v zWp*^UUfi^E+wslf00VEiNXGF;{gB^SQM~&+64%DEWZAzQhwYjpygqu;*Ay^x{7Pn~ z^PG|Yts5a02Y8&2alC4&&*s6!^A^46XEc^&KNi?(SAmPv(cu(I{nQj@Y!zkvF8bKf zYI{T{vbrP#HcCdNqxJWxC)AxbCb63h%cUt#O0*h6qd7GGP&E+q9k=c%;unS{kv+=) z(=aeuVtk*vZ%Wg}c;}FLf`94YPvI>aF?`BH9oP1J07N+VJ&lQ~x8g@kN|y<5E3rcoZ4>#W;MaJv!Ka&s-R+2qVBNvE1qpV{OA`Ob83Io^Yh3L zc9DHKg>02q9X!xw39?FBkc~EiBR$BJFM}=`NcXH(hb=(223j@#z?>u|CN`};$gS!H zA)*jby;3xP5;8-e9*MrNg$}Ks6)QQ$!^~HK$QTW28c+>Is&<~7Yy|+z)CS0_FMSK_ zexT(8fTV3Ba1}vF%!~8G1C_~g1UNrqnR6Hpu?=Si$g5dCpoAcUgStyQ?MuZ#nG{>9rQ{8GJN&=ElmnyI}i5A zt(LAtRsKf>KMCF%dJ_-sPMkVTX211PML~svGr&jb_(W{Q<#?^(=jlYAb(jV!FK6UY z{u-{1(D;*`g&%=h#;+A@*849k60YoMlo{6^yJ!t48lz4-b`lnBd_Ud4?>luMwLzi2 zUVFSSJsqbP>+CphmmyBQGE^C%)gnWRF-MKX&YjdIVq+Ft#J+h=6I&tZ`U}iT`JHge{K2 zR_TpP0Kij&XNZR#5h0<|?uY?!E!x}KX3(2r4uhkp{nw}VQO!+{ ze4FkjOU@9L9S-B(Qw|q>Np#zItcDGD{)cs@M2zgUx}J~obOTA+7PMiLbF)&yKR-0- zPp&`dXu?tC)ns6Ze9*eMO@<&l58wRAV^rmouM{TesZegYgFBp}#uVu^5hCJ!X@`8g zGEaDK%XJ7sB`dXHSCgPSG}RiaD^sVUD}O}9Lh{E+395S>S65>aDP=EkByK~g<-1Z; z?MBOxjq6@QA?F*%?C~0B=V}eo3H!9QER|%Hg3a`;p(~}T61iMQ;V!$+^(FH-)2uVU zLL>~Z5o=+pq^r^1Ndtw+u*B3+rJNV%+mro+%G3RE3&W1DzbF-|2QprcX#J*SJYCMO zWiDa5PHBCz@h%-A--MpDPW|nZ7cDQ|yN{N76Z{1HF@Ue~Zze~rk|NRJ$#HwKMLuJ* zg#DYb9QuY)n#SS-{gIVfKhG(3dfJm$!JJR_t#1VeB9Je z>Fo^*b^6oZd%F1o1DRyrZWSz5k0zB;bB68_Aj!$9sX1*<*F!5CSFI!XI5<|-1*`#1 z+zt*6b(jwvac;#x>>74h7 zZh?ewc|)GEH=KQ_IAw6OMDlguE<*ce2hVGEUVlO&)1A# z%K9tq=Ntj&mQFvDiQ^%u6McrRy$l{wG0}C`KO0^F$1IM`(U#@oDik-<>48SAeT(fA)Pdd4p`#?g zj3w2adpqnwXEx6+l=zxQguzpiKcm!Cqk zry9%8oxHERy(Z6gm%!Gdc#3Ko;}VH65H-={o@U!>)|!>PAFbT!_n7DAb7POzR(mA; z#tT69IBz+;-*7T<51-V^n?WaB`4L1;TdoSu>a)zsYmpwe1gF3S8}>zu$aodYdvNY)k&EIm zvEOz`RPpnkEL%UVDej_}+No_AQ|RSG5VHzG5-XZLCmITMY;n<5Hp$=*O-01SDJYHd zk}Vc8$x`N@zZxC&cUC5j4>G;f*|g0g|0<0oH#r=8c2*8%js4ldC&lqSqQA&m8`sLj z;zMxjN;BUD|II=G!AZYf@ql8MTV{6=(?pF`rK&!ui_Ep=*K}g>&*eQGl}W2cf8j3G zL4A4n9cBhOeZ%v=5T9PWNc)eJVDMl%c#WO)t!PuJ@Acyv&B@1aO&*YABGWEjrP<%R zMOPjjX(ZE2fA{I=bB(23FfEtA2lb|_0jZiw*NI4aS*a`Rtpq;j{8bZN@c2$9N4L}r zW7=a~x(wCu%>Xu207o(LmRxpYMzZv!fId6wYSXVdERu$u6qBC zibj^pbgJ6%bf$2T%^RJSX!yfcvAM>U-6Z?S;oX`Nc1REDIF@ZHJy19rVwL8&FHT>) zn0JXGW3}#;BZE3rc9oX8lIF>d@{^|DKc14Winfz8xG!aB{zq^lzi@1?{8_~0UI!d% zWAFI@hN^p-{V;y{ln$Vl^y0lHZJzD91=hLVo0T+p#b*y>fK58&Feu z4%UEhdjO;423b4~P9hyrS1#(a-S}wG1ErPzcTHCLH(|I$`b+&t@$+WV93rBAZF2Xp z%+Ioa_CTOn@Uy*wZ}tn)cEtW%zMX0^V)Fk>m#}X*v7umpN!~9mPN*Bp4`+ywBj%&F zO9d#y8>jMxjYBpbxiXs{!RAX$Y?a^WR+Y(nUmlFte3B#qBa2F=ozu08oP@W-eZ0E- zEn5-rzD(g5ZMw+7w)S;5MJ$xk#Yyv2p8Hat*>@1UvscvokklG`t5pPr^LWhg2ch9z zMm;_+3iFdNBju;X7Wht7?-c(?X$FQC#E%8i^`7^IiAN9`us)cE(O)INapCsm&h;tG zT&ZbOyi)O+{6m8ai#w`JY9c6AcwVBWi7Y5}SP-?@Aq!T^n$3gfZ#Y!CiutAdPk;Ol z`^D*qT)^;h?d?t*gg$lzl?i)avZ%iv#wbY-KO>pcA=+{L)>g!V0%$^h_qvj2KP~@; zo&USS_(93$;&U_k+nr3fSzpjM>Z5$CW6TFk84F}R^C6z|waqnZ3!}GM1 z8Y4S*n51U!4y24-Tq>~M9o8R(3Pzo`_`&73j4=Sa{5f?_@+JPrzmdc zIfR2H@(Q(ce4Dh=ZWc3PVUBZc!SpAeR@^1JIwlqOc{;OuO$Ng+QA%UAqp*UhN$Xw* z-Me2$t?>`7wyqKqyq=oT~YrKVt|Ajtf ziOifuAlD3@_-}aCKdz1rCw(+aoFJ;ca}7l^DPL8bx?7>VUDEr3>GYg46se=Li0M}J zF2j>T#XO1kl~1yEK|-r6OADWQX}-vp>skbvcQREps#9*(Jv+OjR{OLtak51E<*mVl za}@R~kk}YLhXe^hPLfdJ4=lD?T?RLecK)f zu#r!JALgkwFnr5{&EP?MbC1+u*M&=Bo7CcINaPfT&5N6mhx(C3@xHu^@~I9x3-_ND z<%^hgMa>G!*SUMkpM3%Tn@qOMIyV-Mv|K7v(fNWl>8urnrDU5nxifsG*x5wZnC~lZ zQ)rrJ+7%(NsIx1AJMwTUl)fp{sAI+mS1RVN3}<|e>aARveG^r26jV2hrOyl5z0$iP zNPgk`ri*2AMM*MFv3UITZX!Jq#>{XDL6z(O?lh1W?1iJmgtw=a9+B9feJQX<&`j3x zcW{LO3X44&@o#^vlc9T>FV6@Bq_lmVAkJ@@^g68~i*d-L)D79O^cV3xK3;0+Uowq+ zw;#^Oq~1T{XCPXsp3{B>X}HP=)y=YyELM%g^3=A9?4HQ z?fWj0X}k(QaEYGw#f%7+l{0-|j72MYj*vQEaxHU<3QcIKbNv6$WwLG?3qGD5xUThi zq}f6^Tu%2>?F`XiJx5lX9Q}gs?gKU1po`OazTN-k4?&T>YtV_!BH0`9#@BdbB#KjL zbc~l<8cfnux+m*=%@oj7r0&o#@p@5@so@1AjjCKW5${?6t)W6#ct(fl+xAe?S&j@s z)vWk)p~!o#abXgh2AgmC;aLB<#cf5Y4}ryf@i zw|!NA?d2^RiG%meW|^#xqWh<^)1Fpys?-zbXq*}(R%hA%8P7RJLA2riyWFsQ1@C_- zU6KHNiaq9xL&crTX~st6F7BK#k5nTp${>9u5_301-f#KMkES8!$aW_FhC2p0;$CRgkAqS{a7B!p?oyT47eA-0CgZBGXaVw^6BaTb)1 zbY`f_RF#8L<=YZu^RqtBkh&24^H|d!XfTU`1w0g7bu_RH&=0sL-cgMzE%fa+H~Ssz z!!)CLHXoc0?o7bm8SmtD(Amy$m!nXZ&*Hk;@NY$e--`3KttmfUlgyC>hjF0HoJ~?a zGwcO_2Jh=IS0bdzFi6_CT@Yp<#zLm85_~x9#dLZkE4|+nv4uUeKuNpee)hms&!nY) zKpA@y1QVdMn&OdVqsk<-ERmX(%>ZfzqG<2hbQ9tsjH`nM`AFx-h5paRuv;JLV&PT( z{p9<0P}}7eOu%?H#I<9F%`=-h0YT#e;9wBMbqE^5F8u_}Sm{08q zYM-l7Eii+L&l{(ZX()oY32i+V$4}$4_bE)^I(GyNDQXcPQ`h1%Ph}n(k-&AY5!hF7 zP3v2hI}N;eBdrAr1b+FJn{Bu~-nY?{L;U^4K(SLXH@_ZI6t ze*T)WG9_{757x*W=%t3we93Y*R)V?u-nOb}juVUjZ&%pl#Fs3u+5Ls3XJbXz&`OEH;*B3xXSXVQFPa?j@b&wzN;OXVJ~tkmV`_d2f9U@P>mV5-K~YK+ z3p(aPa^Es=IJYJV`TFeKPw5rQsj?rc=jY-Lj#jJ_`nOor<})&LeEj{?%lgIG^rS>a`YjfN(l{ZcDlOrP@$>;{c4!w(d<4zZ{VNL8d}=gOs2&W zph-}?Eh3`6e;?Z1Ir;dUq1zRjXkGU^G@(i(;DK)LgT7*ASHs)O3`UbMqtI&yx7dZQ zb22p`J~noOo95U5Yvwo*!|S1X8w}mu^0LozjirJaKO^Kiuv}Jz=S)GCSe6%HelCzT zprbQ{&by78Lo;Wt8x#~LJwlXzBpeyP9i0^hr%rac@-4lby^>Rz1I;whsQ>!Sn>U!>o~;T93W6}ipVU~FQNSpjoQ|NvpOBEC-yP!&_{qnQ zAE6*nv%e6To}La$gcS$NnN5#*)}k+h3?oVR=<7>4-c~$boD#Sfh^=mnT3v}WdV?FL_ynR zvzZhn9?q%&MQGdL7fa9qy99|6m^E%^{zr+BQyo8%iL`;{j)N}3`Zpd*Y1uQ zgQVjP4sT!INRV;2v-JngsHAQfZxf5di-nB8en>g0XB2w6QZ<~mUK;=LglhCDjPI9K z1=!l8({`s{)-p&)xEyT>t(d%iJp)1phOFVBtgD!%bmt{XSXK^%WA+VLJ_iRkqUYB; zV?q4$Db>}haZ;# zI)>!~1(kQ07dQ(_3=IvzW=rk^Yol+eU6v^Z*oJ050b>4m>=O{MNDJAz{Hp}6)o&cS zOt@2<<^OHpQY@st>1TXQq~_;BBx>*tJ1M6L9JP^Ux)0s?-}T?ZQX?QBAl)Yd!Ba4o z8w8*n5!6BIIM%eDtJK%q3k^q^>f0bPESM;hIbazKtVg2CGsb#Oj$7}L%BQn!jZM6Q zteB_Ok-p*D7EP$H6zh=d*{0z}{gOn73Z!-6UFECF%gQG7yfG{P8M+wbnDcq#OLR23 zH2O8TB$tmTXXbJE*cMH3;-#mQQ&#G(Gd7f%Q;ML`kL%Wahprh;0C0& zbm6|;SmtW<_BfwYz*7`g8U45{rQnILZf0sSmgm>5b>?`Vs*3|eA1@sRw*d3>7gH@Z z+Ua_{VFfP;NMEoj%)XOauMW%b8tCf6!8F667qGG0by>}{z{4N&#=z2kL1oTOEtL=P z1`NzR{!0QGJ!XI_Mb7o7FCLz4R{f&wu?4{M10H6{=nW7%97va=$yWh#69`I(CKo*T zfMzgDe)|g>WUO=g&eh8()`jw zcoi;-GanK(qjk4k4wsJo;;~1**goAip;jGGJs4J1I90EUWN;nP=GsYRT!g zTf@J2sx}5D!Ytu&kgTkEeWCT$8&?OWmEtP8JIAZg>4%$W>A0n@IQ3)j4A9(eq$1?A z293HmS#>|kYcnbK9jIj6fJhEBL=Jud9w4()-qUz#bO8n2Y*8p^oI|`I5Zn!G2UH)l z@5b>awgYpJSE~;3hl!hf;nQt?)1-ml%g52q5fK`=M;F?zeYUGf0p8Wu_yC50wu8Xm zsaYz;8KKr_JueW7Txox9X0{G8gH4U_Ls8Mu&Y&7OlH)qx`Wa+kouF0-l%4}vL%UF1 zgCkTrm?}YiL=GCe`&M=aIY8oxh)L~Dz7qD8o0~uv^Ck9KgtkqP2DEPSxj{ybAXNeb zf3K`WeP{aAU|I!7kDrZ+S)0CnSL^N#bUI0f&KiI=8Wt5b4&BUdV&~1V)W|;Qz&0hC zEK9FkWw!-B71k`Q7s14Q)l<;C4~N(WxS2rz>jQC3D14$@juQnXK^u!X%}Pt`VufK1SNo zWbKT-K}{~-wAoO5u}#{2Pk*w>z8+C~=7RUc4x)yMxMvNpF`Bmx1plv3#Vk`vq}~Iv zc|bsaos}t|CuZgF_u*uF5cSF7=)HqW|6vVjBAU`@tN}?an~4wUZLGxqP`=L<`qP zvEvd!&vN?B%P{Ja4OB?#HYcD$FlLQh>ZV8T4M1(cNrP}$7A^_)M4w2(YK_kdI%e?7$!H9KIWx7 zvB%o^5;TzJOdIMacHO3Uv;^Q5`r2fpei6@e&&TErqc_CDPv^96Z_;B8NdENM@wMDY zlYv@PArS#^RsOrCRgToT5%ZKCv0@sjEv-L-Zp8j|GS+#xVtV;aF6f&E1Z5T{N&owT zi}#ohv{($Dw$jgWWOS)VZJO*9}*e9+WUBUPy1E;#G)X zGXIOtY8@(#4sgmJ*V|jS~=M%YJHuP}phzr}|I>ZMAOOpZE zxzYGYAJP*4tHmk`25@3#zV(>A?%q$LEL9aYm( z#6Ktd#il;fHG?zNu{FNb;0eMGl-AjlJiV2dw;fbr(I z)PbiPLxU}o{n}?Yn3TNrzYZ!DdACG_x#5B}`a7Ej)Xwji*g{}xXs$25vam@eA8$K^ zT&C*2hv?dW7>&l=|EFcj?gM>e+ckMOSvdVtC|xjXa&x&V6W#X(JM?6j6Tvg()6zhr zPq{o$5CGiuVU@gIJ#%Riz2V%zAOqZIHG%7I5I>m7{r>}up31+lrS@pRD2r7~w>iMp z6D_VPYLqofIBSNnV+*Re&1{;>N&k#=B6JXO^X$<}SuW^(b761W8?yWE3+D2j;o9j8 zIoAhZ5Yw+MiwE7?hz{Q{SOgDCUcFtg4?|_WXLrH z)<;T9|AT5aRYXm(LeQT^Uv;+V9g<mgH`rqfJ@%ckx#=`##)c*4F=heF(``P_V`VfR; zvk6|klwaKp;3SZjSE2`{(GK~r#Wvac(Wp6#O`>Rvj`{ySKd{vUpU1~CS7Pw*A>9>& zk53mf%uBy>)Y2RK=j@-Uqe!qfUePk{;hdX=tt4>l-Sp;G1%)?<%XS^G^ zKL-)K$a{1coVD>qXX!WM=HN1v#uVeeah7gQs{#CNYNa}g@l;}7)Q?AiHz7$`T|a~A zLFdv&ucb-Huth$9&+QEJS4wtDO5G0)cfX%@MIEk_9XDEMG#e-_>e{>}oBZBM^)H%) zidl`_=Fc<0C`#nkO%k#`jWaKi_85NTmAQaSvq(@)-6K+yOuxvh#9waCCgNUy%v7Q* zTiBN=wQ|zm!xxpaoJLyEu6@|UT@^8Ix*>3e4hsOfvyU%PzLoLJTKN&Jbm8Ch!wc%6 z0%wzlARBOQ>_t>xB#@YKZ%dNTV%?Rb@|%+HFjld#Pw?FkLaoUVXz&27k37 zDjpM@HvfM%E~!D2ar--urS62)^4N}QHsfU*azI-2^~7OfceU!=fB1x55xP$fe+1 zx;5ik)#-KjY`D{=MKYIkB{8N6XLWn01?U-DK=I={oqr>R_i=&_xAznDEqUD<93ISS zmw7s~RD%WojZJio%DL~^z~YeDZ<5k;b|W{%&u7ht(*m=>cO@BioI`k?lRst}WF{3@ z4I6&UBS-}}K~pKfK5FFXeb2Amf_oKv2EM!bgrmv)>VG?>(|gv39|V!wPU%hwu>sk`I{$BN>?vUM`c0^};Zqy&30&myg?SbIQ zcfekS4?{fqRA$m~=9bcKH<>%->zZx1KGgg)DeWbooO(LE%XfhgT!ua)bDl=kCl6(I z2oay^oWX@|Em8~_<{|%Hz{+1eFcqM}THif`VBysM{nmO<|)=c2Tajw!h{s?awR)>h@DSG%(@z;4n&d&38Mb{^jR^yH|(V-Q*H(gd_E>Q+=`dB!6-hLEOL36Q)X z(_$v4??>dLq}&nQBQwM8wI11P-(H8FR}$Uvpmx5qhFP{g3;WnZ$WtH>0d}1RQy5zP z1%gtDK=rE34Q>sWDh4F^o6hO{v>e$u#5=8F{wc6*NNK8({Je+rPKkkRDlq6hu#CH- zI)oot{toMWd<8qvl`M;RfuC1@eww@zU(Ipllb{)zVjs|1X1vC%nvFpQEMUz+HW4fL zqxT7nwQF=N;YJSGoV1%h7-7(F@a1~n-U{cTK;O<%2;o>kxv7X@`lI93eJYxh{uNx@ zv4xKhm|Rg?PAn|?y_&95wjYDM<*WjhChsPBeC7UPKW}wnNYZ!;>93DeK#h#ceal_! zOkg;wNAEwJU#JlSy=KUw8nho%#5WC{-bBCeO zwM4uz*_FE0To6%1w>w)Nqc|xJ{2QXwv?t zVTi0DJ>zi)Um>UIlzN{r&BVin*tZnG?gKh>^nvCEfdtoaj>wQE-}ihtOT==R&`~jAo9f#=cotU@{{rn=XxkznAu-~NgtO`jL2$WR z<4K$v0G$A;P}t9Z=9;u?NVfh3$Jv3{8FYWK104Otcv6yl)ahXN@|}8>o~jFYl$y2n zsT!zXk>lA?ma@Qm+S7ElS>MjBtz8w19VRYUI|aAP&Q@h|Sh!YQzX{9`r{gq8?>b_$P87&;1G8CC8fJlML@c{y9A_$ z1|=k{jK$~T>c}@C+5U;_O)XHkMQIn@CT5zF}o3J>)C{Ho>uAe)!_-4 z_I_ScWb_bVqc1wrov-!1PL}rPcoPvEnYj^uh~38+r~9pzCHWOWfw@+i(U*SVR_Wt- z#`+g_r&q4_MVkeSwP#dwvjL{8KstI~&^BZVPXuZsU;vRvTz>%9d&9v33fY%`yU~f@ z2+l>-yh(+O!7KjE)&gwua&mHj=ORG9_}!1v>-2JzS^ywxvn}ohOrPN z_ffn4%`@-?84ZevKk>(S^@r##Rht~wNX@lm?;&|20iN25Ja#U%a%eG+nHy41nx$OEEwZQzGkHp{3MS?2H%I^vRA*qe~ zdb(2R?rNOt?ftxdgCs`i$W^U$lr)A}mFXULe<0!LI&MKgZGmx62X zM^D=82;is$r}PQnO)_S)^3j0KTRVpX!*VhrqoR(1iz0x90DuAmw5SF0aL zb8sU(23;cv@E^lCjX}8p(T{a0roB{YQ|+HRxS#v=zN-#qM-laRn^M0s zH!7M`{s_tb+3Ohi{ik`Wx7%wzoVU1MD?nqKFa?y2(AZ`~M5Lp+q}aGLm}q6> zi*J+bt^*x(0mz}Fh!o39yhfE@w>G=u5`w(JxhyA}?IrBfSgUCpTmqlTgaFKWN{hNL z#)AUS(XxQ##?mqYE-dm8Yp$z1lykv6Yy!OY_kH2AuJsNC#x+^8lR z#;}m>g2v%kl%}um<;ibfFG?VE?cIA)$A4OREWy(GBL+SBo49yyP3S2?B=5N3P2q}- z>UuLn(tgb6a$uTj^7A_dE14Wo7g)hd)sROYbNTcEf6}lXYR5qP`tW0Op&XU04W3Yg z|8e9Yrr0%x?$S@QB7H25aPIF}zO7eBy7uXQ(-c*M4_`z5fIcD@h=TyN52Amc&t-*= zwb&-VzkE%Cn;}n#&0TC*O@qx0Hhndj&1m@6ZkswG?A$Z3Fh|*rK8WqnHlt1PRF!++ zjb>C=J9kHgSX6Y7>0|L9qJJmEc>BhW|Nf>gJCsJzXjpJ(n8r$L7fqVNrk4Dg$OM#B&hwL3lBY9@yjm)M5aWZg=;pe#ykdq#g8|00K@) zO)X0a*8c~vU;!qtU9*mk&YW%iBE-{KeCRu#frk-DzZt8YIrt}>?)n2H)8))B(a>+pJ2}gNcs+)P=J$ zO??yT%@s4Tv=32b%H4|tSd>mOU4STMycG*oy(t3Zo4cUJlzYX6AG*-jI zX|x8`jM)3%7yU2G6=me8<`bxwxwlfZ(Z$4r=5a$cGETeBx0%(JMA|M3tI(I&ZriP= z7N7hRJcU7Z4eG}S!PZ!t1z!Cp{U`{ z2AIm|i|+eT`}JE}nhWm~ZSa`)K((fS_B%BD7r}YatAqLd%k3UJ~f`njh4VdUsd{MTvmZ*SDC$u->FtbicVua_6#@VjL_1T<8}>h-*z4Zn%r8V6MPqK{bl)l zA!c$HMfUCQH1;Q+yhde^3)V*4mqxjGc1sW|{ZDq2B83F)nSAJ~d^?kOV*Oi+HE8S9}?CyLT+n1 zvrxys$={pLeF;Z^gy{s;>ajR|QK=w$9Caw!coe)wmwuz-SoI?Eb~@QVXv)!;!v+;W|NVZ@mA36Y>OHn~3adPs8+hGOhbFmGGSw4PlYx4uy zzNV)65=QO>z^>YAwwh9V1E`omRRUZtmzI`*mBRxpU;veH>)3FFwi|e>g4s_DnoEm| zz`zl7mSix;#{?rebIZ!SfyEr?y#ht~(Nb$#{FjY%ZpYllMjl!g+AClIk1f-&>Y!0+ zkO3U>EJn$2!#J!aXh5osL8})K_U(ZrX%L$UvOAw?qtniV7N&H{r@>UPzg_`xwWjAK z6-7Z8B}H0ViX4H!M#toQ!R1R*MNP^3og+X);HE6dC+2q(yireXmi?m4-e{LTM($1TUDLaUAtx8I2-E|w}YN|$(vVAW~ywg=U0pOiVX!E zzUj-Mw`_f1shRbfU*CMs4=3UInPFX4NfmCfX(43X&%dca?&V@B^s8ro*nddE_xt|J z(p-_QWJTgulyjk&m|uenG}7mH8`NrH0e@ZG_*AF}P{W_pWaHS}x_)t%6G<6|nL||D z^_g@%i`;BA7$335nVkF7np%RUOxpu5VKmCElrG#{HgY^rNL^ z=8FHA1`{~E`DW?A2w*^ayOa2=N+oE^8 zoHh7@#n%-9)Wu!+ae`c|6GG?55ucbvN;0YAQSX0D|4CS`nf*b}b*$g!7uloCt)1b$kTaW*Mktfa7{-;%4mPE!iF)y@u_icCuJtD! zwjGTBh;o9H4CIgSPo*EQ&7JS+o(LTHPXg~%O9C@==4STQ)!Ey>-m{mvmLqG`>%DH$ zp;4_-FQ-lYl5RPXIMYaMaAmtZ3?EHVKb^$q{&k{EN|H&)e z*;Xa$MR+@35a8n5(rA4Igd<>c7|voKo#!0%|E{jCfPFTwpoa0SK$DS`jZOAOm@xtL zRP%vLvS`q&Szy{A{4Uzx6*N9yA;EUai5IlMG#)t20%8crK#K?oA*F=@AXQqxnT2w` z3B*CyO@!hg3K01K&yu5~Bm1Qmkj@w0AyFikG6vdqASVfMgaA`0Ge4cz6qU0PvGX-b&g ze!oez+7dcFC(+DRO+>~!ceL7kYmB2xWLqN6LfW5xn z&3-(#ws>@WyFKK4F6Q);-^YWKVV@@VCZF|+Gcti@x9m}iX*(e$N0MlwFi?!@H?HjO zu0JRkwq&NKE)^yO*k>JWXxS{>CMnU-Int__k73T(Og&_A5_5Yc?g?yy$sajrgZ6Y< zR#vm#5Q9*EASh?6X{foK#@yq?eZcm#lzg>_On17KA&H*ZGSh6y!*ka&tnd5qkRY*Y zyEMg^X6;;;_+trjUl}(6dE|GRTKdDfvLHw(d;Y%j&VI?YIQG+jCEF7naA?+lsY2zu zCrqa{l&v8L&G$6l)1MU_3OX(cef)jUH^i96Gou?U-jYyxW+_>VO#@p3(aoVZN zI}?Mo5r!|M5|PCoQa69a{9wKp&m6>bd-ONW{Vi8|m0HV>)&_>7uzb8KZSlo8y^sdh z)dIT;5%{y2c29pi)g(2)y^ehp99Eb5U4_D~^sdP-Wyd`WMaCQu z!37!2ZOHg zW$?CQ$0g7Y9lxs`ilqrex3)vO;oa3yLiIW=`C zg-wz!VJM9&Ds(9uq)mbUSWr}?tE~;Iq>V~IZUKye#EbKeP{99@zi+_22AE-)juQSS z&F@;e5;Y_*CkL`2O7py!mmBz;_O9!X1gR$H$ICj~2I)JFvYMR^qGrec%;<2aFBoF2 z@2*2BRCd=4AFKpO)US zF{aJ$?pdgY^p)(2Qu~~DYoe%Z@TOpFZ>vHjES&2OeyAU|<+NoQtin+?^7{q4WnmwK zIU93H!sjiH+xo%titJ*q{GOr{-B3}@;N(|KjoJkg<$Iol(9WM$b6vuQNiwGIQ-W44K!oL7mbWS_=Y*JzHMiD7jg;XQP^$%BQw&jD&>s zw|?%mo?S>($O{y2iTX~*i9Ph&WV>fjuh{24tMB8*&X@rOt|7WlaZ@Nbta4r0<|l~9 zIg%rd?Ox1|w~dTX7GlcknvNC!rg*BGM@P$Op%J}!cB`9+p4s-UIWKR}mF@>_L}3!5 zq?jRrWba*Ra13(UcKEJH7F+g5*0(Fw#Oy7wuWX&Kl`%ABYbxuDe3~ja>!aL1Ir%W( z;c-By3L~U!qYEE9Ls8EnvU>0i_&vVbbpPr1nHcdy-Tu1V)8_CHe-cG}EA~mEUBOSj zXw>(>x75Cw*CwON_7CgsfWD$TqQvuluQ`k@lu9u@o`*G-;J%a{PUX0g5Ux!{(e6() zu8o9!A z=K2P2l~%iQuTdrKdQ=_2lb_5onFQ-zW;cLb7O<=JEG|L;Ml$gCZ{GMW;Ah4Xne66z_|I^h) z!OD8JtJ*E}_Ystg8GMND7t&QY20#QXEh7`FC@m!g0JNO`%II6Lr-2;L{1a2rNwrq4 zV}1fb&x-32T1f>%Ol0wVFZ~Q+JU_O}qwWCNErm}t+STby3WKPq7rD9X20=meKPae} zPETvT+F|xqSBsedmz&Z@3~Ed~Lif+etRq`iyZgJnnB#0U8=_=1!(T;JRmQdD3N1}c zaGHNjj!jIMCf&rAtB>>Hp?wo-c_%cO{=jodm!WXJH={uoqj#c7R3Ji^pz?(Zcgx&7 zf{?c5PLRrgbn`LpW1H|u?~E{Rf{4uIQaMhE%2V1kHY%;ROl<5}I6Heje9Kq6O`qjyl%_>A z!RbRc6N#KiJE7_B#}2hy^c68@7?dwNY018GiNV9m5<|?655W$prBQhqaPJ+5C6l;R z;!7AtRXAGp5*#CQAJ4{V#7B;A5*FFnyD&>|WlP9h&(hW32w%^bz< z;NDB=f0gqU@s4N?mT(gI!g&ve~kC`S8fRW9;YRj+anOjW{lDv|f> z-lN9k!PU83B_tT!X?}4EuO(w7B>`g<&`p7)oE;drf!fH!!vh4Zxd8%OYHI2-h^m*l^?k94gdYC>cPQUy%PDOuFf@OpVazYihzJXf}xDOJmqF> zeLXdwZu#Ur9sAloV%aw1^2$33^*Uf#Gk1jlAQKXQPAc`7t&yd^f%ssDU#&-l+YR>o~D5|Z17Em zgRR&Qoz;133|0Fktj-K;Y^9G!Tmfs-LtjM4br{xLLRn3)%c)L zhre6!ETg=R&Yrek@0}8Hnq8M|e&>{D)~%qVmWY&U>N`fwc-gZZ$BPpKJ>_oi#cW?W zjf051w%aZ^v{#wA8s(ZiF0jsDskFj{bEk%2o$lwka`@Y{uANYX>@#Y$#-@>*Z}v9b zZ7d^d@vz|xm%X}jep`>ssP*$BaE1d+`6p1EyC2NF#!#9F=m7R^fISRk7$5EJNr;H# zR6r{7{?5)DJUsWqIgVK`pxy5Y$FFfeHi)(LA}vw71DHC{YE)(5BXV{5zw2zFebjj@iJ30~!rL7n6ELdv=> zdp+eif5gkRhX>7^*Zx@z4m&sElQ{_anbgAucRhFA;JDf8>m4VZ$HKX$^DCfE_nN+k zESg;8Z6y*vjba%_NH?Jyk&C;f^c5v5uiH~h4c#0C&wq0|I;Q5c*M=op)Fqx)REz@W zoBIyc?HeOmO%4&r7e?<>M1}UHQ^n+b)@qV+sta~pym}zzMLzEb%2ag&v(rm+2Pely zr*d@^%%()I_NNwm5PVwhE)PTy9p1dzxxCo>wT@Ce>P9mmEPl9{u6S@?UaQ`B{XwPu z(o%!PFSHg1q59>locsy=|;e*24J&f_?y$U zZj=%=USJz)YkLUHTj&9Y+7A`<^4%OA@wpv7f;iQM#YN!OYinWxO6hbk3cWo%Kt-LP zjRcFsG6XdQpaX*-63p`#|9x%JY6TF2ko}B+O*VSm@12>UK;)H`a}+Q9m!4RTD?7J7 z(taT*{ZXl>d-6A-m;Ma5c6W(}TmC}U9RWqm2eu6QIy}*?Oa7QGCd_}0>PNrS=-@Q=2qS#Tjn^l?Y#(ObkFBF}keREx<^6F(+HeI7FVNs?5acTZ$T%iT&(+uCKXN_ca+F&oZE$E` zwBA{p_gD5~-jWF}`Ou5y2om@&3<=Z_CS@&&+^cOcaacuc`4*!1-Dw-><1Cz6O~ zYJYFzMxDJt^bvfrAdUFi9>w)W$nODITu(`cm zR8(|4UmrzKQ6MNSCF6N>VYYo`YYJ6ti3%ZiP0md5-PsWT@~(1#V`E$P>cN*TsmHMX zfsa0nYGQ|uwq*A{Djn*(JbI8G#ldNPwmrm{YG!J7O?*1peEq)K#aEwL$S{i)f%|*? zac;9W#D4W-SxFylxlPlYo^3^@X{dTYYHlKImleNQLrYazxBdKEfWf%aT ztd{+6UZwQ5WYl$EfO`D_$!BZ54!CcfhR~X6z_zkJu`M2=E3hCh`wNWbhU|{O3%~%* z#KGpW=Xn+n@n?R{K-)n0cq415xIIviR_a_>@F{lP!p79$*bzfLmbJT!Ix?;9WCfBn z-^}BFxKpA0#_fEiFHD`#T{T7&8^L!GhSw<+J$Y^%w3v0@l_hfyRhB;E2CH$(8~m+} zv$gmp#**SRcapfdpEg!=g$bQu(e=J9d~sI%zNbwO@-xLdUybafAnlPEcnO&QO$lE> zj=@>Rq{eu9i7_W2OJYGHtOa+LV1}2|$tUhi;*oNUBH6{9vi@xvF@5a!+SxfGB*|NK zrZCyDz}t>*>HoEyCmIG2^A{AGX}G{Q$_9XAq$p>=PDHA0OSicxYI4v|Sf}2KYDoUC zhpzzFmiVAeq|J95G+?l(M7$B~_<_q0Hj0#n8yXw&2?;@A4^Z@Z2%>)#^y*Oe_5uWl zb^(VztI2+l4F$UTiHV6Ie%S}aa_^yV%{K#quu91V$|yI^`{ESVLgT6UaR>(C0X^K z!2T>pn8Lv{m3T%Odrh(?)kmB*8{Z&hhL)>D6Dlu7mLQB8clwf^x~|G%a%!YLMk44A zw0SE=rq0j4J*79*noS#(sO@QT=Z4BLS4NtS10bq+1od|`*X!}^$9#tsnHxWFn(;M{ zZYWhH3O?imL93U zQo-eU4|EBce-!@?{r!{XB+fqaTa^X}WhGia@(E>HNlwDLbkzLbF{tnX8PyRc$(;{QUgD=7k2# zOKNM?{9HkpA1^N=*F5%DHV^(K(BuS}k?np^;M-eVQsN2D2kGg?CRzaNVbZP^Gc+_b z0oB4hkn%-0J;VR1*N8?MG^C9l;nBLfo#v~!+9WQ%7;wy{Zy@tHB|nKngC26!ReU}>Y7;9T9XIQD-)&$1&n zI}AQJPTw`Gb@{2=;zdY12Cy11kSVWnIvy%Le}?w(Mnkq|79eLuq90IFc;{*Ybj{s{ zj_;#1+JwR%eEN37ru#Cl4rdEQo2T+QGh1J%zff+vrlFzY9PL?C$fk)rGF7 zQZCcD5UMh3?`iXLxRJ3vzJ4s&Y{YaF&-+w0=*j~wkSaN)fNj6y760z(^&RwA2syMF$`d`lC7J(mSO92 z5G62S3>wpi9tg>1F{FF_{1yN?Ab5BrmQofd4gsl-oT+8EtgH+) z6qXgzI2kD^yT`^@8Rg~g*9ZECaKg@s56Xv0mYOc653k=MQWh1eGT*xF-(1FjwUas$ zKx?|+@f>|b{%_x3=%?>s2Vzapi~l;vis&!w9pIo$zr300RxIAdfzv3Si?WMD$ zQ?#MO^zXQJ$vcSMtWQr<_j%%zL^lm6g|6(%uWSvBEV8E?TldFTrn8hlZ zyyG|?AjWS?R>OaM6 z_%jr&jjcooe$Bkja<$nfi;;Q~^!wmyo3sonW#ct0;=}TGs1p&+a8C4>9=som5dZVi zTc9Y$4(S3-(Yz~JMa?t@){C0VQ)$}yE8>{C;JZ@A8bNkc9aD*o`P%w|%~Stvp>E&M zl*p8_l>M4-Ur)%5+D@b&umE(QNX0107bS@2#v~g3VJw4?FD^az0kdM>Sh~-Vhr)OH z+}CulGd-vZ|6n|)sB^rdL><-ceM6FdrJBLs@0EbtSf3W=q~MMfTK4Wp6auj)L>z)? zNltT_s^6-n_VyMk95Wu90bEjHjJT?zb(TaJ|C>m#zb$?~K%vd9`#|D|2qZUqcwAS^SiInWYyT%4pIRY( zXQpZ$l#QaIq9DOjWNNm}*PAm93er0Pc;C0(?s;CQ#Xyx(q7)ALdjAL7C4muC@O*lkITysf{0Q;bbF47SYms*)O0`Ne((f3Io4o=H*+zNPZHu2 zr==zunM}s-{Uv?Rw!xo zqhV}kwYGZn@V8LF{jH!Oi}zUts_Z&utibbd)hfQ#7!tv(E9jQ`Ie=F+nKN6hR;L|9 z`e;k=<>d%t7W?`(6*FsGKxYg48TZYz-v@#1M|ZX*_RB|0`T_uTjT7gE*e>?Y{A8io z=$aA;7HSNNQyt%as&!l+UXCJ|t87=CPO9vzsd4V}!^htXJ3r?-;J(=w`c#r`nuJ#| zSM4@iuiEzJE^zrXIBh7C7|%m2%|0#0|0_prqWh!2-U``*)%(Or)#ZcsqhhE*WUr(a+<=Ny13S4HbM$c_~*(O&z_xpvmX``5`Q)xRU zMkzLce^3t@>fg>QXx}J!No>`9evWoEwJ{PcZKO_Oj0HL7JG%}Ed-lOVM&}N+*3IRJ zq)RP6X4&N%Nu5zL1?D}3r{6($5eVnG`GN$v>x~a1+anE?^hK(%1;lKP{VTbXG4BLK)g<2+VK>nqxE2OaPE-zbrVHJ%QHq(9jSfSGZ#O$~n%Hp8y3#J_wYB zwII&UoSd9MV>>~@NRbd&E$cP8SXx$JhM!}(Tu`ruX7EeY|SR&NqEx2-6l!K}@xCct}OOHol7f8uv? zJI)yg(=vh(AN6QjR5Mt2>*!ls#6{Z0p*!23>*LwL_`%!|+LYc>Kz8xI7)a1{C!r61 zf$;@B(-S?T+OK<|f_Q-s;z~;E>Dj@Do@I#I@O0mnm+)iNzY-D9W(;dC($J2|1qAds zkoolAQQlt9Wk8?OV}?D~9wq^piXSHdv0b0Yv9)Hk#16tfxH+F8@qdezIEMNvkb&D~ ztv;+RW3C{exiuoNTwOJyvb% z$#lfT*eBNi#C~&m`73z-`Yq`sy?d#Q-?D$LWYX0i2_*hZ;Y7QS+1A-bvS@3=LVmVW z4Wp$I&C)|)Gsk-I%~0Wuos}`ai?E`jpWjK@PZABA@8OY9zuTbQ_29V99^)!HHMOyP zlQm4kprCdiV!yKvjzCfcx{x0a7u|$dlBiVY?j(ZL!6o@&2^-Cn`$q!EIxODR3F24) zdW?OO6fJjl%;U1xy3%7Caxl287cg9J42^G6BuB7&q zWivm%b2m`(<&{Wk7)(Ke=ihb<5bUw5d7@gjuvh=ciZgW1`+EJF>3&^Zyp&V`!)3*6 z?5{nq@A}6LVHx$4!gsF`ssF2NZdMSVewUrEbrB@efK>kFn|-uEU6nHfo9d|nm*7w@ zYUbBpU(RT9wlND_EJs5sxXBX)o|2_crKAc-vT*sMpV-(`l#juj+njE6u5Wh#dw>68 zdO>B1QJl)$1~IEJdQb?c+IgspQ}hk@rcb;n!KbS=mioGb7KfdkosNzUNKFQ`w9;d1 zm%WL;^ zsF^nmSx3eX$3_o}5NlFXIY8c7CMq8quCHOaL@J&L7c^`|apJ!Qhf!zN*lk~%w5Nw7I2F`sU2EiTV^ zZKIR8ziu7Li%9{Er?I6N-4URUXUsgDHI1HL%q1AdIja5I)Cti3fsZruTB+=;ue@*) zGgLe3x9l?JZSQV_3Ekf^J$Rx-J-z=N@H?BUrYe=+y!V@O0H~{cdma>VgL3l*>uMnH zn(-g#Wp^IZfMaLb^eB&sQqLa7-jcOO{i@&BHGU0Y$|T#sNh%*G*pxVD?s48|3kj zn8*Zr+39?9&LZ2<)N=boET~?3T2TM({1b=4 zZES9CF18ykWg>veik*W45EV0$lZ(mH)aW9Z)o#~7DBEI-r|Ke|JlPQac0Epx(gj8F zGk>4h%ov=T6>ZB(-g*m8Q{iEhM|k8>LNN)At6O?_uyA~me>=G_wP&JC8H--^(zG;| zSaEou>AJyqefoRX+TQ-jJ7&cjy-gOHvr7!z(@eRnhIM>xz=>cwr95VO`w9svv67b> zvh=R&_ST*(cjNh#GK=R0hJgN|DD`7P)Y1seLDE--I_sKGYhOY6an#*hDpzmhCN+Ua@IP#?%rA=j6o#$e_4)u0TOu;L_DzyMI-`VY7|x@*OOgei6Cf2TlMpW2?$|* zwKb5D$x)3XuMdiv&8=l@DV~J*5nDPYUatF6Z=v>!s##>SvsxCGR=hLX^x^H~*5XtV zudrfOVq;IAD_gl6mF$qUSY)<+@$)UmsCKu&0ZbVK{QqMJJh!D86qfgMV?Z9G*$WS# zNmJEEjrvyZdtN6&2Clw|^WgG>t6_3uIT8jsI?S1%o8-Q{_aF z+HtNi(Lwnq`P+1f@dnr9my=J(Y29QYu;C*|&}Yh$+3tarlpIc8Y=@T^%A^7;dB4I% zddZRs0{l5XNP`prnW0fBWYA1c=JMc=6?UX(6(HAxG9Sr+ zv<}Dm@#eN{8A5X7_NU>L+_#ScW8?Jv?2SuM1zJ*54ru3cxbJ$!qDDZ>Ux=?Qk+*G} z-io;H#hK5}E!*0r^3KgaT#fTP4ViDB^^$9<#&sI0emVusv}HzZNppw)_U{4%uX6;0 zxhIZW=~cA@ibe=l>_lsb1*8t3~^bNoZ_M^Mem1;A_$oS8MYc%MI#oN>TZ99 zk%dE*(-2Ce%t-RhNS?p$gCF@Rh4ZMMP?PV07Px7VRqOcg$*fL*qF}O2^OKp`A~2Bw zqMHVE69+(0T2D6Hq*N4J@ly-x2Kht}>KjaDVk z_s?(DE3Yev;-4$#;6&|NILLtdvmuujJ@f0ntURaguD`8X=}aby_fodBqcFJJQo@YE z^6uZN8!^T&RB|ag=1>L`=@uNiHH|(41DE{jlDEhC50Cx+Svj=+jbhyYB$pGV-hoQ! zteB2(nJGi(dkb;fq@@b%m&GgRAE_gs75~C}!F2OH`lY(EX0$9aY(=0oYGOIENpGz5 zgqC4c8=4*y*m!4;#>4obwx4$jTA2HXKc2+T*|&%fLRP*|alytCM{t4d_YRBRqjs6s zBPej2O{T>j<=<{_N*2^|{^yw>e7RB}5q6VO3_L9Po!*ls#VhJ^t{RIdcqj;f%Sf8G zgUf*8TZw?JV0GzbQBrIqAWM`T_Decob7-e_z{JRE%v94DfwZe^C#Z2|S$7D}Cu!|_n@@GWO%{$uKD3E4wf-Un>wD{u*wyRYO z<)D=GJR>gwI}th<-30eD`3eFK#p*^UFJEV?Y@LEH9QE(>v+qI> zXX`kkk>Mr?H&{iOs1kHUv6+wL(r>f9Sfi0=@s_*|5bR#R;V)1Ng(m_F&!7&Id?_ho z_*nMcahiZA(F|d$xV(cddv<{v-?qDmqE^K@7IsiU%RTiBgRVcIs8`bd zok2F|98{EszsE=!{m>FmqlO3<_~+27|Q%p8Egc56Q#Z$2)UZ&Tjnx_u z5}nW?^*@uQNnvpLt!P>tfJD|wB{NZ|nk!M2=Az}SvBmSwXG5p+;Qg9umDs<9F1({9 zaB6pw4l5EJtTR9jq(N)kwg5rca8?zfgpyBCp{#q8k`U$D^^VA$V^_=Ne$jT{VPjS$ z;L$Sqg1j8|0$@KAv1_OJ?14L|3kXTHFIK=I6B%@-(;&Js|6%Gd!$yH~ZOzEo2KS6k z`T|7C^;OUJM*~7U`A;Le6g7}Us!}w#>>w$6%wf`QwIZtjeI^*;-N&B(2R*{O2He<} zzm$zHkdPEh5+Jg1_RZBu;Z(rGODUL$+tv2)Xx&u8^;Ix~7da23^Ugp5{%m70FWl$; zIKK{et%XO}l!g5iOLW`$(J$QpS)o1KL2k9C5x0j;ZHsmi1TO4(CIWDy!Wlp9u3t{R zCju3WQOtW+i{pI6ER0k9*KiXjdurINAM^`N$EklH{{G)21Rts{vWm+E9yVg{%eu)m zq4;pVjI+|Yt>zVTxt1@sOZ$NRr9|6Rt*J?_-=D{zkk1zhwQjh(`n040-lL*Mm4y>Gj97(5}eNW zE?fOzB;37jJw3%Tsfwbx`GKl5%J#xnK&=g#-g7lJaA4Zw-;M@*{5>HsxZcanrjM=A z-oTe8&Q+)ho=M3NBgaNM5WsFUKTUFfr(vTv`M zJ38hPtc3IF&T&>&lcc?)G z42EUnI*)_xza;>C7L7{F_On}fnhiGLmpcS98Mffv{+YKsm3UZIO?_wwzoF!=*Kq4F z)Gu^Ki3y&bqdBsNx`-Qr$4A~8 z)&_z3DI_qdgTQ3ftYT$AcMa=s?oY2 zXH~X@yZl`EMLY0}ja!dOvUx>WwMYa7nH5uMz79I5O>Rp*x-)X!c&a*0h?I9$&-TtR8dnsc>BO8c1q|K1w`0T?p0axk8gttO`_vSsrN z5Ge&${2beudr04(rLVGH0u1e6P${_2P6mt#?Vr}~{?8o;?h+5oR(>k*S2vil`|j)O z;n>hW;O-{q&)yTcg0Q2V0CGV~pto?%U|=K0Q~AFeFP3ESkV&8+5J3zmny{HKz_IUB zJH&Ho%28$yLPi5~S-6!fZ1v;F?xpDlHq2iPXZ;cI_xVbX;L!HJcMGO#V zi@a3deijk*LJ;zgm;C_uJeSL=b~X{m^PAxjxWZlm>>CZPc;6;a$h4rgoyUa?juPxX zc3{tG<4t@_*H|iWaD}-z!4)Ivnb6yj6HXv}wsN5gE*GUT*`ozjNfH5ccRQmo4kEs9 zMN6$4CQpUnyk`mMItF@Dt;|KdafF|9Z=|rDDn&e5MrTC_>kYag^y)q^$I!h3lcyyr zRp?Ao$1t->YJ5->p!-z+H4c#;i)9^EGvpoR`M1~!Cm37pS#d#3EO+zh;OIah6jWfF zoOYqW&|5L%S!A1Uve`ezQIg_hrCV#hpSCF`gtuKd`PZqGC-5d5Mz25Jmk^($@LDcj zohoZOG`@fh=3-G~@73(Blh;HmSi`wdSQBOIrRW@Xb2^`5wSBsp|^d_pHav!>hZgG9uqEvckIOK~qWl}k{52*F}C2Bc`xcmwI ztSj5>;5tg)Dh1wg>^|S&Z#K?fz9zc79?@WN?q27ynAD;G{|@*0?n_BY7#O^C9~3B! z?7TehRzF%1PWq^Qdo^3j!j{7i)tyLinnDD%iOh1N5@Ow=TUaiq#S7Tk?K3Y5i7}ku z?ZSr}q4~veJ2ov)k&$b zdCL2_j|VcenyBjZ6!fuF!taz7ID&txmLdQu3qwn_$Eu4B}y2i!^-6a^r){aV;p80R`SzKGwUE#qb3%X`j`%uRRS0`o)ZB^-y3Q&lbMWKlXDvZ^NR`QXGk zKqQ}htpTcfjASthcvnsE0uD+J$LMgvwh8Prp|xFdFScO!^Vtg>gd%eIJH2nT!Vb&M zWpOP?-+P6iq-GK)j58rO&!`EEW#Nk7$M9bM%FzJN19wSLu7u_z3!4|8?*jY4v=Wxj z(vx%DlM@j)+LPg#)JQ>4TG8+@%YGh7VB5^z4GH@L+uuJ){r@=aZ(zCX#WG`xd+DO3 zeps+O5hlI(1+R2YjpwyeJm*yUeiD2NnnwZf{Xv?qK$>F$zp?ly4CS>M^|T#6(5}6A z02@cP7b(TR_qxZ;8y6r0SG*b*HZ-M@=aguW+@zv#nePxq2)1Eg@G#kj;1`8&!342i z0XP2{si>BT31c2M(3N@|xq-DOF>Y7^TA&dN_$mOp#tp7$g#s2XI1q0vHV=JMoAc%m z?6+ORxw*=5pR16jQ6VZtrT)?f**UyLp?BlL!~aT&tgexf6W|oHGf@(k8ear#5rEtb zuvGx(STp$S4L-hpn-7nm;L`LoUO6J1u)fhryj71Fj+$>x0WCzo@#5=p!-xyG&>p*i z-gg$Z4?X<}1=cDigg9o@+hRhRX*&@eQS1|7JDxxtdwRTm49J>4%qB{Jy~0C8!n_jPe`@mx6x3Q8EDXIWWV-rn5-`UBl377h*o zywj&hD=M}FCznaPRv>NzS;(eTw6wdx5A^o-)>M#(#}jZZ@R;;w8l9k4l$Rj6eNw77F=4zV|a??`7w*mgYT#Kc~_$)er2WeU`8#Y&h)P> zCliB{HIa#OOk{gF8OL)lk`JY2ljE9W@$Tt#QIcF-{;gS)9rN?vz{_}Z0OlVGJhj!_ zWBv=|I_Ng8lA<46We_&n=GO|Dq(HZ!=VxEH-cN4&oBnW(u3tmE4NJvR(xwn^B zCcmc&po`?OxNOx73xf9ige*vVS1pul1ZrB^w>)2IX=ypM8T}A^A(h%vgCyKuc1L5E zrRQw;;mdxh(|NMqdzQ;Fh6T@)Fn)~=OgSxYWdUY%FEwa4!1Oa_7TgNzaK-d8gr7x@ zG`Q7JL9CtUJfpywR44>CT`IxD{zt3KU@J;B9j$#M^+|J3xEzzza6lHU?{SjKc1>cv zs`E0!pc4H|K+oYK+D!>vzn&#%fslXyM`G5KlN$hb+?%SeP*DZ=`FjU|${0t4W^8=i zI$H|lz%_YaGtp|<*w`Fu41xS`?~5Hr5Gx5!_-}?|U3Z z3=|0k1ZhF(Qju*DM4eLv6n!{LCzz31$+ z_lmjZn#)}wI5*cEWI7JkhUF>O>({Jg}CwY6h`YWFMv$N&?PZBWyh!TOPn z!i(laI6O9x1_cOKr3I9tOK$sv9%zjP^Roza(NFjj1t2;&MzvI?ts=!$D z^E|%4v(p?*GFr1LVAF+3YJ-H6W9_TxL^`X_{GxCf0g5UGO8yG+4tJNXWLK^&RNq*o zm+WW-i;pCe*7kKyzM`T6bVfvVh5QIYA|v1K3S!;90o0cXg^G6-FSCV z=Zkfn{TEu}jA`<)idqG#-$OQ|Y0se>v{A~mg8B(-cA7J-GNdacZ!%J0)8g6Pz28~~6y93#N#%I_4gb1H$-H4Jxh_Pt6 zoKxVSjusj%PEE-iTd2NybGB87sg-MYyfY8$mZw(56&Df-9T4-C4$ z(ICl?q;Yk<_ufr7CeMB3DUm{#q9(Q!^J;qinkg>gaZ%vOB*n#7VOS#QZ|p2X3ktLu z>gK)yjbKm44< z1_s8RJNUexjsToI`g8$A2F1Z1YXAQIp25w=b_kVHSy|b`%}J_q zQMqPk#XN__jtD(d(`pcdf6X zJLT*gpPtR+7wom~k75F(*^{@wG11a2b9oUoHK@6X^Uh(Hl@?5Rx!$ROljD1w2d-uM zvwsYtP1HKx7Ofv8)|^x(>tOJICP7Ohf=DN8UF`lQn0w1bui4v zOn|o%berLTuswfH0E!CW!%|+$%lCqA(DKR(tLeliFhiif5ZmkHz|+;<9tmu9Xh5UD z@-n6XO`%heG|;H9>jwSs;UNkI-#^d=1S}Cd5bjo1R#v&7l8y#BbFaCdOn3Z*R!56B zLmAZ8*4E~FZz2m^UYx&r*?P3k4`0{RL} z=jU0p>Tl=C8c=Ll+BrD*6S6U~vK}Bv&R(z6n5$`FHs{>b6u+2UCW_OLUL|L-=`JO= z;h_dqTM#rw(x2(3Rb_Qbui6R;H4zZv2Z!bx3ES=*Z7qwFXvA*)VCTE+tXmxC8Feh- znyt8wwC@4g9)X8UYGV-{UghV1uHk8+ADXIzvizRM^E|RVjyzeGH00Mw$N-brdTGsO z26N~6;Fuyr+hq7YZ8zY76c$w0$0Io`VfMijT%Y~@edtjkBlY_oo|Lo@&SC`IHgM}D zuuEyRf5Th>h#?-Q|L9s?Tl+NEd>>A6+fODJ(7hWkx78@Mn1?;rLLhSOSNrn|!@-V@ zj`ntXYHDg|S*b^};&cL~nHL0z@dqz81!9lGnDy+q-$AVb`fzzmy$cEoVAYe7lZ&0t zPqwzUp6>?DKxb`*`D`OtpY(wb$?5TxYp2->a?1gHrnp`W^D5d~NTyvFSxm3$pdc?K z_}V8lDXA(NBa9|fIlw*P%LRdTK`FZ%#I+DdseVTCr!^`UBX0OBW;~2ofI;()C^WU> z9OzK9h}X8%j@RxjylnC8qzQenVIJXJx_kiKy0*l?fR|e zyk}wU59pMZmX^3(E+UQffiigQ+BFzFjL@=wO}@Rojn8eDvx3fI(BqCn5A#t9w&kHT z0d&=%s3?Y2H}^I1_wQq)qoY5G(i%d90`x&lQeH&se_N>tFbMsG@^f=j2R^Ww4&0E( zp0)gG3epw@+{XaiFLXrK#4DGN#wn=oW4)ryou`IJIeL`pJ9Eb;af47d6U z8|yAIJME;60R_*iIf%#k&+GeG({laUf&(Q7mH3D_3`o6OV<(S3&?4sT5U?*N({F1$ z6`uYSa?5gQDT21b1Q8DRxq>a#(bH>-hS3%8sy?a2=M6DBBu!^I?TWiy$OzJv`q6u>+ve-E!*&3Rgej^JmXAbKgK|dq&P7 zVry@&ps0v)-u~?9S;(Ko-L6QESMl8*=!8nTn4}bWIXMVr1d&{jbAZKq*O}P75hTpa zoWH_l#t=R#MZ)afghzjF?Z|-_#e)fkOQ7>B|>H<|XQyrZK-TbzEkG{UX_I8Qm z;F6M(si`TbM-7jTwqb$0fH(_?&97g(e*!NgAqSyJGp?d3VhRYs*XzN-N3=mLd%L^v z^1!4$QVUE3OBaZf4f_+U9K_<$^igf|z;Lc_7TK1TWc@hy5DSakk<)hLZ5|$wah~+c zU8qV*Nl^wYEG+cfPAM@(*J(W;G#SK5tPeL84Q zNr*f<{@~x>Uotdeh~ZJ>Ui9#+<}*rrVf$_ED`f7gQW*3hneI8~N_K%E8E zVTyX$R3m`^H3p*iSmz%DJw>gD7vzpXw4X*1`CUqC0E1iurYK0`w6?YN4h-l%<#qa2 z3=R;Tm@_!zb?D21V^F#x;c?j87>`()bNe%I;drnnstX%3)gkKS z=%e$&V`@#Ndh%qf!rt<4tibhKXx}lXrp(x3=1U%s%HMQBRHt)|2zC_o^hrxdAWpe^ z;+~+a?&tKnoGu4z=&T$+{WW<=${_7b>6W_{k$O_b2|^5a1L(`Ei{FyOFg4S0sWFo3 z-9!4_q8YHg{yVbjxQlt^UX7+!LiKc$LF;lt`%XjEC3k`I4Kr#q{@=mAF|O%&kO!r$ z8$zWAkzD(AE-2}5;g~Q;-g1i$siU+0YNeXp`B51;MycRQ!ox4Y)L!3}gUVxq2qZfm zvKA?ZV7jFtDSX?j7LMfldryro^ADA{%489`r167^B3MKu!>`6qgT;-JKnf@l43E z2Da7?I}nv&ZWZbcWLnuLSUmPSb9E>U`X0W%Xof=a@|K_@25Sz@W=1f02Sf>IwO_t` zX-)Kq*kq%}UgJlYV0uyL@XuR1W-bWZ4qO1};z{FfVq^Q+1zmO~A-@D7(gl-yE$;y& zV8wHv&*6SjWVCV>b3s|6&O*kp^;_Qg-D~e4ChVHDdx&+hy{c#YQjCWk7lD)dMSZzO zZHP!IGu92Svi?3JdXqYf1tN}`)m3x1HHL`qUDpGjc{v7X3|p@KcpZ0?@1q#hh%(U0 zvijnr7d1#Z{~FP@rfmv7*Wx>YYc8m}7IdFB(UF3`-Q>`I$-`eKk5jHtaY?D#5IR6z z^t5(CKZuRyYcT_?u&cvD@uah*wKe!yCkQGa&HnS}4}|@iIyw}AA|TXsKG%ZX?*n^J zBvFnzAB%HPJAe3o{pB5-?%g#@Pa@=^#FSOL7hU; zN;IlkrR_aZRmmuFcsCBYs;<74N9T;a1be{pA_nY0pUuyH8&+(I}jCrwq++ z*uR{2#r*nbF0pA~ZlkHXG6?6mB-ezCAWCy}Y_%h(_v?I6&(&zK2ag#Jx|-|_ayLgG z1T5y5^!rqZ2IB8{2u>8qbi+z+87x_GMsz5R&gkgq0P|u8(oB%%Sym7s53GPl1u}N% zRiv@po}1GS6zNM4#m);ry&nE6EX>}~@$QW;Flr0>7R59Lez?FS6=Sa#=I1IS1vOO#1M-J70Snk0l9s-th7Twe$`4k};>_UNBMp z{23C(WpIGCqwoZmiZU7ZV?#mx^EWCu?%fHAdNT``2%ll88_Jo30sItfOUJAtA-BwU*Ia6>Mu_~FjM6UVxj>hL8s$t}&z@1KXk z3Fok03I4?CCq!p56i6_TAQ}Y3X%#iK(~}e66DWy`(*bpii>o}+2ccWkwa8{N5?nV; zeZy>Ta}tmdK5p($FjBtaN7+|1xNL1N*Ydk?8B`TI8RUw^*Y1Y=s%>s=9vzKnhY40f zngVKSYJnoJTjh!SMaCNq`u|iFpe^W9YLheTT~x{**$2}L^!D_vja5k+_>`0vJPCk+ zB`+A<_5N~qX^=1>_J_K;KC9#QGR~24PQ0^5i*3V4om@yV*acd6qTsWQ?$vDH*<5{b zT;$XI7`Cm)POhj9CJ_;<(Pj8%1sAT9A8?gaici`3q}ff=G_ZrdWIgA3ON421q`AkI zrp3NS-y!u;8|bBSJ$f{SJ+K8R0jv@j);FrE9`5eVJuECNDCh*QbvtADy6ALd0wBquS1;=u z8>@gI{)w7BE1T1amAd*kmIlEyt$GllK7?4?wCb3WiHV7ZM)X24F9aY!h*!CtP6{{; zEt-!^AEG&UF*)td4?%|z^kGjF?3(Vp;4F$29VCh=#I0Ay25LJwd7sS-O}&b=MT%v8iu6^LA4yn{ zkEEsR5duz+z4kl5P@$r1ZuME-l3#)Enr6O|hr4jlaSc_rl&OZ+N7bhp2A-@ppAp3` zWOUBo4IX^tGx6(il_XU`HSCW9wrCagkc%bPq@eahs+)$8*xc#g(LCjOF?vBGfYS}- zw75MLeX{2Kyu`>%73a|JK0pNRF$)kwUPr+&9>^H}a`Udu#uz>+sWetpR1|=LboXu> zR@%|yro$Z?{hAz7a+Wp^>)kpUG&!2yxPp! zr(13l`9_}BZB@N}b7K{D=S~vbh%JtygBJZoZHncaKW&QsYCk_BSVzJc94I~3uAb=o zWGFQ7H;fN7h3bI~LdNXuEiRD=3* z8`$u^eOn)k;mCv@<^JB~+BnL4`T3EWZL36+GBxU(;=^j+Da2ognh9w8#37?1D~FP= zC{AIcAma(%zkwqlCcA_gV5Xu4IISS*pL4(8rR>g1o@DJ#6*a&yLx-&`78mlqz$1Z zCx5w?pM&0SxKHYGMn(xh+=F}fWSl*h=jIR+48KdvF+2{Bd zPJ^*1y|%C=;~YIb6R^LuXRIYtb{#LSNY*6|J~o}~nEvMVbHhe|_)Y8d?dk{2JAMHT zk!csaHi4C7!_~SLa_x%GrsJ$O_s71d`jIArX*L%8gyx0$_~+Q?)cU5NqwjH&U}aS5 zo0>2QUMwLH292)qv9U6n^^p|Wcz}sqAi1}=E&X~QI>a`H^Qk~(W|Vx&a&ElPxo;Atj_cyuCzIIQK?TvX4|_*KjdA z$zT@6S!>%glyZNGX?)yeZLK%Ey`$xv*@xD7;<}^F+frvouROMmvwe9lj7+D~tdr$< z;ltp>kTkZnvCYDY$={KDWfy&)HGu^1 z->rvhP6q}SYt3DvaPxO-F>TP9Ip41qDD?W{>}JShj@#Hax;c@!T+W73%GTp@(l(fM zIsb0hrbPMM3se7@3!$XbzZxf?D@eW!(Pz$8CDd!v|<_~<-{D#4uHJ!#$Z zfVi;4JmRyMGA8GBq}U3t0K)Cxk9i&Th6!gLr>+enh)fPMgeQ=PA_f7NPVydWo8D%s z+>?WI4$#QQUzKDxKLNS}ef~$FQvv-WT2XO_yC8rHN+)T6{6I~`+`{6A;w&aHX8}-^ z5kuzo2Q}JC=rSqgl{|4DIO$ymRzHsW7*u)9QMuknJR*cKp8YOnsB07Epd-OL)-w&=0)U7v5!M;kwo4`VHC z)z3O_*s>)~x38aGUf9fH*puvJileZ0te-6H`m7e=Q*WFoz_f|grBHPtb)ItOXA7!^ zJ?mpJ`cbT&8`qGiSCuVkcZ-OkLs^drk`Fdh)=Rup?BG%sMxFb~oV63P^p~5XhnM|$(&m3BS;Acv z$I`n6kUjC$i+}y$^R2pu#IJL>IQ=*C)c-PFTE^EPZh`cE9c|rp zPNJ0!!{8e86Rls70i1L^$6eV%4Z>C3Gut#`wx)s`H;Yaf9D2cND4jmxto+d3!a&*$ zNowp5DEqvI+idb9v;}AzEb?0ba?KC%?)t+hS;O9>4w$eSEH)3OJMmahTw2;?`YT@5 z(ac?Q$F(6qe>;cImeQ27c{TsIL#mAsz-BX@pg+Z62}>30LMlUlZ$8tYxD;1#BheJS zv_35K{ib;+Upz7n>TKZMk{cf-J;H*YnBfeX5aZl@AZ`9=7vhhH4kn$-)<(BjGO#nK zH8F(uYg`XC@SiPLCQh18m;|6WTeJx$7cm(3EgySCMPp|4hDIYH<$U>-Gy4-Gv(!%C zkCiH705)|<6AFxBhPsCBO5ZY+0DG6MAXFgmYwYNdOq3I)bNBFoIf#5zO&QZqL4q69 zd?{n%p{;S?JJ~Dxk~;ERcaUVHm>AVCC}n@VU!&->(6R7~K*nKBke+Cc`Wsjy`)O10 zm#*nU8=VsT*L&HnBNK{7jwgc&ACQpf$yqLRccNBl%m?LX|Cp+C+O6&gi~#*d;U%Dr zkUFjpWRAuPxEVq~lqmKha@y&9yg|4IxpK@%7)x zzvTX8ZwnB;=3TLder}xgS*^cvhNkDn9U{R)b!nVfd`O0GTxpE(@Cvdlf3H)@08N=h=s7fYr9+ahtnS>+fJlf8~ zf-S9KtFlt?jhUpj!-ORH_NyBo;7tde-K5^=uqn|H`)V|$r2U4Q;xOw^pb$;oCN1hl zIVxh^s9l5W%xUOfmW}2}N8}HFyvfDTY zUv6OR{%4Vf_c(~4QMVzB2=_jZ_6*7#5S|d%n@GyXg2awdHb|{f6~Xm)TQdgLRX?fL zwjWHd-sP(i{)&Z{^?pC4fzHqx`fr8YA4Ha=hc0LWa%v z&5OBp+RWT04j%!}A|bVk5aUJL%|0nqaFxSmBHbpZEwc0OUS(YQ^rw_qDNB}|M2cJA z%lil7=4Z_=lfHu!zfp`E#j7zpFf*-S-%}d}kzl*yYQDZ##PBuk9onja~jk#!*U^p7@Jd zZNB+#IfWrO5Z7e<&f)00;7`$I$=En|mM`1qBDhK|*KxxT2#eAGcSh~03>IRW;fA?$a zCVI!P!vUCBWfYI1amFI|>P_;!DP-US(xyiI)o)zWh`zB zmCsaN*!E(KqDEh=PR74lEb4%M7ya{@FxdAuKiVDapr03rsvxSISC?45K-rf1n`@{Z zPjlkpe3C_WMW>!_RC;6?54O_e?TJf|)dRlG>GLv5%4Cc%_S05BYJ&wg zbfX8Mb=xPu$WE4bl|TOd_1~wu%Fz~GtqHBmc5uZtjs$KDSQy82bLk{Im`YELPviJu zu{Oxm<;<_-RA#m;yW%Oo#Oo$XH27e{BL;&)6v6@3VmpuQVp)u)y`M4od==R*oM6Si zrr$51`tM6(anQu1sC~0+x#lAHkArrYee>CHPVSsj6Fo6of=;?B@ojKHGS5%e{Mata zdlG`9$k{wUKyU*Gt%Gpj-KG6Ij3(bZT@}v_U0+0HwuJ3nJeQQhkc1n&x~S1nW|47D zhVAcaQcw=w-I(m{>Qq~i_^|9qg9st`RdAvz$pRav@1=W%JSgQLQmek0T4Xp?V@(}B z?Pl%a43CVwlh2FE;}UXJH$r@7F!D|6xjMTXboB}2sAW`Cp{dwS*eBxnhZ2*Sr&2f& z`j=W$Im10>jr)df4BWvu=_*NvP--|l(&ch;ro)BgH_yLgi-eRYBXSM(=1pqj1lV|o zq4<-wNt?KRw!}M$=I~WGvzY-^td^2Ap0lHuRRehjJaxySG%GZu^rK~)?0)~p-K1tX zZ`edemHA$!DY<|r9jLH!17kLv#vWT6iW{zH1uDz_VuwFICbqP6>s#z}Ra;YCc;)6d zVs4&hGn$0=-Sw)%c3Im?Jl4p>+wDN}(EC3=>3edGvc~gaj9ZsAv|tOuoS4}YHv}=TVUIkFMDq%bhY~Mj|b77AeAqZ>nd2c z*8_@QW@vu2M$~BjhzZQrMRh{hn(hP&YA2&$t8`<@&i*a6`TG(otdIiINmKv#84A=G zl$R^L><|lF7sQjMdFuGeEF(dEFh#^$VCMeSYb4WVS-Sc7KVyr8L~`~14Y>=96ojjW7k}Ppj*eg8 z^i6=Mv&V6R{1g9>lFbEcEw?O*MYv@_QFP4Axob;-mH)SMSQp>F)%sIw#j0GB*;FDT z*5aKkLaU7I85|SHwA)0j&R4m-VYtS8Xb-CU_i6=x6Br8;q z$!dKAn?eP~DN@t#eyak8hL}_kZp={^V>)^R8Hort(N*Sf^=FligC)D(Nx$glu}b!X zEA6}!c6@7oGev7D2!6f#OG#pD-p2=JKAti8tz8_41G38>19^<{dstR(NUDA*>5vkK zccEj^tZn*#H$ucd7x8^V*7c9j4xaS0_KCk?r9Z_25qnDjVKm;;jL=&r9f^L+KtmBf z05;Lp)$CDq;NBv+aRZFKNOBwO=CVGC2i5MVh<$|A>i_?q^ZQ+t_-pLGo8~vi(j<16 z5td^hMBg+-^S`aJGn1mA=z&H1zx$EEvG76!fA3|U2x@*$|IHk&f!z6^auZjP`zzvO zWpL97Bze9>{A`LQ4%rafo>hBQ7J+LnL~K2w%L`5fT^HrZ@3>dK%KxtVue-q4rQwvv4Z};hN4rzH*pXPdS$qTaRwQi&vZ3 zl!w?$4~p72A4)y6dhhwA9LS!oVG1naCoGO*hQowd+h#KY4X@O81zINlEfEsZaBKNo z$GuxhdfVU)n^4EpAKV%yObQcDfVFp(Ge6j3O3tHMxQEGroYVQ?e_PT*+hM(Y>X=&Z z*e7`|(RfMhXO*lhHan~ybu?^q`Ud6%9i7{*|65`*u+8?pzVF{l-a5uVSwsKo9M?BY z=#3gybM*#gq~JDHOD)8l$z69C6JGvri9$55p`P=-MJ^_Ba&A1gLhl{c87}?sbt4Z4 zG1V4#Hbvoq8h0Y(!vTeKhsbo~X!j*J)+7J-#mwh5H&NltM{U0+w4XKmh4x3*u=7D? z{*`$M#>B&{)*2kn(bjd%KAh=~&|^Bzt#E5;ms9&xOwl@FrjYjfVJ9u$;+UFnV!5E! zU)@BbzB}OsH_RiVLSq>`>z+8zFmWZyEpKdOm31{VG?15fbapCD{)Ad%NQmIs17>Hw zM8|LCX-Q%aEDoC*1_jA5hrNbZ%=X7)B3Aac_A=b*|HV|_Y25D40@_0B)PWO^@DCx+ zoZ`PwnBgdMf9(cp13$i0ghB(A*^MIypV5}bCqAPV9n<$}wJBe#+Qh(}%Jl22uGu|F zoK3M(_9mSqIE?dVkN4*^-4-T;Tl9f}1(3f53!lNr65i5;a$q0<5?Zg(J+n!u5bsi2 zZ~7T`%X)izf7`&k`X;NepsAPAzb%44i(0}GHmCOn!pwv(el>yBcHVC0N)R;j8%RgA zKm7bEyTX!P49AzFy=%hkVCxXgV0lKdpR;4*{@B}P>|g?tG*O>oncn+++drel5>YWQ z4uAt7bq147whj*bzkQQQ@2}UmKa-t^>P$P7UllS_%zt+;dwRT&OH1AT#N!_a97(1$ z#C99UE2ucYr9qzw#q(^K@MJi|cFV8b*Xo@(0%+3h7=dJy+AL77BNRib!PnxlQT)|@ z?>edB+(O!z?V53EY(9cI<~W z4l{FXT=P=+wt{E%8n`g$#d@VrmNsO-SA+X)2(4m$aZO*J!c6hz(dmtT`&9p)$+T^? z*qdh|iX@qFZQY6QL=_c~Jz_!v0|z;nfW{-OhlHfv+%Gx5l+s*@ASm+fA4 zI#?2#VlNJaI6^9)dfMsV=T|x4hZ_y$Nl{3%pdHo3*#1k7G*di#WRz-%_T69@CtvkF zKf3wt$bUh^Ba{TWq1W9FFgCREcgn*%M2&)SL_50j2zNQ8dOUCT#{GDh@Qa>^_^6Ot zBht5+qqaPIGqW6%S*8z2^`^5&F?r@^xcb*l`ThkDv{)YXIh2rTQ4SN{npdEY)$*;8 zeZP%^Naw!a99}RBrgnU#7@rCba`YBG@;%Mqk7_ei7kTxhI5>05%Lb!If=J|OGsSI3 zr?>0}iV>gv`6POV|40HJ9d;Q>3GzptMizN1`+UDVPWr|TZ1yV~GbioALGbd57rAx*WVzy84QHZ@JIrdVeI|_BisYrmrn2FK?r|kh>v& zaD)(K6=i$|oPg1i^H&B-K3)4ecz78(A|d*nCx3h6VB@7Iw{yUOvjg5>+7V!~{=SY+=R-Hk~d$17KNERASG9;M2ne@D;+pwgzRbV>~Rt8CQ1O?&~0vhZ4hVchI(?Sar87&&$i%xx(lzY%NU`*xsB;*kw%)i?iu6 zoogNj_U?G`)eN4V-ZbTATaS;kWG69}QEQ#JSMOfp$i=F_yKcHvdNB^U!;-LR={1s z%J+#gRVFCVN-nUquvpAB18*$@G^nYlggA`dnRIop26I*cM2bP+SKk zI|UbgU}M_N1qxFF&2ql=fq0`d^3@SUawX1l2IH$vY4$LnZ2CLfsMQO^7U#$-C&Ca; zEVZT^Db(Ll$AUjM?|1t48d!)zUp zljSiQpf6NaC#enoh@B{R3}p@*;QmT9H8q(I=gl8&&-U060_PcMkMMqB@a(1g9qjNI z2ILs5bad%wUuc#o0mlyKuuS4uznpTz1df$9@FM}`2Ot~Qb1YsM^I0{3eu7WTf+?Lf z@C0wl)&2(%#qzV#M3d+C-e=!ykoQeX8B-HFfl%{14_9WQ)__;ITb*k(@hSI!&3xJV z-RfhCXA~X&<0j4?Qzg`noS}MIzAfR&fr%mpfR`u zJtlABwtyRgi-q+ZJWfgqbr?~zQFbMzj_Dat1!G(;N;NH762*VQX`@YpyWy#0JW<;>t`T+l zu(OwbGe9e?k&-0oc3G&Oez3n3%*e>ZcUm8~f47Nuys4pq_lHNaAO2bE-Rt7!$3^Cq z;e1Tt8>{OyF&_dg*hvg}eeuHk|C9YsT;hXv{`n-F(KNgd5RJX3>2FHH9Cdr$#TrfmgJOAo~{RcSHHyW3Lg9rHI9!?e^yPW>dWjkn$T?DbN{qxqf+T zcGSO`$i=>Go`E3K<0tLagMr6z_Hw$6cD5s-2yH?AcA{^Pt`^yYe7>=(VwaT^}|k zCT91AzrTIF_(X~M2VkT_q3ovfbw1#VfwUf#WcU-E^dY6>@TiGTa~*#|8YwhZic3~qY*Mb7fO~B?+QBi+L;LaZ0GUSNuzO>}K8u1e$i8X)9`p zsdks6qHPgRY(6VxDOaB}W9Q=N&%~cgv!WSa00u{`fTA&0X+#8!^9vQNK?PaFofayS zBYHdgad8AwERbYO*ejpyRBd0Zq}CVaFqwtf zmeZjVUDsXmuH!nN(Z2aa?g`>3eTKRo8DEIJgptNcf}dOx+L9nk$>CG}$c82`^0WDkow zpE(_Bu=>tvsE>q~>b}+5F|rJGIc)31)NuT5vU}@hR&SNg2MwkGt)`V6Uclf=4M>T( z&83t+v!p0~IG@2+Ja?)uC^?@FViU)iBVL;JR)^$ z|M4NK0CcTKM@QSw?)U^fC(Fyrd(PZp$e$bjMkQ5YBxlD*^c47jMMIJ#c2l3pL*G?9 ztMg|2`{d$1{_*%rrJK?5z;l(knWdf_u{uh{aQ7qk*GaFV12|lsZD=V;DdnCTKm41M zCfuJgmy%PTb0$6>IZlG=AR-az#}N@q0m3i;z3HH8JF$1I9-W5Egf{;_NXcOM0H(RE zd~`LIl>BY$FK$YmQ4Uawx5djmJ{@}yQUA9@%FJs3^L$aY+C1N5-^psheHzLGNy&p! zQu~Je>TQOsyTE4ElP+Ip-m9x^rE-sS(qpkMk;l+q@5dc12^!)!q8}`Fi?M$c+0%GT(tU!NCX{q0O8Ifx-^4s$Vckcdj*d zSpDqUTwjIkIUey$AZ$j0(c5$uCu{ zth#Hr+*CMJ7}5&gOn}#j4Hewn-Rh|G!uPU1UtvYn*FG7&hSJou%Ciw`He~4(z^T@u zhkf-UIP$Zo`rEF96qjkNAkkI#eN(jn9Jgw z>v(uZnD><%y3(x(lM)iE_qzw77(=;xU99}os+p~2)ZSUp^E*O8LHUQ-%r|eTSYZfj z4io;_c$}PJe;bII&nJH$LtT>LV^A&x6-#X<;r(rREfXXNgdyX&#tU- z7Ih3EDb@_osd=7pYyTm|uHxDsr&H6wFR__wbYVRyJ+2%((6QA!BtNjH+aG9I3Yy58 zh%&T!uA8c`l5_B6MEKZ-@`EaVU3J(^|0!QhXuEPD6;f5 zKADlA)7I9~DM>?lr0Mk%-=I+SzNk%6V{1UfuSlgb^e7_YCZ67=uBKi&t^$9eOq=n` zgEp#Y(M`rmvqINAJUI;E)ufv^)L}=Ts{iD%)&I^svyWhzWstRE8Op2+h80)8xIn*5-9vl?)+VUj^<%wr9dhlH*z>Y>bB!OT-!6RBh6GGru+U=(BKTO%QXY7_Dbzb!K_^ zs1E8AFWt9exEN^|^7-`SDv5Dz70_UANU>|J)ESUQfYmyq3JnjWHTM9Td}JhdAe6?b zE|LAVIP?6KkXwH>``-3EpGmi&^^4$p_lddmhNTIMNefya6*YeOp5Lp9TYoUF+p|}w zP+x)SGHx{YPM*mMBy9b|8jTcBFjq$fDajfrC^5rcIMyvP6Aq>u9JA3F zYx`SYj$XE+XngxnpnGP!F$Uf`X9`1Hp|<`D!3+JVMcd*NX&Nl{dJnB#NM}^|jOz|y zR(etIA-}2ernG~L+*BN#Zp;Ix*y_RdfA`L?z~ z+tdKP$?ZxBPPrHJT~{&U+-cR+AZf@XfRo1xb==>G>xHV{KNk`k$9!yE&;fY(95=G? z#S9HbqY6Tf{<#jYTa1Tyl?%27&qpv7Rwt&(2xvJJc^q2;qC6^#G)J#R02@Y=End99 zS>{1C#irEQ*?b0aK3l!)Te@kCOrh3^Bl|Yq(wn#uW^A7EHRkN?dO>UGWZc|ic^U)^ z<*#=4mwScBgaif0D^$Kvz09Cz?Kb`BeO2*_h}ioii8S4xhs65reB6p09aCU>neslE zMC=}H|JOv*`Tr0f1-s|;(d2;!$ewPmuHt5RREwaHsLbY{m1NpR7D}ckz1s8L()(HM zCKMyuPeUjVU=Za@O#tbYl$6x;Jl@RO+G)m%YNKfGWS>GT5sS`8vfh2@ z?OOdw;O1oY?4<1Yq~ru=+e|B_Cz{LC>Of(F4tZasL%2e{va2z&GSJRV+VaXC$lPhpvh#lJ z53yV|dY3Zu6*~X^`bfr})?nE2vaQBNNy8JzS9uP-F~h?`Zaua}mw&GdD7G>^Q4kET5&S2~@X`0(7=EKJW-L<{=| ziu7454hPX{G0Cr;i|4Ris4cMBUl928M-1ib1xWfMVo~VA#mC1-qzKDJTG+Y25i7B< zj+izD1isLz)13IorUZKa?gmLBi)wlw>%77S?FRL4m1Ydns_5AS-~{g3jz^7`4{U_T zcMQWCNeP%R{d?ZpmV9_#o9e9Rj6Wd4i@3`0l3uL1YYnOtnlEz2WOl|>l8yOGA_5{0 z%e=gNVsS^^4^mHea89}k1(>S&RyuAfe|+8YB%waIps;$A#w;+VYrI-A`<%b9pR{_r zF8MMQPp)!FJux9M``Eg8Y-EfvkL^if^K_2Mfd^zkKo8gTS)*lO$iz9u)=>tg3L=&A zf;35;NQy?4-E0A|-QY_m003k`{;(2z}B`L!{j zfqEmLPPRrZv^=K7Pdq@pO^j~AiRtn7-;P&eR6207aY{o}!f&#cN7z$ zjm2x~d`rMKn}6AUSvDVpo!oJrhLcE6|In9(A~_9F_UO$SWHsiB?QJnPyBN*&vJB1a z;Hw_E{`orTW`dRZGd-%sY-p;qHhO@9Mu@A*cu8>dvYm$Jxn< z3a_Lf0yuc2HyrwKZ)T7$pqc6+fDx2>`$>GjbrJYDD>rx8-=!A8nzFwZq%K}u%3c#_ z`YAFxkS6AFUhf*ZS8!dfc}u&8^_RPE1$bcxfIduAivMxz8?3Nh*54tiCpM{p~!l28#DCG zZeA$3lDomQQ)BtJ1>xWLSE6jbUgAXCjZKM+-{eWwI2~VEQ1KdU)qk;Mp9`%d3xf&3 z<>jZ4wZ7{?pPiXWl8PdDpyQ_O4Fu*F-IPBYY>gy$7rOxBhJI4kNc@Kn*|nR$$FceP z`9(d|d}(J_;`9k?xnMH#EXiLZ%F~FO`@DNO+s1DH<=WR<*U&41-)R}>TP@{%XshQu z*=K50muMHsSX4G$-Bkn7C)qd(E7`x7Y24+*<&skTXkW=`-)3o*a8%}h1uq2|D2U8K zxtsha7VSTjd?V51JE9st#}Acju7*auWkks$j7ds z)op_Yg%s?Hd`{0Y4wu4yFJ`wc^3(Dkc)V_%F2T`N5Z9S4a(muB(Y($#3=;w`XMC6n zD7@BzO$(DTxm_k$nO45u#UtUe$@o@FRi7K2lI4xC8AF+pBQ6W=VF=Jy_S7d7#ws9G zQP!5Ne^>3U3@BG~U+BCP`qC=cU*=%Ml&GvFG&4w59bKWbli8={K_^Tp%*a!;CwBG# zGtu+N{3)Y2K^T@j?a4+8VX8{%>BpgSu78zt{=m6+@bo_S*?o7Ji2wk>LCu2-r0d%R z4^KoTx#(JRsS|np2fnuly^ZTA^OjX=dGdBq8$sD@8{BplfFwdGR<|Hz$bIf69b3l4 zo?a29Ft4YKCb$VXjHZ#VrhG#=p(UrYn~q5x$6}B=o?PT>HF!h62SQdJ+KdIWiAYJA zlmK>$NB6M>Vq?YGPTN-oCm@>&1&~xipY0uN%3t&+;4rJt57h9BE`d(ZFyhi0Ohe3x z!yGIHGxVT(Ab4tIG7{y?dzgPjv#b;r-kyDNVL0CsA`mT5J5ei3BRkV%HigdPrcQ;y<#_b+8iqA#js}|8Xwf zpEvdECUVh^`@A7j3kr%3EIlgk(8wD95f-98QTvA589SND13lvT;`9P~%-X~S;1B~2 zkN%paviDTFL=Bg1)|;05C#Ci3JaAF6IVdQl^X`}^A#fH?@8{s0;OWA}p2^A>nXHdG zN^tQD8~&{`n=tocyYEf)rM8}4c}dBy>I>L0fZGqn3Hn6yIPxA0eZb`2a-HshstI&0 z0v>D&v|hu)GMw6A+cO71$`n%-yu7@COA5gVrH|O)h0?c6ShFBXNv!orfWf;jYHNik z>_AK)fQTaxUds9Dp<3!WcE0*2_15_gndA^THnGc9B;mz{{_s_tGGb+0{Q?4JOi$)3 zV~g}&V=WOP5sb%XOFqdD6=h3{eXr6F=9QFP718c!G6waEG}U#1eEAL7S0fOF{Y}9R z7JTPQ%4S zYszP3*tcGyrCd&8Up^}@zxq`{d5+TZTlsTim-vgA%wdGVBMfv=U=>A>n11Og7P?RO zW@V-<40h2)97SSELsw$X?c*j>sRNHWhq-mEd6S`>bCU@du_z=m(H3i%Me0*;+HnJ8 zd)#^;LuIq_Z~}^D4N{Sz7sHK})J)p|$3`y4AyZI`op6O1i&5WPpUzvFlykj9y zHdtF+D5f(W^s6UaAjMexchfcgOIFAEY!W|Py&3+izOIFHu6z<&v&O^Z(+i2Q+{pYe z?1BHc_y3O{(UG@(GhYr(^-=nJL=_oJf+lPD=j^CdD%K;hb2Hd_&?;a6oN_lz-jwFd zNQ;^JJ4ONTH8o*^-)*1l{3gp`gR>&j zOEdfimrV}EB^%Fm4Ds7O(lCE*SH@1RM4j}%ulS7Soj{Fd!D7|8tJBo2g!$HL8wX(t zk>*}SBue?PKlT)P{V?%ifIFfpybZ$5f`WoAWX=fw*wH%ug?mOyN8Y!|zmS-QlBks( ztc_sln0~u{-?L7S{Ayiuux*q8XpXpn@&Bsl@bgD^;e-s+*cubM-R5@}IIA~3KZ=i! zmzS3}A*{aoi4Fc`=u#gYtN$c2gBgV)(d`(ItIw-p9QpudI&>^{U!x?1nQC2upSxBd z&X+Y(z4V#RFgH2*pQ7!b&ww9bezs~%1oi5g3(S8fRsqXK6>cX8?0z1bL=VeVmECyh z@9)YNFaOcY+{u7m23!Lur1u*ZqTjXu=81dlUNv!(%PZpj^flDf;MkkaepsG0i;u2u zCRv2esqH+c+rZw#~jwg_&(CM_o? zCkF=yJNr=Y|Hs%{fJM1>VWSoXB1(&tf^;bj5`qHK4I*XGNOz-14G2%Z)Ih~>KNEh2Pl16u6OL*K@Xuf7M;3db{fey?-b zms{H&r2+NL;~J@^h7cLCV`a}lmwuW-gSX#?W{N#0z$wL-Q8e6}VMLu07jOhr)Z;=KQJq zg2Thg*roWT5q$s^oajW$^9&z|Pdv5YJRT)*y5QA?;goDih`4TDtDQZ$xWT@XW)j)) z{^ZtU$A1i3`5YJnac-X$|KSG}w~o@{KuLT5CH0u_Yz11wAGi&sc28b&Ny!{Guok0@ z1O^vCh(l$kw4~&*ZYS*XvTy(jVflG^zSU>GR#WpGTU7l2Vk3FP-XVWUWloA6D$JwX z;q(t3BK=W;`hqkn^qK_FO)gD#wuFa;J%qnT@8ab($o-&qehU*N@VftglT#@Gkv6QM zPc%=0>6L6t{x#tdqVA?zeXWDwuaErx&;3i0QwG0mHo1^I-2+K~et-l`Jp1?M5t0Gf z=k1@5#^0^8Lng90Y4Ix&`}YHqDU{F*2y;H;16)c^qd_>pzwbfktbsuqg)gxOeQSIP zh3iwsJl8vaceHhySLq{rlEaOURygR_6^Cmo`gU%>VDdDaA$?l60r3_d9WCvD9=( zjlv(V^5+2eGn8wfOVdhg!80{&a(%2^NZ9;0ZuR>U)G7*qTrqv9Nui&jF+4;mX?m zb|=CiHOodN2FGKuTO*AYMJzi)lcRR-qm^4L$D#M4?%g^v;Exjj)Kj8xS-auS$pSm+ zv}TFJ*IN;kJ7*3@{0>f}@GyOxPv}UovWLb;D#g=ZK$U{r0!N4(UE_U~8YUN)}=-)46k`S_b1>{|5C?aau z0MywdrlHDySBbu~|G9c>pwZO>jV?kZp#{G~Z_G;q6?SHEy2febrvoxNJ6d%61EHfT znPVW~@0|D7H#}G#vhS6P*x6F281rcPSpi2U0Q%0yPgEAy`=l+KVobw&PcPbzuJ>nw zE%Mnq1sGi4B>rx2KmN4q`AuRE!L$2VbL+FD)DVJ9zL2|boT;m6o$PgZHD2K>wQg%hEEANslVk*Z;yWN{(PR{%q?Akri{ zAWU-DHyl!`kJ3~Yux#Y{8)wMW#$FK+N>2XqeZQ_kl8Id<;)ccoRH**tLFS)T!|mt- zB~`%A_kk;pZhGX}j#}sW>#yo|VV>3~dafb0qfRdT1MN z%Gro+V}9^^R^!hTk(@A_#`j;p_(`Mm#vPrJOGb4(S;=P@^w7ZjRF5O`nD~EGQ}DSz znxvUuOott64!bg_-wFp3-}zPs<9)GtT;Oz30`;|)1N&Em{pa`zHcXHC8{cJ0F1P&f z_}W*o(JS4hGX8>fGte7a39pN zX!o&xrRdp{2N^EGx1M&K!$A#`rAZ|;yv|KNGLh5hM7&EUJe zR1wMF=X9z_F$&h7MqhS!@jMN$GWlSk%XU#*;(+CUT#!b_6#5Kqyn>b5 zn2rEM{-gQhoZ0AYnb;(0t@r`WpR`T&y#DW{W;T1I(b9(pf(|+BiO2V<Wux&> z(Pti#PbyjOb8>PVGz2Y?Z+Hl#Wn@zHm?-J!=7Pn^gWb9np9${Hu}_P;1h0ag4k!(s zIeRuorUa*VQp?`NC}N0Z4CXYH2lgTkdZfp}gg0foT~YB^-?J)#Y)XubY6u z6N$(3i%j9Yyl*zTr1+6Exbm4EOffsp#@Zva4d8Eb0$X7m%rsCdQ`2Bm2!gbydA*Jz zY{>i>#&kip;`x5*Y}^6r8%66r%lOh^3u8_j;82Z?qQh_f{6O&M@+H#Es5;*xrpI5# z;Zxi$CqR*cOW8tCwvJV`TZ_lvMGr^=c?`XgvqkD0J4hAAahX1GaNvPEo@$7+L>K4t z0tT?1Gr%0PrOBPw*Ecs0SKUtzU=EY0s1B4ZKq9TaTRfhANg9;>P)V2l{D5$C1YgK+ z(in&7c8L0h9Jm`54}6`t7GRxNU-}XNMqA)^-tnP=w_rg z8)gu(YP%e5^%cJyc%D{&x!a&6$j9d!jCAk7H*2IQ5_dr9gBM>7as?S}Z_$(TMdoAL z!7;qFe2LAivqC3(apWV%UJBqGRSxb z6SRPB3RurbqqHnx1weH@ZIslBp9q7*zyypS=fDq`!e_y{jEsz+<XH%f9w)l?SMiClHCLS8gLz`x#Xaq8A=9VqsTC4P_p7shW|jD0VHr& z*4=JeV&2wH10x@-b{9J90aH9IW6im$J)u;=+$9!rtvll{dUIS>*7&KszgT?fuR#tAvb_Nc+|$Vi%W6moW!=mzY{ zsUvihqn-u=JwVvo8FkJ9Os`Y$U@1?p)d2}lAU=)nUN!Ur0N&Hi)0F@+g%1{S-G*p< zGkVCNzMhJO#SCNw0RSAol++n{g1r%ca%fQZ<`O_UpjSGU`{F{Ua<1U4AzWb5>hU!*UalwA*nwOL9kzgaDqsinteQ_Xw-kD z{*os;LKd#xNWDI9gVDj|88tuxzeDok>3Gd6$&?@U^^*ez@thyVQe{YtTtNU1w0cQc zj0f^kD7lSBEM}U5sT>)kbV02PddwW?i*R`OLsLemI28W=9=O8!IX;V%9nV!L2nTVD@#j9a7K=VbL>t)`a_!u zC~!7>^O>M%HYyy10Q9Y)!PnXk1SC*Q-wiOkK{*oa2zIr11ov0K@0xn&$3;@8$n5Oj zVivi^JMPb?jX5oT4hzFa3Dy_lu}j1c!o)p$X(j_Hzr$LWI7KX*9;TX#R2po^iDoV< zBzu>*0t2i;%0tjIsdDp&lw=AU2Zv4VYYcB{QBc95Qt>p7^cOr^$*fU?1-wv~?Wn^p zFP?$X0;AB#bnx65O(cxTU}e%ST4X#H3CFk5{Qc=5SR9ySuj+3Lc_QhHR*DfWT15>} z;xj>&cY)!EO6kx|1+bnr-sL%u0dR$Xhz`RnNs!<^-AT=imi7E94K1zv&WJsK{0uC? zLFjVFa7Q7z}}P;M=!kyjD{nsbOTgFP$qJFL(qi z8bJga5$>jWbbNeHpw0tEY(7|!p_tLu(t<2a=zJ6s5~APnA<7*z6&rwy3H!l6u5_}E z!`PR8<>Kl(+ZIJ7D=_A~DuAMS(AsT)N%gkomaLJYqN1Vcen1q6qJolcJTD(#M>OXm zd{0Vyd!k|nP#URdfTN=_j!9%iQ1ZxS7)+)VOa-7R5KYFua;4Xh157>#!li@5F2wmQ z69jD;4Btav2lQ=ZV)kRgir6RKp-7D=VAi>DQOqd?@&V9YC=GNyK#cNL?^$X^ zZWG9td?j5z0cwhb)dzX#hfc7p(z{KaciKivxXZ2d&FL_u#$f_t*eORO-tl8A_prC4 zYw^QyrJp%E?#G9YMgwt`E-0@F3cIDTYMtn7I+{XzQ+Oy*wd!=x%L)?M zj@fdZ^4sgKg~TNzYArq2SuAknG_3<=TM%*zz_h@>*sZA_8AGC*FX640j;?R z%om#U`*2Vr>wRe)WrlE23AeJ!>t~mdiNEU;8rlsiYq0w@1a_%;?hQR%UEiEHke@^J z+20;AZy&P&5hI}AU%Ytndne9pD8%X*HoX>*0BlfNLnkBEb6^zstB1hU285oQ9-$1> zA@G*Ir=+u45kXj}Yw>RT8INl%j=>BK+9Gdp-Sta@iCG92oF78t;#MG>T)$4o_Z75& z20%1V)C@N>(x~Lg#!S1YPuTgGo_mmZ?B>A}pUx{Vg{6b0lM8N*0%aMo`8i5Z37EgI zK{wH7<$g+>#E6K95m(OS&M=dB`qvj9lP2$`6SUXOj;QIlqLt($w4LUwPmXfJtd%zX z=6opJc%IdrBO)R?YAYz<=(-CguOH%=tjqv0J)NTSu^j(*NOH6q>}MfW(6k|`_qm3P zhu4_wyApd64hnvP=A-;w16U`5N}I)ydCab6gVAt>sTtL!pAq%DEU(P(^{Z$Z*wmUF zHIm;;I|mj6BZI@|u6AM;D(J8tIhm0b z=L8`UlAr5Qeu7E~G&0c@z)=V15Cww+4r-P*HXjG(*}a0ZUDhsmZ4z(zRRR&8iI-Qs zqCWC)nG=!FYb+Pb*9)?HAPnRLC_IGanU|av<28^+)V8-Xv#}|*VXVgF_t#J}}%&4$Tt?$>?>$q4oI* zCq3gMmsbSr5IwS*DsR&WI!R};Z7mI0L(~)$6a+_h49g)K76ODmA{`e{HVgE*O0m+N z)(L-YvBIyOPU`$_z?1|=g|vhUY-!~=zw1{TS4bHh0R4Ub9IOcns>uyA*cbq&24OZ~ z9!7A`EO*ME_yRH&wnETu0x4int^-k^tFN1!JKP43NbHSN37t=)zk5XU%N z$QvI#O76fH+w=iLhdSs8NcS*;anETp9UZ31BB`8?Vb%k#pU=1_9VAGPXvoRQA(Oz* zNsf%X-X#PA_SuRVa4SH1hX<8(O+g0sLp30VF{W3RiI+Stk5e<o8Fy?F{eAP772mp1l$SK_^@RKq$5Y`t*ri4(R5F?AZ8M+E{F$`60_+x zL4Eyk?=m6Nbs@Jyu)8PQK*sq1JWNo{15s`loVZPuy>ArmAMU>R3MU1({Gj9BYNY1l zk$9=-71$=+=Gj)1L7Wj}QWvFP#+*z&tf+K>lqZQ1f~E-sMnyGryBSz&52*s67>Be* zjvw`AVvGH|!OLC)Py}y?Yixk5Y8l0k5Pab!I5{z)0Or|c1MU!)Ru-E1gjbFibE*+O zKUHSNg2!m%Of1>f;KKY_lx@y@gZUSb+cvN~z9}o*Xw497T?L6T*suoJKE$3rsIEa? zzFr_EOb>^aT$I)V=0!x7WIhZaDv9mbyY8Z=e4I)y_I^?G-S_|w#XoccG>9O4g#M7v z_;FSu>NWD-E?A9h9Dg$&5FvGI5>AO$*}Ro>GhX#p_tu4;*`+|Ryz zG1N70l7w;#^PsmLWa;9a7BbEd`I&dER%~>Dg)c5FI88MLfB!E3Bt(!ZOAv$u0q9UB zB8mX^LQKHe+5Lb9$X4N&hj|;}01v!sZzcvb$HNwRYQBsKZcK&BVS^GJl!+iDJ^^_= zzSNCZR8&;x?Mt9%OE|Vt@Z@uKwL6qnu(l62yXC4O>kH@+SODcy}@gZLi5ef{Gc+$=1}=)Ug82c938p_i$H- zXsWg6LBR|dI*kno0>(`>73w5Zqshj}K>5`gn#IGQNyoT=)ReQ5ug)-QY~u!}yu`mI zDr$LjRaCgq@wE?T$$gN55XG-}ATa%K?cu~V?v_#PA}nFmtcw_Yb8QaC)l){@w8{5m zLbs2S!f31cn?w0KX^ljxj$A9#f>{|YcVXF}b?xA4jf>-=qsstff>t%R(T|T%RW=G; zifo^ujdMtXj7#(=@7Q%`qz?uOEV&z9`v`IUA~>LbNX%z52NNye&{&EdJ!+B;HxOH@ z2a$LGw^dL-0TOVVUH9v(|1x;b5?KWII&h5Ez=YFvY;Y`{Aa=k2=PhkH0KHmf`5<$l z%nG^f$0^FDHHq|^0~(W%^Y%+iIw;hNAT5N^L94M4n66WP`Mfhu09N7_&mw#|pe-BM zf%%j8=!u!x3Y5*7y(F1X5mZAKhZMdGqc_1+;#Og>Q{Bs`<^xK~#XJf`l7p<)_+8EJ z%l;!X$#$zzlmyu2Dz-N*CVIsRT-ue=M=vtKVvis|&l8DiF;G)acgqP8MD#9hffsp3 zcT9wpX{j$w6Y8*$W2f!}%e4E)4<2LPuQ4NLai-OPQ z(d>u8BLrjiwV*t}8OygVB>)SAeEFpNX$z2og-*zFPQ(>S?Kk5co)Uc8PMO04o8jFgD^oR zv_D71_CVhSS4go@BYzB%;KRKQWOkwH&^AQ&G7u$mtg_;@Tj~c=RwE8Ex0$BGBJ8=I z0T+;+JoyZgwC6(px3hATTV-7FIV>64_bG2b_ovJrEtWjD8)IIDa~Z9aU%M4Gm~EW5xEB{Z=lul;J;RQ(v4WipRY%())KV(|x`AT6 zTZVtzITig)r=u4^0$gD3AP|p^NJrJD-VsyesOIObluTl)y<{n0%7dD9461cCZO3U} z94g=@)V`u(&vxL4wQV|B06e+GZ_+(C*+tbWoeF*5_8PlF(ytZoxCAKzAZmccK*T!& zK~7i;ZPH!3Vgz`2c)+fSGlfg;&QfDV;YpIoNlH3FZ3$K6#-K^gh|5MhM7U$H8D2ZV zWynksO0csKq)^#q3k;T#Xw(>r{1X82pj@yyYB3iPdA(Z&v^2;PopgfQ^*0Vol?)Uw zUA@}JE3~3`LXq5X(sGSej|k+1+c1$ALOaw;_@CBzBt0L_RAI~$*3aZ(hv;<-2SkTG z$cW%F?}B`I+dEMU>r60H!X&bS$!~64tMr;NBDjM(`N#uG1TTCE|Ppn?mdm-!6=P zSRq2lU6mds3MuHB*E96gbWG!G4*3%!{9dsty#u|sxxREAL6QdSBj(ZUkEyBe*C|i- zI^979urB5_ba|p6oHBmHXuMZ|Mv4GWgM0amJ0$96b3n6hH01oSdQEd5$2rbKxgSna zkg~EV-QbEb1?&$^(z%Q?Zac@wa^tqXWPJV@+BhAK1SYTryg9L5{Qe4*a5%{ zp5@lvyLUlAHNnHPE&WNc+2_8+#yarc;B>N2Za#*j@n~mk3{o7}9z?!IAqj$!xlQ!l z7v2u_C4i$r1Vlu5fgAi%Ci47w(k>u?D;vqI?l>1V0oihyOZ4%^BBmr?o!)K7Lm{Vt z1Vg_t+~40{Qo@sa2O!hu*&kud{Nd|1Hff!zQdKdPyMm zf_5ZKZr`?>R{|g!a-=?T1!Fg+e8aEv~lU);C%t9Mrvt%7zT(811h0H+at|Ln-C(P~L*GqPk zG@2r^DB+e!bd(G?=wnVKS5P?)5A@D;l8p;2t0rriSF32q)aMa+3hql9>47`Kt%}=U} zK(lIOtY^$FL1t!UTfIFvOwm0Fxjhfr7(Vaa>sXNTqmyR{guOcazHi^!x;ALwz{t1p z8F+{B$KxJjLH7d+U79;l#GvpBsWPmY5*T^6T-D51dPmHr)DmArDFm1(x^#z1f_~gW zbY%?uBiNuT6h#M2<8*F>xp~>D0WeJusi0Z~8;-cRi#eqC=u}`)!?MW?pnGu&SLI>Z zAn^u(UeOg}Qnvh?Ww21v=g{<}mNbs5Tiu+tZm$vE2pezC*4PPqeNM?yx!V?Q%a= z*v$Wcl-SV3m8Enl1VkdgAa|sO*I~dCmI|aHw%~F|4cYLNqi}M98?tCnE7BF>8jyTK zQWYH>EUe!otq#l45CRw)QTd*DR!)WmogzYvJb#sZDc`Xj>a0(yCQt)Bd|%P2@~zS2 zdi9}G%%c%A+P<^sX>;&s1g}28`bWEJ7=_L5{c8y=E@*B4%zgQsI;nzNY6n%Y05;A4X}`pv(&-7uZK9%bM0#dP#Is9l-q?yBl6b zihhLwiv|%@RYLe@niG`_CjY0tHJY})DpbRM1~I$44zbpl&ut$r^I*prC_}Ql!#j$e zG$-ThU)~0A{L4mj00R}(BvhXP{{AFvy1qN5zjK1;uf~M7GXTj(raV=cMO%{#)E^}# z509P}0?iQK*wPjP){*lXSSmP5w2mm`06RgKYG24}T0`yx+c2H%RG*AErxLm!v9tiX z*RYc`qc_2=-6XA|CpKITtsDEUBvEAPB5d3NU4nxw;jQyg85M1FTl?^g_W7kM3J9G? z3xyK-V0atu;b+0`6`eBRg_@gNFGuzUUu?sZblhnX%ybUxyHG^ocN2))|~>gNAV8<45*m!CTXaHAnLY0C9zHL2FQ~;Od?<+y(}F- z_*WEn>39(kZ3M6!)VVic@1WTOQuV6kqM?QjIb-7m0ILQR^9^AU@L$=LOuFS$MHJw%>h`4y|g~LHO<}v&Uu3`&U0aYaxG6N3~;XA4{iQ<{Jjt1 z>pM4ES-!LN0oEa~jFBitu31Y}I1ku)Lf||#ZG3zw;=#PDZ!5Z~;^^pz#%WofR;)Hb zFGdg|SyR&^5fS|}QN+nzJbEo*+@lT;6!1~WYfvs`oL9OK9M#e)4f_*YyFsB;^qiP$?Y!j*8Vf`1gJXbwDb<2W zzM~V8M?2~WiET->j5_wHWQHw<~H9pPANkc3v0|4@QlVC z60?$9^z_Yh{?*54FZb5yMQHtm1`Nn5RHD9;ENor^sySL(1L~(m^fMX}sFpt}oQm(o#H7{@^LLhZj? z84e%>%+o3{Y1)t27LPh*EmARBR>Zk(t7r8tI=||B zc`n{{djJam2LETlSC${{Kc{8VERhEUAg7Xxh9*_ygp;aOaLmgu;%DN4WK5f~u|7Jv z0R#0XVR9R-JlY;2UtM{yxy+AVsJ>)uknREG?|!^DtEOcezMn6*+<G|R=zYzo~70;4I~ zQ8rc(@qkK_atgAjzBuYpRe#!7fVcRHzqQLOg;^SeC8}PeVi4ylWnYOyFq16H<1Yzt ze+P;0q0_zkN(n?N8AiJjBEd~Ni_zgA_#|g>9M*-rG7E-L3>!0$KY$3)tMii>nx9#4H%K1*0 zJ5U3{JO+K?)+K7g<+17$SavwI*M#EG1LRO(kU|m+^-_eUl^;_pG76c7wyaW1-yXdb)Moc^a z^&5JfYxc(4kIv^3_&2ga6A&5}u*KQKibt@w$|na}*n%k;Iu1~{EsnDH`jgy&o`7XA zWUgpiL$0O3#&7^ugFPWz0F@BXZ;M1{`GA4-X*(}N->y;gcs-)J0;))hyE*=|tpK=PW%oVpiaS;FsWBm;p^SOX(Dk1I0Jq8c z@DgobGk`|su(7SKciY^DlpjcXM%c~|Es$Uwi%taX+*;o=!+X9aZFK>Y!fZ5xg&;LVN!lY<1(Jr+_1z<|mv zC&f_5#b8ayTt^gA6t%Q`_tFR7TJR$UZ>_+R8|+cW4@t@T5=!b|gQbNJjSryHjmtd_ zW(<^!oQpLOQJJbB7#H_a&O&$$rIkB|(=E^d+)57c$E_x+Am4gs?KL$12)!y~Ftu3> z7_nKngM}s90oHW!r@X|%xI9R?eu%Lxt74$mkKLj=jO&rL!oVIa2F!|uYUf~{IgB)0J^ZNsc*rwkTUhRKHt0Tc%j*xd})rPIF zv6hbrLbC>qKL8pCRbh35gzgMf;&6Y)h?pJ&@upRKeI8ms=vozE5GUx1phK7J0+kuW zF+gi@oO>rJ0n9@00|66Z_rNI>$vziCx4L0t6ev5nUCs2sHv`IW?b{r9gB-P-QCsl) zu+{<3FdwZLD7Ol_-4p0=^79ys4!-^#z#Zi)Ws8`!mN|{yaD!;sl8=@RAa{PC|C*g0$`5PE zo6);XLe!$=E7g{)oCu4HlRZ=EX9%}PCN}@)JrXqd>0o{U%el~~TWm^x_S3aNSZ|OO zE{s^KHr#|gp{Ynj3PKk@7Cl2WWjZi2*YP^6jYHsqXr@S3{NytPmT-p=N^&CdKAKT8 zxoD1g$o(K!E-F!h+ttnMe$NEDTHuGHO74-u(Ehcj9CGv*=yQ!2O^FDi)6Ov^3_jap znzgqSG3d-0mB%mdaMZ88(P3SAOc(7xoAa6Rdh4TVc~iTm&|)oqIgu>*j`&^FHJ8F$ z5|DG60)7i%5A;>xbV5L^P`_pa>#+6d9oQA&6R`4Cv$oKg4$!Bfg#Cbd0lxPd0f8-G zFldb5>99lmDH~O*71X_rR4Y*7KsFECe6YA30lNx{&p24I5D@LkwE`+&r9m~K0TX>- z6fWBCuz48N8ED2AWQ#~vFaHOSVz+{N7s997Ay*+I#~6*}nngAR^k0j*#SY8$jix?q zywxB@lY7a((F%fc&Eam=c8&o=xDg1-P!NE-QvFe`mE48i{s~G0%O=2i(JTyHR!VYw zNWEdBxuH_)G<)ZpaR#SO0e?W~0#Qze(>CciAB-H8m2e#~%zsTI9lWMgo;~$(l<1pC zt&XiQ?es}a&Zt@G*Q!q9*jzX$o6Z-4LE6t-X0|-_#bHM9kP|-Y#naPcy zT;xdM;E>CB-OmtrdBu;q4C2{8FOPQ$-|vZ}WsH6=CEUGOaowu+b&(@xIrZA5?Y3;L z+CLwIKhFtyoyRA**$v92f3b|^g;zpN>AdQzNR(#C)SIfMbvG;T@9cc zzi4RI%<|{gfKz=#-i0IKJNRTucu(2RmR#v;iJsc6zmI(_ao6lV6wR249#jbfy#&D^ z2LA6$(_R3XpxX-SxalG z7_eQ8L&j>^DMWEp1f5ifsUO;sMV*430)-k=hBqTduL7xPM@kZ>didK!($K` z@(`I#K8-O=LLhQld^)v{xx6g1dBq^!b*eKf^doB3)O0xUTSw>d(SZL>rhO+qj_uCS z;-rTC5pw#1`{8E%D3P(y?o1b}`vqw_LgqCdvX=Cah;b!^r4g>A{BDI59eVYFswtww*{ReVh`J1C~;yf&#w9IgWA! z?)t!6U@n;{_`_*TQ>puQWr{ut#`%aD^k!;A5N`4`3g}Y^kBx%)@O&b;7n!Gb#PB31?tp>&oC);M?{oHg*IjXt@TKXx ziP?7WXPxr%G84gK*36A&tz{OfWOu#$GW$M_l!p3Pvv=DDvK?Sa$-aLq>$YY1eO3dxEEt^i>=x6mM$x$*T*@NoofJ&yY z9o6Dj9lOcO5GIPp<;bPnv)PuR*5|Ps&5DOUA$4tz-rO78&o&GFIqx3lSwehS zHH)W{l=wwvKNjh~CVR@`6ku;po0eX;v}J2d2WR<9`i|y&X^K=}WiqpnnC%e?%u!z} z7%{et)w|<8|CXk&xv9iE*mkl}M7dH7*~-b%?3B#=`ptg_yq})nC|M(4GqJP8Fc{#Z zOzvd{J16Us^O`=}SUGFWn)>;}U6!q&$wBLlJa*>Nf$UKFZ&z0i^o<57Xzkol@%iFA zS$fxIraQ75W58@W_}TsIz?7bn*}X#N{2e|x3Nx=d(vpODsAe|& zjp#$-cANqCxP1AVzg*0%+9P(ep!4{Hjy&T;_!hf&%X;sW+u}YM<(myXA7R65Z8P>w zE>O@O`L46qiZyjs_ank9a+gL>&DZQ5U9(k3qw*89uIE3m`)k(Hl?q?R^G{>soA1W9 zv8<`t+4i!OqfA*Ut&fYZu*_R6`EZ^%u4N`=a-TEN?x@{jY^7HOCEj8O=K zZ&M$2=-iGz1oUisnrDxEG5RrTN)+PW9T(oeg<$+DT{QG5YgQoKa(l;WETW-7e||oL z-1EF=BGloKYZVT>1Wr&&X&j^#XgMX=s_ovrq35|_B~?tVz|#V9?X@A?7`o{$tePt? z7^%&u`O2`Po-snw@Qyf;=6Cu4iCw)aAk(+lNo63#6JcbB8T{|3PstnImRLWqrMb;v z%}h&65#(#~M1oszarja`uZWf6s{f0`@tm@R(Djq9QdKKAdl&2Dt|iYpuh%N;5w_&< zmQsKYDGSCF8rEy4C)B-TSV_YV(mhCDUb~^jI(ax*lwc_9e5iom?j1|pBm6BRAOw@u z#n^2xK|@E~3^QnWe?sVI^~P&X*1jFG;vxKU0U?Pze&eqf$b3fKP{Z>l0z%uxWMjM? zAs-t$T+N(N_3(tN&GwO#wBi~YRxOqB2b=TpVK!|q*790e7KcmooxY))dceZO9a9*# zsJ{Z>-*aAidLy8ZQk$t&oCUZz!J(D*J;?uAfC|Zv;lWeGcZw8|s<^n(p~OWZ`f!UT z3`5Xa@UNTo(hKe(TYVR_P-zO-^7UGs1nnV`lUEa2_{Mt*IAdGH4p+HqX~wvP+e|89 zoBC#Gai78<^>U@{!H}>zq5Ck;&2X7nnc>)@hlQ>;d7UoXXz0t6t`MdjVs^)teV7ZM z**{!x-s!13dRpv$cXq;a@t8=R`}rO#fbkZRmw|LY>qCIQ#h zkNL|!k|p$cqHje2Z{(TE^t>C z=qPK}2jo|u6g;2!Cik|=VZ}!8MWUfr_E1efth~z~`_RV4RU?SIttXaAcg`&tn4A&5!%mLV2(vCVGW5nm5kk$Nqnv!P5>bW@Q*UKoBxC7RxK( zH}~P6=gX1BPygVeSfdc^lSK1LFgndaulPKHg|c@NCXYuF{uaf#Q~xFor<<_QKd-si z@nNq91_BJyMttbaM1SW>c&91#FkP`rBxN|LJ}Gap^snUYRBhV66Z^-AHh2!{Ko#U1mc{wLAwA&^xWzbkzfkqK``lns0 z$)~+c!p`HLo@E-fxbuZol1K|`J1+nN^6=!HE?sJG{&gpR-%oS`eP93Dlc;Afh;Z!` zA}JJ;(C|LaIa2WlA(5|=Z3cS(&L;13D(*^fU!ltkoQih$BxFcw``nT5h!FWZo4qBD z`cQWN-lyc#qBlzs+#fEZucRfLF_k>uO#biru!{m52^TT<+Ld}RFnJI%FQ0u5=E_h; z@2URhCGrjl*Am2stt@D|fj=vO$s^hHS$1}S-K&M_&u1V9nWN79ygX?$;E3{p}*k_tH-rr8>$$q~9|fXjV5sFVG5WpiR=R_;jh<9|oIxz^KJ zK^ljjd&m zrt{{T7cALs%|!^Zi9Q_o{2uQfH~C0a*|Q-j4V}9p0a$K^?{BqL94`|iMpi5{XtZ)F z9Dn{ucX}JTZRYQ1j;oS`llb3l^T3BjpI>&91o9q$`CA^v2zO=LUq)yJO_h`s8i`O?3V+W-Q z7X+5R5})8i98Dj{RmC0@59u5QoB^i9pI16=M`tlX#uqssle{aU3Z$ZE@y*XEqR>Va zH8O?sbcYSQ-I0^NV)=X^!q5D9d%L#4s)X8>_q)*Gvc(P2=fn6o0~H7NmqiD!61#S{ zQRCdTwRhWI4QF3zE{zn6`|~wWh_#f+sk}S!D^~3HcrAecc(h&V_D&}Dlk}3LMeTTK z?5Bt=zm3frmAdE3#+E&?dckd-XK^Z9X5Jv=1)fH)d9Ol=}Y_j3x7dyG-z4fzpe?2DU zyIY>-2DbOzj=UEsL>Y8OygPUYzV4Rq2a)$CZxTruk}_6#W6$4yU%bMz-f^&4y=P`F zbMMBAjN-?-XU*0aWEiA;(P?1{8!Mi5lrKJ&4v5Nh{pBdq84y`oh<%yh4^#+~A8+$I zs)GA@w)c#B((hXhSeR(F@8~M zJe^pB4SdtB^V1|=aC%~uUrK7JW0g*Ls`P8S?XtXF|63xbgdd_D*-k>uQv$Bgi3Kg7 z7Fth;$jDa4hIo#%k8>(r#0!P+_23LMyO@>n8_S*QH#Da%H2yzJm8HMNlP{7F&d`VC zJ4znY@32eGzgG~@cHTQdsNdpbw(eUQL+}-=cb{*M{>i#9+?DL)yNVb8MDg?0N5s)- z>BeTKeZ*b8lYW({bpNLUW&i@ipVzgAq>aSJ)80s?u_jhh`LNf>E26=YT2)=;;#qzA z2ic{Egjzzo+H$O+*__*) z-E6-tWmJu4KKPm6+ZS156Baq0@Av`yioy`hZbsX(-@@&J!&VX<&gGvcZC$SZ2*mRc+D=*x`IRc+gqhFkx03dGAVNxV#HIc!PwN?FQ}P~tw$Sh61uJ1Q`; zHk~}Xbh%=v+9rZ0aDs7g6mSX=hnP9ks=gdPeVFV%ByVZdf&FSZR+E+Hq`ASI>~veX zSb|5hU1_*1eJY-ops!I(r(9OEUDE7|NnA)oj8fHQu4ra7N{v*W+aW;HU#k%fl3 zB}x-7bY~5i%j}Dp6BZ7>W0lYL3_9y zIOw1cp6dqU7k-P2Tl+9j3d|UZmy7}em0@@V=f=Hr!*Pp6&{;Jas{NDBLj48lEV_^o z4{duFW&95E?8Efkpw3p>TZvI7yu5o34>h|b%TVgGvXSjLA)!t>A1*5%$JdodxIgKV zKA+efmzcpq*UyZRHE**##NjgaDywiv3vR-Lpd+cnIT+#Oj;WVJF< z!M;_%Vq>XTZXgeR>v_xWhOE49_c$Uoo&+7*<*j&0!D8zjKV!l#uOCctYQ8*WqIudU zXNKM@XCzB!BW#_(f&*^Z=Nu+(@!rw0-BqYbjoMqobt`uwWYr$8Q8wp&;x6f6i=ryi zc2@h`fBu`>>;b1cQi>??V+9K*F63&2-@DWk4eX zsJ2qWW&nMg1G@%@Pc|#Vyg=*(I#Eh#;pq}6SQ?-%_%ld8vPnwhQ|YiuthN&vYu*ByYfj2hm9SfAEeesZ^W<5=o_fvS2DGRC=W+S zeoD9RvEjLqF-ICtFl4{7zkH0UZ_^K5+_$!7W~|;VWy6-K=}y_;Jn}Abl)SW)t6wPJ z)nibS$!(MEwV+n1U}h;ZStevbym23IZc0Nquc!oanhH}kBW~clx-w8hU z#u~OLJhs9opP%32+S0->EqcbfzF(3T zPU}CrN1x!Yf*Gy=3QvF<>btN?0T}n7q>o2(9oy*?^YsvR9NXfT|$pw@o)wd`)O}bLWrhaA_ zAj%S=-aNR}mi(>Hu3*yGRzjFsdE#{v?=nhUfy4f*qX?PJhZc122mAT2-jDjKfEmXP zX#csQNBDHYACJKj*Vlh<U=OfN*z+^6>y(^3@Wd2$+kVyn)(@vUmdx@=K;l~u@t7URMx zT?5W^oyE1dy}^8>2EXo|>n&+4o(OtJkt2)pdJ+SZe8@pjZCSYp*n zeC6%$VoI!{|87cbvvqF%i;TQ zV$Lgc)?St@;bUs4Ojt_9RvyzqR)I(eb)~29y~y`*DRkTNf;UHdNuoDe@)oCVywh5K zjl?n1a@;@u6QbeIYouYXSF?+-r>hzCI!7l5PfPri3K?6#yxpu&H_`Q0Z?!7a%!}?; zW3pg&}A6>tJ6)*Fwq| z!E)gP=bd=0E~-SMkfiP&<3}r#dQa15nwg3U z|GY}aC;B72dRzpT>*b(3aw;lSW+CeV**%UfiI^jY*2d2!(bv<+)DOGP&yKtkS>xIL z?1*TQucXRSUo(qC@*aH6yGs5uPTKG&(%rmsqg%|@aH!vQy)>$IhvLx;nsN2#B`+o^ z+~{c{oUhCh@-b9b{r#ptVUDZa!smr?g32dE@BMaX?HK#87H9Yzky8V%2XayMCSJp* z*UUHYRSKEMEmorxOUAW(6SZ_uW#`K&ocDYe7rz(f+JyworCY=Sp7HN1WtJhWDgI48 zZ#uTJ1MX#s_qyt=oeuNWR5{CCh1S-0!y@JF`&DAAkKE$p%_>6rOIA1^l$VLExEj7n zHhdWJ@m;h>{c5|CvK40sl+;f3%!K4=%XTr}ra!A@*{g_`4lE-iejVk5NGuT0O7jxq15%y)vTsdd3rQ)hFnHskGO;sDs`mp)L@XIO4#s2!b z8}}{SpC!a?K1shWet`gzj5{}WR_^f{&T$lagCktZVjY`^xDr6#YYo@hJ1y$pCmpw5 zrSMYLe9goLKHovnpYG0vuZ~&IW`qiAccd{^I)i)43rzt$BJnLk5;DnY? zv72qR^kmBtZ-&=jR5}m36S}EmYb6;NX`1x}WmMh^(LaB1$z7Uyiy5NvS7v@uPg2j8 z)RIGCeyljTF~p>~wQ$IkwPF+1f6wP|?6a$Q(867tM`=N7OS?1Wm3oyw8ouTtk(JH` zxImIQTHinHR8(TcUK*orBQ@jjns0qvlY4UC%E`$te8~=-*v?#pMKY~60*KNedT+Ep zFAw=(owCH^LV@I;gV1!ZW*kEQSwDBz9M;uGgq^z{ zKo=@mX9A%&`B2=e*t{>@_cDX3f8&d_7D3bcy0#FegGq1RY#|z&*Z;`&|N6T77|Mf7 zBnyQXPCi{!vB6_3L@%u6kOk;3T1W`#Wd#!}f7bbnEu{J#3DAl*o^Y<@TzP?&x z8?IWN0Nl~1W0w$GX_pO8i$jrr$V2qV)-VytFlr%F9qca2p50FnBk&lL2Tb6EYua^I zA>8J_i#Qb~<~D|(!X{**3f4pMMu5epL-EorW@g4366VJiLMmUzznKzeNjR%K*l zDof1jt45rI=C{1pe4jW~YPZC{c`)%8vUf_JQnX8D=Hcm(5d4-k0asJvnz*;s>u_7nfJFldDCMJWjFfFcFcVZq1)Dj`JPeb%7llsXhQf7%H&vnfXhLl)3RVwf0d!8$CL@>O$ z%)_xooV{=*)}%K1#-kA3gs z!sd5;G3ZNX#|#G+7rIzobrHUK8qBnIX8dKYw)I63MODw=Tqi#K&h#MC@o0#>Kqg4n z6O}2hZ(qH4I`@O)aofb(EJeBamqX^dE-_Njh_2Mz&T9<9IytHd;-CHx-MIfHWYcMY zm-y9W{$@*zaS~&OZ^YG)ev`NBNI|;3FYz5Q+Ze4Ddl5N6 zI?*Y?(_<#w5pqq-Le2c)|8L+e+u!CoTiMXt9R|B0dvoc5V-!gdzqoLlx4pI@G|}fG zgaZA{+2&pm9Un}!zh9D$+xTx;+nW2TAZ$ z*yrZ^_>E4sHs59R{KqOyKW_RUR`itt9k3a*yWD}#Ig zozDI5>xOYig-V5tX{K9zXMG^o)z}C-+;Dksj_-cz!#(Hv86Es`Eltgk|BJJ?jEZYp zqDDCpAUMH22@>300|W>V+}$lm<8FZf!5xCTyGtX%-QBHmr*Zu@=iYNqz8`PAH(vK( z5B@;+u3c-bsySy>O^T~z`@C*lvam5SYIRW3-7dTumj?a0y;E`(SS zyjT7$*Rn;G!v*V8WfCOkh;6-t467DruFH`2w(CETU4`{g=bHS{(bf_iUWd6+sz7vt zYaG!ZKv+hp(}*(BJo_^qC?r(ONfnos)zQ^HO(fQNb$)*E02kGDHhm~2v?C2@r(ab9 zehD#NJ+Xsg;;2n0eKl@gPS*}p1!U8)TKpJ6iB2S#*mwp*L-gN*P)2?v4906RY0@V1 zSF>DPZ5(|1_rbx-HM`X|ZUTbX0DJiXHuvJutk}kP({ea1H&$iWx6U_V?^?|Pfbhi< zu(?RQCN#24Wd<;v`RKBiQ-?7zp{R>ns%VhCR(y7}wg;2|u=eNa(AI-)H*z)pa>uSY z12_r0NB~~?30j)6syR?)Ur9_F;(ztOFW?=)0-W}{6INeM2{pnHgUZCik=(W)E{sFU*Yg>t>KvbU)CjaMi={t9Tkdb*rJpO2i`@*41!rJ-duoZIigazi< zyq0z95=~#A18`bUNK*HSx`5}|bY#g&`G1?GK7a1JYBKgP4~I*l(gL>rj~O-x&*V*(Lj2{xab(zDHYs+1( zzBk}ZC=cVt-}aooWq7-?HBOM~CBVyl3DBO?O&4Fy5dMhGVcN2QC%jUetl74Q9RH)c zVu0V-`CjY6caI-d7zl+;F|8?soG$#g8;D8Si>3@@L#}`2X6bqy`=A!FmE~WUCj#P( zBx8CrKtBU0A4mio22M$4;+!L&`GN4&>(qD z80LeTMdjV|;fo0HXaQm(cj?w7SxTFIvsMAj5$_zy{vfLTbO2r(t7vt9>MK;c+RoNl zE%<{I68aM07^(w+rS7RU<|Cke_5(@D0nIu+kQ~nOe1ps3eB{HOBjIRS^i@Na*u^Y> zgQtk>7u{PGUf^j*TRLCLz6sG~Sf!+$p#0_8;i0N>PKYN#B^tyNz02`~`wbl^1uE_< z*_h1Lcnpy2X*@Rho%TAeOG_QZY38f}pr_-e<87HLh+zf6zsvXC45tQ8?C2cF|8~WM%Gr_v%$`6g6?WtwhWzLRY z11)8dD4?qW#+S`*g=`#mP&L&1>UAA}om#nz`Zaq1)Wi|{ie^9;N) z^X|ZVFX*vc7PsB@y$E<$%PkBUpZgF}fGIZR?~JaC#DXtH5xoJvR^cnSVa7+wy?=qy zOe2T2Je3JoQSrQj*&TSi3Zq*%6kO&Ym7H@u%lLFsDR9U%!UT zSq!%(+2k}b0qPrtmEAY`7&-1$IL}`D{}tu@o=thVrs6OiHki~(O?A^mHE00?FQP14XswiDCZN-0IbL&nwkwB3YM3*Y*Z&O5>8EvdWe901mNR~zcdb?x@< z*Z_@PM((wx7h2kof@Ywc#PV8Hlk=`WK>MT*H7{AwY<7B3`aAC%)o>eMpdBLvg@o$s zw^USA;^N}^BMW~Q0mc|(tbd!Ddjj;#5-yRypS43_{})*JkKXE8$O3?%0P=6mDooD; zoRqqqGJD$bbs=FWGbk-LBW3M_=m6ERbpoG7HK@zjU#T5M$VT|ui10{9{;!JEs?DH2 zLw11sKrJ(3_OqNlA1LMPsh$x44tVbsIp78mhKmZ%LRT#^;Q9D*zwOSy zh1)H8zqm~081HHo{1;6UWs8dh7C@!>lzVr0Ooz7njjMq2i{^@_lamjU4+fW;>D3;` zV&<7@d=3lrAUi6K_x74i!J~^d0KM9^>c{gRNyzi{KeCYLE6|=29*}3yt&YxFUT)_u zGwR)=&4}tGHy@BdTM!TtXZDe?7Tp}dOZt67eZvPXE(6CczmD)%t|Z5&NVn^^_~F08 z0Q8=s!-FVett?fptFX#m9BC98kFh=zF0kTBOvjFv0p@J3X1i{+G3{LD-;)sL6*5@= zc$Qy~r_yC0!zYyri_Q{lMt78ekYpXil~07Dfi#%6UF!DEEJ&qVgg{B7`8}==HS%k_ zFFUM%<4kL_!K5Gr1Xwn<;s@inOUUmG1sVn%QQy;( zNKE3V|3!Z=-ny$h7rJ$BNd2xJUE9mDTog!=7qHD^Q+YyFW?;M9z<&C4>om{LXH70j zp72O*F|b{vghw3`YT?ba`=Pmv4sB8K=2dEkLAKOXn}$&;n?Ke!Zf8LA$BE+IWmgk6 z3n3H=&dziSs+=Q#Kpo!i(r3F!u27GR)EFcyTZ0Ia$q6g9kJa+iITepy;SxKw0f;Rl zp|>tjgAIzxG)0NtMlj-rS^qsyS(Ok(HE3Kjf5_eiX!FbkF;j-Dptvk}9p|vZPI%CqL6Dk!pLe^RG;oj8L5J6ZzMOFed^c zbLD1UD>U;Bu-pz7XAif+j|<)#&@1|sMAHCvORju7j~Hz=pJo7uLLIgpQn8W*oJ{$(?hj9cmyfE}n_!s# z9(IWF7Qct$DRnOonKDQkkLg_gaI~8a&OVm?;X81&0)zq8FJmoue>~2nq&(9iju(o@ z?@;%PN7)M+sYPp?jhH0QN4Cj01Kf-7CAzL*0q|~T&&VFcYb#H55cipJsM?Q(|=g! zRIcXy%t`IHi;QzJg-p9s2a7py$@l*3UeD%j@QAE7 zy^s8)R>{srr{FdXM(lPlovHVkAt5q)gmj1jNnwpI=n+a&Azq=^DpR&9_biJches8R z#j-X{%mzSW{GdDMRUb-QTx?^M@O&(EbUb2WJmWA%P6W>U)j!;3626iQpoY&wlJQss z#=`(r3Il*ko;qDHT(Mmp&Fv+Pq@LuzxH$+WN~$9qAAoK3Vm)3aBY%~c2RVK!T(BQy zm63D$LA#GE`b@)fwIIP}X){dxDYB7e`4UCDdm-Aq%m`}R-sd=)NCjjVkN4FCt!i91 zfP#Y8c#Lv+^nJ>*7NZp)_xQ*jHWikaYqWg#+r7DMHTiqTG09MXDikv|L!uV{>yQF3 zihMzs!g1;ivghaax5@7{YTcjX1>W>Op45BEae{ML-?48si_ZJSY&s(c^9>D`2PlX5 zt+!`HWqbB_sAPF2h9Cgq&8K;5F8a3^r+>QvK=geB_&k_cMhJ3iS<+SXGCf0K#+{|gd>eb& zyl_Z1sBnZ*` z*W$XEUG!EBBbDh!!6eI#54}9W(?HY8Q|~_(<|{h2lGXBrLq|Y@arrxALiyfl4?sQd z9Ug#e=2<1dcPHbY&>oV@2w3yjp8^nnnig_or!U|9wX6*wyFP`k!j@}Q4u@4)l4I>X z##OgXryIw6D}c}h$iwd(Hw|lE{jtitSINYqfStk*@L_8JKj~2GV6r(|01SuKdN#9i zU#xN5bID!A0fY&nS$!)LAWUpaQ*2(h{8uI3*w&PO7x+hc2-rR*t^ZZ`gtr!XQO(pX z90uuM;aaSeo&uS;Vmt;IqTEQ=h*}+d-(TI)Ux`CctV&wRC^=i8rmjZ)%z|A*-SslF%N#JBTZIsSk~cb*@NsC%B3A4M)f z8aT1{P@znBQr*9qZ@~p#a&GSXl-CC!AK6_2ae!OO7Io& z!Y1X+$&F2GmSMY#jfntuje7^Cv3-mc?v#zdvUIpP;`4(4glYXl78)atiYjSAxX*Nb zo0P^UU}vVTo?AuRJLM}z^++GwJ8w}7q?Rc7kLOo9&9h1h9X10}d{0crMcFG1igR)t zVoCbzQe*2yf~xjS%Y>WF(iZwfVJb_BmIypH{ZX#Boi_?%S$k~73)wZxs{2s{I;^aC z?)N>$MelY?fETwaXjuZ@j}MVaESJ3%N?b#q9bed#z?&HOr4~ zGt}=Sb=gEKIqhP;xMns5GiB*Cqhh1O ztH-1VXl7GjXVtqdIbGC6;Og6!&Vi3KJdUh(1`+`VzNbc!Y8ot1KTuPEkWg2NVYsNskZZrB$H*Bo}BU(06h3fjG6! zVj`|1+r)-YrZL;&9ZuDp;?wk(R)Z43&u6wNk4JaQoQ~FJ-mUZeR|Tz7o@dAV>W0a2 z-r5|m&xw_un3IL3Odys>3=A#5QfnW;)LIU@uV_@x8+NBln=w9Yhye|#=to)&b;#@8 z(!3)mtH!KdXZ)L>RQh^bfqb4R!gnjo(F%oGu;Ek<$wm#zU>Copo5J2K$>Tk!gQLu8 zgU2=2A6z61%&4HV?NwDtx=U;_?~C@X_{QYu#^AmZy`D}aN=&ILBy)7T=DITO8#oKpI|R-wMJ9sbu-+$J&RL+b)?78e5=(k zJemwgd3B79%c6~rtGCjp>*Wy9s_u?*rZN|Qj=H;?qmn+T-$&no$-&-jL%R3L!!+A3 z6YJ#>@dj%qtcaOZA9LanaZzL!QVkAjVE8b5%&o&TF4zwVB8qp>2z%_Mt7|PMr()As zo}F3#Sw%JzBdzQ4^Kv3qN@lRMWf675j}@hVcPikw!(ZD@0x7IVj*k)b`J_~M(jq=+ zXrq0Ph4uA_Wp6GWtNe0qGb{TunLXaS#3%=GOiZmkxI9^Hs`Z34`b>|mPJe+9(l2(A zd-Yw<(uTn2aJV(c7$z)nGdWO1s$RuP8suQJ5VRb@<^a=E6O~t;I>u29W_EG+G3cw@ zOk#hskJ;F4V#5ee)>C8p@^kR5a8T)-Trm@2b@F{0ZOeVDKG??c#gHzP^^p0+t*;?qQ(&({$dBeMR6jX?zba$Dz0m>9W`F7vK9yNJ}@? zQ7M`RAxu*H++%+C3?k0>PAi9(ow$(7J`#v`^vHc7E8j{&hsEddYYNB$lIPovT4J1LFL8pt6>b z?-GOF`K|MN6yy$DLXey)Z5-RaBj4lf)7*A<_YZ^>#377Uy-@xlm!}VRtemxOpTDdg zn?M~ew9xVs(5>O8yhvIs6n324C-&&u{+Zi9ZKyyyIobqR>2Diij%wiWFT!ch0~d#CqDAM9{oU&Xs6f6zzgH2zyc#XTy28_C``R_K?u)^{FTVeeeo9cN;&ZnC#$> zfq?1Ny62+P|Ghr(Y;=IrN@N|icXNEs1U(v;nTzv0C{d&!7b1DJwe8JQ-(ny1+cgL5 zY!RyLlDJd5&GJ#j>tUy`J2(>Qy@lVVtwphjm>M0v`w{S(t3_I37~(9nT)z{#*CIH9 zG;mswXGHGdfqLMg=|4Lnet>g6{q|Di( zqxtp%IXb%`g3}qIxmU308!+UaxthT@$zT(bevx_@7zDA$)qCN%LWD)V%zeEBlH6$11F#es^q(H)?+hp}(5S6_*kuQJA> z+R*oy+`llK{o*mVH#6Iu5g=5%nX^hm8W^LG&ilEOJ76 z=~$K2s#yEj=8t?uZ=HfIQWeBeA_ytCRQuNcjh%q+|4CyT@H5NyQx=tW?i)YH@h>Q? zH$y3Gx1(Y4+S;5`&>dtk^^z!ywN>eT>^+j|4wgekm!RG&QtRp(2-SLvxG<;18g>YS zm~sZ?0&I%vD@lcbs*`y%wV@Ni);uG2PAJAuxrf*aF)qGk;dt6|ji8RQ=1i2za57o= z-n>%cBkD@do1h&5qizznI?cz8&kAXhw%!oN!$8H}H5E;+iQ(nk2k-^L5q^Q<4OI-j zpL`dT*HdZ6;6Tg9^c67B>m2V>+V^Qd0=`2-a~``Hi)Hj$rBZ@EML6l7r!zUC;v}$u z5ItwRet_ln0n7G!tG{Td301wsb~C^(0CjgWx&*jm*R$(uE-$qNSL!-F4bw8)YK;@1HPiLw5Z^6LGIUWPfr%$5*7T< z4@lmQiIvFXC@JDeZ3+3#$riBuiXeSbZJBP*~^mt(E5Wm;B ze(~pxe{QmVGa7h|l8)MD7K(ZAN-EQ{qX<1WVN*zC%fFvAK4*jDKUZ)Vg55Sf|w4 zCCb^d2o@Nc=9HSE$Tp9p;;P%7% z=Bxhpj;f!Iw@&Q@^M}TmBn9(X4Nnz$;;G+fkkH9d)Wb+p!DD8G8HmaRkV^* zGt2p_HTD^@m@irnqCOj?zTtm>HGjdKBJh}`%buzB&vPVXJ3BHVP*TiAJy+;Wd^pa#sogkSiPGX?*-IZcOZbWVhlzXK3)aCiN>^=b*F4RUIZU`JU|&7fnp#QBy*4QBjRZ_BqYjrujtg9 zT4ryG&1(9c;&@lr9=}+XfFWNq=6f10hu{f^eJ$Z@x_s=vEBE1xMW!f3#3VzQu8-zw?T%1L=L&rL2I|#0@}KpyEo+5&plFMMs0Av8lSx>*YHks$FJV8OIpt|E_y%;QBTao zKF6E%;rD%hR|Nvs36xvlFTBrjg06sFt~yiRBSLvBneEmL63)viDt~>_WK=YBlx~)2 z#5IqdEGTz@toBZ|_=y&~s;j@r^z;@v3FUC{wsAw2up{6SpFex1jdXi&g=CwIO3~7W zM1{FQ-q#NnHmkhd0jnT{LSpkX0h)o>u zF-gVjUibqR{?m^>FK)Nh?Wh5@Y1<%qI7gJAgNcTA{Dj!F8!?wPth6+6{*kib2W}u_ z$PjjIZh7=2SHWa49)w3iBAWpESZV<^jb3w=V{Ce~HTDO>2iZ7Ik9(LMr;{7ec_W&hB`M#YfWxL(W;hKhDQ=T= z-IrnNuLkzKYHwXx;;Rg9K2HVvN2$s1t>mLdUM;e9I;_U4#Jkgl;cncKR@87#)jO)Z zw%2ztM^b@!C-r8PcF_|qrMg&fB#dHh%XmdS*|7< zTvwAmk`DOp^E+7zxF$G`ngD;1&h-X+pxFu4fp)Hb^JM-4%%$B1wFOdH{~Ww-Y<4-F zgCA_VpYn-+bXYLsh58p3_GiZo0{Ul$hY`&?eZXZAP!R|F=nBnwh{#-mep(&$nJ@Gy ze3RjlYQ!Djf4HaaD|S1=KO36ALDv&Ro-I}`a^E}cD;*;k;Ga!SQTVh+8jscz0-ITS z+9)2Y+0WZzV82EQmCF$^P3S{!jS>XqJdb#f!3?G zxR62KoV=dr3>3J+i3ILtiHa1Rm9 zGK_U)M8d$u{X#F)S%i*iLnubw=z3AOUG$S@iv*oyndSWhbyVK7H+s`HR(TEIWC!P= z-a!7|Ko4%hGU9H{@tE|_zrO@)K&(ei{&~wjFLbkUU?MEcyP(9g%;HEV0RpFv6{#s7 zG-6^)uh{75(ml*g=*w0w_k&wYGprlD*LMPiC_3f*afZbYK^h#|AGS}ZO9f-xp?iMOi3&d@j zE}+I8R}RXSyw?luGAyQSlpv0>8vDVPIHav5*K2XQs!a!CPXgS!d5OsueSOLy*rTU3 zct;_7VgrZq*{*1iXuU6=NyK5qdPo*wc)N0-@~{rcjwy zsBI3NtFPtf->-o5tjC5qVf=$C`@=cd0488sh6>(izndtN!w?1Iklj^y`WFm}_!%aE zL74v}J1K3I#q6l$Wnh@u?Or+?uT9g&TYcN{9yqSz&Gp<{f0}zy(~T|hn(5i9*J@f3 zDRn3MjHze^6cY{#E4xePVuklVE^?MLX}l|n4t1_)ym9}+Po6pV z595^{D9$2>X0)kPJ4nS}e`PUrEyP0G5oswwQ!9!Kk0Qw}EsH`BK|eao>ih~NZwFbt z-v3>7ANspuUu#C%5t_~om)jd90(KJhn)Sf^BQ5-@Ilw_OXQmnMbTLS~1A1c#dlXm? zJ042;|C-L==oS1q6mG*gPo2|0V#@4R2`MoMxVM~6;V(FEo+79{;PvT#=BG|ZL-L-g zE)TbRp`be%R^5v?94MG7SJp0PHxcd4=u=3p%%9~L*B<#K{DPD0V{yqx8Ji<_)&X0#Q?$wDhdkF#VAI*yQe){3 z#lt#2oMvW*#?h@@&&?C%n1V4Sq%zvFV8ZBl z!oQ|5+n(jOg%+R2^R;qloQswnWnfql=F3xugTaQ4|KALlbNOBO_sh~F9)M976-4+m@cz<3_k1s#L=u&=J);sy2z|j zH`YyvmE`8H0tTGn!Y(ANa-AX|R3FM-awbP-S4Tsrh9AO>xl$`bmxUf#@Q~BW7HV7% z!;T`gj+!iIcjRmgM7!Xwi}vT*OZoZ&#dnKlEIy88qmHq5*w~t{V`>lE+Af?hw-9&= zBTeOp%~&IEe?p0^70Xb>qjn&szu)?}!p`sQYtgx&l-b_ct%C!g-XF(@w>5|BT9FV= z+@5k;Lx|#j&n}0lxZhOqd6RN}x*MZ`g76n*k}n<;rAp|$4c4W6A-o^CKB%x9)w_)O z;N6Ji)Ct_4-4sji0QHhEhZ-IFocL(Xg1Cd&e)6I0{}7el6d&Oe)LckGAr&}_teMBh zA1ggnzO(%>fP_|riIC@DRqmaX)C`IK(W}{HGAV^|$*(S0RH*7 z%LE1YnG8Z-jzX6FSqTd+rGo^ebjvlDWnJnE>$Mn`geQ%siL9%Y@zuTFJwqS^X0z(_ zo=Nk}e>8f$+!NDzsPB2So%L?X0{vWY;4~XSH@6lY-$kqe-TK}wIeQ$0y$rky%jqkQ zB-u`Ej08I(?BLocs4uRc^F7mtrqDH0)pP$r_7`wBF+XAdXFcPH1c#|pBTb7RBSl|+2HU$Q zBu8zY6#4@8a>4mM78afNWmf)}vDW@$NZ`g0MOL37Ym$_4m0G!KfB(7LWlmr~lbg;r zhn4p-F(DNqW~vjHsu)-0NF5clJ+{d;zq#vSHjB~`fDk{dY)_)-#ovTS!CW;1G1 zhV7xg%bshIBVMzQ2dx69YsRg!P0-1k;vzrtx%g6cU56Tp(=BNDXFrD&_NSU`f$_0t ziOBq`5d%(q!hbv0jJi|q8QS_AwEfhZF?)ys_BZ~*PiThi4_AvjsxirlN(wF>eG2m) zfWeAj!W`3hyK+qAF*{T@IB}=jZHVwNS%XzdzLZ&0n7 z`e66^zBR(aPl6Z^+JwY0&iwiKQS_Ky>J{~yCAOXp>)_%q${_105%R{nROgNkKVdK| zhpzI1K5HUM+Wkw9x4@#$IwkXeIrcv_?pAgjpOv9Os3p=Hp=fHXybQz`Q3KCH&Za z8Ks8>F6@Wror$ip$NFo%P5Qp(XAt0If4@E@=_0SB7mQc-OKF60#tEE_ z{yHgtm!_C;q2PYmDn=wJAwhjf#49xsL*^oJLCm#`c?`qbtVRhB#L43ghmCp4J$LY| zLy9D2vJWFIUk?TP8&qywO$=j7l-pc>A#2#UkvMd$tgLj9$4cbXTLV1_#ID6X_oG3r z&fCY@C1+bbE9@O%R9I(ir_Gy$G!!no=;+LzoiNOi4pai$XHx|0ch5sgW7$ z#e<7YRS7sm9OFFHv}=t!_54f01NP#141_X#D)P#5GvVJp*A2hacRk-HQY)P}=1z`r zq#v-T_-VJv>*S$%Y?b1Bl)x-uOmHJy%+y*>J9Y<;tCI4fCVLN|dChv=%q?dsV3f}u zf^4(Y(HPMz!Rzn{**$Oa(ZAEI9Pw}yT|}GV;chDG`hX<9GeJH(?-rhuN<&T6V*&&Y z-s~BrHk|Ib&0~W6b3z*#MKHHW=_A19+0Lvn4(=}#GgZ7QpqCl}vywIHoBgQUU(*_z zs;euRG*D3yKPQLVE~_Yp*Y-OL2zlH^hiKd?Ml-lA z5U;`$(~&jKV&-G0*zAhCdQ-;#vgC=VU#kNunQ_#Ptq3d)H_qqVl8 zs*26gHTug=m@ut?=p(HY(G65bU5k+#kU+cx6KF8)v9xG1*w6FZX69>_;{@g?J6x@- zeqHygDrCr)P*DsQE|7{;Y;I`zozY`(--F(IKsITkk zZfm>wGN{)v?rEQ)E~FttUgx4?_+`(;@J)e|fqyq@$nMR-BA7vk?)GTL1Ix8zy19o3 z?gn*lrpQe-{ycdg&Sn(03#PhLJ{U(fw5JH~$KV@3F zR0YcKwo1Z|N|^_b&5DBYnvZXB4O8D|N za54Z~WcVr!C55+3r5KrqNn`nj=00n$-o$NA-%^qEmx!8HA8^ye6 zW$>yL1O1$~TGV6LK%q$O?`wJ*XAZ&n$Tz69p|MW{GbPB68kST4|a(4c_UI<^Lo zCmbrCb?03!7qr6I?}Bf#xx*4 zrrRF+GV)*L<2?O*oQU7XCU)=*fMQ2P<$#8fPgH{Ko^By|A|gge11`LZ-yOGcd)rgSbD=m3sB>#EF#!Px(G^lBkY5f<734Tw({t?G}F*4YYknX^JH#O{zFucs^$rz2^3%Bc{Jg(^No z0GU?3USzEV#{J!8SAPYCqD9hhrJCT1D)ZcnT8@gsg)B!*Vf5J1;g-!u*h^)wYj?ai3Gz@3o2R9QspJrNybM5nQk$VAQ8r{uL?M(h z&&>LXa4fN$3fFmg|7{M@fevGwN;df?(xK2q%$x<&jj1)d4pYKVnP>g7Oje^2FlGUD zUxqllyt-+9HBf=XvqB{5@EJFl=N3PQ6{JAx_{*{@K8+{T-*u;V?v7Y+E6S6(4UFpcM5QVOoQeeo=ObJHnYoj*Xi6#Lb%Xsv$MC$cE-Q^Cl&)4WE7pO|Q(tp8;dHSGC)5J9wE~&?! zawXS!L-s?SYd9)7%1H~UNxuLB(uGydWk87d3Q;ZcE3~Pd{SsEP_L$xTVMCyCE+{%kS^(26KeoNO9f64wZjj}edr?u}nOr!fg^>e10aD`QhYB|?Y`RiG(y_>cK8o{y)O(41K zq7{ve0h)ltu-|$k3F|SuIj-7C@GEGqstS~P5Q?>07ozLmZ$l_+RhVrU!?rk)1tXi? zkkhhJ4%Sso*%ghFXQQL-M{P??k^H&^tk#<|JbX7Wefts1$gCa*RRdwdjHBGRo=Rj| z+#bi=4#*+oR2ISk5gs>%V}?NpsB$OC<}h$BPmb;k)Ko>3^mNCB5CQj3U;7ij_O;j6 zd8*L_Ml&W1fy2q-<5b+Q+5}*M^cHXI&|*vET=h9lE_vKRMh7;F8XZ9};%d1nEmDUw zSpOn63+`W2?8((eAWq}=>21AA2+^DM*E)+vwjmrTFXpTbI82BFQmbaeo=1K`e0S{_=tze~*4WgC2`oGS^{l}@o$f#8S7+5p zHcjL(PY}&1HZN`I*ZtNRUmJT{=*0i<*b)D9d!KcssEpV0XcJz~Cckl?P`Bi@@asNv zJbd~|QC?XP0a)e=THiT*tQ+V*nm7K&GWj1oXtj)r)JxM;f{66cZ37H_E$eXc}eZf4NAJa zMmhfNGiM?A8Him!5v;oai*LjF6Ax+F`02(-&m*Y+B5X7JM~vGq5u^D@y*0g>w&{Sd zWb$xho*#O`uF(MxMt~x+PJpoepQc6;(B-Y0wF7nRUQQBcpv1G%A+5E`kk@O6!|fba zuW($4KYEsn+kb8Id&ZcAN0J`;S1*7K9;H@j&19 z*S3?p`pjZ$^X-_5z>(SDW!(WUul=W$fFt}?Af}Pw<7GS4j8o2P>R>ov&c8C%lwo%;rxSIYfe!yIId+kD9XaD?`z^H5#KV$ns*{yNQydM|GuPsRj>jNg}~n|4otj3L^BG62VA zn$i@yjP~CDrSJ?@8P2JMCX9^LxZErL zXVI?N&2F9{Y38ZHw9oSW^+GKeiXB{jayWwWG1c?5!Y!-4QPh6_D+0qd4iT^Cw+qyT zFp4xA%~?bC)>dPM^<6{;0sbt|$jK=EbnDsx4dt>I?I9F-!Ar*R7Qy){60&K|A(g}{ zulaS@PRbs>QQ`p+DMT;t#j%H5y6+1sj>QcWxTNSTrQk;8>GRF?_I82pso(0Lc4Ou{bORJ`;a` zOq|tT074>sli!fu1gUpAG0d--!zX-_6?gdOY#2OKy$_iOQxwY6a#j#G3Q z>}R~awBslq6F;Q;sq`t5S5d;HReOmmY^dp%6Ia>jVc6jvUo7t^2)JMMR#AVQSp!Z@ z0bZEu97#}+=FB)@4^Y7Zn2G89dzH%sFjb;4bYsoBKk5hrGgi~X= z06}GK>leZTEup;q5jBQsiA-0)zvJq-j9>QNQ7OZ5GBgp;%TbwC_{zSvmpAk6`z&J9 zVm|WjkeJW8ShIl3%Q>l(5fx;)N&`gkci}GhbF%8%He|cu(~j_1u}V>L!p}}{_|1LQ zZ(&r%yVh}2s)Cj#exQ%FgYgmuMP8_%?@c>n(vVfpZ&Uvi90N8@^N-}IpVR&uc2t|U z*O`-mhVGnJgh`0_U0bx+n>k+uD4hF4ilW$m@#fr)c$)^{%ud%r^{>&CMpAiN?SG*e z4zb*eKD-ciW3=__GNc`JWT_V3&i}P~G!qLk(&4?}S)TpR|DWfud4*z2J^*dP{Vgb= z8dq{0j=eW!@fYFcp7q=Rx*%En03epDInLBID^rtIi?^?0djcf^F>bL*(Nqc($0^hB z-2tcGicy)b6siX^L#BhlMJiIBc3{L%$0L((@Xk!PMAx*@ea`J zIWDqFS${E78}lPwcojT%1C!tTNILmFg&~bgEhZ@p<3G&=N99UQy5txw(f+}zM|0o! z3|g@NAF|#$tm?H17Z&M8=?0N*q&uWhLO{B^ySt^krIBtBq>=6p>29RE&cojOJ>PYG z2e|x4Wv$<{=9#(Yo_l8M&c46o;H92HEMwJI3B38p=)p^c-xjk7U{)*n>Q27uuy$S% zdb;bF)D}s3yUoIQs#Y05JV*Cgfg!qd)I;1=;uI=2{Qn)#e;?F5o)DUvH$uV{UK^=C zAxia?PB;9;u+b()raXF!kUU%e7Xx~L4c0K3^$VOL_svU-WtOf!RSmwvN1}{sT{8;W z7$v$<)zE@S5*@bC7T|Q6pUQTmm$Q%Z*p+5nY;km-C@67mT$ZbV zRh71rerknH`cp4x)N<ScdnGV`Kp^RkjF#UcI zbl;)MCOSAi^Krxko4aZ*T&!PQB0ryWP~P3RKzir5CoIA5GR6N08r>z{AHL3Yz{|%DdA3so5_3AB#9AA0M8r8o5KAiq#3T z2%`lzll406k447guKQ-bK2q<*^AI6x)@*Ln^QdXf1a)zClXw-K_y-5XD8Dg-QfkHb z<9H#Gtb5~#;`qH}Os?9) zcWq1PO^d-#3p&ode-3VJyZK^$sk~EkN`Jip>g?v?{QEJ(bAOx=%A(e{1w_6I&w(zl zFBA-B9u59G8rRL`)|hzbmLeN%MJAhAefzPxT#Ln&BR?{{s=--*U@Sc~V+wENM*1UJ zru<9qmUs4)O9K?EWQW=e|B5Kd^0hUJ2ED`}@Z|%vh@?UcOkB%)5$_8}@P&S91*p+s zf$}Dk^6=C7Jy7o}%W$nbk2>s!3LCKqX>h~J{|D#!CovO?0*5hy4a8KP@8i{B!j}H$mqNC=mu?~~hHf6{4 zXv$>$Wd8VwY3FLHsv7utr=Lcxj2&!yHeub~+*DLlbWsom>m0!@Kn*!Lo7*!(pj8}? z!Ws+;4!*y?-`U>Y-q~?))pvW)d3iFyNslRux=dfbl`5>FZk;h#7oNrGL)hL}%uH9^ zvIQuDE4AvHn)9BK;dlD3x34!593n?d#mkrQx=rZ%}T{9sLCzCsb0AEPLn zt7@^B7)RegB<Csa11oEM>GbM+_i>)Y(WM8+M>E&;Q=V-B?w=3~nVbx| zD_39ty4(C=L$3=dPyqeNMn;VzO7hb}<8~ywI*V$Qpbnhk3;U;LUa}9z+K9*Xqb<)F z_~`3RvYA!QwWYDusPL=tsX4m$lz+*ltsptgTEi;6X?^+sls>jK1|!7l92YAdp^8ff zT0;e0hNL+VclOu3y*4CRFl0{ak1A?9uC$Q<>X${^s5bi}Jb^n!%7`6*@QhKlz>~f! zNX7v@0BlSzE-p6Ll9x&693LHxl8K`YSn+Cd;>WgwW^p=HIUVc;+o971yqDt$4_4a1 zlE&95IABeu^NQzJW##R)$Ro*-Uetf|Wvt!*Xv*f!3C*9>z~E~psthXtA|-|v*RGbE zTN0C#lff?I0n1mtOU@{lKy~xJoV>@zWx*ssq3FH)G}r;#+}!MjH*EPTSUB4Tc@<5c z1aC21Pn4jS?a%`3xTd7al3ybOg=f2uZ;8EcW~*}XmStL z=+7Xxu^ITgX^z&Bz9IFx9QF<4w&WA*S$?nMQdFQay|M|r!gE=pE#17wsFgUsa!(PF zb=<$(gw27L4Wh|HHy?C-%e6{zR%l*@C|++&w6Ih?T&PHMbR_ws0=GST+{C5TtrE@K z+gr964i2u;TNayu;Bc*5OGhWmv)9khuiSNSy+QxQ=3jlf_*czn)0_GW%Pzu0lku6y z>WC~wT_fk-V)!Z|4V65jS@1{qZ-_^CB#B*SBgOO$m+W_^%MbL<4E_D|HtuwJ@9NZ! ztadON8Pkotf7za|MW~}>$}~nN$1}`*bUYTOA>^ZZdJ%O$9@ypZAY{ z^r|qD6bZQP5;Z<>|2+Y!@z@X2BSk}7O?iO1z4X>)x$mg5%H?<)$55(O^F6&n(>=Dt zxkvj`;{ahja?|-w-OUThyMA@+p=QSVR$I<4&_vR!WAmYTtCF;(V1;ebi!LuLmS4mS zTRjTnDk_R-Ou+3z!aUek^RbM>C_YiyVkslwtw)OKT8+SkmRKidrSzxvSWPAILrVCtH)ozm@wC~Q{^v$jQPIF) z5r=h)oKYZO{qMUrO$`YK@^*K(pT_Q&MstPEJHAd62TdQ342;pF4BRdMsMNBn50$+< zGedRJN)%B^+eM0z9`H;=qX2y+-&qbn|Uks+EPxSS;Gz^cxHG_ci~XJK?n+W-(_mG~6*Z(j>RXrq{ae zdf*}GrN$igvN;5>YMDKCC^1}wmthotxV*e-Y}UKQxqBc};%mJ(GBC@B5p8W}4WrBX zBgVF$pY3jCyc!hQk$KV#`m?gK5LIulhvp>ier^bo2yYqnlB3IN;qdH!~#$MsbhZ>-M>`bYt=yaEQ`}}W&!Vc*YoW{ zYj1Srli}cg+ngRJL-w!orHr+hmg2UbK+^JQB#}a*khUf2a*!Yxx=R8j`!4el3jSw0 zx$tGc&8VwF;dgpC-%et3+Tmu$-BkKu_042Y6~~VTil&k==3Jj9c^PL9zPGkCIS9%er z(UPi=Zbr10#~ACdx`r0X8H?ZzOH9tR-4FlYcVTw|pU*}RzS!1whWX~d{=0#8JB!On02gPtr-}MQ(@bUfGcA?YJ*2#HrUp%hN3PXR-R! zbae0UuO5>|ms#KSILdDGUp*O{{|svhwD8^FWD#miQ7OuYN%>1m++u%l5Sz_8@p)^J z#Zi(kLTrY-ZpYAbU!~!BbuY!9|GoJy!o7|sw%4Z9(B9wA7QZ-iCqD0dM;_$ANhv*W zsmxQApwAPJQ93M%YAjlb)W+f|zaKczjtw@arMB#{WM8!irS}G~!u=*>&dq2^thd|g z_!BP27BSm~p>n3`1Ud!+bde^Kzs=H3>rvS6&h)pb(dTUU zdi_lAGs~B62k=*>C!hOAG=ABM+6{aJ3<&)5^~7n{`4tM;74AXDyxR}`;1nPeRHDs@ zw&>7$F&$~mx`1Huoz1-ZzO{d^vO_w*{i+}$>I1N&GSw*z^G(lODd#KcWr>T051VjWLWX0hqflna+emjd_DWfz%8$>s_|-S(Vsm~bs{5yOcBJ9WJ_@YDi7pMxvuMUk$yaupXixdy#Z zACaI{w!W6B$*nA}ps;=v854$9QLf%aXx`rLyS)6(bZ*q$y*S^M#!My1`b9kdkAVIk zDgD%h12LQWk@2dsx^&wdn&jG~w|2iR!C>`fiY`v?E0oh84Mjaah@-;4U#x>`KRPs& z=CClR1QVuEWXT(|%Q^375J0C+a+>gt&Qg!?G(f-a-DU`lDT$M^#Q_rq!OwALjXj3Z@K z<)Gb&ZBfbKCA3_&Lh~Mme;~V{`fQ!~*D~dU<73$jOayabFiu%pO-)TfK{x}*{{1M- z_~@{tRZODuY@RzNH@o_`?0WClSyDWiJ_;dWFwMO$Fj#gxK9KCk-D;#skec@KoNM9O zdW`xRa{5m1#FsP6&jp!UYcR~0Oe_sxyhm7B(ABhjnfNesBuVc@PlrON`;6dMn*b^= zszJ30@7085ls535CVb|PNRe6WndD zyZ1xsaqf5MRR&`TaUqFs;I#O5{G0a8lb0#uqobn}5YSP7opadJd)&AOND6dEBqS#0 z{8EFg`LoDKu~_woKb4{*WxmU&V0Emawx!ei7(nF*2f}P?(V2~x=tvQS{bu&*bW}l950zPF z^T|EsAqircGsm_MX<+F2)9|->!SZt&w<60!55QDKB}{YZty7K@-Crm&*jlvOj@yd> z7+bMDkh_18(_j5PBW~d{e7PBiOaXj0dF3b~ib_f`^V;fX5$}Ecr&=!_iSf~y|5G&| zCI8!3Vs9K#ZtnZio}%`UA6~tkqX{I|5b)!X_Lj^9zw7b6#HAabVIXs@SqoCTL|B69 zXzF|kFvM2=0hlIHZWp_@lb<+#iCIfTL-*+!=+>%)p$AJwV^DO7p7L4~yXTgN@dxSl z>4D1bsd6LE`MA%*8X!^DeTXCBKkgUD1JT3P`8ngPl4q+^ut5qqp!$phJ$D@;KJm>$ zYBT31)n3A;ZIoyt7F!K($u%Im=)ZldZzb`yXy;WwJSOZu8n#xARe?bY{Kng6LMFCr zy=;Sk>F=M2Sci zl*~H76og?&)e>GBqkIt^DU9&f)#U zw~ae8&tmJCt8~^5Y9D`xbq-H+r)J^K+5ZTsFbj+McVR-7 zX4toHrrVeu!R*hwEOZ?KPu7enMbk8VO>gt|CH2?FF`FzMN9%Q(0<{SRU&P6_${$^r z{`TI_fVcFX97MR~Ai1e@wgXdI`m*SuGn&(gmNwUE-98$GKo-h+ITl)8B*K4E(pRra zYrO^%h(|PU*V5f!mT_1gzQs>jfKd{PY8&i*2^78On`&Q4zfvih-E$I@%vvRt@*ItH zJi8y0DnQTwL4hC`79nsFQI36{^_jh!A3qIa#6 znFPWC&6+})G;Rw(7A(8z|M9eX9M{$Emj!$PwR#} zCUUkCh+lSHH8RRFpNC_ILXYsbk4OlR3%~E&E{09KihR>qPSzWO{_n8kv5rqf#NH-5 zZ4?nv&O98<)ShFNlvPx%?QZ1QAvZiL3NM)uZAnrai+87iXAX}xV*hq*n$8Z z)o_`~7lebtgY}67*j|2q!lx?3{(8zy%)NE%Hrr>ibAe&o+t7bUXU~r-1^tXE+1c62 z#Z?b=k$v22^LBH1UYPi@QIO8=NaY&6Cn7!qlqcXP@B0WTx@m!(nn!&%4$7=*$npv4 zL~=P~6%#u$j=dT+5cgF(A#PcQP z&|n+WGk|h2v{Ju>yU*>k%2zovG*%~SIddQk+xFvWi`z=azABFZLMzW>CfqhM4V)O> zWc|WgF80_V3zW@VLZUJQXi$zDtvEk2`W}}jrzWtqApJL!bp$W>y$Vzci5zR-@z_6R zJWuZJ{fwnSi04fG^>J9(&TJd>EqUIxK|9j#aijERlNr}r$<8;@Q&ZMwiC$?a_evmn zc_A!DUBgd=>)H65Z*b@!A@w?H(wYTT;xiwInseT!yO#&bZ1AAm(z)Zat=j~fd zRy^Bs&vTewI}@4z%`4azpPVkD!54T9>&l)syl$U%Z?M1*=U2IZZn^2Ymlg$eQ^Kce zI2XOVc{+gz=JlpkgHk_8&iP6Q4Ok?l@R*>aU0fWjtjZV4L`7k?HaA^bKYT6MI6YY( ztlON(m(D0vpQoL3TnfWx{5iEpA%3)$fzE+)OiN8oOKUzfa&YM;*&p4(*Il!>Ho{>s zlo1_$;`f@PLu@TuZPcC7fojterY-iBCroPNXx2+>zFK0pUJ-A* zd2{-fi>-#F`%U0`BoTtG_#78p!zH@}nX8NQOmM&zYV!B6AB>=Ern1JNuC%CXx>Y=C zjJ!0L#?`Ng#Mp06VeR>~_!pR6qyFe&K|Rp_BN`NJ0i#or{~`rnqv*YTfMPYgf@Rex*vFNf0htcX9os zEa!d^bWehGz)3(LtNev(+Mw)ZEDf)ihOmm1C`Mv5UyW`e5> zE?18S-=pVrR))`NMbPje|6-x}Ai%E#@3i1AIgd0Aa>SU9er?|PsmtT#NytoaR4vWw zh}qq}W%6HGG%=cag;L|7F={x-fsFUm1=^N40a`AOm#Wh!H&AV*u#`I5#lN&r9m;=K zKEl&$qhg)DG4pFq%H(yGbO@PENU=WW10HUt5a@PK(r!NAKsB1JqP`INH@M7<*uss0 zw?mov$k}*IaOUE&+@u#2-<5}WX{{?LT)UB#MQ;ew@bpi_1AWaCQ%dhC^6OV2-g*C9 z%@P#fayS6wruAW7psYZf)K^_aDn+RTwQR+6JLus`Htm!tlt$ZO3@X-7=e!kiH2qGS zcHICe^nSWEmi&eiVbz-hZ+4gcg;NxuLlGYBRDOF`FrWp-BHUqO4RmDJY(9bJf_lXG zctr!lo!n_~fbBatTHVEvWvEId1t>YLE1N+zI5ZKB!e2yVB#k|jkugooUhT^DDP?Ss zgn|zua7Zfbss!2#-vo^v(5I6#7yHc96;)8?Y zUA7N0gy9sn#&T%oilwJ(?{c;joWQsKyI`1_4`Wg1T~X&on%*F5Mf|z$Sv%8dJ_Ds{ zQd%estPhIl171$KMlyKAn^n5!*_4?|0;e~G&uT7h2EM8vtgQaLLfPCnDeKC+0MjVa zYD0~1HgiXo{RF)Jozu2E$5L}flySZM*OQvAa{yE7mq!1oU68J6YV4-WDQISf`ZURs z824p*; z;iXKXRYVAsV)zP#YYV?Q2=v%AIyreo*}Fk-EmbI5-?B^9ZAO4F?L}*sH;kY(z0YUz%d$qs!gM$Uj!UPZ-pkPY=X`X-phx^iZ%g-**nmOuGYBe z+bH}(rSje$QUVAYE9H{mAoNQ(+kmUQqvd4c7PVQ^aJ&=wLBE2?nOOK4Je$dM=FXJR z{z*V$@pnZ_s#c3B%=M42UiGCdx`zA;vXC+vwa zB}DAcln1fF1@)dyA0K}~OoR3cLlvp=Jd;pem7dV@+mTM9mbC_tPDsYS#ykW&OPZ$? zq{d(*Kni4lxlz4?^jOk%W;4Ta*ne*ft2SkgmsQVR?QyO&blI5H4HOV%^43SDQ+MTb zAM|%NdM>o%+x_y}aE;t5+J9pNRpF!*?b;-!4=s8z;jsT>3I@!H3(a`|8nwH#xAoFA zkN&J3OYZ{>mPYvQRIlgt7#fqU*cG$efCsrr)V}tmZ-Pwy3mG=?a|0X_rRr8e8L>w=u*Ue7Sx@b#nWa^>Eb$cNrP(lGBoa&T_75-qx^HwR@QV zVdfQdsIdG`8Ye7t<`E^85x+W^BDua8FmQb-?D+~b2$8^GBYv22RpePz5m1|QZBRVx zZ#_Rz+@2@pOA|$N_1b8duSQ&esE`()-eGH(Q5j^_r<$mb)3^r4r2!QvoAKZU5x-XU z(Z`zRn+c1;0nRE)%Dt>^Lk^%!oweVElGHW9z%0P|NFj4Ku#u*`k8nQr2bhJ21mR3Y z%7=o6cRYelBEZ{BLcBVf019e$3;x5SC5Oz1={~}Gl%+b#KZDX@2N4gT8CG&Y^W0N# zqfD!5iP^`WguV>`1{e#oj)w(8ZLFkSc8fFafc2MKPNJ~$OwlXtCjcxJ1N-14Nfx{! z_-Z9r8QLyB+b$iqVE-_4gJ@lGT&hp3D9g1YQ^h#ew@EFBiuXz9*pO9!*g8j!3Zz5; z!VU;%JZqWl#lnJ7QA$SmF8(qg#cOSqat4F7&cAwhiOXVw?V@P3+p3e}! zEnXY8dIJ?#1o{F7Dh#j;o@}4SX24`cqg+tDLGsZ|NST{-^7%mB~U9MO}^W}j|g(P#b^N*7GdltK_tuW8Bq7>vGezZoFavv4!} z`yPKx3GfS=)mU7H-OHKPl`UWmERFfSzq9 zo6zMG-7}0r#MhkZZaBj#=tX^)Qd;Fyv$#E`bfUmc?7@@NnX6 z_{42vJy&wq5lOD}he7W94ZV4J+jo}t^^RLwzF5o_bCpS2Zl*oqxIl7S?O|bYn9gMn z#&(Q3j3FT7F!@~U{IcJvrV~pvTgb`D`JB#ayY@S1tCJ%lOShp;PL^q=#^wWsp4a^0;Xx#De*gUB zcw^Y9>S`H@&QK-wt87)S>ZGUa^SL18ylEcqo)Sh0UOm0Bn07L9`dnbu>TU78qv2_~ zu4a4CX;U=uvh6zs97-nRDk79eD;j$Pua#@F71NKOIg3FG`NFAbk|E10QPe}DVTj1p zPPSw>ukGEFO7rI44dk7*lMZ+8H1adg%*<%f6o0KCLPN6w6M?|0-AfCwaags{VJ}}g zDUy(fA}+xK(_ypk4JvAs=lxX#5g%UQ!%99F76jH+1R%?WgWB+VHJj-~9$4<2g#)JD z3=a;LJUsfr`16BG@N>H_B#h%114F~DjSWa`v?wAzx5qn2+dt{wzo)TV(j*OnT_J?{ zB^os9b!Jj*qHV2$?Y+n+9xDocg1@i?q3tgTTAy>Cv|HhQCKYS_GwIk~xinv4rS zj==WOu(D!s=adM_epv03jp#|h5{fQ{Fs%}5L#~kF+Nqy9 zj*f(20anrvCv97OQAMvpTq@X_TC0^b^r7H7gRP8=?9Dzhf|vhj7tSu;>yYdHOG<|g zqR}9REZ)c9n?1d1NZ2P=1BlL5{k=1P(>=p*o!6ng3f)fQqW!Z^yh2Nhux7n6qQJiY z`C-PuywBnfQzAM*zJr00E#e&W5z)j>U?9qt04w-baktoj^=@DFl%nJGBk8N+w9+;E+OW1Il0)Iq+;eKsd7EvX0u*?06Yu$ zP-i*GKE50O@hJ`PcW(#?7OOVyd8k&rpFK1AJ#{wzE;VU3Inj@}iM@-lSom2c5{y#m zx!Ud#4=GiD1EC5|;ZF{<-&6_;$?d=tby862$osWTm@iIqh?UqBx)eEs53^Mwc|f%EN08(9iN)?2 zlMP=uXLD#+z-u?*Vsx@cV2%d^`^}OA29wi zJt4G@@G!EstXUAj6o!iPHa0FEt$z7FpPamw8>sPB&7Q2OjNdz`;RW0fFE4M_ob19dW7~t>4mdZb!(>j|cPMVS zaLCBeh9{So&=7t&Y>j@&eC|JUbM@8K<^hS3uRx6u@!8C*I5U%2CLj0!u-n^arPXua z6*$a^I`i3w2ai5U=N7?0<9oL~rQF9HkQFPnrCLL72;^L{nFa`9Qb?taEX3@#ViI zCCz5}vTL6LdyEet>bL^aosJiO=^GldnT(N`o12@A?oAe?aaf}WPm2DeSN|CRNzCuj zU_Q&x!w?N$`^)WeKQQpch`cU#WWosC|I+=w)rnVWcmjN6c~SIWvy-x zr=5JxS5Z-6wOYhkuDAHJzQ51y{p8^&O@T&NT8Pb{K{fr(6@&(&sOzgEbwHDKb#(#D zcX4$E4{#JE@C4Kkfy_B91qB725A!v~qwC#a*$flH)Wk`4Xp#&v}(4=V6-`#K$R?iQl4VgsPx5kvBfWyHRDO4(J zYCdMRglMT8+dlA0g7T%+T5$ere;1m_6_E*DaT>H#j~(-WH;1_#Bj(AAVCVm?HP5nY zJY8GwaZA7dFVus8|G`CS+@N-uiOQs1zEq+54-^RARF+(vhrCxe)M*nF_C}xe`S0B) z1Z)=bE^$+S@$zfqvIjC^zy)gfm2gMuXKlmFz)IyS1PYf+%l1hs!5kAq$-b{G)ZLWZ ze8W(ck}%ixmfdb5c9)%iz^|7A&NW++p>v@nGibU5NOS(6W9V-WrL;Xi@uW0(+}cS? zOKWSdfTc#q%Pl-~baYfyg%(@AC4yXEA!dN^&g14JmCc+%qrqk8#l*zITfTEU`hBBI8hpNPd$ydb^d;ad1i@Wv;iqMZ za@l+=xwKd~PPP?-AQ}_~k0;m?5*`lxwHeZb(AwX>Poo0QoIE_hT~`912;jtoRXelp z?|`SrdlCI06heeYay|u*`=feo&r8fgv_kY+EId`cc(fasz;wMTm+4|9q?pvyRN?;0 z_!hTI1lFsoqlJrddPN9ASs59q+rlKI79th{xWjx()gFHT;MML^Zn+v9t`#r9PP%o_-PTR8?vdl#JhZCocWk;-39c88r6D zOHoH-h7e*4|Dpu&Co}7hODyB=fIdX&M-Ae%Zsq8D4@bEBSCq~g4BAvQgKX;iU6skJ z)GqTTDx6fWEhprA6xPn6-}%ZRd2c^hC%LWa8W)&B6}Blnlb`qr@DfFdpuyBE%l%0# zES2KyZl}<;*a};PUn9rBkHOD({l>{lnl@-$1%JoOT3;av7jPzQDrFGE(?r04ou{Ot zLc&PLT4P^6o2@;lTQl#;*5;Nw!`RT~cOY7t93-R@+ruIg|`zrhbQI9ct`($WIF z_~Z48_jJ*V+v>x=v2)rKs~| z99aQ?80Y5U(Qfm43}b8!iHM-zQ;$8roYh8$s`7etGl9XBeJ>#3eSdZI=FOYRB>-~8 zOfVx@0q_Qf1mc+jhhg#uH1}zB0Bm+22F0m0gSmIXR*V#^dH5LXnKv5BcKv>PX&`X$BrvXH_c7;H1KYkXx zHltxYmrQm`yv$LK=teJ|@=SAN9&B;-mS!~$+vE8WL~IBsA%5b%!M9DQ&g%@)Z zQV*5|yQhEkst)!iaU?jmRVvfBwwxLaQJ>7n(^`&Kl@iY&O5vv|9@Pa5T@es}W@ zD@|nNQ|nyc@)Bb4XP0|kp1Qutp)qHajs$Ee`tSRVtVivbaF}*nwMqtbPG;+0%A9hs zzsmj)+vp|{VYXi8^%X?J!z*Ua^4DM>X4dO!u-yp#u=*;(Y`%66Tic^!%Z`}O&0*~~ z^kwh}seeQSvZB!Sz*x1RG_XyOTeY}fqp;5dK-uVc5D*a1-rf!ppIsu1SMkLlBO~N? zuyJ;d3J>?VyP&T1C7OEW2J0yAL<5}v^VuMyE*UlT9zen5iKz6}%gwI9n`NhaKR<%t zy%5fGfP#Vok|IAX?Ix!P+tRqWFOPSZlM@pFsEd-%D8C^lem+?fN&YtGbp!V{D>%6b z#P}ozO|zNOl(;y1;Lq-_kFlM3(nohhj!1N=HeV7jbTLv!#;BO#kr9-}=#&(AdeT71 z*S=@jCyR?3CjL=TvOwQ0(2HTwxLQ!U{ToSB83^51H$i`g| zc7E)~Cww_xl}2zIJ@+Q^=jJ#yS+QVD0JH>SU6TRE0U(!yH*_X4K@s2$ zihAVS8gx5hk~f%U#G{C&C#cb8eIa2jEG5MVFS+Mdvwj2~Nu$_r;K*67vr+ zUHdZoDSLts&+%X;&{cd-#kL&{q#^!SEHH>}tmcVlk~7eVSnaG+E{ElsO+8V>sPl+! zB~}Vw2*A2ckF!n5CZ{98kKvkodwWb`B<07g_kV$Z^ix&UGkw7a5<~`t zmua8rRlTB>_;+#)Ae}5T_x@D=V7TpEA@^W2CB!`wxpwPUzxm2gD(B3hC-?adwtT_C zZ02G))4)bZxn{>|cGn<3erI&xg98qAQsYK;t%B?2tA0jJFSGzbOr?>}N6XIC^z`nt zSE}4jp$^2ab9Az?HU6)!5c$20rjcFMKBYyPL~Rh5ACa|cqW?A_nv}MWTH=RhopOpw zr73Y=+kg%_RFViu0r?w?dGSvGR8lt7kV-kSK}5q$|$5`x~qENu&4j zNy6!7D)+?qUMIVsMzwn|FW>9?^iVA=*{E8)iK6_neE6_R6`bFAF6rgvjjnjv+b6X5 zx<32s(G+ZjR9h$-ly(4n9iDGq1G-vbJHx&!1sgBK43kH`@wGDACyl(2($dG{-jsTU)oX=hZ( zCKY_O0;fRVS*z#s0K8KraGMH)IJ7c3V=!#F?g(KR_1n zozvFOE(&7a`Sxs!S-)m6aFjtt&K} z*l(*!5at>j_7p(cRF{N0JXdRqKFto0B*1>1!Kkt+EP;(%i{OR;Z`JB?TMd$y@J{!u zL-=43=~NEu&*Uf|ApvV(!9-s&@yK-0;IZ1_pKVD}uUw|qq4n)!HAqoFnl?#@3bNV< z5V3#}>Mwd$sMc%)LW4(Q_c@AI}w!BIHSA&GWek34sG* zFB4P;`@4(1k&zL+VaDAE)moDmzH+>_<0wA5N#42VRbx9unOCD)8iAzI-X>BiRf@#AdNN=dhf| znD4PEK_ehQN-$%M(kU7ui6r0>CN2d)(4QZ`)99*7>$ysROyR?s{i>3=?0+;WAwVXZ zn9r62H(3!EhraoIwP4+^O+UsofnYqG%GOPYs24yz3Bm&a62EJ6Xp5Vg?m_dz3)f`T z-l6d8^B)itY|%9~7AeyV%*_!I9u}A5^*g8t^H>5kr8q``uipaki`V!J?W3HE) zStYAe1AzR27L$PKI-5Yb5opgQI!<__Bjp21~?)XLEZC5CMEx$#L2~ zE5CqC(85;cpBpa7H)d4zvbk;z0~FTYLW$uwQi0zqwom_;->I8gpLSS_b1??Q1dDtCenv|v zCDz0m(t!YD`!3?zXvPH><$p-Gt1<}}jzLzBp{k6QsZO6->IiD7CR<RG$S#QcVEiNkX@d6<+@56Qh-1Q#oCwTcS?>)Ib8c)(y|BWM6Wcpx1Tt(ez_bNULc zb(m4akS>3a@U<3G%famhd%ZJYaoue%4YVlEnRg%3OF5jMF!9pJ1NizSy}frh1!(!` zw~tD8WS4kQW0My+r>w88mJJmtTgYN0=;-NHi(v<(-Am=D9sr!&*x0x}UO`>x3_>me z@H7mI9%M9Az#@iZz9U)f&y<0DX+`Uo-4@7e6pCsAkOny5V5(>m@C+bk6fXtk+HUlK zwVSn-l^}^c12l1LY^)o&-o3(i;1UAnAtSl);xZPXg1ZY-b#-+KTSrIF$2+z?mkp3D z&bJx8kYdk|$KFiXFV_yA!)kM9$NRJ!o1dQ_okGS(i&3q%F#Wf7rA`NEAQDIWsH}{2 zyUC}>Z9I|=Zt#zS0uZMk0G9v~NI89gK}c#^S{^|-Epk5^`(%>*{kx{F?iwItKmm6qz(XqU{MGP|Go*xub#c#O47dZ@B)0YnHi00>bGy-R7%5@p!P^)k6;L1u@0@Q zcmp^u@NfdTmzx71{n%%;m_|}juw;DnI}hv`Djb{-WNuClU>PC!?CkA%Y}W(8PDB|Q zq+E{}iHq}5fli;hyF1}Hkh%gUy9^*GK*J!3c>v4>(qQo4VuFKveIOuZK79g@bPJy3 zXhDE`EJ%}tfR>gP4O$Ul1G*97x9MCZDcsE9Aff_Jg0Lt^MP88yFtiII;j-ibFAuQV ze6=BB;k&+21tht9;Ly9fyT9|fV+9~_F9Px6?#QgRH!@AVL4WMqV18a+kEKROxsgKo zT)-FNV_-np8w1qOL=Y_@hB^+%3dwQ^I8=a=n2v=-L{w?S837aIn+SX^3~NEH+gyvg zGeZ)<7lSy?R8D{*XY#~i)Y3@Df6HC3v}!}ss(M?@w=ov!|D#g(-0-;aQB?C1!25-muQuQ1|oyNqv82LWYo zDnx0zeor{WBWpB7@3p}5c+(eJ&qtPT(lUJZTMURoXqz=n4Zojkf-aZUA)9&eXMm5; zH8R?q9P!V%RcoKDtt|zPVM0Vce$vffw1!Nz`hlc*-krneYiu?(5AE&dOz``C;^4)inrZ0!4Ohb$SvsT) zg(^Uh{{0XtQu*t3Vn}Z2`-=79qd5+;hCoKE*vBJQi}9pF^vknHSi6leA4 zh|Abb(u$*`j7g)vcC5j#!DY{dEK;clLTT^LWM|gd^O<`6tqJR$$YJA*OTygj4umnK zdq>akj)P3p!pu}}BP7%S&TOhsNXy*){Ku4#8DN0efsqcUal~q6Y;a%1^1AI|bp`8L6pK++1_5o=qhs2MM%aDL$vG=yjS+7elv@k@XSqdnC(f zG&uphW0_qCj7h-#ijI#-%GB46fPes0ogBf%jE+W|i2l8}*bIoEN(jONy%`?~^;#2% z^+4nSHxVj~r;|=pCnqQINP^SL%NJ+#zFeyXZ$Jb1n3rop4r({w-;BTnd;pdw8ipm5 zFC-)sUl0I_5rDh7IG8=2D*95PwYO<&41f#M01*)plMINZfjw|gujgD&Rw2lYbHyTn z$_`u$Bux@V$>-Bv;^?<;-soCdB8xzh^*!LO9eRLj1E?9qD3)Q;Di5V|p}TQ7?oWYi zBAkFLHuRhYbh`Ha(~Lv_k4e!vIXO8rgcJlH`RZUEl;#*4NkV{w{Kj^-t`R z782}rYyoVBB%KOe{ldb6e}-U*POKld+i-zIRS;e zka{oV*nyymN^)ZYJQc4r>;Y?^pczFeDmR{u&zZlCj)>-(q!nzaTBEf$1olc)W zf5zQxU$YThQ!U=*0`#K%=qo&`1Sz2^WL7lsr(Y

    =#vpvF7D;qV3I)BJ#6`Y3Ym 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�%d{2%5v|z10fR`nJkDee9J|0) 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

    P;>)FBPZG+d>B^?Uw`W1D!$rxr4?{L`!U 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�bB5Xs&k>C^n)3F)l(m|S5DYi9|FWbdgl1s z9^MJr-qB(tVxsZlqYGa_yIlOF(6t5sh3sJN=is8@=BH5b{77nCHc0do`|)s}x@cw+4=(^U?_}N|9Q6jl9BM;$*2quhJ z;F?GABpj2V*v!~q)Fa}Ol{O4$%7fj3>*u2!)pn28S5-_Fh-_x>abFcl#*_XYLFY_* z_2Y8g=eA5ylHDqIS$bhcUXYoj13ekqqr5!Rb!EFF)1xyYX4U#lh}Uuqe;R_;;aC4@yKZyFgFl$56wrHLCVju5gfn}(NnFrDX0 zo8+^G7q^BJ|NiWjj4{>uJbLWyg%0UpM!xO@d_t9!)6jn!jQ@V*ty}6@wd68$kB#K- zbts6(eOzp?jntyFn^QJf(boMah8*_m4X&1ajV-#9WMHspa8Tpj|CbjRn!)QRe!4sT zKAzoTA%+`qfK6PzPVyO>@N&{;+XXsox}Gzc$Q3+cq#4&Wcln4tWwhRM?&^Uz{q8kS z(zSH1{;%KWzhCZ9kjTjGOjG!2%x2w}lFy|emkC=uTDwJ>H3gzkdpZ8UWNgX^(1b{$ zW5@sa3;sn>A}}sr`8%BN6IEy39gyRL9VFowqU`8bUmPcg_$o|rw4y#iq3a{d6c#-ZBek5ATJs|V_eCx_uqol%(8+enb*NF-WM^! z)NLm7Z*SA+7{9gs%cl}VrM@pS6#lpGqI|a1>5A6qHr$zlxVog_^u4)^J~k=dzYoOe!#AkAW^Zo2+?osM8j=^7*;aVQV41 z&%c-T-!DGN3t3t1A=lO>X3VC@^+x3EEI`k~J{)uGd`L8TkBIc*sxt7p$7iOWlGZ-{ zOKuFFaLs-je1T|r-b6D`B zLtMsr#eQXB&CzCdW2{oU^6{xw_{q`XnC%P?r@Lyp`O4|oF`SnS3IFf4@jvFFhg#uo zD7O$|J^?#~X3P#{5xE+x7Pm(|yoY>PmoH<{*2=c>1`rv?3NtiH2Zy>}sZOyc85j`taIxTJrv)S|%o zJx`5L;a|~(|M^)Iq%i#fA*X7K(Lpa84pUWG_~lTkh%I12KXx+z>6&r3JfVxr)0xa> znL>IFSLyrUV?QMdVd}hruLJ}n!XgWtbOS8RrLt;KS*`^8og=F+XkX%6|G%HZa~Ba& zPfri)fU5cn?UzFoFaHI~JKLy9d#1R4jn;9JW6lD*O0xVVq(+@q%~TP3>x!+@Mk=iZ zYRZzRY@1B=^JQ5+G1ArU`VEZ%M^Y2&T>8j^z78%TZiBg>l`5+mG{#297z$MQhb6ou zaBT_mObip_lF!ZtXbSC>Ra8bhIyyQ#*PzY>p`PId48V3kLI_%9d`<@xPL8&PK)kU z{#9&z`!TxQ_+EE+_et@}>S{|{TTG?0cs5bI6eRXnu~#Tk5)w`SbDLAK43P?RjYx@! z1zv__W@Z}Z;_#qdy?{INjxd<<2v6({To~?j^L&1wNog@30L`?h6%q_L8{nUlw^Q|}J zD)lM$xU}`&S#dZbZiz0}Ut)?EznT^OA<<5tfJrKcThrVJjS_E2k0HCX-~9mB~RKYml7 zSykeq22%2*GkZ%*OGrpa7sXLgQDjo88XEiVtB>QE<#Y%>OtR4}wt>RJH6k5GM@y#I zY00Q~2QvvZD7}~7zgfQznLU+LamvC~UhSbLA|}a7(Ncf-@9Gs4Ksr0K;(<}O(cqV` z;$qD{tB_(B*g9eMk`VHSeh}p$SU*r9Z3pp(a((gWJs-*!z>8G) za{b2#vI&`5+@#;UdH0LY>v5eNRt>^r?x0F`o4uXf#4UTYzNVLzGsRJHStNru#Z@OW z7ruOZnN7-YzG3~itoa9u5fEpE$)seGYIMC7SRoA}o#t8X|POn(gEmfwNf z-%^MJi!D`GR7$GOa=sPRkfEEkzcI$-kfa}bt$=f3lkA5nL&J6PxB)tK^6j;Luj9TugsRf7Ugw`B=*zu3d1`C z45h^dvMpLr%W-nEAAyhwQ;NG<^a`GG?%I2;Jau99&IyB%aGjUsShX!p8Jk%WZk@}v zwzi=DoqEbw@K}+Tn3$N7QmpAFXaXXljKw6jtM-I*3A_?!W>mE4p7;sk>hDIP`&{GY zz2HBg&|qL@78et{deJnOkh+IB&cl%KKN0gGvjVS%-2T&;})?PWN3j*rXphq7aIv_3^&rcT?ZMfei@nXrY+bKydnF>-C+i}gosjDOBt!!IIj zAQqq51(>#>x|Q!Bmn5HFV+MT^7kkbiCSt!KCU@Kid*vPAiO9 zQc^Nq>!^Uj)k-&fXNqXnMxNf=BzHszk+PRkXg-s_?!|5o2Gl-aKGq_b+mpe$^&5koUoo$}G2J}hyBH+5FN)3RH=LYmSnMC$5b5fn+*stVK;vocF zN6_a88O8+tPT)L66cw36%XNVq8DJweD>nu;$uR5sYWyAwWzgT|0g@iHYf*NECahXM zBR+te=>|Y;NKQIr!r#}QZ*iHMo72(JN!7o;22=%5q`?br)Z#WV$HwVjt-hoK}qZkl5?*FZ8Xy^c)htSYRXR2J# zD}~l9_zomgBmwmgi}`;fh5mE1KYb1tx#yWUv@C|QnLqB`E zpyi(U>DH5y}ex|PXZ^kkV-sRu#Td)y|}EZ zAK)3F(E=k{cuKEix0XY2)gM5S4rt>fcFVueH9YZ4ov*fCr`4zkl(d{{M9h8qKg;aq zZ-4Y8%{Vd}%vv^!2byuF$Y_pxn8C+y*dDoNd>Kg~)>Qj;f=At!CLn_3jw_4lZHb0c z9XO@4!Th1`nYF>!2geSJGPU{HAMW-0=i#-$$=eL2W{e9%h_k_ z7B6^`*)3nv(xTx~zJv}dux&{RCaY}=E&`pP!woHJFwCIic?-?sX`tW+(4Bo&rG^}( zA}FW_=23uqO>;>GR9Fg+Gb;&+AW;h1{AUB$KHQFbnG}a~s^5Q3Oq@fLLadUFfW7WEkS=r$(?z(;6EN_yTC~1Ni2i+%`tjfKKhCkm zd~k~cqw1zmyis}i?xZ9ZS9ad(2c^?%x$nBBPnPS7ql@zbcW=+DFe!UlFXguVL230~ zsBez6p8e7B=S3@T@4-EozMdaVm^&YBuNX0G(tv;x|y zYa$m8^e&5J%qTF1(1E1`Q-ME#kkKu=4{3gVeZA0ElAGg6+>jIr5%Jf?8V48_!W0V- z0sZh7?2=zE{=EYDLYBKWKy&Bn^$zYNnsrLfk zOQrtxhHc=R`sflCtoth!mId2>zcLn^Mbp} zQZpPDx`wh1u@Wuv9uienQN`3*cW48Z45-5-MjMAh8Ms=ttUi)b73*{dJ-D(=3za5; zLAvYCY+9*x(tluQf>l3L-*~R9eGL1f~IIIyzSH z*kFl*bIRHpDEANk{5cD07WBq1#2{liJUj$W@H0Zfnc@#3Fo4TbTw7kg={3P3JFUU7 z%>z`XBJYbAvjBB)JcREkq7;GQ4R|>?!2kJHuI>;y9C!O?CAk1(j01&2ldRj7x!| zg8h>i>|CS2Kf6$S)HB0x!dS)fHD$f7W=yR#^ZEO=f<;ZB|xR!XcC+ zo&UA}&!0a{O`c24l$5I|J|&i#nwr2kmKFz`+`@8vJ_|E*X4Mn_9B=^q&-m>=Dr%OK zXav6}j7r12fG5Favl3d@h|9V$UB^Yhz4VAxgh@gvtky_=g*4x%EIv8;o1ZHcSm3}w z0RlpprV{pxA-N%DOJ<7r5^zFUh|>2WB(wGG1i!2J>Nh$Pl9GxP`o_lM)#+GoO48ck z6po-b%<5MtkMJLZ82kF02Jo13}}={T%6} zzsH1(@#1=&ShP=ba7Bw#T=wpxerdj#{e=)OtB$#MKV0Bk9`0U7db*)=+M;l&*d-A| ze}!;Gk9`8^ldwi3DI|t2%*$vdK;H;~*@}B(z zvQ>k6O!0i6lJ-W|BpUw2Gv{_kw`NMZhpkKWtRcm&fv4DRD#$2Iz&_VU(u^p&q80H>gdAX#jaZcUtrsTlRoAq~ogM=*jmh5ZUc;F1AVSNFI)8ca8e&!>9S!p9f2Fs+~cvp{uQlK&Wln01F;v8xk z8VZYLc3-5+;Ra{k9wcoH&n#v!`Mo2JZUuND=>qQsDsHjtRLg<0EIT8t_VPN1U7a;g zA0H^-6hYxYls@xymAb<~YfIgXX1f!!ec7411vO*{6^M?G7$iMEKGQwLng*z40;}1V zLD$ngQpzv+;o{bfI0IzFGqezTNKz219y=XvR6!O8!XpYwox;RPL!``fdrZ(pD67W8 z$cABu0X%b?5*QM%E&B?K|AvzT*Nl<`ghgTHz+v6RhJTtZQkONgbTj(4vDuhuXprUO zE=z=5Mnd>%=K3mU+QaiG7mi3a(?7Bf;Z!86-abALWYC^-#|pXuH3Cd>!oAmr^N8L3 zoL~T@>NS#fQmpinhzCNXd=I3jvJO#8Hm7@w%+cHR=fU=~?SE4dyeeNdD}te4=Qf(wqTH;~mJT=8kG4wO z%95aB>_Dma8wRww!tFKtWPz8Ru{6v6yE&;BVy(&a%AUp2lM*PZOus{l6o*|i#+VaXY&hmoesLrwCITl~37`WIzPe)Q0Q&rAYN`$vA)LGHkVXJU zit1Xq?)NF&n^DMXVZc=Da#{j04AS*N#k@fnEioDPr@~r*+Pt6P&=KHP5LWr zGCZv4hzc|JjJbX#$hWTH(}8e&W(nE3Hz&XV?GG#88^tP;o4sy>8{>3fC@+su&QA^# z?)mj~30H;S;M8BVIs33lU{yv07im^mfj1hiFAxeti3FZ=JEZP~!*d;SAjR;DiFvA) zfFx>QcrV5E2&ac1ej*FHm;AlK!NH^L8JQkb0#3y-kEWKE8!#M%k93a(ji{B(E3NSJ*f8GQ+ez+C#|y#E^8$9MG!hZy*=l-IDo1O9SogzWU80BT@R% zS_BL_cL~{vI633(pREmK_{7EGsBw{yI1`|dCkYB=l$MoA%E*u>ou8fp(85m|Ol1L2 zxSv_=@;34YTv<>c;UpWZqHSOx62;EW-jBIGQ5iCx(@Ua&o$CFVlUfj|IR!G2Du8@gK$@60Fn2Do`^^r>OGf0oP0+JT(BCUK+l;A zJ%RXX_Tj@&rTIH5K9k?nQJg9C+IPnMhHIJx{YLyR3bWb%1{si>EX>@qtWGr z8sLkvqU+(B5^!o^--dqAqfwuA`H97uog9GyL07nklFOoh(si$c9I8PQ?n4daG5@rdc2Y$crC~!xJ>^1mfn)?GZ8NowOou@gjJRBH`71VI)8c}!)>WqVc(f4< z{4@|*u-%%BQ@%@s?da&%=5Vgua*jjk__x{5=KeoC(tlIcf6g+wP>T>oQZ_VM{zD@4piK>?4OJ6u5fr`5c#0Gf# zVu0CLi5FF7*G&}s(f<@SG}I7TmC=Om7nXp%+e<}!=Xw~`c|NJT1}i|6B%I+xt0|z- z=x&Z4R^#Cn$iM+B0tyXp!I`f3+cP@4B4|8>EkgfS1_Q%w{6$y)yaxg@v*k;ij$%-a zI>pJ4wo!!z2Q9l-A{#3s1*3olA(x6@04L>@0phF6Sp6^har)MP?97o_793EkcRBTa zOl)WeN$UL8R_}}^_zx{2s82Sy&vbVO>hARMRSlBi;Nj6}{^%bZ4A+lPY+epb%?Am- zVgS|UhaNBiJRnUXlu7lSeH+*W62E#QVir>5TNQ2b*VoFu3aWu~faAtC8# zZ%<`XEP;Rt=;b)bZVNRy)FN~HnC%!J+xlU@Xm~X3t{Nr^APGEX!=JDA;f&cF$Uqj$ zg>(UeUkaD~H<#}uOis3)k(7{#UYstcU=2QFpuHmq+jw!BWSB6X3$S;}wwss|7f{l?w%6L!%jx%}n- zq0HE2-_#i3b}P-p>V!_o7*xr$=YPQiq5SCCV^Tel=ohznzQz5U%g-dT!K-5$EA-zD zqD{F0K^^`)FCv=LJ*w!J!*GJ!jat1?uXFFN3nvoo9F2S5?C$(2K{)xY)WlRNXZuf@ z?dyp=(+&A9-dxuCO@F9lR<}5Bd2c7OE6w+H(NY-KMq>SY&Qp)y*mklgb1=oc4Ik_e z=)CIVy?2{jz|qAt(wRT}6D1)+9R4e)tnBI>G@%`Xrb^<6oy?v+)9IEXlLt;>%sTEI zqU7Co+SoBR9;6o5K5?+(ft^L$b2P;_zdhk=zx)b|qbcy~F_f5G*Qu{Tk;X<^wR05cHM4fJ6EiM*k6IuFw)(5rC z9CmVZQ*s{^iQyg?++Io4G7y;ef`h;-9xK&Lf+?%=Qu2RHc>@Tnv0L`fzxBcyd&=EX>XcOyN1(8Cwt1=0Sju5Rv<6S!XmBTI_59KK!&L0 z%J=V|hN`c<8-mnyOOmm5>YIw@`}a2zx#ZpEg9|U5dVT#x2<#)w>p?GMFQo6eh=qUn z$Pt465ha5+_@9|K&YZgg9j^(_A5}HAIrF2MN`p+CoCd5fpqzC#y}NUO#E_*-V@lOh zE0&SZRG{paJHSk>2TXEuwcZUw5v1gMJl+(gFi+!hZd88yTIujOv^kBn!y_YmfZ4W? zQ-3~L7Ce6xZK9$4(z3z?0^!P3PHIirZ z`~D^eZpkL2S!3!>DW5~noNKbHZcEAEj$dxEX=Ar}n4|2xPcFd7`oojND<^uR>LZ)_ zUOV=t`%)_x#k}}BdOw@Dwzf9-08IhD8<16y42qV~Ev~E#zJAR}Ah3jZE(!?=LDsJ) zu{97SagMOjhX8d=Nx3h3KN7z2R-E1B_=td-m@C-^LRi^Wt(BpuhXGPRq^*Ga#Dw~1 z9RXM2)sV(pFM@-DWS)yg(^V|aW9?^3^DhrrL$$~;)UvJZG`-xj!;zQIF`ChJg z_NFsX)G8>=C+@yYhYg7{BiG)pnD-90Mj7&nqvLXyty~w*Ugw?4S^0D~o~MKJ?UNi{ z=VOV#3Z77`wJ1hu--6GB#UE8R_WYE^EXG}urf?m#B@#lr4lD(#$;->D zsj0E|B?&bW2K^S`*!2_pQ~oXU-$K|K9j+ zOC7s!%RYE>xF@Re$tWuhp(bc#hcH}+x68G^ND~Vl(l&yrhf80xfY;(@_s1OnwK5`- zKR)w}d3l%eImP3!o^Z zm-4%J4?TTa9q-$7RGU*xSIvc0ojRqux*AiGp_Z3?zm%AnVl}%i0IO=nZm(^+%F@PQBsq)sP(t61ND zfoAoS)uOq97hs8l-|H4iQwTnrhfnT1`My;xcdCulzc>YkE>O%VU!zBchuOWKSRN|| zwT6kk*UBHF=^B`QeS`1xVNholA~l^zFUx;ab58M}=7{){BHAWxPT+kXx&y|cj7l52 zo;H)3_;8tqP4GsOKJyIsH!bT(qbR4mxqk1asL~XA} zk8p|3&dwfMH-$hqvwdE{KQeAMX3#A~Vl$yP6T}B+VqkFBXUa%JLjwfG70jaJ+3jxC z?We~Y$9cN)1(pr!y|OhESOJX!fhzj=0GP~EZPh)dHtBr5;&tXLYAta;^uffBkKyHY z-7rvh&vyaq1r>_+L4@t#M4RSUO6=L46Dj|-O^@>k9eBaOLUHz|%)0gG;OKGgBF>=h za--r~XA0xU!s_b6`c#^U**@Y zC#pGm2svAH{{A2k>~;aj=Hg+idmyp_3aE$opg_&=RE~>{ZD>Bv1XN$<%dsM1``1^k zuN-Q);1u;E=q|tnXv7jM`heJl&lF7nTX_a05!(}pk(buf!j1{;+J&+a=pw$)qe(|E zbBGM3l?%*oD%}gQDqnm z;S?>auvsY@9AE{$*UP6DYMRKYxmJOOS`}p1%QY_y{d~4)21eONxk$^vfX2T8H7p@j zEF*aHr*~_0V#o$A{IvWt7y%350=U%}nZiYslNjRu9b^pN^;W6ifesWI7w_*2ZM__N zO*1B503W3Qc#?ld?uddIUcf}_iRG_zRrJMqw3ElS#qbIxmOQk460AZ!86W?mSG-AD?s`ZZ3tmct? zK;mA`ih1j>&UGK^`|OW;a{PJOR~>rump=p*t)z)MKaf9|RG*X>*7HX5dfHIp;i=IU zv+HNAiujy&bDetfM!b{Z>mAH$b+G-t1<}vldS|h; zv=jr_fX8M8l3dWSFkbH6rS9eJ{bDl7QX7S#BK$&V8HvpfD(ILBBtvE79SrU`s?1Hp zwMR*5Z^eE9M7NYKwx_0~c;QwjCqIu605s%8KQF`?VJftg5Nc!|*mLStB88qHJrZim z(r}5-&&{FV{)D4ew~@;5kd*WBpyB2H8uXzdsleF9@~?d`C?CK|Qr^2)+X*%eaGXs1_iigH5^GmdMmKQdZLK zaB+3LcH>5$C(%&(?;ivR(A_wgjm@G)hRh|8Ti+lnGTGyEsl!^?BJo6T+S5WGE3bjX z`UhNl`)vHnm+mFfPc!iP6f60h%&V8?{M2Pb!Vx5xTCZ$tMjzO@)rX@>D81e!@wn`s zjCxu$Gt(V5Ia%~=?}wIGRy^R_Ku!XD9q>D3B&_}X3BC)1$I5Z85u}HQhv_+GcEE*( zt+KXaQL9iGZfmzCvb&d`Bk&0sY z5|_Lle^iu}Skk3S*T`e)-N@{oo>gr`>x80%aAUwv#C{1_z<@QV7kOD(^Poy}P&l7U zNV9s+7>>Sa+55J(lIXn%$4F(!JlJN{8!`UEN9p2$eZMkz(WGKe95xYy<>8nzwq>!H zwsuEz=#HiKr%%NZgbHk-=eMlO(QVEi9yJY@BVJM*uK-{ zUPMF$&<(hoWu+RsfnlGNq~le!DK10CE5_b;Edk7yY|RCrRUQ=$YzAM|kow%YbB*LQ z^v~bg$Dcn>p85KqD{NM$PM)mvYQVt*+F9Xn-p>PWP(>uFon7s6X~2q4zu@-de(>@M zGqV)o`=^YIjIb_(vpM*Q1C>V_MJs>d*neEF1+R^Y!M5kp=8m@rH0Jn7Jvn=*q{i)r_{~Ef#%IHv${{;3_15? z0L0HYI@aR^1wGc&hd3C|k;clufe^(#d!BzZ-CqoT;Gs1UiJvjh+vE8F_q7|7+sQriL*J~lQY^@NkV=jluJVF0Lb#sbhxp|WuL zx`NI$6zdPY22l@GX;pRMYcdl{8^k}y&zzCkr>%voItiYdBe%q)q)gL|FgJaFrza{h zyy7JJE|YT*4h8S5H8^nKQ1EYXr)U7GY@3#DpMHy{(Gi$PA&>JB<-^ebIaqp;pRU#|50ikl=X)9g&*H8<{3os$pV?osXZNF*Zgp@X0X(;5r^=W=(2VVPhs0 zo4fb!J(=iI3;l#Y8n+^X zc`kD__f)VGpm)hv@xK_WG1Xny{3-L+t?wXi+=ehHm53%YzOzs=_!Hd12BgHjSTZ?4 zQoSS9$8p5{C!5&*ED7_V3o64%gus)w1&qqa`tNfRb*2{$iD1>m8n_3&z%;wslDKw~eOb@4G9*ZB@g2 zXi3)j8t45U8>N|i{truK+n6{K&6dGo2&V^#YKnU$penIgiEOJco0#Br{%}AZQJ~(Pa9bBSZa`OECE`_vSb;P zZ3+C!%eQ|A#2(jlpPx2 zVH6}UC-9nXU7)^E_fpl?!A`iV;~(?ICK z@AYb#pN|0fA)FC`1o#1@rugb1#Kz-%GeLC2yC(VEk0{Pu#?a6Zc{wCU9F!_7C{XwQ zsM7$nMh*L3=LFhM&!8YBJA>(8$VULlRMBm6{6ll#r&p%|>cq&Lgx3U?RA^Mt45y`~ zEhU*2ljJ5}4+GEjx9i=&R7eOZ4S1Kp@{V*EnHH*>`0}${fX~w?0C5cRmD!J`$H!$L zb4TV2WFMlFKb8D1W}UkI$(SxqHJ?t@1&jmg`ZKUj4}p@-t2~50&ez*pIe1BEZkPSr zfoO|tF{=uV5{sY<^WT=18tUtd9}W!c@HLOCJO{yy#RN{~se+xTWkznF=FTMIv{Tg! z#6-Aze#O@muD2^|yLADrHwoCm4KMO0xURvEfE8zd<)~;UWJqiC?0A+!;x=E|hFb}V zM+U6=+8YoP%xZ~?iw_8yR5TxfBm7>^*jRz$UQyfh=l#|$)kQ@+Mg)?1)r|7?d4Ht% zyw5N8s-XQJx+6Opi7p9tc6QzDYH8z*0|-Ha9?wl@Pun7IoqO+=LqZU69_>Ii~oMu(FdWd1a)8C|8Qz z+tK~lmT>l6=$jh#_h%Gt-8M#+n9$iqe<#X#D!|sEhA^|5$}w1f$5tRyGXK7zEViDbElC7X zykji^*bV45HW=|KhTHe|^oZ@*vx=|?Ae2^JMa=B%-yd_>+deoq3NyrC#{1=&^t7~f zwC!;}UcY=l|61i{Q z0aGR5TFtHB&rS8PtB+B!FN5TqD-wmLn(VtH$_GkVOIkOdPVYuNdpI zU{hX!M-eY-c&>fFK{Z&W(zU8K{@%;1EGz@qo#2jMyi0XDnRRjyTBKc2TiR$u{L`3EL9=Q2Y;f4g@>Euwj^ ztAIo^!1Ss#IYt_Nvn5DB?8X6Hj5j&xCfN`cY?f38B?aK;* zIB{{ZtlIS3{a2etVriuD?YG|?gX1DI=d0UCOl*pCZi)ZcomM$`orLR0$4~BY+cMwW zOGE5?N!!QR%3NaZ!;95{oezAZb}8Pu z{rh*TuBA{m`Qv2Y7yUXsvH9fsyPq#l@MeE3Q(Byi3T<}iy;A@BNcB*EzsSy=P5t7p zU%h%YJgkh%3M<{c{b%(<#5^Fd%gWl!%nT}?3v-whVvRE#71!YP*ubfn_{Sfy2d&W{ zgHgo&^h|uGK7S1;lL-g}(+qcuO8=E!fU-Imt>B|akJ4oA%oWl(5Qz~=cL{>{t?LKt zZ{4~Du}W33K(<}5}so9VZmK* ztpfaqbg2ldb##hOEtgC~085BT&J)85ntWn7T)X9tDc5P;M)&`oc@$qq} zv@;(!mT+0@9gfVq?>l4qZRe35js|2B@g)V~WWjrvdh|;3EyHPbh073LnibaTiX%r}eAuIoWr1Q1yGb%#*hDOtI{D)pR}HR+fa&IACC`ez zzCJ$k^Bs-4slw*}HMamh3p$d1y8p>7C`v5;zQ8M&+dDd%&an9_taiRp^y--h!9mXl zYn)7f`2Qp!Tfy>q#FDZv`_E!A)z7^{QS!>>G-F&sGk4O8msASxXTAHN2xDZwfkTwj zv9)&cp#uHK;pa=+gmm>iE{_cRkGnib+7AXXT0wqd{kMPeb)H8d>qFauC#TvRVZk3Q zi(ydfBGwF}Q*#1pw??3FH)K~UNh4*Nl4)J9BWw$54)WEaEbL{6@ zSj2-pQ0H>6Ormxf%mxl0-e&&p3jZx?3W`v#+E<7sLHCKZ zCYkSa@>9?wSh8-{*H@y&3k_|)b0_fF@d96(zQLNq%L&r0@yW@*K@u^Y`!Cl!Au=i) z3Trp!GBeSD?+wip9T_M3N^>|4{5iT?QPN!Yd3e`%dBgf)MP`%Qs!9LPyM76eG%17! zJ>Q7@swqM;dB9&va?8onyF5tS^xGh3fHMHsO9L81S65fgvR)ZjFhD-=@f8Y8tBK0u z-tlyB@LFFv`AmNM@S8VKt-c)`^aDl++rh)K|9op2nwm=)PL#|_7p?EBG-dYA=&apU zyHvG%MMmyU+4(MqAz3aD_j?L_d*nrh2LgY!_u{@IsnE;bf7z*<=gtg6vP=Mb0O|O| z4g@6O^`U7jfGi7C0HPKh(l2qqM1uXywQbuf1|1g_!NW#B$zwg0Rc*a(^3mSZhcKaxsFsgs@3PpcQ`^Huv@{$42ZLNSr9 zbz|^P*;2KWom$_8_qjG!D&J>9#mKoLRAo;r;O2j?M(^yQ?riafGU5`Iz5RQ9y$*)s zBp~cSP0LF8526i3%W$w~uZNRUdtiqitPcWBZTV3Vam)u^1ZGhFgf_!N`HyB=r^&C)qBsb zR*&90^m9~Pk)bAzE<(kE>ut}Q!(Vn}$a;2;wToal6$E?UxV*vr<;{$U>}v)y0JaZl zJh*9zB{DDq(XU>pexcHx`-big#0dtq8?k@_xY?d{yq zqNFa?CusSpiuF&EyVZ-l@VqRx@aY?rcrynsSbEjdabf~2C1G!ckgDqDQv_+ntK?^7D1di2-u|CoJ40w~XOTmEYcacyjHayH zA-i`um!2*gcJY1|GttL_gU8Iwsq3IJ7KqDZ1-*X z%kA`^FG-?tSkoWomDl5~#XFfIwcj>8!z-@MI`810pNf6)WwYMqz=MMc*LkiT5NIR@tcdXvOoXmF9h za?YaU<#y=)@%PKKm47N{IUf3%UGqP%*4^3C`9|^N^5np`BFnQo{&NTZ{W>DzAV9h! z*~CWDPoFE$KQ8EFd?IANbXmXV)L^ySr>;WgPjiY3du;WEg#9l^pwNF+U)*PUe4d|s}A+L@HEr^GKZ67_$+O4jF{yf zfxK*F;Cgae)cb^=f|l2lO<$@{>@__KM`+oG>#BIO+xy1aTh3uBaDK<_OV7+bw|HOn zUTmkBc=gy_>+HkgPVMI}NnOrk;Y%+_s~CNb*dP^UWmqfJphgBBo@eXi=x7cK3DahP zL+liue$Q8LgUZSu9Bb7+1qB6gD;a)?*<1gAjoD`# zrN#^EZL75sVN`nJl&8zR=y7ZvIdb^LAO=Oo<~_ClBVbPH>kB6cdd8eLHn}Hy*e*QI z+PYP*v-5@L`+=CpL^mzby>~wBZ>On(WlbJYbgR*wzSrmB26_3}j~bWpL5KsX{l4Iw z#Qp!`>~3u~7E2;DA!r^B?^#(v$*G}^h{+t0+8?)fQ}YCcg#559BIcW*#_hY^(11?=)TvXyrPZ|3g^g;Q z6E~*IH*F-g&O8{`6=+h}Eo#4d1eVX}$I;LJ`*AF}>;8_sS;Sh^9dmp^UWVu{j&bYK zu(!YN3UI|FPeyJ})~CZ?WV0~DRCp;lH!rWNEI9W1hvlG0`ZYct`JEQ5bgZmF6!1W*38U2S0?|H zdW59=OgxruJ5^NfDaHQZKJp?V(X;$?>cSIm4_4EPvuWPf>Jwz|wu~NmCV1`EVq@aQ z2Zjdwl)}^&>Fi$#dnXxw7QTyX_#yq&#k<}!K}k!V`#!;X;X9p4Nym9-`xqm6dG(B2 zYN{j0?oD0`J$C5O9Ylxa{kgeKa|-z(0Fo3Wq_-v@`_~{m+U-BB(VEc$sRkVq1xp_m z!v)z5=J}k(V`KG1MZ5W2ltNjpS~a>C{y)~}?u|<^3qqnG2*m6^?y_3$OXB-VH2oGG z{O^MNPxCf88JVs$Bl#t>BEqi(omeWW%F0U0BfACabFP+O=Yox!&R6pzf-mrohVAK&mi{g)TLpYFtRX+IryOOajUZ?(`|GFvI3E`7wf8GsE-dW8we*{qAC4j`=i%=Zs^%E<$tVpIkBHH;u8#ep8zJGb4|1#Q>WY7iwbj58+i`!DyLR#Fn z+md)Z5Pw84o|o{vQx>Je_>Y=Rd_)-A>$>7V4(l-EV;Myzy4h4_CF#K;lYtj|N0FQ2A(Un!MoVLgdwxT zC4yX^KU!S1zq@wE_OFZB?4tTgybd}4ca?VOlu8@~FSe84^Wk_wV^s#$feZy|{~sMg?>d0w;^jD*B%?7Ba@b zn)(DeaJQnZ9_{5-4~G~DOZ3mi`#=5LbfwOqH^%Adv*$$pLGQ9Ee<{>S2Rn;@MSqn3iE?5(HiJCB2#Ze<;$^%i`T&cv;ChSldv z%C2Ywwp4Zg*63MQ0pUq9{_f0{QlhCEFFeIM3KCLK($ho0~b0&il5Aol<^ z{ArD#5k524tlWH46~hZa45E<&vgBZHhpQf^`++MeG3z=^Wi?F4%W17{u~-by_eYj0 zMKrO9P&3HvI6|(;MDh1Om0DeN1zLnP9#Q>8isX-7Th%V5e9dEs4i%bY;eWs^mzRGBEgNSC)wzOJ`?9*FEh zXo65$sAmxzERA}i^^J`y-@et~yjjg~g`I{1xF@C~!6qa2;0V&WVRQ=s{Zx2vT~u0{ zaW@s`wrx?p+j)47o6ZdM9e=#Vamj1*GooUPVql^ka)*D@7VB-x4HLu@`x)U^@VAZo zyMq>nzDC53LbK=M!r%{z1LGp70HSa}WE3I{#DJT#YU%t&gGYhOU+}i-b zfjZ_c{u7t)0lGH&31G!*Wo1QrMur9k27ro*b0C3K;ajJrp&{lVfJ3R$c7>k$bxF6dPm2+g(?-wlurA}ozMX>^^? z%Ah%{Zy>03m8s!k3Tdq=hZB#yx+4YW4`T#g^-!GQMN7S>SR z`UM2w#9MF8tF5d&9M*|Y@=6)$YPk@~8Kfmf_RUBiy=^SS@}cZ!vdh6*VXaienIks| z5|hj&7d9-!*!+yX-_){v>80;?H7O4lnM{%klW9jbDN*VC^QKe2a;)idj&BXp)l&AH z6x2B?QgN*PyXr^wm3fU6qh6VL@5?pU&M+;-r`*d(e_~HrIIrEs80}(tKrQuXYXsqO z$$kSC{yQ#@Z7TKSck>rkcu6WqS-s1$>8aHbjvXZB=Zd!7DRe{V$~jo)z{2rtpNBPI z0&eaBF5s(_mp~I{{EoV7CW3Dk*6sSzQfF*G5#19fu0~lSzQESfav5hG`i%v@ojc2c z&sJ7d!R-A5Er*}LCgFmZm>6Ur`%O$vkKVflI0cc~5I94#giZ!C>=YYRVdi0OUci3-IzzWnV2Voj{~gi;S!+?UpSNQA}fpvY(`i1H%Frs0Xw) zSe=J9r7C!+c1lZs1pz0JT7h?iBm##6b*gkPs}IG5$e%oQ>i+%vitdA5Z{BeBGIWM- z{;c=gbLh|^Ah8eusPr?^T~A2ZQo(TU`{H86H7sOp?q_{{j8eES81p_fGA+;OpBt$*F^5y$HBy8Ge+dDdn=^YF!ID|-jRD7rD-o}tMXg-0> zfsC^KM*k7=^Pz|2>W<=sq@@#Qb-RQqhrLhQt*C`du3>H%y&qwvyYk9ui#n1TI^cHE z!KAsxvID~sl9I*t5IH&o*NI7JI()zf-X^1YGgr{vp{LCy&O365go;wd`k+em^evBJ zmJyOtlHEwYh?;03>mkie+OEuU9hu`Nb1^WlBTvw>WI*FV(P_yejYaoqx5TVmq_`c` zUVKHDVe6=+n-C}8`W8_c=C(vwJfcpSQI2YvF-u4{1{dF|ljvIMiYzJ8Na3p)TlzHg z@+G<5!~TwY)CXhugP?8m+tcOX?oME(F94ws!GAsyw)*H}9sO*T8i>-cc~W=TO-ndH>g zSM^UFS8h0{$n40Y{O7J*Yh9bak@`nNhUBrLa5#stfF?CVOquxSmWN?mHN~W_X569h zYE7YY6{SwTP06EVMVo6BFUM{-b;8^_o~Ba!v1??)@96DfKWhZ}uhGZ~PR>LzY~M>0 zY!rO1%%D$2?Dma=v zSTQ^!j*hE+SVuY$szVU9^xKuZz@snt(bFfP?$Tbv-J}|@z zV8r5|Szhkb%fp`l{{US^IPz*>@Pq6GP|HYflrMz+n&+unLf6tP{Xt|D5ugYO_=t51 zLkebpCI}o=$Jsy>Le0+Bv0mD)Ocr*))HEynMt%J^91gp8V@cI?pW$o_h8dmcHrH7E zZuuj+%YYGp&UXH8J!@*p zK=%w*K>p7r1NZz-aT;M7On?C06C7E}ypom}&LQK_whzW&7^Ot`9-ROIgcA*hq%-eZ zdDygEKWUP3fF3R4($fW#{|REkiab%KynCT*KAd}3&)qI4;2k`33h4@`kBYcHif3M7 z(kMqCDc#=VK<%NUc@5dcaQ@9 z5oZYs{$B7lSIC@O!~d*(s)G6pn#JP0GQ-QE^o94{hOc=X0b$ByyZoWM7-{mywrF+`kEPX7ccE^5UsTh6vI%h;$ZD6pMS z$l;iLr0NgBqYYQla1kj}8YZe=VK{yM3o>IOJ~LU8@n{7y@TgF%4PSt_i@4Er&$sA7 z%=q&4Gtu#nI9D-&X#0hz)bgZPK;YpdsplZfO1P!n6o6K^7RMGCv3!M-X`8Z9y5u2* z6Qtj+l}$bn(s&K)Qm*O4n_l1Mhr|KK*|_8Irsjz|esIK-_7%NNL(yp*`PqM7Jx7N@ zl~H>jM}3EZ+ny&}$HC^pd=sZj=MoH_BImr{JsXMGLrf_bH*MtmIc-`UDt~s8xcnGM}6A+J>M zX{eVOXyN&$BF)%WvwqP`#LKrqcHp&B)HRo#y65Nm<^HLCx&lqiNktZE&J$vOy*}qR zE@E+i>3Nc7pWx))h~bscLk6*dls8}aU2Rr5#?)Z->cX~xg&mL1r=&(plrjuCv~pcH z>>_AMh#X2Bs@Zg{Y(K>`5F2vwJTrUa&V-cO^7(bh(@s3kFTQc(>!(j=r+c|pEmzF9 zLO_$>p$xJg{eUt+r&I$r78aj{H?kPxi;qcZ?_T@npn5#@g|MlHlC~wp5pR{4(hwHdvIgEfByVB^pGj6BOPO3PQSY=>qq^CKukldp^-aa1yXM2b|yL;p#m=A34`O%Ja<`0|I?DRwY6r>N)pYWLT z)y{5J`8Yn_4_VGh4$?ekK|PJ|7%fLHFBuzd6&lh07-$hXL>kYG9{E;kW<*=q$ESE^ z`xC4R-23^u_%WN6g(f$P7U5Ml6y@)Km+S z7qGI&`*@T-n*N|)z}FXPSMUfCdZLF(MGvnGd`8S#-CP@WNDXca0cRI=jTIZ6ToO)OC^NXZX2ooyg@}Iygp+Af0rfIp#I2NCn zXf?a@@gQ<|uHae1rY1*6VB2C8@tFEtjP?GJ>Kd1}Bc$}_vpR%us;JLKsdG)C5ZpoD z&r8SjmNcGB%WZ9Lc-b~3%w@`4> zOP>E1xDaJUA7syqbHJ14W|*cO`a_zsM2M5lCH zsj|ghil#7k^`I-3Qrf7Jq^&eD;N<7nKlGibtqfjz^zdOZG;rIg8P-+Lqb6^-Gla_@ z>JsD+VKUMMj4_bmrGfzj|E~bDGK|JR&uqPBe_Kixr2%eYZzreU?|T3d3}fM-5Wj!- zE*j%7jYSB!~cs{4eZN ztg22B@APsBd9)3}MZ-df!91nmCf{9G!m)kO!sGjd9&tNN$wYbmiFr3SH-%HLdLd?G z?nYQeID#*5k|lv5#%Aeds4p)5faB!(%<{t}2l0_|2P9Epg(8tZ+L7#A@0GpTmg?~` za&kVnxPj`Nc&^W-$S}dW5t50c4s& z1=lL9tG6~%P|$HHogHwnNx7%7BVvsvw)`3|=hj4$SbtyN^HSOyQ$F$~z<$J%f?Q9@cU^ zb>*x$F8Xa$j{S16qI9K(efFH|*rxL793ez@Ij0QbT_vAM8rK+e+c<}*95dm_dz|A8fZ~v9ZC*W6X ze1gv}<;h2sK6Oi4h z#=lc7b)A`GU)pFOq43Ge*DoUY$mh*>jK8M~XJ7vI>9C)Jl*~3U>VKF2*Bw6xynJxZ z@WeF%cCycn4_h^;lLZF%%K$2A(dMg7-FR$RBFnERawqX^v_i4PYz0|oM(>>JZjnE< z%>4XTE3Dbl!3!09;aaaO8MyLC>n~;8@08WL#{!ToGdjrJ+eV#PE;2g{W&j3F_^b&47-j-LBAhO#ViR)qgvi)*P51c(d#N~Q53{#x#+_gy7K10ZYC1EYZ! z7J3&*@3;>URETgA<(92=ifPVHPAJdOHP6k=P}?~y?bnX8QaZP(^tO8fE6lGZH?3t8 zkfSw3zUZ=XzBo23k{A%}(q-BMm<9Lv%^PIR1mO)XY%=nyDk0JjvKmxIP5z$_p5%*J z+957}3P*+q2cOJuL~X(MXoF-f_^bMNB`}G#la*;~$=$I-0WZJ}b`t_+;R6NDnA)=X zkR{q@3rWjE645cCu7yvZs!K}R7rwKIJ#U8=a2-aQ+FD{9$eiy%4U)zmRP;H&fT)7) zl+oBBDQrx>@&)%|QNWfhTTnrCMv}X{M@NEdF5=tpIaRZ16bRVf28Fs0zop(g_e&+C zEz}&)zo z0ta#@tS@3>ge;m>SzdG&@XW+?H=KGcr4pll8>0MOGT=rxLb90OP{i{3tV0IBu|bUH zvHOi>k9+%J7wWFs2oR{Zw`!oA%ehD{}NYgYVD(99a zyHU|~F^ZNb)#=o=DAKT(P-#m?F{~*@(UZ^?E7_s_HN32_U4R*}|;)v|u;MZ0@%)5=YC)tRVM=~Z=Cy{Z8AdqUUn(i#QNm#N;Zr+~9$KVX=6F8}1TVHs=h)N4 zOM`(PrB$xFt=k_vE)bkN{)<48X9*O zT{%?nV2$Qd@8y)5vRT~rFV6lO&0ZTz4UE<#4QD8G5*cqH<(O^b*S`;Vx01z;eRC*g zX^dpvlGnC3a5|I5eB+~xqe;99e|@w>(L1?VR-fn;7p-|Fxl1X$(TT+$%P5S7*tJF* z@>7(fbu3(cW|`y?QhXb>t>&jJNBi-YxuW^6cpO*t!;EXC07-Oma_(czYY5Pp)qye_ zqvJuRV=LClZ~XiTpOl;L3&nJ00K%y%Ft0xO}6oejqkIY0NSr)zcX&S1$L_b z{(g*58x1Np3;H~=dzET=#t}H^uk~Aq+ek=AKzYzb&IKC_{K?OhO^P2?S6sWct2iLE ze8LuvI;!u$ zU0CX_%E{?zBkD{8OhXP{a)BbarMWrh5!OJvpzEQ_(`e@%Y&a{?LSUd`_OC${0T-uQ zGzEFANihQT1pNK*(t;LhB#$#b=|9^~dgepoeq338T#3C|Szv|I(paqcKks7RwvFK4 zc;^mM2-KfMl7~Fw(&5}~fc7MMlMs-#hbU_IW)`amOhoS%84I7=hbU)$g|Zm95Z z=eX-F*=K6Eu8i;&Zql9;`+0-?+cZ>wAR zPvyG9nha2JQJ5IR^Y@W+@4;v=4LdEemG!i(jjTP$c&l?-YfpW%Vuar-Z;so8vYZF4 zo-+@cZ&zTBUg39PNYb{5VV(D42-I3P|8OXSmR5Muvyw(sVK~}DxJ;g(G^0;{ zDLXrnG-Ja+W{S+h9StOK$|FEGaB9dhY==@gdSq}inzGW4dqJzLMbT~651#T!jUBs~ z3=h}7h$fH<-W2Gf{pJ3quK4Oz;dFT4O|-&xzkl*1F1@gC=1FHK<|E>Q=sMYkh4xDX zZGk^-I)DxulI0gT$i;=N2(|PCf`!lnGm)|%n#J}5Ek(`*GyuvfDm~ugIhdw-`7-ye z7gwUz*lWCz7^-_uSWQGm0Dac{+dI;JNe9UkF0UG-lx_z|!Nea(<>H#HC$lol0w=SB zYY3Fm+rzA_qkG+IjZf<8>uXc34LA{qH5*+a{0>n(5(9N9 znj>`{jkj(Ur^+d|pFZtao?b65owS)5DOHT@STp7)CefCj(CWcV4j1_jyDn-1Zkgl9 zr_$z9(lv3pffuvh{bz3vYSXg(OZ4OuszHlI0QR7XW?$~P4R029U%=eJan$cCMhvT8 zUtVMM^Tp2WZIT;^FmafD=rmyNKf9A{0P(-G?AGda0&1Z@`(YzyHtdj7Lednr2WR%= zBwL6M&I^a149KZecZ@NMYv@{0aq55Z;$fg7k!}TaaxR4XYK?PM4gEf0v5~7}*0t`Z z=*vwIdws7^BWLYXmc||GjcC+DyQt08rA6Sg)(%Uj_>QZY-RGwEU<56m$ z%{8RdtJE}5;NSO@{=838idWUWR~a4D#R5%!#b<_(ouC34(}r>cx3SXk9yYBjgl?m-P3LT(_Z} zl7E2JavL|cs%kz@F-fe&wDMMhR-isQ?t^5FabtejH@1(^7Oik{b9XSI%HgEiFCwuh zP>`8v9pZ1usPN0~4=LMDZZ=&ZNu1^MwbW~|wbs>H`C5Q1bOo4uL*}mG^oVylqu}?v z{c`Gq?`K?G;DTfv%Iqa$xi~PJV(J$dNKDa_@P?e7eNBbD0n_uM0`+wZbj=Uus|K@3 z^p_d3LfA^pxWwoUQp6lqLnmivq}fT&=(!cArCFRfA^gNOii^e|E?Gp$k)7`rat`*L zUG0T=7j)vn@TPNR(Ui=w{w;GiHQcBfa${aPW%)h=TxKBJ{nRL?Fp;sZ^`tn}Q{%93 zUup)Xf3Jv)SgmBSaYNk_4Kb=Si)`Ec##1Wo3M42G=}!@?2i+CFx>(#SxP9Sxh=r}w zO2W)*)2olW)tBwx_lz|L{A$0*GBvF;+LUo6`Tfx~xDyG6srvkNvb1i|L*B)cAf<*~jC+xNcV z_?JNYIV!E0NO;yMm*eMsrO<;B3|-`yd_B+CUMh^jxYp!#vcddzZBIfp26_wc|*7-=R}i zFDyjYqtX=qNBwi@`273`Ad`zH59H3;GGkStB!^w02z_2$OiUyXL=7cCvCxJg##veM z;AHgi^t?PmI!&hlqMSF^HmyfqzkdDh-S(@QD<7nMwk!4aF4^1fX9}bJrv>`!CzH$P z0wV?Kz=GV-Jh8~8!o{Oh=5kcy@&JSWkU`V)&l`7g>vW!WMP12B|0b#sG+O@s!Q=_= zAA2B*_Sn68r`_nOk;#Z$&xZ4)_MnX}>;4#{$fh%v@#Jyz-@C?!!!_3|%GeU?+f#l` z*)Zf@&SZ$*G#x#cuTtU6&mTzJWEZr&%DlwNZ$ewSe`s$ClPv$+iX%Po2*FXgco9>c zkr+DrQxu6M*<(M-4-8&=a9TR4zFxL?b%;&5nKX+|B}g+y^Xm*|$|7 zt^KIQjWI`e6k?GUP$Z7Iy|8SX_HQ4V(@8bpl4*iEaq!1d1pWJ1BwB z*+r4*%rYJ^VLUSp7xIqY_SRkP(cag%r#(&*G!BN!G z+&op;zAd88KR~9Jc!+f-T=3VfS^4E1x1@U<%-tGcj~L$i8aQB$|?r* zDqjDtHi*!9LDsaJvSkEDyGb>pIbDtz=plD6%Hf_8I{@2O{Ao=d;iJ6d+!B{h}p z$LvDu%WzYMjX-K!@#<3{3^@bt3pYZGS!T9c*KU%(oj9f*5;9e>(zpC+*SDWZp5!)H zevgD6INVpoG?01k%@d>0{RUh4=_@;A%Ibx6t{gFLFE1DnnDo@Dp&8aOu-9T>b<*h) z)1uqrd5mpHwW~iVB`^9X%TjWR;BgOfl~6rU2Om-c##53DwOSV_IJTxnj!A{Vgq?cL z2sI_1B}!U@S{cfqDj6Eu6Mu|ZI6NQX}kk8K52e)5E)TnnF1$pyC-GXRlAT|Djt zf@w-cZy>2Vysy9UBp9)!rKO9i)7R*l5Yg)4A>p_Ek>Ocgv=_4o3|RUar3X(Eq4V|g z=cdzl-;RuE@vc%xi?@pwT|uSV?~(J|K`QsTJJC|q=$2|Mt8w$OlXq^-u74PjzkXuH zcUPa&EB(dU(x_C1f+hbAW*()x^E)NJCb@qKE-UsN5OS!|FjU?g{Ic)YX~yRZXPti( z#!b^7`{KH`dF0&S1!2;OBzGn6FX;QueA#gQI(dCy-$P$2RJ!L08+$xTcsHKCw#q`MIb34>5TIz;J4cysM@ z?>Xnb@!tMpk3HPDSZn>hG3TcyiS#Ne*BF0tWGrw){`WKS#11Lh4vo zXkY9Ou*nr`hCgn)C6Gf{BsZI)G-$h}Ou+t<`Bf}ooPiq!6>I{O-Hqkt&$+TF7#QJo zbwcUg^e_i|0eWaa^g$36d5~08WCJKGXp%rTWNiK7FaiyDet__{-5>`C@J<)X6*z;7 z3kzk6;CsqK+{CbrL?M*=><<&5gwz7om^qJrzL4c6{k)Fte4dZ#yaVLUPe_g!9vX@~ z;KmI<ElCrXop5>4*fM^Nu^{2IQO<%gYE;IMgH$ZgbCMCk2xCoA5e_ib* z>~>gN=GO=_rL=#?p<2F@W(z6ge5adX+Vp^e8;m{x;1u~LK$aKcJoi0!+hk3~sCCft%sYUbzd4w#&;)vDv$j7X_IW<}$!_3^n)n_A+sEN2lXMa};Ly^Y?E&989(n zP%E%gWa9x`*&uEmCga5o*W7TmR4!@^%iq!LXZW zpdt!us#{A+3h4%6%K4Dby_^3j8xZG8G9ImkoO;}2KalCjFvcIxv+r_?J6G2kYi54E z=Z|S7QbLLU+gI5PG^1TE@T3WoIIf7LN)u=bj!);3an3KvTIDmV{`F3-Q#%)Ky4`4o zB1SL6qqVO;?bU4bthMkNBX345Y{_Dnc_oK030Q%vA`^&opiep%TfV{IZ^-Noc_5~ zwQ3U>0OSTGibgERaiVqc7xr;c}08^<%ukApQ`WmDCG4^l;yhr%Vbt;;PFO3=APz z#f~Ow{ThZ!gMmS3&#=xC#igxS7|0Aam9Pv|UkNa%VsUJ%{wxdGF4kv4Vj#fe$a$s- zLB;OQ0-`S#<7 zq`3GwaFo!?x*<}ifu90}7pOdsVVE5I3LKG8OhFRU-_t#-J9zJvna?3(8sXJ!bTswA z#lZ>Yh1ed%_dYhZ1CJY?6L7&C+s9BmgJ}7-sHi*SPyoTI*#k@f*eu*3Zj%@rG?3kQ zYpy|k0cj>MmI(s%;4h?nE(dKPq$mLD3mrA-gXbXQ;NO9U4(8Si+K!NKUcwYYXbX|O zUv7QbghJhX0J2isd@o2HQ4bKb8YqWcM3ih|ya7&toD3u6#Nv{YU||41j^J^_3oSIe zVnmOFi4e%0z<1MBU(H4Nci>lpsD|JUgoB}=`#@a*Xgqvm6ciNqKit`mh@LIN>CUDF z!N4vUj=okXNvgO9k2N050}IBH~FbFGI8qvS~o8 zIiW>&I^@m3un}knR9v$`BTOxYAzL%PX4dXilM`AKOor?cQD)kD3~cI8qZU+y8jG)? zo4CXD5^u)V5j4Ym8e{;GFHHU4$~T`K#H2-m&*#l!7EUjX1ED}O|CnsPON>_SvZp(B zJ0L1HK6ZN3Cs0#S-Z&{UF)=+xzdTyu=46&ji86Cv455=;9j2%HAhnzyy@Hp#WH`3H zK%C3$Pb~}0St3i>K`R6slpXg}-&R;I<(76-99I$*#`hPvDp#-L-iD;z+;?9b4Gv?` z4AgDV{=>R@gGMn_)7TxZd|qy2Fl50U1?yRm_ZiYyMkVFb+%%7s9ZhlYj}*w0_Q0EI(+&_w|YtB6PgREmg&aaUYI z0z%PyCnok_*+TThL!c`l*PZYB7>`OsrWSrP7g0oREyNu*)Yb;yy*m7?0onxHRy9bh zgTPr5*sXwCOxCCu@(_@Ez_kR#0d&rJq1E{?D&ZO`B7uX2rsu(TolxF;dU^FYcM*ca zk7Sk~cA%xNuk@o+Ekx7=XN`uuvhpD0W0+fmmW5K}X=#2w5h>}nay_oizovs&1-P4_ ze}=toE^{~M8mjr~OIR9Fk|Y7Wa0Y<)3+wThBJ)oQ5gcAp-AB!&Z} zhYBLpG5NrD4cR2H)j;<;H92XSQ-#tHO50sqH)7teQ+T^Bm4us^Ujw*q2t>fb!RN-z zjbn^mxbYI|20$9&w32-d8vcF3;GcO)@V*L-*?q$Zx%CfKRN2Sw^p7>)asOiiCu0nq zH2yy9?4TJ`9Q=yi+-C-RkrEbnF3*2e@e9%G+6yYV(N5 z3i@DZpV*fgL;mk3lEaqj38*KD@%~Aoa&DLZuk(1zaLzk}QWL5)RGB$G+W64k>)OGfHa?<>njQ?%xHpL*gZmXw@8Ot;jAcOvUNq_T3p`GHj?|B8j-ggpmKal8b7Y>P*YPwUI*OwTJNi-s38AqJZ>5hqui)73E{t3u!w!YP z1_1fy<>e`cePlNt6>|J>3X31~od|n32M2$Uvla+~FHUyYn3;)Zo>pfAcwrqA8_QR+ zR}WA?ZSBSB9uw~Kniyt|zr!qP`JmMV)-NU^qHOSMRZ^G~P^Yj@;P*E|}1qwsvaAepzlz{?pQpee6AsR` zCH#ULlz~8);sgpuI=djsoiGbw2yePuLj!b<%Cjvpl$u*-baR6AI)>>6Ij{& zu3f3s$czT>88wtxw1)gyzuS@6%gV8m^<3Xiy4DIlqpT}k@O-8AckQt_`kq$oqfoQ9 z8gH9>E|QV&T(}8BB=h`;F~V9*q;GeN3q?ofxHNIMi>h=+cNDRIjk5QVT<7{i5^TU7 zlg~c$n=zg}D?fTcyYBK8otKqD9 zJdxiI6%34!fD07EA@QEJF4D4{wKWWx=tQ1POiq3QrG(R6DagKpvL=T54x>~>B!u_s z++MSEh9O@LKH86MgC9>K^e988u$NpUXi=~Z-UQ`4m!8(;v;3d ze{u-*JmxbwMytxr#<4EVwx>vsoqeflI`-;HSVHQkXZDUeKALT@bLRz@uGTHiw=1?b zUyip{B+ki5)M#qhWBCY;#J#&>RWGiTNMk%+Tu6S>P(c3{a(XjCZjiPPEr@ zQ{LPpFU9{qaAaIQ$3{*!c6yK!xerxga7lHL8*%hD|JTLU1gBISl4#h=2DXvR9g5m z8vbegcI_trQPpqhhBM-8d^YxkSRxXU{(u(8`=-=vE0BmU8@JC0;szL*%>?tap~nJg z^aTBaFeGln#R7XB1WzEGgZ}R+i&OQ#@;@Ph2GBkzSOAnL|M}W^7-R@A5kv&ISC76t zrGNWC5dTqV@3HNlj`8iA=(&?FJ@+;4fOjxI8TAgH_9%^**cAo2q+&*0(==Z2+~$+O z_mS;N7vHS>p9mj|MzyE~t>cf3UY-k&Yhdk+{S}m-8aZA}Z^v@F>%?E^_o}1$q)KCN z$Lq4?dudpraV#BgWlp%h;{F8v%0syy9ha19gAe5T?8!h@7mr75AI=%j*mwe@2qwuF zTWA2FCQokbhUI7s11kQS`SeFhleqW8C`A~TBON35|5|Ikv%l7A{I2)8(KX6s$giXM z{!sp~-ZU<+Lcu`S;NZ>A+Ac|rRqo3VV8NjFX=!mIcV_dDI(T|ql7zw5Fx<8`8vNw` zZN8&-+dNy%1r+gP);E#8nw3ozZn`AJp$cJZ8+t$u41SPWj&VxNt!g5~fIJYL!mRO2 zh?;{4{Yl!P(j7yL@Xkz_o;M8VD8$7A=H9++|!6AO2C zCe(j&WVxHPbg;kH+?S?YK&k#B!`)KCd60pJmv!rtqA!;>50k49{eC*P+?6aBeR2}~ z0+74X{0_*)=i(7%?zM2mYQs2bTP5zfdZDZ_fmVc*D zIqOEpo|?I3F)?QL{#mnJN5)`P@nru`2(sm4`!(bLVNq_ZM}4n#GI42N@702+;{RDR z|6_RLAWKW*5QyRL!Xzfa`XDVI4}1LUL|{SbPma_6Y@aVL@H~A2ar-etgefn2`b+u< zvPzP^3McE@_>}1?>XhgUO3Tso2ZsIUwXv_eKI!n^{Lc=IL#E4V&MC$*`5FEzve3F) z#~yW7{QRqWtK{ZS4#||Dw@EK+YXwxzbHhxPj?b1gf&Dps7<)%!R^<4_j-V{PF2KJV zQE@sCS`_D4|6WO!+gY6KAA5efPxY8dxVK~c{IF%G9(9^pRMbm~qcDS2pH+mFZ{d|f2HULNN>^ONU7T7sn%UvM9z3kPSE zeX8F*yX+|szy&9`xT!Kjp5}`0vio0J@+TbnJbFJ}Z)sp7epKle{IKk3uC1mZVohnU zC4DHaE-K=Y9OzRhqnb_9sTCwLds|xS>*#lda@2k2n(l7<=IC|SJ+=cJ>){2O^?2mW zWi&?J!3h1pE4uzdW~h#?=c>Ha70npd2Xgl@UkrqqCZ@oxH0L){{_Lse$>6|`5jW*< zV(-|Of7(BAm6eyU`L%g_FkSE_8u6Z|9EUZ;>~0rzJ(^sy>?~|Ozv6#XT0wcTuVp`e zF5vXc6}xG7Z|@AGj){qhQI`t0&AVF z$@^=vZ#*fLTcbOpTDFi!4L_ry3wsn17Vs zan&60riV$=QCu4-Nz4OV?Fc)sXKyTS(;x)kz*s)ogHy|DO~rSASET*LZ%SFJ4(^Ul zvF1c?b~u+PN}aTAkNBs?T#%o|`A)SL7{fWoHZ^ zt4rzGr+bGviP9`>d}_rJt^I%t)YH>DpB*39jOPSeaYMr^fKgA^pcnIK zRCUdWo{%`5PP}K(H2zYrDkZY))tlF*G%>9ItRLA?bNFBtMb$=WqFMbknu?AUmOFtp zDNEmiax$w)|MevmM8ML~MH>C5SY{-fPYvh0uFa7@d5s-%OHy&xyI?SQu{<6{sheL~ z(xE@!jpF@e0>P&Z*X_m$xOTXtY=TkIDBb;iXI2O49!PC*M>5 zWPdsP`uia6bKOhdR@QfT6;GmETxqkWX~hP4_6O4U?H_x1c!1p`uVWdK#|*8n06m8j ztY?HUsvqi0{X%T^l)HcVn3&|djX8@gWL~}$ks4mC1d59BAWDI;MenfvYc+gq%*din zOdJwD4T%ES1&F8lEhwYgDAG8J@oWZV$mge(O6lF5KrZluQQi^J&-j)?sS>1{L;C5+ z^fB?ku+r;qy zlzg2ejb>G>+`&q=yT$%klBeRaKH26F5EnCn1;~=I*w0HW{%Iy+e*J$o6Iexc84Wc> zmFchFXV@-%A6#+QT58L`eqWL2RAFaPQeKwnue!}u!(R0O7q}YVzvniaV0vT$4M$Ux zSbtQ|Wpi^gL_J`ykzt~OMBvO{ca-biqoD!|wG0nHew`jp|$Uv7=e6`hE5LIYKX%8{Vv|eoMu^_|doNWm#@VPDA%6zD~r^ss87WWeGz*JfDVq zfesq9;KC#j^x}24ls>$-OWYIB|DQT0X=42)7A4ZZUkxh1{H`*pM<=a&;2a1U`N{Dp zo9k0fM0p1a23IkGaaqos$oPM$6aVuU2~p1~f7bBbb@D1W8EDL{2r3!JeB1OC$3F2x zudCI+Z}PaIzQqF3w#+H366TV^M=eB^KYv3G-Ap4F$1l@PKZSK#@qfPRa;zVG0Y7h|lVE<3ULJOO;DXg@)mt^I0+kfJYa9HWu_@3@ zJ$$I7156aaW-z`mjy(ezUf^v0Ztwo|RM8!NA{sHy8BqzQ2C` z@+ZS1Mfi|F(hZZQ^}>$fc!4Brs*J+CJO=4?m^Dar>lQRirq=3+UtQ)#XW1E0{2yyO zp#pvutXXueZfQSJ#uq?Vhp9tQKW=m{egJQZ!hvh4!?$FG`$Kz@K5 z35tYUkcmaRdT@3LHc)_(JfRH$u8}jDl8b9~f&=WOfck?+dJh!MP-7=AU_zBOZXU1f z27o=>C{FXVU||9;ch5Lr*=Q>~Z0kU6f!`QVG~7`btkH5gl58lb{1vLMq@OhAAI<9b zMqT@T%~F*MAGw9d0c?_2US7_qB!8bhZLAX8&#~xND4C;r3*a?h%>3y5fX&v|PjPDj z?En3Hm*ng5H>s&5MMZk&9iMwKnEKVhc+Iu5*gH0h`50aHUsr9A&-I{qPXOe;^lPa@ z{aT)Zg2Cp2{lPmp*ExQxEvYVb<@ZOXk<>{gZJi}jjcG+?Y%ji7;gS7Tk#{`|3F&{* zR2I4pO-;EYSX0~My*9FrA_BgMzvVG5HnZ=p|fXE-riuNK0A!^aduw-v(zb z?#1h*JD_v`WhMjzAhh!kb`dfBab(1#&Eq+s7p!U-ZeaF>d$Eq^Kj-E@pF?}Ki!a!R z3p#Y4Ibp89_(miWfdv64=qEqOllZlt-KNjSJDaDvl<6=J3K-|bdyBP@!Y9s@Ag0nc z+!y5cqoDar*5`_mqC_f6DMIm`LK``)bkZXSZ=WzZcHN=ji|w})pyUDcsTbi%ah7ki z-a+=e+*5){5Fks3&I=VUNY@sG^FUTfyR0au?Eoy!M)}XanmznAhx}S|QN+oNb=AO- zQslr{#+&iqXIc@`Nf#GUia+{tyKGvNz}Z!8HTL~PHq|o38T6_tC#`fPr=5ZPVV7z! zS^q6u;+4OtY{z6cxTsk&obR<*mu^}z(zpGU+`p-2{902>ivn^lp?Y!*XIc#bS@dAV zQ&OoKF@FAPQ0oBk^aHG&mX?eeWYGC*=e>LPts(izXV!Xdp2IiPJoWWo(n=hEcwLFG z-d_6nU2wf;et?;{(OTW%1~K$HA3uJs&1_8!W|0uI4))4BPWWo<6)fXD%~9r%elvD~ zH2rgr3EjEnGn>Ir1w}<$i)P03gwA)F$nhn0E={E@Y6

    +

    special thanks to ZoomTen for providing tools which assisted in the production of this document!

    +

    copyright © 2023 tildearrow and other authors.

    +

    this documentation is under the Creative Commons Attribution 3.0 Unported license.

    +

    you may reproduce, modify and/or distribute this documentation provided this copyright notice (including license and attribution) is present and any necessary disclaimers whether modifications have been made.

    +

    this documentation is provided as-is and without warranty of any kind.

    this manual is written for version 0.6 of Furnace.
    it may not necessarily apply to previous or future versions.

    From db5428474a892e76ee14cc7e95919261078ed50b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 12 Sep 2023 18:29:28 -0500 Subject: [PATCH 118/174] use x42/weakjack as a possible solution to #1480 --- CMakeLists.txt | 12 +- extern/weakjack/.gitignore | 1 + extern/weakjack/README.md | 79 +++++++++ extern/weakjack/weak_libjack.c | 289 +++++++++++++++++++++++++++++++ extern/weakjack/weak_libjack.def | 179 +++++++++++++++++++ extern/weakjack/weak_libjack.h | 230 ++++++++++++++++++++++++ src/audio/jack.cpp | 11 +- src/audio/jack.h | 3 +- 8 files changed, 796 insertions(+), 8 deletions(-) create mode 100644 extern/weakjack/.gitignore create mode 100644 extern/weakjack/README.md create mode 100644 extern/weakjack/weak_libjack.c create mode 100644 extern/weakjack/weak_libjack.def create mode 100644 extern/weakjack/weak_libjack.h diff --git a/CMakeLists.txt b/CMakeLists.txt index eaad23559..593dfb265 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -357,14 +357,16 @@ endif() if (WITH_JACK) find_package(PkgConfig REQUIRED) pkg_check_modules(JACK REQUIRED jack) + list(APPEND AUDIO_SOURCES extern/weakjack/weak_libjack.c) list(APPEND AUDIO_SOURCES src/audio/jack.cpp) list(APPEND DEPENDENCIES_INCLUDE_DIRS ${JACK_INCLUDE_DIRS}) list(APPEND DEPENDENCIES_DEFINES HAVE_JACK) - list(APPEND DEPENDENCIES_COMPILE_OPTIONS ${JACK_CFLAGS_OTHER}) - list(APPEND DEPENDENCIES_LIBRARIES ${JACK_LIBRARIES}) - list(APPEND DEPENDENCIES_LIBRARY_DIRS ${JACK_LIBRARY_DIRS}) - list(APPEND DEPENDENCIES_LINK_OPTIONS ${JACK_LDFLAGS_OTHER}) - list(APPEND DEPENDENCIES_LEGACY_LDFLAGS ${JACK_LDFLAGS}) + list(APPEND DEPENDENCIES_DEFINES USE_WEAK_JACK) + #list(APPEND DEPENDENCIES_COMPILE_OPTIONS ${JACK_CFLAGS_OTHER}) + #list(APPEND DEPENDENCIES_LIBRARIES ${JACK_LIBRARIES}) + #list(APPEND DEPENDENCIES_LIBRARY_DIRS ${JACK_LIBRARY_DIRS}) + #list(APPEND DEPENDENCIES_LINK_OPTIONS ${JACK_LDFLAGS_OTHER}) + #list(APPEND DEPENDENCIES_LEGACY_LDFLAGS ${JACK_LDFLAGS}) message(STATUS "Building with JACK support") else() message(STATUS "Building without JACK support") diff --git a/extern/weakjack/.gitignore b/extern/weakjack/.gitignore new file mode 100644 index 000000000..1377554eb --- /dev/null +++ b/extern/weakjack/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/extern/weakjack/README.md b/extern/weakjack/README.md new file mode 100644 index 000000000..7b957d0f4 --- /dev/null +++ b/extern/weakjack/README.md @@ -0,0 +1,79 @@ +Weak-JACK +========= + +This small library abstracts the [JACK](http://jackaudio.org) Application Binary Interface. + +Background and Motivation +------------------------- + +The jack shared library needs to be installed system-wide (for all jack applications +to share), it can not be part of an application itself. + +JACK developers take great care to not break binary compatibility of libjack. An +application compiled with one version of jack will work with all future versions +of jack. However, this only works well on GNU/Linux, BSD and to some extend on OSX. + +weak-jack linking is useful (at least) in the following cases: + +* the resulting application should not be directly linked to libjack.[so|dll|dylib] + IOW: the application should start even if libjack is not installed. +* the ABI of libjack is not stable. Note, this is only relevant for the Windows .dll + (e.g. applications compiled and linked with jack-1.9.9 will crash with jack-1.9.10 + on windows. -- MSVC has a workaround: link by function-name, not ordinal, mingw + does not offer this) +* Reference new API functions (e.g. meta-data API or new latency compensation) + in the application, which is not available on older versions of jack. + +Usage +----- + +1. Copy the source files into your application's source (or use a git submodule) +2. replace all `#include` in your sources with `#include "weak-jack.h"` +3. add `weak_libjack.c` to the build-source of your project + (in case your build-system does not detect `#include` dependencies automatically, + also reference the header and .def file). +4. Define `USE_WEAK_JACK` for all platforms where you want to use weak-linking. Usually + `CFLAGS+=-DUSE_WEAK_JACK CXXFLAGS+=-DUSE_WEAK_JACK` +5. Do not link your application to libjack (`-ljack`) when `USE_WEAK_JACK` is defined. + +Note the jack-headers still need to be present when compiling the application. + +The application code itself does not need to be changed. + +The first call to `jack_client_open()` will try to find and load libjack, if it cannot be +found, it will fail (return `NULL` and set `jack_status_t` if provided to `JackFailure`.) + +It is possible to explicitly initialize and query availability of libjack using +`have_libjack();` it returns 0 if libjack is available and can be used. (see the header +file for non-zero error codes). + +Caveats +------- + +If libjack is not available, all `jack_*` API calls are turned into no-operation functions. +This is not a problem in general, as jack-applications will not use any part of the jack API if +jack_client_open fails. The only exception here may be `jack_ringbuffer`. Note that the ringbuffer +implementation is also part of libjack and will not be available. + +The dummy implementation for the ringbuffer API is safe (read, writes are ignored and return failure +or zero-bytes length), but if your application depends on it to work, you're out of luck :) + +The function wrappers in `weak_libjack.def` were collected pragmatically it's quite possible that +some JACK API calls have been missed. If you application fails to link (without -ljack), please report +at https://github.com/x42/weakjack/issues + +License +------- + +GNU General Public License version 2 (or later). + +Alternatives +------------ + +An alternative, more liberally licensed, implementation that abstracts and wraps jack completely +(incl headers) can be found at +https://github.com/falkTX/Carla/tree/master/source/jackbridge (C++ only), +and a jack2 specific version at https://github.com/sletz/jack2/blob/master/common/JackWeakAPI.c + +A variant for python bindings is also provided by falkTX: +https://github.com/falkTX/Cadence/blob/master/src/jacklib.py diff --git a/extern/weakjack/weak_libjack.c b/extern/weakjack/weak_libjack.c new file mode 100644 index 000000000..23886de16 --- /dev/null +++ b/extern/weakjack/weak_libjack.c @@ -0,0 +1,289 @@ +/* runtime/weak dynamic JACK linking + * + * (C) 2014 Robin Gareus + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include "weak_libjack.h" + +#ifndef USE_WEAK_JACK + +int have_libjack (void) { + return 0; +} + +#else + +#include +#include +#include + +#ifdef _WIN32 +#include +#else +#include +#endif + +static void* lib_open(const char* const so) { +#ifdef _WIN32 + return (void*) LoadLibraryA(so); +#else + return dlopen(so, RTLD_NOW|RTLD_LOCAL); +#endif +} + +static void* lib_symbol(void* const lib, const char* const sym) { +#ifdef _WIN32 + return (void*) GetProcAddress((HMODULE)lib, sym); +#else + return dlsym(lib, sym); +#endif +} + +#if defined _MSC_VER && ! defined __INTEL_COMPILER +typedef void * pvoid_t; +#define MAPSYM(SYM, FAIL) _j._ ## SYM = (func_t)lib_symbol(lib, "jack_" # SYM); \ + if (!_j._ ## SYM) err |= FAIL; +#elif defined NDEBUG +typedef void * __attribute__ ((__may_alias__)) pvoid_t; +#define MAPSYM(SYM, FAIL) *(pvoid_t *)(&_j._ ## SYM) = lib_symbol(lib, "jack_" # SYM); \ + if (!_j._ ## SYM) err |= FAIL; +#else +typedef void * __attribute__ ((__may_alias__)) pvoid_t; +#define MAPSYM(SYM, FAIL) *(pvoid_t *)(&_j._ ## SYM) = lib_symbol(lib, "jack_" # SYM); \ + if (!_j._ ## SYM) { \ + if (FAIL) { \ + fprintf(stderr, "*** WEAK-JACK: required symbol 'jack_%s' was not found\n", "" # SYM); \ + } \ + err |= FAIL; \ + } +#endif + +typedef void (* func_t) (void); + +/* function pointers to the real jack API */ +static struct WeakJack { + func_t _client_open; // special case due to varargs + +#define JCFUN(ERR, RTYPE, NAME, RVAL) func_t _ ## NAME ; +#define JPFUN(ERR, RTYPE, NAME, DEF, ARGS, RVAL) func_t _ ## NAME ; +#define JXFUN(ERR, RTYPE, NAME, DEF, ARGS, CODE) func_t _ ## NAME ; +#define JVFUN(ERR, NAME, DEF, ARGS, CODE) func_t _ ## NAME ; + +#include "weak_libjack.def" + +#undef JCFUN +#undef JPFUN +#undef JXFUN +#undef JVFUN +} _j; + +static int _status = -1; +#if !defined _MSC_VER || defined __INTEL_COMPILER +__attribute__((constructor)) +#endif +static void init_weak_jack(void) +{ + void* lib; + int err = 0; +#ifndef NDEBUG + fprintf(stderr, "*** WEAK-JACK: initializing\n"); +#endif + + memset(&_j, 0, sizeof(_j)); + +#ifdef __APPLE__ + lib = lib_open("libjack.dylib"); + if (!lib) { + lib = lib_open("/usr/local/lib/libjack.dylib"); + } + if (!lib) { + /* New Homebrew location */ + lib = lib_open("/opt/homebrew/lib/libjack.dylib"); + if (lib) { + fprintf(stderr, "*** WEAK-JACK: using Homebrew\n"); + } + } + if (!lib) { + /* MacPorts location */ + lib = lib_open("/opt/local/lib/libjack.dylib"); + if (lib) { + fprintf(stderr, "*** WEAK-JACK: using MacPorts\n"); + } + } + +#elif (defined _WIN32) +# if defined(__x86_64__) || defined(_M_X64) || defined(__amd64__) + lib = lib_open("libjack64.dll"); +# else + lib = lib_open("libjack.dll"); +# endif +#else + lib = lib_open("libjack.so.0"); +#endif + if (!lib) { +#ifndef NDEBUG + fprintf(stderr, "*** WEAK-JACK: libjack was not found\n"); +#endif + _status = -2; + return; + } + + /* found library, now lookup functions */ + MAPSYM(client_open, 2) + +#define JCFUN(ERR, RTYPE, NAME, RVAL) MAPSYM(NAME, ERR) +#define JPFUN(ERR, RTYPE, NAME, DEF, ARGS, RVAL) MAPSYM(NAME, ERR) +#define JXFUN(ERR, RTYPE, NAME, DEF, ARGS, CODE) MAPSYM(NAME, ERR) +#define JVFUN(ERR, NAME, DEF, ARGS, CODE) MAPSYM(NAME, ERR) + +#include "weak_libjack.def" + +#undef JCFUN +#undef JPFUN +#undef JXFUN +#undef JVFUN + + /* if a required symbol is not found, disable JACK completly */ + if (err) { + _j._client_open = NULL; + } + _status = err; +#ifndef NDEBUG + fprintf(stderr, "*** WEAK-JACK: %s. (%d)\n", err ? "jack is not available" : "OK", _status); +#endif +} + +int have_libjack (void) { + if (_status == -1) { + init_weak_jack(); + } + return _status; +} + +/******************************************************************************* + * helper macros + */ + +#if defined(__GNUC__) && (__GNUC__ > 2) && !defined(NDEBUG) +#define likely(expr) (__builtin_expect (!!(expr), 1)) +#else +#define likely(expr) (expr) +#endif + +#ifndef NDEBUG +# define WJACK_WARNING(NAME) \ + fprintf(stderr, "*** WEAK-JACK: function 'jack_%s' ignored\n", "" # NAME); +#else +# define WJACK_WARNING(NAME) ; +#endif + +/****************************************************************************** + * JACK API wrapper functions. + * + * if a function pointer is set in the static struct WeakJack _j, + * the function is called directly. + * Otherwise a dummy NOOP implementation is provided. + * The latter is mainly for compile-time warnings. + * + * If libjack is not found, jack_client_open() will fail. + * In that case the application should not call any other libjack + * functions. Hence a real implementation is not needed. + * (jack ringbuffer may be an exception for some apps) + */ + +/* dedicated support for jack_client_open(,..) variable arg function macro */ +func_t WJACK_get_client_open(void) { + if (_status == -1) { + init_weak_jack(); + } + return _j._client_open; +} + +/* callback to set status */ +jack_client_t * WJACK_no_client_open (const char *client_name, jack_options_t options, jack_status_t *status, ...) { + WJACK_WARNING(client_open); + if (status) { *status = JackFailure; } + return NULL; +} + +/******************************************************************************* + * Macros to wrap jack API + */ + +/* abstraction for jack_client functions + * rtype jack_function_name (jack_client_t *client) { return rval; } + */ +#define JCFUN(ERR, RTYPE, NAME, RVAL) \ + RTYPE WJACK_ ## NAME (jack_client_t *client) { \ + if likely(_j._ ## NAME) { \ + return ((RTYPE (*)(jack_client_t *client)) _j._ ## NAME)(client); \ + } else { \ + WJACK_WARNING(NAME) \ + return RVAL; \ + } \ + } + +/* abstraction for NOOP functions with return value + * rtype jack_function_name (ARGS) { return rval; } + */ +#define JPFUN(ERR, RTYPE, NAME, DEF, ARGS, RVAL) \ + RTYPE WJACK_ ## NAME DEF { \ + if likely(_j._ ## NAME) { \ + return ((RTYPE (*)DEF) _j._ ## NAME) ARGS; \ + } else { \ + WJACK_WARNING(NAME) \ + return RVAL; \ + } \ + } + +/* abstraction for functions that need custom code. + * e.g. functions with return-value-pointer args, + * use CODE to initialize value + * + * rtype jack_function_name (ARGS) { CODE } + */ +#define JXFUN(ERR, RTYPE, NAME, DEF, ARGS, CODE) \ + RTYPE WJACK_ ## NAME DEF { \ + if likely(_j._ ## NAME) { \ + return ((RTYPE (*)DEF) _j._ ## NAME) ARGS; \ + } else { \ + WJACK_WARNING(NAME) \ + CODE \ + } \ + } + +/* abstraction for void functions with return-value-pointer args + * void jack_function_name (ARGS) { CODE } + */ +#define JVFUN(ERR, NAME, DEF, ARGS, CODE) \ + void WJACK_ ## NAME DEF { \ + if likely(_j._ ## NAME) { \ + ((void (*)DEF) _j._ ## NAME) ARGS; \ + } else { \ + WJACK_WARNING(NAME) \ + CODE \ + } \ + } + +#include "weak_libjack.def" + +#undef JCFUN +#undef JPFUN +#undef JXFUN +#undef JVFUN + +#endif // end USE_WEAK_JACK diff --git a/extern/weakjack/weak_libjack.def b/extern/weakjack/weak_libjack.def new file mode 100644 index 000000000..fda83a4fc --- /dev/null +++ b/extern/weakjack/weak_libjack.def @@ -0,0 +1,179 @@ +/* macro-absraction of the JACK API + * + * see weak_libjack.c for details, in general arguments are: + * + * [required], [return type], [name], [arguments], [code or return value] + * + * This file is included multiple times with different macro definitions + * do not add header guards. + * see https://en.wikibooks.org/wiki/C_Programming/Preprocessor#X-Macros + */ + +#ifdef USE_WEAK_JACK + +/* */ +JCFUN(1, int, client_close, 0) +JCFUN(1, char*, get_client_name, NULL) +JVFUN(0, on_shutdown, (jack_client_t *c, JackShutdownCallback s, void *a), (c,s,a),) +JVFUN(0, on_info_shutdown, (jack_client_t *c, JackInfoShutdownCallback s, void *a), (c,s,a),) + +JPFUN(1, int, set_process_callback, (jack_client_t *c, JackProcessCallback p, void *a), (c,p,a), -1) +JPFUN(1, int, set_freewheel_callback, (jack_client_t *c, JackFreewheelCallback p, void *a), (c,p,a), -1) +JPFUN(1, int, set_buffer_size_callback, (jack_client_t *c, JackBufferSizeCallback p, void *a), (c,p,a), -1) +JPFUN(1, int, set_sample_rate_callback, (jack_client_t *c, JackSampleRateCallback p, void *a), (c,p,a), -1) +JPFUN(1, int, set_port_registration_callback, (jack_client_t *c, JackPortRegistrationCallback p, void *a), (c,p,a), -1) +JPFUN(1, int, set_port_connect_callback, (jack_client_t *c, JackPortConnectCallback p, void *a), (c,p,a), -1) +JPFUN(1, int, set_graph_order_callback, (jack_client_t *c, JackGraphOrderCallback g, void *a), (c,g,a), -1) +JPFUN(1, int, set_xrun_callback, (jack_client_t *c, JackXRunCallback g, void *a), (c,g,a), -1) +JPFUN(1, int, set_latency_callback, (jack_client_t *c, JackLatencyCallback g, void *a), (c,g,a), -1) +JVFUN(1, set_error_function, (void (*f)(const char *)), (f),) +JVFUN(1, set_info_function, (void (*f)(const char *)), (f),) + +JCFUN(1, int, activate, -1) +JCFUN(1, int, deactivate, -1) + +JPFUN(1, int, client_name_size, (), (), 32) + +JCFUN(1, jack_nframes_t, get_sample_rate, 0) +JCFUN(1, jack_nframes_t, get_buffer_size, 0) +JPFUN(1, jack_nframes_t, frames_since_cycle_start, (const jack_client_t *c), (c), 0) +JPFUN(1, jack_nframes_t, frame_time, (const jack_client_t *c), (c), 0) +JPFUN(1, jack_nframes_t, last_frame_time, (const jack_client_t *c), (c), 0) +JPFUN(1, jack_time_t, get_time, (void), (), 0) +JCFUN(1, float, cpu_load, 0) +JCFUN(1, int, is_realtime, 0) + +JPFUN(1, int, set_freewheel, (jack_client_t *c, int o), (c,o), 0) +JPFUN(1, int, set_buffer_size, (jack_client_t *c, jack_nframes_t b), (c,b), 0) + +JCFUN(0, int, recompute_total_latencies, 0) +JPFUN(0, jack_nframes_t, port_get_total_latency, (jack_client_t *c, jack_port_t *p), (c,p), 0) +JVFUN(0, port_get_latency_range, (jack_port_t *p, jack_latency_callback_mode_t m, jack_latency_range_t *r), (p,m,r), if (r) {r->min = r->max = 0;}) +JVFUN(0, port_set_latency_range, (jack_port_t *p, jack_latency_callback_mode_t m, jack_latency_range_t *r), (p,m,r),) + +JPFUN(1, void*, port_get_buffer, (jack_port_t *p, jack_nframes_t n), (p,n), NULL) +JPFUN(1, int, port_request_monitor, (jack_port_t *p, int o), (p,o), 0) +JPFUN(1, int, port_ensure_monitor, (jack_port_t *p, int o), (p,o), 0) +JPFUN(1, int, port_monitoring_input, (jack_port_t *p), (p), 0) + +JPFUN(1, const char*, port_name, (const jack_port_t *p), (p), NULL) +JPFUN(1, const char*, port_short_name, (const jack_port_t *p), (p), NULL) +JPFUN(1, int, port_flags, (const jack_port_t *p), (p), 0) +JPFUN(1, int, port_is_mine, (const jack_client_t *c, const jack_port_t *p), (c,p), 0) +JPFUN(1, int, port_connected, (const jack_port_t *p), (p), 0) +JPFUN(1, const char**, get_ports,(jack_client_t *c, const char *p, const char *t, unsigned long f), (c,p,t,f), NULL) +JPFUN(1, int, port_name_size, (void), (), 0) +JPFUN(1, int, port_type_size, (void), (), 0) +JPFUN(1, size_t, port_type_get_buffer_size, (jack_client_t *c, const char *t), (c,t), 0) +JPFUN(1, jack_port_t*, port_by_name, (jack_client_t *c, const char *n), (c,n), NULL) +JPFUN(1, jack_port_t*, port_by_id, (jack_client_t *c, jack_port_id_t i), (c,i), NULL) +JPFUN(1, jack_port_t*, port_register, (jack_client_t *c, const char *n, const char *t, unsigned long f, unsigned long b), (c,n,t,f,b), NULL) +JPFUN(1, int, port_unregister, (jack_client_t *c, jack_port_t *p), (c,p), 0) +JPFUN(1, const char *, port_type, (const jack_port_t *p), (p), 0) +JPFUN(1, const char **, port_get_connections, (const jack_port_t *p), (p), 0) +JPFUN(1, const char **, port_get_all_connections, (const jack_client_t *c, const jack_port_t *p), (c,p), 0) +JPFUN(1, int, port_set_name, (jack_port_t *p, const char *n), (p,n), -1) +#if defined(__clang__) +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wdeprecated-declarations" +#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif +JXFUN(0, int, port_rename, (jack_client_t *c, jack_port_t *p, const char *n), (c,p,n), return jack_port_set_name (p,n);) +#if defined(__clang__) +#pragma clang diagnostic pop +#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) +#pragma GCC diagnostic pop +#endif +JPFUN(1, int, port_get_aliases, (const jack_port_t *port, char* const aliases[2]), (port,aliases), 0) +JPFUN(1, int, port_disconnect, (jack_client_t *c, jack_port_t *p), (c,p), 0) +JPFUN(1, int, connect, (jack_client_t *c, const char *s, const char *d), (c,s,d), -1) +JPFUN(1, int, disconnect, (jack_client_t *c, const char *s, const char *d), (c,s,d), -1) +JVFUN(0, free, (void *p), (p), free(p);) + +JCFUN(1, jack_nframes_t, cycle_wait, 0) +JVFUN(1, cycle_signal, (jack_client_t *c, int s), (c,s),) +JPFUN(1, int, set_process_thread, (jack_client_t *c, JackThreadCallback p, void *a), (c,p,a), -1) +JPFUN(1, int, set_thread_init_callback, (jack_client_t *c, JackThreadInitCallback p, void *a), (c,p,a), -1) + +JPFUN(1, int, transport_locate, (jack_client_t *c, jack_nframes_t f), (c,f), 0) +JVFUN(1, transport_start, (jack_client_t *c), (c),) +JVFUN(1, transport_stop, (jack_client_t *c), (c),) +JPFUN(1, jack_nframes_t, get_current_transport_frame, (const jack_client_t *c), (c), 0) +JXFUN(1, jack_transport_state_t, transport_query, (const jack_client_t *c, jack_position_t *p), (c,p), memset(p, 0, sizeof(jack_position_t)); return JackTransportStopped;) +JPFUN(1, int, set_sync_callback, (jack_client_t *c, JackSyncCallback p, void *a), (c,p,a), -1) +JPFUN(1, int, set_timebase_callback, (jack_client_t *c, int l, JackTimebaseCallback p, void *a), (c,l,p,a), -1) +JPFUN(1, int, set_sync_timeout, (jack_client_t *c, jack_time_t t), (c,t), -1) +JCFUN(1, int, release_timebase, 0) + +/* */ +JPFUN(1, uint32_t, midi_get_event_count, (void* p), (p), 0) +JPFUN(1, int, midi_event_get, (jack_midi_event_t *e, void *p, uint32_t i), (e,p,i), -1) +JPFUN(1, int, midi_event_write, (void *b, jack_nframes_t t, const jack_midi_data_t *d, size_t s), (b,t,d,s), -1) +JVFUN(1, midi_clear_buffer, (void *b), (b),) + +/* */ +JPFUN(0, int, set_session_callback, (jack_client_t *c, JackSessionCallback s, void *a), (c,s,a), -1) +JPFUN(0, int, session_reply, (jack_client_t *c, jack_session_event_t *e), (c,e), -1) +JVFUN(0, session_event_free, (jack_session_event_t *e), (e), ) + +/* */ +JPFUN(1, jack_ringbuffer_t *, ringbuffer_create, (size_t s), (s), NULL) +JVFUN(1, ringbuffer_free, (jack_ringbuffer_t *rb), (rb), ) +JVFUN(1, ringbuffer_reset, (jack_ringbuffer_t *rb), (rb), ) +JVFUN(1, ringbuffer_read_advance, (jack_ringbuffer_t *rb, size_t c), (rb,c), ) +JVFUN(1, ringbuffer_write_advance, (jack_ringbuffer_t *rb, size_t c), (rb,c), ) +JPFUN(1, size_t, ringbuffer_read_space, (const jack_ringbuffer_t *rb), (rb), 0) +JPFUN(1, size_t, ringbuffer_write_space, (const jack_ringbuffer_t *rb), (rb), 0) +JPFUN(1, size_t, ringbuffer_read, (jack_ringbuffer_t *rb, char *d, size_t c), (rb,d,c), 0) +JPFUN(1, size_t, ringbuffer_write, (jack_ringbuffer_t *rb, const char *s, size_t c), (rb,s,c), 0) +JPFUN(0, int, ringbuffer_mlock, (jack_ringbuffer_t *rb), (rb), 0) +JVFUN(0, ringbuffer_get_read_vector, (const jack_ringbuffer_t *rb, jack_ringbuffer_data_t *v), (rb,v), if (v) {v->buf=NULL; v->len=0;} ) +JVFUN(0, ringbuffer_get_write_vector, (const jack_ringbuffer_t *rb, jack_ringbuffer_data_t *v), (rb,v), if (v) {v->buf=NULL; v->len=0;} ) +JPFUN(0, size_t, ringbuffer_peek, (jack_ringbuffer_t *rb, char *d, size_t c), (rb,d,c), 0) + +/* */ +JCFUN(0, int, client_real_time_priority, 0) +JCFUN(0, int, client_max_real_time_priority, 0) +JPFUN(0, int, acquire_real_time_scheduling, (jack_native_thread_t t, int p), (t,p), 0) +JPFUN(0, int, drop_real_time_scheduling, (jack_native_thread_t t), (t), 0) +#if (!defined _WIN32 && (defined _REENTRANT || defined __linux__)) + /* on POSIX systems, call pthread_join() when libjack does not provide jack_client_stop_thread */ +JXFUN(0, int, client_stop_thread, (jack_client_t* c, jack_native_thread_t t), (c,t), if (t) { pthread_join(t, NULL); return 0; } else { return -1;}) +#else +JPFUN(0, int, client_stop_thread, (jack_client_t* c, jack_native_thread_t t), (c,t), 0) +#endif +JPFUN(0, int, client_kill_thread, (jack_client_t* c, jack_native_thread_t t), (c,t), 0) +#ifndef _WIN32 +JVFUN(0, set_thread_creator, (jack_thread_creator_t c), (c),) +#endif +JPFUN(1, int, client_create_thread, \ + (jack_client_t* c, jack_native_thread_t *t, int p, int r, void *(*f)(void*), void *a), (c,t,p,r,f,a), 0) + +#ifndef NO_JACK_METADATA +/* - TODO*/ + +/* */ +JPFUN(0, char *, get_uuid_for_client_name, (jack_client_t* c, const char* n), (c,n), NULL) +JPFUN(0, char *, get_client_name_by_uuid, (jack_client_t* c, const char* u), (c,u), NULL) +JPFUN(0, jack_uuid_t, port_uuid, (const jack_port_t *p), (p), 0) + +/* */ +JPFUN(0, int, set_property, (jack_client_t* c, jack_uuid_t s, const char* k, const char* v, const char* t), (c,s,k,v,t), -1) +JXFUN(0, int, get_property, (jack_uuid_t s, const char* k, char** v, char** t), (s,k,v,t), if (v) *v=NULL; if (t) *t=NULL; return -1;) +JVFUN(0, free_description, (jack_description_t* d, int f), (d,f),) +JXFUN(0, int, get_properties, (jack_uuid_t s, jack_description_t* d), (s,d), if (d) {d->properties = NULL; d->property_cnt = 0;} return -1;) +JXFUN(0, int, get_all_properties, (jack_description_t** d), (d), if (d) *d=NULL; return -1;) +JPFUN(0, int, remove_property, (jack_client_t* c, jack_uuid_t s, const char* k), (c,s,k), -1) +JPFUN(0, int, remove_properties, (jack_client_t* c, jack_uuid_t s), (c,s), -1) +JPFUN(0, int, remove_all_properties, (jack_client_t* c), (c), -1) +JPFUN(0, int, set_property_change_callback, (jack_client_t *c, JackPropertyChangeCallback s, void *a), (c,s,a), -1) +#endif + +/* */ +JCFUN(1, float, get_max_delayed_usecs, 0.0) +JCFUN(1, float, get_xrun_delayed_usecs, 0.0) +JVFUN(0, reset_max_delayed_usecs, (jack_client_t *c), (c),) + +#endif // end USE_WEAK_JACK diff --git a/extern/weakjack/weak_libjack.h b/extern/weakjack/weak_libjack.h new file mode 100644 index 000000000..e23f92389 --- /dev/null +++ b/extern/weakjack/weak_libjack.h @@ -0,0 +1,230 @@ +/* runtime/weak dynamic JACK linking + * + * (C) 2014 Robin Gareus + * + * The wrapped jack API itself is + * (C) 2001 Paul Davis + * (C) 2004 Jack O'Quin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#ifndef _WEAK_JACK_H +#define _WEAK_JACK_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/** check if libjack is available + * + * return 0 if libjack is dynamically linked of was + * successfully dl-opened. Otherwise: + * + * -1: library was not initialized + * -2: libjack was not found + * > 0 bitwise flags: + * 1: a required function was not found in libjack + * 2: jack_client_open was not found in libjack + */ +int have_libjack(void); + +#ifdef __cplusplus +} +#endif + +#ifdef USE_WEAK_JACK + +/* */ +#define jack_client_close WJACK_client_close +#define jack_get_client_name WJACK_get_client_name +#define jack_get_sample_rate WJACK_get_sample_rate +#define jack_get_buffer_size WJACK_get_buffer_size +#define jack_frames_since_cycle_start WJACK_frames_since_cycle_start +#define jack_frame_time WJACK_frame_time +#define jack_last_frame_time WJACK_last_frame_time +#define jack_get_time WJACK_get_time +#define jack_cpu_load WJACK_cpu_load +#define jack_is_realtime WJACK_is_realtime + +#define jack_client_name_size WJACK_client_name_size + +#define jack_set_freewheel WJACK_set_freewheel +#define jack_set_buffer_size WJACK_set_buffer_size + +#define jack_on_shutdown WJACK_on_shutdown +#define jack_on_info_shutdown WJACK_on_info_shutdown +#define jack_set_process_callback WJACK_set_process_callback +#define jack_set_freewheel_callback WJACK_set_freewheel_callback +#define jack_set_buffer_size_callback WJACK_set_buffer_size_callback +#define jack_set_sample_rate_callback WJACK_set_sample_rate_callback +#define jack_set_port_registration_callback WJACK_set_port_registration_callback +#define jack_set_port_connect_callback WJACK_set_port_connect_callback +#define jack_set_graph_order_callback WJACK_set_graph_order_callback +#define jack_set_xrun_callback WJACK_set_xrun_callback +#define jack_set_latency_callback WJACK_set_latency_callback +#define jack_set_error_function WJACK_set_error_function +#define jack_set_info_function WJACK_set_info_function + +#define jack_activate WJACK_activate +#define jack_deactivate WJACK_deactivate + +#define jack_recompute_total_latencies WJACK_recompute_total_latencies +#define jack_port_get_total_latency WJACK_port_get_total_latency +#define jack_port_get_latency_range WJACK_port_get_latency_range +#define jack_port_set_latency_range WJACK_port_set_latency_range +#define jack_port_get_buffer WJACK_port_get_buffer +#define jack_port_request_monitor WJACK_port_request_monitor +#define jack_port_ensure_monitor WJACK_port_ensure_monitor +#define jack_port_monitoring_input WJACK_port_monitoring_input + +#define jack_port_name WJACK_port_name +#define jack_port_short_name WJACK_port_short_name +#define jack_port_flags WJACK_port_flags +#define jack_port_is_mine WJACK_port_is_mine +#define jack_port_connected WJACK_port_connected +#define jack_get_ports WJACK_get_ports +#define jack_port_name_size WJACK_port_name_size +#define jack_port_type_size WJACK_port_type_size +#define jack_port_type_get_buffer_size WJACK_port_type_get_buffer_size +#define jack_port_by_name WJACK_port_by_name +#define jack_port_by_id WJACK_port_by_id +#define jack_port_set_name WJACK_port_set_name +#define jack_port_get_aliases WJACK_port_get_aliases +#define jack_port_rename WJACK_port_rename +#define jack_port_disconnect WJACK_port_disconnect +#define jack_port_register WJACK_port_register +#define jack_port_unregister WJACK_port_unregister +#define jack_port_type WJACK_port_type +#define jack_port_get_connections WJACK_port_get_connections +#define jack_port_get_all_connections WJACK_port_get_all_connections +#define jack_connect WJACK_connect +#define jack_disconnect WJACK_disconnect +#define jack_free WJACK_free + +#define jack_cycle_wait WJACK_cycle_wait +#define jack_cycle_signal WJACK_cycle_signal +#define jack_set_process_thread WJACK_set_process_thread +#define jack_set_thread_init_callback WJACK_set_thread_init_callback + +/* */ +#define jack_get_current_transport_frame WJACK_get_current_transport_frame +#define jack_transport_locate WJACK_transport_locate +#define jack_transport_start WJACK_transport_start +#define jack_transport_stop WJACK_transport_stop +#define jack_transport_query WJACK_transport_query +#define jack_set_sync_callback WJACK_set_sync_callback +#define jack_set_timebase_callback WJACK_set_timebase_callback +#define jack_release_timebase WJACK_release_timebase + +/* */ +#define jack_midi_get_event_count WJACK_midi_get_event_count +#define jack_midi_event_get WJACK_midi_event_get +#define jack_midi_event_write WJACK_midi_event_write +#define jack_midi_clear_buffer WJACK_midi_clear_buffer + +/* */ +#define jack_set_session_callback WJACK_set_session_callback +#define jack_session_reply WJACK_session_reply +#define jack_session_event_free WJACK_session_event_free + +/* */ +#define jack_ringbuffer_create WJACK_ringbuffer_create +#define jack_ringbuffer_free WJACK_ringbuffer_free +#define jack_ringbuffer_reset WJACK_ringbuffer_reset +#define jack_ringbuffer_read_advance WJACK_ringbuffer_read_advance +#define jack_ringbuffer_write_advance WJACK_ringbuffer_write_advance +#define jack_ringbuffer_read_space WJACK_ringbuffer_read_space +#define jack_ringbuffer_write_space WJACK_ringbuffer_write_space +#define jack_ringbuffer_read WJACK_ringbuffer_read +#define jack_ringbuffer_write WJACK_ringbuffer_write +#define jack_ringbuffer_mlock WJACK_ringbuffer_mlock +#define jack_ringbuffer_get_read_vector WJACK_ringbuffer_get_read_vector +#define jack_ringbuffer_get_write_vector WJACK_ringbuffer_get_write_vector +#define jack_ringbuffer_peek WJACK_ringbuffer_peek + +/* */ +#define jack_client_real_time_priority WJACK_client_real_time_priority +#define jack_client_max_real_time_priority WJACK_client_max_real_time_priority +#define jack_acquire_real_time_scheduling WJACK_acquire_real_time_scheduling +#define jack_client_create_thread WJACK_client_create_thread +#define jack_drop_real_time_scheduling WJACK_drop_real_time_scheduling +#define jack_client_stop_thread WJACK_client_stop_thread +#define jack_client_kill_thread WJACK_client_kill_thread +#define jack_set_thread_creator WJACK_set_thread_creator + +#define jack_client_open WJACK_client_client_openXXX + +#ifndef NO_JACK_METADATA +/* */ +#define jack_get_uuid_for_client_name WJACK_get_uuid_for_client_name +#define jack_get_client_name_by_uuid WJACK_get_client_name_by_uuid +#define jack_port_uuid WJACK_port_uuid + +#define jack_set_property WJACK_set_property +#define jack_get_property WJACK_get_property +#define jack_free_description WJACK_free_description +#define jack_get_properties WJACK_get_properties +#define jack_get_all_properties WJACK_get_all_properties +#define jack_remove_property WJACK_remove_property +#define jack_remove_properties WJACK_remove_properties +#define jack_remove_all_properties WJACK_remove_all_properties +#define jack_set_property_change_callback WJACK_set_property_change_callback +#endif + +/* */ +#define jack_get_max_delayed_usecs WJACK_get_max_delayed_usecs +#define jack_get_xrun_delayed_usecs WJACK_get_xrun_delayed_usecs +#define jack_reset_max_delayed_usecs WJACK_reset_max_delayed_usecs + +#endif // end USE_WEAK_JACK + +#include +#include +#include +#include +#include +#include +#include + +#ifndef NO_JACK_METADATA +#include +#endif + +#ifdef USE_WEAK_JACK + +#undef jack_client_open + +/* var-args hack */ + +#ifdef __cplusplus +extern "C" { +#endif +void (* WJACK_get_client_open (void)) (void); +jack_client_t * WJACK_no_client_open (const char *client_name, jack_options_t options, jack_status_t *status, ...); +#ifdef __cplusplus +} +#endif + +#define jack_client_open(...) \ +( \ + (WJACK_get_client_open() != NULL) \ + ? ((jack_client_t* (*)(const char *, jack_options_t, jack_status_t *, ...))(WJACK_get_client_open()))(__VA_ARGS__) \ + : WJACK_no_client_open(__VA_ARGS__) \ +) + +#endif // end USE_WEAK_JACK + +#endif // _WEAK_JACK_H diff --git a/src/audio/jack.cpp b/src/audio/jack.cpp index 2ffe19b63..64c106c54 100644 --- a/src/audio/jack.cpp +++ b/src/audio/jack.cpp @@ -198,10 +198,19 @@ String TAAudioJACK::printStatus(jack_status_t status) { bool TAAudioJACK::init(TAAudioDesc& request, TAAudioDesc& response) { if (initialized) return false; - if (jack_client_open==NULL) { + int haveJACK=have_libjack(); + if (haveJACK==-1) { + logE("JACK library not initialized!"); + return false; + } + if (haveJACK==-2) { logE("JACK not installed!"); return false; } + if (haveJACK!=0) { + logE("JACK symbol error!"); + return false; + } desc=request; desc.outFormat=TA_AUDIO_FORMAT_F32; diff --git a/src/audio/jack.h b/src/audio/jack.h index 8018d6c20..588814479 100644 --- a/src/audio/jack.h +++ b/src/audio/jack.h @@ -18,8 +18,7 @@ */ #include "taAudio.h" -#include -#include +#include "../extern/weakjack/weak_libjack.h" class TAAudioJACK: public TAAudio { jack_client_t* ac; From 414d65c90324c255c68afe3a41f71c1077e990f7 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 12 Sep 2023 18:38:17 -0500 Subject: [PATCH 119/174] fix build --- extern/weakjack/weak_libjack.c | 2 ++ src/audio/jack.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/extern/weakjack/weak_libjack.c b/extern/weakjack/weak_libjack.c index 23886de16..f1c7d4bae 100644 --- a/extern/weakjack/weak_libjack.c +++ b/extern/weakjack/weak_libjack.c @@ -19,6 +19,8 @@ #include "weak_libjack.h" +#define NDEBUG + #ifndef USE_WEAK_JACK int have_libjack (void) { diff --git a/src/audio/jack.h b/src/audio/jack.h index 588814479..41d76824b 100644 --- a/src/audio/jack.h +++ b/src/audio/jack.h @@ -18,7 +18,7 @@ */ #include "taAudio.h" -#include "../extern/weakjack/weak_libjack.h" +#include "../../extern/weakjack/weak_libjack.h" class TAAudioJACK: public TAAudio { jack_client_t* ac; From 024f0a3838f6655fb0a3401bb67b9eb7622f236d Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 12 Sep 2023 18:56:57 -0500 Subject: [PATCH 120/174] remove sic formatting --- doc/7-systems/n163.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/7-systems/n163.md b/doc/7-systems/n163.md index ecd2611e8..a810f8106 100644 --- a/doc/7-systems/n163.md +++ b/doc/7-systems/n163.md @@ -1,4 +1,4 @@ -# Namco 163 (also called N163, Namco C163, Namco 106 [_sic_], Namco 160 or Namco 129) +# Namco 163 (also called N163, Namco C163, Namco 106 [sic], Namco 160 or Namco 129) this is one of Namco's NES mappers, with up to 8 wavetable channels. From fb61309ac72c5bed7673319562cb4e04d4190963 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 12 Sep 2023 23:28:27 -0500 Subject: [PATCH 121/174] Revert "Revert "Fixed typos" (#1121)" This reverts commit 85415785b68c5709fb56f42e3e649b21971296fe. --- doc/4-instrument/fm-opl.md | 7 +++---- doc/4-instrument/fm-opll.md | 7 +++---- doc/4-instrument/fm-opm.md | 6 +++--- doc/4-instrument/fm-opn.md | 6 +++--- doc/4-instrument/fm-opz.md | 8 ++++---- doc/6-sample/README.md | 2 ++ doc/7-systems/genesis.md | 2 +- doc/7-systems/opl.md | 2 +- doc/7-systems/opll.md | 2 +- doc/7-systems/opz.md | 2 +- doc/7-systems/sm8521.md | 2 +- doc/7-systems/sms.md | 2 +- doc/7-systems/ym2151.md | 2 +- doc/7-systems/ym2203.md | 2 +- doc/7-systems/ym2608.md | 2 +- doc/7-systems/ym2610.md | 2 +- doc/7-systems/ym2610b.md | 2 +- doc/7-systems/ym2612.md | 2 +- 18 files changed, 30 insertions(+), 30 deletions(-) diff --git a/doc/4-instrument/fm-opl.md b/doc/4-instrument/fm-opl.md index bfd979651..f3e1c6d0b 100644 --- a/doc/4-instrument/fm-opl.md +++ b/doc/4-instrument/fm-opl.md @@ -8,7 +8,7 @@ the OPL FM editor is divided into 7 tabs: - **Macros (OP2)**: for macros controlling FM parameters of operator 2. - **Macros (OP3)**: for macros controlling FM parameters of operator 3 (only when 4-op flag is set and only on OPL3!). - **Macros (OP4)**: for macros controlling FM parameters of operator 4 (only when 4-op flag is set and only on OPL3!). -- **Macros**: for other macros (volume/arp/pitch/pan). +- **Macros**: for miscellaneous macros controlling volume, arpeggio, and OPL3 panning. ## FM @@ -40,14 +40,13 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Key Scale Rate (KSR)**: also known as "Rate Scale". determines the degree to which the envelope execution speed increases according to the pitch. -- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. - - note that values 11, 13 and 14 behave as 10, 12 and 12 respectively. +- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch (0-15 range but be noted that 11, 13 and 14 have no effect!). - **Waveform Select (WS)**: changes the waveform of the operator (OPL2 and OPL3 only, 0-3 range on OPL2 and 0-7 on OPL3). - **Vibrato (VIB)**: makes the operator affected by LFO vibrato. ## macros -these macros allow you to control several parameters of FM per tick. +macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: ## FM Macros diff --git a/doc/4-instrument/fm-opll.md b/doc/4-instrument/fm-opll.md index 87eac0253..3c91ee348 100644 --- a/doc/4-instrument/fm-opll.md +++ b/doc/4-instrument/fm-opll.md @@ -6,7 +6,7 @@ the OPLL FM editor is divided into 5 tabs: - **Macros (FM)**: for macros controlling algorithm, waveform and feedback. - **Macros (OP1)**: for macros controlling FM parameters of operator 1. - **Macros (OP2)**: for macros controlling FM parameters of operator 2. -- **Macros**: for other macros (volume/arp/pitch/patch). +- **Macros**: for miscellaneous macros controlling volume, arpeggio, and preset. ## FM @@ -43,13 +43,12 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Envelope Scale (KSR)**: also known as "Key Scale". determines the degree to which the envelope execution speed increases according to the pitch. -- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. - - note that values 11, 13 and 14 behave as 10, 12 and 12 respectively. +- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch. (0-10, 12, 15 range) - **Vibrato (VIB)**: makes the operator affected by LFO vibrato. ## macros -these macros allow you to control several parameters of FM per tick. +macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: ## FM Macros diff --git a/doc/4-instrument/fm-opm.md b/doc/4-instrument/fm-opm.md index a5d12f4df..fe822b428 100644 --- a/doc/4-instrument/fm-opm.md +++ b/doc/4-instrument/fm-opm.md @@ -8,7 +8,7 @@ the FM editor is divided into 7 tabs: - **Macros (OP2)**: for macros controlling FM parameters of operator 2. - **Macros (OP3)**: for macros controlling FM parameters of operator 3. - **Macros (OP4)**: for macros controlling FM parameters of operator 4. -- **Macros**: for other macros (volume/arp/pitch/noise). +- **Macros**: for miscellaneous macros controlling volume, arpeggio, and noise generator. ## FM @@ -41,14 +41,14 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Envelope Scale (RS/KS)**: also known as "Key Scale" or "Rate Scale". determines the degree to which the envelope execution speed increases according to the pitch (0 to 3). -- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. +- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch (0 to 15). - **Fine Detune (DT)**: shifts the pitch a little (0 to 7). - **Coarse Detune (DT2)**: shifts the pitch by tens of cents (0 to 3). ## macros -these macros allow you to control several parameters of FM per tick. +macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: ## FM Macros diff --git a/doc/4-instrument/fm-opn.md b/doc/4-instrument/fm-opn.md index fd318ee3b..c78b93b19 100644 --- a/doc/4-instrument/fm-opn.md +++ b/doc/4-instrument/fm-opn.md @@ -8,7 +8,7 @@ the FM editor is divided into 7 tabs: - **Macros (OP2)**: for macros controlling FM parameters of operator 2. - **Macros (OP3)**: for macros controlling FM parameters of operator 3. - **Macros (OP4)**: for macros controlling FM parameters of operator 4. -- **Macros**: for other macros (volume/arp/pitch). +- **Macros**: for miscellaneous macros controlling volume, arpeggio, and pitch. ## FM @@ -44,13 +44,13 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Envelope Scale (RS/KS)**: also known as "Key Scale" or "Rate Scale". determines the degree to which the envelope execution speed increases according to the pitch (0 to 3). -- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. +- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch (0 to 15). - **Fine Detune (DT)**: shifts the pitch a little (0 to 7). ## macros -these macros allow you to control several parameters of FM per tick. +macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: ## FM Macros diff --git a/doc/4-instrument/fm-opz.md b/doc/4-instrument/fm-opz.md index d6a400e63..5a15d5f30 100644 --- a/doc/4-instrument/fm-opz.md +++ b/doc/4-instrument/fm-opz.md @@ -1,4 +1,4 @@ -# FM (OPZ) instrument editor +# FM (OPM) instrument editor the FM editor is divided into 7 tabs: @@ -8,7 +8,7 @@ the FM editor is divided into 7 tabs: - **Macros (OP2)**: for macros controlling FM parameters of operator 2 - **Macros (OP3)**: for macros controlling FM parameters of operator 3 - **Macros (OP4)**: for macros controlling FM parameters of operator 4 -- **Macros**: for other macros (volume/arp/pitch/noise). +- **Macros**: for miscellaneous macros controlling volume, arpeggio, and YM2151 noise generator. ## FM @@ -43,7 +43,7 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Envelope Scale (RS/KS)**: also known as "Rate Scale" or "Key Scale". determines the degree to which the envelope execution speed increases according to the pitch (0 to 3). -- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. +- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch (0 to 15). - **Fine Frequency Multiplier (Fine)**: a fine control for MULT. - **Envelope Generator Shift (EGS)**: adds a "handicap" to the envelope. in other words, the minimum volume of the operator. - 0: no change @@ -69,7 +69,7 @@ each operator has a Fixed Frequency mode. once enabled, the operator runs at the ## macros -these macros allow you to control several parameters of FM per tick. +macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: ## FM Macros diff --git a/doc/6-sample/README.md b/doc/6-sample/README.md index 539dbbf0a..3b975077f 100644 --- a/doc/6-sample/README.md +++ b/doc/6-sample/README.md @@ -69,6 +69,8 @@ furthermore, many of these chips have a limited amount of sample memory. check m you can edit your samples in Furnace's sample editor, which can be accessed by clicking on `window` (at the top of the screen) then clicking on `sample editor`, or by double-clicking a sample in the sample list. +the changes you make will be applied as soon as you've committed them to your sample, but they can be undone and redone, just like text. + in there, you can modify certain data pertaining to your sample, such as the: - volume of the sample in percentage, where 100% is the current level of the sample (note that you can distort it if you put it too high) - the sample rate. diff --git a/doc/7-systems/genesis.md b/doc/7-systems/genesis.md index 283fe3ddc..d1775e574 100644 --- a/doc/7-systems/genesis.md +++ b/doc/7-systems/genesis.md @@ -16,7 +16,7 @@ this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [ - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the new MULT value.. + - `y` is the multiplier. - `17xx`: **enable PCM channel.** - this only works on channel 6. - _this effect is here for compatibility reasons!_ it is otherwise recommended to use Sample type instruments (which automatically enable PCM mode when used). diff --git a/doc/7-systems/opl.md b/doc/7-systems/opl.md index 2937fa893..31ff80b67 100644 --- a/doc/7-systems/opl.md +++ b/doc/7-systems/opl.md @@ -29,7 +29,7 @@ afterwards everyone moved to Windows and software mixed PCM streaming... - only in 4-op mode (OPL3). - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4; last 2 operators only in 4-op mode). - - `y` is the new MULT value.. + - `y` is the multiplier. - `17xx`: **set vibrato depth.** - `0`: normal - `1`: double diff --git a/doc/7-systems/opll.md b/doc/7-systems/opll.md index 2cf068c13..1ed9fb64d 100644 --- a/doc/7-systems/opll.md +++ b/doc/7-systems/opll.md @@ -32,7 +32,7 @@ the YM2413 is equipped with the following features: - `13xx`: **set operator 2 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator, either 1 or 2. - - `y` is the new MULT value.. + - `y` is the multiplier. - `18xx`: **toggle drums mode.** - `0` disables it and `1` enables it. - only in drums mode. diff --git a/doc/7-systems/opz.md b/doc/7-systems/opz.md index 7dcf58241..6aad70c52 100644 --- a/doc/7-systems/opz.md +++ b/doc/7-systems/opz.md @@ -33,7 +33,7 @@ no plans have been made for TX81Z MIDI passthrough, because: - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the new MULT value.. + - `y` is the multiplier. - `17xx`: **set LFO speed.** - `18xx`: **set LFO waveform.** `xx` may be one of the following: - `00`: saw diff --git a/doc/7-systems/sm8521.md b/doc/7-systems/sm8521.md index 2e0e8dc5c..24649afec 100644 --- a/doc/7-systems/sm8521.md +++ b/doc/7-systems/sm8521.md @@ -2,7 +2,7 @@ the SM8521 is the CPU and sound chip of the Game.com, a handheld console released in 1997 as a competitor to the infamous Nintendo Virtual Boy. -sadly, the Game.com ended up being a failure as well, mostly due to poor quality games. the Game.com only lasted 3 years before being discontinued. +ultimately, most of the games for the Game.com ended up being failures in the eyes of reviewers, thus giving the Game.com a pretty bad reputation. this was one of the reasons that the Game.com only ended up selling at least 300,000 units. for these reasons and more, the Game.com ended up being discontinued in 2000. however, for its time, it was a pretty competitively priced system. the Game Boy Color was to be released in a year for $79.95, while the Game.com was released for $69.99; its later model, the Pocket Pro, was released in mid-1999 for $29.99 due to the Game.com's apparent significant decrease in value. diff --git a/doc/7-systems/sms.md b/doc/7-systems/sms.md index 576311596..889d82e25 100644 --- a/doc/7-systems/sms.md +++ b/doc/7-systems/sms.md @@ -4,7 +4,7 @@ a relatively simple sound chip made by Texas Instruments. a derivative of it is nominal mode of SN76489 has 3 square wave channels, with noise channel having only 3 preset frequencies to use (absurdly low, very low, low). to use more pitches, one can enable a mode which "steals" the frequency from square wave channel 3. by doing that, SN76489 becomes effectively a 3 channel sound chip. in addition, periodic noise mode can be enabled, with same caveats. -the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624, could only produce tones as low as 100Hz, and was clocked at 447 KHz. all later versions (such as the one in the Master System and Genesis) had a clock divider but ran on a faster clock... except for the SN76494, which can play notes as low as 13670 Hz (A -1). as a result, its pitch accuracy for higher notes is compromised. +the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624, could only produce tones as low as 100Hz, and was clocked at 447 KHz. all later versions (such as the one in the Master System and Genesis) had a clock divider but ran on a faster clock... except for the SN76494, which can play notes as low as 13670 Hz (A -1). consequently, its pitch accuracy for higher notes is compromised. ## SN7 versions diff --git a/doc/7-systems/ym2151.md b/doc/7-systems/ym2151.md index 4c6fce90c..287a47d52 100644 --- a/doc/7-systems/ym2151.md +++ b/doc/7-systems/ym2151.md @@ -16,7 +16,7 @@ in most arcade boards the chip was used in combination with a PCM chip, like [Se - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the new MULT value.. + - `y` is the multiplier. - `17xx`: **set LFO speed.** - `18xx`: **set LFO waveform.** - `00`: saw diff --git a/doc/7-systems/ym2203.md b/doc/7-systems/ym2203.md index b01d2a054..a05cb84cf 100644 --- a/doc/7-systems/ym2203.md +++ b/doc/7-systems/ym2203.md @@ -18,7 +18,7 @@ several variants of this chip were released as well, with more features. - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator from 1 to 4. - - `y` is the new MULT value.. + - `y` is the multiplier. - `18xx`: **toggle extended channel 3 mode.** - `0` disables it and `1` enables it. - only in extended channel 3 chip. diff --git a/doc/7-systems/ym2608.md b/doc/7-systems/ym2608.md index 27d5f1e06..528541e91 100644 --- a/doc/7-systems/ym2608.md +++ b/doc/7-systems/ym2608.md @@ -18,7 +18,7 @@ the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built- - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the new MULT value.. + - `y` is the multiplier. - `18xx`: **toggle extended channel 3 mode.** - `0` disables it and `1` enables it. - only in extended channel 3 chip. diff --git a/doc/7-systems/ym2610.md b/doc/7-systems/ym2610.md index 29a85675b..8eb14a1b9 100644 --- a/doc/7-systems/ym2610.md +++ b/doc/7-systems/ym2610.md @@ -16,7 +16,7 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and [2 differen - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the new MULT value.. + - `y` is the multiplier. - `18xx`: **toggle extended channel 2 mode.** - 0 disables it and 1 enables it. - only in extended channel 2 chip. diff --git a/doc/7-systems/ym2610b.md b/doc/7-systems/ym2610b.md index 5f15fb8e2..aa26b9c6f 100644 --- a/doc/7-systems/ym2610b.md +++ b/doc/7-systems/ym2610b.md @@ -15,7 +15,7 @@ it is backward compatible with the original chip. - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the new MULT value.. + - `y` is the multiplier. - `18xx`: **toggle extended channel 3 mode.** - 0 disables it and 1 enables it. - only in extended channel 3 chip. diff --git a/doc/7-systems/ym2612.md b/doc/7-systems/ym2612.md index dd5ba5502..9dceb5814 100644 --- a/doc/7-systems/ym2612.md +++ b/doc/7-systems/ym2612.md @@ -30,7 +30,7 @@ thanks to the Z80 sound CPU, DualPCM can play two samples at once! this mode spl - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the new MULT value.. + - `y` is the multiplier. - `17xx`: **toggle LEGACY sample mode.** - this only works on channel 6. - **this effect exists only for compatibility reasons! its use is NOT recommented. use Sample type instruments instead.** From f9c67460ceb8529c3a37d775312c7fa2b300d943 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 12 Sep 2023 23:28:45 -0500 Subject: [PATCH 122/174] Revert "Revert "Revert "Fixed typos" (#1121)"" This reverts commit fb61309ac72c5bed7673319562cb4e04d4190963. --- doc/4-instrument/fm-opl.md | 7 ++++--- doc/4-instrument/fm-opll.md | 7 ++++--- doc/4-instrument/fm-opm.md | 6 +++--- doc/4-instrument/fm-opn.md | 6 +++--- doc/4-instrument/fm-opz.md | 8 ++++---- doc/6-sample/README.md | 2 -- doc/7-systems/genesis.md | 2 +- doc/7-systems/opl.md | 2 +- doc/7-systems/opll.md | 2 +- doc/7-systems/opz.md | 2 +- doc/7-systems/sm8521.md | 2 +- doc/7-systems/sms.md | 2 +- doc/7-systems/ym2151.md | 2 +- doc/7-systems/ym2203.md | 2 +- doc/7-systems/ym2608.md | 2 +- doc/7-systems/ym2610.md | 2 +- doc/7-systems/ym2610b.md | 2 +- doc/7-systems/ym2612.md | 2 +- 18 files changed, 30 insertions(+), 30 deletions(-) diff --git a/doc/4-instrument/fm-opl.md b/doc/4-instrument/fm-opl.md index f3e1c6d0b..bfd979651 100644 --- a/doc/4-instrument/fm-opl.md +++ b/doc/4-instrument/fm-opl.md @@ -8,7 +8,7 @@ the OPL FM editor is divided into 7 tabs: - **Macros (OP2)**: for macros controlling FM parameters of operator 2. - **Macros (OP3)**: for macros controlling FM parameters of operator 3 (only when 4-op flag is set and only on OPL3!). - **Macros (OP4)**: for macros controlling FM parameters of operator 4 (only when 4-op flag is set and only on OPL3!). -- **Macros**: for miscellaneous macros controlling volume, arpeggio, and OPL3 panning. +- **Macros**: for other macros (volume/arp/pitch/pan). ## FM @@ -40,13 +40,14 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Key Scale Rate (KSR)**: also known as "Rate Scale". determines the degree to which the envelope execution speed increases according to the pitch. -- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch (0-15 range but be noted that 11, 13 and 14 have no effect!). +- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. + - note that values 11, 13 and 14 behave as 10, 12 and 12 respectively. - **Waveform Select (WS)**: changes the waveform of the operator (OPL2 and OPL3 only, 0-3 range on OPL2 and 0-7 on OPL3). - **Vibrato (VIB)**: makes the operator affected by LFO vibrato. ## macros -macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: +these macros allow you to control several parameters of FM per tick. ## FM Macros diff --git a/doc/4-instrument/fm-opll.md b/doc/4-instrument/fm-opll.md index 3c91ee348..87eac0253 100644 --- a/doc/4-instrument/fm-opll.md +++ b/doc/4-instrument/fm-opll.md @@ -6,7 +6,7 @@ the OPLL FM editor is divided into 5 tabs: - **Macros (FM)**: for macros controlling algorithm, waveform and feedback. - **Macros (OP1)**: for macros controlling FM parameters of operator 1. - **Macros (OP2)**: for macros controlling FM parameters of operator 2. -- **Macros**: for miscellaneous macros controlling volume, arpeggio, and preset. +- **Macros**: for other macros (volume/arp/pitch/patch). ## FM @@ -43,12 +43,13 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Envelope Scale (KSR)**: also known as "Key Scale". determines the degree to which the envelope execution speed increases according to the pitch. -- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch. (0-10, 12, 15 range) +- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. + - note that values 11, 13 and 14 behave as 10, 12 and 12 respectively. - **Vibrato (VIB)**: makes the operator affected by LFO vibrato. ## macros -macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: +these macros allow you to control several parameters of FM per tick. ## FM Macros diff --git a/doc/4-instrument/fm-opm.md b/doc/4-instrument/fm-opm.md index fe822b428..a5d12f4df 100644 --- a/doc/4-instrument/fm-opm.md +++ b/doc/4-instrument/fm-opm.md @@ -8,7 +8,7 @@ the FM editor is divided into 7 tabs: - **Macros (OP2)**: for macros controlling FM parameters of operator 2. - **Macros (OP3)**: for macros controlling FM parameters of operator 3. - **Macros (OP4)**: for macros controlling FM parameters of operator 4. -- **Macros**: for miscellaneous macros controlling volume, arpeggio, and noise generator. +- **Macros**: for other macros (volume/arp/pitch/noise). ## FM @@ -41,14 +41,14 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Envelope Scale (RS/KS)**: also known as "Key Scale" or "Rate Scale". determines the degree to which the envelope execution speed increases according to the pitch (0 to 3). -- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch (0 to 15). +- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. - **Fine Detune (DT)**: shifts the pitch a little (0 to 7). - **Coarse Detune (DT2)**: shifts the pitch by tens of cents (0 to 3). ## macros -macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: +these macros allow you to control several parameters of FM per tick. ## FM Macros diff --git a/doc/4-instrument/fm-opn.md b/doc/4-instrument/fm-opn.md index c78b93b19..fd318ee3b 100644 --- a/doc/4-instrument/fm-opn.md +++ b/doc/4-instrument/fm-opn.md @@ -8,7 +8,7 @@ the FM editor is divided into 7 tabs: - **Macros (OP2)**: for macros controlling FM parameters of operator 2. - **Macros (OP3)**: for macros controlling FM parameters of operator 3. - **Macros (OP4)**: for macros controlling FM parameters of operator 4. -- **Macros**: for miscellaneous macros controlling volume, arpeggio, and pitch. +- **Macros**: for other macros (volume/arp/pitch). ## FM @@ -44,13 +44,13 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Envelope Scale (RS/KS)**: also known as "Key Scale" or "Rate Scale". determines the degree to which the envelope execution speed increases according to the pitch (0 to 3). -- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch (0 to 15). +- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. - **Fine Detune (DT)**: shifts the pitch a little (0 to 7). ## macros -macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: +these macros allow you to control several parameters of FM per tick. ## FM Macros diff --git a/doc/4-instrument/fm-opz.md b/doc/4-instrument/fm-opz.md index 5a15d5f30..d6a400e63 100644 --- a/doc/4-instrument/fm-opz.md +++ b/doc/4-instrument/fm-opz.md @@ -1,4 +1,4 @@ -# FM (OPM) instrument editor +# FM (OPZ) instrument editor the FM editor is divided into 7 tabs: @@ -8,7 +8,7 @@ the FM editor is divided into 7 tabs: - **Macros (OP2)**: for macros controlling FM parameters of operator 2 - **Macros (OP3)**: for macros controlling FM parameters of operator 3 - **Macros (OP4)**: for macros controlling FM parameters of operator 4 -- **Macros**: for miscellaneous macros controlling volume, arpeggio, and YM2151 noise generator. +- **Macros**: for other macros (volume/arp/pitch/noise). ## FM @@ -43,7 +43,7 @@ these apply to each operator: ![FM ADSR chart](FM-ADSRchart.png) - **Envelope Scale (RS/KS)**: also known as "Rate Scale" or "Key Scale". determines the degree to which the envelope execution speed increases according to the pitch (0 to 3). -- **Frequency Multiplier (MULT)**: determines the operator frequency in relation to the pitch (0 to 15). +- **Frequency Multiplier (MULT)**: sets the coarse pitch offset in relation to the note (0 to 15). 0 is -1 octave, 1 is 0 octaves, 2 is 1 octave, 3 is 1 octave 7 semitones, and so on. - **Fine Frequency Multiplier (Fine)**: a fine control for MULT. - **Envelope Generator Shift (EGS)**: adds a "handicap" to the envelope. in other words, the minimum volume of the operator. - 0: no change @@ -69,7 +69,7 @@ each operator has a Fixed Frequency mode. once enabled, the operator runs at the ## macros -macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled: +these macros allow you to control several parameters of FM per tick. ## FM Macros diff --git a/doc/6-sample/README.md b/doc/6-sample/README.md index 3b975077f..539dbbf0a 100644 --- a/doc/6-sample/README.md +++ b/doc/6-sample/README.md @@ -69,8 +69,6 @@ furthermore, many of these chips have a limited amount of sample memory. check m you can edit your samples in Furnace's sample editor, which can be accessed by clicking on `window` (at the top of the screen) then clicking on `sample editor`, or by double-clicking a sample in the sample list. -the changes you make will be applied as soon as you've committed them to your sample, but they can be undone and redone, just like text. - in there, you can modify certain data pertaining to your sample, such as the: - volume of the sample in percentage, where 100% is the current level of the sample (note that you can distort it if you put it too high) - the sample rate. diff --git a/doc/7-systems/genesis.md b/doc/7-systems/genesis.md index d1775e574..283fe3ddc 100644 --- a/doc/7-systems/genesis.md +++ b/doc/7-systems/genesis.md @@ -16,7 +16,7 @@ this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [ - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the multiplier. + - `y` is the new MULT value.. - `17xx`: **enable PCM channel.** - this only works on channel 6. - _this effect is here for compatibility reasons!_ it is otherwise recommended to use Sample type instruments (which automatically enable PCM mode when used). diff --git a/doc/7-systems/opl.md b/doc/7-systems/opl.md index 31ff80b67..2937fa893 100644 --- a/doc/7-systems/opl.md +++ b/doc/7-systems/opl.md @@ -29,7 +29,7 @@ afterwards everyone moved to Windows and software mixed PCM streaming... - only in 4-op mode (OPL3). - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4; last 2 operators only in 4-op mode). - - `y` is the multiplier. + - `y` is the new MULT value.. - `17xx`: **set vibrato depth.** - `0`: normal - `1`: double diff --git a/doc/7-systems/opll.md b/doc/7-systems/opll.md index 1ed9fb64d..2cf068c13 100644 --- a/doc/7-systems/opll.md +++ b/doc/7-systems/opll.md @@ -32,7 +32,7 @@ the YM2413 is equipped with the following features: - `13xx`: **set operator 2 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator, either 1 or 2. - - `y` is the multiplier. + - `y` is the new MULT value.. - `18xx`: **toggle drums mode.** - `0` disables it and `1` enables it. - only in drums mode. diff --git a/doc/7-systems/opz.md b/doc/7-systems/opz.md index 6aad70c52..7dcf58241 100644 --- a/doc/7-systems/opz.md +++ b/doc/7-systems/opz.md @@ -33,7 +33,7 @@ no plans have been made for TX81Z MIDI passthrough, because: - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the multiplier. + - `y` is the new MULT value.. - `17xx`: **set LFO speed.** - `18xx`: **set LFO waveform.** `xx` may be one of the following: - `00`: saw diff --git a/doc/7-systems/sm8521.md b/doc/7-systems/sm8521.md index 24649afec..2e0e8dc5c 100644 --- a/doc/7-systems/sm8521.md +++ b/doc/7-systems/sm8521.md @@ -2,7 +2,7 @@ the SM8521 is the CPU and sound chip of the Game.com, a handheld console released in 1997 as a competitor to the infamous Nintendo Virtual Boy. -ultimately, most of the games for the Game.com ended up being failures in the eyes of reviewers, thus giving the Game.com a pretty bad reputation. this was one of the reasons that the Game.com only ended up selling at least 300,000 units. for these reasons and more, the Game.com ended up being discontinued in 2000. +sadly, the Game.com ended up being a failure as well, mostly due to poor quality games. the Game.com only lasted 3 years before being discontinued. however, for its time, it was a pretty competitively priced system. the Game Boy Color was to be released in a year for $79.95, while the Game.com was released for $69.99; its later model, the Pocket Pro, was released in mid-1999 for $29.99 due to the Game.com's apparent significant decrease in value. diff --git a/doc/7-systems/sms.md b/doc/7-systems/sms.md index 889d82e25..576311596 100644 --- a/doc/7-systems/sms.md +++ b/doc/7-systems/sms.md @@ -4,7 +4,7 @@ a relatively simple sound chip made by Texas Instruments. a derivative of it is nominal mode of SN76489 has 3 square wave channels, with noise channel having only 3 preset frequencies to use (absurdly low, very low, low). to use more pitches, one can enable a mode which "steals" the frequency from square wave channel 3. by doing that, SN76489 becomes effectively a 3 channel sound chip. in addition, periodic noise mode can be enabled, with same caveats. -the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624, could only produce tones as low as 100Hz, and was clocked at 447 KHz. all later versions (such as the one in the Master System and Genesis) had a clock divider but ran on a faster clock... except for the SN76494, which can play notes as low as 13670 Hz (A -1). consequently, its pitch accuracy for higher notes is compromised. +the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624, could only produce tones as low as 100Hz, and was clocked at 447 KHz. all later versions (such as the one in the Master System and Genesis) had a clock divider but ran on a faster clock... except for the SN76494, which can play notes as low as 13670 Hz (A -1). as a result, its pitch accuracy for higher notes is compromised. ## SN7 versions diff --git a/doc/7-systems/ym2151.md b/doc/7-systems/ym2151.md index 287a47d52..4c6fce90c 100644 --- a/doc/7-systems/ym2151.md +++ b/doc/7-systems/ym2151.md @@ -16,7 +16,7 @@ in most arcade boards the chip was used in combination with a PCM chip, like [Se - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the multiplier. + - `y` is the new MULT value.. - `17xx`: **set LFO speed.** - `18xx`: **set LFO waveform.** - `00`: saw diff --git a/doc/7-systems/ym2203.md b/doc/7-systems/ym2203.md index a05cb84cf..b01d2a054 100644 --- a/doc/7-systems/ym2203.md +++ b/doc/7-systems/ym2203.md @@ -18,7 +18,7 @@ several variants of this chip were released as well, with more features. - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator from 1 to 4. - - `y` is the multiplier. + - `y` is the new MULT value.. - `18xx`: **toggle extended channel 3 mode.** - `0` disables it and `1` enables it. - only in extended channel 3 chip. diff --git a/doc/7-systems/ym2608.md b/doc/7-systems/ym2608.md index 528541e91..27d5f1e06 100644 --- a/doc/7-systems/ym2608.md +++ b/doc/7-systems/ym2608.md @@ -18,7 +18,7 @@ the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built- - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the multiplier. + - `y` is the new MULT value.. - `18xx`: **toggle extended channel 3 mode.** - `0` disables it and `1` enables it. - only in extended channel 3 chip. diff --git a/doc/7-systems/ym2610.md b/doc/7-systems/ym2610.md index 8eb14a1b9..29a85675b 100644 --- a/doc/7-systems/ym2610.md +++ b/doc/7-systems/ym2610.md @@ -16,7 +16,7 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and [2 differen - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the multiplier. + - `y` is the new MULT value.. - `18xx`: **toggle extended channel 2 mode.** - 0 disables it and 1 enables it. - only in extended channel 2 chip. diff --git a/doc/7-systems/ym2610b.md b/doc/7-systems/ym2610b.md index aa26b9c6f..5f15fb8e2 100644 --- a/doc/7-systems/ym2610b.md +++ b/doc/7-systems/ym2610b.md @@ -15,7 +15,7 @@ it is backward compatible with the original chip. - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the multiplier. + - `y` is the new MULT value.. - `18xx`: **toggle extended channel 3 mode.** - 0 disables it and 1 enables it. - only in extended channel 3 chip. diff --git a/doc/7-systems/ym2612.md b/doc/7-systems/ym2612.md index 9dceb5814..dd5ba5502 100644 --- a/doc/7-systems/ym2612.md +++ b/doc/7-systems/ym2612.md @@ -30,7 +30,7 @@ thanks to the Z80 sound CPU, DualPCM can play two samples at once! this mode spl - `15xx`: **set operator 4 level.** - `16xy`: **set multiplier of operator.** - `x` is the operator (1-4). - - `y` is the multiplier. + - `y` is the new MULT value.. - `17xx`: **toggle LEGACY sample mode.** - this only works on channel 6. - **this effect exists only for compatibility reasons! its use is NOT recommented. use Sample type instruments instead.** From 8b565ed284aa4838d819bf1af4d55d6b7421095d Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 13 Sep 2023 02:40:12 -0500 Subject: [PATCH 123/174] drop usage of std::deque, part 1 use FixedQueue instead --- src/engine/engine.h | 24 +++++++++++++++++++----- src/engine/fixedQueue.h | 40 ++++++++++++++++++++++++++++++++++++++++ src/engine/playback.cpp | 8 ++++---- src/engine/sample.h | 6 +++--- src/gui/gui.cpp | 4 ++-- src/gui/gui.h | 21 ++++++++++++++++----- 6 files changed, 84 insertions(+), 19 deletions(-) diff --git a/src/engine/engine.h b/src/engine/engine.h index 561cef222..9b85d0837 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -37,7 +37,7 @@ #include #include #include -#include +#include "fixedQueue.h" class DivWorkPool; @@ -176,14 +176,28 @@ struct DivChannelState { }; struct DivNoteEvent { - int channel, ins, note, volume; - bool on; + signed char channel; + unsigned char ins; + signed char note, volume; + bool on, nop, pad1, pad2; DivNoteEvent(int c, int i, int n, int v, bool o): channel(c), ins(i), note(n), volume(v), - on(o) {} + on(o), + nop(false), + pad1(false), + pad2(false) {} + DivNoteEvent(): + channel(-1), + ins(0), + note(0), + volume(0), + on(false), + nop(true), + pad1(false), + pad2(false) {} }; struct DivDispatchContainer { @@ -428,7 +442,7 @@ class DivEngine { DivAudioExportModes exportMode; double exportFadeOut; DivConfig conf; - std::deque pendingNotes; + FixedQueue pendingNotes; // bitfield unsigned char walked[8192]; bool isMuted[DIV_MAX_CHANS]; diff --git a/src/engine/fixedQueue.h b/src/engine/fixedQueue.h index ad43f160d..03a1ed3a1 100644 --- a/src/engine/fixedQueue.h +++ b/src/engine/fixedQueue.h @@ -27,11 +27,14 @@ template struct FixedQueue { size_t readPos, writePos; T data[items]; + T& operator[](size_t pos); T& front(); T& back(); bool pop(); bool push(const T& item); + bool erase(size_t pos); + bool pop_front(); bool pop_back(); bool push_front(const T& item); @@ -44,6 +47,13 @@ template struct FixedQueue { writePos(0) {} }; +template T& FixedQueue::operator[](size_t pos) { + if (pos>=size()) { + logW("accessing invalid position. bug!"); + } + return data[(readPos+pos)%items]; +} + template T& FixedQueue::front() { return data[readPos]; } @@ -53,6 +63,36 @@ template T& FixedQueue::back() { return data[writePos-1]; } +template bool FixedQueue::erase(size_t pos) { + size_t curSize=size(); + if (pos>=curSize) { + logW("accessing invalid position. bug!"); + return false; + } + if (pos==0) { + return pop_front(); + } + if (pos==curSize-1) { + return pop_back(); + } + + for (size_t i=0, p=(readPos+pos)%items, p1=(readPos+pos+1)%items; i<=curSize; i++) { + if (p>=items) p-=items; + if (p1>=items) p1-=items; + data[p]=data[p1]; + p++; + p1++; + } + + if (writePos>0) { + writePos--; + } else { + writePos=items-1; + } + + return true; +} + template bool FixedQueue::pop() { if (readPos==writePos) return false; if (++readPos>=items) readPos=0; diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index 5009ba9f4..12a110b5b 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -1346,8 +1346,8 @@ bool DivEngine::nextTick(bool noAccum, bool inhibitLowLat) { isOn[pendingNotes[i].channel]=true; } else { if (isOn[pendingNotes[i].channel]) { - logV("erasing off -> on sequence in %d",pendingNotes[i].channel); - pendingNotes.erase(pendingNotes.begin()+i); + //logV("erasing off -> on sequence in %d",pendingNotes[i].channel); + pendingNotes[i].nop=true; } } } @@ -1355,7 +1355,7 @@ bool DivEngine::nextTick(bool noAccum, bool inhibitLowLat) { while (!pendingNotes.empty()) { DivNoteEvent& note=pendingNotes.front(); - if (note.channel<0 || note.channel>=chans) { + if (note.nop || note.channel<0 || note.channel>=chans) { pendingNotes.pop_front(); continue; } @@ -1847,7 +1847,7 @@ void DivEngine::nextBuf(float** in, float** out, int inChans, int outChans, unsi } } } - logD("%.2x",msg.type); + //logD("%.2x",msg.type); output->midiIn->queue.pop(); } diff --git a/src/engine/sample.h b/src/engine/sample.h index bca881650..3b5a356d3 100644 --- a/src/engine/sample.h +++ b/src/engine/sample.h @@ -24,7 +24,7 @@ #include "defines.h" #include "safeWriter.h" #include "dataErrors.h" -#include +#include "fixedQueue.h" enum DivSampleLoopMode: unsigned char { DIV_SAMPLE_LOOP_FORWARD=0, @@ -144,8 +144,8 @@ struct DivSample { unsigned int samples; - std::deque undoHist; - std::deque redoHist; + FixedQueue undoHist; + FixedQueue redoHist; /** * put sample data. diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 84d3561b6..576068f66 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -2207,7 +2207,7 @@ void FurnaceGUI::pushRecentFile(String path) { if (path.find(backupPath)==0) return; for (int i=0; i<(int)recentFile.size(); i++) { if (recentFile[i]==path) { - recentFile.erase(recentFile.begin()+i); + recentFile.erase(i); i--; } } @@ -3948,7 +3948,7 @@ bool FurnaceGUI::loop() { nextFile=item; showWarning("Unsaved changes! Save changes before opening file?",GUI_WARN_OPEN_DROP); } else { - recentFile.erase(recentFile.begin()+i); + recentFile.erase(i); i--; if (load(item)>0) { showError(fmt::sprintf("Error while loading file! (%s)",lastError)); diff --git a/src/gui/gui.h b/src/gui/gui.h index 1cd703f57..6f4bad90e 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -27,7 +27,6 @@ #include "imgui_impl_sdl2.h" #include #include -#include #include #include #include @@ -874,6 +873,18 @@ struct UndoStep { std::vector ord; std::vector pat; std::vector other; + + UndoStep(): + type(GUI_UNDO_CHANGE_ORDER), + cursor(), + selStart(), + selEnd(), + order(0), + nibble(false), + oldOrdersLen(0), + newOrdersLen(0), + oldPatLen(0), + newPatLen(0) {} }; // -1 = any @@ -1323,7 +1334,7 @@ class FurnaceGUI { std::vector sysSearchResults; std::vector newSongSearchResults; - std::deque recentFile; + FixedQueue recentFile; std::vector makeInsTypeList; std::vector availRenderDrivers; std::vector availAudioDrivers; @@ -1391,7 +1402,7 @@ class FurnaceGUI { String backupPath; std::mutex midiLock; - std::queue midiQueue; + FixedQueue midiQueue; MIDIMap midiMap; int learning; @@ -2005,8 +2016,8 @@ class FurnaceGUI { int oldOrdersLen; DivOrders oldOrders; DivPattern* oldPat[DIV_MAX_CHANS]; - std::deque undoHist; - std::deque redoHist; + FixedQueue undoHist; + FixedQueue redoHist; // sample editor specific double sampleZoom; From 9a63fdccd5f04f37988698253685af11925963c2 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 13 Sep 2023 02:46:02 -0500 Subject: [PATCH 124/174] drop usage of std::deque, part 2 --- src/audio/taAudio.h | 6 +++--- src/engine/engine.h | 2 +- src/engine/platform/ay.h | 2 +- src/engine/platform/ay8930.h | 2 +- src/engine/platform/c140.h | 2 +- src/engine/platform/c64.h | 2 +- src/engine/platform/es5506.h | 2 +- src/engine/platform/fmsharedbase.h | 2 +- src/engine/platform/ga20.h | 2 +- src/engine/platform/gb.h | 2 +- src/engine/platform/k007232.h | 2 +- src/engine/platform/msm5232.h | 2 +- src/engine/platform/msm6258.h | 2 +- src/engine/platform/msm6295.h | 2 +- src/engine/platform/n163.h | 2 +- src/engine/platform/namcowsg.h | 2 +- src/engine/platform/opl.h | 2 +- src/engine/platform/opll.h | 2 +- src/engine/platform/pce.h | 2 +- src/engine/platform/pcspkr.h | 2 +- src/engine/platform/pokey.h | 2 +- src/engine/platform/saa.h | 2 +- src/engine/platform/segapcm.h | 2 +- src/engine/platform/sm8521.h | 2 +- src/engine/platform/sms.h | 2 +- src/engine/platform/snes.h | 2 +- src/engine/platform/su.h | 2 +- src/engine/platform/swan.h | 2 +- src/engine/platform/t6w28.h | 2 +- src/engine/platform/ted.h | 2 +- src/engine/platform/tx81z.h | 2 +- src/engine/platform/vb.h | 2 +- src/engine/platform/vrc6.h | 2 +- src/engine/sample.h | 2 +- src/engine/workPool.h | 2 +- src/{engine => }/fixedQueue.h | 2 +- 36 files changed, 38 insertions(+), 38 deletions(-) rename src/{engine => }/fixedQueue.h (99%) diff --git a/src/audio/taAudio.h b/src/audio/taAudio.h index 20491dbbe..12de61e95 100644 --- a/src/audio/taAudio.h +++ b/src/audio/taAudio.h @@ -21,7 +21,7 @@ #define _TAAUDIO_H #include "../ta-utils.h" #include -#include +#include "../fixedQueue.h" #include struct SampleRateChangeEvent { @@ -124,7 +124,7 @@ struct TAMidiMessage { class TAMidiIn { public: - std::queue queue; + FixedQueue queue; virtual bool gather(); bool next(TAMidiMessage& where); virtual bool isDeviceOpen(); @@ -139,7 +139,7 @@ class TAMidiIn { }; class TAMidiOut { - std::queue queue; + FixedQueue queue; public: virtual bool send(const TAMidiMessage& what); virtual bool isDeviceOpen(); diff --git a/src/engine/engine.h b/src/engine/engine.h index 9b85d0837..0e4b57fcf 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -37,7 +37,7 @@ #include #include #include -#include "fixedQueue.h" +#include "../fixedQueue.h" class DivWorkPool; diff --git a/src/engine/platform/ay.h b/src/engine/platform/ay.h index 2948f3b85..354557fda 100644 --- a/src/engine/platform/ay.h +++ b/src/engine/platform/ay.h @@ -20,7 +20,7 @@ #ifndef _AY_H #define _AY_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/ay8910.h" class DivPlatformAY8910: public DivDispatch { diff --git a/src/engine/platform/ay8930.h b/src/engine/platform/ay8930.h index 0ff69ad40..ba2f9abea 100644 --- a/src/engine/platform/ay8930.h +++ b/src/engine/platform/ay8930.h @@ -20,7 +20,7 @@ #ifndef _AY8930_H #define _AY8930_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/ay8910.h" class DivPlatformAY8930: public DivDispatch { diff --git a/src/engine/platform/c140.h b/src/engine/platform/c140.h index fb74151c0..9dea0c0c5 100644 --- a/src/engine/platform/c140.h +++ b/src/engine/platform/c140.h @@ -22,7 +22,7 @@ #include "../dispatch.h" #include "sound/c140_c219.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" class DivPlatformC140: public DivDispatch { struct Channel: public SharedChannel { diff --git a/src/engine/platform/c64.h b/src/engine/platform/c64.h index def32eaab..38e735d9a 100644 --- a/src/engine/platform/c64.h +++ b/src/engine/platform/c64.h @@ -21,7 +21,7 @@ #define _C64_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/c64/sid.h" #include "sound/c64_fp/SID.h" #include "sound/c64_d/dsid.h" diff --git a/src/engine/platform/es5506.h b/src/engine/platform/es5506.h index 07bdb2380..6bac20c37 100644 --- a/src/engine/platform/es5506.h +++ b/src/engine/platform/es5506.h @@ -22,7 +22,7 @@ #include "../dispatch.h" #include "../engine.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../macroInt.h" #include "../sample.h" #include "vgsound_emu/src/es550x/es5506.hpp" diff --git a/src/engine/platform/fmsharedbase.h b/src/engine/platform/fmsharedbase.h index 9be217b94..e458904eb 100644 --- a/src/engine/platform/fmsharedbase.h +++ b/src/engine/platform/fmsharedbase.h @@ -22,7 +22,7 @@ #include "../dispatch.h" #include "../instrument.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #define KVS(x,y) ((chan[x].state.op[y].kvs==2 && isOutput[chan[x].state.alg][y]) || chan[x].state.op[y].kvs==1) diff --git a/src/engine/platform/ga20.h b/src/engine/platform/ga20.h index 691b68f0a..3831d32c2 100644 --- a/src/engine/platform/ga20.h +++ b/src/engine/platform/ga20.h @@ -21,7 +21,7 @@ #define _GA20_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../macroInt.h" #include "sound/ga20/iremga20.h" diff --git a/src/engine/platform/gb.h b/src/engine/platform/gb.h index f92a0b895..0e7fb52d3 100644 --- a/src/engine/platform/gb.h +++ b/src/engine/platform/gb.h @@ -23,7 +23,7 @@ #include "../dispatch.h" #include "../waveSynth.h" #include "sound/gb/gb.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" class DivPlatformGB: public DivDispatch { struct Channel: public SharedChannel { diff --git a/src/engine/platform/k007232.h b/src/engine/platform/k007232.h index e3409b31f..5eb379985 100644 --- a/src/engine/platform/k007232.h +++ b/src/engine/platform/k007232.h @@ -21,7 +21,7 @@ #define _K007232_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../macroInt.h" #include "vgsound_emu/src/k007232/k007232.hpp" diff --git a/src/engine/platform/msm5232.h b/src/engine/platform/msm5232.h index abdb72f06..efa5c919c 100644 --- a/src/engine/platform/msm5232.h +++ b/src/engine/platform/msm5232.h @@ -21,7 +21,7 @@ #define _MSM5232_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/oki/msm5232.h" class DivPlatformMSM5232: public DivDispatch { diff --git a/src/engine/platform/msm6258.h b/src/engine/platform/msm6258.h index ce73ca4bb..2a4c3512b 100644 --- a/src/engine/platform/msm6258.h +++ b/src/engine/platform/msm6258.h @@ -21,7 +21,7 @@ #define _MSM6258_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/oki/okim6258.h" class DivPlatformMSM6258: public DivDispatch { diff --git a/src/engine/platform/msm6295.h b/src/engine/platform/msm6295.h index dfa59a0c1..19815f0da 100644 --- a/src/engine/platform/msm6295.h +++ b/src/engine/platform/msm6295.h @@ -21,7 +21,7 @@ #define _MSM6295_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "vgsound_emu/src/msm6295/msm6295.hpp" class DivPlatformMSM6295: public DivDispatch, public vgsound_emu_mem_intf { diff --git a/src/engine/platform/n163.h b/src/engine/platform/n163.h index c5ec64b7e..e4d5b24d2 100644 --- a/src/engine/platform/n163.h +++ b/src/engine/platform/n163.h @@ -21,7 +21,7 @@ #define _N163_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../waveSynth.h" #include "vgsound_emu/src/n163/n163.hpp" diff --git a/src/engine/platform/namcowsg.h b/src/engine/platform/namcowsg.h index 7d6943323..ab4451705 100644 --- a/src/engine/platform/namcowsg.h +++ b/src/engine/platform/namcowsg.h @@ -21,7 +21,7 @@ #define _NAMCOWSG_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../waveSynth.h" #include "sound/namco.h" diff --git a/src/engine/platform/opl.h b/src/engine/platform/opl.h index 2298f6132..bcc147da1 100644 --- a/src/engine/platform/opl.h +++ b/src/engine/platform/opl.h @@ -21,7 +21,7 @@ #define _OPL_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../../../extern/opl/opl3.h" #include "sound/ymfm/ymfm_adpcm.h" diff --git a/src/engine/platform/opll.h b/src/engine/platform/opll.h index 8bb6baa2c..e8bd627a4 100644 --- a/src/engine/platform/opll.h +++ b/src/engine/platform/opll.h @@ -21,7 +21,7 @@ #define _OPLL_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" extern "C" { #include "../../../extern/Nuked-OPLL/opll.h" diff --git a/src/engine/platform/pce.h b/src/engine/platform/pce.h index f989034af..2436453e4 100644 --- a/src/engine/platform/pce.h +++ b/src/engine/platform/pce.h @@ -21,7 +21,7 @@ #define _PCE_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../waveSynth.h" #include "sound/pce_psg.h" diff --git a/src/engine/platform/pcspkr.h b/src/engine/platform/pcspkr.h index d9315b5ec..b2a88b903 100644 --- a/src/engine/platform/pcspkr.h +++ b/src/engine/platform/pcspkr.h @@ -21,7 +21,7 @@ #define _PCSPKR_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include #include #include diff --git a/src/engine/platform/pokey.h b/src/engine/platform/pokey.h index 979f60754..7e64c3c78 100644 --- a/src/engine/platform/pokey.h +++ b/src/engine/platform/pokey.h @@ -21,7 +21,7 @@ #define _POKEY_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" extern "C" { #include "sound/pokey/mzpokeysnd.h" diff --git a/src/engine/platform/saa.h b/src/engine/platform/saa.h index 36db57cb7..339799d2e 100644 --- a/src/engine/platform/saa.h +++ b/src/engine/platform/saa.h @@ -21,7 +21,7 @@ #define _SAA_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../../../extern/SAASound/src/SAASound.h" class DivPlatformSAA1099: public DivDispatch { diff --git a/src/engine/platform/segapcm.h b/src/engine/platform/segapcm.h index 639d875b4..b03459f5d 100644 --- a/src/engine/platform/segapcm.h +++ b/src/engine/platform/segapcm.h @@ -23,7 +23,7 @@ #include "../dispatch.h" #include "../instrument.h" #include "sound/segapcm.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" class DivPlatformSegaPCM: public DivDispatch { protected: diff --git a/src/engine/platform/sm8521.h b/src/engine/platform/sm8521.h index 02e2f458e..f9faeebda 100644 --- a/src/engine/platform/sm8521.h +++ b/src/engine/platform/sm8521.h @@ -21,7 +21,7 @@ #define _SM8521_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../waveSynth.h" #include "sound/sm8521.h" diff --git a/src/engine/platform/sms.h b/src/engine/platform/sms.h index d87546b30..5eaf204ba 100644 --- a/src/engine/platform/sms.h +++ b/src/engine/platform/sms.h @@ -25,7 +25,7 @@ extern "C" { #include "../../../extern/Nuked-PSG/ympsg.h" } -#include "../fixedQueue.h" +#include "../../fixedQueue.h" class DivPlatformSMS: public DivDispatch { struct Channel: public SharedChannel { diff --git a/src/engine/platform/snes.h b/src/engine/platform/snes.h index a799c7a5d..0992a46a7 100644 --- a/src/engine/platform/snes.h +++ b/src/engine/platform/snes.h @@ -22,7 +22,7 @@ #include "../dispatch.h" #include "../waveSynth.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/snes/SPC_DSP.h" class DivPlatformSNES: public DivDispatch { diff --git a/src/engine/platform/su.h b/src/engine/platform/su.h index 99b784df3..4f227e5b5 100644 --- a/src/engine/platform/su.h +++ b/src/engine/platform/su.h @@ -21,7 +21,7 @@ #define _SU_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/su.h" class DivPlatformSoundUnit: public DivDispatch { diff --git a/src/engine/platform/swan.h b/src/engine/platform/swan.h index 1e0fbeef7..5f33e81c0 100644 --- a/src/engine/platform/swan.h +++ b/src/engine/platform/swan.h @@ -23,7 +23,7 @@ #include "../dispatch.h" #include "../waveSynth.h" #include "sound/swan.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" class DivPlatformSwan: public DivDispatch { struct Channel: public SharedChannel { diff --git a/src/engine/platform/t6w28.h b/src/engine/platform/t6w28.h index 4bb3cda2a..5e69c6268 100644 --- a/src/engine/platform/t6w28.h +++ b/src/engine/platform/t6w28.h @@ -21,7 +21,7 @@ #define _T6W28_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/t6w28/T6W28_Apu.h" class DivPlatformT6W28: public DivDispatch { diff --git a/src/engine/platform/ted.h b/src/engine/platform/ted.h index 58b4d0b7d..a2bd1d636 100644 --- a/src/engine/platform/ted.h +++ b/src/engine/platform/ted.h @@ -21,7 +21,7 @@ #define _TED_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/ted-sound.h" class DivPlatformTED: public DivDispatch { diff --git a/src/engine/platform/tx81z.h b/src/engine/platform/tx81z.h index c14bc0117..93da1cd7a 100644 --- a/src/engine/platform/tx81z.h +++ b/src/engine/platform/tx81z.h @@ -21,7 +21,7 @@ #define _TX81Z_H #include "fmshared_OPM.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "sound/ymfm/ymfm_opz.h" class DivTXInterface: public ymfm::ymfm_interface { diff --git a/src/engine/platform/vb.h b/src/engine/platform/vb.h index 2282f62fe..508e9a049 100644 --- a/src/engine/platform/vb.h +++ b/src/engine/platform/vb.h @@ -21,7 +21,7 @@ #define _PLATFORM_VB_H #include "../dispatch.h" -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../waveSynth.h" #include "sound/vsu.h" diff --git a/src/engine/platform/vrc6.h b/src/engine/platform/vrc6.h index df0aa92e5..f20e0d39c 100644 --- a/src/engine/platform/vrc6.h +++ b/src/engine/platform/vrc6.h @@ -20,7 +20,7 @@ #ifndef _VRC6_H #define _VRC6_H -#include "../fixedQueue.h" +#include "../../fixedQueue.h" #include "../dispatch.h" #include "vgsound_emu/src/vrcvi/vrcvi.hpp" diff --git a/src/engine/sample.h b/src/engine/sample.h index 3b5a356d3..253fe347c 100644 --- a/src/engine/sample.h +++ b/src/engine/sample.h @@ -24,7 +24,7 @@ #include "defines.h" #include "safeWriter.h" #include "dataErrors.h" -#include "fixedQueue.h" +#include "../fixedQueue.h" enum DivSampleLoopMode: unsigned char { DIV_SAMPLE_LOOP_FORWARD=0, diff --git a/src/engine/workPool.h b/src/engine/workPool.h index 9c41e1ccf..17e4be52a 100644 --- a/src/engine/workPool.h +++ b/src/engine/workPool.h @@ -26,7 +26,7 @@ #include #include -#include "fixedQueue.h" +#include "../fixedQueue.h" class DivWorkPool; diff --git a/src/engine/fixedQueue.h b/src/fixedQueue.h similarity index 99% rename from src/engine/fixedQueue.h rename to src/fixedQueue.h index 03a1ed3a1..91ebeea36 100644 --- a/src/engine/fixedQueue.h +++ b/src/fixedQueue.h @@ -21,7 +21,7 @@ #define _FIXED_QUEUE_H #include -#include "../ta-log.h" +#include "ta-log.h" template struct FixedQueue { size_t readPos, writePos; From b4ca8a3ccfd67d4c48ee1f19b4e9fe5c956a6472 Mon Sep 17 00:00:00 2001 From: freq-mod <32672779+freq-mod@users.noreply.github.com> Date: Wed, 13 Sep 2023 12:32:28 +0200 Subject: [PATCH 125/174] x1-010: documentation will need fact check --- doc/7-systems/x1-010.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/7-systems/x1-010.md b/doc/7-systems/x1-010.md index 94223a2c0..110fed13e 100644 --- a/doc/7-systems/x1-010.md +++ b/doc/7-systems/x1-010.md @@ -7,7 +7,9 @@ the sample frequency resolution is pretty bad in the low end though... even though this chip has stereo output, no board (as far as we know) uses the two outputs that it has... instead, only one output is connected, effectively being used as a mono chip. -the chip also has some (complicated) volume envelope capabilities, with some of its memory being usable for that purpose. +the chip also has some (complicated) hardware volume envelope capabilities, with half of its memory being usable for that purpose. Volume envelope shape is defined via 4-bit (16 step high), 128 byte waveform. + +the chip can store up to 32 nominal sound waveforms and envelope waveforms at once (plz fact check) this chip was the inspiration for Organya/PxTone (the former being used in a well-known game called Cave Story). From cde43e114d3af37f0c7c98901bd511a7f2dee248 Mon Sep 17 00:00:00 2001 From: RevvoBolt <106453096+RevvoBolt@users.noreply.github.com> Date: Wed, 13 Sep 2023 15:48:17 +0200 Subject: [PATCH 126/174] Add files via upload --- demos/nes/Sky Sanctuary Zone.fur | Bin 0 -> 4571 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/nes/Sky Sanctuary Zone.fur diff --git a/demos/nes/Sky Sanctuary Zone.fur b/demos/nes/Sky Sanctuary Zone.fur new file mode 100644 index 0000000000000000000000000000000000000000..c719ee285815485bb3d9b024337b82b2459209a9 GIT binary patch literal 4571 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 Date: Wed, 13 Sep 2023 15:48:53 +0200 Subject: [PATCH 127/174] Delete demos/nes/sky sanctuary zone.fur --- demos/nes/sky sanctuary zone.fur | Bin 21793 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 demos/nes/sky sanctuary zone.fur diff --git a/demos/nes/sky sanctuary zone.fur b/demos/nes/sky sanctuary zone.fur deleted file mode 100644 index 9fff09b6df2deb4613de9183516230fb6ff65f2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21793 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 U>8bqWt!>G9jNoMcPb^dFEHM$qX8-^I From 93c4b3f1ad9dc825c8e4c5344eb0aec42e0097b8 Mon Sep 17 00:00:00 2001 From: RevvoBolt <106453096+RevvoBolt@users.noreply.github.com> Date: Wed, 13 Sep 2023 15:49:43 +0200 Subject: [PATCH 128/174] Delete demos/nes/Sky Sanctuary Zone.fur --- demos/nes/Sky Sanctuary Zone.fur | Bin 4571 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 demos/nes/Sky Sanctuary Zone.fur diff --git a/demos/nes/Sky Sanctuary Zone.fur b/demos/nes/Sky Sanctuary Zone.fur deleted file mode 100644 index c719ee285815485bb3d9b024337b82b2459209a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4571 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 Date: Wed, 13 Sep 2023 15:51:10 +0200 Subject: [PATCH 129/174] Sky Sanctuary Zone NES Demo? I uploaded a cover of Sky Sanctuary Zone earlier and now I've improved it a little more. Maybe this could be a demo in Furnace? --- demos/nes/Sky Sanctuary Zone.fur | Bin 0 -> 4571 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/nes/Sky Sanctuary Zone.fur diff --git a/demos/nes/Sky Sanctuary Zone.fur b/demos/nes/Sky Sanctuary Zone.fur new file mode 100644 index 0000000000000000000000000000000000000000..c719ee285815485bb3d9b024337b82b2459209a9 GIT binary patch literal 4571 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 Date: Wed, 13 Sep 2023 18:03:22 -0500 Subject: [PATCH 130/174] OPL: fix drum muting --- src/engine/platform/opl.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index 44e9b3b14..5a7580a78 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -722,6 +722,10 @@ void DivPlatformOPL::muteChannel(int ch, bool mute) { } } + if (properDrums && ch>melodicChans) { + return; + } + if (isMuted[ch]) { rWrite(chanMap[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&1)|(chan[ch].state.fb<<1)); if (ops==4) { From 41e93cf9a76c566d9fee9018cec71993b136300d Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 13 Sep 2023 18:11:43 -0500 Subject: [PATCH 131/174] GUI: fix X68000 preset --- src/gui/presets.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/presets.cpp b/src/gui/presets.cpp index d6463564d..b83794638 100644 --- a/src/gui/presets.cpp +++ b/src/gui/presets.cpp @@ -1098,7 +1098,7 @@ void FurnaceGUI::initSystemPresets() { ENTRY( "Sharp X68000", { CH(DIV_SYSTEM_YM2151, 1.0f, 0, "clockSel=2"), - CH(DIV_SYSTEM_MSM6258, 1.0f, 0, "") + CH(DIV_SYSTEM_MSM6258, 1.0f, 0, "clockSel=2") } ); ENTRY( From 29db4d5bb5c81f867f564cdc96944a6f0ee9a546 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 13 Sep 2023 18:25:32 -0500 Subject: [PATCH 132/174] release v0.6pre15 --- android/app/build.gradle | 4 ++-- android/app/src/main/AndroidManifest.xml | 4 ++-- papers/clipboard-format.md | 2 +- papers/format.md | 1 + res/Info.plist | 6 +++--- src/engine/engine.h | 4 ++-- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 91db8e5e0..64fd88917 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -15,8 +15,8 @@ android { } minSdkVersion 21 targetSdkVersion 26 - versionCode 175 - versionName "0.6pre14" + versionCode 177 + versionName "0.6pre15" externalNativeBuild { cmake { arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON" diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 2a283791a..9a2ed1751 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ diff --git a/papers/clipboard-format.md b/papers/clipboard-format.md index fd6b075ed..bb9bf7fe2 100644 --- a/papers/clipboard-format.md +++ b/papers/clipboard-format.md @@ -6,7 +6,7 @@ when copying pattern data from Furnace, it's stored in the clipboard as plain te org.tildearrow.furnace - Pattern Data (144) ``` -this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre14 is `175`. +this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre15 is `177`. the second line is a number between 0 and 18 (decimal) which indicates which column the clip starts from. - `0`: note. diff --git a/papers/format.md b/papers/format.md index 447785bf2..ece5b7ef2 100644 --- a/papers/format.md +++ b/papers/format.md @@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1). the format versions are: +- 177: Furnace 0.6pre15 - 175: Furnace 0.6pre14 - 174: Furnace 0.6pre13 - 173: Furnace 0.6pre12 diff --git a/res/Info.plist b/res/Info.plist index 51055ed6a..e5daf8699 100644 --- a/res/Info.plist +++ b/res/Info.plist @@ -15,17 +15,17 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - 0.6pre14 + 0.6pre15 CFBundleName Furnace CFBundlePackageType APPL CFBundleShortVersionString - 0.6pre14 + 0.6pre15 CFBundleSignature ???? CFBundleVersion - 0.6pre14 + 0.6pre15 NSHumanReadableCopyright NSHighResolutionCapable diff --git a/src/engine/engine.h b/src/engine/engine.h index 0e4b57fcf..32cc00e91 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -58,8 +58,8 @@ class DivWorkPool; #define DIV_UNSTABLE -#define DIV_VERSION "dev176" -#define DIV_ENGINE_VERSION 176 +#define DIV_VERSION "0.6pre15" +#define DIV_ENGINE_VERSION 177 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 From 1d7efcb44baf002eec60f298ecb96cb75a688c87 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 13 Sep 2023 18:57:32 -0500 Subject: [PATCH 133/174] remove furnace.appdata.xml will be generated at release time - wait for next commit --- res/furnace.appdata.xml | 164 ---------------------------------------- 1 file changed, 164 deletions(-) delete mode 100644 res/furnace.appdata.xml diff --git a/res/furnace.appdata.xml b/res/furnace.appdata.xml deleted file mode 100644 index e458aafa7..000000000 --- a/res/furnace.appdata.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - org.tildearrow.furnace - - Furnace - Open-source chiptune tracker - https://github.com/tildearrow/furnace - - CC0-1.0 - GPL-2.0-or-later - - -

    - the biggest chiptune tracker ever made! -

    -

    - it allows you to create songs using a music tracker interface for several computer/game console/arcade sound chips. -

    -

    - it also offers DefleMask compatibility, allowing you to import your songs and even export them back for interoperability. -

    -

    - rationale for intense profanity: the tracker itself is clean, but a few demo songs and instruments contain a small amount of strong language. -

    -
    - - - intense - mild - - - furnace.desktop - - - https://tildearrow.org/storage/images/furnace.png - - - - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre14 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre13 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre12 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre11 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre10 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre9 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre8 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre7 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre6 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre5 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre4-hotfix - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre4 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre3 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre2 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre1.5 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre1 - - - https://github.com/tildearrow/furnace/releases/tag/v0.6pre0 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5.8 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5.7 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5.7pre4 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5.6 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5.5 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5.4 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5.3 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5.2 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5.1 - - - https://github.com/tildearrow/furnace/releases/tag/v0.5 - - - https://github.com/tildearrow/furnace/releases/tag/v0.4.7 - - - https://github.com/tildearrow/furnace/releases/tag/v0.4.6 - - - https://github.com/tildearrow/furnace/releases/tag/v0.4.5-real - - - https://github.com/tildearrow/furnace/releases/tag/v0.4.5 - - - https://github.com/tildearrow/furnace/releases/tag/v0.4.4 - - - https://github.com/tildearrow/furnace/releases/tag/v0.4.3 - - - https://github.com/tildearrow/furnace/releases/tag/v0.4.2 - - - https://github.com/tildearrow/furnace/releases/tag/v0.4.1 - - - https://github.com/tildearrow/furnace/releases/tag/v0.4 - - - https://github.com/tildearrow/furnace/releases/tag/v0.3.1 - - - https://github.com/tildearrow/furnace/releases/tag/v0.3 - - - https://github.com/tildearrow/furnace/releases/tag/v0.2.2 - - - https://github.com/tildearrow/furnace/releases/tag/v0.2.1 - - - https://github.com/tildearrow/furnace/releases/tag/v0.2 - - -
    From c520c291f03099b4da8a75e18ff5f27c02933359 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 13 Sep 2023 19:54:31 -0500 Subject: [PATCH 134/174] and here we go CMake should run make-appdata.sh --- .gitignore | 1 + CMakeLists.txt | 22 +++++++++++++++++++++- res/furnace.appdata.xml.in | 2 +- res/make-appdata.sh | 23 ++++++++++++++--------- scripts/release-linux-AppImage.sh | 4 ++-- 5 files changed, 39 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 26d7f5904..6bd68968c 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ res/binary_to_compressed_c.exe res/docpdf/manual.html res/docpdf/manual.pdf res/docpdf/.venv +res/furnace.appdata.xml diff --git a/CMakeLists.txt b/CMakeLists.txt index 593dfb265..8e0e76f9e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,15 @@ set(SYSTEM_SDL2_DEFAULT OFF) include(CheckIncludeFile) include(TestBigEndian) +execute_process(COMMAND git status RESULT_VARIABLE DONT_HAVE_GIT WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) +if (NOT DONT_HAVE_GIT) + message(STATUS "Git is available") +else() + message(WARNING "either Git is not available, or this Git repository has not been initialized. +if you have used the \"Source code\" option in the GitHub release page, you are doing it wrong! unless you manually initialize submodules, the build is guaranteed to FAIL spectacularly! +read the \"developer info\" section of README.md for more information.") +endif() + if (ANDROID) set(USE_RTMIDI_DEFAULT OFF) set(WITH_PORTAUDIO_DEFAULT OFF) @@ -922,6 +931,15 @@ if (WARNINGS_ARE_ERRORS) ) endif() +if (NOT ANDROID OR TERMUX) + if (NOT WIN32 AND NOT APPLE) + if (NOT DONT_HAVE_GIT) + add_custom_command(OUTPUT furnace.appdata.xml COMMAND res/make-appdata.sh ARGS ${CMAKE_SOURCE_DIR}/res/furnace.appdata.xml.in ${CMAKE_BINARY_DIR}/furnace.appdata.xml DEPENDS res/furnace.appdata.xml.in WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) + list(APPEND USED_SOURCES furnace.appdata.xml) + endif() + endif() +endif() + if(ANDROID AND NOT TERMUX) add_library(furnace SHARED ${USED_SOURCES}) elseif(WIN32) @@ -952,7 +970,9 @@ if (NOT ANDROID OR TERMUX) include(GNUInstallDirs) install(TARGETS furnace RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES res/furnace.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) - install(FILES res/furnace.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo) + if (NOT DONT_HAVE_GIT) + install(FILES ${CMAKE_BINARY_DIR}/furnace.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo) + endif() install(DIRECTORY doc DESTINATION ${CMAKE_INSTALL_DOCDIR}) install(DIRECTORY papers DESTINATION ${CMAKE_INSTALL_DOCDIR}/other) install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/licenses/furnace) diff --git a/res/furnace.appdata.xml.in b/res/furnace.appdata.xml.in index 8a3baae3f..6103fef1f 100644 --- a/res/furnace.appdata.xml.in +++ b/res/furnace.appdata.xml.in @@ -11,7 +11,7 @@

    - the biggest chiptune tracker ever made! + Furnace - the biggest chiptune tracker ever made!

    it allows you to create songs using a music tracker interface for several computer/game console/arcade sound chips. diff --git a/res/make-appdata.sh b/res/make-appdata.sh index ac94df108..90c3e193b 100755 --- a/res/make-appdata.sh +++ b/res/make-appdata.sh @@ -1,10 +1,15 @@ #!/bin/bash -echo "generating furnace.appdata.xml..." +if [ $# -lt 2 ]; then + echo "usage: $0 input output" + exit 1 +fi -cat furnace.appdata.xml.in > furnace.appdata.xml +#echo "generating $2..." -echo " " >> furnace.appdata.xml +cat "$1" > "$2" + +echo " " >> "$2" for i in `git log --tags='v*' --no-walk --format="%as/%(describe:tags)"`; do releaseDate=${i%/*} @@ -13,13 +18,13 @@ for i in `git log --tags='v*' --no-walk --format="%as/%(describe:tags)"`; do if [[ $releaseVer =~ "pre" ]]; then releaseType=development fi - echo " " >> furnace.appdata.xml - echo " https://github.com/tildearrow/furnace/releases/tag/$releaseVer" >> furnace.appdata.xml - echo " " >> furnace.appdata.xml + echo " " >> "$2" + echo " https://github.com/tildearrow/furnace/releases/tag/$releaseVer" >> "$2" + echo " " >> "$2" done -echo " " >> furnace.appdata.xml +echo " " >> "$2" -echo "" >> furnace.appdata.xml +echo "" >> "$2" -echo "done." +#echo "done." diff --git a/scripts/release-linux-AppImage.sh b/scripts/release-linux-AppImage.sh index 4cf8a8cd4..c535d2f6e 100755 --- a/scripts/release-linux-AppImage.sh +++ b/scripts/release-linux-AppImage.sh @@ -30,8 +30,8 @@ cp -v ../../../res/logo.png furnace.png || exit 1 ln -s furnace.png .DirIcon || exit 1 cp -v ../../../res/furnace.desktop . || exit 1 #mkdir -p usr/share/metainfo || exit 1 -cp -v ../../../res/furnace.appdata.xml usr/share/metainfo/org.tildearrow.furnace.metainfo.xml || exit 1 -rm usr/share/metainfo/furnace.appdata.xml || exit 1 +#cp -v ../../../res/furnace.appdata.xml usr/share/metainfo/org.tildearrow.furnace.metainfo.xml || exit 1 +#rm usr/share/metainfo/furnace.appdata.xml || exit 1 cp -v ../../../res/AppRun . || exit 1 #cp /usr/lib/libm.so.6 usr/lib/ || exit 1 From a6bab9b724b71124eb32fd698db3a7f4848f43dc Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 13 Sep 2023 20:01:40 -0500 Subject: [PATCH 135/174] remove bash-isms from make-appdata.sh --- res/make-appdata.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/res/make-appdata.sh b/res/make-appdata.sh index 90c3e193b..78d1865ee 100755 --- a/res/make-appdata.sh +++ b/res/make-appdata.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh if [ $# -lt 2 ]; then echo "usage: $0 input output" @@ -14,11 +14,15 @@ echo " " >> "$2" for i in `git log --tags='v*' --no-walk --format="%as/%(describe:tags)"`; do releaseDate=${i%/*} releaseVer=${i#*/} - releaseType=stable - if [[ $releaseVer =~ "pre" ]]; then - releaseType=development - fi - echo " " >> "$2" + releaseVerProper=$releaseVer + case $releaseVer in + *pre*) + releaseType=development + releaseVerProper="${releaseVer%pre*}~pre${releaseVer#*pre}" + ;; + *) releaseType=stable;; + esac + echo " " >> "$2" echo " https://github.com/tildearrow/furnace/releases/tag/$releaseVer" >> "$2" echo " " >> "$2" done From 3e803431fab8b6efa32a4ad0de4d09cb84a3f06c Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 13 Sep 2023 20:10:09 -0500 Subject: [PATCH 136/174] update credits --- src/gui/about.cpp | 1 + src/main.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/gui/about.cpp b/src/gui/about.cpp index 9b82483d3..6b13b66ce 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -166,6 +166,7 @@ const char* aboutLine[]={ "Portable File Dialogs by Sam Hocevar", "Native File Dialog by Frogtoss Games", "PortAudio", + "Weak-JACK by x42", "RtMidi by Gary P. Scavone", "FFTW by Matteo Frigo and Steven G. Johnson", "backward-cpp by Google", diff --git a/src/main.cpp b/src/main.cpp index 6cc6b803d..87b36f668 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -167,6 +167,7 @@ TAParamResult pVersion(String) { printf("- SDL2 by Sam Lantinga (zlib license)\n"); printf("- zlib by Jean-loup Gailly and Mark Adler (zlib license)\n"); printf("- PortAudio (PortAudio license)\n"); + printf("- Weak-JACK by x42 (GPLv2)\n"); printf("- RtMidi by Gary P. Scavone (RtMidi license)\n"); printf("- backward-cpp by Google (MIT)\n"); printf("- Dear ImGui by Omar Cornut (MIT)\n"); From 873ebdfeea56cf780330b74932ca3957cdffce99 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 14 Sep 2023 02:13:52 -0500 Subject: [PATCH 137/174] recent files debug --- src/gui/debugWindow.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gui/debugWindow.cpp b/src/gui/debugWindow.cpp index 916204030..1efde1e09 100644 --- a/src/gui/debugWindow.cpp +++ b/src/gui/debugWindow.cpp @@ -574,6 +574,16 @@ void FurnaceGUI::drawDebug() { ImGui::PlotLines("##DebugFMPreview",asFloat,FM_PREVIEW_SIZE,0,"Preview",-1.0,1.0,ImVec2(300.0f*dpiScale,150.0f*dpiScale)); ImGui::TreePop(); } + if (ImGui::TreeNode("Recent Files")) { + ImGui::Text("Items: %d - Max: %d",(int)recentFile.size(),settings.maxRecentFile); + ImGui::Text("readPos: %d - writePos: %d",(int)recentFile.readPos,(int)recentFile.writePos); + ImGui::Indent(); + for (size_t i=0; i Date: Thu, 14 Sep 2023 02:22:45 -0500 Subject: [PATCH 138/174] FixedQueue: I screwed erase up --- src/fixedQueue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fixedQueue.h b/src/fixedQueue.h index 91ebeea36..aa76da33d 100644 --- a/src/fixedQueue.h +++ b/src/fixedQueue.h @@ -76,7 +76,7 @@ template bool FixedQueue::erase(size_t pos) return pop_back(); } - for (size_t i=0, p=(readPos+pos)%items, p1=(readPos+pos+1)%items; i<=curSize; i++) { + for (size_t i=pos, p=(readPos+pos)%items, p1=(readPos+pos+1)%items; i<=curSize; i++) { if (p>=items) p-=items; if (p1>=items) p1-=items; data[p]=data[p1]; From d69cdedd4a0163352db40711583e8289b5ea0fc9 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 14 Sep 2023 02:41:11 -0500 Subject: [PATCH 139/174] FixedQueue: and again --- src/fixedQueue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fixedQueue.h b/src/fixedQueue.h index aa76da33d..9866fe732 100644 --- a/src/fixedQueue.h +++ b/src/fixedQueue.h @@ -76,7 +76,7 @@ template bool FixedQueue::erase(size_t pos) return pop_back(); } - for (size_t i=pos, p=(readPos+pos)%items, p1=(readPos+pos+1)%items; i<=curSize; i++) { + for (size_t i=pos+1, p=(readPos+pos)%items, p1=(readPos+pos+1)%items; i=items) p-=items; if (p1>=items) p1-=items; data[p]=data[p1]; From 5a4be9951d9667465a00b27c8a806f72f5667b53 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 14 Sep 2023 04:31:15 -0500 Subject: [PATCH 140/174] release v0.6pre16 --- android/app/build.gradle | 4 ++-- android/app/src/main/AndroidManifest.xml | 4 ++-- papers/clipboard-format.md | 2 +- papers/format.md | 1 + res/Info.plist | 6 +++--- src/engine/engine.h | 4 ++-- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 64fd88917..8939a6d1d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -15,8 +15,8 @@ android { } minSdkVersion 21 targetSdkVersion 26 - versionCode 177 - versionName "0.6pre15" + versionCode 178 + versionName "0.6pre16" externalNativeBuild { cmake { arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON" diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 9a2ed1751..5a99f3cb1 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ diff --git a/papers/clipboard-format.md b/papers/clipboard-format.md index bb9bf7fe2..ec6378837 100644 --- a/papers/clipboard-format.md +++ b/papers/clipboard-format.md @@ -6,7 +6,7 @@ when copying pattern data from Furnace, it's stored in the clipboard as plain te org.tildearrow.furnace - Pattern Data (144) ``` -this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre15 is `177`. +this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre16 is `178`. the second line is a number between 0 and 18 (decimal) which indicates which column the clip starts from. - `0`: note. diff --git a/papers/format.md b/papers/format.md index ece5b7ef2..f2281f43d 100644 --- a/papers/format.md +++ b/papers/format.md @@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1). the format versions are: +- 178: Furnace 0.6pre16 - 177: Furnace 0.6pre15 - 175: Furnace 0.6pre14 - 174: Furnace 0.6pre13 diff --git a/res/Info.plist b/res/Info.plist index e5daf8699..da4c26491 100644 --- a/res/Info.plist +++ b/res/Info.plist @@ -15,17 +15,17 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - 0.6pre15 + 0.6pre16 CFBundleName Furnace CFBundlePackageType APPL CFBundleShortVersionString - 0.6pre15 + 0.6pre16 CFBundleSignature ???? CFBundleVersion - 0.6pre15 + 0.6pre16 NSHumanReadableCopyright NSHighResolutionCapable diff --git a/src/engine/engine.h b/src/engine/engine.h index 32cc00e91..2f312173b 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -58,8 +58,8 @@ class DivWorkPool; #define DIV_UNSTABLE -#define DIV_VERSION "0.6pre15" -#define DIV_ENGINE_VERSION 177 +#define DIV_VERSION "0.6pre16" +#define DIV_ENGINE_VERSION 178 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 From bbbe646a3dc9ea227e9ec09aef120ffe918c7d7a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 14 Sep 2023 16:19:20 -0500 Subject: [PATCH 141/174] update x1-010.md --- doc/7-systems/x1-010.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/7-systems/x1-010.md b/doc/7-systems/x1-010.md index 110fed13e..a4b1ebb0c 100644 --- a/doc/7-systems/x1-010.md +++ b/doc/7-systems/x1-010.md @@ -7,9 +7,9 @@ the sample frequency resolution is pretty bad in the low end though... even though this chip has stereo output, no board (as far as we know) uses the two outputs that it has... instead, only one output is connected, effectively being used as a mono chip. -the chip also has some (complicated) hardware volume envelope capabilities, with half of its memory being usable for that purpose. Volume envelope shape is defined via 4-bit (16 step high), 128 byte waveform. +the chip also has some (complicated) hardware volume envelope capabilities, with half of its memory being usable for that purpose. the shape of a volume envelope is defined by user-provided 128×16 (or was it 256×16) waveforms. -the chip can store up to 32 nominal sound waveforms and envelope waveforms at once (plz fact check) +the chip can store up to 32 sound waveforms and envelope waveforms at once. this chip was the inspiration for Organya/PxTone (the former being used in a well-known game called Cave Story). From b83d1d13bf673e5aff6ba78ddaa75ba820cdcf65 Mon Sep 17 00:00:00 2001 From: freq-mod <32672779+freq-mod@users.noreply.github.com> Date: Fri, 15 Sep 2023 09:47:41 +0200 Subject: [PATCH 142/174] 128 bytes confirmed via MAME docs --- doc/7-systems/x1-010.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/7-systems/x1-010.md b/doc/7-systems/x1-010.md index a4b1ebb0c..8ac56a230 100644 --- a/doc/7-systems/x1-010.md +++ b/doc/7-systems/x1-010.md @@ -7,7 +7,7 @@ the sample frequency resolution is pretty bad in the low end though... even though this chip has stereo output, no board (as far as we know) uses the two outputs that it has... instead, only one output is connected, effectively being used as a mono chip. -the chip also has some (complicated) hardware volume envelope capabilities, with half of its memory being usable for that purpose. the shape of a volume envelope is defined by user-provided 128×16 (or was it 256×16) waveforms. +the chip also has some (complicated) hardware volume envelope capabilities, with half of its memory being usable for that purpose. the shape of a volume envelope is defined by user-provided 128×16 waveforms. the chip can store up to 32 sound waveforms and envelope waveforms at once. From d9c33da519d03939b423cc642d4c87a582690526 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 15 Sep 2023 04:44:19 -0500 Subject: [PATCH 143/174] asdfasdfasdf --- src/engine/playback.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index 12a110b5b..220ff7167 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -1361,6 +1361,7 @@ bool DivEngine::nextTick(bool noAccum, bool inhibitLowLat) { } if (note.on) { dispatchCmd(DivCommand(DIV_CMD_INSTRUMENT,note.channel,note.ins,1)); + //dispatchCmd(DivCommand(DIV_CMD_VOLUME,note.channel,(note.volume*(chan[note.channel].volMax>>8))/127)); dispatchCmd(DivCommand(DIV_CMD_NOTE_ON,note.channel,note.note)); keyHit[note.channel]=true; chan[note.channel].noteOnInhibit=true; From 083f870930580e01fbb7fee84b7be0ec7cd3eab6 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 16 Sep 2023 04:08:12 -0500 Subject: [PATCH 144/174] GUI: reduce pattern/orders latency no more oldOrder/oldRow hacks! --- src/gui/clock.cpp | 4 ++-- src/gui/doAction.cpp | 2 -- src/gui/editing.cpp | 4 ---- src/gui/gui.cpp | 33 +++++++++++++++------------------ src/gui/gui.h | 2 +- src/gui/orders.cpp | 25 ++++++++++++------------- src/gui/pattern.cpp | 27 +++++++++++++-------------- src/gui/subSongs.cpp | 6 ------ 8 files changed, 43 insertions(+), 60 deletions(-) diff --git a/src/gui/clock.cpp b/src/gui/clock.cpp index 5db890558..a44ae13d5 100644 --- a/src/gui/clock.cpp +++ b/src/gui/clock.cpp @@ -29,13 +29,13 @@ void FurnaceGUI::drawClock() { } if (!clockOpen) return; if (ImGui::Begin("Clock",&clockOpen,globalWinFlags)) { - int row=e->getRow(); + int row=oldRow; int elapsedBars=e->getElapsedBars(); int elapsedBeats=e->getElapsedBeats(); bool playing=e->isPlaying(); if (clockShowRow) { ImGui::PushFont(bigFont); - ImGui::Text("%.3d:%.3d",e->getOrder(),row); + ImGui::Text("%.3d:%.3d",playOrder,row); ImGui::PopFont(); } if (clockShowBeat) { diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index 6edfa694d..24c491ffe 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -1566,8 +1566,6 @@ void FurnaceGUI::doAction(int what) { e->deleteOrder(curOrder); if (curOrder>=e->curSubSong->ordersLen) { curOrder=e->curSubSong->ordersLen-1; - oldOrder=curOrder; - oldOrder1=curOrder; e->setOrder(curOrder); } makeUndo(GUI_UNDO_CHANGE_ORDER); diff --git a/src/gui/editing.cpp b/src/gui/editing.cpp index 1e55d86e3..aa7e6f5c7 100644 --- a/src/gui/editing.cpp +++ b/src/gui/editing.cpp @@ -1209,8 +1209,6 @@ void FurnaceGUI::doUndo() { if (curOrder>=e->curSubSong->ordersLen) { curOrder=e->curSubSong->ordersLen-1; - oldOrder=curOrder; - oldOrder1=curOrder; e->setOrder(curOrder); } @@ -1287,8 +1285,6 @@ void FurnaceGUI::doRedo() { if (curOrder>=e->curSubSong->ordersLen) { curOrder=e->curSubSong->ordersLen-1; - oldOrder=curOrder; - oldOrder1=curOrder; e->setOrder(curOrder); } diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 576068f66..b9abe6707 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -1134,7 +1134,7 @@ void FurnaceGUI::stop() { if (followPattern && wasPlaying) { nextScroll=-1.0f; nextAddScroll=0.0f; - cursor.y=e->getRow(); + cursor.y=oldRow; if (selStart.xCoarse==selEnd.xCoarse && selStart.xFine==selEnd.xFine && selStart.y==selEnd.y && !selecting) { selStart=cursor; selEnd=cursor; @@ -4379,15 +4379,15 @@ bool FurnaceGUI::loop() { info+=fmt::sprintf(" @ %gHz (%g BPM) ",e->getCurHz(),calcBPM(e->getSpeeds(),e->getCurHz(),e->curSubSong->virtualTempoN,e->curSubSong->virtualTempoD)); if (settings.orderRowsBase) { - info+=fmt::sprintf("| Order %.2X/%.2X ",e->getOrder(),e->curSubSong->ordersLen-1); + info+=fmt::sprintf("| Order %.2X/%.2X ",playOrder,e->curSubSong->ordersLen-1); } else { - info+=fmt::sprintf("| Order %d/%d ",e->getOrder(),e->curSubSong->ordersLen-1); + info+=fmt::sprintf("| Order %d/%d ",playOrder,e->curSubSong->ordersLen-1); } if (settings.patRowsBase) { - info+=fmt::sprintf("| Row %.2X/%.2X ",e->getRow(),e->curSubSong->patLen); + info+=fmt::sprintf("| Row %.2X/%.2X ",oldRow,e->curSubSong->patLen); } else { - info+=fmt::sprintf("| Row %d/%d ",e->getRow(),e->curSubSong->patLen); + info+=fmt::sprintf("| Row %d/%d ",oldRow,e->curSubSong->patLen); } info+=fmt::sprintf("| %d:%.2d:%.2d.%.2d",totalSeconds/3600,(totalSeconds/60)%60,totalSeconds%60,totalTicks/10000); @@ -4459,9 +4459,15 @@ bool FurnaceGUI::loop() { MEASURE(calcChanOsc,calcChanOsc()); - if (followPattern) { - curOrder=e->getOrder(); - } + e->synchronized([this]() { + playOrder=e->getOrder(); + if (followPattern) { + curOrder=playOrder; + } + if (e->isPlaying()) { + oldRow=e->getRow(); + } + }); if (mobileUI) { globalWinFlags=ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoMove|ImGuiWindowFlags_NoResize|ImGuiWindowFlags_NoBringToFrontOnFocus; @@ -5540,8 +5546,6 @@ bool FurnaceGUI::loop() { stop(); e->clearSubSongs(); curOrder=0; - oldOrder=0; - oldOrder1=0; MARK_MODIFIED; ImGui::CloseCurrentPopup(); } @@ -5552,8 +5556,6 @@ bool FurnaceGUI::loop() { }); e->setOrder(0); curOrder=0; - oldOrder=0; - oldOrder1=0; MARK_MODIFIED; ImGui::CloseCurrentPopup(); } @@ -5565,8 +5567,6 @@ bool FurnaceGUI::loop() { }); e->setOrder(0); curOrder=0; - oldOrder=0; - oldOrder1=0; MARK_MODIFIED; ImGui::CloseCurrentPopup(); } @@ -5671,8 +5671,6 @@ bool FurnaceGUI::loop() { undoHist.clear(); redoHist.clear(); updateScroll(0); - oldOrder=0; - oldOrder1=0; oldRow=0; cursor.xCoarse=0; cursor.xFine=0; @@ -7079,10 +7077,9 @@ FurnaceGUI::FurnaceGUI(): curSample(0), curOctave(3), curOrder(0), + playOrder(0), prevIns(0), oldRow(0), - oldOrder(0), - oldOrder1(0), editStep(1), exportLoops(0), soloChan(-1), diff --git a/src/gui/gui.h b/src/gui/gui.h index 6f4bad90e..0d3ef9d33 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1806,7 +1806,7 @@ class FurnaceGUI { DivInstrument* prevInsData; - int curIns, curWave, curSample, curOctave, curOrder, prevIns, oldRow, oldOrder, oldOrder1, editStep, exportLoops, soloChan,orderEditMode, orderCursor; + int curIns, curWave, curSample, curOctave, curOrder, playOrder, prevIns, oldRow, editStep, exportLoops, soloChan,orderEditMode, orderCursor; int loopOrder, loopRow, loopEnd, isClipping, extraChannelButtons, newSongCategory, latchTarget; int wheelX, wheelY, dragSourceX, dragSourceXFine, dragSourceY, dragDestinationX, dragDestinationXFine, dragDestinationY, oldBeat, oldBar; int curGroove, exitDisabledTimer; diff --git a/src/gui/orders.cpp b/src/gui/orders.cpp index afd96ea5d..43dba3d79 100644 --- a/src/gui/orders.cpp +++ b/src/gui/orders.cpp @@ -259,18 +259,18 @@ void FurnaceGUI::drawOrders() { } ImGui::PushFont(patFont); bool tooSmall=((displayChans+1)>((ImGui::GetContentRegionAvail().x)/(ImGui::CalcTextSize("AA").x+2.0*ImGui::GetStyle().ItemInnerSpacing.x))); - ImGui::PopFont(); float yHeight=ImGui::GetContentRegionAvail().y; + float lineHeight=(ImGui::GetTextLineHeight()+4*dpiScale); + if (e->isPlaying()) { + if (followOrders) { + float nextOrdScroll=(playOrder+1)*lineHeight-((yHeight-(tooSmall?ImGui::GetStyle().ScrollbarSize:0.0f))/2.0f); + if (nextOrdScroll<0.0f) nextOrdScroll=0.0f; + ImGui::SetNextWindowScroll(ImVec2(-1.0f,nextOrdScroll)); + } + } if (ImGui::BeginTable("OrdersTable",1+displayChans,(tooSmall?ImGuiTableFlags_SizingFixedFit:ImGuiTableFlags_SizingStretchSame)|ImGuiTableFlags_ScrollX|ImGuiTableFlags_ScrollY)) { - ImGui::PushFont(patFont); ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,prevSpacing); ImGui::TableSetupScrollFreeze(1,1); - float lineHeight=(ImGui::GetTextLineHeight()+4*dpiScale); - if (e->isPlaying()) { - if (followOrders) { - ImGui::SetScrollY((e->getOrder()+1)*lineHeight-((yHeight-(tooSmall?ImGui::GetStyle().ScrollbarSize:0.0f))/2.0f)); - } - } ImGui::TableNextRow(0,lineHeight); ImVec2 ra=ImGui::GetContentRegionAvail(); ImGui::TableNextColumn(); @@ -283,9 +283,9 @@ void FurnaceGUI::drawOrders() { ImGui::PopStyleColor(); for (int i=0; icurSubSong->ordersLen; i++) { ImGui::TableNextRow(0,lineHeight); - if (oldOrder1==i) ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_ORDER_ACTIVE])); + if (playOrder==i && e->isPlaying()) ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_ORDER_ACTIVE])); ImGui::TableNextColumn(); - if ((!followPattern && curOrder==i) || (followPattern && oldOrder1==i)) { + if (curOrder==i) { // draw a border ImDrawList* dl=ImGui::GetWindowDrawList(); ImVec2 rBegin=ImGui::GetCursorScreenPos(); @@ -322,7 +322,7 @@ void FurnaceGUI::drawOrders() { //} ImGui::PushStyleColor(ImGuiCol_Text,(curOrder==i || e->curOrders->ord[j][i]==e->curOrders->ord[j][curOrder])?uiColors[GUI_COLOR_ORDER_SIMILAR]:uiColors[GUI_COLOR_ORDER_INACTIVE]); - if (ImGui::Selectable(selID,settings.ordersCursor?(cursor.xCoarse==j && oldOrder1!=i):false)) { + if (ImGui::Selectable(selID,settings.ordersCursor?(cursor.xCoarse==j && curOrder!=i):false)) { if (curOrder==i) { if (orderEditMode==0) { prepareUndo(GUI_UNDO_CHANGE_ORDER); @@ -394,9 +394,9 @@ void FurnaceGUI::drawOrders() { } } ImGui::PopStyleVar(); - ImGui::PopFont(); ImGui::EndTable(); } + ImGui::PopFont(); if (settings.orderButtonPos==2) { ImGui::TableNextColumn(); @@ -411,6 +411,5 @@ void FurnaceGUI::drawOrders() { } } if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_ORDERS; - oldOrder1=e->getOrder(); ImGui::End(); } diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index f87b4ae7c..b85b802c1 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -91,7 +91,7 @@ inline void FurnaceGUI::patternRow(int i, bool isPlaying, float lineHeight, int if (settings.overflowHighlight) { if (edit && cursor.y==i && curWindowLast==GUI_WINDOW_PATTERN) { ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_EDITING])); - } else if (isPlaying && oldRow==i && ord==e->getOrder()) { + } else if (isPlaying && oldRow==i && ord==playOrder) { ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_PATTERN_PLAY_HEAD])); } else if (e->curSubSong->hilightB>0 && !(i%e->curSubSong->hilightB)) { ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_PATTERN_HI_2])); @@ -102,7 +102,7 @@ inline void FurnaceGUI::patternRow(int i, bool isPlaying, float lineHeight, int isPushing=true; if (edit && cursor.y==i && curWindowLast==GUI_WINDOW_PATTERN) { ImGui::PushStyleColor(ImGuiCol_Header,ImGui::GetColorU32(uiColors[GUI_COLOR_EDITING])); - } else if (isPlaying && oldRow==i && ord==e->getOrder()) { + } else if (isPlaying && oldRow==i && ord==playOrder) { ImGui::PushStyleColor(ImGuiCol_Header,ImGui::GetColorU32(uiColors[GUI_COLOR_PATTERN_PLAY_HEAD])); } else if (e->curSubSong->hilightB>0 && !(i%e->curSubSong->hilightB)) { ImGui::PushStyleColor(ImGuiCol_Header,ImGui::GetColorU32(uiColors[GUI_COLOR_PATTERN_HI_2])); @@ -378,7 +378,7 @@ void FurnaceGUI::drawPattern() { bool inhibitMenu=false; if (e->isPlaying() && followPattern && (!e->isStepping() || pendingStepUpdate)) { - cursor.y=e->isStepping()?e->getRow():oldRow; + cursor.y=oldRow; if (selStart.xCoarse==selEnd.xCoarse && selStart.xFine==selEnd.xFine && selStart.y==selEnd.y && !selecting) { selStart=cursor; selEnd=cursor; @@ -419,8 +419,7 @@ void FurnaceGUI::drawPattern() { } //char id[32]; ImGui::PushFont(patFont); - int ord=oldOrder; - oldOrder=curOrder; + int ord=curOrder; int chans=e->getTotalChannelCount(); int displayChans=0; const DivPattern* patCache[DIV_MAX_CHANS]; @@ -437,23 +436,24 @@ void FurnaceGUI::drawPattern() { ImGui::SetCursorPosX(ImGui::GetCursorPosX()+centerOff); } } + if (e->isPlaying() && followPattern && (!e->isStepping() || pendingStepUpdate)) updateScroll(oldRow); + if (--pendingStepUpdate<0) pendingStepUpdate=0; + if (nextScroll>-0.5f) { + ImGui::SetNextWindowScroll(ImVec2(-1.0f,nextScroll)); + nextScroll=-1.0f; + nextAddScroll=0.0f; + } if (ImGui::BeginTable("PatternView",displayChans+2,ImGuiTableFlags_BordersInnerV|ImGuiTableFlags_ScrollX|ImGuiTableFlags_ScrollY|ImGuiTableFlags_NoPadInnerX|ImGuiTableFlags_NoBordersInFrozenArea|((settings.cursorFollowsWheel || wheelCalmDown)?ImGuiTableFlags_NoScrollWithMouse:0))) { ImGui::TableSetupColumn("pos",ImGuiTableColumnFlags_WidthFixed); char chanID[2048]; float lineHeight=(ImGui::GetTextLineHeight()+2*dpiScale); - int curRow=e->getRow(); - if (e->isPlaying() && followPattern && (!e->isStepping() || pendingStepUpdate)) updateScroll(curRow); - if (--pendingStepUpdate<0) pendingStepUpdate=0; - if (nextScroll>-0.5f) { - ImGui::SetScrollY(nextScroll); - nextScroll=-1.0f; - nextAddScroll=0.0f; - } + if (nextAddScroll!=0.0f) { ImGui::SetScrollY(ImGui::GetScrollY()+nextAddScroll); nextScroll=-1.0f; nextAddScroll=0.0f; } + ImGui::TableSetupScrollFreeze(1,1); for (int i=0; icurSubSong->chanShow[i]) continue; @@ -937,7 +937,6 @@ void FurnaceGUI::drawPattern() { ImGui::EndDisabled(); ImGui::PopStyleVar(); - oldRow=curRow; if (demandScrollX) { int totalDemand=demandX-ImGui::GetScrollX(); if (totalDemand<80) { diff --git a/src/gui/subSongs.cpp b/src/gui/subSongs.cpp index 15b107ed0..aeb91041a 100644 --- a/src/gui/subSongs.cpp +++ b/src/gui/subSongs.cpp @@ -38,8 +38,6 @@ void FurnaceGUI::drawSubSongs(bool asChild) { if (ImGui::Selectable(id,i==e->getCurrentSubSong())) { e->changeSongP(i); updateScroll(0); - oldOrder=0; - oldOrder1=0; oldRow=0; cursor.xCoarse=0; cursor.xFine=0; @@ -76,8 +74,6 @@ void FurnaceGUI::drawSubSongs(bool asChild) { } else { e->changeSongP(e->song.subsong.size()-1); updateScroll(0); - oldOrder=0; - oldOrder1=0; oldRow=0; cursor.xCoarse=0; cursor.xFine=0; @@ -98,8 +94,6 @@ void FurnaceGUI::drawSubSongs(bool asChild) { } else { e->changeSongP(e->song.subsong.size()-1); updateScroll(0); - oldOrder=0; - oldOrder1=0; oldRow=0; cursor.xCoarse=0; cursor.xFine=0; From b105dd535fd08a3fab69031805faef935925823c Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 16 Sep 2023 15:04:11 -0500 Subject: [PATCH 145/174] GUI: better --- src/engine/engine.cpp | 7 +++++++ src/engine/engine.h | 5 ++++- src/engine/playback.cpp | 4 ++++ src/gui/gui.cpp | 21 +++++++++++---------- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index fee404523..4d07acd45 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -2166,6 +2166,13 @@ int DivEngine::getRow() { return prevRow; } +void DivEngine::getPlayPos(int& order, int& row) { + playPosLock.lock(); + order=prevOrder; + row=prevRow; + playPosLock.unlock(); +} + int DivEngine::getElapsedBars() { return elapsedBars; } diff --git a/src/engine/engine.h b/src/engine/engine.h index 2f312173b..3f755e837 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -446,7 +446,7 @@ class DivEngine { // bitfield unsigned char walked[8192]; bool isMuted[DIV_MAX_CHANS]; - std::mutex isBusy, saveLock; + std::mutex isBusy, saveLock, playPosLock; String configPath; String configFile; String lastError; @@ -848,6 +848,9 @@ class DivEngine { // get current row int getRow(); + // synchronous get order/row + void getPlayPos(int& order, int& row); + // get beat/bar int getElapsedBars(); int getElapsedBeats(); diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index 220ff7167..affd720e8 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -1164,8 +1164,10 @@ void DivEngine::nextRow() { } if (!stepPlay) { + playPosLock.lock(); prevOrder=curOrder; prevRow=curRow; + playPosLock.unlock(); } for (int i=0; igetPlayPos(nextPlayOrder,nextOldRow); + playOrder=nextPlayOrder; + if (followPattern) { + curOrder=playOrder; + } + if (e->isPlaying()) { + oldRow=nextOldRow; + } + if (!mobileUI) { ImGui::BeginMainMenuBar(); if (ImGui::BeginMenu(settings.capitalMenuBar?"File":"file")) { @@ -4459,16 +4470,6 @@ bool FurnaceGUI::loop() { MEASURE(calcChanOsc,calcChanOsc()); - e->synchronized([this]() { - playOrder=e->getOrder(); - if (followPattern) { - curOrder=playOrder; - } - if (e->isPlaying()) { - oldRow=e->getRow(); - } - }); - if (mobileUI) { globalWinFlags=ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoMove|ImGuiWindowFlags_NoResize|ImGuiWindowFlags_NoBringToFrontOnFocus; //globalWinFlags=ImGuiWindowFlags_NoTitleBar; From 7912a7982c31fc2752b835dd928c719890620be0 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 16 Sep 2023 18:15:03 -0500 Subject: [PATCH 146/174] implement a setting which was missing store/load ins names when saving .fui --- src/engine/engine.h | 2 +- src/engine/fileOpsIns.cpp | 7 ++++++- src/engine/instrument.cpp | 10 +++++----- src/engine/instrument.h | 5 +++-- src/gui/gui.cpp | 8 ++++---- src/gui/gui.h | 4 ++++ src/gui/settings.cpp | 26 ++++++++++++++++++++++++-- 7 files changed, 47 insertions(+), 15 deletions(-) diff --git a/src/engine/engine.h b/src/engine/engine.h index 3f755e837..46b96ac57 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -903,7 +903,7 @@ class DivEngine { // get instrument from file // if the returned vector is empty then there was an error. - std::vector instrumentFromFile(const char* path, bool loadAssets=true); + std::vector instrumentFromFile(const char* path, bool loadAssets=true, bool readInsName=true); // load temporary instrument void loadTempIns(DivInstrument* which); diff --git a/src/engine/fileOpsIns.cpp b/src/engine/fileOpsIns.cpp index c23e437d3..0a7682735 100644 --- a/src/engine/fileOpsIns.cpp +++ b/src/engine/fileOpsIns.cpp @@ -1816,7 +1816,7 @@ void DivEngine::loadWOPN(SafeReader& reader, std::vector& ret, S } } -std::vector DivEngine::instrumentFromFile(const char* path, bool loadAssets) { +std::vector DivEngine::instrumentFromFile(const char* path, bool loadAssets, bool readInsName) { std::vector ret; warnings=""; @@ -1921,12 +1921,17 @@ std::vector DivEngine::instrumentFromFile(const char* path, bool reader.seek(dataPtr,SEEK_SET); } + ins->name=stripPath; + if (ins->readInsData(reader,version,loadAssets?(&song):NULL)!=DIV_DATA_SUCCESS) { lastError="invalid instrument header/data!"; delete ins; delete[] buf; return ret; } else { + if (!readInsName) { + ins->name=stripPath; + } ret.push_back(ins); } } catch (EndOfFileException& e) { diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 28cb99bca..6b871155c 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -719,7 +719,7 @@ void DivInstrument::writeFeatureX1(SafeWriter* w) { FEATURE_END; } -void DivInstrument::putInsData2(SafeWriter* w, bool fui, const DivSong* song) { +void DivInstrument::putInsData2(SafeWriter* w, bool fui, const DivSong* song, bool insName) { size_t blockStartSeek=0; size_t blockEndSeek=0; size_t slSeek=0; @@ -1021,7 +1021,7 @@ void DivInstrument::putInsData2(SafeWriter* w, bool fui, const DivSong* song) { } // check ins name - if (!name.empty()) { + if (!name.empty() && insName) { featureNA=true; } @@ -3380,7 +3380,7 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version, DivS return readInsDataOld(reader,version); } -bool DivInstrument::save(const char* path, bool oldFormat, DivSong* song) { +bool DivInstrument::save(const char* path, bool oldFormat, DivSong* song, bool writeInsName) { SafeWriter* w=new SafeWriter(); w->init(); @@ -3397,14 +3397,14 @@ bool DivInstrument::save(const char* path, bool oldFormat, DivSong* song) { // pointer to data w->writeI(32); - // currently reserved (TODO; wavetable and sample here) + // reserved w->writeS(0); w->writeS(0); w->writeI(0); putInsData(w); } else { - putInsData2(w,true,song); + putInsData2(w,true,song,writeInsName); } FILE* outFile=ps_fopen(path,"wb"); diff --git a/src/engine/instrument.h b/src/engine/instrument.h index a019198f0..20172b7b8 100644 --- a/src/engine/instrument.h +++ b/src/engine/instrument.h @@ -720,7 +720,7 @@ struct DivInstrument { * save the instrument to a SafeWriter using new format. * @param w the SafeWriter in question. */ - void putInsData2(SafeWriter* w, bool fui=false, const DivSong* song=NULL); + void putInsData2(SafeWriter* w, bool fui=false, const DivSong* song=NULL, bool insName=true); /** * read instrument data in .fui format. @@ -735,9 +735,10 @@ struct DivInstrument { * @param path file path. * @param oldFormat whether to save in legacy Furnace ins format. * @param song if new format, a DivSong to read wavetables and samples. + * @param writeInsName whether to write the instrument name or not. ignored if old format. * @return whether it was successful. */ - bool save(const char* path, bool oldFormat=false, DivSong* song=NULL); + bool save(const char* path, bool oldFormat=false, DivSong* song=NULL, bool writeInsName=true); /** * save this instrument to a file in .dmp format. diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 9688a28b6..2e05e79de 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3545,7 +3545,7 @@ bool FurnaceGUI::loop() { case SDL_DROPFILE: if (ev.drop.file!=NULL) { int sampleCountBefore=e->song.sampleLen; - std::vector instruments=e->instrumentFromFile(ev.drop.file); + std::vector instruments=e->instrumentFromFile(ev.drop.file,true,settings.readInsNames); DivWavetable* droppedWave=NULL; DivSample* droppedSample=NULL; if (!instruments.empty()) { @@ -4857,7 +4857,7 @@ bool FurnaceGUI::loop() { break; case GUI_FILE_INS_SAVE: if (curIns>=0 && curIns<(int)e->song.ins.size()) { - if (e->song.ins[curIns]->save(copyOfName.c_str(),false,&e->song)) { + if (e->song.ins[curIns]->save(copyOfName.c_str(),false,&e->song,settings.writeInsNames)) { pushRecentSys(copyOfName.c_str()); } } @@ -4983,7 +4983,7 @@ bool FurnaceGUI::loop() { String warns="there were some warnings/errors while loading instruments:\n"; int sampleCountBefore=e->song.sampleLen; for (String i: fileDialog->getFileName()) { - std::vector insTemp=e->instrumentFromFile(i.c_str()); + std::vector insTemp=e->instrumentFromFile(i.c_str(),true,settings.readInsNames); if (insTemp.empty()) { warn=true; warns+=fmt::sprintf("> %s: cannot load instrument! (%s)\n",i,e->getLastError()); @@ -5029,7 +5029,7 @@ bool FurnaceGUI::loop() { } case GUI_FILE_INS_OPEN_REPLACE: { int sampleCountBefore=e->song.sampleLen; - std::vector instruments=e->instrumentFromFile(copyOfName.c_str()); + std::vector instruments=e->instrumentFromFile(copyOfName.c_str(),true,settings.readInsNames); if (!instruments.empty()) { if (e->song.sampleLen!=sampleCountBefore) { e->renderSamplesP(); diff --git a/src/gui/gui.h b/src/gui/gui.h index 0d3ef9d33..c760354b8 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1591,6 +1591,8 @@ class FurnaceGUI { int chanOscThreads; int renderPoolThreads; int showPool; + int writeInsNames; + int readInsNames; unsigned int maxUndoSteps; String mainFontPath; String headFontPath; @@ -1771,6 +1773,8 @@ class FurnaceGUI { chanOscThreads(0), renderPoolThreads(0), showPool(0), + writeInsNames(1), + readInsNames(1), maxUndoSteps(100), mainFontPath(""), headFontPath(""), diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 37e21c0ae..062b76d0b 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -498,8 +498,24 @@ void FurnaceGUI::drawSettings() { } ImGui::Unindent(); - // SUBSECTION CHIP - CONFIG_SUBSECTION("Chip"); + bool writeInsNamesB=settings.writeInsNames; + if (ImGui::Checkbox("Store instrument name in .fui",&writeInsNamesB)) { + settings.writeInsNames=writeInsNamesB; + } + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("when enabled,saving an instrument will store its name.\nthis may increase file size."); + } + + bool readInsNamesB=settings.readInsNames; + if (ImGui::Checkbox("Load instrument name from .fui",&readInsNamesB)) { + settings.readInsNames=readInsNamesB; + } + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("when enabled, loading an instrument will use the stored name (if present).\notherwise, it will use the file name."); + } + + // SUBSECTION NEW SONG + CONFIG_SUBSECTION("New Song"); ImGui::AlignTextToFramePadding(); ImGui::Text("Initial system:"); ImGui::SameLine(); @@ -3341,6 +3357,8 @@ void FurnaceGUI::syncSettings() { settings.chanOscThreads=e->getConfInt("chanOscThreads",0); settings.renderPoolThreads=e->getConfInt("renderPoolThreads",0); settings.showPool=e->getConfInt("showPool",0); + settings.writeInsNames=e->getConfInt("writeInsNames",1); + settings.readInsNames=e->getConfInt("readInsNames",1); clampSetting(settings.mainFontSize,2,96); clampSetting(settings.headFontSize,2,96); @@ -3494,6 +3512,8 @@ void FurnaceGUI::syncSettings() { clampSetting(settings.chanOscThreads,0,256); clampSetting(settings.renderPoolThreads,0,DIV_MAX_CHIPS); clampSetting(settings.showPool,0,1); + clampSetting(settings.writeInsNames,0,1); + clampSetting(settings.readInsNames,0,1); if (settings.exportLoops<0.0) settings.exportLoops=0.0; if (settings.exportFadeOut<0.0) settings.exportFadeOut=0.0; @@ -3755,6 +3775,8 @@ void FurnaceGUI::commitSettings() { e->setConf("chanOscThreads",settings.chanOscThreads); e->setConf("renderPoolThreads",settings.renderPoolThreads); e->setConf("showPool",settings.showPool); + e->setConf("writeInsNames",settings.writeInsNames); + e->setConf("readInsNames",settings.readInsNames); // colors for (int i=0; i Date: Sat, 16 Sep 2023 21:45:00 -0700 Subject: [PATCH 147/174] Adding new settings to doc and fixing a tiny typo. --- doc/2-interface/settings.md | 4 +++- src/gui/settings.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/2-interface/settings.md b/doc/2-interface/settings.md index 3767e37d2..c6c08a082 100644 --- a/doc/2-interface/settings.md +++ b/doc/2-interface/settings.md @@ -32,8 +32,10 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o - **Loops**: number of additional times to play through `0Bxx` song loop. - **Fade out (seconds)**: length of fade out after final loop. - **Remember last values** +- **Store instrument name in .fui**: when enabled, saving an instrument will store its name. this may increase file size. +- **Load instrument name from .fui**: when enabled, loading an instrument will use the stored name (if present). otherwise, it will use the file name. -### Chip +### New Song - **Initial system**: the system of chips loaded on starting Furnace. - **Current system**: sets current chips as default. diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 062b76d0b..51ea3cb01 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -503,7 +503,7 @@ void FurnaceGUI::drawSettings() { settings.writeInsNames=writeInsNamesB; } if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("when enabled,saving an instrument will store its name.\nthis may increase file size."); + ImGui::SetTooltip("when enabled, saving an instrument will store its name.\nthis may increase file size."); } bool readInsNamesB=settings.readInsNames; From f7a14dd260d1e9bbeba66013f424b03c952647ae Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 18 Sep 2023 18:30:12 -0500 Subject: [PATCH 148/174] GUI: improve find/replace dialog no more annoying combo boxes for hex numbers --- src/gui/findReplace.cpp | 88 ++++------------------------------------- 1 file changed, 8 insertions(+), 80 deletions(-) diff --git a/src/gui/findReplace.cpp b/src/gui/findReplace.cpp index 40e259eb3..f6bf5eedd 100644 --- a/src/gui/findReplace.cpp +++ b/src/gui/findReplace.cpp @@ -670,31 +670,13 @@ void FurnaceGUI::drawFindReplace() { ImGui::Combo("##ICondition",&i.insMode,queryModes,GUI_QUERY_MAX); ImGui::TableNextColumn(); if (FIRST_VISIBLE(i.insMode)) { - snprintf(tempID,1024,"%.2X",i.ins); ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); - if (ImGui::BeginCombo("II1",tempID)) { - for (int j=0; j<256; j++) { - snprintf(tempID,1024,"%.2X",j); - if (ImGui::Selectable(tempID,i.ins==j)) { - i.ins=j; - } - } - ImGui::EndCombo(); - } + ImGui::InputScalar("##II1",ImGuiDataType_U8,&i.ins,NULL,NULL,"%.2X",ImGuiInputTextFlags_CharsHexadecimal); } ImGui::TableNextColumn(); if (SECOND_VISIBLE(i.insMode)) { - snprintf(tempID,1024,"%.2X",i.insMax); ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); - if (ImGui::BeginCombo("II2",tempID)) { - for (int j=0; j<256; j++) { - snprintf(tempID,1024,"%.2X",j); - if (ImGui::Selectable(tempID,i.insMax==j)) { - i.insMax=j; - } - } - ImGui::EndCombo(); - } + ImGui::InputScalar("##II2",ImGuiDataType_U8,&i.insMax,NULL,NULL,"%.2X",ImGuiInputTextFlags_CharsHexadecimal); } ImGui::TableNextRow(); @@ -706,31 +688,13 @@ void FurnaceGUI::drawFindReplace() { ImGui::Combo("##VCondition",&i.volMode,queryModes,GUI_QUERY_MAX); ImGui::TableNextColumn(); if (FIRST_VISIBLE(i.volMode)) { - snprintf(tempID,1024,"%.2X",i.vol); ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); - if (ImGui::BeginCombo("VV1",tempID)) { - for (int j=0; j<256; j++) { - snprintf(tempID,1024,"%.2X",j); - if (ImGui::Selectable(tempID,i.vol==j)) { - i.vol=j; - } - } - ImGui::EndCombo(); - } + ImGui::InputScalar("##VV1",ImGuiDataType_U8,&i.vol,NULL,NULL,"%.2X",ImGuiInputTextFlags_CharsHexadecimal); } ImGui::TableNextColumn(); if (SECOND_VISIBLE(i.volMode)) { - snprintf(tempID,1024,"%.2X",i.volMax); ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); - if (ImGui::BeginCombo("VV2",tempID)) { - for (int j=0; j<256; j++) { - snprintf(tempID,1024,"%.2X",j); - if (ImGui::Selectable(tempID,i.volMax==j)) { - i.volMax=j; - } - } - ImGui::EndCombo(); - } + ImGui::InputScalar("##VV2",ImGuiDataType_U8,&i.volMax,NULL,NULL,"%.2X",ImGuiInputTextFlags_CharsHexadecimal); } for (int j=0; j Date: Tue, 19 Sep 2023 01:49:07 -0500 Subject: [PATCH 149/174] prepare for HTML docs? --- res/docpdf/make-doc-html.sh | 16 ++ res/docpdf/make-doc-pdf.sh | 2 +- res/docpdf/make_htmldoc.py | 344 ++++++++++++++++++++++++++++++++++++ 3 files changed, 361 insertions(+), 1 deletion(-) create mode 100755 res/docpdf/make-doc-html.sh create mode 100644 res/docpdf/make_htmldoc.py diff --git a/res/docpdf/make-doc-html.sh b/res/docpdf/make-doc-html.sh new file mode 100755 index 000000000..b16d7fd10 --- /dev/null +++ b/res/docpdf/make-doc-html.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +echo "compiling Furnace doc (HTML)..." + +if [ ! -e .venv ]; then + python3 -m virtualenv .venv || exit 1 +fi + +source .venv/bin/activate + +if [ ! -e .venv/req_installed ]; then + pip install -r requirements.txt || exit 1 + touch .venv/req_installed +fi + +python3 make_htmldoc.py diff --git a/res/docpdf/make-doc-pdf.sh b/res/docpdf/make-doc-pdf.sh index 91d018d45..c5d53ae16 100755 --- a/res/docpdf/make-doc-pdf.sh +++ b/res/docpdf/make-doc-pdf.sh @@ -1,6 +1,6 @@ #!/bin/bash -echo "compiling Furnace doc..." +echo "compiling Furnace doc (PDF)..." if [ ! -e .venv ]; then python3 -m virtualenv .venv || exit 1 diff --git a/res/docpdf/make_htmldoc.py b/res/docpdf/make_htmldoc.py new file mode 100644 index 000000000..4b98baedf --- /dev/null +++ b/res/docpdf/make_htmldoc.py @@ -0,0 +1,344 @@ +#!/usr/bin/env python3 + +import os +import sys + +import markdown +from mdx_gfm import GithubFlavoredMarkdownExtension + +import re + +import logging +logging.basicConfig(format='%(levelname)s: %(message)s' ,stream=sys.stderr, level=logging.INFO) +LOGGER = logging.getLogger('preprocess') + +hosted = False + +# sort the file order +def sort_func(x): + # place "papers/" at the end (like an appendix) + try: + x.index('%sdoc%s' % (os.path.sep, os.path.sep)) + except ValueError: + return 'z' + + # place readmes at the start of each section + try: + rm = x.index('README.md') + return x[:rm] + '0' + except ValueError: + return x + +# make the links work in-pdf +def fix_links(match): + # images + if os.path.splitext(match.group(2))[-1] == '.png': + return '[%s](%s)' % ( + match.group(1), + os.path.join(os.path.split(my_file)[0], match.group(2)) + ) + + # urls to other files + BASE_URL = 'https://github.com/tildearrow/furnace/tree/master/' + if match.group(2).startswith(BASE_URL): + file_path = match.group(2).split(BASE_URL)[-1] + if os.path.splitext(file_path)[-1] == '': + file_path += '/README.md' + return '[%s](#%s)' % ( + match.group(1), + file_path.replace('/','__') + ) + + # preserve external urls + elif match.group(2).startswith('http'): + return match.group(0) + + # fix paths + act_path = os.path.split(my_file)[0] + '/' + match.group(2) + act_path = os.path.relpath(os.path.abspath(act_path)) + return '[%s](#%s)' % ( + match.group(1), + act_path.replace(os.path.sep,'__') + ) + +def fix_headings(match): + return '%s#' % ( + match.group(1) + ) + +if __name__ == "__main__": + # check whether hosted mode is on + if len(sys.argv)>1: + if sys.argv[1]=='hosted': + hosted=True + + #-- first, prepare the file list --# + file_list = [] + for i in os.walk('../../doc'): + base_dir, subfolders, files = i + for file_ in filter(lambda x: x.lower().endswith('.md'), files): + file_list.append(os.path.join(base_dir, file_)) + + #-- then, create the document --# + html = '' + + # perform sort + file_list.sort(key=sort_func) + + first = True + + for my_file in file_list: + with open(my_file, 'r') as md: + LOGGER.info("processing file %s" % my_file) + data = md.read() + + # retrieve title + pageTitle = data.partition('\n')[0].replace("# ","") + + # perform link fixing + data = re.sub(r'\[(.+?)\]\((.+?)\)', fix_links, data) + data = re.sub(r'^\s*(#+)', fix_headings, data, flags=re.MULTILINE) + + # convert + html +='

    %s
    ' % ( + my_file.replace(os.path.sep, "__"), + markdown.markdown(data, extensions=['nl2br', 'mdx_breakless_lists', GithubFlavoredMarkdownExtension()]) + ) + + # build html + final_html = (''' + + + + + Furnace Manual + + + +
    +
    +
    +
    + +

    Furnace
    User Manual

    +
    +
    + for version 0.6 +
    +
    +
    +
    +
    +
    +

    authors

    +
      +
    • cam900
    • +
    • DeMOSic
    • +
    • Electric Keet
    • +
    • freq-mod
    • +
    • host12prog
    • +
    • nicco1690
    • +
    • tildearrow
    • +
    +

    special thanks to ZoomTen for providing tools which assisted in the production of this document!

    +

    copyright © 2023 tildearrow and other authors.

    +

    this documentation is under the Creative Commons Attribution 3.0 Unported license.

    +

    you may reproduce, modify and/or distribute this documentation provided this copyright notice (including license and attribution) is present and any necessary disclaimers whether modifications have been made.

    +

    this documentation is provided as-is and without warranty of any kind.

    +

    this manual is written for version 0.6 of Furnace.
    it may not necessarily apply to previous or future versions.

    +
    +
    + %s +
    + %s + + + ''' % ( + index, html + ) + ) From 78a72eb5ab571cb7d7ef1f6e09cf7baf985b4acc Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 02:52:51 -0500 Subject: [PATCH 150/174] fix WonderSwan channel names --- src/engine/sysDef.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/sysDef.cpp b/src/engine/sysDef.cpp index a5c1d40eb..d7df4d805 100644 --- a/src/engine/sysDef.cpp +++ b/src/engine/sysDef.cpp @@ -1181,7 +1181,7 @@ void DivEngine::registerSystems() { sysDefs[DIV_SYSTEM_SWAN]=new DivSysDef( "WonderSwan", NULL, 0x96, 0, 4, false, true, 0x171, false, 1U< Date: Tue, 19 Sep 2023 03:01:13 -0500 Subject: [PATCH 151/174] GUI: fix chan osc not clipping --- src/gui/chanOsc.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/chanOsc.cpp b/src/gui/chanOsc.cpp index 41ed6ca9e..6418ef600 100644 --- a/src/gui/chanOsc.cpp +++ b/src/gui/chanOsc.cpp @@ -357,7 +357,7 @@ void FurnaceGUI::drawChanOsc() { } else { ImGui::PushStyleVar(ImGuiStyleVar_CellPadding,ImVec2(0.0f,0.0f)); float availY=ImGui::GetContentRegionAvail().y; - if (ImGui::BeginTable("ChanOsc",chanOscCols,ImGuiTableFlags_Borders)) { + if (ImGui::BeginTable("ChanOsc",chanOscCols,ImGuiTableFlags_Borders|ImGuiTableFlags_NoClip)) { std::vector oscBufs; std::vector oscFFTs; std::vector oscChans; @@ -763,6 +763,7 @@ void FurnaceGUI::drawChanOsc() { } } } + text+=fmt::sprintf("\n%.0f %.0f/%.0f %.0f",inRect.Min.x,inRect.Min.y,inRect.Max.x,inRect.Max.y); dl->AddText(ImLerp(inRect.Min,inRect.Max,ImVec2(0.0f,0.0f)),ImGui::GetColorU32(chanOscTextColor),text.c_str()); } From ebed2936af847431f52004665a16ddc1b049f3ca Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 03:01:33 -0500 Subject: [PATCH 152/174] GUI: remove debug info... --- src/gui/chanOsc.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gui/chanOsc.cpp b/src/gui/chanOsc.cpp index 6418ef600..abdf708b0 100644 --- a/src/gui/chanOsc.cpp +++ b/src/gui/chanOsc.cpp @@ -763,7 +763,6 @@ void FurnaceGUI::drawChanOsc() { } } } - text+=fmt::sprintf("\n%.0f %.0f/%.0f %.0f",inRect.Min.x,inRect.Min.y,inRect.Max.x,inRect.Max.y); dl->AddText(ImLerp(inRect.Min,inRect.Max,ImVec2(0.0f,0.0f)),ImGui::GetColorU32(chanOscTextColor),text.c_str()); } From 8a9ac46545ff4931cb7f509d0f1f461398b2e8a9 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 03:10:35 -0500 Subject: [PATCH 153/174] GUI: don't allow drag-and-drop during intro --- src/gui/gui.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 2e05e79de..bfb22fd2f 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3544,6 +3544,10 @@ bool FurnaceGUI::loop() { break; case SDL_DROPFILE: if (ev.drop.file!=NULL) { + if (introPos<11.0) { + SDL_free(ev.drop.file); + break; + } int sampleCountBefore=e->song.sampleLen; std::vector instruments=e->instrumentFromFile(ev.drop.file,true,settings.readInsNames); DivWavetable* droppedWave=NULL; From 5eaafb9f78961f029c4b641f273910d3a225137c Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 04:04:09 -0500 Subject: [PATCH 154/174] fix typo --- src/engine/sysDef.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/sysDef.cpp b/src/engine/sysDef.cpp index d7df4d805..17ab8cfc3 100644 --- a/src/engine/sysDef.cpp +++ b/src/engine/sysDef.cpp @@ -1649,7 +1649,7 @@ void DivEngine::registerSystems() { {0x1e, {DIV_CMD_SU_SYNC_PERIOD_LOW, "1Exx: Set phase reset period low byte"}}, {0x1f, {DIV_CMD_SU_SYNC_PERIOD_HIGH, "1Fxx: Set phase reset period high byte"}}, {0x20, {DIV_CMD_SU_SWEEP_ENABLE, "20xx: Toggle frequency sweep (bit 0-6: speed; bit 7: direction is up)", constVal<0>, effectVal}}, - {0x21, {DIV_CMD_SU_SWEEP_ENABLE, "21xx: Toggle volume sweep (bit 0-4: speed; bit 5: direciton is up; bit 6: loop; bit 7: alternate)", constVal<1>, effectVal}}, + {0x21, {DIV_CMD_SU_SWEEP_ENABLE, "21xx: Toggle volume sweep (bit 0-4: speed; bit 5: direction is up; bit 6: loop; bit 7: alternate)", constVal<1>, effectVal}}, {0x22, {DIV_CMD_SU_SWEEP_ENABLE, "22xx: Toggle cutoff sweep (bit 0-6: speed; bit 7: direction is up)", constVal<2>, effectVal}}, }; const EffectHandler suCutoffHandler(DIV_CMD_C64_FINE_CUTOFF, "4xxx: Set cutoff (0 to FFF)", effectValLong<12>); From 6394e239ee1c03da2ea06044287e9a897445f61e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 16:44:36 -0500 Subject: [PATCH 155/174] HTML documentation, part 1 --- .gitignore | 1 + res/docpdf/make-doc-html.sh | 9 + res/docpdf/make_htmldoc.py | 316 +++++++----------------------------- 3 files changed, 70 insertions(+), 256 deletions(-) diff --git a/.gitignore b/.gitignore index 6bd68968c..e69bf71bb 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,5 @@ res/binary_to_compressed_c.exe res/docpdf/manual.html res/docpdf/manual.pdf res/docpdf/.venv +res/docpdf/htmldoc/ res/furnace.appdata.xml diff --git a/res/docpdf/make-doc-html.sh b/res/docpdf/make-doc-html.sh index b16d7fd10..3af163f43 100755 --- a/res/docpdf/make-doc-html.sh +++ b/res/docpdf/make-doc-html.sh @@ -2,6 +2,10 @@ echo "compiling Furnace doc (HTML)..." +if [ -e htmldoc ]; then + rm -r htmldoc +fi + if [ ! -e .venv ]; then python3 -m virtualenv .venv || exit 1 fi @@ -14,3 +18,8 @@ if [ ! -e .venv/req_installed ]; then fi python3 make_htmldoc.py + +echo "copying assets..." +for i in `find ../../doc -name "*.png"`; do + cp "$i" "htmldoc${i#../../doc}" +done diff --git a/res/docpdf/make_htmldoc.py b/res/docpdf/make_htmldoc.py index 4b98baedf..5b1cf53e9 100644 --- a/res/docpdf/make_htmldoc.py +++ b/res/docpdf/make_htmldoc.py @@ -35,30 +35,23 @@ def fix_links(match): if os.path.splitext(match.group(2))[-1] == '.png': return '[%s](%s)' % ( match.group(1), - os.path.join(os.path.split(my_file)[0], match.group(2)) + match.group(2) ) - - # urls to other files - BASE_URL = 'https://github.com/tildearrow/furnace/tree/master/' - if match.group(2).startswith(BASE_URL): - file_path = match.group(2).split(BASE_URL)[-1] - if os.path.splitext(file_path)[-1] == '': - file_path += '/README.md' - return '[%s](#%s)' % ( - match.group(1), - file_path.replace('/','__') - ) - + # preserve external urls elif match.group(2).startswith('http'): return match.group(0) + + elif match.group(2).endswith('README.md'): + return '[%s](%s)' % ( + match.group(1), + match.group(2).replace('README.md','index.html') + ) # fix paths - act_path = os.path.split(my_file)[0] + '/' + match.group(2) - act_path = os.path.relpath(os.path.abspath(act_path)) - return '[%s](#%s)' % ( + return '[%s](%s)' % ( match.group(1), - act_path.replace(os.path.sep,'__') + match.group(2).replace('.md','.html') ) def fix_headings(match): @@ -92,6 +85,15 @@ if __name__ == "__main__": LOGGER.info("processing file %s" % my_file) data = md.read() + # retrieve path + pagePath = 'htmldoc' + os.path.sep + my_file[10:] + pagePathH = re.sub(r'\.md$','.html',pagePath).replace("README.html","index.html") + docDir = pagePath[:pagePath.rfind(os.path.sep)] + LOGGER.info("path: %s" % pagePathH) + + if not os.path.exists(docDir): + os.makedirs(docDir) + # retrieve title pageTitle = data.partition('\n')[0].replace("# ","") @@ -100,245 +102,47 @@ if __name__ == "__main__": data = re.sub(r'^\s*(#+)', fix_headings, data, flags=re.MULTILINE) # convert - html +='
    %s
    ' % ( - my_file.replace(os.path.sep, "__"), + html = ''' + + + + + + + %s + + + %s + + +''' % ( + pageTitle, markdown.markdown(data, extensions=['nl2br', 'mdx_breakless_lists', GithubFlavoredMarkdownExtension()]) ) - # build html - final_html = (''' - - - - - Furnace Manual - - - -
    -
    -
    -
    - -

    Furnace
    User Manual

    -
    -
    - for version 0.6 -
    -
    -
    -
    -
    -
    -

    authors

    -
      -
    • cam900
    • -
    • DeMOSic
    • -
    • Electric Keet
    • -
    • freq-mod
    • -
    • host12prog
    • -
    • nicco1690
    • -
    • tildearrow
    • -
    -

    special thanks to ZoomTen for providing tools which assisted in the production of this document!

    -

    copyright © 2023 tildearrow and other authors.

    -

    this documentation is under the Creative Commons Attribution 3.0 Unported license.

    -

    you may reproduce, modify and/or distribute this documentation provided this copyright notice (including license and attribution) is present and any necessary disclaimers whether modifications have been made.

    -

    this documentation is provided as-is and without warranty of any kind.

    -

    this manual is written for version 0.6 of Furnace.
    it may not necessarily apply to previous or future versions.

    -
    -
    - %s -
    - %s - - - ''' % ( - index, html - ) - ) + with open(pagePathH, 'w') as ht: + ht.write(html) From f295e24ad62717cfb53138921fba33c33b7a0067 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 20:02:16 -0500 Subject: [PATCH 156/174] update release scripts --- .github/workflows/build.yml | 28 +++++++++++++++++++++--- res/releaseReadme/stable-linux.txt | 32 +++++++++++++++++++++++++++- res/releaseReadme/stable-mac.txt | 34 ++++++++++++++++++++++++++++-- res/releaseReadme/stable-win.txt | 32 +++++++++++++++++++++++++++- scripts/release-linux.sh | 2 +- scripts/release-win32.sh | 2 +- scripts/release-win64.sh | 2 +- scripts/release-winxp.sh | 2 +- 8 files changed, 123 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2646eb8d4..573be180f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -271,7 +271,7 @@ jobs: pushd ${{ steps.package-identify.outputs.filename }} cp -v ../LICENSE LICENSE.txt - cp -v ../README.md README.txt + cp -v ../res/releaseReadme/unstable-win.txt README.txt cp -vr ../papers ../${binPath}/furnace.exe ./ if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then cp -v ../${binPath}/furnace.pdb ./ @@ -285,7 +285,29 @@ jobs: run: | pushd build cpack - mv Furnace-*-Darwin.dmg ../${{ steps.package-identify.outputs.filename }} + + mkdir orig + mkdir new + hdiutil attach Furnace-*-Darwin.dmg -readonly -mount required -mountpoint orig + + cp -r orig new + hdiutil detach orig + + rmdir orig + rm Furnace-*-Darwin.dmg + + cp -v ../LICENSE new/LICENSE.txt + cp -v ../res/releaseReadme/stable-mac.txt new/README + cp -v -r ../demos new/demos + cp -v -r ../instruments new/instruments + cp -v -r ../wavetables new/wavetables + cd new + wget https://tildearrow.org/furproto/manual.pdf + cd .. + + hdiutil create -srcfolder new -volname Furnace -format UDZO furnace.dmg + + mv furnace.dmg ../${{ steps.package-identify.outputs.filename }} popd - name: Package [Linux] @@ -317,7 +339,7 @@ jobs: cd .. cp ../../LICENSE . - cp ../../README.md . + cp ../../res/releaseReadme/unstable-other.txt . cp -r ../../papers papers rmdir usr diff --git a/res/releaseReadme/stable-linux.txt b/res/releaseReadme/stable-linux.txt index 3eb6e77d9..979720a83 100644 --- a/res/releaseReadme/stable-linux.txt +++ b/res/releaseReadme/stable-linux.txt @@ -1,5 +1,35 @@ # Furnace (chiptune tracker) -thank you for downloading Furnace! I hope you enjoy using it. +thank you for acquiring Furnace! I hope you enjoy using it. extract this archive, and run `furnace` to get started. + +# help + +some technical computing background is recommended for the best experience. +be sure to read the `manual.pdf` file for information on how to use this program. + +if you find issues (e.g. bugs or annoyances), report them. links below. + +# links + +- Furnace on GitHub (project page and issue tracker): https://github.com/tildearrow/furnace + - issues: https://github.com/tildearrow/furnace/issues + - discussion: https://github.com/tildearrow/furnace/discussions +- Furnace on Revolt: https://rvlt.gg/GRPS6tmc +- Furnace on Discord: https://discord.gg/EfrwT2wq7z +- online manual: https://tildearrow.org/furnace/doc/v0.6/ + +# notes + +copyright (C) 2021-2023 tildearrow and contributors. + +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +Furnace is NOT affiliated with Delek or DefleMask in any form, regardless of its ability to load and save the .dmf, .dmp and .dmw file formats. +additionally, Furnace does not intend to replace DefleMask, nor any other program. diff --git a/res/releaseReadme/stable-mac.txt b/res/releaseReadme/stable-mac.txt index fb84fb870..d2a50cd89 100644 --- a/res/releaseReadme/stable-mac.txt +++ b/res/releaseReadme/stable-mac.txt @@ -1,8 +1,9 @@ # Furnace (chiptune tracker) -thank you for downloading Furnace! I hope you enjoy using it. +thank you for acquiring Furnace! I hope you enjoy using it. + +# help -move Furnace to Applications (or some other place). if you are using a recent version of macOS, you may get an error saying that Furnace is damaged. in that case, open Terminal, and type this: @@ -13,3 +14,32 @@ xattr -d com.apple.quarantine /path/to/Furnace.app (replace `/path/to/Furnace.app` with the path where Furnace.app is located, e.g. `/Applications/Furnace.app`) you may need to reboot after doing this before launching Furnace. + + +some technical computing background is recommended for the best experience. +be sure to read the `manual.pdf` file for information on how to use this program. + +if you find issues (e.g. bugs or annoyances), report them. links below. + +# links + +- Furnace on GitHub (project page and issue tracker): https://github.com/tildearrow/furnace + - issues: https://github.com/tildearrow/furnace/issues + - discussion: https://github.com/tildearrow/furnace/discussions +- Furnace on Revolt: https://rvlt.gg/GRPS6tmc +- Furnace on Discord: https://discord.gg/EfrwT2wq7z +- online manual: https://tildearrow.org/furnace/doc/v0.6/ + +# notes + +copyright (C) 2021-2023 tildearrow and contributors. + +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +Furnace is NOT affiliated with Delek or DefleMask in any form, regardless of its ability to load and save the .dmf, .dmp and .dmw file formats. +additionally, Furnace does not intend to replace DefleMask, nor any other program. diff --git a/res/releaseReadme/stable-win.txt b/res/releaseReadme/stable-win.txt index 22eed14ca..562037c2c 100644 --- a/res/releaseReadme/stable-win.txt +++ b/res/releaseReadme/stable-win.txt @@ -1,5 +1,35 @@ # Furnace (chiptune tracker) -thank you for downloading Furnace! I hope you enjoy using it. +thank you for acquiring Furnace! I hope you enjoy using it. extract this archive, and run furnace.exe to get started. + +# help + +some technical computing background is recommended for the best experience. +be sure to read the `manual.pdf` file for information on how to use this program. + +if you find issues (e.g. bugs or annoyances), report them. links below. + +# links + +- Furnace on GitHub (project page and issue tracker): https://github.com/tildearrow/furnace + - issues: https://github.com/tildearrow/furnace/issues + - discussion: https://github.com/tildearrow/furnace/discussions +- Furnace on Revolt: https://rvlt.gg/GRPS6tmc +- Furnace on Discord: https://discord.gg/EfrwT2wq7z +- online manual: https://tildearrow.org/furnace/doc/v0.6/ + +# notes + +copyright (C) 2021-2023 tildearrow and contributors. + +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +Furnace is NOT affiliated with Delek or DefleMask in any form, regardless of its ability to load and save the .dmf, .dmp and .dmw file formats. +additionally, Furnace does not intend to replace DefleMask, nor any other program. diff --git a/scripts/release-linux.sh b/scripts/release-linux.sh index 563e08127..f712d11db 100755 --- a/scripts/release-linux.sh +++ b/scripts/release-linux.sh @@ -50,7 +50,7 @@ rmdir share || exit 1 cd .. cp ../../../LICENSE . || exit 1 -cp ../../../README.md . || exit 1 +cp ../../res/releaseReadme/stable-linux.txt README.md || exit 1 cp -r ../../../papers papers || exit 1 cp -r ../../../doc doc || exit 1 rmdir usr || exit 1 diff --git a/scripts/release-win32.sh b/scripts/release-win32.sh index d189ca6de..b1a1fbf67 100755 --- a/scripts/release-win32.sh +++ b/scripts/release-win32.sh @@ -25,7 +25,7 @@ cd release/win32 cp ../../LICENSE LICENSE.txt || exit 1 cp ../../win32build/furnace.exe . || exit 1 -cp ../../README.md README.txt || exit 1 +cp ../../res/releaseReadme/stable-win.txt README.txt || exit 1 cp -r ../../papers papers || exit 1 cp -r ../../doc doc || exit 1 cp -r ../../demos demos || exit 1 diff --git a/scripts/release-win64.sh b/scripts/release-win64.sh index 9183007b5..b04a16c82 100755 --- a/scripts/release-win64.sh +++ b/scripts/release-win64.sh @@ -25,7 +25,7 @@ cd release/windows cp ../../LICENSE LICENSE.txt || exit 1 cp ../../winbuild/furnace.exe . || exit 1 -cp ../../README.md README.txt || exit 1 +cp ../../res/releaseReadme/stable-win.txt README.txt || exit 1 cp -r ../../papers papers || exit 1 cp -r ../../doc doc || exit 1 cp -r ../../demos demos || exit 1 diff --git a/scripts/release-winxp.sh b/scripts/release-winxp.sh index 9242bfc6c..4d51e6be8 100755 --- a/scripts/release-winxp.sh +++ b/scripts/release-winxp.sh @@ -25,7 +25,7 @@ cd release/winxp cp ../../LICENSE LICENSE.txt || exit 1 cp ../../xpbuild/furnace.exe . || exit 1 -cp ../../README.md README.txt || exit 1 +cp ../../res/releaseReadme/stable-win.txt README.txt || exit 1 cp -r ../../papers papers || exit 1 cp -r ../../doc doc || exit 1 cp -r ../../demos demos || exit 1 From ef680e6b07627333a7e65a254bea9bf199931e9e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 20:14:30 -0500 Subject: [PATCH 157/174] trash --- .github/workflows/build.yml | 8 ++++---- scripts/release-linux.sh | 2 +- scripts/release-win32.sh | 3 ++- scripts/release-win64.sh | 3 ++- scripts/release-winxp.sh | 3 ++- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 573be180f..82bb39b56 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,13 +18,13 @@ jobs: strategy: matrix: config: - - { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } - - { name: 'Windows MSVC x86_64', os: windows-latest, compiler: msvc, arch: x86_64 } + #- { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } + #- { name: 'Windows MSVC x86_64', os: windows-latest, compiler: msvc, arch: x86_64 } #- { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } #- { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } - { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } - { name: 'macOS ARM', os: macos-latest, arch: arm64 } - - { name: 'Linux x86_64', os: ubuntu-20.04, arch: x86_64 } + #- { name: 'Linux x86_64', os: ubuntu-20.04, arch: x86_64 } #- { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf } fail-fast: false @@ -288,7 +288,7 @@ jobs: mkdir orig mkdir new - hdiutil attach Furnace-*-Darwin.dmg -readonly -mount required -mountpoint orig + yes | hdiutil attach Furnace-*-Darwin.dmg -readonly -mount required -mountpoint orig cp -r orig new hdiutil detach orig diff --git a/scripts/release-linux.sh b/scripts/release-linux.sh index f712d11db..bb6d944f5 100755 --- a/scripts/release-linux.sh +++ b/scripts/release-linux.sh @@ -52,7 +52,7 @@ cd .. cp ../../../LICENSE . || exit 1 cp ../../res/releaseReadme/stable-linux.txt README.md || exit 1 cp -r ../../../papers papers || exit 1 -cp -r ../../../doc doc || exit 1 +curl "https://tildearrow.org/furproto/manual.pdf" > manual.pdf rmdir usr || exit 1 strip -s furnace diff --git a/scripts/release-win32.sh b/scripts/release-win32.sh index b1a1fbf67..58e3fb38f 100755 --- a/scripts/release-win32.sh +++ b/scripts/release-win32.sh @@ -27,11 +27,12 @@ cp ../../LICENSE LICENSE.txt || exit 1 cp ../../win32build/furnace.exe . || exit 1 cp ../../res/releaseReadme/stable-win.txt README.txt || exit 1 cp -r ../../papers papers || exit 1 -cp -r ../../doc doc || exit 1 cp -r ../../demos demos || exit 1 cp -r ../../instruments instruments || exit 1 cp -r ../../wavetables wavetables || exit 1 +cp ../../res/docpdf/manual.pdf . || exit 1 + i686-w64-mingw32-strip -s furnace.exe || exit 1 zip -r furnace.zip LICENSE.txt furnace.exe README.txt papers doc demos instruments wavetables diff --git a/scripts/release-win64.sh b/scripts/release-win64.sh index b04a16c82..482c1698c 100755 --- a/scripts/release-win64.sh +++ b/scripts/release-win64.sh @@ -27,11 +27,12 @@ cp ../../LICENSE LICENSE.txt || exit 1 cp ../../winbuild/furnace.exe . || exit 1 cp ../../res/releaseReadme/stable-win.txt README.txt || exit 1 cp -r ../../papers papers || exit 1 -cp -r ../../doc doc || exit 1 cp -r ../../demos demos || exit 1 cp -r ../../instruments instruments || exit 1 cp -r ../../wavetables wavetables || exit 1 +cp ../../res/docpdf/manual.pdf . || exit 1 + x86_64-w64-mingw32-strip -s furnace.exe || exit 1 zip -r furnace.zip LICENSE.txt furnace.exe README.txt papers doc demos instruments wavetables diff --git a/scripts/release-winxp.sh b/scripts/release-winxp.sh index 4d51e6be8..91b4397cd 100755 --- a/scripts/release-winxp.sh +++ b/scripts/release-winxp.sh @@ -27,11 +27,12 @@ cp ../../LICENSE LICENSE.txt || exit 1 cp ../../xpbuild/furnace.exe . || exit 1 cp ../../res/releaseReadme/stable-win.txt README.txt || exit 1 cp -r ../../papers papers || exit 1 -cp -r ../../doc doc || exit 1 cp -r ../../demos demos || exit 1 cp -r ../../instruments instruments || exit 1 cp -r ../../wavetables wavetables || exit 1 +cp ../../res/docpdf/manual.pdf . || exit 1 + i686-w64-mingw32-strip -s furnace.exe || exit 1 # patch to remove GetTickCount64 From 83c0b4c974b675024d2c0dfb5a91b7885f9096c6 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 22:21:37 -0500 Subject: [PATCH 158/174] asdf --- res/docpdf/make_htmldoc.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/res/docpdf/make_htmldoc.py b/res/docpdf/make_htmldoc.py index 5b1cf53e9..dc48195aa 100644 --- a/res/docpdf/make_htmldoc.py +++ b/res/docpdf/make_htmldoc.py @@ -116,13 +116,11 @@ if __name__ == "__main__": } a { - color: #adf; - text-decoration: none; + color: #3df; } a:visited { - color: #adf; - text-decoration: none; + color: #fd3; } b { From d1cca935c75f385256f2e7907ff6522f7ab76a1e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 22:32:12 -0500 Subject: [PATCH 159/174] oh my --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 82bb39b56..57aa5f848 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,7 +23,7 @@ jobs: #- { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } #- { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } - { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } - - { name: 'macOS ARM', os: macos-latest, arch: arm64 } + #- { name: 'macOS ARM', os: macos-latest, arch: arm64 } #- { name: 'Linux x86_64', os: ubuntu-20.04, arch: x86_64 } #- { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf } fail-fast: false @@ -288,7 +288,7 @@ jobs: mkdir orig mkdir new - yes | hdiutil attach Furnace-*-Darwin.dmg -readonly -mount required -mountpoint orig + echo "y" | hdiutil attach Furnace-*-Darwin.dmg -readonly -mount required -mountpoint orig cp -r orig new hdiutil detach orig From 4eba397bb3fa9564f7f083395326509609df1023 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 22:59:25 -0500 Subject: [PATCH 160/174] why is this getting stuck again --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 57aa5f848..ef4d59fc2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -290,7 +290,7 @@ jobs: mkdir new echo "y" | hdiutil attach Furnace-*-Darwin.dmg -readonly -mount required -mountpoint orig - cp -r orig new + cp -v -r orig new hdiutil detach orig rmdir orig From 9d0659659b5f86fb1477bc7d19f7fa24f763079a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 23:15:25 -0500 Subject: [PATCH 161/174] oh no --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ef4d59fc2..485242632 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -290,7 +290,7 @@ jobs: mkdir new echo "y" | hdiutil attach Furnace-*-Darwin.dmg -readonly -mount required -mountpoint orig - cp -v -r orig new + cp -P -v -r orig new hdiutil detach orig rmdir orig From 23b17b6d34349ef671b599fc929f7f29f96d6412 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 23:15:32 -0500 Subject: [PATCH 162/174] ugh --- res/docpdf/make_htmldoc.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/res/docpdf/make_htmldoc.py b/res/docpdf/make_htmldoc.py index dc48195aa..18be36d73 100644 --- a/res/docpdf/make_htmldoc.py +++ b/res/docpdf/make_htmldoc.py @@ -130,6 +130,10 @@ if __name__ == "__main__": h1 { text-align: center; } + + img { + max-width: 100%%; + } %s From 5211ad1e9af74e46b5dbe358b8e0963f85b4f1bd Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 19 Sep 2023 23:26:44 -0500 Subject: [PATCH 163/174] again?!?!?! --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 485242632..72e870819 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -290,7 +290,7 @@ jobs: mkdir new echo "y" | hdiutil attach Furnace-*-Darwin.dmg -readonly -mount required -mountpoint orig - cp -P -v -r orig new + cp -v -r orig/Furnace.app new/Furnace.app hdiutil detach orig rmdir orig From cad63d8351168d85ee6d5c6081c9d732e85916bc Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 00:24:55 -0500 Subject: [PATCH 164/174] is this faster? --- .github/workflows/build.yml | 5 +++++ CMakeLists.txt | 18 ++++++++++++++++++ extern/imgui_patched/imgui.h | 2 ++ src/audio/pa.cpp | 1 - src/audio/sdlAudio.cpp | 1 - src/audio/taAudio.h | 2 +- src/baseutils.h | 2 +- src/engine/config.h | 2 -- src/engine/dispatch.h | 2 +- src/engine/engine.h | 4 ---- src/engine/export.h | 2 +- src/engine/instrument.h | 2 +- src/engine/pattern.h | 2 +- src/engine/platform/c140.cpp | 1 - src/engine/platform/es5506.cpp | 1 - src/engine/platform/qsound.cpp | 1 - src/engine/platform/ymz280b.cpp | 1 - src/engine/song.h | 2 +- src/gui/fileDialog.h | 2 +- src/gui/gui.h | 4 +--- src/gui/plot_nolerp.h | 2 +- src/main.cpp | 2 +- src/pch.cpp | 20 ++++++++++++++++++++ src/pch.h | 29 +++++++++++++++++++++++++++++ src/ta-log.h | 2 +- src/ta-utils.h | 2 +- 26 files changed, 87 insertions(+), 27 deletions(-) create mode 100644 src/pch.cpp create mode 100644 src/pch.h diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 72e870819..47ba22073 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -296,6 +296,11 @@ jobs: rmdir orig rm Furnace-*-Darwin.dmg + if [ -e new/Furnace.app/Contents/Resources/bin/furnace ]; then + rm -v new/Furnace.app/Contents/Resources/bin/furnace + rmdir new/Furnace.app/Contents/Resources/bin + fi + cp -v ../LICENSE new/LICENSE.txt cp -v ../res/releaseReadme/stable-mac.txt new/README cp -v -r ../demos new/demos diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e0e76f9e..c13711c17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -448,6 +448,9 @@ extern/Nuked-PSG/ympsg.c extern/opm/opm.c extern/Nuked-OPLL/opll.c extern/opl/opl3.c + +src/pch.cpp + src/engine/platform/sound/sn76496.cpp src/engine/platform/sound/ay8910.cpp src/engine/platform/sound/saa1099.cpp @@ -965,6 +968,21 @@ if (PKG_CONFIG_FOUND AND (SYSTEM_FMT OR SYSTEM_LIBSNDFILE OR SYSTEM_ZLIB OR SYST endif() endif() +# why 3.16..... why not 3.0? +if (CMAKE_MAJOR_VERSION GREATER_EQUAL 3 AND CMAKE_MINOR_VERSION GREATER_EQUAL 16) + if (BUILD_GUI) + target_precompile_headers(furnace PUBLIC + $<$:${CMAKE_CURRENT_SOURCE_DIR}/src/pch.h> + $<$:${CMAKE_CURRENT_SOURCE_DIR}/extern/imgui_patched/imgui.h> + $<$:${CMAKE_CURRENT_SOURCE_DIR}/extern/imgui_patched/imgui_internal.h> + ) + else() + target_precompile_headers(furnace PUBLIC + $<$:${CMAKE_CURRENT_SOURCE_DIR}/src/pch.h> + ) + endif() +endif() + if (NOT ANDROID OR TERMUX) if (NOT WIN32 AND NOT APPLE) include(GNUInstallDirs) diff --git a/extern/imgui_patched/imgui.h b/extern/imgui_patched/imgui.h index e7966cab4..97a458696 100644 --- a/extern/imgui_patched/imgui.h +++ b/extern/imgui_patched/imgui.h @@ -2550,6 +2550,8 @@ struct ImGuiListClipper // - It is important that we are keeping those disabled by default so they don't leak in user space. // - This is in order to allow user enabling implicit cast operators between ImVec2/ImVec4 and their own types (using IM_VEC2_CLASS_EXTRA in imconfig.h) // - You can use '#define IMGUI_DEFINE_MATH_OPERATORS' to import our operators, provided as a courtesy. +#define IMGUI_DEFINE_MATH_OPERATORS + #ifdef IMGUI_DEFINE_MATH_OPERATORS #define IMGUI_DEFINE_MATH_OPERATORS_IMPLEMENTED IM_MSVC_RUNTIME_CHECKS_OFF diff --git a/src/audio/pa.cpp b/src/audio/pa.cpp index e2bdfdd8d..3ae960860 100644 --- a/src/audio/pa.cpp +++ b/src/audio/pa.cpp @@ -18,7 +18,6 @@ */ #include -#include #include "../ta-log.h" #include "pa.h" #ifdef _WIN32 diff --git a/src/audio/sdlAudio.cpp b/src/audio/sdlAudio.cpp index ddbe85947..e01f073c8 100644 --- a/src/audio/sdlAudio.cpp +++ b/src/audio/sdlAudio.cpp @@ -18,7 +18,6 @@ */ #include -#include #include "../ta-log.h" #include "sdlAudio.h" diff --git a/src/audio/taAudio.h b/src/audio/taAudio.h index 12de61e95..0b6f530c6 100644 --- a/src/audio/taAudio.h +++ b/src/audio/taAudio.h @@ -22,7 +22,7 @@ #include "../ta-utils.h" #include #include "../fixedQueue.h" -#include +#include "../pch.h" struct SampleRateChangeEvent { double rate; diff --git a/src/baseutils.h b/src/baseutils.h index 0e1b31911..7e3d8e8eb 100644 --- a/src/baseutils.h +++ b/src/baseutils.h @@ -20,7 +20,7 @@ #ifndef _BASEUTILS_H #define _BASEUTILS_H -#include +#include "pch.h" std::string taEncodeBase64(const std::string& data); std::string taDecodeBase64(const char* str); diff --git a/src/engine/config.h b/src/engine/config.h index 12105d696..b9f5e43e1 100644 --- a/src/engine/config.h +++ b/src/engine/config.h @@ -21,8 +21,6 @@ #define _DIVCONFIG_H #include "../ta-utils.h" -#include -#include #include class DivConfig { diff --git a/src/engine/dispatch.h b/src/engine/dispatch.h index 0ad264e53..ecb2ebc6e 100644 --- a/src/engine/dispatch.h +++ b/src/engine/dispatch.h @@ -22,7 +22,7 @@ #include #include -#include +#include "../pch.h" #include "config.h" #include "chipUtils.h" diff --git a/src/engine/engine.h b/src/engine/engine.h index 46b96ac57..1fd054635 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -30,13 +30,9 @@ #include "cmdStream.h" #include "../audio/taAudio.h" #include "blip_buf.h" -#include #include #include #include -#include -#include -#include #include "../fixedQueue.h" class DivWorkPool; diff --git a/src/engine/export.h b/src/engine/export.h index 07354fdb3..3a51ee236 100644 --- a/src/engine/export.h +++ b/src/engine/export.h @@ -22,7 +22,7 @@ #include "song.h" #include -#include +#include "../pch.h" class DivEngine; diff --git a/src/engine/instrument.h b/src/engine/instrument.h index 20172b7b8..a804f87f2 100644 --- a/src/engine/instrument.h +++ b/src/engine/instrument.h @@ -22,7 +22,7 @@ #include "safeWriter.h" #include "dataErrors.h" #include "../ta-utils.h" -#include +#include "../pch.h" struct DivSong; diff --git a/src/engine/pattern.h b/src/engine/pattern.h index 257ce7eca..8bb8fa21e 100644 --- a/src/engine/pattern.h +++ b/src/engine/pattern.h @@ -18,7 +18,7 @@ */ #include "safeReader.h" -#include +#include "../pch.h" struct DivPattern { String name; diff --git a/src/engine/platform/c140.cpp b/src/engine/platform/c140.cpp index 1e77ad35a..30ec91f0d 100644 --- a/src/engine/platform/c140.cpp +++ b/src/engine/platform/c140.cpp @@ -21,7 +21,6 @@ #include "../engine.h" #include "../../ta-log.h" #include -#include #define CHIP_FREQBASE (is219?74448896:12582912) diff --git a/src/engine/platform/es5506.cpp b/src/engine/platform/es5506.cpp index 227917636..b93f0c163 100644 --- a/src/engine/platform/es5506.cpp +++ b/src/engine/platform/es5506.cpp @@ -21,7 +21,6 @@ #include "../engine.h" #include "../../ta-log.h" #include -#include #define PITCH_OFFSET ((double)(16*2048*(chanMax+1))) #define NOTE_ES5506(c,note) (parent->calcBaseFreq(chipClock,chan[c].pcm.freqOffs,note,false)) diff --git a/src/engine/platform/qsound.cpp b/src/engine/platform/qsound.cpp index 5c98990b4..95a455e3f 100644 --- a/src/engine/platform/qsound.cpp +++ b/src/engine/platform/qsound.cpp @@ -21,7 +21,6 @@ #include "../engine.h" #include "../../ta-log.h" #include -#include #define CHIP_DIVIDER (1248*2) #define QS_NOTE_FREQUENCY(x) parent->calcBaseFreq(440,4096,(x)-3,false) diff --git a/src/engine/platform/ymz280b.cpp b/src/engine/platform/ymz280b.cpp index 12f2251da..9a8b45e9d 100644 --- a/src/engine/platform/ymz280b.cpp +++ b/src/engine/platform/ymz280b.cpp @@ -21,7 +21,6 @@ #include "../engine.h" #include "../../ta-log.h" #include -#include #define CHIP_FREQBASE 25165824 diff --git a/src/engine/song.h b/src/engine/song.h index 78c49b4e1..ec316464c 100644 --- a/src/engine/song.h +++ b/src/engine/song.h @@ -20,7 +20,7 @@ #ifndef _SONG_H #define _SONG_H #include -#include +#include "../pch.h" #include "defines.h" #include "../ta-utils.h" diff --git a/src/gui/fileDialog.h b/src/gui/fileDialog.h index 371fa7c21..1a34ca1bc 100644 --- a/src/gui/fileDialog.h +++ b/src/gui/fileDialog.h @@ -1,7 +1,7 @@ #include "../ta-utils.h" #include "imgui.h" #include -#include +#include "../pch.h" #if defined(_WIN64) || defined(__APPLE__) #define USE_NFD diff --git a/src/gui/gui.h b/src/gui/gui.h index c760354b8..bd6b33ce8 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -28,12 +28,10 @@ #include #include #include -#include #include #include -#include #include -#include +#include "../pch.h" #include "fileDialog.h" diff --git a/src/gui/plot_nolerp.h b/src/gui/plot_nolerp.h index 50334dda6..fbc66c1eb 100644 --- a/src/gui/plot_nolerp.h +++ b/src/gui/plot_nolerp.h @@ -18,7 +18,7 @@ */ #include "imgui.h" -#include +#include "../pch.h" void PlotNoLerp(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float)); void PlotBitfield(const char* label, const int* values, int values_count, int values_offset = 0, const char** overlay_text = NULL, int bits = 8, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float), const bool* values_highlight = NULL, ImVec4 highlightColor = ImVec4(1.0f,1.0f,1.0f,1.0f)); diff --git a/src/main.cpp b/src/main.cpp index 87b36f668..7c7c0dd51 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -19,7 +19,7 @@ #include #include -#include +#include "pch.h" #ifdef HAVE_SDL2 #include "SDL_events.h" #endif diff --git a/src/pch.cpp b/src/pch.cpp new file mode 100644 index 000000000..b1cd9d3f5 --- /dev/null +++ b/src/pch.cpp @@ -0,0 +1,20 @@ +/** + * Furnace Tracker - multi-system chiptune tracker + * Copyright (C) 2021-2023 tildearrow and contributors + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "pch.h" \ No newline at end of file diff --git a/src/pch.h b/src/pch.h new file mode 100644 index 000000000..37596e14c --- /dev/null +++ b/src/pch.h @@ -0,0 +1,29 @@ +/** + * Furnace Tracker - multi-system chiptune tracker + * Copyright (C) 2021-2023 tildearrow and contributors + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef FUR_PCH_H +#define FUR_PCH_H + +#include +#include +#include +#include +#include + +#endif diff --git a/src/ta-log.h b/src/ta-log.h index d36f5da7d..de93e24a7 100644 --- a/src/ta-log.h +++ b/src/ta-log.h @@ -23,8 +23,8 @@ #include #include #include -#include #include +#include "pch.h" #define LOGLEVEL_ERROR 0 #define LOGLEVEL_WARN 1 diff --git a/src/ta-utils.h b/src/ta-utils.h index 0b81cc853..6b3c201f5 100644 --- a/src/ta-utils.h +++ b/src/ta-utils.h @@ -21,7 +21,7 @@ #define _TA_UTILS_H #include #include -#include +#include "pch.h" #ifdef _MSC_VER #include From 4fa544db3ed7d5004f0c2d7b88236362e38f893e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 00:33:24 -0500 Subject: [PATCH 165/174] why the hell do you fail why does Objective-C++ even exist? couldn't Apple just use C++?! --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index c13711c17..d9da131d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,7 @@ project(furnace) if (APPLE) enable_language(OBJC) + enable_language(OBJCXX) endif() set(CMAKE_CXX_STANDARD 14) From 2b99c6ec4fa2180c7bbfadecccb61bf461939855 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 00:34:29 -0500 Subject: [PATCH 166/174] ok time for benchmark --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 47ba22073..25348d22b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,14 +18,14 @@ jobs: strategy: matrix: config: - #- { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } - #- { name: 'Windows MSVC x86_64', os: windows-latest, compiler: msvc, arch: x86_64 } + - { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } + - { name: 'Windows MSVC x86_64', os: windows-latest, compiler: msvc, arch: x86_64 } #- { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } #- { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } - { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } - #- { name: 'macOS ARM', os: macos-latest, arch: arm64 } - #- { name: 'Linux x86_64', os: ubuntu-20.04, arch: x86_64 } - #- { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf } + - { name: 'macOS ARM', os: macos-latest, arch: arm64 } + - { name: 'Linux x86_64', os: ubuntu-20.04, arch: x86_64 } + - { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf } fail-fast: false name: ${{ matrix.config.name }} From 156b97c2b89cbd389910ff8b19cf29258128c018 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 00:37:41 -0500 Subject: [PATCH 167/174] why did i turn Linux ARM on --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 25348d22b..b1b68d7cd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: - { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } - { name: 'macOS ARM', os: macos-latest, arch: arm64 } - { name: 'Linux x86_64', os: ubuntu-20.04, arch: x86_64 } - - { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf } + #- { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf } fail-fast: false name: ${{ matrix.config.name }} From b216fe57bfeb881d100fc487991376be7b68b354 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 00:50:47 -0500 Subject: [PATCH 168/174] oh my freaking --- src/pch.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pch.h b/src/pch.h index 37596e14c..7821ee302 100644 --- a/src/pch.h +++ b/src/pch.h @@ -20,6 +20,7 @@ #ifndef FUR_PCH_H #define FUR_PCH_H +#define _USE_MATH_DEFINES #include #include #include From 196619cf70f4a65cef8504351782cb91f4799f49 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 01:08:48 -0500 Subject: [PATCH 169/174] MSM6295: enforce max vol of 8 --- src/engine/platform/msm6295.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/msm6295.cpp b/src/engine/platform/msm6295.cpp index 3d823d16f..6fba09fd1 100644 --- a/src/engine/platform/msm6295.cpp +++ b/src/engine/platform/msm6295.cpp @@ -185,7 +185,7 @@ int DivPlatformMSM6295::dispatch(DivCommand c) { chan[c.chan].std.release(); break; case DIV_CMD_VOLUME: { - chan[c.chan].vol=c.value; + chan[c.chan].vol=MIN(8,c.value); if (!chan[c.chan].std.vol.has) { chan[c.chan].outVol=c.value; } From 746744606fe11886d306dfadf63e0f63c3b879ce Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 01:10:30 -0500 Subject: [PATCH 170/174] oops --- src/engine/platform/pcspkr.h | 1 - src/engine/workPool.h | 1 - 2 files changed, 2 deletions(-) diff --git a/src/engine/platform/pcspkr.h b/src/engine/platform/pcspkr.h index b2a88b903..b1a394444 100644 --- a/src/engine/platform/pcspkr.h +++ b/src/engine/platform/pcspkr.h @@ -23,7 +23,6 @@ #include "../dispatch.h" #include "../../fixedQueue.h" #include -#include #include class DivPlatformPCSpeaker: public DivDispatch { diff --git a/src/engine/workPool.h b/src/engine/workPool.h index 17e4be52a..ec12843aa 100644 --- a/src/engine/workPool.h +++ b/src/engine/workPool.h @@ -21,7 +21,6 @@ #define _WORKPOOL_H #include -#include #include #include #include From 3fca80fe3b148a449560d5197bc97438e725daaa Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 01:20:19 -0500 Subject: [PATCH 171/174] GUI: fix outofrange vol input if vol rng is <16 --- src/gui/gui.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index bfb22fd2f..1c55f0a8d 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -1274,6 +1274,7 @@ void FurnaceGUI::valueInput(int num, bool direct, int target) { } else { if (e->getMaxVolumeChan(cursor.xCoarse)<16) { curNibble=false; + if (pat->data[cursor.y][target]>e->getMaxVolumeChan(cursor.xCoarse)) pat->data[cursor.y][target]=e->getMaxVolumeChan(cursor.xCoarse); editAdvance(); } else { curNibble=!curNibble; From 0c7d0bc32b76c70fe9eba9fc4b402c2b2447a44a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 15:39:52 -0500 Subject: [PATCH 172/174] fix user-specific build issue --- extern/nfd-modified/src/nfd_win.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/extern/nfd-modified/src/nfd_win.cpp b/extern/nfd-modified/src/nfd_win.cpp index 90e28ec3c..5bd95013b 100644 --- a/extern/nfd-modified/src/nfd_win.cpp +++ b/extern/nfd-modified/src/nfd_win.cpp @@ -7,6 +7,12 @@ #ifdef __MINGW32__ // Explicitly setting NTDDI version, this is necessary for the MinGW compiler +#ifdef NTDDI_VERSION +#undef NTDDI_VERSION +#endif +#ifdef _WIN32_WINNT +#undef _WIN32_WINNT +#endif #define NTDDI_VERSION NTDDI_VISTA #define _WIN32_WINNT _WIN32_WINNT_VISTA #endif From 478c3ecb57085f17ec9d1f2cfc97fb523ec6fd33 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 16:16:25 -0500 Subject: [PATCH 173/174] GUI: step play fixes --- src/gui/gui.cpp | 4 ++++ src/gui/gui.h | 2 +- src/gui/pattern.cpp | 13 ++++++++----- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 1c55f0a8d..c81e552c1 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3930,11 +3930,13 @@ bool FurnaceGUI::loop() { int nextPlayOrder=0; int nextOldRow=0; e->getPlayPos(nextPlayOrder,nextOldRow); + oldRowChanged=false; playOrder=nextPlayOrder; if (followPattern) { curOrder=playOrder; } if (e->isPlaying()) { + if (oldRow!=nextOldRow) oldRowChanged=true; oldRow=nextOldRow; } @@ -7110,6 +7112,8 @@ FurnaceGUI::FurnaceGUI(): exitDisabledTimer(0), soloTimeout(0.0f), exportFadeOut(5.0), + newSongFirstFrame(false), + oldRowChanged(false), editControlsOpen(true), ordersOpen(true), insListOpen(true), diff --git a/src/gui/gui.h b/src/gui/gui.h index bd6b33ce8..0c495a6ee 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1816,7 +1816,7 @@ class FurnaceGUI { double exportFadeOut; - bool newSongFirstFrame; + bool newSongFirstFrame, oldRowChanged; bool editControlsOpen, ordersOpen, insListOpen, songInfoOpen, patternOpen, insEditOpen; bool waveListOpen, waveEditOpen, sampleListOpen, sampleEditOpen, aboutOpen, settingsOpen; bool mixerOpen, debugOpen, inspectorOpen, oscOpen, volMeterOpen, statsOpen, compatFlagsOpen; diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index b85b802c1..efb949867 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -377,11 +377,14 @@ void FurnaceGUI::drawPattern() { bool inhibitMenu=false; - if (e->isPlaying() && followPattern && (!e->isStepping() || pendingStepUpdate)) { - cursor.y=oldRow; - if (selStart.xCoarse==selEnd.xCoarse && selStart.xFine==selEnd.xFine && selStart.y==selEnd.y && !selecting) { - selStart=cursor; - selEnd=cursor; + if (e->isPlaying() && followPattern) { + if (oldRowChanged || !e->isStepping()) { + if (e->isStepping()) pendingStepUpdate=1; + cursor.y=oldRow; + if (selStart.xCoarse==selEnd.xCoarse && selStart.xFine==selEnd.xFine && selStart.y==selEnd.y && !selecting) { + selStart=cursor; + selEnd=cursor; + } } } demandX=0; From cb63314f539646071c880bb2b072cb7ff87aafe3 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Sep 2023 16:31:38 -0500 Subject: [PATCH 174/174] OPN/A/B: fix chan osc overflow --- src/engine/platform/ym2203.cpp | 5 +++-- src/engine/platform/ym2608.cpp | 5 +++-- src/engine/platform/ym2610.cpp | 5 +++-- src/engine/platform/ym2610b.cpp | 5 +++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/engine/platform/ym2203.cpp b/src/engine/platform/ym2203.cpp index 53d2cfe06..913f84045 100644 --- a/src/engine/platform/ym2203.cpp +++ b/src/engine/platform/ym2203.cpp @@ -231,7 +231,7 @@ void DivPlatformYM2203::acquire_combo(short** buf, size_t len) { buf[0][h]=os; for (int i=0; i<3; i++) { - oscBuf[i]->data[oscBuf[i]->needle++]=fm_nuked.ch_out[i]<<1; + oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(fm_nuked.ch_out[i]<<1,-32768,32767); } for (int i=3; i<6; i++) { @@ -282,7 +282,8 @@ void DivPlatformYM2203::acquire_ymfm(short** buf, size_t len) { for (int i=0; i<3; i++) { - oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1; + int out=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1; + oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(out,-32768,32767); } for (int i=3; i<6; i++) { diff --git a/src/engine/platform/ym2608.cpp b/src/engine/platform/ym2608.cpp index 743cfab46..9ec5518b0 100644 --- a/src/engine/platform/ym2608.cpp +++ b/src/engine/platform/ym2608.cpp @@ -402,7 +402,7 @@ void DivPlatformYM2608::acquire_combo(short** buf, size_t len) { for (int i=0; idata[oscBuf[i]->needle++]=fm_nuked.ch_out[i]<<1; + oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(fm_nuked.ch_out[i]<<1,-32768,32767); } ssge->get_last_out(ssgOut); @@ -471,7 +471,8 @@ void DivPlatformYM2608::acquire_ymfm(short** buf, size_t len) { buf[1][h]=os[1]; for (int i=0; i<6; i++) { - oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1; + int out=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1; + oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(out,-32768,32767); } ssge->get_last_out(ssgOut); diff --git a/src/engine/platform/ym2610.cpp b/src/engine/platform/ym2610.cpp index 173d882a6..01d5a3bb6 100644 --- a/src/engine/platform/ym2610.cpp +++ b/src/engine/platform/ym2610.cpp @@ -333,7 +333,7 @@ void DivPlatformYM2610::acquire_combo(short** buf, size_t len) { for (int i=0; idata[oscBuf[i]->needle++]=fm_nuked.ch_out[bchOffs[i]]<<1; + oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(fm_nuked.ch_out[bchOffs[i]]<<1,-32768,32767); } ssge->get_last_out(ssgOut); @@ -404,7 +404,8 @@ void DivPlatformYM2610::acquire_ymfm(short** buf, size_t len) { buf[1][h]=os[1]; for (int i=0; idata[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1; + int out=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1; + oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(out,-32768,32767); } ssge->get_last_out(ssgOut); diff --git a/src/engine/platform/ym2610b.cpp b/src/engine/platform/ym2610b.cpp index 4f00a7761..1937abd62 100644 --- a/src/engine/platform/ym2610b.cpp +++ b/src/engine/platform/ym2610b.cpp @@ -401,7 +401,7 @@ void DivPlatformYM2610B::acquire_combo(short** buf, size_t len) { for (int i=0; idata[oscBuf[i]->needle++]=fm_nuked.ch_out[i]<<1; + oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(fm_nuked.ch_out[i]<<1,-32768,32767); } ssge->get_last_out(ssgOut); @@ -471,7 +471,8 @@ void DivPlatformYM2610B::acquire_ymfm(short** buf, size_t len) { for (int i=0; idata[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1; + int out=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1; + oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(out,-32768,32767); } ssge->get_last_out(ssgOut);

    d<()vV3$ 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ⅅ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