From b7e62004335987638184942039e60980476ab5b1 Mon Sep 17 00:00:00 2001 From: Wong Cho Ching Date: Sat, 25 Jan 2014 01:53:57 +0800 Subject: [PATCH 01/15] Fixes Ghost Peak Controller Bug https://github.com/LMMS/lmms/issues/115 --- include/preset_preview_play_handle.h | 2 ++ .../peak_controller_effect.cpp | 1 + .../peak_controller_effect_controls.cpp | 3 ++- src/core/preset_preview_play_handle.cpp | 26 +++++++++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/include/preset_preview_play_handle.h b/include/preset_preview_play_handle.h index 3e4d4e53c..e5185cfbe 100644 --- a/include/preset_preview_play_handle.h +++ b/include/preset_preview_play_handle.h @@ -51,6 +51,8 @@ public: static ConstNotePlayHandleList nphsOfInstrumentTrack( const InstrumentTrack * _ct ); + static bool isPreviewing(); + private: static previewTrackContainer * s_previewTC; diff --git a/plugins/peak_controller_effect/peak_controller_effect.cpp b/plugins/peak_controller_effect/peak_controller_effect.cpp index f9b4049c5..4069c941b 100644 --- a/plugins/peak_controller_effect/peak_controller_effect.cpp +++ b/plugins/peak_controller_effect/peak_controller_effect.cpp @@ -81,6 +81,7 @@ PeakControllerEffect::~PeakControllerEffect() if( idx >= 0 ) { PeakController::s_effects.remove( idx ); + engine::getSong()->removeController( m_autoController ); } } diff --git a/plugins/peak_controller_effect/peak_controller_effect_controls.cpp b/plugins/peak_controller_effect/peak_controller_effect_controls.cpp index eb7e5191d..34ee79a11 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_controls.cpp +++ b/plugins/peak_controller_effect/peak_controller_effect_controls.cpp @@ -29,6 +29,7 @@ #include "PeakController.h" #include "peak_controller_effect_controls.h" #include "peak_controller_effect.h" +#include "preset_preview_play_handle.h" PeakControllerEffectControls:: @@ -66,7 +67,7 @@ void PeakControllerEffectControls::loadSettings( const QDomElement & _this ) } m_effect->m_effectId = effectId; - if( m_effect->m_autoController ) + if( m_effect->m_autoController && presetPreviewPlayHandle::isPreviewing() == false ) { delete m_effect->m_autoController; m_effect->m_autoController = 0; diff --git a/src/core/preset_preview_play_handle.cpp b/src/core/preset_preview_play_handle.cpp index 09139ba21..94066eced 100644 --- a/src/core/preset_preview_play_handle.cpp +++ b/src/core/preset_preview_play_handle.cpp @@ -89,12 +89,24 @@ public: m_dataMutex.unlock(); } + bool isPreviewing() + { + bool ret = m_dataMutex.tryLock(); + if( ret == true ) + { + m_dataMutex.unlock(); + } + return ret; + } + private: InstrumentTrack * m_previewInstrumentTrack; notePlayHandle * m_previewNote; QMutex m_dataMutex; + friend presetPreviewPlayHandle; + } ; @@ -242,3 +254,17 @@ ConstNotePlayHandleList presetPreviewPlayHandle::nphsOfInstrumentTrack( } + + +bool presetPreviewPlayHandle::isPreviewing() +{ + bool ret = s_previewTC->m_dataMutex.tryLock(); + if( ret == true ) + { + s_previewTC->m_dataMutex.unlock(); + } + return ret; +} + + + From f34be7bf16ec69310fa9cb26a4e64ad2aa0ebc23 Mon Sep 17 00:00:00 2001 From: Wong Cho Ching Date: Sat, 25 Jan 2014 11:34:41 +0800 Subject: [PATCH 02/15] Create dummy files --- plugins/sfxr/CMakeLists.txt | 3 + plugins/sfxr/artwork.png | Bin 0 -> 44968 bytes plugins/sfxr/logo.png | Bin 0 -> 1109 bytes plugins/sfxr/sfxr.cpp | 592 ++++++++++++++++++++++++++++++++++++ plugins/sfxr/sfxr.h | 157 ++++++++++ 5 files changed, 752 insertions(+) create mode 100644 plugins/sfxr/CMakeLists.txt create mode 100644 plugins/sfxr/artwork.png create mode 100644 plugins/sfxr/logo.png create mode 100644 plugins/sfxr/sfxr.cpp create mode 100644 plugins/sfxr/sfxr.h diff --git a/plugins/sfxr/CMakeLists.txt b/plugins/sfxr/CMakeLists.txt new file mode 100644 index 000000000..6d3f61a0c --- /dev/null +++ b/plugins/sfxr/CMakeLists.txt @@ -0,0 +1,3 @@ +INCLUDE(BuildPlugin) + +BUILD_PLUGIN(sfxr sfxr.cpp sfxr.h MOCFILES EMBEDDED_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.png) diff --git a/plugins/sfxr/artwork.png b/plugins/sfxr/artwork.png new file mode 100644 index 0000000000000000000000000000000000000000..3938592ca936dde89545f1d2f63b67ccbc74669c GIT binary patch literal 44968 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 C7=(xb literal 0 HcmV?d00001 diff --git a/plugins/sfxr/logo.png b/plugins/sfxr/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2e84cba5a1377f9a65f4b1db243846c05b713dab GIT binary patch literal 1109 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sjKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sf4NgXJQJvX>d|!Zim;!u4T!B&}8T|kM|KEoPYk)xzQWE4B z3=9-z7FITP4o)6kK7IiqVKH$DDQOv5Ie7&|WffI5bxkcDJ$(ZsV>5FbTRUercTX>G zAOC>Bppe+Ogv8|3w9MSR{F2i0iptu$=C+QmNmCXqHI%PT1Dem6$-r|AKVTYt_};w_U!NXB7K(*S6We|JSFoOiXsz8FdcnrTOt2&-)|dIM-^*%*&JceQt?Pec4@e;H|XO%RORm zJGWT29Px>-t+FOzYLvO;^eNcK04<`;f1yG=XO=pJT7uNUR(9=-MyZ|evNJ5+=Dl~Z4JU&4-aUTUP}up-@@>18x9vZm z`?`a3wX0b1{r8`b`8V%pdUGe>(P~!Sf0F`#aQn*cpRcO&&I6RsJzf1=);T3K0RVE& BY2^R_ literal 0 HcmV?d00001 diff --git a/plugins/sfxr/sfxr.cpp b/plugins/sfxr/sfxr.cpp new file mode 100644 index 000000000..080c424f3 --- /dev/null +++ b/plugins/sfxr/sfxr.cpp @@ -0,0 +1,592 @@ +/* + * bit_invader.cpp - instrument which uses a usereditable wavetable + * + * Copyright (c) 2006-2008 Andreas Brandmaier + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * 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 (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + + +#include + +#include "bit_invader.h" +#include "engine.h" +#include "graph.h" +#include "InstrumentTrack.h" +#include "knob.h" +#include "led_checkbox.h" +#include "note_play_handle.h" +#include "Oscillator.h" +#include "pixmap_button.h" +#include "song_editor.h" +#include "templates.h" +#include "tooltip.h" +#include "song.h" + +#include "embed.cpp" + +extern "C" +{ + +Plugin::Descriptor PLUGIN_EXPORT bitinvader_plugin_descriptor = +{ + STRINGIFY( PLUGIN_NAME ), + "BitInvader", + QT_TRANSLATE_NOOP( "pluginBrowser", + "Customizable wavetable synthesizer" ), + "Andreas Brandmaier ", + 0x0100, + Plugin::Instrument, + new PluginPixmapLoader( "logo" ), + NULL, + NULL +} ; + +} + + +bSynth::bSynth( float * _shape, int _length, notePlayHandle * _nph, bool _interpolation, + float _factor, const sample_rate_t _sample_rate ) : + sample_index( 0 ), + sample_realindex( 0 ), + nph( _nph ), + sample_length( _length ), + sample_rate( _sample_rate ), + interpolation( _interpolation) +{ + sample_shape = new float[sample_length]; + for (int i=0; i < _length; ++i) + { + sample_shape[i] = _shape[i] * _factor; + } +} + + +bSynth::~bSynth() +{ + delete[] sample_shape; +} + + +sample_t bSynth::nextStringSample() +{ + float sample_step = + static_cast( sample_length / ( sample_rate / nph->frequency() ) ); + + + // check overflow + while (sample_realindex >= sample_length) { + sample_realindex -= sample_length; + } + + sample_t sample; + + if (interpolation) { + + // find position in shape + int a = static_cast(sample_realindex); + int b; + if (a < (sample_length-1)) { + b = static_cast(sample_realindex+1); + } else { + b = 0; + } + + // Nachkommaanteil + float frac = sample_realindex - static_cast(sample_realindex); + + sample = sample_shape[a]*(1-frac) + sample_shape[b]*(frac); + + } else { + // No interpolation + sample_index = static_cast(sample_realindex); + sample = sample_shape[sample_index]; + } + + // progress in shape + sample_realindex += sample_step; + + return sample; +} + +/*********************************************************************** +* +* class BitInvader +* +* lmms - plugin +* +***********************************************************************/ + + +bitInvader::bitInvader( InstrumentTrack * _instrument_track ) : + Instrument( _instrument_track, &bitinvader_plugin_descriptor ), + m_sampleLength( 128, 8, 128, 1, this, tr( "Samplelength" ) ), + m_graph( -1.0f, 1.0f, 128, this ), + m_interpolation( false, this ), + m_normalize( false, this ) +{ + + m_graph.setWaveToSine(); + + connect( &m_sampleLength, SIGNAL( dataChanged( ) ), + this, SLOT( lengthChanged( ) ) ); + + connect( &m_graph, SIGNAL( samplesChanged( int, int ) ), + this, SLOT( samplesChanged( int, int ) ) ); + +} + + + + +bitInvader::~bitInvader() +{ +} + + + + +void bitInvader::saveSettings( QDomDocument & _doc, QDomElement & _this ) +{ + + // Save plugin version + _this.setAttribute( "version", "0.1" ); + + // Save sample length + m_sampleLength.saveSettings( _doc, _this, "sampleLength" ); + + // Save sample shape base64-encoded + QString sampleString; + base64::encode( (const char *)m_graph.samples(), + m_graph.length() * sizeof(float), sampleString ); + _this.setAttribute( "sampleShape", sampleString ); + + + // save LED normalize + m_interpolation.saveSettings( _doc, _this, "interpolation" ); + + // save LED + m_normalize.saveSettings( _doc, _this, "normalize" ); +} + + + + +void bitInvader::loadSettings( const QDomElement & _this ) +{ + // Load sample length + m_sampleLength.loadSettings( _this, "sampleLength" ); + + int sampleLength = (int)m_sampleLength.value(); + + // Load sample shape + int size = 0; + char * dst = 0; + base64::decode( _this.attribute( "sampleShape"), &dst, &size ); + + m_graph.setLength( sampleLength ); + m_graph.setSamples( (float*) dst ); + delete[] dst; + + // Load LED normalize + m_interpolation.loadSettings( _this, "interpolation" ); + // Load LED + m_normalize.loadSettings( _this, "normalize" ); + +} + + + + +void bitInvader::lengthChanged() +{ + m_graph.setLength( (int) m_sampleLength.value() ); + + normalize(); +} + + + + +void bitInvader::samplesChanged( int _begin, int _end ) +{ + normalize(); + //engine::getSongEditor()->setModified(); +} + + + + +void bitInvader::normalize() +{ + // analyze + float max = 0; + const float* samples = m_graph.samples(); + for(int i=0; i < m_graph.length(); i++) + { + const float f = fabsf( samples[i] ); + if (f > max) { max = f; } + } + m_normalizeFactor = 1.0 / max; +} + + + + +QString bitInvader::nodeName() const +{ + return( bitinvader_plugin_descriptor.name ); +} + + + + +void bitInvader::playNote( notePlayHandle * _n, + sampleFrame * _working_buffer ) +{ + if ( _n->totalFramesPlayed() == 0 || _n->m_pluginData == NULL ) + { + + float factor; + if( !m_normalize.value() ) + { + factor = 1.0f; + } + else + { + factor = m_normalizeFactor; + } + + _n->m_pluginData = new bSynth( + const_cast( m_graph.samples() ), + m_graph.length(), + _n, + m_interpolation.value(), factor, + engine::mixer()->processingSampleRate() ); + } + + const fpp_t frames = _n->framesLeftForCurrentPeriod(); + + bSynth * ps = static_cast( _n->m_pluginData ); + for( fpp_t frame = 0; frame < frames; ++frame ) + { + const sample_t cur = ps->nextStringSample(); + for( ch_cnt_t chnl = 0; chnl < DEFAULT_CHANNELS; ++chnl ) + { + _working_buffer[frame][chnl] = cur; + } + } + + applyRelease( _working_buffer, _n ); + + instrumentTrack()->processAudioBuffer( _working_buffer, frames, _n ); +} + + + + +void bitInvader::deleteNotePluginData( notePlayHandle * _n ) +{ + delete static_cast( _n->m_pluginData ); +} + + + + +PluginView * bitInvader::instantiateView( QWidget * _parent ) +{ + return( new bitInvaderView( this, _parent ) ); +} + + + + + + + +bitInvaderView::bitInvaderView( Instrument * _instrument, + QWidget * _parent ) : + InstrumentView( _instrument, _parent ) +{ + setAutoFillBackground( true ); + QPalette pal; + + pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap( + "artwork" ) ); + setPalette( pal ); + + m_sampleLengthKnob = new knob( knobDark_28, this ); + m_sampleLengthKnob->move( 10, 120 ); + m_sampleLengthKnob->setHintText( tr( "Sample Length" ) + " ", "" ); + + m_graph = new graph( this, graph::NearestStyle ); + m_graph->move(53,118); // 55,120 - 2px border + m_graph->setAutoFillBackground( true ); + + toolTip::add( m_graph, tr ( "Draw your own waveform here " + "by dragging your mouse on this graph." + )); + + + pal = QPalette(); + pal.setBrush( backgroundRole(), + PLUGIN_NAME::getIconPixmap("wavegraph") ); + m_graph->setPalette( pal ); + + + m_sinWaveBtn = new pixmapButton( this, tr( "Sine wave" ) ); + m_sinWaveBtn->move( 188, 120 ); + m_sinWaveBtn->setActiveGraphic( embed::getIconPixmap( + "sin_wave_active" ) ); + m_sinWaveBtn->setInactiveGraphic( embed::getIconPixmap( + "sin_wave_inactive" ) ); + toolTip::add( m_sinWaveBtn, + tr( "Click for a sine-wave." ) ); + + m_triangleWaveBtn = new pixmapButton( this, tr( "Triangle wave" ) ); + m_triangleWaveBtn->move( 188, 136 ); + m_triangleWaveBtn->setActiveGraphic( + embed::getIconPixmap( "triangle_wave_active" ) ); + m_triangleWaveBtn->setInactiveGraphic( + embed::getIconPixmap( "triangle_wave_inactive" ) ); + toolTip::add( m_triangleWaveBtn, + tr( "Click here for a triangle-wave." ) ); + + m_sawWaveBtn = new pixmapButton( this, tr( "Saw wave" ) ); + m_sawWaveBtn->move( 188, 152 ); + m_sawWaveBtn->setActiveGraphic( embed::getIconPixmap( + "saw_wave_active" ) ); + m_sawWaveBtn->setInactiveGraphic( embed::getIconPixmap( + "saw_wave_inactive" ) ); + toolTip::add( m_sawWaveBtn, + tr( "Click here for a saw-wave." ) ); + + m_sqrWaveBtn = new pixmapButton( this, tr( "Square wave" ) ); + m_sqrWaveBtn->move( 188, 168 ); + m_sqrWaveBtn->setActiveGraphic( embed::getIconPixmap( + "square_wave_active" ) ); + m_sqrWaveBtn->setInactiveGraphic( embed::getIconPixmap( + "square_wave_inactive" ) ); + toolTip::add( m_sqrWaveBtn, + tr( "Click here for a square-wave." ) ); + + m_whiteNoiseWaveBtn = new pixmapButton( this, + tr( "White noise wave" ) ); + m_whiteNoiseWaveBtn->move( 188, 184 ); + m_whiteNoiseWaveBtn->setActiveGraphic( + embed::getIconPixmap( "white_noise_wave_active" ) ); + m_whiteNoiseWaveBtn->setInactiveGraphic( + embed::getIconPixmap( "white_noise_wave_inactive" ) ); + toolTip::add( m_whiteNoiseWaveBtn, + tr( "Click here for white-noise." ) ); + + m_usrWaveBtn = new pixmapButton( this, tr( "User defined wave" ) ); + m_usrWaveBtn->move( 188, 200 ); + m_usrWaveBtn->setActiveGraphic( embed::getIconPixmap( + "usr_wave_active" ) ); + m_usrWaveBtn->setInactiveGraphic( embed::getIconPixmap( + "usr_wave_inactive" ) ); + toolTip::add( m_usrWaveBtn, + tr( "Click here for a user-defined shape." ) ); + + m_smoothBtn = new pixmapButton( this, tr( "Smooth" ) ); + m_smoothBtn->move( 35, 200 ); + m_smoothBtn->setActiveGraphic( PLUGIN_NAME::getIconPixmap( + "smooth" ) ); + m_smoothBtn->setInactiveGraphic( PLUGIN_NAME::getIconPixmap( + "smooth" ) ); + m_smoothBtn->setChecked( true ); + toolTip::add( m_smoothBtn, + tr( "Click here to smooth waveform." ) ); + + + m_interpolationToggle = new ledCheckBox( "Interpolation", this, + tr( "Interpolation" ) ); + m_interpolationToggle->move( 55,80 ); + + + m_normalizeToggle = new ledCheckBox( "Normalize", this, + tr( "Normalize" ) ); + m_normalizeToggle->move( 55, 100 ); + + + connect( m_sinWaveBtn, SIGNAL (clicked () ), + this, SLOT ( sinWaveClicked() ) ); + connect( m_triangleWaveBtn, SIGNAL ( clicked () ), + this, SLOT ( triangleWaveClicked() ) ); + connect( m_sawWaveBtn, SIGNAL (clicked () ), + this, SLOT ( sawWaveClicked() ) ); + connect( m_sqrWaveBtn, SIGNAL ( clicked () ), + this, SLOT ( sqrWaveClicked() ) ); + connect( m_whiteNoiseWaveBtn, SIGNAL ( clicked () ), + this, SLOT ( noiseWaveClicked() ) ); + connect( m_usrWaveBtn, SIGNAL ( clicked () ), + this, SLOT ( usrWaveClicked() ) ); + + connect( m_smoothBtn, SIGNAL ( clicked () ), + this, SLOT ( smoothClicked() ) ); + + connect( m_interpolationToggle, SIGNAL( toggled( bool ) ), + this, SLOT ( interpolationToggled( bool ) ) ); + + connect( m_normalizeToggle, SIGNAL( toggled( bool ) ), + this, SLOT ( normalizeToggled( bool ) ) ); + +} + + + + +void bitInvaderView::modelChanged() +{ + bitInvader * b = castModel(); + + m_graph->setModel( &b->m_graph ); + m_sampleLengthKnob->setModel( &b->m_sampleLength ); + m_interpolationToggle->setModel( &b->m_interpolation ); + m_normalizeToggle->setModel( &b->m_normalize ); + +} + + + + +void bitInvaderView::sinWaveClicked() +{ + m_graph->model()->setWaveToSine(); + engine::getSong()->setModified(); +} + + + + +void bitInvaderView::triangleWaveClicked() +{ + m_graph->model()->setWaveToTriangle(); + engine::getSong()->setModified(); +} + + + + +void bitInvaderView::sawWaveClicked() +{ + m_graph->model()->setWaveToSaw(); + engine::getSong()->setModified(); +} + + + + +void bitInvaderView::sqrWaveClicked() +{ + m_graph->model()->setWaveToSquare(); + engine::getSong()->setModified(); +} + + + + +void bitInvaderView::noiseWaveClicked() +{ + m_graph->model()->setWaveToNoise(); + engine::getSong()->setModified(); +} + + + + +void bitInvaderView::usrWaveClicked() +{ + QString fileName = m_graph->model()->setWaveToUser(); + toolTip::add( m_usrWaveBtn, fileName ); + engine::getSong()->setModified(); + /* + m_graph->model()->setWaveToNoise(); + engine::getSong()->setModified(); + // zero sample_shape + for (int i = 0; i < sample_length; i++) + { + sample_shape[i] = 0; + } + + // load user shape + sampleBuffer buffer; + QString af = buffer.openAudioFile(); + if ( af != "" ) + { + buffer.setAudioFile( af ); + + // copy buffer data + sample_length = min( sample_length, static_cast( + buffer.frames() ) ); + for ( int i = 0; i < sample_length; i++ ) + { + sample_shape[i] = (float)*buffer.data()[i]; + } + } + + sampleChanged(); + */ +} + + + + +void bitInvaderView::smoothClicked() +{ + m_graph->model()->smooth(); + engine::getSong()->setModified(); +} + + + + +void bitInvaderView::interpolationToggled( bool value ) +{ + m_graph->setGraphStyle( value ? graph::LinearStyle : graph::NearestStyle); + engine::getSong()->setModified(); +} + + + + +void bitInvaderView::normalizeToggled( bool value ) +{ + engine::getSong()->setModified(); +} + + + + +extern "C" +{ + +// necessary for getting instance out of shared lib +Plugin * PLUGIN_EXPORT lmms_plugin_main( Model *, void * _data ) +{ + return( new bitInvader( static_cast( _data ) ) ); +} + + +} + + + +#include "moc_bit_invader.cxx" diff --git a/plugins/sfxr/sfxr.h b/plugins/sfxr/sfxr.h new file mode 100644 index 000000000..7a3217b47 --- /dev/null +++ b/plugins/sfxr/sfxr.h @@ -0,0 +1,157 @@ +/* + * bit_invader.h - declaration of class bitInvader and bSynth which + * are a wavetable synthesizer + * + * Copyright (c) 2006-2008 Andreas Brandmaier + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * 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 (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + + +#ifndef _BIT_INVADER_H +#define _BIT_INVADER_H + +#include "Instrument.h" +#include "InstrumentView.h" +#include "graph.h" +#include "knob.h" +#include "pixmap_button.h" +#include "led_checkbox.h" + +class oscillator; +class bitInvaderView; + +class bSynth +{ +public: + bSynth( float * sample, int length, notePlayHandle * _nph, + bool _interpolation, float factor, + const sample_rate_t _sample_rate ); + virtual ~bSynth(); + + sample_t nextStringSample(); + + +private: + int sample_index; + float sample_realindex; + float* sample_shape; + notePlayHandle* nph; + const int sample_length; + const sample_rate_t sample_rate; + + bool interpolation; + +} ; + +class bitInvader : public Instrument +{ + Q_OBJECT +public: + bitInvader(InstrumentTrack * _instrument_track ); + virtual ~bitInvader(); + + virtual void playNote( notePlayHandle * _n, + sampleFrame * _working_buffer ); + virtual void deleteNotePluginData( notePlayHandle * _n ); + + + virtual void saveSettings( QDomDocument & _doc, + QDomElement & _parent ); + virtual void loadSettings( const QDomElement & _this ); + + virtual QString nodeName() const; + + virtual f_cnt_t desiredReleaseFrames() const + { + return( 64 ); + } + + virtual PluginView * instantiateView( QWidget * _parent ); + +protected slots: + void lengthChanged(); + void samplesChanged( int, int ); + + void normalize(); + + +private: + FloatModel m_sampleLength; + graphModel m_graph; + + BoolModel m_interpolation; + BoolModel m_normalize; + + float m_normalizeFactor; + + oscillator * m_osc; + + friend class bitInvaderView; +} ; + + + +class bitInvaderView : public InstrumentView +{ + Q_OBJECT +public: + bitInvaderView( Instrument * _instrument, + QWidget * _parent ); + + virtual ~bitInvaderView() {}; + +protected slots: + //void sampleSizeChanged( float _new_sample_length ); + + void interpolationToggled( bool value ); + void normalizeToggled( bool value ); + + void sinWaveClicked(); + void triangleWaveClicked(); + void sqrWaveClicked(); + void sawWaveClicked(); + void noiseWaveClicked(); + void usrWaveClicked(); + + void smoothClicked( void ); + +private: + virtual void modelChanged(); + + knob * m_sampleLengthKnob; + pixmapButton * m_sinWaveBtn; + pixmapButton * m_triangleWaveBtn; + pixmapButton * m_sqrWaveBtn; + pixmapButton * m_sawWaveBtn; + pixmapButton * m_whiteNoiseWaveBtn; + pixmapButton * m_smoothBtn; + pixmapButton * m_usrWaveBtn; + + static QPixmap * s_artwork; + + graph * m_graph; + ledCheckBox * m_interpolationToggle; + ledCheckBox * m_normalizeToggle; + +} ; + + + +#endif From 5ffc36ea6838d457efd7675dba1d1419354fd381 Mon Sep 17 00:00:00 2001 From: Wong Cho Ching Date: Sat, 25 Jan 2014 11:45:55 +0800 Subject: [PATCH 03/15] Copied readme file and make it compile --- plugins/sfxr/readme.txt | 170 ++++++++++++++++++++++++++++++++++++++++ plugins/sfxr/sfxr.cpp | 13 ++- plugins/sfxr/sfxr.h | 13 +-- 3 files changed, 180 insertions(+), 16 deletions(-) create mode 100644 plugins/sfxr/readme.txt diff --git a/plugins/sfxr/readme.txt b/plugins/sfxr/readme.txt new file mode 100644 index 000000000..27882c77f --- /dev/null +++ b/plugins/sfxr/readme.txt @@ -0,0 +1,170 @@ +This is a port of sfxr to LMMS, ported by Wong Cho Ching. + +NOTE: Do NOT remove the MIT license below to prevent legal problem. +Original Readme File: + +(http://www.drpetter.se/project_sfxr.html) + +----------------------------- +sfxr - sound effect generator +----------------------------- + by DrPetter, 2007-12-14 + developed for LD48#10 +----------------------------- + + +Basic usage: + +Start the application, then hit +some of the buttons on the left +side to generate random sounds +matching the button descriptions. + +Press "Export .WAV" to save the +current sound as a WAV audio file. +Click the buttons below to change +WAV format in terms of bits per +sample and sample rate. + +If you find a sound that is sort +of interesting but not quite what +you want, you can drag some sliders +around until it sounds better. + +The Randomize button generates +something completely random. + +Mutate slightly alters the current +parameters to automatically create +a variation of the sound. + + + +Advanced usage: + +Figure out what each slider does and +use them to adjust particular aspects +of the current sound... + +Press the right mouse button on a slider +to reset it to a value of zero. + +Press Space or Enter to play the current sound. + +The Save/Load sound buttons allow saving +and loading of program parameters to work +on a sound over several sessions. + +Volume setting is saved with the sound and +exported to WAV. If you increase it too much +there's a risk of clipping. + +Some parameters influence the sound during +playback (particularly when using a non-zero +repeat speed), and dragging these sliders +can cause some interesting effects. +To record this you will need to use an external +recording application, for instance Audacity. +Set the recording source in that application +to "Wave", "Stereo Mix", "Mixed Output" or similar. + +Using an external sound editor to capture and edit +sound can also be used to string several sounds +together for more complex results. + +Parameter description: +- The top four buttons select base waveform +- First four parameters control the volume envelope + Attack is the beginning of the sound, + longer attack means a smoother start. + Sustain is how long the volume is held constant + before fading out. + Increase Sustain Punch to cause a popping + effect with increased (and falling) volume + during the sustain phase. + Decay is the fade-out time. +- Next six are for controlling the sound pitch or + frequency. + Start frequency is pretty obvious. Has a large + impact on the overall sound. + Min frequency represents a cutoff that stops all + sound if it's passed during a downward slide. + Slide sets the speed at which the frequency should + be swept (up or down). + Delta slide is the "slide of slide", or rate of change + in the slide speed. + Vibrato depth/speed makes for an oscillating + frequency effect at various strengths and rates. +- Then we have two parameters for causing an abrupt + change in pitch after a ceratin delay. + Amount is pitch change (up or down) + and Speed indicates time to wait before changing + the pitch. +- Following those are two parameters specific to the + squarewave waveform. + The duty cycle of a square describes its shape + in terms of how large the positive vs negative + sections are. It can be swept up or down by + changing the second parameter. +- Repeat speed, when not zero, causes the frequency + and duty parameters to be reset at regular intervals + while the envelope and filter continue unhindered. + This can make for some interesting pulsating effects. +- Phaser offset overlays a delayed copy of the audio + stream on top of itself, resulting in a kind of tight + reverb or sci-fi effect. + This parameter can also be swept like many others. +- Finally, the bottom five sliders control two filters + which are applied after all other effects. + The first one is a resonant lowpass filter which has + a sweepable cutoff frequency. + The other is a highpass filter which can be used to + remove undesired low frequency hum in "light" sounds. + + +---------------------- + + +License +------- + +Basically, I don't care what you do with it, anything goes. + +To please all the troublesome folks who request a formal license, +I attach the "MIT license" as follows: + +-- + +Copyright (c) 2007 Tomas Pettersson + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + + +---------------------- + +http://www.drpetter.se + + drpetter@gmail.com + +---------------------- + diff --git a/plugins/sfxr/sfxr.cpp b/plugins/sfxr/sfxr.cpp index 080c424f3..246e9a907 100644 --- a/plugins/sfxr/sfxr.cpp +++ b/plugins/sfxr/sfxr.cpp @@ -1,7 +1,7 @@ /* - * bit_invader.cpp - instrument which uses a usereditable wavetable + * sfxr.cpp - port of sfxr to LMMS * - * Copyright (c) 2006-2008 Andreas Brandmaier + * Copyright (c) 2014 Wong Cho Ching * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -25,14 +25,13 @@ #include -#include "bit_invader.h" +#include "sfxr.h" #include "engine.h" #include "graph.h" #include "InstrumentTrack.h" #include "knob.h" #include "led_checkbox.h" #include "note_play_handle.h" -#include "Oscillator.h" #include "pixmap_button.h" #include "song_editor.h" #include "templates.h" @@ -47,10 +46,10 @@ extern "C" Plugin::Descriptor PLUGIN_EXPORT bitinvader_plugin_descriptor = { STRINGIFY( PLUGIN_NAME ), - "BitInvader", + "sfxr", QT_TRANSLATE_NOOP( "pluginBrowser", - "Customizable wavetable synthesizer" ), - "Andreas Brandmaier ", + "LMMS port of sfxr" ), + "Wong Cho Ching", 0x0100, Plugin::Instrument, new PluginPixmapLoader( "logo" ), diff --git a/plugins/sfxr/sfxr.h b/plugins/sfxr/sfxr.h index 7a3217b47..3b2320e80 100644 --- a/plugins/sfxr/sfxr.h +++ b/plugins/sfxr/sfxr.h @@ -1,8 +1,7 @@ /* - * bit_invader.h - declaration of class bitInvader and bSynth which - * are a wavetable synthesizer + * sfxr.h - declaration of classes of the LMMS sfxr plugin * - * Copyright (c) 2006-2008 Andreas Brandmaier + * Copyright (c) 2014 Wong Cho Ching * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -24,17 +23,15 @@ */ -#ifndef _BIT_INVADER_H -#define _BIT_INVADER_H +#ifndef _SFXR_H +#define _SFXR_H #include "Instrument.h" #include "InstrumentView.h" -#include "graph.h" #include "knob.h" #include "pixmap_button.h" #include "led_checkbox.h" -class oscillator; class bitInvaderView; class bSynth @@ -100,8 +97,6 @@ private: BoolModel m_normalize; float m_normalizeFactor; - - oscillator * m_osc; friend class bitInvaderView; } ; From 4d306c3855244c38721805e28bd68a005026b24d Mon Sep 17 00:00:00 2001 From: Lukas W Date: Sat, 25 Jan 2014 11:32:03 +0100 Subject: [PATCH 04/15] Fix mismatched delete delete was called on memory allocated with malloc() which results in undefined behaviour. Fixed by using free() instead of delete. --- src/core/song.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/song.cpp b/src/core/song.cpp index a32f453d7..f49f1bb31 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -201,7 +201,7 @@ song::~song() } if( m_SncVSTplug != NULL ) { - delete m_SncVSTplug; + free( m_SncVSTplug ); m_SncVSTplug = NULL; } } From 3f26fdfbf1bc85b47067bb48a7d2e772817f76cf Mon Sep 17 00:00:00 2001 From: Lukas W Date: Sat, 25 Jan 2014 14:42:03 +0100 Subject: [PATCH 05/15] Update AUTHORS: Add Lukas W [skip ci] Adding myself to the author list somehow feels awkward. --- AUTHORS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/AUTHORS b/AUTHORS index 086d6c3a2..8650caad1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -17,6 +17,10 @@ Danny McRae Javier Serrano Polo Development + +Lukas Wohlschläger + + Development Andrew Kelley From 5fb9afc15a15860991e82a3089a6e41c92e6f766 Mon Sep 17 00:00:00 2001 From: Wong Cho Ching Date: Sat, 25 Jan 2014 21:42:22 +0800 Subject: [PATCH 06/15] GUI Completed. --- data/themes/default/style.css | 8 + plugins/CMakeLists.txt | 1 + plugins/sfxr/CMakeLists.txt | 2 +- plugins/sfxr/artwork.png | Bin 44968 -> 27416 bytes plugins/sfxr/logo.png | Bin 1109 -> 433 bytes plugins/sfxr/sfxr.cpp | 943 +++++++++++++++++++++++----------- plugins/sfxr/sfxr.h | 214 ++++++-- 7 files changed, 811 insertions(+), 357 deletions(-) diff --git a/data/themes/default/style.css b/data/themes/default/style.css index 0d199ba12..5dde74977 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -472,6 +472,14 @@ sf2InstrumentView knob { qproperty-lineWidth: 2; } +sfxrInstrumentView knob { + color: #b06319; + qproperty-outerColor: rgb(194, 177, 145); + qproperty-innerRadius: 2; + qproperty-outerRadius: 10; + qproperty-lineWidth: 2; +} + opl2instrumentView knob { color: rgb(128,128,128); qproperty-outerColor: rgb(255,255,255); diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 0cbdc4359..6f315b792 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -15,6 +15,7 @@ ADD_SUBDIRECTORY(papu) ADD_SUBDIRECTORY(patman) ADD_SUBDIRECTORY(peak_controller_effect) ADD_SUBDIRECTORY(sf2_player) +ADD_SUBDIRECTORY(sfxr) ADD_SUBDIRECTORY(sid) ADD_SUBDIRECTORY(spectrum_analyzer) ADD_SUBDIRECTORY(stereo_enhancer) diff --git a/plugins/sfxr/CMakeLists.txt b/plugins/sfxr/CMakeLists.txt index 6d3f61a0c..2fe490d1e 100644 --- a/plugins/sfxr/CMakeLists.txt +++ b/plugins/sfxr/CMakeLists.txt @@ -1,3 +1,3 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(sfxr sfxr.cpp sfxr.h MOCFILES EMBEDDED_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.png) +BUILD_PLUGIN(sfxr sfxr.cpp sfxr.h MOCFILES sfxr.h EMBEDDED_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.png) diff --git a/plugins/sfxr/artwork.png b/plugins/sfxr/artwork.png index 3938592ca936dde89545f1d2f63b67ccbc74669c..15f313d45f52d47f57f1de11380a09affc5216da 100644 GIT binary patch literal 27416 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

w+8L9Xn#y$vks44R_3 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 MPF=QA+9LRW06|YJcmMzZ literal 44968 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 C7=(xb diff --git a/plugins/sfxr/logo.png b/plugins/sfxr/logo.png index 2e84cba5a1377f9a65f4b1db243846c05b713dab..a39e4e86572cd008bf410ed2c308453db3132261 100644 GIT binary patch delta 287 zcmV+)0pR}C2(bf@BxS%*OjJd$t*?xamH718s-lQUL^xGXK*hC_#)5g1&8X49oyoYDysV833kkokkhrOfx2TJ#n}D;Ug_w$Q!m*Lex|uaECHl#hhIVD& zt$uA)KH;!}W?4;>4h^XtZ-B^DsW~L5N#ijqE?5`ftscOqGytfGvcGu# z1F1)XdCdl}j&)H0D;iRS5hL=Y2?{fNWxUO_X5`$sO7JUcgF>hwupxlE>GWD3E2b&a lnHpA>R6kD|>-}XN1O~+D(&1t;wyyvH002ovPDHLkV1mqXhRpx~ delta 817 zcmV-11J3-h1JwwSBnkm@Qb$4nuFf3kk@_AI*a-m_6)c+(4)g#30Rm7=R7H`ISdpMf zk)TPDpcQ}r|Ns8*;H&@u0915RPE!B@0s{mE1_uZU3=Iws5E2s>7Z@5F9337XAR!|p zB_<~+Dl9H9FfubXH#|K)LqDVw zprtV%du9Lt00Cl4M?_VV1h_K*00L}DL_t(Y$Gv}+Yh#))6ow@r0wboKn-ee48&c~f ztGBk((QYzb?Yg#``~QDs1dt>suzl(I;N^tJW0I5iO`-5=A;j@dc>#!0F$hTnLVg~I zva0FO4_#Ab5#;3sQGpesXT!$}ezBFGfHSnjA1auj-1TS2^I@(1aAQIN;02)At7l?@l>jHL@UIAsX~wA3hD7 zlM`nUCrB)r3gH|!-1ts{odaE^4B&H*u9APh5BBJ8oeundUf+%AK9HTRIe13rNF&U> z+|RIM#5+xT3DwSUI`H!r+ciXcNdU5TXm-O+p6hWOjl$q0$4@}w>mFbIo!0mq< z8tJ?i?TNHGgl`^hLFV-21Ej;5(~}RZ#@7D=M@b;1mtGODAgch`M>J9zRsnJWq5}z? z%m(H?veQHXF6WEY`Y}TUULM!0#hmDI(5)ZNx_Er!aze*_dj9U-jB$@B{?<**<3Q+A zfQQ+@IW_}N+4>Sh2`SwXTLfd*3Y>kfq*tA(x7icFo;)JwCDs>xQw61Ry>qn>cv@T& z!vG2AO&Sif`q!Z)C7nGGkIuyPmMbQfo*S9o?p=V$Q@!2C!!Z*>+^4p>r-r}4E$fI0 vt3?)b-|zFrPlLY#?A%b|s|5}Il2P~zO&!0VB_!@h00000NkvXXu0mjfP~B|g diff --git a/plugins/sfxr/sfxr.cpp b/plugins/sfxr/sfxr.cpp index 246e9a907..2e942a6ab 100644 --- a/plugins/sfxr/sfxr.cpp +++ b/plugins/sfxr/sfxr.cpp @@ -1,5 +1,6 @@ /* * sfxr.cpp - port of sfxr to LMMS + * The original readme file of sfxr can be found in readme.txt in this directory. * * Copyright (c) 2014 Wong Cho Ching * @@ -19,9 +20,19 @@ * License along with this program (see COPYING); if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. - * */ +#include + +#define rnd(n) (rand()%(n+1)) + +#define PI 3.14159265f + +float frnd(float range) +{ + return (float)rnd(10000)/10000*range; +} + #include @@ -43,7 +54,7 @@ extern "C" { -Plugin::Descriptor PLUGIN_EXPORT bitinvader_plugin_descriptor = +Plugin::Descriptor PLUGIN_EXPORT sfxr_plugin_descriptor = { STRINGIFY( PLUGIN_NAME ), "sfxr", @@ -60,7 +71,7 @@ Plugin::Descriptor PLUGIN_EXPORT bitinvader_plugin_descriptor = } -bSynth::bSynth( float * _shape, int _length, notePlayHandle * _nph, bool _interpolation, +SfxrSynth::SfxrSynth( float * _shape, int _length, notePlayHandle * _nph, bool _interpolation, float _factor, const sample_rate_t _sample_rate ) : sample_index( 0 ), sample_realindex( 0 ), @@ -77,18 +88,18 @@ bSynth::bSynth( float * _shape, int _length, notePlayHandle * _nph, bool _interp } -bSynth::~bSynth() +SfxrSynth::~SfxrSynth() { delete[] sample_shape; } -sample_t bSynth::nextStringSample() +sample_t SfxrSynth::nextStringSample() { - float sample_step = + float sample_step = static_cast( sample_length / ( sample_rate / nph->frequency() ) ); - + // check overflow while (sample_realindex >= sample_length) { sample_realindex -= sample_length; @@ -98,168 +109,195 @@ sample_t bSynth::nextStringSample() if (interpolation) { - // find position in shape - int a = static_cast(sample_realindex); + // find position in shape + int a = static_cast(sample_realindex); int b; if (a < (sample_length-1)) { b = static_cast(sample_realindex+1); } else { b = 0; } - + // Nachkommaanteil float frac = sample_realindex - static_cast(sample_realindex); - + sample = sample_shape[a]*(1-frac) + sample_shape[b]*(frac); } else { // No interpolation - sample_index = static_cast(sample_realindex); + sample_index = static_cast(sample_realindex); sample = sample_shape[sample_index]; } - + // progress in shape sample_realindex += sample_step; return sample; -} - -/*********************************************************************** -* -* class BitInvader -* -* lmms - plugin -* -***********************************************************************/ +} -bitInvader::bitInvader( InstrumentTrack * _instrument_track ) : - Instrument( _instrument_track, &bitinvader_plugin_descriptor ), - m_sampleLength( 128, 8, 128, 1, this, tr( "Samplelength" ) ), - m_graph( -1.0f, 1.0f, 128, this ), - m_interpolation( false, this ), - m_normalize( false, this ) + + +sfxrInstrument::sfxrInstrument( InstrumentTrack * _instrument_track ) : + Instrument( _instrument_track, &sfxr_plugin_descriptor ), + m_attModel(0.0f, this), + m_holdModel(0.3f, this), + m_susModel(0.0f, this), + m_decModel(0.4f, this), + + m_startFreqModel(0.3f, this), + m_minFreqModel(0.0f, this), + m_slideModel(0.0f, this), + m_dSlideModel(0.0f, this), + m_vibDepthModel(0.0f, this), + m_vibSpeedModel(0.0f, this), + + m_changeAmtModel(0.0f, this), + m_changeSpeedModel(0.0f, this), + + m_sqrDutyModel(0.0f, this), + m_sqrSweepModel(0.0f, this), + + m_repeatSpeedModel(0.0f, this), + + m_phaserOffsetModel(0.0f, this), + m_phaserSweepModel(0.0f, this), + + m_lpFilCutModel(1.0f, this), + m_lpFilCutSweepModel(0.0f, this), + m_lpFilResoModel(0.0f, this), + m_hpFilCutModel(0.0f, this), + m_hpFilCutSweepModel(0.0f, this), + m_waveFormModel( SQR_WAVE, 0, WAVES_NUM-1, this, tr( "Wave Form" ) ) { - - m_graph.setWaveToSine(); - + //TODO + /* connect( &m_sampleLength, SIGNAL( dataChanged( ) ), this, SLOT( lengthChanged( ) ) ); connect( &m_graph, SIGNAL( samplesChanged( int, int ) ), this, SLOT( samplesChanged( int, int ) ) ); - + */ } -bitInvader::~bitInvader() +sfxrInstrument::~sfxrInstrument() { } -void bitInvader::saveSettings( QDomDocument & _doc, QDomElement & _this ) +void sfxrInstrument::saveSettings( QDomDocument & _doc, QDomElement & _this ) { + _this.setAttribute( "version", "1" ); + m_attModel.saveSettings( _doc, _this, "att" ); + m_holdModel.saveSettings( _doc, _this, "hold" ); + m_susModel.saveSettings( _doc, _this, "sus" ); + m_decModel.saveSettings( _doc, _this, "dec" ); - // Save plugin version - _this.setAttribute( "version", "0.1" ); + m_startFreqModel.saveSettings( _doc, _this, "startFreq" ); + m_minFreqModel.saveSettings( _doc, _this, "minFreq" ); + m_slideModel.saveSettings( _doc, _this, "slide" ); + m_dSlideModel.saveSettings( _doc, _this, "dSlide" ); + m_vibDepthModel.saveSettings( _doc, _this, "vibDepth" ); + m_vibSpeedModel.saveSettings( _doc, _this, "vibSpeed" ); - // Save sample length - m_sampleLength.saveSettings( _doc, _this, "sampleLength" ); + m_changeAmtModel.saveSettings( _doc, _this, "changeAmt" ); + m_changeSpeedModel.saveSettings( _doc, _this, "changeSpeed" ); - // Save sample shape base64-encoded - QString sampleString; - base64::encode( (const char *)m_graph.samples(), - m_graph.length() * sizeof(float), sampleString ); - _this.setAttribute( "sampleShape", sampleString ); - + m_sqrDutyModel.saveSettings( _doc, _this, "sqrDuty" ); + m_sqrSweepModel.saveSettings( _doc, _this, "sqrSweep" ); - // save LED normalize - m_interpolation.saveSettings( _doc, _this, "interpolation" ); - - // save LED - m_normalize.saveSettings( _doc, _this, "normalize" ); + m_repeatSpeedModel.saveSettings( _doc, _this, "repeatSpeed" ); + + m_phaserOffsetModel.saveSettings( _doc, _this, "phaserOffset" ); + m_phaserSweepModel.saveSettings( _doc, _this, "phaserSweep" ); + + m_lpFilCutModel.saveSettings( _doc, _this, "lpFilCut" ); + m_lpFilCutSweepModel.saveSettings( _doc, _this, "lpFilCutSweep" ); + m_lpFilResoModel.saveSettings( _doc, _this, "lpFilReso" ); + m_hpFilCutModel.saveSettings( _doc, _this, "hpFilCut" ); + m_hpFilCutSweepModel.saveSettings( _doc, _this, "hpFilCutSweep" ); + + m_waveFormModel.saveSettings( _doc, _this, "waveForm" ); } -void bitInvader::loadSettings( const QDomElement & _this ) +void sfxrInstrument::loadSettings( const QDomElement & _this ) { - // Load sample length - m_sampleLength.loadSettings( _this, "sampleLength" ); - int sampleLength = (int)m_sampleLength.value(); + m_attModel.loadSettings(_this, "att" ); + m_holdModel.loadSettings( _this, "hold" ); + m_susModel.loadSettings( _this, "sus" ); + m_decModel.loadSettings( _this, "dec" ); - // Load sample shape - int size = 0; - char * dst = 0; - base64::decode( _this.attribute( "sampleShape"), &dst, &size ); + m_startFreqModel.loadSettings( _this, "startFreq" ); + m_minFreqModel.loadSettings( _this, "minFreq" ); + m_slideModel.loadSettings( _this, "slide" ); + m_dSlideModel.loadSettings( _this, "dSlide" ); + m_vibDepthModel.loadSettings( _this, "vibDepth" ); + m_vibSpeedModel.loadSettings( _this, "vibSpeed" ); - m_graph.setLength( sampleLength ); - m_graph.setSamples( (float*) dst ); - delete[] dst; + m_changeAmtModel.loadSettings( _this, "changeAmt" ); + m_changeSpeedModel.loadSettings( _this, "changeSpeed" ); - // Load LED normalize - m_interpolation.loadSettings( _this, "interpolation" ); - // Load LED - m_normalize.loadSettings( _this, "normalize" ); + m_sqrDutyModel.loadSettings( _this, "sqrDuty" ); + m_sqrSweepModel.loadSettings( _this, "sqrSweep" ); + + m_repeatSpeedModel.loadSettings( _this, "repeatSpeed" ); + + m_phaserOffsetModel.loadSettings( _this, "phaserOffset" ); + m_phaserSweepModel.loadSettings( _this, "phaserSweep" ); + + m_lpFilCutModel.loadSettings( _this, "lpFilCut" ); + m_lpFilCutSweepModel.loadSettings( _this, "lpFilCutSweep" ); + m_lpFilResoModel.loadSettings( _this, "lpFilReso" ); + m_hpFilCutModel.loadSettings( _this, "hpFilCut" ); + m_hpFilCutSweepModel.loadSettings( _this, "hpFilCutSweep" ); + + m_waveFormModel.loadSettings( _this, "waveForm" ); } -void bitInvader::lengthChanged() +void sfxrInstrument::samplesChanged( int _begin, int _end ) { - m_graph.setLength( (int) m_sampleLength.value() ); - - normalize(); -} - - - - -void bitInvader::samplesChanged( int _begin, int _end ) -{ - normalize(); + //TODO + //normalize(); //engine::getSongEditor()->setModified(); } -void bitInvader::normalize() +QString sfxrInstrument::nodeName() const { - // analyze - float max = 0; - const float* samples = m_graph.samples(); - for(int i=0; i < m_graph.length(); i++) - { - const float f = fabsf( samples[i] ); - if (f > max) { max = f; } - } - m_normalizeFactor = 1.0 / max; + return( sfxr_plugin_descriptor.name ); } -QString bitInvader::nodeName() const +f_cnt_t sfxrInstrument::desiredReleaseFrames() const { - return( bitinvader_plugin_descriptor.name ); + //TODO: check whether this disables + return 0; } - -void bitInvader::playNote( notePlayHandle * _n, +void sfxrInstrument::playNote( notePlayHandle * _n, sampleFrame * _working_buffer ) { - if ( _n->totalFramesPlayed() == 0 || _n->m_pluginData == NULL ) + //TODO + /*if ( _n->totalFramesPlayed() == 0 || _n->m_pluginData == NULL ) { float factor; @@ -272,7 +310,7 @@ void bitInvader::playNote( notePlayHandle * _n, factor = m_normalizeFactor; } - _n->m_pluginData = new bSynth( + _n->m_pluginData = new SfxrSynth( const_cast( m_graph.samples() ), m_graph.length(), _n, @@ -282,7 +320,7 @@ void bitInvader::playNote( notePlayHandle * _n, const fpp_t frames = _n->framesLeftForCurrentPeriod(); - bSynth * ps = static_cast( _n->m_pluginData ); + SfxrSynth * ps = static_cast( _n->m_pluginData ); for( fpp_t frame = 0; frame < frames; ++frame ) { const sample_t cur = ps->nextStringSample(); @@ -294,281 +332,588 @@ void bitInvader::playNote( notePlayHandle * _n, applyRelease( _working_buffer, _n ); - instrumentTrack()->processAudioBuffer( _working_buffer, frames, _n ); + instrumentTrack()->processAudioBuffer( _working_buffer, frames, _n );*/ } -void bitInvader::deleteNotePluginData( notePlayHandle * _n ) +void sfxrInstrument::deleteNotePluginData( notePlayHandle * _n ) { - delete static_cast( _n->m_pluginData ); + delete static_cast( _n->m_pluginData ); } -PluginView * bitInvader::instantiateView( QWidget * _parent ) +PluginView * sfxrInstrument::instantiateView( QWidget * _parent ) { - return( new bitInvaderView( this, _parent ) ); + return( new sfxrInstrumentView( this, _parent ) ); } +void sfxrInstrument::resetModels() +{ + m_attModel.reset(); + m_holdModel.reset(); + m_susModel.reset(); + m_decModel.reset(); + + m_startFreqModel.reset(); + m_minFreqModel.reset(); + m_slideModel.reset(); + m_dSlideModel.reset(); + m_vibDepthModel.reset(); + m_vibSpeedModel.reset(); + + m_changeAmtModel.reset(); + m_changeSpeedModel.reset(); + + m_sqrDutyModel.reset(); + m_sqrSweepModel.reset(); + + m_repeatSpeedModel.reset(); + + m_phaserOffsetModel.reset(); + m_phaserSweepModel.reset(); + + m_lpFilCutModel.reset(); + m_lpFilCutSweepModel.reset(); + m_lpFilResoModel.reset(); + m_hpFilCutModel.reset(); + m_hpFilCutSweepModel.reset(); + + m_waveFormModel.reset(); +} -bitInvaderView::bitInvaderView( Instrument * _instrument, + +class sfxrKnob : public knob +{ +public: + sfxrKnob( QWidget * _parent ) : + knob( knobStyled, _parent ) + { + setFixedSize( 20, 20 ); + setCenterPointX( 10.0 ); + setCenterPointY( 10.0 ); + setTotalAngle( 270.0 ); + setLineWidth( 1 ); + } +}; + + + + +#define createKnob(_knob, _x, _y, _name)\ + _knob = new sfxrKnob( this ); \ + _knob->setHintText( tr( _name ":" ), "" ); \ + _knob->move( _x, _y ); \ + toolTip::add( _knob, tr( _name ) ); + + + + +#define createButton(_button, _x, _y, _name, _resName)\ + _button = new pixmapButton( this, tr( "Sine wave" ) );\ + _button->move( _x, _y );\ + _button->setActiveGraphic( embed::getIconPixmap( _resName "_active" ) );\ + _button->setInactiveGraphic( embed::getIconPixmap( _resName "_inactive" ) );\ + toolTip::add( _button, tr( _name ) ); + + + + +#define createButtonLocalGraphic(_button, _x, _y, _name, _resName)\ + _button = new pixmapButton( this, tr( "Sine wave" ) );\ + _button->move( _x, _y );\ + _button->setActiveGraphic( PLUGIN_NAME::getIconPixmap( _resName "_active" ) );\ + _button->setInactiveGraphic( PLUGIN_NAME::getIconPixmap( _resName "_inactive" ) );\ + toolTip::add( _button, tr( _name ) ); + + + + +sfxrInstrumentView::sfxrInstrumentView( Instrument * _instrument, QWidget * _parent ) : InstrumentView( _instrument, _parent ) { + srand(time(NULL)); setAutoFillBackground( true ); QPalette pal; - - pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap( - "artwork" ) ); + pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap( "artwork" ) ); setPalette( pal ); - - m_sampleLengthKnob = new knob( knobDark_28, this ); - m_sampleLengthKnob->move( 10, 120 ); - m_sampleLengthKnob->setHintText( tr( "Sample Length" ) + " ", "" ); - m_graph = new graph( this, graph::NearestStyle ); - m_graph->move(53,118); // 55,120 - 2px border - m_graph->setAutoFillBackground( true ); + createKnob(m_attKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*0, "Attack Time"); + createKnob(m_holdKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*1, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*0, "Sustain Time"); + createKnob(m_susKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*2, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*0, "Sustain Punch"); + createKnob(m_decKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*0, "Decay Time"); - toolTip::add( m_graph, tr ( "Draw your own waveform here " - "by dragging your mouse on this graph." - )); + createKnob(m_startFreqKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Start Frequency"); + createKnob(m_minFreqKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*1, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Min Frequency"); + createKnob(m_slideKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*2, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Slide"); + createKnob(m_dSlideKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Delta Slide"); + createKnob(m_vibDepthKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*4, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Vibrato Depth"); + createKnob(m_vibSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*5, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*1, "Vibrato Speed"); + + createKnob(m_changeAmtKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Change Amount"); + createKnob(m_changeSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*1, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Change Speed"); + + createKnob(m_sqrDutyKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Squre Duty(Square wave only)"); + createKnob(m_sqrSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*4, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Squre Sweep(Square wave only)"); + + createKnob(m_repeatSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*3, "Repeat Speed"); + + createKnob(m_phaserOffsetKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*2, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*3, "Phaser Offset"); + createKnob(m_phaserSweepKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*3, "Phaser Sweep"); + + createKnob(m_lpFilCutKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "LP Filter Cutoff"); + createKnob(m_lpFilCutSweepKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*1, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "LP Filter Cutoff Sweep"); + createKnob(m_lpFilResoKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*2, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "LP Filter Resonance"); + createKnob(m_hpFilCutKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "HP Filter Cutoff"); + createKnob(m_hpFilCutSweepKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*4, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*4, "HP Filter Cutoff Sweep"); + + createButton(m_sqrWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*0, WAVEFORM_BASE_Y, "Square Wave", "square_wave"); + createButton(m_sawWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*1, WAVEFORM_BASE_Y, "Saw Wave", "saw_wave"); + createButton(m_sinWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*2, WAVEFORM_BASE_Y, "Sine Wave", "sin_wave"); + createButton(m_noiseWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*3, WAVEFORM_BASE_Y, "Noise", "white_noise_wave"); + + m_waveBtnGroup = new automatableButtonGroup( this ); + m_waveBtnGroup->addButton(m_sqrWaveBtn); + m_waveBtnGroup->addButton(m_sawWaveBtn); + m_waveBtnGroup->addButton(m_sinWaveBtn); + m_waveBtnGroup->addButton(m_noiseWaveBtn); + connect( m_waveBtnGroup, SIGNAL ( dataChanged() ), + this, SLOT ( waveFormChanged() ) ); - pal = QPalette(); - pal.setBrush( backgroundRole(), - PLUGIN_NAME::getIconPixmap("wavegraph") ); - m_graph->setPalette( pal ); + createButtonLocalGraphic(m_pickupBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*0, GENERATOR_BASE_Y, "Generate pick up/coin sfx", "pickup"); + createButtonLocalGraphic(m_laserBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*1, GENERATOR_BASE_Y, "Generate laser/shoot sfx", "laser"); + createButtonLocalGraphic(m_explosionBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*2, GENERATOR_BASE_Y, "Generate explosion sfx", "explosion"); + createButtonLocalGraphic(m_powerupBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*3, GENERATOR_BASE_Y, "Generate power up sfx", "powerup"); + createButtonLocalGraphic(m_hitBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*4, GENERATOR_BASE_Y, "Generate hit/hurt sfx", "hit"); + createButtonLocalGraphic(m_jumpBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*5, GENERATOR_BASE_Y, "Generate jump sfx", "jump"); + createButtonLocalGraphic(m_blipBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*6, GENERATOR_BASE_Y, "Generate blip/select sfx", "blip"); + connect( m_pickupBtn, SIGNAL ( clicked() ), this, SLOT ( genPickup() ) ); + connect( m_laserBtn, SIGNAL ( clicked() ), this, SLOT ( genLaser() ) ); + connect( m_explosionBtn, SIGNAL ( clicked() ), this, SLOT ( genExplosion() ) ); + connect( m_powerupBtn, SIGNAL ( clicked() ), this, SLOT ( genPowerup() ) ); + connect( m_hitBtn, SIGNAL ( clicked() ), this, SLOT ( genHit() ) ); + connect( m_jumpBtn, SIGNAL ( clicked() ), this, SLOT ( genJump() ) ); + connect( m_blipBtn, SIGNAL ( clicked() ), this, SLOT ( genBlip() ) ); - m_sinWaveBtn = new pixmapButton( this, tr( "Sine wave" ) ); - m_sinWaveBtn->move( 188, 120 ); - m_sinWaveBtn->setActiveGraphic( embed::getIconPixmap( - "sin_wave_active" ) ); - m_sinWaveBtn->setInactiveGraphic( embed::getIconPixmap( - "sin_wave_inactive" ) ); - toolTip::add( m_sinWaveBtn, - tr( "Click for a sine-wave." ) ); + createButtonLocalGraphic(m_randomizeBtn, RAND_BUTTON_X, RAND_BUTTON_Y, "Generate random sfx", "randomize"); + createButtonLocalGraphic(m_mutateBtn, MUTA_BUTTON_X, MUTA_BUTTON_Y, "Mutate sfx", "mutate"); + connect( m_randomizeBtn, SIGNAL ( clicked() ), this, SLOT ( randomize() ) ); + connect( m_mutateBtn, SIGNAL ( clicked() ), this, SLOT ( mutate() ) ); - m_triangleWaveBtn = new pixmapButton( this, tr( "Triangle wave" ) ); - m_triangleWaveBtn->move( 188, 136 ); - m_triangleWaveBtn->setActiveGraphic( - embed::getIconPixmap( "triangle_wave_active" ) ); - m_triangleWaveBtn->setInactiveGraphic( - embed::getIconPixmap( "triangle_wave_inactive" ) ); - toolTip::add( m_triangleWaveBtn, - tr( "Click here for a triangle-wave." ) ); + //TODO: for each generator button: + /*connect( m_pickupBtn, SIGNAL ( dataChanged() ), + this, SLOT ( pickupClicked() ) );*/ - m_sawWaveBtn = new pixmapButton( this, tr( "Saw wave" ) ); - m_sawWaveBtn->move( 188, 152 ); - m_sawWaveBtn->setActiveGraphic( embed::getIconPixmap( - "saw_wave_active" ) ); - m_sawWaveBtn->setInactiveGraphic( embed::getIconPixmap( - "saw_wave_inactive" ) ); - toolTip::add( m_sawWaveBtn, - tr( "Click here for a saw-wave." ) ); - - m_sqrWaveBtn = new pixmapButton( this, tr( "Square wave" ) ); - m_sqrWaveBtn->move( 188, 168 ); - m_sqrWaveBtn->setActiveGraphic( embed::getIconPixmap( - "square_wave_active" ) ); - m_sqrWaveBtn->setInactiveGraphic( embed::getIconPixmap( - "square_wave_inactive" ) ); - toolTip::add( m_sqrWaveBtn, - tr( "Click here for a square-wave." ) ); - - m_whiteNoiseWaveBtn = new pixmapButton( this, - tr( "White noise wave" ) ); - m_whiteNoiseWaveBtn->move( 188, 184 ); - m_whiteNoiseWaveBtn->setActiveGraphic( - embed::getIconPixmap( "white_noise_wave_active" ) ); - m_whiteNoiseWaveBtn->setInactiveGraphic( - embed::getIconPixmap( "white_noise_wave_inactive" ) ); - toolTip::add( m_whiteNoiseWaveBtn, - tr( "Click here for white-noise." ) ); - - m_usrWaveBtn = new pixmapButton( this, tr( "User defined wave" ) ); - m_usrWaveBtn->move( 188, 200 ); - m_usrWaveBtn->setActiveGraphic( embed::getIconPixmap( - "usr_wave_active" ) ); - m_usrWaveBtn->setInactiveGraphic( embed::getIconPixmap( - "usr_wave_inactive" ) ); - toolTip::add( m_usrWaveBtn, - tr( "Click here for a user-defined shape." ) ); - - m_smoothBtn = new pixmapButton( this, tr( "Smooth" ) ); - m_smoothBtn->move( 35, 200 ); - m_smoothBtn->setActiveGraphic( PLUGIN_NAME::getIconPixmap( - "smooth" ) ); - m_smoothBtn->setInactiveGraphic( PLUGIN_NAME::getIconPixmap( - "smooth" ) ); - m_smoothBtn->setChecked( true ); - toolTip::add( m_smoothBtn, - tr( "Click here to smooth waveform." ) ); - - - m_interpolationToggle = new ledCheckBox( "Interpolation", this, - tr( "Interpolation" ) ); - m_interpolationToggle->move( 55,80 ); - - - m_normalizeToggle = new ledCheckBox( "Normalize", this, - tr( "Normalize" ) ); - m_normalizeToggle->move( 55, 100 ); - - - connect( m_sinWaveBtn, SIGNAL (clicked () ), - this, SLOT ( sinWaveClicked() ) ); - connect( m_triangleWaveBtn, SIGNAL ( clicked () ), - this, SLOT ( triangleWaveClicked() ) ); - connect( m_sawWaveBtn, SIGNAL (clicked () ), - this, SLOT ( sawWaveClicked() ) ); - connect( m_sqrWaveBtn, SIGNAL ( clicked () ), - this, SLOT ( sqrWaveClicked() ) ); - connect( m_whiteNoiseWaveBtn, SIGNAL ( clicked () ), - this, SLOT ( noiseWaveClicked() ) ); - connect( m_usrWaveBtn, SIGNAL ( clicked () ), - this, SLOT ( usrWaveClicked() ) ); - - connect( m_smoothBtn, SIGNAL ( clicked () ), - this, SLOT ( smoothClicked() ) ); - - connect( m_interpolationToggle, SIGNAL( toggled( bool ) ), - this, SLOT ( interpolationToggled( bool ) ) ); - - connect( m_normalizeToggle, SIGNAL( toggled( bool ) ), - this, SLOT ( normalizeToggled( bool ) ) ); } -void bitInvaderView::modelChanged() +void sfxrInstrumentView::modelChanged() { - bitInvader * b = castModel(); + sfxrInstrument * s = castModel(); - m_graph->setModel( &b->m_graph ); - m_sampleLengthKnob->setModel( &b->m_sampleLength ); - m_interpolationToggle->setModel( &b->m_interpolation ); - m_normalizeToggle->setModel( &b->m_normalize ); + m_attKnob->setModel( &s->m_attModel ); + m_holdKnob->setModel( &s->m_holdModel ); + m_susKnob->setModel( &s->m_susModel ); + m_decKnob->setModel( &s->m_decModel ); + m_startFreqKnob->setModel( &s->m_startFreqModel ); + m_minFreqKnob->setModel( &s->m_minFreqModel ); + m_slideKnob->setModel( &s->m_slideModel ); + m_dSlideKnob->setModel( &s->m_dSlideModel ); + m_vibDepthKnob->setModel( &s->m_vibDepthModel ); + m_vibSpeedKnob->setModel( &s->m_vibSpeedModel ); + + m_changeAmtKnob->setModel( &s->m_changeAmtModel ); + m_changeSpeedKnob->setModel( &s->m_changeSpeedModel ); + + m_sqrDutyKnob->setModel( &s->m_sqrDutyModel ); + m_sqrSpeedKnob->setModel( &s->m_sqrSweepModel ); + + m_repeatSpeedKnob->setModel( &s->m_repeatSpeedModel ); + + m_phaserOffsetKnob->setModel( &s->m_phaserOffsetModel ); + m_phaserSweepKnob->setModel( &s->m_phaserSweepModel ); + + m_lpFilCutKnob->setModel( &s->m_lpFilCutModel ); + m_lpFilCutSweepKnob->setModel( &s->m_lpFilCutSweepModel ); + m_lpFilResoKnob->setModel( &s->m_lpFilResoModel ); + m_hpFilCutKnob->setModel( &s->m_hpFilCutModel ); + m_hpFilCutSweepKnob->setModel( &s->m_hpFilCutSweepModel ); + + m_waveBtnGroup->setModel( &s->m_waveFormModel ); } -void bitInvaderView::sinWaveClicked() +void sfxrInstrumentView::waveFormChanged() { - m_graph->model()->setWaveToSine(); - engine::getSong()->setModified(); -} - - - - -void bitInvaderView::triangleWaveClicked() -{ - m_graph->model()->setWaveToTriangle(); - engine::getSong()->setModified(); -} - - - - -void bitInvaderView::sawWaveClicked() -{ - m_graph->model()->setWaveToSaw(); - engine::getSong()->setModified(); -} - - - - -void bitInvaderView::sqrWaveClicked() -{ - m_graph->model()->setWaveToSquare(); - engine::getSong()->setModified(); -} - - - - -void bitInvaderView::noiseWaveClicked() -{ - m_graph->model()->setWaveToNoise(); - engine::getSong()->setModified(); -} - - - - -void bitInvaderView::usrWaveClicked() -{ - QString fileName = m_graph->model()->setWaveToUser(); - toolTip::add( m_usrWaveBtn, fileName ); - engine::getSong()->setModified(); + //TODO: do we even need this slot? /* m_graph->model()->setWaveToNoise(); engine::getSong()->setModified(); - // zero sample_shape - for (int i = 0; i < sample_length; i++) - { - sample_shape[i] = 0; - } - - // load user shape - sampleBuffer buffer; - QString af = buffer.openAudioFile(); - if ( af != "" ) - { - buffer.setAudioFile( af ); - - // copy buffer data - sample_length = min( sample_length, static_cast( - buffer.frames() ) ); - for ( int i = 0; i < sample_length; i++ ) - { - sample_shape[i] = (float)*buffer.data()[i]; - } - } - - sampleChanged(); */ } -void bitInvaderView::smoothClicked() +void sfxrInstrumentView::genPickup() { - m_graph->model()->smooth(); - engine::getSong()->setModified(); + sfxrInstrument * s = castModel(); + s->resetModels(); + s->m_startFreqModel.setValue( 0.4f+frnd(0.5f) ); + s->m_attModel.setValue( 0.0f ); + s->m_holdModel.setValue( frnd(0.1f) ); + s->m_decModel.setValue( 0.1f+frnd(0.4f) ); + s->m_susModel.setValue( 0.3f+frnd(0.3f) ); + + if(rnd(1)) + { + s->m_changeAmtModel.setValue( 0.5f+frnd(0.2f) ); + s->m_changeSpeedModel.setValue( 0.2f+frnd(0.4f) ); + } } -void bitInvaderView::interpolationToggled( bool value ) +void sfxrInstrumentView::genLaser() { - m_graph->setGraphStyle( value ? graph::LinearStyle : graph::NearestStyle); - engine::getSong()->setModified(); + sfxrInstrument * s = castModel(); + s->resetModels(); + + s->m_waveFormModel.setValue( rnd(2) ); + if(s->m_waveFormModel.value()==2 && rnd(1)) + s->m_waveFormModel.setValue(rnd(1)); + + s->m_startFreqModel.setValue( 0.5f+frnd(0.5f) ); + s->m_minFreqModel.setValue( s->m_startFreqModel.value()-0.2f-frnd(0.6f) ); + + if(s->m_minFreqModel.value()<0.2f) + { + s->m_minFreqModel.setValue(0.2f); + } + + s->m_slideModel.setValue( -0.15f-frnd(0.2f) ); + + if(rnd(2)==0) + { + s->m_startFreqModel.setValue( 0.3f+frnd(0.6f) ); + s->m_minFreqModel.setValue( frnd(0.1f) ); + s->m_slideModel.setValue( -0.35f-frnd(0.3f) ); + } + + if(rnd(1)) + { + s->m_sqrDutyModel.setValue( frnd(0.5f) ); + s->m_sqrSweepModel.setValue( 0.2f ); + } + else + { + s->m_sqrDutyModel.setValue( 0.4f+frnd(0.5f) ); + s->m_sqrSweepModel.setValue( -frnd(0.7f) ); + } + + s->m_attModel.setValue( 0.0f ); + s->m_holdModel.setValue( 0.1f+frnd(0.2f) ); + s->m_decModel.setValue( frnd(0.4f) ); + + if(rnd(1)) + { + s->m_susModel.setValue( frnd(0.3f) ); + } + + if(rnd(2)==0) + { + s->m_phaserOffsetModel.setValue( frnd(0.2f) ); + s->m_phaserSweepModel.setValue( -frnd(0.2f) ); + } + + if(rnd(1)) + s->m_hpFilCutModel.setValue( frnd(0.3f) ); } -void bitInvaderView::normalizeToggled( bool value ) +void sfxrInstrumentView::genExplosion() { - engine::getSong()->setModified(); + sfxrInstrument * s = castModel(); + s->resetModels(); + + s->m_waveFormModel.setValue( 3 ); + + if(rnd(1)) + { + s->m_startFreqModel.setValue( 0.1f+frnd(0.4f) ); + s->m_slideModel.setValue( -0.1f+frnd(0.4f) ); + } + else + { + s->m_startFreqModel.setValue( 0.2f+frnd(0.7f) ); + s->m_slideModel.setValue( -0.2f-frnd(0.2f) ); + } + s->m_startFreqModel.setValue( s->m_startFreqModel.value()*s->m_startFreqModel.value() ); + + if(rnd(4)==0) + { + s->m_slideModel.setValue( 0.0f ); + } + + if(rnd(2)==0) + { + s->m_repeatSpeedModel.setValue( 0.3f+frnd(0.5f) ); + } + + s->m_attModel.setValue( 0.0f ); + s->m_holdModel.setValue( 0.1f+frnd(0.3f) ); + s->m_decModel.setValue( 0.5f ); + if(rnd(1)==0) + { + s->m_phaserOffsetModel.setValue( -0.3f+frnd(0.9f) ); + s->m_phaserSweepModel.setValue( -frnd(0.3f) ); + } + s->m_susModel.setValue( 0.2f+frnd(0.6f) ); + + if(rnd(1)) + { + s->m_vibDepthModel.setValue( frnd(0.7f) ); + s->m_vibSpeedModel.setValue( frnd(0.6f) ); + } + if(rnd(2)==0) + { + s->m_changeSpeedModel.setValue( 0.6f+frnd(0.3f) ); + s->m_changeAmtModel.setValue( 0.8f-frnd(1.6f) ); + } + +} + + + + +void sfxrInstrumentView::genPowerup() +{ + sfxrInstrument * s = castModel(); + s->resetModels(); + + if(rnd(1)) + s->m_waveFormModel.setValue( 1 ); + else + s->m_sqrDutyModel.setValue( frnd(0.6f) ); + if(rnd(1)) + { + s->m_startFreqModel.setValue( 0.2f+frnd(0.3f) ); + s->m_slideModel.setValue( 0.1f+frnd(0.4f) ); + s->m_repeatSpeedModel.setValue( 0.4f+frnd(0.4f) ); + } + else + { + s->m_startFreqModel.setValue( 0.2f+frnd(0.3f) ); + s->m_slideModel.setValue( 0.05f+frnd(0.2f) ); + if(rnd(1)) + { + s->m_vibDepthModel.setValue( frnd(0.7f) ); + s->m_vibSpeedModel.setValue( frnd(0.6f) ); + } + } + + s->m_attModel.setValue( 0.0f ); + s->m_holdModel.setValue( frnd(0.4f) ); + s->m_decModel.setValue( 0.1f+frnd(0.4f) ); +} + + + + +void sfxrInstrumentView::genHit() +{ + sfxrInstrument * s = castModel(); + s->resetModels(); + + s->m_waveFormModel.setValue( rnd(2) ); + if(s->m_waveFormModel.value()==2) + s->m_waveFormModel.setValue( 3 ); + if(s->m_waveFormModel.value()==0) + s->m_sqrDutyModel.setValue( frnd(0.6f) ); + + s->m_startFreqModel.setValue( 0.2f+frnd(0.6f) ); + s->m_slideModel.setValue( -0.3f-frnd(0.4f) ); + + s->m_attModel.setValue( 0.0f ); + s->m_holdModel.setValue( frnd(0.1f) ); + s->m_decModel.setValue( 0.1f+frnd(0.2f) ); + if(rnd(1)) + { + s->m_hpFilCutModel.setValue( frnd(0.3f) ); + } +} + + + + +void sfxrInstrumentView::genJump() +{ + sfxrInstrument * s = castModel(); + s->resetModels(); + + s->m_waveFormModel.setValue( 0 ); + s->m_sqrDutyModel.setValue( frnd(0.6f) ); + + s->m_startFreqModel.setValue( 0.3f+frnd(0.3f) ); + s->m_slideModel.setValue( 0.1f+frnd(0.2f) ); + + s->m_attModel.setValue( 0.0f ); + s->m_holdModel.setValue( 0.1f+frnd(0.3f) ); + s->m_decModel.setValue( 0.1f+frnd(0.2f) ); + + if(rnd(1)) + { + s->m_hpFilCutModel.setValue( frnd(0.3f) ); + } + + if(rnd(1)) + { + + s->m_lpFilCutModel.setValue( 1.0f-frnd(0.6f) ); + } +} + + + + +void sfxrInstrumentView::genBlip() +{ + sfxrInstrument * s = castModel(); + s->resetModels(); + + s->m_waveFormModel.setValue( rnd(1) ); + if( s->m_waveFormModel.value()==0 ) + { + s->m_sqrDutyModel.setValue( frnd(0.6f) ); + } + + s->m_startFreqModel.setValue( 0.2f+frnd(0.4f) ); + + s->m_attModel.setValue( 0.0f ); + s->m_holdModel.setValue( 0.1f+frnd(0.1f) ); + s->m_decModel.setValue( frnd(0.2f) ); + s->m_hpFilCutModel.setValue( 0.1f ); +} + + + + +void sfxrInstrumentView::randomize() +{ + sfxrInstrument * s = castModel(); + + s->m_startFreqModel.setValue( pow(frnd(2.0f)-1.0f, 2.0f) ); + if(rnd(1)) + { + s->m_startFreqModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f)+0.5f ); + } + s->m_minFreqModel.setValue( 0.0f ); + s->m_slideModel.setValue( pow(frnd(2.0f)-1.0f, 5.0f) ); + if( s->m_startFreqModel.value()>0.7f && s->m_slideModel.value()>0.2f ) + { + s->m_slideModel.setValue( -s->m_slideModel.value() ); + } + if( s->m_startFreqModel.value()<0.2f && s->m_slideModel.value()<-0.05f ) + { + s->m_slideModel.setValue( -s->m_slideModel.value() ); + } + s->m_dSlideModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + + s->m_sqrDutyModel.setValue( frnd(2.0f)-1.0f ); + s->m_sqrSweepModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + + s->m_vibDepthModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + s->m_vibSpeedModel.setValue( frnd(2.0f)-1.0f ); + //s->m_vibDelayModel.setValue( frnd(2.0f)-1.0f ); + + s->m_attModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + s->m_holdModel.setValue( pow(frnd(2.0f)-1.0f, 2.0f) ); + s->m_decModel.setValue( frnd(2.0f)-1.0f ); + s->m_susModel.setValue( pow(frnd(0.8f), 2.0f) ); + if(s->m_attModel.value()+s->m_holdModel.value()+s->m_decModel.value()<0.2f) + { + s->m_holdModel.setValue( s->m_holdModel.value()+0.2f+frnd(0.3f) ); + s->m_decModel.setValue( s->m_decModel.value()+0.2f+frnd(0.3f) ); + } + + s->m_lpFilResoModel.setValue( frnd(2.0f)-1.0f ); + s->m_lpFilCutModel.setValue( 1.0f-pow(frnd(1.0f), 3.0f) ); + s->m_lpFilCutSweepModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + if(s->m_lpFilCutModel.value()<0.1f && s->m_lpFilCutSweepModel.value()<-0.05f) + { + s->m_lpFilCutSweepModel.setValue( -s->m_lpFilCutSweepModel.value() ); + } + s->m_hpFilCutModel.setValue( pow(frnd(1.0f), 5.0f) ); + s->m_hpFilCutSweepModel.setValue( pow(frnd(2.0f)-1.0f, 5.0f) ); + + s->m_phaserOffsetModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + s->m_phaserSweepModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + + s->m_repeatSpeedModel.setValue( frnd(2.0f)-1.0f ); + + s->m_changeSpeedModel.setValue( frnd(2.0f)-1.0f ); + s->m_changeAmtModel.setValue( frnd(2.0f)-1.0f ); + +} + + + + +void sfxrInstrumentView::mutate() +{ + sfxrInstrument * s = castModel(); + + if(rnd(1)) s->m_startFreqModel.setValue( s->m_startFreqModel.value()+frnd(0.1f)-0.05f ); + // if(rnd(1)) s->m_minFreqModel.setValue( s->m_minFreqModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_slideModel.setValue( s->m_slideModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_dSlideModel.setValue( s->m_dSlideModel.value()+frnd(0.1f)-0.05f ); + + if(rnd(1)) s->m_sqrDutyModel.setValue( s->m_sqrDutyModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_sqrSweepModel.setValue( s->m_sqrSweepModel.value()+frnd(0.1f)-0.05f ); + + if(rnd(1)) s->m_vibDepthModel.setValue( s->m_vibDepthModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_vibSpeedModel.setValue( s->m_vibSpeedModel.value()+frnd(0.1f)-0.05f ); + // if(rnd(1)) s->m_vibDelayModel.setValue( s->m_vibDelayModel.value()+frnd(0.1f)-0.05f ); + + if(rnd(1)) s->m_attModel.setValue( s->m_attModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_holdModel.setValue( s->m_holdModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_decModel.setValue( s->m_decModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_susModel.setValue( s->m_susModel.value()+frnd(0.1f)-0.05f ); + + if(rnd(1)) s->m_lpFilResoModel.setValue( s->m_lpFilResoModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_lpFilCutModel.setValue( s->m_lpFilCutModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_lpFilCutSweepModel.setValue( s->m_lpFilCutSweepModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_hpFilCutModel.setValue( s->m_hpFilCutModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_hpFilCutSweepModel.setValue( s->m_hpFilCutSweepModel.value()+frnd(0.1f)-0.05f ); + + if(rnd(1)) s->m_phaserOffsetModel.setValue( s->m_phaserOffsetModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_phaserSweepModel.setValue( s->m_phaserSweepModel.value()+frnd(0.1f)-0.05f ); + + if(rnd(1)) s->m_repeatSpeedModel.setValue( s->m_repeatSpeedModel.value()+frnd(0.1f)-0.05f ); + + if(rnd(1)) s->m_changeSpeedModel.setValue( s->m_changeSpeedModel.value()+frnd(0.1f)-0.05f ); + if(rnd(1)) s->m_changeAmtModel.setValue( s->m_changeAmtModel.value()+frnd(0.1f)-0.05f ); + } @@ -580,7 +925,7 @@ extern "C" // necessary for getting instance out of shared lib Plugin * PLUGIN_EXPORT lmms_plugin_main( Model *, void * _data ) { - return( new bitInvader( static_cast( _data ) ) ); + return( new sfxrInstrument( static_cast( _data ) ) ); } @@ -588,4 +933,4 @@ Plugin * PLUGIN_EXPORT lmms_plugin_main( Model *, void * _data ) -#include "moc_bit_invader.cxx" +#include "moc_sfxr.cxx" diff --git a/plugins/sfxr/sfxr.h b/plugins/sfxr/sfxr.h index 3b2320e80..e363dd343 100644 --- a/plugins/sfxr/sfxr.h +++ b/plugins/sfxr/sfxr.h @@ -1,5 +1,6 @@ /* * sfxr.h - declaration of classes of the LMMS sfxr plugin + * The original readme file of sfxr can be found in readme.txt in this directory. * * Copyright (c) 2014 Wong Cho Ching * @@ -29,19 +30,44 @@ #include "Instrument.h" #include "InstrumentView.h" #include "knob.h" +#include "graph.h" #include "pixmap_button.h" #include "led_checkbox.h" -class bitInvaderView; -class bSynth +enum SfxrWaves +{ + SQR_WAVE, SAW_WAVE, SINE_WAVE, NOISE_WAVE, WAVES_NUM +}; + +const int WAVEFORM_BASE_X = 20; +const int WAVEFORM_BASE_Y = 14; +const int WAVEFORM_BUTTON_WIDTH = 16; + +const int GENERATOR_BASE_X = 110; +const int GENERATOR_BASE_Y = 24; +const int GENERATOR_BUTTON_WIDTH = 16; + +const int RAND_BUTTON_X = 160; +const int RAND_BUTTON_Y = 4; + +const int MUTA_BUTTON_X = 205; +const int MUTA_BUTTON_Y = 4; + +const int KNOBS_BASE_X = 20; +const int KNOBS_BASE_Y = 50; +const int KNOB_BLOCK_SIZE_X = 40; +const int KNOB_BLOCK_SIZE_Y = 40; + + +class SfxrSynth { public: - bSynth( float * sample, int length, notePlayHandle * _nph, - bool _interpolation, float factor, + SfxrSynth( float * sample, int length, notePlayHandle * _nph, + bool _interpolation, float factor, const sample_rate_t _sample_rate ); - virtual ~bSynth(); - + virtual ~SfxrSynth(); + sample_t nextStringSample(); @@ -54,15 +80,39 @@ private: const sample_rate_t sample_rate; bool interpolation; - -} ; -class bitInvader : public Instrument +}; + +/** + * @brief A class that simplify the constructor of FloatModel, with value [0,1] + */ +class SfxrZeroToOneFloatModel : public FloatModel +{ +public: + SfxrZeroToOneFloatModel(float val, Model * parent): + FloatModel( val, 0.0, 1.0, 0.001, parent) + { + } +}; + +/** + * @brief A class that simplify the constructor of FloatModel, with value [-1,1] + */ +class SfxrNegPosOneFloatModel : public FloatModel +{ +public: + SfxrNegPosOneFloatModel(float val, Model * parent): + FloatModel( val, -1.0, 1.0, 0.001, parent) + { + } +}; + +class sfxrInstrument : public Instrument { Q_OBJECT public: - bitInvader(InstrumentTrack * _instrument_track ); - virtual ~bitInvader(); + sfxrInstrument(InstrumentTrack * _instrument_track ); + virtual ~sfxrInstrument(); virtual void playNote( notePlayHandle * _n, sampleFrame * _working_buffer ); @@ -75,77 +125,127 @@ public: virtual QString nodeName() const; - virtual f_cnt_t desiredReleaseFrames() const - { - return( 64 ); - } + virtual f_cnt_t desiredReleaseFrames() const; virtual PluginView * instantiateView( QWidget * _parent ); -protected slots: - void lengthChanged(); - void samplesChanged( int, int ); + void resetModels(); - void normalize(); +protected slots: + void samplesChanged( int, int ); private: - FloatModel m_sampleLength; - graphModel m_graph; - - BoolModel m_interpolation; - BoolModel m_normalize; - - float m_normalizeFactor; + SfxrZeroToOneFloatModel m_attModel; + SfxrZeroToOneFloatModel m_holdModel; + SfxrZeroToOneFloatModel m_susModel; + SfxrZeroToOneFloatModel m_decModel; - friend class bitInvaderView; -} ; + SfxrZeroToOneFloatModel m_startFreqModel; + SfxrZeroToOneFloatModel m_minFreqModel; + SfxrNegPosOneFloatModel m_slideModel; + SfxrNegPosOneFloatModel m_dSlideModel; + SfxrZeroToOneFloatModel m_vibDepthModel; + SfxrZeroToOneFloatModel m_vibSpeedModel; + + SfxrNegPosOneFloatModel m_changeAmtModel; + SfxrZeroToOneFloatModel m_changeSpeedModel; + + SfxrZeroToOneFloatModel m_sqrDutyModel; + SfxrNegPosOneFloatModel m_sqrSweepModel; + + SfxrZeroToOneFloatModel m_repeatSpeedModel; + + SfxrNegPosOneFloatModel m_phaserOffsetModel; + SfxrNegPosOneFloatModel m_phaserSweepModel; + + SfxrZeroToOneFloatModel m_lpFilCutModel; + SfxrNegPosOneFloatModel m_lpFilCutSweepModel; + SfxrZeroToOneFloatModel m_lpFilResoModel; + SfxrZeroToOneFloatModel m_hpFilCutModel; + SfxrNegPosOneFloatModel m_hpFilCutSweepModel; + + IntModel m_waveFormModel; + + friend class sfxrInstrumentView; +}; -class bitInvaderView : public InstrumentView +class sfxrInstrumentView : public InstrumentView { Q_OBJECT public: - bitInvaderView( Instrument * _instrument, + sfxrInstrumentView( Instrument * _instrument, QWidget * _parent ); - virtual ~bitInvaderView() {}; + virtual ~sfxrInstrumentView() {}; protected slots: - //void sampleSizeChanged( float _new_sample_length ); - - void interpolationToggled( bool value ); - void normalizeToggled( bool value ); - - void sinWaveClicked(); - void triangleWaveClicked(); - void sqrWaveClicked(); - void sawWaveClicked(); - void noiseWaveClicked(); - void usrWaveClicked(); - - void smoothClicked( void ); + void waveFormChanged(); + void genPickup(); + void genLaser(); + void genExplosion(); + void genPowerup(); + void genHit(); + void genJump(); + void genBlip(); + void randomize(); + void mutate(); private: virtual void modelChanged(); - knob * m_sampleLengthKnob; - pixmapButton * m_sinWaveBtn; - pixmapButton * m_triangleWaveBtn; - pixmapButton * m_sqrWaveBtn; + knob * m_attKnob; //Attack Time + knob * m_holdKnob; //Sustain Time + knob * m_susKnob; //Sustain Punch + knob * m_decKnob; //Decay Time + + knob * m_startFreqKnob; //Start Frequency + knob * m_minFreqKnob; //Min Frequency + knob * m_slideKnob; //Slide + knob * m_dSlideKnob; //Delta Slide + knob * m_vibDepthKnob; //Vibrato Depth + knob * m_vibSpeedKnob; //Vibrato Speed + + knob * m_changeAmtKnob; //Change Amount + knob * m_changeSpeedKnob; //Change Speed + + knob * m_sqrDutyKnob; //Squre Duty + knob * m_sqrSpeedKnob; //Squre Sweep + + knob * m_repeatSpeedKnob; //Repeat Speed + + knob * m_phaserOffsetKnob; //Phaser Offset + knob * m_phaserSweepKnob; //Phaser Sweep + + knob * m_lpFilCutKnob; //LP Filter Cutoff + knob * m_lpFilCutSweepKnob; //LP Filter Cutoff Sweep + knob * m_lpFilResoKnob; //LP Filter Resonance + knob * m_hpFilCutKnob; //HP Filter Cutoff + knob * m_hpFilCutSweepKnob; //HP Filter Cutoff Sweep + + automatableButtonGroup * m_waveBtnGroup; + pixmapButton * m_sqrWaveBtn; //NOTE: This button has Squre Duty + //and Squre Speed configurable pixmapButton * m_sawWaveBtn; - pixmapButton * m_whiteNoiseWaveBtn; - pixmapButton * m_smoothBtn; - pixmapButton * m_usrWaveBtn; + pixmapButton * m_sinWaveBtn; + pixmapButton * m_noiseWaveBtn; + + + pixmapButton * m_pickupBtn; + pixmapButton * m_laserBtn; + pixmapButton * m_explosionBtn; + pixmapButton * m_powerupBtn; + pixmapButton * m_hitBtn; + pixmapButton * m_jumpBtn; + pixmapButton * m_blipBtn; + + pixmapButton * m_randomizeBtn; + pixmapButton * m_mutateBtn; static QPixmap * s_artwork; - - graph * m_graph; - ledCheckBox * m_interpolationToggle; - ledCheckBox * m_normalizeToggle; - -} ; +}; From 6cda610f48a7b76f9f3ed6ec1be7cf51b58f03d8 Mon Sep 17 00:00:00 2001 From: Wong Cho Ching Date: Sat, 25 Jan 2014 22:49:41 +0800 Subject: [PATCH 07/15] Fixes build issue --- src/core/preset_preview_play_handle.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/preset_preview_play_handle.cpp b/src/core/preset_preview_play_handle.cpp index 94066eced..22ff31a50 100644 --- a/src/core/preset_preview_play_handle.cpp +++ b/src/core/preset_preview_play_handle.cpp @@ -105,7 +105,7 @@ private: notePlayHandle * m_previewNote; QMutex m_dataMutex; - friend presetPreviewPlayHandle; + friend class presetPreviewPlayHandle; } ; From 485d4fc595e0b4c3ebb1b9923e17514cde64d8f6 Mon Sep 17 00:00:00 2001 From: Vesa Date: Fri, 24 Jan 2014 13:37:08 +0200 Subject: [PATCH 08/15] New Zyn plugin artwork --- plugins/zynaddsubfx/artwork.png | Bin 30406 -> 86217 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/zynaddsubfx/artwork.png b/plugins/zynaddsubfx/artwork.png index 7d158bdaa71b4f69f9e3bb49af174cce80e6fd46..2ef0b570560876c9cb0469cd13fc8f52d9f9245c 100644 GIT binary patch literal 86217 zcmV)VK(D`vP)BstAKd+)DVYtH+}7;~<*j}$(~lfd5Jx7M6vj^=&e zF{a4;h714#WRM8C0~AOM|6BQwg5=@n5B+`d&zAp`|2++#k+Xje_RsbE#eTg0&iMBL z(Tl#LeE%2v&-nMnemD0Z!GEWGR)6?0$&kgKr97Xge^u{mAcwy@Xa86E0*@t-lmAX0 z)&T!3{PT1AU%XfL-w%h^;?QRYe>NG`ss7IBzbB8L^$V<*l>NvTJx3m%6^1n(?zMo zo68!L{e8mdKn>1MMM%A`n}|KTf~0IVkVc1+{;++e&esPB!M>*+Hw8&ZO2aGr`ARw2 z8midGrA(G&XRG|j_aK*ZaL56BpvdV^kd`1Z6Mf_ z*8?Zj5!qg4U!!6I8A5PJlRXv<8A>Lj(GRQ0kjMppf0f|?OM5s&QeTra1c_o#l9RuO z)_uzo5fL=It%)GHM}oTZ9vofP;orrhc%nGO&emA8I-TJRtG%;^8fYV;s06d|5ZyQv z^wEuelw}<99z&W_BeEM*&Y+AAcKIAF4k7x2+e_Ez?T5{rgkF@rd-_&*&1OWZ?##6w_FR6Z=I~)Kglvb=-qTWH@#v*lJqme>tl~e{+2>^e?a4WS zD(W6Bmk$s2a-wQc%~M4!DH9;-Q6mR}1d@hYE9to2$%&jj9T$PrBLtEpcUX!BC8wUO z5lIPR^wdgGEQ7HPjQA!+!L3Fwz>)=su>aS(5FG z3>8B12qr?3jHnq)mVo5m-z$QeF-uNlLM=z6tVamsuCE8x9Eti~$dCkqWe;g6!618J zD~8JmSMao4%&^r{@T9>UMPhi4QaZY!D|iMFLHc?~a?S)la)Xn$pe4PRITC9$9ZIR- ze#@PDPX0Y^FK(AoB7VvvpQyI)*|QC`GZT6tN41iv5u{gN)8vlfB48k^|COP4JI;c5 zK+B$i$*2q=_ehN79NfPAS(6M|SW31wjt_`5AWF2fE?YW2iW+7lYQLMQQLMbY)MFj! zNrydX9)ot-@qm%9^aEvvps1&t60#k*0uN-1*i!RsJAm~;MLoiZd3`PQRM}HcTcwAf zXmV#$pEjAHsvjJZypHgssHW>+=>dRL;}T(Be-Mo!>c)w zP%}ag2E~a4$)r;H4AWH=2LJ0 z`@Q}!Kqa0{=m7j?PixJ5GC7s3Rn2*0PC-ay8e0!~D=kX7S<+j_qNMJ^{Ovol2W2p4^~nbdv`}8MMeNj`F)ELNG5pdUTRaKx))Td zXZpUTXyPnDcB3dqxn>&$u@xP_n*#i4x(J~JNy(yZjb0u(JvvnfFckXru;O5wY8XnI zEF)4OTP;@BmE;*n_B4Hb}DgFbcE~ljL=v+2dXtwzL?vRA|?26W!KKt*BuepdjrsA7YPxZDHJhZf5G@vP1Hj@KMMlb|IN*T>!@Q9A-&M;yK zLN%Q1;Eq%jI(T_i()5yU2RB52XFse`<3mDv0}HKGlS*8P2Nuchw8est6#PYca-Roh zRqRBlID~lmnhR4wZvo6fzLdIwMN1Xe<%;G?2|Z;mqk>aVLiyXjvjAP?97Ja>L>$ddme!IC2gvzQW+bk)5C^id zf44d^U)D(-xvs1&W@D7IBH2;6Pb$EQZpH?uVZ#=s5`+9N5DN~ z8u8E$OoWEqukG(_-n7sMB?Y0T6mGm_1B1&cns^wcueqjFCu13y88xCWm1fJ@I#zOT($3==7QG;bB@05G7>eVN^LsVoUlC&O+}%r&?Gm0 zu+o6T^u3|lRgh&&OJQ}SQdMb4kq?1mcDN)2uj7mT`ZMa7_UjI3Ga?3ljalxLoI}4z zui+@X$Y}3I;H5#Omc^uGj%i?Vs2Eg960_={#c=#4+wS?kjp#LrR`ZHBw$>?l-R!i2 z8s{xp=yOlNqE-%qX7ws_bVxOmdjn~7#E})On@ZJjs16ZTqh>sEr__7uJWx*(>~oAq zj9wdxBase}Wi=p6<4A?%94(Er2iXEo!38p&5h&6$R-ZZ7DbaX))!@PyA@zNwqN|_t zv|d6+G}Fi66j>e#g?ybPJ3pKUnk)4~gs4D=j$lqVkX*0{OW(6H=n3*g3dUUc>)>ge zM=5oKBe+wu!yj@_CZW!jlz(Q7Hz4#Rg4e&Xzm?@U|<@&#EL>Nv4Dv4(8-=r)Q~~d>KzOub1$s}JrIfHoQL-lP;nHpq?;~w z7^Im)O;=GxAV@8+(GW*!&Y=!9C)b)sFXr`BmPX5T5GMLiYiS= zXzoZsF(6pXal0TTd-N@9RkDjJ_=u%0Rf4&57dYiXoY6F-ZcT`VHtQ=*lBMw7I*65$ zppwi;y)LW@GJ#OIbdSK<)4C$IF$b1V8vA}ne9ic@^1)U4Sir#Gb>Fz&&Q{U{#}>@5 zo3lloUoHiCGQmvFiO>Wj`B5m`bYBEK9uKoA){;8lRWY<^5p}eWV{MA$`s0@FO0qiN z({*VgtUG5{+(9=1=^g8dI2L5jku-R6m1@~)6q`5(;%R#79jSMxnj9mbWQ{sX%{`(= zE<(*m8Lm^YDfP7+v$E0NTOHHNbag<512WTYS) z4q{aul_V@MD0w`BNL6Nx1S}(Jt-^={*k2J#sc3&jL#a7sB;AzyU1ksEIb28+y}k^= zQ2IkUXREP`i!n`3svwfMEK>@#G*<5=7hTk}*J}9WOd_QQ^UOizuqs-z^V2eV-m2Wg zvLvna^Pr#_$#kWFpQ)=(Q*s_eCPjr;6o~#zNKK zLW8=KF=oI-fOgo$9Zz=pRBIL(YE@>qPpXK&WqPqntc&w0)D})NCUKgpvM@4Wo*0Fj zU1DBj%|Qa0!iY2=$#e&vSy`cztInX*>$$K?exA*V^iHoyuoTE6mX+;8!$JkW^7wqo zAYLh7R3+OE@Q@J~FC<2C#F2`rM&e3cFi0J1#2>^MLycG>Xc+2wkx?r`Mm3Wsq;wOHyE`6h#V46jP>W5 zk^_XJ#tJ=rpbY?M^&XQfAsAlvs$e(jg-j~6sZgxjj(t7b)SBP8*C6eB5Yp?lKs;sr+-qZ0@rM*6NNG>zc`IT6$aDkWRV zBiU?kJZ+GIw(8;Tt1Ok|(5kDBNOq~vh)&5RT4zHpL})u-|`>=865WrgsTB#hAYA#}19{Vx8g=>6<~gF zdPN&Es3cZrrsOnKHx?a@REZTy9#Tn?JHg7eo5n#x;ig?Y)2C5OrXt$gzN#nP-dUwV zDwvlj?>Y39g^=kxL#joRXK)3)vg|OW1R)}QPnLk@Tp$ed(O%zc&LbhN(qj>-aK@4q z4VDSyau}-+CRIwa7=K^eag)=Vd1Oa|c-o#vqNCcAP*rQe9lX>sQZ#tGgQwb29H>^J z+l3TGTN+h9q0rC9?UxcUNs%^XM4L)68fF{GxigFa@7^orV_zukT!lO;CZp8?++_pz zMAV>xlsem_LOt~PQ2V5Pd7%>mL4+**AT~*H0LdJMNBs*m5_Cubb?nIs?^X`AI>1xX zD5jpci$aF>3u39a1<+F2s>hmMO**l=M`^ zWw@^B%0-{=bYAu-6GvL`!*c=zO`hWS*?~wGcT^QxaOKy4c$bo@^gNhfP7bDqkt)sD zgIX3!VgH5PmFU@3AhfKjfsDPgETuLcT4jx=&(+4NGBZDVbalkFO(ErnbQb zH1(t+WGe8Ll#Q(bTgi9E{pMQhD_ie47%w0x$Yf+@^q)F^M`I5=P$KJDe+cQJLqZXq4s~yxwKg_ z(pZn0`D)u|J~T|B_EftZOuUUV7a*5Gu7NQ)vmiCy)6O_ zSJ9O=&{8T?y>_U>6+)?D8O94psp&&@@LlVE4>LjfVHSj9;+VtVDc%o7`6~GIb z+45@TvIR=o&ebhs1@3@a(7#yR6 z!Mbq`nhlG_*#{w%5@RgorbG}|ZYf27Jw80@&13F_g0FbcL7`X%L=>f75$}{U6+=~n zm4K2Zy9UP4^ITK@f)AuhX%31an8fDBvp@`hAZXDGI=d6uG7!XqkC^b zmTWx{I#Rclw7-a!n&<({nXSGwZ{^zbB;Le=JEqcI2*D)3j?K{bR$^L;>cXv|#!n&C z76A?7!!2?V%*3IAeS|RQ@nn<|-Rp#$f^ud;h{K4S;w5z;_$7}U4hBG@;+9cH%^==~ zTR}0%z0*|4A!;m_zf++jJd;pM*>c}kP^Cne^7t|y=~FgjtX)eff` z`PC$;+0)HjwF%-tPcaUsdXgJ?!T5^0yMT;U;9>gnJn9X=+k`Fa*NWcf((G`t!b|d~ zi6|fL%P$UC#5rtgjbACs(uCnijCU=2jVPm$QGG#JtSgR-9BIjdicGrnvscZxm0#7l z7`Z(#IP&+W=M)-DM(K0W^%siPYS!MJ@OWih6_{L0E+ge$=}OG5jO&vLXnJ?11P^Gr z*68BwKuV*zJ>F^>+;LVX>n+XMTc-y@?*HE4vs|)Ue}0KNXc*eyQfAK%i~Km}N}FFi z+Nw+tiX!R&mJCxcIAj~%JMAz~ERIn|wU~~$H#hj?X;->P?&@GvsGT;sc3~MXG#Q8674j$w1+i z=vl-wX6h_~>V$76XSFls~0*&}(e%S1|K~P8 zPA3FXhSX=nBFaHwG+)nYKM_HK4c3r$MC-bcTaq~dkx+wF{r@Qqa|d%8GJ)hNe`n9$ zmthsj)p-7LjZP{fHEwYRq060TerwYpWuwZ9UZ}RxS8l#^^met&Q*x?WjSQo5T8I$P zf>_rw=c2)TqDbl15o+sR*3tnL{DI8V#u%73fwrB{G$zp;Ms(SOCN)~AApKfiq6~mc zi6p|hORT!YV%^boxopS4$9pZG-IJ*UeYkY6q*Rt9m;fl#dDq>bGcUd;tvait8WXjo zuD8RTObMkiS_JWS#YUA$6KETyjn;)%vj9hWQ-WpRv0is97Cn8R=*ut(>B%8n1mwAN z(=(3PMxqLnNuX__F*=@}rz~`R&w7bmul*gS1n2BFdNE&#)wEJ`ZG@(r46BWt(7dQTlcKG%)w$o*Qct7uTYu@O%y^1 zOk+#a1Y#2o58!l%EM5{E)`|?Bf8&-@f@j2iXY6LmESDY2u4BFO2JIMWRcYHu6D%`r z)Yz#aF3Jg(>lFtJSapfK%EPdh(mGoi<=}xTle?~t6(cJusWPilrx!({Xc!Izg9omC z-9AsQ)|lBF1uBf_vCtz(2!ZKj!jY{BN9Hp&<}GnFJFQ}11SOk2?7P-`g_MJCP!sL^N=w5rWg*VWn^ zPoGPzhAK@^rcL0;X3Nfe%6t}S)C?%Ox+>>Pml6kyHD~u0oY`Hnw^))p^{7`wBRZ5U z*`iR<>jYE9jmUV?_ED040vjSurZ%-e0#>` zyrpe|(}&RYiFMa=;lhG57Z&UZBbUim`) zboYa>>bPWf8Bgi2W_Ry^3kMzN_ZI9gR;<=GVYNtYWkeH+V;{kThD|aGgKEr&Vzh0; zeA2KrZ`t0MvN3H4T7W~LOC8H)&-uLr9zPFzdrMX$j46*$%srxt>&au=(6)j3#)Nx!9^lRkx3h8ON~_n<&uf&r7*ZV_ z-6hk9%>J*visJwLO^$ypqZ`dgzc>sIT3ivdw!Aj+ROQ(Z~RBx^6Z!J?tl3+ zJn)Pur`~;%ul&h>&OIOeFmHbIe_@*=yzEKeLenVWys*2MS>@g*N;%+IB$|?46q1I? zs1+gY5Ea_kGM`0`Z*Oq?*cNAQ=y==jy^%{_^ySFPN{lSR>G%B=uYAIHu~;XTt3>ZT z;X$AYwok{lXY6cESv|So4?p(%#HU_Kqit>9O?}VlcmE|vZoY-t%~z8b%R~D@045X8 zyz|dE{w23^>b}pibMpbzH*+j3|*s%y_y57q@%$HmAD3Nvl*#!8XZKbtmL2Q9sO9oN>yonvrTl&dnkLevo)8<4{){}TNi(x6>!J#iwqZ62+;`_~eETo|KU|U9VKkRR zL3@(;r9b-saXYcKY*=@RK4n<s~(f!9V7^-unM>teMdEuqQnd0%yVn0Ir$taMKIFju*f9 z>$vCSN#6WVUdyYV`{Pw?v%9xs)pY}NQnY3+kg`c0$>AR*WFZlmG=ce~;mG!kV>>fW z-?-rM{fC)fdV*Je=XbN?(x-FM^J{n9WqT3>F(~WK()6~8Y|LABHfJ0?Hs|!yB9G_C zkqF=L{jcTneoAmK_*}Q(Eob-8wer$ee>+!5%OEYX{XCsly!ChA%kigP%fp|$jhDaf z2RNQ=FLLTRrEA{t>L2DGKINO(n6+pVm~6H@_>|1q^e~U!c@Iy0?Q3}Pi(bmSX~|^H z(D7e?=%4ev%U{Z=$Ip^dZ#sv>XgY7MLaU+;5f%F0${wln8w^%7ps*o#2AoE5dckUw z@i^yHsUlTxEtFj6QI`RqYMM2cXw&2eBTel4s1?D61 zwpn$VjupA{w6D(5^fpZ|876IHHfw2)MnVf=I%P{*j)!TbADfLipZVw?anrNEiD}z% zuuiN~Pl$?&GMTh&ZMK9Xf&0Q^pvn~GNHZq_5oNNu$*KMOxMt(Ytowwt!aXO>aQlZp zz>mD?*Emi?<2-qnmPoKDMr@c%=;|oy#_O;Kq)Ri=ej-e z9S^g)Wp&HR03Ky4NOY4eO~e2eigdq8g0tZ(<&@6a7%+lc#Y9U z@&psS*niicYUuj#bFL`zX_Yp3P-;_441tD7i!vGgX;B*gyZm$c6A>c8wZjGg?SK9u z?!4pueCnhBolAE%IeKJ+&5aq8X-jC-HQkY*5e*SlB?Kh|@3&VQ@|#KCq~SnC8CY1e z8LMsc81QhOUezb7`n$)bAx;`r8;N+?aVCWNZd3o~DN562F2DJy-1E`*^Wfrcwr3MI zXARRP5Y-}g@ukFIPDE|qzKBJs^}ORiJ0t`e0uiA>2n4j9aO$4hki29%3A8cNgg|H- za};gEq-i;O$(kfwq}&@8>_leBQ8iWJbQC<^At^6F>0tKgS6s%m}o; zHw}u!)+CxS(hz76CMd_^gv-;6Z+YW?;SWChKiJ-C*__X5+lCl|l|y34zlJ~%MMFc3 z_9tjyqAgqVmLr=}jve3N;Ib8uH0K@7H`{D|4T3+9#>RkP5gHX{?j$bR+2qL8TikQw zK709KXq^xx5JvVUwAeF=+pO7VU_$Wk)9MuBrAN8umM`Xy-ufG?yF_#qz`Rpl@Xx-N zKfdoh+;!P5_gr$Ge!YTLkfh|DEq20$sekvn>-ot0-_MO#K7;+mn#E$pdfk(9?=9ke z1&@uuk}-)){q%Pzs1#H>in!xU%~&5s9GaQ z@J$LK5Y-+gh!WkP+CvAq{IeNa9Q|DkDFUtcXqV`=fA{@7diq{I_<=WaWF9%TJz;Cs z(gr0~VL`SjoGvp}Q8bHBz_D3k_M9ytDj_uXM;l)--)zPmTHaG!MGD;&s* z%_}ZvlFjf^RY)7yGm*fJU-Wd+By#uP{sjjI53)6Dm`_@oXloXH&D52I>TB7?NDP4# zGN(9=gh23)z<}DAI)(NAKIhJ!q-`47wz1C?A;iG6jZCMJQ_WdYvcBtp5PdHqLYPe0 zJ^c{#NlV%h{$}whuK$*obE&j!xS^|mXZAstHl!q={@%eI&yjY*O_yKI*-HY`cEWTT zX`03+2=(O>Cj$~w5lgu+D@0{7vvhlVd&c7G6%WkLlNSqDf?0d9o4RF?KyG3kTi!H* z?fHab+jDlV+~Bj;)zdAP5QT1U$=>PHT=RnGv6ake29%}3C*J-JzUYcC zrBA}zm8PoE`u#Qf8T46>>MhQq)-2?ivWc{$4xK1ts8kiyH4h<}Mpq@8!IfF>GBjBf z)trWaW_$poq0ep8n30Y~ElV(GkVH6_*PQD+cKeRA{hIUrnsfb{-M-_z|M$Cn$3fq- z+js2s9s9jCO%$-N2xSf)c$mG%9^!9re><~g#j))Uj;ysnuz&zx7t8 zei-avnDc5;W+8I(6Q9Crs-*K5`1I}XWxg?CKA$paCpMDFd#$bZDt|1@hZum4MP8A$ zIh6f05|G9Kr8AG+%XHGxgixQYjY87~!e$(}WH-xlI5oRAez|5f74B$H@%h_6&Nsg7 zo7fH$KL~cH_UQTSLl3dLy9=sZIP)mGspFta{xc8}wmRi&zVEes=&nCRrDqb%L>TT3e7+ zlVq2SRI)k#*jP|f4Hj7aUOwjovwBebY8m z!J18iWV&^Sq)cCi_e&X{$hJ;n5tO`>#}K>p0{+#sn*7qB!V`LU)f`%r`=m|{$PdB)48@d`4GU$h4!vH(@`_TK;^qorCc_c zEf-^$Ii93U0D&e3b8sQ^;MoUw@l#&F+>J(tVaEu<9AQHn*4LaM-SsG^(_Mrnu|10{ zyM{hzr0aYpWUfGO2pGWBC@VD~khamIPZ`XwZk(A1@A*4!y5;4@wXb@hCxnKki7YlD zr--}Y^M-y43FTXrsI;uCo{W6PIZ{}ldeeTrMB6BcV_(Iq+>%PM*onIsp(1QX@V zXDvJ1b9Rnw@bT$qP^QED_j2c6(^Mxa2ork3bV6LWY|gCK-kdjl@=0fX$Yt-N3(DL= z(;383+D>tLO(bjL?eF~Wq~+2ZYD_hjyEU<$(Jxk{^_n77wp$MlL{ z4P#xb0Yao(C7!#1cA(|X65R`EkRSkXl zs+6IxIlD?s397U)^3eUC@f zz;xUbuelXi5s0xRcWXZ1J`M?H*I&byMkZd9_6U1v!TtZ~*V%b&kI9u+aQ<&Tfuh{> zgs1SPU;dB$o7ev=n;!XlGTYL!zI@K4ozg}NB)T@Oc9{og3l@nYOq;;=#*CeL%YD~A zf~<|kJT&hzG)Uumg_^$Goo_RV#9&eF)7PH^wH9ppTyMFl{LTpLXoukp#Em)Ycf5zi z*$ap611!|=YSrNC&;FugcW=d4JomfUxaGRZ**U&xv`noZx-ezeMhwkhyw1JPj z`B!MR10kH}*k;R-%^5RKUqgt9L`!cp5MuNiU5Jg*U@>~yBUZvRvnd*)rTxL0T%v=J z>Htygfu;#& ztS&jtDccoeK871nde&y>ZDgti$h2szOQG?Rz zfRQwwj)rDplWV1Cva`d~BVOw%`GwVr`NL;P>yC{tehRAxPcgaj1iCdP-187?dej@3 z8-xu}W>3EbSX*WiY`}=c33KF#(O^v**_bzMZBNKoH9U6k_@NF(@ysua0e~eE2Vjb# z?S%QXWph5|f$NtnbWQJf7L@D6GI2CvT$li}5gB2JU$H zes0)!0v8thEZ3c7a?$H^@%s_fL{lL|`}ZagW30esa3ERA#9_7G1ube&XQOP@Ll{~} z{Z>_p4!DU{>1Xyq{8pM9$W;algs5I8MLIHjtHhZL3%Wk=>}S4$tuMK0;Lyuu4}E6$ z=BxRaKlyL?nb*CZ|MPXP=VyNSr}&pY{FBUXcrx)bC)s$?bv}pNWQ|oaD4FHyGe{fx z!0-J!cYN~QY-~q%Hk6&Mmf56npi7WO>$_+$*{qGXRzo*kAFMgUdd;M5Y@lGBMVCf5 ztXVA`6k-$UrX7>(u42=X=YX)65^s6?Z}687-bL?&6Wd<6=E+ZWfYa9MGq=B+?fI1L zjVaUF)PT1p(zY#4+t9QoJ8fd1?^o8z7p$smJeoyplMDZT@7*7vjhR{7Fl}2VZ6r02SfO@zy*4hI`OUXQVWd3DJRJsjNY0Cx-`pIX0BmYcBcjSK2|` znv>4%q8ppYV#W56qkQDg-a}G5=*B)YeCu;w#L1KQ(N0>lMk_uUCSu?^&#b^LuM9z2r$;w*3V1GnD@ViZ z&~i+Np$dj`Bt8cP8I0#RB;*EU%$OdU;ilu{7r#Si0-*V*m%`8?* z%7L7NQA9D&24OyJm`xh`yz;iihKY0ErLj|*;TD(uy+dJvmt)e^a5j>?J^g*j#k|5~Sst?H4?g zcyx=nvq^XE9C2%l{_$PH)|B<>$7xSJ%;VjPoz^~AfFs&6dEs;E7YF2n1wuA00ua9Ea-HasbvV{hWj?*NOmzu9&o77IS9*of_1bDT&5}%0(&s_t>RS0I61=@U z)EVfM3mJUmZMmGjOmj69P=@Pz)ti~I(;H_ z=Qw)w80vcb(_0Jr)e7bVJymEax8Ol zeG+MA-tR5L+`BS2FBt{aczKZRIt3=PO+K>q5OjgGK0qgJy&ox1X*k*DZxT~iyr!}f} zKV2DfRqkJ}vk=O^>wtTy*vN44vENY~ny)uCY8iW5xM#apJ8L=oI?P{}!;^}|d&g}i zm(umZVwt$GOz4FbuXxSR@>_5C5jLNGGv`0@cbs~{C4BYqYuR$c6`)I*x4rxKII_QH zwOBK|^+sfC#*)P3DKDTqbB=KOEUP;{KinO??pdANqyNl3wBPtb-gWOg*tzsdn#r8p zW-ia$T&tx7@XkciF!V3LL?VCDeu}?)=r*P&E=3-CoUgg!`CPI*#`(Q~%7TNn(0AEt ze4iZi!2TnA>xr+o1Ltwz(+@uYInk|F^vOnFwJ4he`WvnxedKP!)&~8#3!Fds0Lz0% z*_j<9PbV}Y+_rHqe}32d*}DE(_V2u(FTLVvB<;y5Ak%`nmjO@;t&hISiL>um+{rlg~`tlje`yOMX6Rx}YX$IZ~r6JQat z^Lt*6{^4J;yz}#H-1r2-_9nX@y`A+Vj|~GPiafkG!`$B7VS8i3eA-wGY#wIT*Q=5? zGq-I&LOS20p(p$8B{I4vEw9&RxNTd3G|Orf-I$RjKy?e-h{J`YhL+ zxRzsAU+obt)Y%0kqQ^SxMbT#BJr9|*T(I+^FJp4^lL<$*>2}ZCboq z=Y9i?josrsJ^$f_U%^+t;-B)at&?2&#m}%sLuqC+9{agp;gw(Y1N_p--{y5c_^HB!rky~lo4R#l67OS4%DfM(7dGMi!xW3t7(}*k9D36>!%lgz~ zJpCL9omYOb?oV@>&-2Ak!WYSLg`3K*|^S<_5dBdw-NrSK= z^GA>0&)a_S|Kd3}-ipMQ;3_S@!=%nBM>3B;azCHiILF=TZ}^2Ddp$EhQ+KT{@Na+h z-}2OO1Y8Z*I7!!#2^#BV3^b9;k00ml_kEHdx&E0<9ShhY^B@1gYxvHG9^l$D=gp8N zk>&jlk=Ej7fKKKcC|FN*>doKIf0~{QE z3XA2Mb?UGY1C|x{eRAPc@{-Z;#6D3+TiJ9OA0(2+W=aIVwmfCB8r`N&OGfIPIEDjS z6gIqMMHmR+P-CBEgK{VczJ+nf27Fa9ca zJcR;Slljk|`4C$VoFzAbw7(#ne2fo0_&HvF-YRCUM2sUn;*Qu z;^b*o51t<8tf$d%l0Ko+DeKFp-1fkSnawx&*SCB%JH94MGC$EwIQfZF+?UT<+I{*o z)9H*K|DqRi)HAMqGXJV=>2JHk3XQg9;)0>UU%emPwv(<8*}>I zJ#;dq+dn{OEpayG=)nPR{m`HA;un7ht?&8{iGTjgm-6~IzL~3zUCJBp`Y^i}&hYH5 zXR_)_Nom=0a)n*Yr7czoVYq-%{LCfEHZVoTcQCl44z37Lq3hT6h9nhHqn&(cf(CK4 zI$EQEDB2h`6=OtWAVkw&mqvo%XmN}tVQ4~A6*}V1VX^4g?|S;Rl9rkDyl1kZLhI8^ zIug67<1=r26SBYbfsKLvdmrHbd+uPBdhcP*+;qit#3Nhm-T8T%OODW9cFa<(D~|H? ztxJj69dSb9LwEiy()Fy*oktVQRM=4aTgjwuO|!etgiOQeR!S0c62I`W@8z#Q{%-!_ z({E>IBXWFu#?kE!HZ~@7)1JvyS1~1_Bw8|SdR8C*BpQ@Sn9`AK;)ws>^;cYHpjWc= zF|Rsu7C!dbzu-d;e~MRM`edeza$6D;GHnLVF373#6|(^o9lcHe1j5E9XP$h5fBmW- zVnQO8dF*6bpB)puOL%R!oRLVZNIu0z=~hef;()wXt~kBRd(NK#bU=&0WY@nZ`MPW= z{I~D^X-ZBi8UO$w07*naRBk)ovOal=)U9i0T9)xVQQ^eXpTS4Yf0};1gyot@X0F0q zAvy+d``No#op}g3vqzURLQg|x=07(f+pVDGinH9Y_V>4DPHV~SR|_Kc^L`&JnZ%6D zHy?ij4{R&V&bCvSoxfA6YnkZjQ_rRU@Fm3OKZDigoV~q$_PZ4a3j1Bp{$fdg?gBcW z(d{1)Hm0O=`)DKRY|4c{c^{9ZH473Q9gsMNu=t8EVdMA_?)t!=@z5Xs2}ifDVBKX> z@1wzr3N8#RSCO!);{_TNf{lh&XUal|gc$5R#)i-|*0vGs-!+<`Dwd(~xffy^q1-D_ zuANcg(0xokv9m}IG(@Y-o%%r{+L)X$lj_ysZ5wDqLzpOcwDG zgmbCq!bd(%bM`##6_?Vjmvr>3yrD}Tln)u z;wzv3-85Y!ws1bIIJ$k5wPuzMBwirV{q-l9>})YVSn;{l9!I8IO#EOy?bua(dS`=v zxgbnh*2@(l${owQdDcIAIngg8P5%8onLQE*sVA)ysavxmv##Y%CM{QJ6WRXq=W)+Y zy@d8-*^i?#w0}4K(FwyrbtM}F`@?wdkj%@;O_|HGf^M3N@X*3cY)d*y^ zRCwcSe}?b<_dmvoKVMndSEght*`}ea{n^DcxV&0&u=gmj-=aI% zH|_S)ey+H>jznIqjb2iauD56QtfuqN>9I*fyR)8+8mVm^8--_o?Kg1YuRlSvHHDN} zlUOqh9$k^?_AhYo*eS^9ayBEU;oQ@vUC4w)(<~Mn6>ohE)cgj=+9n2 zW|6Blwt4%5pXPtN`X)9@N1JB8>MLK$r+)I^aOBEkT)y66f8&5v*Eo`Xl2b<80 z+PXVZc8PgRqamxKYneq+zYE?vA+-wJYy^W?lr{xsUr}`Xfk0?lq6xklT-;=zXr(vYsYtloODCb3J$>fP^$*wF7Ckk)HDa*eVj zHij7ZyZv+g|75*qw54fX=KZ_F6LvVca&=XASLaA48lediB-jK&f|3LkobgqB9cOSH zbr3-p>SFXAXX(sBMr0|9E&&ChmDqHmq3P;Sp(}Rfs#B*<-02B-ct70te$MHc4|~;z zvulTEKX>~7uj_X`)L-BNVKy!?)P&gPJy%{!JsdE9WIxY5^KBAQpe39iUEqf8S2XWe z;5bzbNtOo4$rj?|JO`K0QDWkI!8M&JN)^Ero)O3E$1&)*n@g ztLp$bs4Hw;;cCyd%QYYR`#)s~LxrQpV(}!vl$8AGul)fR-}a)o)r>Gp6FmNNuezHg z?}n902Q8n8?;Ca_9$Qw}VTD=i2kdpkD{cII6&_R9K{(|d)|&8tan$iSt}^(_FkdY3 z?d5sSx|+548;u+zsjQ$f!Jeze z;w}}n22zK*%Q$C_z_3#hKQ7gJTU+>zQB&)H3O7!0i3H*R^-!UmppvlMj|CXxNLy!2 zMA?OK1=YB-!g=0$8qzvoqa=BIy}U;N8IWQlMi#cBk1@3|f^kyBk*E1o;BbXO<~gf_OWbkI_3^rf zzb|3J ziASATq4@pZ`fn_}>8^O%2>sjE6}xEd-Vu^Q#{FySoA)*GIN(hMWgyQg5y-*L8Z6@# zH@u%KN0C%3pe(7e&2L%baCOD#i35D|E$`)vKm9H~@T>3TbX_ot|6kzQl4XpfMe6K1 zlgapXN-VA_@OGR-6CNr)qz7M?$W%2QAJ;EHYwXGZ)ooL+^+_K;#04{A7+=@pXe&wj z%6qu?b-x0nRF%P)=;08dMkZsrDUD7wNs@+%L20zgNTQ!O&9dN}iWX5V zJt|e?nWB?vzI^aLe&Ozyk;iR~0|r?B$HQM^dVUDFFnF^JKNujAg#M#X@$}O_q!0lS zq=427?#9*@l_ofAkx51}GmDOG!pd46KDG~y!mO;Jrl(>-cs)DJ69fqQkppBqw&0#R zPJZA7&-7Q~svgdfySg*f)_`}|QN_Odzs$ZLOpoz+Qj+}XxB+Fq`kW5T) z@xqyKbH>RrL6Y8mE55dfEX4~+`}(U8t+cUTf}p_hClCG$TfTV!u{I(b)}RF+#AU;ccs0aFzOQXx+~OfBQ% z34tD4lp(BO{JPG?b$DEK4E_5bBlj?I^Nrke`PKaKH~x`9e80#O zLhjg#Y9%o^ga7M6R7%>oUy5`)9ALb|dlS@wm4Q^_O${dO{OoEEJv+%|-5EZ8|5q5r z?+^-op0~gDZ9I7KkpNW{sv#ID6}|aNp_5PtlTtM*zQ$=O!{8sIv32}EQfj1#?n^0R zW?iU}X&t%Hs$vq!Lv5R{$#?TW8q+J zw8)~Y7{|>eNKV=T$N%Cl*)$v>rN)^${9G;V|kLwR`wF$z9 z9a~6GE%2|8{2NoRxR-A9`u1f-RTQYwKv80{lE?Ob6?V-r&j1;0GAyZ@GY>sT+8>5p zMClnFI>b?W%thzN$lAqm`0OO&|s(XZ;WxZ_FhsE`IM3va*We6M^hxlou{> z!uRMCq?!wql=BO8+g%2iE;4Le&M+iFF|dZOKlUw>m0_Te2tl%KJ7#r(6RsD6FM*yl zES@+T#78&! zJ}^(ZV-r+ia&sYSlzL^AlYU4QdpN7IW^nQtnT%0hGMq2#}y6RkHh39 zq!Lt%OPuk2%6JVfQBs|oM>@yUEAJuQy@hnk4$eOL1V>+UFPmj}-bIRlRMIK7-{)CY z@wA#&<*KY19y^X-UE`!(1KC-JM*=I9^p6~+)h{4VaVu-+$tmpG8mgNHSKeA5Jw3^x z&;AYjUj9n9>lQNNBRX?!o;vv$ci#RY5>>Cq9FGzELN=UtFV=$?#!5XInTKBdAIV>l znmi6M8Ap4Cv}Q97`3wUc@52h6B+>s2QcKjhN3K-pn=6UXNf6X%5&Z&TTcMPSn&w!E z*Fme@$};knf5k4QDPu90aHz1Mw` zIf|B*Y`yVDWSSzpN449yx~0&RZLvqiB&J+U;PA z)!{eG3D>d}Uq`iCpd`*q)|_R{tuqs9A<$Ek$ZiX_vWA-IV%JtslO618iOe$O%p`-w zB{olQ=E%ttXd~#Nm_)O~x7m8{t10Qz%Ci6-NwUa;kn2%mkxw8alR&BfpAg8X@C)Rn zvFWTK*p98`(Fi4^h>ix(LWvlb?wbJ~!c$_X-I$~tH@i|Qtg|r$z&C-6A_lz)0)yLo zhf+Zko~N2_mh#9`5AgAS_b#Sn8c8f3qXggh@|Tz$)!0FaNE7O!BI$(oh0IcLg4xat zdygLA@@wy4LMiUreGT8#o>oXkLhqK{q6gX~&{NhYj3=Xhg%vu9HJ&BkW(F0r;QhoZRib4t*{nU7Phsz z(?ujn42o1+kELi_gXNIFy0qX8mO z$b38@glpA8p(ndR+^=MV{u=L0G88gv(akeH_wkPhnoE;48m`6K@+GFX?LoHNxLyyD z<+#-Waw_y|WR~%4e}Nm@TlvnHzQD_V?dFD3Faf;dt?%aVfAzO{AFZbmd{<;V>`~rEO{?%6VfqO{xw}P7muk*p@qx?{79+>tnZq9?Vw{RuSoKAoj&R%-WYss zB0@Xh1;@YjHlz8@AO8uL{oWt&f=xS^R(c$g#3reE-#xG9S0B2cEtSD%LBSQY*a?}C zjsH7GAhNtUFH03e5>t&9>vqnR;CLHj$7Pz32pS2jLZH%=WMUJx7$S7!DyXD!=dBBa zqB~9ND7q0Fq_hH==M4VhOA)>}K8eP=W>m804KK&`R*_kTNa9p8*(RNt#tFyK{Rf!3 z=PtzI3sg@XWK71GDd)n*%8BUh<3#sdnK4~mc3F@*&cRElT+^Ar1 zX#wHF4?7_>+4FA?D_xS1UVBZ0a1sKZIDU{s=z#GNpz?&Y+omH_V@u4@p}-aSazaVm zphUO3v_u%3If51nk^~<^_ndVMrQz1g_K+#r6wuDBu8~)f9-AgmmP|}evCtpH{&TP} zPH2t0`ZD~e1Y@GlJ=uV43KCV31`&ctf>uFJPayRA%{%sedzCaXMoDAeB#>j$Ec|~d z$@c7wAqpDJ`gKU9K&7oP?45e2+ELxk5@u_lwWS!p$bTnJ>|YPj$sO`DxT_#GuO zOL49W2|L8x^fYbktXWhO$~0{<_L3-p9Z#GY5}jpuYlD!*VxSHsaZ{3WL5}mdf&Q0+P@BH_iJpL@Zw(sWaho8hc(R|KnoA9!?zlQ^hPms1W zX_holj1W*7;g8WpxiKMBM3$hBpp+0|5fEBqlbH;M@sLCm9ilO8EHcT2jBU1{jtkl2 zu|p?9nu`>H0q5f^Cwz?i5pq2nOi8jlB}qcxyp<CGbwY3MvBzWf#J z+5nw}YH*VZg8=6+Wr<7@?5L#Pdw@FrU~M#0SM9-BgL9U2_f95d5`HYHxOm|_cCAk~ zH-qVq(48(?w*nzFZrNH91la_U3K3RwozRjho^!(%PmF67-XWEupDC{H%+MvQ=n0Y& zE0>TK#M@qj{*`x9y!d98#fV9r#n%cyb{9?hqC3K%^59K{$dWivWOD-tj8?Fw3L#0h zZ9?R&X4@K`t5Inh3VT{N^jS@SOXzl}x{6i{J=F~>m6pvwNs%N{k)(M@LUJ*!wXBYDDY*OP9YMNW5d#RxGqiJtDDXD9L2V69`Yw#w~4@kX}loZ_zQ=<19| zzwtF{DVhmxLTO%q{ayU9x1VmFlP4Kjl9I>}nH9W(!PugNLh6Jx(d&q^*v(Qh1dAxG zP%;S>F@N~-m|yZ}~-;fk^WX+&_W2p2ds@o5hCQm)6`j`ci22CE_wBevrJMI5F&_ zkxZg^;jMR*?3hEPIdeO9(TO*ia8Q2lu@G4_DoLih)GKQd!z4G5W+Mc`uP2pyW64^f z+L~@aH;WiBh*V@#lZc&Lm?oh!Mmi%ows3)@(;@kh+xYmeeuO{zrH}BZANnY_x2NgG z0$`3}MyBM~Tpie8)*`G&W?6GnX0cEu64j*53YCNbpKKiDVNi=SjX;L9IeWJvxiv|1 zyp*JyXPYKc@U*Mvd_SFKcn`L!@pZkPW$xC&isLv&Z({_PR$RYO^UHty8w_J}a13ym zMDu}Hzm0SI4q%6)up%Yl`>(&RL}nQzay^Va5FR(I*x|Y4+4`|7RT~T`5y7k@*wJ~s zN)FI}qb#J(e?k#&zGn0tQp(dwECpw637fdk7 zNb5Lp_B8Li`DJWE^YWi~H>;=5kRLeCYGn{j;Zm|$rKp#^fGkadh%8koEh4>0HekrG z(+oREH74_ntpvsd!=kkT{328whhb4rGUD2!_)Q8Wkbca8i^SESpCe5*X`)H;(4bG# zgtQe{<|+x>jxJxfb8kxBvW0S zG2lGORF||BD%)9HDca}|6+2GZj0r2cl|Sc(9P_@%?gu9otv#31mTH5qTe8+$L8Tel z>@-_t!Va0RT_#M$%CFu~#lPzMTM$`-Ei3BL2%&YfOp4|?BF#5cVgaqud4@)9VB{-A zD*!%)mdz?PzHxQZ3I)>1PII=CQZ=0R@nF(P7Rs&G1czd6n!z5#F0rF+LWqD6644I7 z&2`T#@PW^Mk}~eLLgzqoQ+t};<_UBsZ=e|)2Udzg=1J2k@-h&1Ra}Y3*EJ#Fle~@H zZKWFrUlw0SrD@n9DIF761yX0v8R+48x*_Of8?IH-e4Z?{ry{!`+qQ}B-8UhV45>AG zdXjXei)dwtvcy}Dt7EI|)*G0W3Daoadil*<=z4aw=J?lfc;-QP* zB}qjHUrf^`omHy1YA2D;o~C1TWk_q5fo-p~j#~FH35X~e50gY_XM-5$93%lACj&M% z6fp!^DU69ZUbe=1OKmK571BVR^B5B{(0nAUdJ$UzLXc$%c`M;;c7d0?{b!h#n)MBc zWZ*phvtPiJ6*5h5Hl~Lfi%64@ohAgftk8LeFDpjRp6AHn{YWHjB)eordGj8WGxV*E zRan9IhD+rAnrdkUJ>9|d`Z!|)o~ZGX$wt-QSWd>3PN8A}XG~^~5z^7+m2Td|mR(mg zH;6)pUBs!A$X1K1c3sn~SZNHRPz^&pOfq+Ey9znk4u+JnMCc@X#K-TrK~WZkJzgdt z$Hk>FB1y*ntBv!)808$ddRl`EzG-K}DuD2DgD4x+u}qS%yHEss(EJ_l6=Sc zctVC_!-l_)QBNYCWu=fvokmcJjMr5mbcz$Pm*Y(n4jM`QaY7E~f2mXh$V{5oh!cxS zn+)e{=N4vP^P+GTpPM0_nMBV_1Vv+E5J`flD};0O>XJAA_}k;oO|nTPbl?0Y)NF@m z|MjaBAwiM^O^)Qwe3~cI1twZ8I$076zT+daXjq3K&wkyiikBfmig7e_a8r(x%#k$5 zYv*hPd`PtO7AXRc3hzi_FRcMf*!76sreNS)w9o}0zZhp$3mJ6ni6TohomBHz`@hN` zzWEOUPZ@<0BOHIY?|!CEuY?#hEfLlsvJ6`ks3gIOV3P5*!5NFnQk*f2e((gVuc^qT z#^OnDzn$SX|B}a!K0$BO;!=S?y!%A}H@-mA7IXT`bpg+N8kL zB~{cYJD?_(aM~5;B9LQSC_t6$U#hNQK0ini5Od&|N)sF~nJm z+B5^T3k9~?FpAGpu?^?S0t9rf*vhkK&+%VB`pM9KjHZ$QdH505KK7^UmdP}Qs=`@I z`|8U{me%;2hrh}_uX<+_d|-imZWGlr`%!t0kA8(J{=EcDF+_PEs>5+5c2z-%rEZ?* z!uCIgKGqxrQ;YP1Z3T!k^5gcXZ2$u&hd4Y}UN8&XHTMk3(ZR;lH zUh_f_5{NHpzJ=Q(Rf6j+d+ z*3K=sVZq?^Syo-mimO?C>Ite#tLVu#XhpTWhMu0JDvJ2yjUo#e*RxCFIdRTWgx zh%(lwH-Q#HP)?-WI5CTgdh!y-2!}j&hI;!PJF_kZLxE$6rNmQ3ZMKbWF@?umxdUI; z2U0F3c^$JIY!4)M=s7P%M zgTNM}cXe+@wZ?5JcGti9k20N|Q85&Q*Y->PX!UVmOOdIz=Z@?;dAW#zGho zddS{|fc5dV!Vw8HV<1hm#i>}-(@K&m!F@-*LN;6T(a-;{Ak&Lg)6sCm^n?3Rd4}l^ zqd2BOqzSgHQF(%`LPnUa47!z3_lGDcX$=kcpE}HCSKSQ2b(dewzL`miy^5AYdH?_* z07*naR8O$-lNBC8@s)3pBn)>r)j&iYTiLdU6AG)Go`gJ#x-sMngt% zMGwLg(-dcf^Ypb~OP&Tn3Z4;`rMU{8^$2ers+Gqx zY}h4*i6@vgYAmJAK1%W!pxT!r0+?GGs9;0>SMV5>3~dV})P3yH05Ga-lXVR2Q7lOAgDWfiZ% zy1mqm3Pc{g=G0-uvzDOh7ufL*XV62;ZpJ$sCyR9!T8+n56;m(06P33~r`jPFNoa6& zAUvrUpKZd9(JROK`9*&6o$m$=21SYEqAf^%upfK<4T#A$!>@gVg}1(sROXCXEp4qi zJLhPn8ChZ(X^XL7oo#XsR1#8g$LMPvVUI3~Y`l%#F%81Su7pfNaa{#;noLr(cP?_@ zVjtPq@MQ=tnt%fe7@J7j3R`*?T2Vo|704nwQKU-JNfX+M<{dY@g)e{cPdNC^PX{LV zxK^o3-Ab0942^INPj;#&l-a|b4y>Ij8t8OC2bL-~aJe~^l z{4xvHvNGzEpS~E3_jyXS)(cwlMB{2hX+5d(>-I+PH~7y3#+uq;EI1Wr=K)ch?m;99 z+f5pqD+mVGv;W+26q3%lCI0BvJ5WMLS)!-DYC9kN%xAb`dJ{QGlM$}AZ>1g;n3Vyx zmqcr9I7T=ewU4+KZyTSoD@sbthMU~rt0L4Ee7Kp5xMI}S2hqv6PwGQbjd#KNS&avh z4M!5RLQHjOucSPF{#kbHx-O*h0JB+wfAu}62loYNr+4V7Zn!_@<`AO-H9HGZ1~(am ziEDKYUzWJUVAlE!tYIX>L{wOhuS~GV8jom)utYa1sN=3+{P}D#Lf8Z^!Zv-p3XiR? zzAEE+)1YLEw@?>h<*(vkuCUnEKJ2u3x9;2wk**TT}VTR!x|g30JaL}cQ0{e z9VESV0cpyGOON4KH9~EHO8ZSG?(M zJoeX*aP9Q1BwA9IVKKEX?B-lVs~Zn8MEOJ(Ts*Xo13zrIH?bb;!m(FC=x789Y!Ji< z5qqT(3NK^+lXIa;E3J$4%nvqbKM&!zQWOHq~V`-D0+M{NT(H zE-qdoCBgQVNv9?dO5+A2(#>;tYomvm2wVuFpK(&lIP=VuBkFj58`~v?b%Cza%F&$; zLdxhj7L1hT@ct)Jtqi;WSz2VcwSGg%o!hp9Cr%vU`kUtvIxy}^( zR>=@UHMUqtL9%%hRl61Zi)hSngfEI_kd8TfwkTtMJ)G^YFgrO*hQuhxm0P#7cl$&j zunb0wswI50V%jj^yu*~kpo#-prRU*?zs1Ynd3AGs%@BO#7eCBLijSioKfr9O!|dfd z=$VoWPwizqlJ2y7V$nM zqO_f(*?S8S(p`M`S8CmWKs+GR94%EKzX&awf>bag$bj#O37=ks72QdYUV`#XT8)T! zTqQ#>FOibo+A<&fPrt>K(i`gA8zrdXIT`8W4=oz3f@j%Q{Q3WW2}#zWd*>~f-YTP~ zj>ECj3~h~(Q55dbx)w3Q8PF+)|g$hDy8h zcoitB-Z|=OM2RDfTfULEk!UK(wr)er%!F;B3ZHd|WpMf|dT|w1TiQ2XMgRLxhiYdx z#~nDu;in#Fbn{(|QJ4b9o?W{+i=$jvz)nNY8EP4wN(g@OZ9l^&&Yz=g1sCcO{=NsX zFW4Q=dEvU%SbS{|2wI&k$1a@V+RjW+OCh;s>t%fR{XfOIefx3e&)`m;C7GGQI!h%( z^}WVo>oU-E&t4+GY#WOYJi_u%y`PpG6K6fsC_eTdev7lC9{=n2Kg#YqpU2ThAL9KV z`#rX|J51YfU(|8kS@IRdHy%R%=*tn)9a`N97V8n4q#{)cl;B0zT+dhLQv9U_#L5zO zRNzug;Vo4>Le|(YnRO?@*Rkm60-+{OEUqXSuJt+k>;b0Q6O6p$KmNZTMn|}W1qQyx zoH~ms1Cnd(ch?(=u5MHz^tg3aP;|IrC!;Su#LBTlm;;A!{Sw(uNM{ft^{IIfYFhe40m7ELNTXv?)p6jlSRps#62hL!hIfAwh;eGJGPfdh#W1>m6Z(`-- zDMs4Uik%0GARYP7tZkT8~z{c zEt@GYjNx+Y6b9uh>QKyMOfGIdbs=zLoLCx4$25x*{UKT&#vWd|4v8 zH9`qoW#f*^#fi!U*Iixk>i7H%x9{3RM=IJ@HpS1vTF$Pmkd>CYsPXlB5pFE}s&RNz zB3#g%V}fhb)kQe_YmK)O;SFwBB3c=J44bB=BJ9#Ju!aYo{6146N3?U?ut4S+YI>5L zO7Rc>_&GlG?hi&D3@GDx?K|GhzkKpkvJI$6f%hF$1+wS#u2RHp~lj?BtYztGFF5`-nbmw5k;U~IO`h> z&@lce6+RL_#waKM9DqRG%+kJrC57{>z*RMa1BWU0AEle5{P2;7Sf!@272B`A8a3HL z^!v!CPmpe%fuhEj73rpF>a{^=+eFrwiP#{6i*%1DIEY4HQ9E+V#?TF^0aht_1P^`xc-1` zH{Z+y-~Kv-hDqX^fja3UW7Y$89qS9edAL!DD~2T9NfsV>gcViC>l{{?49T=gNTdiP z(^!nFHjrp+RbWPC5NtTuKD&i~`rVJQs6zLkid30#)!2@z;Fhv=+_HwYQWZN5i^}kC zpZp|KQ`6|po3N`xW;&BR`StrKV(nv$(3nJV)7)03JDtesuN#8S7$@beL&y}RlCaW7 zs$Lb5TA_yGk+oscE4t%W)CR2BH@|ZqTVL`*bRu!yFd|%svZ=aT?5K>ZSqK#Mk)`LA z2ICRF3OhhN%jeFr=f_?}67TgIM_)M}|K~5U{ROuptb=w7ThvG)$T!b&@t^MF5=DeZ zdZZTY-m#5+$G=A>&uFCq)Y>eE!Uw^N4yrdP72Z0mBjgcAAAySkpCFM9tGm)ccMx<^ zaUgp@35iZ3n@X zMdmrJ4o88(M{&-Wi&f8GqW`^pEIs)&eHFkKS6y=*BU4fxIzhTTpj=o+ZJNRtHD)j* z-879^9bl@WnQ+R84#I3q$cRAvs)*;e@mbh6aKl03*uH5C@#|7s%i3s!UKt_MG$^lX zi|Lgl)024PLuG%p&&XHJU|6HZdXL<-6(a&c(^hQTiHFmtZWWH^SF7#yPeO z;Zy(pkC~@p7zgmUCFQG8IQNf=_#WZ2lz0{~eEuK)j_!B&)4JwzgtPeJ2)%iR;X^;< zf*CM~?Z-Oy=}}+^Fb-dhCnDdxt{Dx$M{ez?YA{+hKF8KoFqqXvtjPQ3IU_8WRKl}1j2CQ`rf8)@)^|k8%CR#>ht`=SXl|PrChwzVaRcTe zf+`}A1Y8)XtF~g*R;<{HRa>xTOIB>js;%hRlC}6)wIzLP=-G;%ty!}*BW#G~k)nw? zMo7%^D)#s(R%}6~EW5ARP0>=Ql^#>iyAd}SQZKBaW~PwVW7hg4v(wmO6yLL=XRFY{ ziYXw%(*zLI!y!FeHJ|H}FYw0V1|?3^6vD7*OO|ZKk}G)T=rgFwQ1|-CsR`_GNPTG; zy<;=3D5%y}>FnCc$&2$`GK2UTObG1THitKk{(-~nxcxRh{h$8}=c$;t1xvQ#Y~AOy z8gl>V{tmRnj)wH9Suq96rlOC**A?}sz?UN~yY>dY_M!j8Svg|98n9|AE}4Rh)Eqc^ zn0k2?SJwDijTt>`&}Das)ItVY;T0c%4hr)L=c^SAh)pZI-F&}Xq8#sM0-5JE^? zSx{maV7O=to~6%U|J`45>Z5-`CK9qeJE<3zkP~gnvlrQQ-Hm+q6Mw)$1K|vl#Hy_r zI0Me&>xvK6+}E1d@%}DhafT!of;{yvu$*u7+J%r zty!!G>^r!hj#HR&1kuBx(u`zw3gKYKrtLiZ7oTBGTl%JA&6HR?FMaph`1(^{pwmw1 zbaL`MBg<0KG)HQIj=udgNh0=KL{LmzY!lUJRaT5Xy(_ zcQ(3ERcL+rCKO~myu-FP7VWeS(oyFu2cJE{;mWKR`PfjEdroOC{!MInj+7LN5Df3s zI4>_&{S}GMF!9{1q{3~RqrFnnzU4|f?|CCj|M(5+ON*piw%~hx%&^DW=~I0F_%ltA zq?(;*^3H=@RX~!kdio5H9o~ml;R@)vDZC0yaF;2bIer{(!i{ch&A$8YBh6CW${_Tt z+c~Z*F$>G2+h(!DiuPq&`Tm!_#PUmi1T6zWzBDBwO|jNe9zVmxYhJ+MtB3d>Z+j;< ze&9V!Zkglw1K;PuKi$XVsTJ}YZ)I_DnWv8&Kvba|=Tl9!x<*!%*nS_gHsG?Ut^DOH z-psD|y_Fre-@@Xtlbra{SCNk$Vb={ealSv~_}SAO?+p+_QJadz<45U~bx?byA^<@P z!{*iuy{|mTpMU$iT=T*A@FQ=0eK`6Q1ww%vRa|gGF8YGK_kELtpZY7h2j}VZ3febc z8|C+8Z~4e?M1`Z}$iYK=_rt%#<$JE?!tf%8PM_eJL4iPE zyk&6qEZlGh0!O*H#QqaUpbX$>pJl=TJtM7Rc{iP+I`isxf zJ+a7+|M)>OEB_Gzwu<%?lhA+x0VJRV*^X@tTY~!7Ih0zbmujV8xd+d`9`nq} zhORTds4X3Aw%*jJsV=r(Aln()&aJ3c%EYzTaPpt;!&fFwS}KTioF|{0LbVcR-tjty zdk;|^I?1TFimU1nlF=LCwPx~`8(F(_j_TY}<75ioAwgG;%|G)-?4Y7Jd5Y@jY3iz` z9t?t}pa_Fv(`)Wwu(-t9-h=Bd#K>cxzG4^MTdu>K8e1D&e}q|Bq#g`W2-cRCDH8CL zEqqaN*RTIFKm7Ag2mktFpUetUOMrC>!SdOzOX+Uj zOx;^UXBlOGNYx7x;yiD$>o-4u?sTZmU!**9fyM89pW(R+Q5@@=+b`KP#Z~WlOO%oa zDXmaI6~s&B{3VLh7g;)TjM3ToaGV`yr8!5sb2B?%@j}QuxZx1p&hUw*Iy;XY6jVzq z3{IS*SYB=tj1j>@u;)i!!OLFpGYtElepymgL8#?j3{V_DcSArZ z=W(k&I(Of~%mCUBPS=|)Fo7!VO9r?h$ZmwO_1?c6~1=JEWwQ`>g6>=G6yY1J~4^8aH%P> z1Qi$fq6{LI)8|QMXQ<>!Qk`N}N2nw~2c=TDQAz4Wl$6RQ=S-^L6L)LFpn0|)p*3P{ zKw`$Q!EiGsn`d$RkDyHeON^thy$?6D>g1TED%c>)GH4krn5rc6f_B=*E|(-z6I}S> z*O@v$KuJl6NsD9@AltnI-E9X)T4gBaFHtY8;`;-N^B2)c%1pn)A6>wg2GPpNZ{9=y z!M(VPi=@#PAR^&)+Xvo3?+1J7efu#)QPOZ+g+NbsNVd#jmsioP7S+W?Tv3t;fu8KL z^OxR*aF*iODSF>~lKvCVV9P3!Zkir3>C6<{-g-C z@d%U%=Mf^NhZsvTJ&l@~V15E__~5%qoupFXtYym*j|(e^wXEL%eY$tuN_yK>Ol_KE z<$)jIou&J#7vUa!9J{zgR2hUp-f3g|LzJGNI&qrL&DSw}Vn3!oipfYWfHABk+p`nf z8%DHG6!=tu%A&e$>|ltR?1D6y)jqPFGdMj@_u4C1TV9KP?`VyMkawmP)uB^lH|;@9 zbP)pV;!2bx2Fho(w2a<7MI{$P{MAm8Ma!aSEZ$ zZkuFo2D`k9$WqF4^LS^Gi6)tuV%z)QjBKY29zVqDLwl(&ErWAG0l8tHna)hG?WbQ) zI@!flHcF8sW>_#hbd15_QC2;*A)sd6b7nd2G zxq#~r<8Lt@jlsyXeb4p0;awlb*pxwO7!;n$xMq-qwsp)#Bw*c4Om-166ynCa@W70V zbVu(ZQ$Gl3^myCSq^a5%2jc@!!Z%ItPv2^haOXp5AICmau8+Ht1ysZ!$tcs$E(Ln}L00R7;Z7gifNjA@N+t0m|+wZuG z6itC+RT@^l`3Rd<`iRMiuvP7L89e$Vt=q0A**43jH@%AGfB6n;|8hUmZ+kUs-*^s zrTDUnT4RS@8{qmSswKjEtoEYYFJ8lF(XHn%p)cP~GB-(8n?S>@YGkK{8x)v@OLU%h zHN`W}t`E{U2_Xf3SVEEpX1rLRNQDsisQRmiMRPF*gXe#|TXT;5vTY=rr!Z>+d~LDAf@*#Vv$Prpc3I=g8mSeou4&(L z4WnbHaD!2Jj}7&l>DRr4(UB7j_a9wnCBzo6o|-^p31&D1rKrvZ>9f!YdZNqLcfSGC z>$CcUrx-nPIK&-G5#p5_Ikq5~?6U36uOgqAz}6w`%GZ|O;p5a7E-^T94qsPcrQUGj z6yB3<+swoZo);*+ot*m864m)jm|lHxqs*>FH!q;-!3*SgtXABBU zVGP!VC@rBxsPrR(&txotcEq49g%X5&M=P)fr6ktaKwj5_~ggA^_Dxx(3DtKZNcejE+sIA{Q3Ksc;($BGgEPr5pkkVq&~r1vkdY>#{TTK1s4yU8nj);j_J_FMDrT)9zhXzwBsX6^aMDa~ zh$|}G${M~MfD@t>AqX-ILTfE@VlrNr25}iDMM<@^7XDwBHcqdNXF8cC__7GQk2n*I z9eFa*5GNLAEUw?jny_OtMZkHPx(WmNiXDs&od_>&U7Rjrq_(xp-uu!ZNj08wVFA-0 z1qth@#2HJy(nBN??>u_b40dIJSzH+-j>1k-LhFXBsOK*-+IO_c4Hi-%wMKPX_(X?G zU@Y~8OUOJ$C`mFm!}brp89N-Z_V82m9@rc7^iiE4q8(Ofjq0}8`S#b7&dp*?3D#nI zYpm=&ME{9{^bS1>Q5orNlt{(xaOb9Ln0oOY=($OJsu&(U!RXnu44yg8;OV2-!4Q!~ zo}Z72DS2S{-Se7va?h*Zi_E4eYDeij)&(2x7%?VecDy7MjAgWgdl53#93awlRC{1a z=-^jZAd?_(_g)~asqq5RJPnd+1YSl6qKng4bhf2w#2LsCxGtq6NflD~U}#A+X(~|) zwAR>YNEp=6uN<%c@n7P7|KXFUZijr^7Su#1Y$xMZQ$=RAh=~(YhI}`Yh$2Ohs+1&2 zsH16ON!5JsXFtqLcZzy(896n984NK?E4X1OV%6s_(0}SMt~X%z9j`%T8B2frRa*Dl zhMedGoxSylG{N)-h*nPB>$CFJ?~>nfJ+d88%+5N{0y`?G&WDf!ndwG?C=(sFuVsbI zGwj*`kq3TzIllx#Bib3V-D)Pcz%vg{D3Kve`~TT`vtHY>>pbimW6rtO+Rf>1 z-&IetiV`W(mPkpKWI2jtIZl+su@lD*5Wq-Y62IgR1n^`09}*x&{y<&=AqaxNN#Mkd zBAJpUiXug_SS+$`e^0mfUTe-V@-W7nYn`&e7Prnld+)VpGsZW*#`fuYk~o8gDu8fyoUo8Ok?nBWrPrcTN%?0KrS91A-}n>4LeTI!`={ADOT#6 zT`qV%7$vxR$<=kDg6_dx@Ol6a6UH}}kn02F%>~NKH|E=ac@2)PuUK^m+YR#5XKu1F z8$=FYd=C_X-M7AHEITz%`ic=fyg z1lNE39ZSTS%mdGGP-_iBpYZm7`FFvqfHIEA*CXD1>)UwwkADvrfAGi1y8}2d%Jtr= zCTEC-p~vwzzlP&){469guD|mGT>Oha!sQ=*4_E*4+cgBvG5`P|07*naR45nM_6$U< zdJX1PN0Gt8_|N|9e~7RD^54M4PH?dsaWxj?si3G;%GESOp@xgO4x`S}gPXPn+x0i7 z>r7?`9o#k70IEP$zj77=!tJm9&42Lzd-shHU+3o(JUB6UU%*JQB9QEBjuG6gGDIu! zQ}ekZSB2RrpFy55K^WqIU;DM+!Szb;^3#ve9UqywBohLMg*}etN)emJwrmHi{_;|*F4UE*Upw~Net2MYEkope!r!UZLkFouw zp98(T#_sq31ZRKk*P$=onBN&Qy3GnYW^~6}U=mC}_!K9<^((;B*WjWSK{fPN!XjY( z)&uCpH8=#Tgf<(Hm}y_P8bE9W2!ODDcn5lwvATPTa(;!x7EK+KEn4=xt>N)K1Vp3| zp}PY@jOh9SAtrR2wSiP)K^i*5*dc~wJ?UzV;oe;{`9Hq`xdTk-J1|GY&4BLK8S-b( zTW(hfvBmnV9^64Z+JLfxCu0NBBW_EXCpMzJ_y`t-`KQdyQhd-ob#v5h^S(A_%pZw@4V%H5wU4Uc-N4ud*5d%cr z55DrO}2^%kaQFTLd!#AACOq3^&` zMm#x2zPLvI@k^|pJOpnN=>87Vn{&e>ynmMc0mJDT()j`O@ByajQ}C_ZC|5i1wllDB zEI4}WEgW_~0L6%s1ti68J7ILOvx&%RgE$rlM}QbY8LNj6!7*XA+1}tW$YcS;M{mCa zEhA)99KaZcBV@e>bqdh}Ib`%_rv9ue)HTLHdLKY1D z+5oc7l5u3e$M(Z7AisQ#baHCh>GfV3dJG@Fi`^f52kWyll-(ZTcz_Urk5*QucD;#2 zQV-f5LB|75f9;#--+zLuZ+#czx4w_nFrdT^v1Hq5L@1>|uCMXvum4pXfB8L7DbTBo z@x?i=zxxB^7ca5e9HSf#=8Mn|_FS1Ey93UC<5$oSkprilzp;GUhi>I^uoKCkXX=~gv)vdydzgb-0mwo=Ua zv?wlLtzKuNfl!k z@soe_KjXze{^!V_K12ET$2gJ=zWm--P!1z_yRwI|+CXy#t&?rq2M-OTaxQ+nbqD3g zF941>{qhIc-n)l4|NB3~*>C?UcHjCobe|#DJIJjyNb zxzMfyOMpDT#OCeCp!EjfDC3Y7VLgBj1$wc=_QUrfKQul-=p2w?^EMy40h)Sne~zg$ zL#z-J$~2eT{B&glV@251WP)bZ_;5F|5M1*=h#1e0c6FnJw_RADiocIp<-^r3c@#j>p#TTfBAQCdA-NQzF;vv@;{*enJ2jVGaeM zIlV_F`{EM?@bMPdoFf*6>_$`Falq#67K&tGy|uD#WeZD{Acs9V4#2R6913`~hUAPS z$58hePq$8>;{nuf%uxuVO>D*qt1rKU{^S_bb%yL-Aevb$!gh`E)j2lD$L0qRl37p- zVH)@7hP6i!Df)LFqC9<#?ZZcy&M$yrZ7o6H0f7+L8yucJN54I>-uY^W`~T6u19TBr z-}(;X2wOY*9pZXxYmR_?d4<*8yLkNf{)!V@3ih8o$Nqai0=>ROzulr-Ut2!FdTr}h z72I`r_*-8GZMPVoK83!zKzaHacy)!%=ET$py9udZfmXrdp2rDL#jVG0%inlNfdrgVBR2RCHgQP-g&p zxc3Wx`yagX(!1haD1g`gpsY46_{bmb@qFb%3 z_dY!Zj~T~rKf?6<3P*1}K)%=`rG(V?==uSx^%`ltMVJbP$M=CTBW4pR#J)!WV}0kA zwI)i4sYi+tA$5o`Vz_e~{c3=mUxTtBazIKQA_r{Wc>?SwU_T;;&O{L*BF2RN))_Vr zAAqI;?6Mh7WI^hCGa~_Eb^jjp`e6O4k_B?QnBwu@_^aRoV1EEE_bAsRXq09}P{C1ZHV~=xC*T zsinWSKz@K|QGERIQ-pgz|9AeuyYJrdJZ0mJ!{w*!^U4qmcnhvfquKt=wCZHQa7x@p z7b2#H!-AAyL6OwP6ZP+bB8mc!AH9!vKlloM{Ad3P>$5Y2+sB}NM!($}QJ*7dH)8ep z0akZz8%KY&0v!svKG_C|?u8u;Y~tA2Z8R8A7q?scf{Bqg_yOo(v(*p`0o774+`a|fkKmNtP%|OLh_o`C zV71wT_7hIte+MdxzWTYR4l#B1o|O=~9;=6U5k@iV<}65lV1&>k9j!qJD;Go8nMHL> z7;c@RJ2`@0?!ei&5uxiqLRj6qW1N7jV1F$N2_bdZK6+sBNQHnYoAI;)F%3{r40moJ zDubqi=#!C1_W4df`U2K>Z<{O1{$M@&^})Wcsh~?eGz&IwKL###2we|SAPob$G+^`o z+mNT{hWqR?Lf;|A9%&em`X1a5kXIMzj*pFXsKC8{`&Y65{*O_9_*2A`Y*fb)vFj0r z-W+VQ;K_gR*RXkfA1Ndpp1#E8x6P?2tqpW#F}-#-SeR#be1yBd`VDkvC&*8qVfySP zrq5m?a70?IfLstLA`OF?s%8Oa10;{{Jj6GC<8R@uFa81w^|%_dxyBUBbw|rS6#GvN zvD8X5GDFZBrdWY+f_;xw4*~~mDKG*7F+?+Fb)_l$M6AX!|M=t25JO~NJVtK~k^JPL z8>1NnyTzNpJ)q48l?WjyauK`rg+R(ac0yx06(wky$K=Jc+N5Mm!stRm*PY?FfBV0{ z$1ndJfBMh=4;+8tJ%ll1|NIq*fILp1pT0qQd=JChZzJ#bC~q#1ccXEOx5tJ|6lZJ& zwi3qtuWXdo_eKE91xX3mZXwU#KtqRH-~1YOfAU@E@iDs12GjEwR?6O6Bfq%>RvSZViNp%{xzUd0jv;TKVnad_x+L)<@9o5lV)Q(*hxb zF&rP8ANloU&%?tRkPEtDg^<>W(-k=OD3n3D05O1-&~1+)S37XOHe4o0NKjD8IQ{4g zpfsSoI!Bz;fZg>L`TPpq<`|MkbgQj76CE9+>?dG7K%huRE9h=Qx7{LNU18X6Yy%|% z#{?RBOiy1Tot;6(5&hXI?*8Uq!ka(-F7(+sx}z=f)iwHV1#ye*yx)V;3J-q!H;{T0 z4PAZwDfT~kX49k15z5sSx^C4x@kI*m{o>Cdot|KP{R;W@CGyi(2>S`~*-Gu7KsEGiwP~)K6jE;=@TAVxW z?iVI*7t_(Y6OGhhMuO|T8PR_myE_Xx`>nY0?NA&9j2-T5pWx)z|0X{E@gL*-M?b{r z7e2t@#Y^a6gcQN_lNX40Z)1J$9?Gyrx!M_%>-u21-s{c+3p`%P0t5#0x=zVTt<4(K z`31UF2lOlG`3@|Ev#)*yO$Ix!xi6E66@0Z35Dh$LRJM z7jItU_~AX|mzUUl^nrPkO$rg4B9yCZP;c{b+8#q*UgG4V4{&(#2FG{rVZ69<1Aj&? zicSdQv)9;ubPM^_rLmuK0SDvI8{fd4UuwV}06Am>UqTP=GgvKRD`-Hs+M?h!cztAL z9g_i<5!gO@WCj*t0{7-PLr2NL)l@KSk8wB{Gti7A?QmJY{RrJ=3muK0Jst!>&ABwC zWH>@h7|u?ihY8bkK(|`iY`C`+64{TCJRz=*p|H6#x(INDynch#*(vhn4x10Zh}Bz< zaQ=JWLD=oA*UuSYb>xmqf_!<6+aG=r$6t64)F&LCKF9T^&yX)K(ZvCIzq2ZBb7aue zZja&dBW!;5OE~=GGfba6#rXU+WE_$D0fhoc1Zi^&RYln!pu#{G!5c;h9lrXDe;p_H z-ok#Lad{{xep4&V6}i&pE4y3Ws!5fbu_IWm$F_V(5Y?~|`&Utb#M)>n^`ZSU~dA=E!NRNkhxe@cTrH&q?izcyjSPeR~UcY zIrBB3aX~4}fcHyVth*DuQxuoCAK=B)AA&bW;QMQgpFPKFy+IL$KD)s7od-@`73A|P zlqn-$Tq3R3&|b{hRo&^OHM+C{-t4e?d>>c|R%!;4{mCizfA$I1AH0RbPd-CJK$-Rk$7jGa zfd*Urr6=U)Z_syZgxjYGpFTrUYDt+gPUw$M!TXHi^u#v) zSRz6g)>w4|c(uYf34)SGVgo5AOrZn!!K{l_APJy6Vdz&FGmv=%MS!EF!-OfLJ3WR> z6S_1&sTjZ7-Tm%-^=D9uAn&iCVxzW@29&%94IT2~fZ@)4;Btq;3B%ej9gPWbJD^h2_=h%Px%u3qT2Kj1-Vb~gfe98b3PX5A|khW{&&t4)wdjq{bp!d<7P6u@BtvMbY zMwDETx&d(V%ER}57VmxZOW2PY7yE2UMw5fiGK)?CF`Ub}Bp_)3oO-frb+oBM&%oSF zD@|lZP%`6-z}2-_ngFeM3m`rbtKTm<`!V*L6}ln$t!Dv=6y0^E!t)f6i?s5-whAhQ z;Gd^PrFYQ~!Vt-AZq!g{b-QSHvxy1_n-{gf0o|Qj znD!ZQEVd|mK(7zzPESx?U)tdyHg$-h19L)LZGZ_77dDU*x_*tk-lFVx;9yZrZc2cd zdW23e4H*&=vYQYV&KNdZL%~-YA>`3g!J?t43z%MAB5qEQFVAuEwVy@Uu5kIMKR}lTOgW|Jo9{lECvI&L&S3mg_<<&V>+hdGZS5RT}N5|$^G)_2r?_CT}?qhuM8u{e~^6PVS zh`>pYvL6u=K>Z43Jh+WjL_Au96xf{J!G~Y_D^QNuXThN;reftc`4}t)Tj#~eGpH#? zK6$F?Kq*9wQ$b92Q;|tn&ZIytrZ^)66g8Jo6(GfcsfeFabfXQa>R3B{ z>_l{LJRsWK{jCqaio1sk{P4T~64Db6pFP9s?tSEZ0A22E1D=oQ9zKM=Ik&Kb-5!z) z^7$3eTPdWapw2fahWXGf3ar>1K_Ve`1LWyzq_Y#8ef7)O{rQh@`o#~h|KumooRRtg zI%cFUA)oJYbpI~KHy6m)2XoKe9;00E(Vd;)@al~LC|!i?4`8;e_3ro>*FX9xwzuzr zhXh`2vAeiL>XYFe0#NGEZ#I}l!ITNA1tkp#%80j5vD-UYMrXs0E_L8;0C#3dOk^R7 zDRoF8A`V-RKo-OhZGIg(6v|NUQHT&$_Pk;zNFjmK0HK254VadUyFdRm53wZV46pzq zU!ny;VEA1BRm`NG`bb%iqBG<`ReR zeu5Me@+2720JFyzdJ9n`8;2nezv48&36oZps*c{<-d4<*5K5yQS7#`ln@b*JY zuU;d6`rLfpMG(7{1zjm2uGZEDmVy)#kSwW4Rq=(N`&Fz@?_upCVk^f5 z3fAhVY$IxRTq`tRWV?x@?;~>a$AAc8JFu4W)SB7@vKwErSJ?`b>@JIi?Qn7DEAq_r z2nv=4A=bD{%S5*q7C#Xz?Q#a`WTAa;8<*5HDK5q96C?ZYRkhNRX<=K#tydn0S`vk`pnF64S|oA}KI;(Cp+-k`jCjcJ+?`vG#8 zAma!OEA#9wwP`~0bT1`?hc(J!MCg)54_)oRvBSxSU%>v)e}v=r-^c#bpV%hc28>tN z=u$#{d4ctVyBJ@+0jARQ^PD=wvojOB6oIa`ki#C_5AG9Q5Vk8!FU~<-gmS<*nT)bP z5QH$kxt^%i4#jZk&V05~zCMuhd&Tu3Nd-+ygAZAt^EL-WXE z0R7nsNXhuoDZ@i~kaIyg-Wrnbal;{5h1uV~Z5iDF5*fu)QU}feLI;t8xE>&5Mu`B& z0L_B_;VH(~7dENr26HiGfcu1Uuxg>(9$~z?!s&-!!u09_IKM*dSI{XVu9J&=M#wnf z?pMBy{`MJUD!BgfXDGY9VHcXA#i|&EqKqSso;*Uja|_e6*C^)~&@rR$S16O&I>%uP zDH$?mqYQTg5F#{Z+<*Hc+^p;gy79Uh+ z^9*P+odN^A3eYq z@4SVNzxOTZsbzI59l$3?z||gf5QH#d_2?0%H|Hn^^8(jWkgxVlAfu(2P^AfIl2I(z z$+F%i0Szm}Nf0ltarV)dFg<^X?(MgM^J`4I9aift@?meL(3g9hJb8k{vloyl8|VKp zA>F-=@#Skb?h|N8Mr!CfggyZ;FL39rCr~N4W=r!_m!6vHsY5zBMV5fX)*ly62trsL zpF&G%h%B-33v>w3-Gm~ZU%RoO;nc5YX>c(MqW;z`l+pZMDRe-9jn6Ql>(>|$**wXJ ztc@E-Y#%>?NP(0IQ3GgLLk<&kNH#7?<_?^7M2a1tKs*|tS+Uw4q3jOOWEVi_d&7jL zJ+SH_V@KgZ1Lqd!&AC==gp_ zfBOvmqkD$myf(>jN-LC*fiZ)IwK3?XjKV-#_ckIf1xKg%@!-9$Ad8L3CV^o?wG!0O z(oSuYRpia=(CtTp<+gD>7`P=CMYfVVRn)E;GgRQZ?%e8z?4%iYX>otXV3n}UMopH> zBG%gjh{4NO3LgK`=H&K&SkNaX@>&4D5l0F3DlEK36mnU=%H|*<3R({+MNoDb{mBUqZ_XW< za`O!ipiw}nL+Dq=8zpVTBkHXxLbZ9y+KB`m^&kVKsy#bPv+sfeDKd&kn^MhpsWwdsxpzUVI&&Aa zRMS@XO||}6oWJ7ta7+mi6m7hwMx&#-qOeh0eL<>}I~%R3_ZLwx|R_hgZSJ&v)12h_8C!U>|Xywi=$o0WS zE}b^(9zEY|t#&RdsYG zfQ}Q=`UpV?Wj{g_p!*T)yLXUZy*87~8Y`uYe!D@=ghJ5{mpo!fJ+xoJo5hCw_Q%I4 zySp)pR ziJ(Og*BiSnVu0piQe^5N(}?YRZ{zTjXXsOh4BOn)+3hORgw2z;(4CqK%=qdOqykPI zWX$&39U#+)?&KK#{W}<6om=%#vf(b-S`+OPbSieEazsd}9iYb#A7guV-}D(pP_*Ug z8vf)PEmH8@LNpT=d$eL=6$hvxbptMD-px!uwhaIPAOJ~3K~%V<^47_p87(?nZC>rc z*{R}yp1N5`$pQ}MCR0T&MT<|lf=gWkA_b$O8cGKsJI$Se>}s0X)6H&Gf+2+U7On#M z>J(G8XQlS~9B?C^WpR5~sG&>Ntrw>WRxh@8@Ufj#Evk_SV*#R50z9iLht9|-xdw`V<0h+U783xeBAr_@8Vpa{?ncKbvyy48U3 za*woGgD9ZH0WwUG-OgJOo7tC(Ypn0y!Sv?BX39q^$YDf(dJFmL%0w}#YbE;7+o&n6 zjLti~IkyAV{Q!s)VwWJRji&H(Jh91*y54k!Z#AFUQ3afOo zfV+t9!2{!+zu5z$qI2+0O98nBGki@ko4c{(jP0$5*c{(A4+C*)H2CJzDitNS0js)` zMR+LYeW32HI{Wo`?_DoPXV26N%q-N=dhoWHtu}9mgPj-J{vJo;NwjuU1Sz^yT!2#Q z9394Ej?N%sUtDv!P;Yem=YeV(girAph|xk-+2`za1GBSsEQ_(;+FqV7YIcFSYYd4I z>+Mf|8ZOEo4Kty(RFt0-(ch~87=|N%ldP(% z5<}OU!m3$!5i}(P3IGWt^^F2;J_8A1rO+&p2m{L28-OiWw0z)ygQhXBqii= z0;k^8l||6q-CBa~#KDlccje94|slQep2mfNV zEX+KD6JY8sZ;>d5mDCoknV!0zL*3Ms8Rz*3%3_CdbL7%i9SCB}qgQb>zmB;CEymn5 zDP*2B{uwOw1&B*`b+>|cuQvYx&BT!AFgLINN$iD6Mw=VfE0~;NM~-TXDpFvZvDcfb zvT40sIZPJO92^)drOcAqg_&f1VD+<>#ebMBb!>a`5CsS9&R>DHCs4InC4oF>LJ_tW z0Ti==a?u0r1OU6qA^V4=YSPz5L-%86Amv!l9UU31GYyc#9x4W|Od!x$Fr1wtUtOCN zRR!F2kT4o%K!BEPeK;|u{e*tIwbJp5rg}|gY&EkK^Al_&0V@_cd18?1)|;# ziJA#$>fP4cTcoZ-h#jPm-O?dKvSK(IETSn6FtrLH^c~VL*i^xd6=cc?oexcumEv|e zscojB2(fcJaDqfOemI+yv%h_2@m-guWGhof91N_~QqXNS=#Gyd(}?l<;MoD4wE&%o zNhn6d;|=oefP8sCPzI%LZlyv!P!0W$L@2o+4jqQg2|`*~UZ7toEvi@)iBYq9+#hiv z@N64qJ{YJPoH`mWZgMJE-2QH>u1)X-3#V{HI&r*9+~>jiaCTjZi(LTEO<$TnyKB%5 z?z(?wc0#)U6?h(N5b@ z!2KFDj;1r{2IOoO&VB4`=B^ChZcxTNd*`#A*0CQf0F&&5kHdhn-?v$-d50y0ehuQu z5M>oB>AT@Zc1BnYju{X_E(QX2#nn}of)`-7W<1*ZjFn(s4rWtiB&%o#R!TO1j}~d9 zTW(onW;e;vS=@fmgxl6vWi!ysx~Sn z-!sLlh~T$8`#NuV0F`rEonsbr^!dnP@EkSVDogbjt<=}1QFpnxI7<>v!L@u61&Ubh zpQ5AbjsjBkbHm&pD4Fr2eeg=!_rX61eHYAuhGz%adb2Zt?4@w_Td&z3E1V&v%~fWa zY!+W<>thz<)jM6bVI1vtcL1;6_kN26W~`3}v0!;~&i);K9 zeKfzWt~bF>HNBZLEu1e-j359Vofvn#ACOdVm`bZWR0(vnvU$3*w|KjPOp}QZIMs&E z%Cp}4clFq)8d=S328m>fEhz;YJ5Z|0nrOd|BSAI#cO~FBfRd9q+)*^f-a%2{l~rttQLrBO5W1^}w3_Q1^B~M2!DGm;t6vRvnS538%#J z1>*5wy{NmdhHfzTp^%`(thz$ix435|26twH!Ckaq4H2wX>jo&3ng}I!J=ATI8zxx= zT8k3O_#p1Tr@Bb~rFQd^`z+KpRdlwARh>)w<{996^2+;O*a<93Yp&cUf8W{|au8?5 z)%{6EaADv0#Q{Y)Emr*kjaiJ%7DzE=@0llW{#hI1ug;1?3s~1CY$3l%0yC_FBow(B zk35$+Rsk`y&)Gj$GZ3}jTvf3fZG)xYDXtAH_J>^!Eiv2hRz?vEkYT0?5P;$uAr3&v zFph~DY6-3v6(}VqKX|HZRd`jkUTk3X955q*1On{^#L1pbh$zVIGb;cp1WLAG)rCaV zt<8ccEbxeEZo1&uPG6;(_6oadg5_YdTViVrXvZ7@qUQ4^(XEI8s0L{4(Q-1PqEHpa z2!yP+c4#x-$blcbn$*1m?N8y+Xff2 zb><5E6&J%4tDYu-s9j=lKOJ!JxS1{l6j1}_Tva1(EtQ?W5d(t*kh9L*cmJ;`3sUkv z+=&3h1fjY9;n~6+k-0sb8t1GE^vQ10cGALJX`tr0!R{Jc>45A#PrY@Ky;gm6w4ESi+Gm9^234gc>b4DBzx-^YupsuV4h3d9sJh6ZoO!+E z2Z-ICgU|9Eps6Q)ozaTim_o3S_kP~?6gLF{&FzgVpct`n9HWHWoEU?bR8b+PjvBC-^}g=yx1*BI)4vh+m&;qicN=~Q&3Uq_JObeQCvkme^SZfbyHc<0Fm)a{r7Qe$J zy|uKI`aX1CSakzd?4m8&^0|eH>gBHO=9^*7`5>w3GdKP&l^bcgT6A&9+hR*xziYLr zj98_hGBY3<7PVF18<7J}0A!yVx1#lBIv324a^qsrMFxiG+^gQm@}sJu$cTZQ3NYW= zwe`eeT-Np=WO2zZn&sMO*PE%zLsd- zJyn5~u47=I9Vnqif(OsJ?5Z~o^Wbd1YRDI3b;hlu86O&IZ2@FnJi2(di*}|4<;|4h z`RCBS?D@IWSg<*FPiNudnR2;sFu)=}2cN&7NEYwU12&Ys?s(l=7o@Yx?^+wt1Z$hg9>f+DaMOjPrM#HXSMru-M`dq+g36Sgn%cp@Y@jnS7Y;419~tfnVgPlIf@3-RY-xt-=+N=D?^4h^B3VWLZ&cwI>HZ`kP6 z#=bY7F$bD)odsibc12#ShsCCxm&e@0+nSN~oJ;*q#VTD@T_Ab&4loI^#Z4QXdw+F~ zShC>iYBC~+m%#SMY?I^QC0F2P4gpxIN|_1}>h?7NK*zF(gSFe0D&+2ez8^Cd3>DSw(`;!D?c*4rI?baGnVT_c z4?njJ)(#vp%%Y;CH*V^R;5y=3v>3KA0%f^rT!*ZmD-kP**?0%F9Its?N{gG{)q(ln zkW@X_1vhfX>O7a2prbA(s(x@1=6*r-=80TGH_7gw;y_>>JXfD`Q1;jHcUcz6t4m+iL7NF9MMZF)t;25CmHnb~s2+mM^td`!lP5OvGudg!_(dOfU)+-Sdq z%%~(d+~d}^EfjXFJWKEUk1vk0gdgR08<+E5;39(ZM0(#@`R42fq zI0n=X)w8^fa7xRMt_UX0Og-T?jwmwUb5wUo%^dgny_Wf4y9?6wokQ(mX=X&K%%yAXP9wRUn1isb^{K$0KSV0d03#>Oa1%Hz z4oO1rpAplCU^XIL99~>oEVnmPEC4wBJeB@Bw@t>ysQ4*`&>{G9eofrk6YIxOUmtV1Z~G(669q8?RxNW?#$A;*Yr|^< zSm0)g$f-9IKh(ty^eMv9n7Cyxlbi2ZK%OGHc%pf_v+>}SW)3e0ZUldJVLgFBk&wFH zZps^T!`e^jJhNP0DzMwx4g?@|v5_!pb)ae^z`7fhv52}s1M8^vb#=_O%zoz?j}{_# z1hHvEh&;+MC2W!S1kpLN&LvDpgDoy?q>wVeMV z_^+Brj7$qlpT$q|g0k$X3^!UMs!pRz{+#Ane=Ka097hH$n(;(Mn3YObP;m_t{*VtGbT8En)w=qGY5Tjvn@C z9`MX$1f&oekO&9@5el0}JjaMwTW1OuTA)6Ti0#Ye**lIsL@|0F!P@$7`+zfIeq+%S zA*3*e!nvbOjOG>!2UKcbMq1~=+{Omrf4xjCS$qT00ze{Ql6gVl^PpHgHMotjf(JIh zT|De$c0rDp<#mLo;w8TGm#aIjI1WOKDZmnWwiDQTMp@Lyvh2xQ**TYmBu4~~ldE=F?8DC;^dtnIGU3|U~P;(c6&2w0RxMcs@{A&i?Zy1@XCoj|D@8^u;4f> zN2pxWU44Uw1?cGsD4YmrV>N9e5nX&I_R(j82hlA2VkbOQ-+`His0JyG0H>J4{+1`dPG%wA4LsN6U@DRErkjU93wTS50H7! zNnkgrG!l&z+x;;G*jp3KRT()c$Y{Ib3@l?_)mOIn180}%qD%*S??`h?qJ^6Ua4oIylKg{N#Cdg2NMECXfR%jk|`R`Zr6ky*(mN9PcFu9em!UHVb*9@TQDQSR@G9=9H z5L3OCOB44BtTG!a1~f1Ns$!9Aa+^_VrB+o8cFJdQ z(g;;^1=1TRbz|jus|FSG_OCN+sSxnufP|4&pr+Tbqrg4bV2!k`XZD|@MRg-kxL#aJ z!>UXNfLX9z2*L_z02SNiHqVcyJBQI#$vXwB;@!kj$jc-vPIN6Grp~Xxw zrg}*Q%Vm#Lj1XcmOynpy%mPrn6oP=ool|Sw4*?4hQ`dCl(L)*P8x0^7uJcBBs8&EH zHL*do-1B+#tB7hnG$~t|&I-K-Wb~qaZ{wsi_JQ zxtN9QG)%1#^b=l7ONk^$ehUF9P-_~=MJ&O&^(wQr*J5C8lMbs0&5qWn1wLwVziTi5 zW1pHWRcRy#FRm+_Oj@d)A;A8S@+AJ53;I4{KV=LtS`v*DG?JsiG0c=nRRT+Er>(rI zHoeLXU2eYJ!qDJ1c@yhXvz?;3+n76SsV!6O?>rc=mX>TtcvUzxrdD)1u$X~irHN8K zD7@T^G~)_!rrUv{w$za7f!5V>H->o>x^PAfpav?~C2QYriEa)W$jlI_`l0D!Jn0jf z7JA^9Or7Qs5EG!;HhCj$1=|Ebv`UHz6r?4V_H|O^BdO3wRrY<`SCS1|3h5^<--jVtx@WwNL zf|-!BQ-;-I!gRrGgrE(4 zO~S3Jt{Q|0w+ITv&AVE-G`~2mG(NTdvi3#ns2{oZcp4{!7#bZGiRcKsD;`jzK=PrDhF#wk` znn1^H!fG`%FK=xe1ai`e-I&tGZT}i|4)nPZ{sJXjvh=W+_g6Zpcfi_s_x2|tSc^m~ zhQ8lWW&i6GSPs-M88cLnCZDa<0yzti08r$4F5m~JEN-PbVaq;(3h?%=wnIg&GN|J* z^^uJ;V|Xb>uR@F9W8qx60Q0QB`l%ZshZ;AcS~&{?EDLfD>5XZE=@FsT794uh^i=`uvki_0}2pD(aC9)_9b%Q8x+Br zzdnPbtgZ+XfJvZ2$S}qnJ0KW*VXM2)%kdp zOnXvd`HmuvG}b6P1EjUqwv!FK}FFX2aQQnpmrNKVL%; zS?7sHRY{6tDG|n+j0zMsEA-$YrNmZ}5N6d?ArJd-V6lR~5M$wyD@D=u$$7_a870*U zs9vPxXr(!fs^6H^fuq_zwb70*j6&3aCH6A8Nml*%j-;R%%mt%MC`D!jU5z+V7)b5} zQthkiCdiXC@QDMXlv(gn+IyM>0n|3Wfkeq2a7n4j7D2kO`m1Uzdk)2eDC!)&eWCSc z=UF{g^5Uv0i*i?e=6a*$zBDKmWG!-Trwb#uSs)A5hylt|QoM9RXlR*dj z-UGFnx4HzH#s1t_pVDNgm2}GiZOxJgC{(fz`Ay1P8g5;ADmc^LT z_gU}*xVQy-<(jZitELD9DvAPWnhpdYQVN*HVxuS_WLSJs%?}_i!#EJ8>Z_(?)=CQz z0@GYtgKQIp>55eS=^b98hvvax^4ZZtB9m!GwQ4Pt2IW{8kc9L;qPH^4&? zd^8o^H(ut$qRXGfv=Zp)X24TSL^5NI5gC}HaJOW_NJ>G4XaR%8OKfL>l?ey z&AqiLfsv>ZX>3iznjk@96T%pRIb*7sK7z%K5k0`cdjzg@Nz%EjWNI_PSpBd9fz49J zTMAyxfwi4FQsZ)~n~KE{uT*ZhcPQ+Dj#@_XY)$4Ib-=x)P)C@t=3qZR@rI*U_hV0)gmnP2*H((COfehujo`+ zCT-pekzzoi0FB}k&PuzQ<(&*0fz{h51@_a)M;=1p=r;tzp0tlNg7|IOdckUaLkoPT z0w2Ytl19Ms@C(Fbvr8smEP@nh4t#g9hLA4+as9hDyINyuNKGNfGwUtX2NSuw6nz zAj+bkT;;rHuZXBdjQCjlURylLO5d+@&fa^jIb%kQ@f*rCkrOOamrtGOA=A_=xUQa` zrm)I1RgsnFc{J6FE@=W0mU@EJE~q(hIYY~$AT6_T4><>Vqky&n*p$lt+s*J!`S%R)9-_Fr4 z`xAVC^rNaCY4_e?BYZ5~JYmCuBlr>tNKH+DR?&z8yEyOJd9VI7OZkVT0^#sy=$9l&)?8PEt}WSOcbOB}E4F5U+{YY~`bE_3RKYw;=nJjd^r{eQucwTH=FCIlHEq#q%_~ zBd-QO{K>&@zXg6c0%y)QD8{Kwxt7xkGpM=pTA|j|k321|^>lJ9%lG-&br%_*d5#gI zU3+kWScxTi=GK>&{7;`y6})U|;!DgB@g%YA*SN?qd-A05)Y&Vx zhJ3v4H71d@QM8|*uhf-pE^6bos*6~%$TH-dnlH~tQrP*vcv74iMVn+JY73vB+>vxIraG`Po|ew+w?7&d}y6 zHQ1ebg23IT1&|DFzA!gu$r?{9XPJfE zySu5>beBz2!w``}J*hXg@K0h?x-I&rNK;Dki{EX)FQwVx9Y)HvUqlq=ELBR_nRIGCuWUo#lR%+VLSVXd|*^`L(N8kqWD+ z60|lrZir>*xH|49-}iiY=Vb&kk|RxXDQ|B?WMiUascgmQsmPgNcw3D%a&{dE zT-Sl!j&osB9l z$()*1EqI_8Z*`S%W55QO8M-V~lqlz;r7ZNAhlUF-At2HI{`TAVX_y^SO}kes{Em!@ zuTwlqqg{p*eI(+wqf3^xw{TB^WmVnO%)!f&8&3awr;Wt6aV#+7bmVK5v?R&pxq-(3 zHD%e7^`sd?ZS&*?Kv7za=1D<#0uI_5l`Gz(P68TB7F^$40x)g}oP)O?iPNQK3)Y%6 z$N9(}i*r+rFdXGngq?If`G8f$S+naXWxB-xL8zVAT7L}41a%8xG8GPcP8TvT#l>?9 zRUUXM`fxRwkWF#PZ1>2C)>R%>p&3Pjr=oFu#TW0A%B{*N7pmf#7%S|U8#(C~y$}lf z49nSkjY$e5*ebm4NS6w%3HX31^dmj;hQOBx{3Pfs<6=28dN`qLca@P))Lrv5jc4&t zGgcUw80n&(910S$L>+cnLjJ9J*4e;iqq4H+#aroB8&>NOO6#oy;;gY`ooLyKCCmHd zMt8B?EPaA-W0@K6t;=lVU}Lnd zY1y>Y+I*KbAIIkfpAaGu_Q>tq()%RNOr-Ch}m1;YRWiD0RtnQ8qU1);ix}XoaCc@K8m5`-k1+oEI+q^r& zInvircJUNwk+vl4JrJZJW#i3;Nealec<=Z9R=s28%Dbs zl_HeD2WR4kWv(kbvoc-m!(FckPu)0D&UCBk#a)xE646r= zscNF4tlbcDx{L0b4c3}4q+e$Uz{;;xUii}qqB4G+7QYnhtj2grXH^lNTr68P-(RV* zp=X77owUBz)vm_(5;KOp3Tq{Tk5dw8?f1VNcEJPZ#OMoZoafZ4S32lnBNA5QX{zNS z8-EN>>%fbuc+vospYbUsT{Zq<@!WkruP{~umrTD#N5@gJ`-_1Q!I2_LzoNi}D;qd2 zX!5EH$009*=j?v4(vE7j@Rf#q1MDs(mGLf=4|DF&(M+$>n-@3z*1$U-|F);}x|(QK zcj8w;{w7qRs7p{LyEbGwYqL+>I4^CqZka?3QyLdqN<so<=bCT^X(*s}XpF5!T!kOCsH+-{Nkhcbrg&BmFtG9>3ji znc!&*>T5{Gf*ykDGL=qZnHT}LKt~BQpS;xdPXF}!>`L@!HgJWO!!r5Ec~n@Q}PCaK$!HmF}Oqlcp*0 zy5`;vyDKeoBX<aQzcENnrRA+RNS18yiDsy?)nmWzewm}-t4Xj+!pxy^~V4E zkN+u!H<$7aWc+fm#Zo|=R!%V(4%Dqr77?Dfu`&~Q-?Ez@0;Rk`Eq;o1Hic!n{G}GF zpgXB(VlA3xYKx258HKhkG_emCRD7^61%ilD?i`N%Y?)Os#-ob94Jop0UYYFX^oyCd zQ91U00I@7}p5PUU$Zoro^t62_(DEAhIo?4R%*o5gB)UTMdS}!#LAl zgsCynf*6YzgZ(~Wai=p9-ix?&2}kKGh!`Oa8<<{;RM8KbG{15B5$7ZG=j;xM+K5Sb z6_u0ZB)=_70`rvE>Kp@bhlfJN88;pH!=L?vA3p^43Frq}CsCbnm4F^+g_5?`U^QYj z4MFx1tkj^~utNmrqy#qIcHTf$4}mb}{$jHjS9JBMw7H^!G~LqK83`6K^K7051v$Jr zD+JfMlxnydnJolQp9C=uF`kk~%SOswlBLtRrXePpgM9nE@xT7{-}8>h{O#<9!2LjU zUci=tS^2A>qabSxP!6kIF<^n(0wYSWiD^FvRKF}_^EI)zeeAqAahw+V0uMjPL$Z;` zvA~cI{Ht^+znxr-i|S^Q@#neepRQ5f-2oPklfL6fd8V97c5y~LE99yM)|K~GC4e(5 z_ZC|~LwL%L{id?5h^qEL(DhV1Vqvdt`X2H@X>CB0Q!8K~zkdr*VoEik0y7(8-ewr7 zrd0hKXQ!FFRMDeU1ac1izVpHL*Mdy)%0m0}I2Ww?=D7y=pjY1n0@&w`|MMt*{?p&% zzxyBlTXyHAeF}%4+;Q;29YJr3THXG6 zvlMeLZ--fVCRk+U;Ty}3pUB=29c#R79_HPnvy%TxS67Zp5331fPlMH|8>bo3kdM!Q z{tfr-xIYbl^*{eF_#gkL|DMl-KEMw(=<7#Xoca;2-|@Gk*W;PxHWWjW2180%mNUd5&p0@qzvhLt$90E? zp*|O)$dk|-E07@cG*3+AWclqEBJ)^zAwJ9s<4jzQHE{knNUN)e;3%YVCBIzK`skXI zda1}{GY(}4!!eaWLkk#(G??v5lF>(2T8&hhdH$2biu+pCbzv1l{T zUc+!6v|Sme!#I=yaVtWTy+88Dd(bwyX!ZflkOmy_Ue7vmZ?>E*%5fiaM1- zz&aH;bsZmrOx8q^{qEVumAiT{*V9t-{ZgjZ~ly5hx~M2qY4~aP|f$)tBD5E zNzM_hAQA7^Q)ulLis^+=TVN4g8FWLdt<<2-M})$UL7dY7S~#x?GAKKotb~<3oepK7 ze8W!45tWj~qGps(BQ1l5*URxYfAM$y!~gl8{~mwxho5>hFEa7~;=G z4<>sr)`?vYyFw0gaPRWuQ&4hMVJSE|vCE3F!xrk;+aLnOu>l*FV}hRYnwH8T8|N7J z$+^;`I%&`D>9MZ7EaZK!$49>8^7OlksUO~E6_Lv7OViWKvV!rK zCx+ZfJZiRkouUUIs;Pc1y#)5kL{>dQ0|`YX=fLAmu3U9d*@!L>%EzVn>8CGv{qP0$ z`b=DzQnW*@dp%TI9ew&kgn-br&yr)yd+kXeW6k>v3 z|M)Y0{`DssR)n!nf%}#$YgFO)qR;4!X$VL*J__(a!-(tdW(UHoaYg|EAAz_J&WB_S zaBZwIIR(NoP3+QsC6Tl;ZU_2_Jfn5X?c!4Hhn1T?f({@x>!7`JDv;`sD)GoU`l?81 zudXdQ`w99G%8CgO^fAZaC5R7!zY0}NyAvBwR=0m92p&0%GLMm!P>36r(-&fUfEou%%VjBeaiFxWa zPX6o~I)Rd9TtYBF%DYEnubZFk4fBH!F?{*)z&^gf?ZzcnmxSkNm(GRr%63d%;VKpP zaMSeCA#_FQV^?-xVG%h7^}?!MX}r-AB~>FX9CBCw0DEIK`bPBVyWt=RTm_WB;rW+^ zcT6RwD1E3*Vo0Jl1+Np!e{lQKLEMESUIf8ID3p#H(0UJ`SU zd~~9#t{CmpJ`bZWpNG*2ste17HkDA$-;<1dNbFJQ#5n6fe}qv>=@M0(t!%9K-iKdU zBTyIMVhoj**Fgo>$91x^s5O+Q91oMSv9ZF^Ycs!aA$i<$zWTTSCLeOZ@uz?M9e(-s zPjU>PG8%N=F=T`I3txq|5QCk2PW6(IQ(h@1;i+sYgmCaAmUXX`1wx3G3x=3}Y@NP0 zuMG9GSPZq*rO;Nf$S~6>6@IY%nDZXY{m5j+3)yI^>!AzdHR7T+-c}S+ala9WGvlL> ztN`SaJUK74EIBuo;@@g3_WLX))Lpy7P8M4+2zW}BJh>J_P@3wuPjanHh(eZ;{){{B zSSyYvYty69!#Pe9-dk(q)r$U-EMp_0iNy}(@Wj)CN*V9R$7!kWXg$r(*V<_|vv}1BG*Lo99R3s@#oaWYJ{TlJVp_GSW8YTM zhhq{kOt>B(IL3J=jBZ=ul$E%8*{2l)2yuXq?h47H8P})4QQU6n?RJOrUitdX@K=BN z_ngNE{_uxi@Vnpt$pHPtW|kz#r@aNjfZ zQZ_rZ#&u1ZWq^F|ra3ZH%jCWut_V=m`FSPPAooSg`3pqqwERG>~WAUqXq?s zphKfd(8!Lf=%1QlbM(u7m}M;N+u2~M$4InNTQA- zt*zqRxQ;@se#8qV)=4#f8yk!~2wu6nhZytU(w=;Ya1$_|+JYaHl5G-WteSA_bA)@p zH(x#!ug|P>t4~r&Aq$FjC|EMLZd#r<&Ow`RjHkYO$@<$qtYto{jRlFbeicwfJl9G@ zTYv|gfsBeinv49@@SXO)x~(-Ea5|MLy$A<4JaUfx<+@;@2u(|6U%GolrEO~2$}2^3@|1F6DCpE;Sb=-@ zQ$iLBwlGRbD<49f; zUA^(g4oR7HDf?9D46D=2Eu2&!PUB=81~8QHBAEP?5$N zwa_B@^{e4;|LxyXZFca7KmH!S{PJ_247#$y&qULzc;{_Z6myLj`r-EyTlf;gIMj7F zdVyomIE%8HO)-s0Dru&d0P+Ixp*YS?X{B{~tY%3;F=SELCkI;>-@In=X90|*!%8O% zqS#j#Q`n^`3zA-uIQWB3TF|yVa0Ka04T}7j*e{Uo5I3|#f`MEztX`S`QTFtFJ zrxMPYv@*xNovL#i%2=LjSovCA?HX(Nq?4w8!P_}E`YV}TJ0?yzB5>c#CL`b2NRE`q zs3IpLAjfHipW^L3auX`NZwU}PFrs+sXF?-7?IcR1QVL3ky`tBKJVZ;o2jioF(=wxY zf31Qj({>QXZ5o6$o0s-h&|3iz;vb-zbM`;`XA>PkaCX!YjmJhTw zG#chsu*01yGitB^ANIOOm4=+2={OSrARMGulRtZBGA=aw+=;+z33Ce8hdWnnbr0*; z9i8l&Bd^wGH9R3J*plw5rgd4*3Ua8g9ZP^joq?ZG0ZQ#$Vv{@r=Y~jIv(h-lbW*vb z#VrV8l8c=O$vODS>?>zn%YM9KnfV~mI~F&&|89L^YMSDC_m!p|D^KqrXrrbFg@=yH zHsU4-C*Ba+t z%9A8ZnRGiy*hh)VH?Kl~oQ{QA?9spj^q7np?>u-m$(73Pae z-3g_dN(cIbrGfu;_y+|q%j%b%{xkYz`g;@aBlD)Q%+1|08#-n8v>4NV`+t3sS!-vO z!L)WqxxPn}ZZOI=-$}fMMfM4-Z`#O5-sGu_Z3w4$f+Wg#6Ss8yPaha9u;NJphs0q= zmjamkhF_Dt?R4>HGfY~Uw@=u9XdUC8(iNxFCwBD09?P;U_1nH$r7ZQ7lP^-&emMK} zSd845TyQ8S4r~PL(V1q1Rh|@~9z;LwuMtN7e2$Atv!jx;X}wYdUQREMjFglkIF=p@ zi4t7+hi>pan=oHL4S)F;e@{Sx;7|YbNBsKhPrwn1 zUSi#o6{dzm;%G-J#i;L;PsR;TJ?_`~uoU_^cWW?ZGpl!-c}+E`oF{-uQ(9CH;-<`y zW2Ar+4k!%{%(cUK9xj-^`{+Z@z!`8%GRdmT6(v3aK@0uk^~+WQID*91aA|6cNshd< zO1uk@S2~o0fX!+|Mv^C}m?JU>p2C!q@wrm(`N_L1dz^WfWVv4V@JkNtM4N{kL1nK$ zyaSyZ#=wk1Ib}6fCm0ooOhZk8NoAKwCX=wil~K;DoQ`(>p2zCUYYhjzv)$Yj*L9%R zjj&{}WOaPwSTfMMp~)kC56qJ93U|AJs~WwO{RQ@O2xm>1vp4NG$a%jQ^{r4`iC8{t z`{%vFoIDS@e%v1sw9-_oP=6X9*P*j zh)Yx=ZmRPz;*9Rl*PE<7t?FcBxOu2f!%SDmUjV%MR$ZN5N}RB z*}*bA{p4YA>ASN|GHLxCJAu?63@rjSPgUuzck$32cRsjIId$j4IU4wb)6963 zW$kN^@EQI#d{?&a)q<7#A zetb$?j|JXyW~2rH03ZNKL_t)@(~TyX7_CTIhEb!~bP8ViU>m~?vO{)#XuG%IK$zjT z&lmpYul^nM4g!r{lB&L7Tn_1C^I0-2xURW&k->B*OdumQ7%6M3dpCK^~_`J;@ zQBjunGln;Ka|zma5Z)KJbbb+0#*R0_+oW@Iom?)s-NtuOw=pq5z93-vOlVcL0>9I{ z?j#SFdE>-k_ncY;mA;QV0=L}*5|x0;!N&)C0E`nCcBK`C3?s8IY7#+kT(ufL<+Gf#+ucIHf4nHR-r zp)dZiOq8o;e06?5=CKciv%yY$xO0vqbt*{K$JtOla~G=(Pz8c3Pr3g6ybuQoG|emH zU466VWNtkj!CUgv#v|9iQFP1wkbmSfQD8voUO`te1q6f`w;r*?G28CrjhGd*m0TWzTUMr%AxHWc^;4GbvGEJ@x ztbz<3_&Bsm`sA`31vWi05mexVIt6tD^aJKEnu78al%tgU zDk&^?j)-r^$H&#Bx2~Xtk~(|E97l#TC{OtNMh7|sNlRD=@?yj%7QtIgRQ<;;txNqz z^LgC9T-ZF^R^;@#c#tty?r7$}sXI59=v=!BUNPEsb3?ju;U@f%DULG|YbXaqfR7Kl zogDb-rysHt9o7rAP{GnEnnV?!5#P&B;`MlXm=#ZOgRp@SrLf|T&>{5N{aYO4J>^U& zL8oNMIF#Dg8)JQ}e6%%EaW+-FJGOw6A?7}KpzeOxtULm7TeIjoJIlO{9w}&`&PqCl zVqAFzge+)9Rl+)pynj}{7g_L}%=d0@cY!lB7ZTCNM-~3^Z?fiPM-DHhd4+AXbe5g! zv+~tzOczqk2_>N?aIO!S-Ko{)tQgaG=dTqH#ZBeg*Gcb=>&ot`-$AW=apVN>q}r4v zINzi)-5AL^n(r|MNI|zID7R%RBd5_qC!uQR%0ZM~k8wQCR5u=d81a$r3O9qGsVX8j zsn_kD4x94XdA))KDOP4d!6G?3ud$=VN!;_HnW2N^>uzd;r1hI# z-WsL&BCN2)?Zynd$UT}{mIZChDb+w;c&2`S8;ItnO)#o7S1r$Obr^L#*M*f?xH zr#ra54gRHq>*noXq^BCAw!Pw$*@LKVXvI~DtT{e$Q};copQpkbqvN7`UaYGVUt%>3 zkvD30)}?*+>|ATe8it%lo|#lEQzS_x`R_crjqWR-u*G=9lT&9v+Gs&YYC)GtrQ@I< zSCU!{)}M#HJ|Rc54^$|mQd%|x`YoQlX5ter3x8S1E;VV$>gsaOW&wv@nakF}k{p>O zep!fR_HKy9UD}bnf`XiYgY0=6Rg#YLTHu_!3$JBSx^kZps__s>9z8}l2H=jFC=`=F zDyyKU8FZRd{#xZ4Fd8bBX=_D@@Sq@jPD(!yTtZ#$r8*(*EYHg5uO8jO)r+GoiR_Gn zC5p<5g`rCb6Xg-S4<2bi5(wp!Nt%BwBZ#$)&~7n;H1vRHgx#CHUzETSO*z?(`L`hT(izGffS-(;;;o z*wCxTKZ>C_sv_sK&BsG0tz-xGYV}|6wo-cBN2t!iXIHr42K_W$tKP?A-}|uJyE>!w zwW~IFyhsBrj={)c9pAn&!1L{j^&Y28v>uY?!*k*Rf-!?VqmnRxe0<=hfLy87$c|^^ zbi)9@lzULce9MqH>AjGKQPIcGH9D*~43n^$!goAg%S<*IC=vTlt*;xsrxmTXA7$_V z=Iy68gb}_;T_YlA_ZI;Ccn)6fDWCKj2TYnsSrA2lxa%|_N>-8tlOcgCEI_nJtnPu2 zFX=q0H$P&4`$c2{63c8z8)xnMm>s5`lJVo({S(0vkfPjYugIiHLGQyo07@$<+q?BOQRHf}xuG6gh62GfC z?(mFe25?=ew-%0@9EQtR2*}P(y~%7hL5TH8rsP%KM-ZWubnb~ls6mYvJs$OU%Vo>_ zAyPgD(r8(k)JA=jqr>!6@`Qa7W2FN;E0{xi&3N3s@n#HI5@sgyDMwElIh_#^n7w$- zv>az`BvJ7KDtDZ9i4z7HJPaq~Vd*2VWtTi0X@iYUtdY)kSLP$cu8d{rrpJ=Ts$&j8 zDP%e`*x=)XPpr4JKOWr#ZThqLaYvYN3uU_yVfTiT0YS z2>jDVL{fIwRWh^a%5LLFf+*q`DKUzVj|5dXMdKm{_2P`@LlDq>P?bRvuB{?+9%oBN z-g~4S?P{catt}WTd#99MxteM*RzhPX4GD(rWEd2EOy<}KAa-E*bE#* z4PIVHAqAJsCRL2e4Vu78%kFNMf-zWm68%jTO# zjx>$hhr=+(Y~ofz5)*x#?-T1y)##o^fPjrVI^x?)vA3k26@;k_a=3&aQL*1-g&%Y` zSu(HrG*lo(1=@EvAv!IaZ+_>KH2SqbEV9cXKP{pl5CSQ<1UskaN|%m&6gWmYBqHc8 zB2%&rBU-AlS4j(_4|T1LtWsf7DUwwD}C6vfz`4B`L`rS{y4`(Bv3mwHolQJ4vcKAQi zUezIwQqo?X_fAfvV~a7(mkRE9rGzxfxRgy=tlmOUh*jyXUO^395O!lnv!s={?%?P2 z=G$J3qTxtEPi{g>XcBg1$_(%NP+VU!sn>Zp6r@tGQgI4y`u9une7}rcZb?iuQzf0C zkORUsz7|^0di58A|~xTsxl|&WO4wPNe4QnyU_Ex zz_2>6d+;4?I*2x-P`BLKY3y#6rnJ#$**~vfJ*hmk0uYb^7d+`wi$LQ7UHp~bRmdUn zSd>(b;W*w1(o1qJ9hPOj5JxM#y$W?I%3c0BN(lq*_#iJDTQN|8r?bP=*7Mc zmfd-hc-|w+M_n29F@Q$ptlkStRYEr|M&|;LdluA@fZyb{-z#(>$p?+(>cW+A&~lVX ztBg(Jd_6nF>DP5`6yTKuFg8V>+L7!LMOQfB(GqQ+#eh<7p-zPNYQk2EY3_WOGX2Ne z!JE2&C!J<%J|wSEBIL?rA*(A@_I~)Syz}GGyn>-&MdQgkO~>|FZmhq};%9R+5VRww zJojid2gmGmg&X1WV+l|mzeDw;mGB(gd?WRo{GumkcKFEIlOagxpy#-_*v^0B{6RRb zkWQH-Kdz*xOx%R$*LFhmvF4uYB)-;0zz10PfJt`nI4rAc=ctXuugvu-6;mC9G;v7W zyt|hu!^mB~Dc)FNjZzq1X%cRp09U)(a{bP1+@;FQn%^soqa@)xw$;Mn6KSk9t>B!Q zAqp2+?;0rzfdTS^5))PM2k$Fjk4AjaUr6HlaF&KDxIH(tBaXWoqmku0XaEsUw%P6c z;WWV|#?8DB5sGQd*!5Rlqdoxf4}^LOKx%X*l}9ER{Z2lxM;vmlJY{dp=j0P;7y;aF zOsioZ!KGdBA`?@ktX^<3;YFl6$CA80Ml}ibqv& z2Lgf*w)wM)HNNSUS;l!NM?$^Btb44-U~>u|?Q#q!o=nRG83Y0iS#uyQIjMLA`1jZAO zpI^$OovK!AWYST7K}%Cd`M4j})IPE5y#X7$)bum2JSoE|J*p9G_C`w02f*+AT&09f zMw3rGGTu`V<$29O>CA;GE~5f9B6R)sJ{i*^AS-+#AH$D`0lfh*&rz9nGLtv9t8zk; zN4R6Rwa3)@$mx_hd^p)U^%s~1RLu9@D7JOFN_Wq2i%Y}@^Nfx0t#E@F9MWx&>q_-e zh0+yEizbUn>$=P#F zG@SZ|8I%<1CWxrkq}UczqC@D)7E;DYeJ+3kap zkj9j*AaPY%*MLU?LyoDW(OQ)x;+H@^z5G4XIINs+lt-JRw%R~NdbXa9JMR?L0%7`+ z5DS}`;V;0?ihjmGxngKUW(jVz@D%Q(Fq(hgTFYK?)@pvH_rVc|_wi2GWZv3^)^q5U zw$($lml-PpZa%qr3?^DE*Sozi@mo@NXM2-C$5`4Bi_aHhm|3A7g`$YCrq;&F29px0 zt@%18`57TjIEUl1uZH{c1uY^5(vDga758F9-}I`dA3b%qlcnXW0*ENiR*W%2v%%pN z3ULQxcNIeDqc1pvtTdKR^r$wG(?DbIVheAkSH-njExaYE#N(&t3A7VjZ>5-Lt2Sf> z2Qb^qax+ZZamHDePNco@kspAybFU(oy<>?s$U-DHzH*0!0(dd$RVMQE(aVu&URo^t zRgI{e^Lmj-zD@hu%~Sq-Q#I$GH)vMii2#lQD>atXRi0jY@*W*@isi>dw^#kzXOqKg zDue<}sQMtGpCUP4qw;m##5=#LXCc8WUYSGgj<+q=eajcZryn7yRe%TVGn<0mE`&@A zPOZMdJ=qFw%%QIzwNqc>p*(7deO*~s7ccI32#h*ctw4?x-n?$_D=p|3F!N^kNzApv zN^xpT`871dAmWDS=ga%WJrBWkElN!NfEEaQv5W1vU-vAW6&W+qSYJv4Qd*m~YaJfn zWl|YwRvC;H-uL`{tUo)&z}?U9{LkL<(*A$^FT!|o`P)N256UHZnml)-8#hL#Su8Q@ zQhWdno%z;epQW>wNWOE9s>j zRxx0HZzPs4Ni9?$udk$X(v8@onHM5X2W%QM4-hLZpqpe9v(zVT?a9%Rl@GbF$3Ppi zIu?jn>+U-kD{7h(JY=Wn9VcZ)jT^_HlN3=sstCh%|MnHHPmUU>>HYj_xl6M_ci+iu zcMAkwu-6U$V%>#S=2|`Elr4sjL{4FG0b4l8 zIw0u8>&!L!)1vvJPm@Kb)2_#K8*VHn4!Iv`({*)ve`WK4s!CFWcyAAm?W#E%d)Ik? z*fqzmIhLgJjl^B++_jtpIU{;r6G_Vyfxh4&hEgoN!1Ow)wKHd zUlr+NSZb=;DWASE%f5UX@||6y%qsBKu^&lk=2ktI|Jxrw>J68x%lZmp3}0xgCGACd z7<@0<@rzsUK%Uau4i&H=;+CDeMnHwwvW#02ve6Yo`4I}BaL%yEqXaRD$`VprL>WCC zKA(l>LDTrUQua2iqLhc)FDp+;n`?{*SSM^{U!%DWNqQpJnr)o$(l;z;X>N{2!m|IjaZIMBU8RA}%zi86tspL@E6)ZcXl(TlA1fCB>^*DmD zvuRDt#*4bbDcdb%Pf#zeY=Cuz5zmVOx=efi+2USOu&^YsapOhV-o@UBP%c@)lzY=D zs*cB4Ja^wFHi0V~aSkK0iUvCO#>3as8*Nxu3JSnpHu1h)8XKlZya-zM5@gttIy2*EAQ+x@7s9s$wQxq40yGeqegWlN~$0TDJDSk z&c|I95y0!t-g%7UugdHRj|3HHcW-DF9*K(hst0aUf2;ba5s_p{YmVF*^1wqvRdAcN z@8V^Ngo34h)Oq?##~xGCD?z8BPDj4kIx_tjU*q4+=3MJM_Pq^bdMWc!d}pn8PomnJ zq&u~Yooc(w?-$ie=;V;vt;2ceVV*SXZr`kPtRQ55M^!-_;#ZfsGq**P@x}7dil0^r zFf#@kSi>Es^p)khwT`fP_OJXgi>}in7@xYL!4~CZ&y}qoBqet(%NkqH-U_@5TX|v? z+~DD;um4Eu(})enTno$-eLdRk%InoNvzNsnXN2_<>0Bkz_S zKP~ul$0ggB4ZPs^@PL`*`V(VaLo<;8#|58ooXB@69gJhib<6(Lm;2;l;V+2&0M($n zF2`Mp9sweY2b>xbPR5RGoAmVbbZyaHxSI(@Bw=hQ-bS`f0kHpKzNqxza23=K>c zxZ*avUN_D;FowY8EZCZv=6Bv%61MlsuDe-gfHCtbBF!oIB*N#!kU=AzRY9M)+0BEj z#Q)w76@f$i;;fmQ0hMIc?==oWD_P`FAmUOs+nhza0I-~sn|h~L9MmjU*%(Q==ZQ4% z)NDE^qERp1KPZ1C$uurzbEk;p6ph6*$IkEkKpcuo19w45Bc}xi2IHwNFrMlu1->Kt zx}dCB^1ns~x%0klj8Eq2;wcTi<8TpEu+x^=+{_YsxEgWd3VqL9GII%YP3I=InFd-FO z%8*y|=s8R}tJ-7v{p&MFA-gN&GZl$muFwjnZMa{b5DC0qFUXezzvV#~5zBk`^`R;B7ae)y4X7Gl)8SRXmT}(3CPHI`S1&j$ zF+TkKs^jkbja%tAX9}ZZ{*Dxj*pv2|@#DE=+>Kh*jz_8jI2gGq9$9Ml2%AY^sx-^Y zpBV>H5fz|7Z@c6}F1T?==Awz*xbxiY2;e-`^Y`mvlW;P>fxDYf-gELUb)AGb2X4u5 zK#dekoGb7$XGD?ZkttVhCRHu6_tlGL-ZDh~>!e~Hf$DFRy>MdxlRUKRHSIA$+4?E?1t4fx>)m?ha_G%V41&F<;n z4Wae)OtQz^s}y@6T}c-1s}tG=keHWQ@JZUx3=4K7Bh* z^R5!(Tke^BXI{57`VsMbINyXmcNFe8lOgLaTQNe_l9wjkU}3ds7D}fDn{YBLwuSq8 zE-?YV29^@%DGT;zf{OrDRQeb+`g6;_XWbpYdx;nyWRlUd5-e6=&5f%avKn{F+`p`5 zjWEQLPd`>tz=%A;~^!>Ar?;kF<8ZX}K zSi2!!ALbOU(Xl^G1fnuiT7^0t`1j?PQ>Ysk!h7yqX^%lPZZ&%91kW9qo#VK_eJxeO zR%^XtZ$zN@!aHvP%;@f6Q>X%|n8MXsyVSaz{{&tcWo(A2eJBEJ0) z_V1{U8ART8E^8rUO#y65t6iP!nQ&Q-BiJ!VuS|(IJQ#x#v^kB*JBN7!6e;+D>B=Fm zzc*8dvI~bl$5<%y$FhTV1Fr>EF_mK}G~I_&fTx!U0IvHBa2fGuc_;255%+JzK;J)3 z{QJAOm)or-p!eGFV?izJs=)8RL{MAKE${1K=~+_u61d!6xofc#e3(fdG|eBOz0@6k zf6a1+QL?g=OxCO2LJ?tOF7TSg$>f?^bd`%NVoJc)N@MZY*0rH0 zi{BZm#hUNF3jq@G_54SrypmX1YCaPNc{bzc7l&41iw9IQ=-r1;P~fZ7ku}buP$n7V z-i|z>n67Okb_mJo}rVkZ8$t%S@-?)1^$r4YwSLhSve7 zlZN9c-)&*_aF0$E+Hny<4$O0Ik46CbpV zIzRB*MXgLN6wb)WTZZ|)4u%x~;ky)P;bZ~ayf0{GvIXyVNuqJi*_jWm0=HQ>B^WQ6 zW+jQ37d}eZG?TouDe=9WQ5J<`kC1X4vn?Ryi7e^tP;Bae8>i6o)+L2GS`t_<1aZt* zO4jBla^QRq=TzTSWFfVb(&PP*m!FIs*ScCNHW?B_m!vjfFRE2y*8BPhBY3}(-EY_c z03ZNKL_t*G6oA7D>cC2;!Je$lu+u_(iJR&HA^FwEy4teNX+1ZOUv(6gbuwq!o;h=U z<*LI)d?{Z8yV`!7`0<*i58s>YQ`}8_k@T*@EO1!q_G&1XqR)}gaonxx+zCBziNqD* zv_80I(vfXA-2H{nl7iGkS1Xs~4cb({gxblNB?gq-PZ#~TBDe5?O!_DYi zW9BoRX=S&nP(;-H9h3Y5?$B}$N8&}rI4E92j$=4b@OSyE_k-WEW1ptYYtoz^_bI6~ z8oYbI-%-3ijkL#By)M`jB}u_L1_<|1McEqtkj?EuUpF_R)mgr-D@7YJN*4dLCZm=% zJOAkJ2ebU-^|~W!rh7x;1A2n2w7PRg0~TQ;Hfqj#08c=$zgH1cZNzeIrM6sJoTQcI z27yVQm376L+YW7|#z>|Z;776OjfcjOlB6D}-yLhD#@ME6(0Qp1jDnV+=AGoBc=lYU z&i+=M6uUyBAS~_jH#|1PLdK6ZfEN@6>UBJj@J9I<~5PtX1F##Uv_~!SjQW_*# zvfa8W4rWS(<0qs0)vTgKarx;pWLaECCK*AplaS|{! z#Wra#2RB){l|^Qy_)=bm zJ)37v?|JwO5QW{JxW63WMGd%5LO?V9x^KYy8WFzBX=UaAv35}j<4R9ur$LxCl7vC(pN%rezdrlJ(k+>+B)y(wR&O0CR} zusPik+6f{nE`V2pJhgAW57O#GT>-Sx<)ur?UY%Lwcl7?*{fnsCoxA|M$R2zZ1c!;c z_sElF_g?N);PK&{V0c~(UWN+}tGHU*cT;|zwiJcc$>)@$zh}vvtI<=`75~x_W_N)* z#aKEUnNVOQRhib$31ttVZU*pmN#+~AcnB7ont1Z0QJn%7%9b3 zQXKuQOC2H^9v4p66GIO)W?tDiB0luB_9BKNVDBDNo!#X@Q>h5zx3N+E9bY1lB}4&H zzWa^DwsFS(TAcaXn!A`hp>V!{0kS%@9;<_18CqxEtNj7f*o?ez7Jg0`26Y;GPWGJi zo+O?2>2iwWmD84s{Eh?Q^W6hXp$Quxwjbr%jN}2VNJ}X1vM-jPf_Y%-PFwkST_Hug z_x5}IJ_G9$j<%wX7OF6Jj{Vx~6#O2`k6zK(dlJ)qAF9)`s=64-#0US|q4{^lYQSQh z4?W584P?abds)~WH`iKC7*hB`0hEjms~GV)k@eQ8_zEEb%|BPT!@@{&J%k?~*y~Oj zXNfz)aNC{gCbKT5>S67ysFkhLAGA}|g?EeJ;B%bgp|E@OzDW8W)VQ{zWwnN&*_+{`tEIXPpF(pQ%G4UU`LjG{5By zu_ZmW5-iJBvHyG?3d9SsH3Uog)&T(+pSP@BIn^_M_q9pxsl+5a61h$O{6=q;^32vC zu_T;PgXNO~e<^uqcigo(>8&smd3tip$~DjF2}hkhk00Piteb)mksL&42@eaGyt3Mz zX|3|6fP8lIzw^L{_o1^p@K1Qy(pZ!}fRR~VFwXm4T7tUXX*R)a;=~HU){KJi{`*(h zO?zHy%&S`$%kAXmGg<+yrXDR}JR;1?mR860h_eWIw=n@XS#1l*YI+;-R*Xo z`L(=Zm*jEJ(;kYg{IN$#IkAQ+PdjMme7!-Wq-C{tzm_dq{1!EXY0f|v^)()2_(3Ag z&oK?1`h7!X-++rzPd;kSMU}|*ScIK;Bh1EBTyO7V^#__$AC{J}3-FiE`$Z~_R48Y= z9iv4ul{;2}6WIl?#9Sr-xlHN1Pr;jCi|fO8=w-~Qe(xQgf9Ztc4qq-pVYHEsTCEP0 zg-zJ%%X*O|W~y)pk0%$d_-sw~jAl8rIZ#5Y1%`Ogi&!--HKvoYGpfb3@mBLzmLgQx zPw3|-CK9}Cv@Omu$CU<*MCHUSkV~^${kU^v$K2z^B++`|Mjo8@I7k_Gudi6;3vx7jrB^JsTyA46}2O_FJo0vO6@0i`q&9D^v{HXe4}AK=y6SXfq8L_?2(YE;BT+b(zOTweyD zSs=3f&oL6#KB?uYntNm=JN`B0W~IB%@87h&ipSX)WRPp#_#y24bcvB!i_Zk6WawJ=kl1nCj3<``myF~B zToE~EO_vNGxMr$(3K1-KlM=JOz z0OJJNXw@B0+hfFBgGzAX6%{9kjZCWD>eQ4svPKl9!rSD~8=2>z8iSeg{o#sxNXAH2hNq9P6TgX1=STb&eUnvYCCjg|zLTtux$ho*EWm=~ zJQbezgsPc`t3Oc+P4RW@?Cag@o3>6;e5r72LsCH{d;vb9m3k4C9hf+{x{6(a4G>O zXk95v3j1UV=$&y%yvzG%CWZQKEwpjuiJI^np6q34L87k2bW9&2D_ntLkgP|%tidw0 z8zbXB2h0=z3C6N1&nbh*q5Rc*g;zPcv(^$-b+Vc&H0;HPJR%_(=K%LB10t^vgc(1R zSTft$#9SmZJc!yfp2TY8=Xv11Uzwd((4YPb6n?msYP zvPwGnmPwwol@1XQkj>q?Vrf~R`yh)gQcZ_GY0i1E>wa6KMn#k|OozNCA|^Z+OtGWgKIt$Ea=q;h_c?}+a)(7}k!2#C;<;MK z%~stKkB;q$CY2H^(ML4aTX&JZEP*2|nI=<+_G@sP{zq-RKU8h<6>%YPzkTw8`jI*s= zTQP{@`k55z*#@sZ@jw=0vCY>RKuG2^Ve2LM+m+(ol1sdp#=O3o@d%7sM1I7d#W@ z0lfzJ^3zzk)!L> zcuoc4<|Y^3diS0*tXXuqxV{Ip_*T60o$s?>|9&yuwU%sP`WtR0p2C)GtwcBR{)PV$ zAJro*d*1DnXO`u?i;|W!pN%q7IJMr-pv}5sN#~L?Y_sRoxz6;>2LF8d%&zx&52Q5w zeaf!RdqLIbKG4?mmc z6uHTeGZNUD!%s?5rIoQ#?AO@0_Kl1L--2`Zl92Y-l1S zh21GkQTDnDKG@TVU3JHTGSug04~blV zAMb{MexKl*0J<4Vv2>nBFWs0T`10dV`1tWh*yq=Ly?g2->vN9z>_pxf2z#TKu2_eJ zBlA7iRU*Ic-BS#a^YGq3TzD=m=`J2ZX%znB|Md?{YAJFl7!aVRal|kN&6W6si4V^5 zQ!9+&dox?FI8(myWv}eTZlif_0JHap7QwvhYJ}|d@6X(~{{QX$2*CFt0C=l5-Vq~@ z%0Qkc?>-4R<_N(<3(#AL$hYO^cPo+QmF_4X|Ng0ezrOo&L{|>|f`>bM8gJr&NV6Y$YVqAo+E;Vx?%qN8 z_aG4dMtWIF!?15eR58vg@(`ySK3{&o!Iw45ZyVr)R`k3k#PdB|r zMQZ_3a5_!$m$5LCJVjjjo$I#sEzf1ION1zcKH&I1O*U} z&uwdrw^GcXLcxYkaHjosO&?dG%_41f@tVZQ0@(zw3#Ps4EV3n@;f{DBeXyjQJ@VnA z^L;|@4dZMJTS?&tN7Q3Q+Dl`&-I+Bn3r=9YNm`_4{PDVD+71;$*e7@$9IKJ`1UE0G zSA0je{m8+qo#pL%5amv+G+b`x+$^Q>+gngei{+ydev96E=PF2Ir6Ka*WcYi}X5U*S z-lWLe4JVZ0mQc!4Clb%K(0W5H+*73_FFN z%^-W?qa5Q1s(G(}kNLGV;H5z?S*ZraIebWE0`*|VlZKu23KU$YVVgj-VuWPOAPU4i zyOTr#5D3Hb!$xN_8Pcf5Bu+U+vo(Si7brt_Y4cXD`o6weL$>nYp2lYjRcNUh$^Z%B zi7K`Orfs_MG`9qCQGJ&3ZYzFsB$}Ljr^3=-VAASjr-?{HCTQRhI835v)YQNcHE?$m zPwATTcmf@Jo4D7*c`^5HNu;fax-w4h7EN_P;;IUJOo^!oD6nC4>U<3MvYW2Npr;q2 z2Fli}X{I6x6sZIExX|l9tU!YGaiwVg1@{9HYw#V^2%MggO4;AsDOsW5#4tt`H)?!! zC6`AY10idb%9oC)ZNPop1Aknj`T9BL5-xK$=K~`pr(AdA;fB{Vi(?{YZR5?2RgIJu z`IL0GdI+Xav4KRgr%_|J*!p~EdIL^Q7or?^>wts{H-KochF~=G-In0PAf?AH+P}}H z8D%PxQJ&=nyUR?U?)f|1(y9&TGk9x4@VbWT+th>Df<0!e^7VwK{=B)84wLijk<`W9 zY<0qw_TGYa=Dl7(;SL*;;!3Xs4KreG%fu3t%yn!e!u{4sO?m`)*_xX8x9%jYa@-@i z16xVV8NJ3QERv-%_=(b_8H>5Mj{W{@fN7}71d)1g?B3TVS(GA|@yh2Y^lmNx6~TWj zvhELy6{E?-6w;n{_npp9# zG|%=Oc{1B|y#9dYDCfIhfpnRgaCd?#PhX?taQ0t?npJVXZgh-{GOVQ3!3CKW-zz05 zj}VA>H}^alc=0by73-~3oi6=4z-z2Ecj5QBqt9Af;D%=gQ@ll4?-`gpJSfJ~y=~@T zfWmvXGv0+(b7z-Yu)b#9NJXZxgRXT2j`0uZatSEErdKX{OxOV;X~3;*s00^8#x-9B zV<}zv=^H_THUKuAFFWi{!@eh^(|9Bytn+=~@B^i9Aa=TL38%u9~6 z_hP0G!lF?4GPgsGNYPKIZgA&sA)nQ zW~Al8>cY41f6tPi4LWR<&^us%r4RVO8tm|vy>c233Wk&CRp11#Gt(>Enl5Ym;XG9P z`%2$UZ8=HfU&I+a8-3rp_e6%K^XOs)fPc}#Quje>BtjO@!q#S^)YE%kD;|xb-2kdf zk*?9F<^;#9`Lz^u1BzTfRnc=+zHfzfKBPiU(#+=6V<*tmhO_ki{w^6<_X;*i^;|eV z{D|wvpYmF9e}#ShjWJI0(7zeI9v~j;^fH|hqwV$hW_k7X9CX@EUF|l+H0l7>c@!eU zQHo6$;m`#a0f8eI%J)pkU&968`~&{FN!lc5`+o6Fui3D2ruw2Yslugrx+ph=L(iXVFlZ@i0# zZuTKovsq+0wSpMdhhptpB~sC99wkcePcnIG>w{{4_{7~d2D-cOCM?h6?eO>K>kxS= z;?`Ko<6U>M@Xgg{`uKqU_!F+5e#y`5^Alk&f>6#kTjkZu*7E;fGwu4>&qKX9sYMK` z!;WO$lYtq-Ra0h>jMj^hmX9p7IO#^BAH{Vya=(0uI?xFvVeE+WgD;{c7;M*l{p}=b zj0eL8oeinG?$A1U-HP_WXW1E@0J>FPeu}~w-#!JQ`I(=!4m!%&-b&0E)QAhL0v!AA zOBN$et{c^U2E%w)Z|*7?qSfXb^~NKa`vP%DS1Dyw$m+o6^|(D=m#;*YA!VhG!F1kJ z9G(~!({0Zj>^?60`qWp_cuQ#5O2K$592RV0H%}h$iYd`$k9b;BzC}XAhT}j!7Ej?3 zMO)wcpSALcH9-$BnID?q}^Fk$!0^p z2{L!skhdpcso`yQw~+6NCS=@Bt)1}4DNv#E(C1|_*=7E?m(>XnO@q*P;M7CsFApu; zJ^`b3|4)NLJ-GKG*Sst5eCRX+d@tu~%qN>V8s9er!~jR6E=j$R7;jzlmwna1>$?^F zH@{`~`md~Z^~w)ctb3et^N&&R$({+y+o`@@PYZ~mong&M@v zbI%;Ozg8YNuUgSugsi0RdBUu)ReV`1R8%U1@In50d$($wS`y=Wz}d@+df&;~e}t2= zJP`=o_)Pql_P%9FvLv?-@EciKJu{+_#t+a!|Nli=YbkAL5=WKS0WBPWAHdyjWHo6r z$&9s_>F%nEjJV+s;NU!@gG-Iji>TQ}tkk}4($;M8SiW>q67Ke}TwOC}t=b#WWe%)RX(vk=QQ6iy_hO-bcN?GlK1 zGd~%Y;oIHN{@D+;>HMO?lhN5|8VqO$0g6}#I7KB8o|J|+@MTqs-M~yl(ppUXiHegf z&GeLMHN$2h{ELXpQi(ZJkGu7M>iqRdlo_gjV+R%_Oer%BhbYlDTpvG=+hzT{dHTyR zc2x6ucTUTcb~ZSq{klNe=NzYvD(q`uH0%+=hL7+-?#H8e4J6vG1J9}xLo2#A^As4Z zpx8RSVs`I%!cV$BKk4=P*TD}FC6&KVTC6BglXb53?lD1;TY}a+bDE?{SQv-&sG{1K zbqI&exgQFu5lsVQWg+^qnY?skdHT41#w3sL$^u15>80{TcON-aVprZ6@wTb_>7Ktv z#I2La7s>sy87)ugpz91f!41lZ?m8C#JwLsDvFar*cPN#Ohkw!V`-Ui8)p_d2mm8!y zzip>tYdoi~VKc1FO#5M+tG9I=*O&}+V+umJ<2W&$TnCw1{E9hmSTlB-2z6+`2epH5 zTbh>YGP;01p+;^nQwE=K4`y()fskR|!y?!iYwTWLp6)W$+A+T$x8+yN)crLxHs20* zNjIt7;b9g=hRPFNR{J^fWdfz);9|MSqh{d2e7s~J-z}J6_pA(~ko%$(rzCAq)Tjzy zXjWy~VcH^wVNCxB*lTq<9K z0*eWd+&R=gs*U&>jvArRGEoc3U?y?%sr6LqQj_^$8-=cZTu5Tw>PQ>WHc>Qf zYz$Bh5KCxMZ9O~8<)fMRUr63coO(Q20tr{te9R(9r(Qrd|G?-w>h;2*L{=-qoZro?!S*=eV?fA zu%n%&yaL3j&X){BJS#~X14kEtG*s>~9^I(0a(5ZW*X;I4{^fKwrvT!{biHCwC&_*g zE$En_Kthq(y9ooYnPw^`ypP~-dr_;XU7x;aL1&Ta_=01ce7(sc&{?(J8k}->yisjA zEFu}8JKv#&p=EDgM%{5>DNa4M$`rsdBol+w4ppgI??h2XRouqe28mcfNh=8X^@FaT zf6(>$x8X8$-$e2&3`PcfaeCde&X#ef4rlF_7q7F_USa|a?{MEZ2h21wu1NbG+KrL5 zASv;lb(a0!FK9QfN1c@cll%I6k8Y7Ot zOwpG{gflZu74rcWXHETMu<6_UzUx{E@5G0Yw!OkS)nbH20?eSMX(4$YP_Fb4{({94F&$br73x8OXMktlF~iQA-yNl zIKc@hbvhGIy=+i0!)xGI)jkGKoKbjhL!@SitS_jJ<_v!E0h7UVvyg1STt+M~>t6D( z>P<&w!|OBVl$d3+PYkJhw?6L@v+uQ>^zQ1pUuI^Qe@=wu^_(QLmZzJ!d;LU#F~AUB z5B+RiEHT`*Om{7279D^hKS+X^BrSM8G`FFNios&C(ZJoAZJ|S*x z9{Z6e0F+xUa!}uS*9W!FzY+cT+wg?{x{2j$(^~KhFtq0+YLgc-sj}H>a)7mL+yRX? zd=_}N#&5Q0O+Qo(W%qfvjLB9QkZ9Hpguk9(ONAH&!{4RZMktLNJr$yTfK1FEqgS%f zx**Q@_HX8p_CB9u*THq-VJOMOV7v;B#>G<)2T#;(iW+!F2wNL zSS(_zHA^oA?|o-GHl0*W=^;UNWgSyT{z)>OoL6hh;u!~=MJ(^0Ls_>JQQWIt%u?o7 zORyQZsriDii{|?Hr0e5zcpl!jdEHO(3m5Pu@G9H6>XRU8CbiW_)Fqi46wH{TQXOl# zr4rob;l7E78Wb?1bb!!Iiw$#8-ry8%T5WlR_?V-cTZb@_4zfy<7XDbuVq=GSM2(XN zsHj1~?vq*<5jVqh(s|aN`Z=6BdLaGN4T_0=$P@OYVkplperOc&MCwW#?n8szg)V11`Pj{Q z-0Ziu(F&XOFFJ%JBXPthbVCrs?%e5av!G@fzU%iK@wh_kra}xU7iC9ZI+x1!vN_aP9O?^RG-jFbKs4693s6BZjuo34TD@WV+_`G>pL?75NX)I;oq`&%ns1yZ>d>U&&L9V? z_RP~?k&xQH%!|}pW*i1Jnr8d|gMbAKh0q~tR28K%T>x0^l zztHvZ7t*gz!a_~HrfgV%F1zUWZN0k@W|Yg=L2%sK!&n8rFL$YB9I5(GmieKCXH_P+ zI&G}yxHY)xsSDosa$zdtn~0 z38mIKtxg$I+u8ZJ@7L$@G7RqyaEq|{7tVw)NR9R2zQBRg{IG){C@LLp#XhP+Xn&cq1 z;M1^^R;3qNRIP^g_=1v!Em++gV7tP?0Sz$ETbtU;c4mK%qmCxk>?6%M7-H^q%Wo#1rgdANO?A24t8%Upw%jY0AO#M43o=v6OM^W%lyB zX_2X}BPT`+u_z? z=Q)8}W*8--L8W7gU5Dt)t0Ws$PjQQ82At697UZcqVf(G~MwhQ&MAtQL0`vG%(%}(k z>KWhcQM&hocY6P2fD_svX~gWN)3hSoMltQqabE0s6U+~TmIj}dL3p4s_spif$1Z&i zSA-W8oI;Fr8c!YkVA9!ANG`fC#&{+)moKsrr-{exAoGGxyn_;pG|t>v(odXzf7-V!Pq={`ESJpBZ=c{fvt(2cv(U$;N!ZaHqpD(-?g`74ID zj|qys&WocI<(Ruqml`bx4`Z+aP2-B`8Y)vu9t(1rQ>E>nM$_AyeOhu)v%QLMP_eJx zGsg5}dxcW{1ah_HM3XK7$!b1L#3H|GKZssG>3aQj0Hm%dC#|0_u`V^W0Mo2PRaQo1 zkvG?Hj>R`1NwjCBw2%!$sVSg0@6#nX8C6PJ%hMtqdv`Tpl>A1&Nq+t7=xK~1%1r5l zs*__p4z|k}0eSBi4k`?~^!dQTE=M~&G>-mS#cX<j;9=pR z4{?C|{~ORf%tJAyNb(PGWvI{ZJ9xSqIOjntFN#FVFQYQQwuy8JtSMqvX`wM zjtImRUtG+SsU#W_(0K^lfRf9&5k0oab>_Ihwgd{e0ScNuCPciPtht1~?9S9>4y<&i z07hQQea&p7$PwiO<&I+{lhA8RN87Q+=DU&%Lb)4kn`yMj9hvJ+5~VYG#U*9bj}If# zP@x2)pvX&bOr!0cv>BS;{kgDt@;i#|0PYQ}$Tml3j`b+WVTp{r#s!X>c!lx@wbxH- zAAb)P-~Z)Aar0{|H@OvpNNY2`#O z!qHU5o8yFZUxmt;T}tBNbudog4I>QqO#_u!V>lEPw7`>rkIyAd!dLDQM|~EYsmj zFM0~X4S-Cn(tm3&5CDYUL&f73Me_iZDg40&G|yIx+i~p&PklAnGd2v0M9JPWiZovr zar=Yx`bquvG@Gw+oTBqD-z7B{&)|8X_$X^6&PcQfH3mAKh530)@52(DXI#=SWYK9* z!qd~uop&)4C}N$-fH`w3j-Q7Ikl|QtDK%_2dYGlyT2o`+MI;lc#pDu=AOtt+H*Yev zTb!N1Z}B^9AeCNzx)z2IjvtVCR?3)Uy=2F3`g3JYj`Q>JT~r|hYN=o2b?>hdv_x=Q z=Tz_U=NRtk4Avo_jAwTP?-T{4(exX4Vu<^oPs4y2Oq82wg|gbeOfQLJ1fAa11`))H z0ld|N$_o9oJGD{y^#1cCY5c!}^yIDE^rxeV!o#R=epB=I_5(qqC4xgUqOXub>TJkQ zq8}fF;l^UoRdDyam9_fXG^AfAVm^cXY-(Z8)UT zVV!fNvIwE^WV4L5kwC0C?$AvCRgbqa0}y2XDror!>V9{l>}64dFVBGWO=c(JNhkL_ zy@k`MI{^@1`d3g$7Uc>8vJXinWN7$72L2dR4?z&PO)-L0)w&$Z2tR z(<}=tcsc%?q*-qrg1KH^i=X_Qano)pAQ}c1GY6JRa1L`GUwhjeJ6Xq|_zfJ*uV{Q61!`Z*?*`eh2U`dR=DNf}GoxKu?Z z-h{=29b)06RGTU%=LiTeQt+g}^ZrOIi;;##4I_ zuQ1C)w450@z0J%b1yT%dBKkpF1R^x-oKek+z$&fvu-uTRuAobXqn4|TPcpdY+~f}T zYIw=*2s|y7)VW8nu)#pmVMvFlb90n^S~m?d4m&>D1)>j4NxBSq@g5Y3?Eufvufs?nI!$Tr`rh{A%*1YVFsgD*9A#G?qu}e4`1->l zyv+$lbtOolf-VKy?~NK&b%AqKtC)t0phQ=|5?!0XwbbpvxPp8@bRWIEVL9!UGy|zf zOO)S?6?tzC>NVp;y9&py|JGcba@&n9pnl>RCdWYjSVp_(VcTXO9G=pJ)x&j`njcu^ zw$esk*jEA#V~$owdf1kLlK)$^VTN88(`lTgBp?m}r(2aT+BBGnB(tc}l(y0~=83#A z^Kk=tcGvSp!-dx1vq12M&bY4R&BmaZQY~PxmIcpK-=H%9gQFM*jK>yc@)yE?zpk;t zUq6TWp-mqadNYos?#;S-B0VguHab>D=`h5!m&#{Q6tLihDlrS6(-f#RrDrA`2$F&= zse?!!25#f|P>+wB5bp+xWJJ&Yr%qHe{+AKYF< zKYmbapCcrZ`q<=-a^dvP^a!i5q{4eDx9Z|IhnSP>F9XaoCm-d`gI(L0I{4H8hHdk> zai*LZPWUC|-Mffdh>}uMHd}WEDsS=gXT+v7D#X{=^__@6%0hw<>md!|Ja4hF4)hLU z`%J8izjV%D)4W!fd2kA!V?c$0n6c1imwKy+KSF)x8hNGF^9?s^%R+-R$49#qT}3oe zsnSq$Wbbw`saG_ow15)nLR$PFnJ%6lfdm25co; z07tumqtvy+Q4p4>Z&rT~_mv}@g9_ePA)Jj>k%=3zPTjNUC2|C2_Ce8eh$a?aF5OLL zH*WO$#h8izkN-qO|1BIt`T8<&s?7~{!;HKG09KV{X=Anx&$MT~Yr1T>|Hx)T5|2w_y*!o0K1+3|(DeGG z#-GGuzWCz016{K1BRfucg2%0us;Q@_=Y$iRjW@|37Ykx(hKL`nwmtB38SRgBl41e_fZEVgK-h=7oYh3$v)%S|F3u+&fzz$Z zw=nAX(%SC!Dz;OpNK4cAg?>>D4TI0lny=qL?;GVjWLU_eh43OPh{;f?>;y)~hJLn0 zGN~TraM0QFwg$u|o#lGdNx8MiEsi;K3znr`7d5^{xi0s-ElIMcyOUke%+mc0x@O)0 zV~j7B`tSeMHjj{AKV~L*lC9QRF2R^<%*#`NgIhtxn|;l4slf)v z71_)vUtjRP@kWPHA48uVUfN#v*uuLCYmT3wD<}MMVZ!ld^Fj$;jU~!VHfM;@?E4zT zT}5Bc0Dfw&VB#g*edU@FX9TQ8k1w{x=5fZ%8#=DSWFcORR~-`QHqJb#H8lD@Rv0-Xph51I%IPTqnurgTWWQ zfV0d#8+?1LG$!3VqR>Ux{+%E2z&3UL!<<5Z66=2cv>uw}qYQ1sW$n^v6DAp?onZa_ z^CViQ7{(b&m3uQ7ujexu6-WBjP{lNig{#^%K!bbbEQ=s$WV<<|zy zE+dHKmCoyIR=hm9W^YSZ-ng|K4|UeH0#;ZK1^e;>Fh%C)#WCF$h22p~@$YN???*e= zmx(y8QmTK@;(v}Y+6E3yim7IiiDt4%u0}Adl0v&MsFVIZ&qG*AS8>qk*9CoJGf)a0 zcf;SmuOn9~?l7!N=c5M7nxkHf>82k9Ls2k6Q&3|A8*WyQ%9x8TlUZh=m9rvHh^W%3 z9wcy9N|@3Fz|uv8->K~U<_Uyem_AfVX1lgfGs(@u8t1;6*vM<*2yiROhAq`I5I%nH z%RUQFuqW+q21JwA-}BeM=B+mt{^o|f$^v0{5cto83$>Lr4E%jAUkKh}yeY%*kh!3u zBh|5XO+AGn-UNtRD#g=r(Gp4RA$;j+r7#dQ1%a%GV;lXBF3MgYJP7)U3G6h z2GIqrc)a^FaK0`+rpJ*rJrmF9yr4-rIFrwg*~+k3rHgS z4OsyUqP_6~+Wdmu?_}p8J8EXUqls~3%y~ZvLW=EslAV@d{)~t@uFo&XFBSEL=b%tp zGUtjR1tcisp{;LpM$Q!mnE)uunU^7t$iA#}Q{_ZjVthWlBHVr;4J|-RYlWfe(e3S8 zNiltM05YKGJ=>juk3%+$#Q9xqWorwjd41tjAX-KsLx`-1J!9);H~I)`Xv6$HUi*T% zA%1anbn`%s^5A;-^2W=cnZ-yEAZk(6$(#vPWIdqMz;%ugwt&wSa7;0pK`C%~T z=Ag~C;4->Bf5$%~IgBv0?4IXeP zhSL0A;Q&t-T3XU$@EJ?8nmtr4m7z&1DQkzQ>k7=pR3)UeH!|Z~a%%cqr%iUeSuOyZ zD$r)dKLR-Uz@T)V2D1iG&p# z2O%XCOcq)h-KBUOAOa<0L&`}mdI9+-McvTGGjf7YRQ&hCOoQ_6>+C{pL1mr?!iI01 z!WZu#t4uD$+#FS;n<@iZE7%!w$q#c&7iQQ&B1OoP+7j`!N&up$kZlMu;t)S58)@ll zYlypTwD5rhDQZ1j^`wMEBT-(d)5|iUK~x}*<~?T|{wH0uMk z5oDez7FGb^mgRHJzdvT?3jck&ZF6PXI z(|mYxfIRuo2|u%`RtA_z!?$Mo&4FnkhDRn98ZnBM000m0Nklqa7A{oE9nn3??@Xt(IG` zAh)f!6gsGEG_`VOn1#q?9*SE)U|VbHhICTPjSAN3Gp><-=8hz#=V{O*d(J)g205p( z$0hTSg<~7XUUBLQ(7RJJTMf&8qdQcuH$kvD0C2RThP)v^#1HKAO$nEoyo(&FHP2Tb z=auN6JpbM4)X(3s)-hA8cef)pyG5h7M*Iyk5al!yJf^H$=}0Cppi%w6gX!XQ0huM1 zrnsi3X~y%qNhkUuJJ$8TKaIIka%g>^yxoqoN!e|H$^hJLunphA%pEylQg5QAj{jaA zhN~YN<(srsxJApjk^rLi(4;&$p7Q2sP;E_0J^7*HOnU_5sbX}mcB3Pc zC&??_qYY5?upHXV51oS7sD$4kI{yWwyllucva$TxEwDE;{N4DXlu`=g58aH^wNJu< zN~v>|4#=s@eiRYnFjL^N>G)xBJ`sH+14di2j6MKwwAqAhGs2Wj--vY27M9f!@`qf4 z?SZ6|mK1_Q6~^h_s@PuU*7TUb%TP}%R@G$57P>Q1!#sPea{Tcc+NGn5ho*e z*;o9Hs%6I#%&pXGeqkjRsR37+pyp4!Y01NU9}F)yZRxT2E(^TgM0F=M04geXdgmBg z50W>g6Q>f3b@O_=@gmVN(~YZ@lx||I>R4v?+Vb#ax5H+C+VHzgFPp;)L9deX8so(d zR8ZhOBoMZ(gq_9Xue?`1rNz|GT8TazPx>XdujucUA1VR3p;_0xu(ctRGHTTWKYsIl zsAdOZ#FudVyDNYam3tnRuXK%ZgAoPg4HTmc9}C^N=T45TyITo;*5QWdV!W_e72E5g zU_wtDfDeESzIL@#+6f3Y{o^+KsuI5OByB6NAocjw)RN0+=Cq-A@2_v(?-NCsOGToG zRo=hg!Z=hSz3PiO_EC84ja2i$^XiW$icMP-8u zKvGLd(K9!Ak3ve#+CO;`_rz=E*rk=7DjOd@bTxWSm!{+yhZ|IP3#rauYf01}dMrAW z;3a8K;h{GwB^YIE-ABFn22i5i?Efx=kKN6F(x-2@&FCP?l*uM~0F09cy&fLB=hvUX zo%(sDy7cIJAieQ_TMmd_?%j!Lr$uOjn=-{b)v@djDLf#|J4PhjiX~#Q{F4Vt9J14R z4m!QpB{2^;H_b@AjTz#QI6tZudZ8ORw*n4U+YH|O;=e1|U8|nPYm3P~of%Al==CB_ zA==vz!Cy>&{uEu@R}u}E*(BaFT5nQWca)wU$i^Qpy|*iW9(mfayDE57-q(J9*|VqH zsyf!5%F~SoT5!b1oAyKBpnv?PVtR)R?k*4c z7*ba}Dk*Hfq;O0y=%bK`%=dsjd+uZzy%2Fu-g~rZ7kIPTsTxm!k^PdojdnNz`MTDWD(02RqqJWr3kX+dkVRF;yqVkX7BiQ!==2crIKTI=fh|K4TS(r}x>>N? z){5hCW1ZfkZpv8x#?q!^rG>#%y9S1lrKr44K(^PzD0-VpV6-_EE+1Z6Mql~82ipd26|3u6s)QbBe;XM{kSIha2XJcr}MAZ zdFr_PuM8Q_kRiQcKrUmlD06oG;95RtM&GO$9H>kH*g&noqAn8 zpxgTXCfuIr<%X}yr_F_jIE|+NNXOeSh({%yYDK+I@80+U5rxH@68cn{>YJy7F;{yN zr{w@r%mma#TaV8ds=#bbg-Jp4;M06)sBGlXJD_oMG)9}XF%i+7)w!%?K2_)C*$%#P zk90kZD7f5W1+Awd+gy-W-mAtAr<0Z$aGbFbbGuX{Tnbz* zt^f2ca~9!A$lHWS8nEZVRx8w7iA%jfVxzxpWwGW3s9VgWB+VXs;1dGBBMHgFXsSk8 z>WcU;?bhz+?(TYjR`)mYf~vOr4n}cmt$6(`tOd*20gGH{x4drdE$DbU9E%xhMdukx z_v!O>==To1lW-b!SIaOuD+K(QnO?N|V6_LZMK)m2D&*I+;ALG%sGNKF5*fF#%(6&J z*`)`vJEFI8*efZ?sC=2cTa>iX#&5rjgQwWGgT@v@zOk^WjIZ*d&j9mt@MBU%GR9qR z4r9lG%CpXm#yh$oZMYG2EP5gqJvqE?_Qn$5v>9PW3%RM5ckBEepX%{*Gxq3eiYO-4 zE0kf=WlY0&Dt}F`9=p@5KGGpTkTM@*x1^WJ>2=VHQ$>Lbh#^^=HaEK)T0D_W_@U2T zzi5X4Vcz%1imIZWJ=N}KxF%oM-)F8xX-;S7G%RWXoZ=Ccs*Ppof}ItVr^&(!ya5oF zW0*nLjmDeaIai!IlR=l%czkD@mWo%PP>+jzjd@O9b~~%D^xx|!6$~a)+K{Z(Rc%L= z&KKqO8qgICR()KfTY5b|ZuzGC^Pk5?s;Qa$RL=1M&8<>dS}Ko{Pkii(f|1865Yz1z8M!_e!;D_w~{3E8#&&K zG2!=mwtZ=}J79kIi=llP#!qF`j(@-tRXvh#PA|2YEU26x!_M(#``)W$ln-Oi(|1t* zoR(?Cj?l7f{9TF5XD$XE4#(drXLsBN{oeO@1lQW36sOJMx!C8@DR+KLkP-bJ=K)lh z`s-i3N7pl|SNX^_jYNyv2Fc-h>-$Z%6^eZKOFUbf4ZHDxpsO={rG1p>Fy*s1ZR)!~G_oyn4{pzW6v^e%hQ*YvvsX zLAS_!2C5F@v@}|#X#j%#I-~gtfxVh+f^X$bwNSV!O1Vd0-6IQpAD|o2qireov-v^V zaP7@0`kfQ?&mg6{>v)rittBxvoI=_|sYm(G0N_OWw8-V*bl;(%?+(B3RxJDtAWOgb zdgYd4tOkV^Dd_fV-t?cz-s!2Ts^9T}Iryk_{LVTedNz36RUTT{iL`_zPC=RE?7$;o zmCuua11kU8UWRo+Y>oD~lxDn+8d4u!0kL-vH|xh&&}CEhDi_``Z@!$Oz*>CpYTF?j zrxX32ZS)d7QVu$%P4BJWC?TKt?gUmt^iXokz8ZM^XLw%ABtzGmOl$fqKb%WXp6Eyh zAzJj{+jc{Kqn!WE3nUr+?&j@$Bow8JYiClaa(=(ehiQO3Tx>XA`_?Ub>Lqt35DatP zlW+Dz`Aj>ogg1xJ=Jr{T)%p=+|7TM*_J+B}y859#^~6i%01hiGYdN~G{(iFu-7c1D zd~hn)8|^8!1(`lRpFBQW%JSn{(hcIyYx$4vzsb=?R}1Rp$7!i5PJEHgExqW}PbEKR zPrAoV`JJki-+*`e+*0Km9SJj=AizZ?w-fo-taI2D)m1ayq_v-G&+~$0qQ6;C?0p69xPl&Vbk^1_a@jKhuXYKqFHVHWSAN3oXjn`??<6`7*ZuoaVAy|>`3TF68Ss7PBZZn2GD4)=6Q!8({J=~Co;rof%5xOZizlZMq$hI zzva~Ce*>QJXTF<%Yx(=lDaE({+(ELe`i*J9cYdD!#yZk-7qP`7erJ+CRSN8P%l3D(^>_3_{>DPvoq$gOlK$pDpOAJc9$#bd%D1_myw`);H$yZ#T9);5?@_h)%YYZ+U*25S9Oz0}GEh z;~dN>fM_}3peTFg7pv|oRLWx`rEK{Lr(2#2s;|G%tDJf`{^r5(om-=VVtg>fEFtyr z`xeCKv+bR5XOY-~ubk2|uvTw-{xhg}1qSQE^KJwDiQ9O=C(tNy)3@utN5yekD?;z7 zWGBwuY7stbRwJdf+|Ht}e|=RhKXU-@?z4v;`5INWs^=Lv#Teh(QQ|bdvJ>V&G3r*8b$e(9J2!8*uS){`+S~f%MP|KKv}zKlgL>-EGbf<>I?` z?cZyY{%-5Q-)s|4n9mA<=AHV+N k*Z;@Aey7a*e{(ziA7b(H@5_1u?EnA(07*qoM6N<$f>;FO1ONa4 literal 30406 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 From 84926cae4cf58f800d87e68f304481a6a5fd9464 Mon Sep 17 00:00:00 2001 From: Vesa Date: Sat, 25 Jan 2014 03:47:42 +0200 Subject: [PATCH 09/15] Oscilloscope, tripleosc gfx fix --- data/themes/default/output_graph.png | Bin 3684 -> 4790 bytes data/themes/default/style.css | 5 +++++ plugins/triple_oscillator/artwork.png | Bin 46685 -> 47649 bytes src/gui/widgets/visualization_widget.cpp | 2 +- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/data/themes/default/output_graph.png b/data/themes/default/output_graph.png index b1405a63b566f8e593a7c7514fc8a5966a2b1040..46ec86d44784ec8e0d732837ca8489010afd74cb 100644 GIT binary patch literal 4790 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

2vaHIHA6)$LfUKG4zQ~9 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ġn0|q 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�LEUKpJVuU81i z&-=G*X$$Zu#_tsh5IVEI^t>7L57WX!x+M^Y$09oB?|d?y{joMSY!HIK7K~wO23Vz6 z{kXFcI1`<*fn^zEVR+S*l||U@a#=VA1eRei^-*{^sn{Dv>SV@7BuPd(y@6 z<@=ubv0x|6sgqM&S3C5yQ6{s^)ug@54c|ZD zC8nFV1=QDf}QVJXUPy@q;$*?rzJ$DkSx+;y?17^gLZV@&GwBLTqh49cV z%s)RY*W|rpkYDxebRFgSkA7-iZ@v4SFDb)B6aOiMv&r~r2_reXIERdo;Belq++0fl zu~OSR%|GD;(lNfv?^BMe=?2H_`01{7qZtYYYN@l7cv=zqB^e&`120T$V%3)5h8YIOX7bxf zk)<+!^An7j<=LVZUuX7Yii z%)&P~b@4cvy)T9U?7)elnKcg*jXQ9kt!Q>IF#6S&ZQ)$KxN#>c0Vs2W7d0BI!4fQ& z$GF{YZ;zAZ zS|p2<1tlNGi2|>!=@kRPH_ijFpY(mSUvW|RyECv`CwF6}pfIB-ekJiVws&WjB$A;g zsoDKmroH=;;K&oyNBVr1Vijr$-3F8z9fyoXHRc247eiSp`aH?HyRL_cUyBWK30&X1 zxil>~a8#vO-AYO>c(z5=7z@4T%@i^P6*Ui>%WQOy=hG)|Oj&b^Y0nSx{X(3+N!vRr zbs=OxVj5UVI)Fi`LRcu8`5u41_RW2Hj-|q(Kpo;&z9bAK{jeo;_DUgo^-JN^x1Lt- z5j}>r>F73$!M)RzBQYyQ6ZjH)PD>SCXy3(<&e=Et`;cE)drF}!mmJC9^?2Id7f3u# zyFUN@#veN?p%`<)XpRtF!2I#Co?(`b*!N!en@DeN8}A98R+Xl<|64GHTpp_dz~ENk zYe{UQr$7%pst@tZQPh%SbxA(Rc-+*v&w^r*hajwPwRH%Lko6EOVB66>CGxwFRq7V% zWEM9h$m4!5@S-pGA`vuz0?g=%4W0|XCci21ZW8R}W5J3jE29K`>W!vBAynJw{VtS~S0V)N<{XsbgPd*H$otBZp41$6(54fpMRDSP2fb>xF| zl(R%AgTIVl8t)TapnA#BKx{Ra=yopQi0R->M-ox-q?w#zRUu)i^f3%Vz;I!$=Gk3Xe2QY3f^deUJpUy@P*9MRIB#A~fcK@&Qkr$F$n2ex znV*v`L5_NPLIni#I_piZ5@IOaiDSK*qKOV8I_TfBrCe=MR#Aye4wSV?af;0&Q#VR9 zv&a|w8@zg#OJ&#pDF_KENR*g=&K+haz@h^pb9ntRcLkwZyb4PA=>4aDXr)X)X(OQ6 zbExHP!ukX@w5kw*aS;v66->b4xtI+y?{DpWgd!T=$OnxfHHtNDTmar}##3+d-F?PC zl>;tlR$)U@*S`lmCrUmTY+>?6^wz?i*Sf`iI4mi+0Zj_JES`EAfs>bf+RsY)hu(c$ z6-7J*2@X+zE<;V=7E6(NM0FT>>hIY_GHCW&__UKZSb06(EgW|bGWLXQ-+pW4}r959@AHV1Jgg zbry@-zk!RlCOdLHmx#3-ZZU~xblE_j8XF38lsb3^eb%KaKnV1fEKGfE42!z_UrYWA zz<@^=63awoP2+Gh$^C0oD3-}DV-^avu7Q$UOjEwzZ9w{Zso?&00FyH{?u;A-0Sm@+qGwy{%zZ>hDC-TYfM112kc+Rm7rC7Qx4A|qk9 zLabdVb3>c`+MQskX>)HMAqU^i&SHTop7H%Rb|<)t$y}rs#ls*Q%Q~r49)~`NtH`O* zL)05QnYB&((h0!XnNoCbx)@w#2#0f+7H#md&{=bnFQH2c?y21>l{)YsL!wwoM*`M1 zi8MSc30*A4<_RINIAyUzPn;e}ZM6Ije;OXOUshZ&IDm#B6--@ZxC)G2=Fcv&y~*JZ zs#>bKv7AO*5ob;F#e$?~6AYP{967{p38H`j^RkHRlC+T7(F8*Ra_f11flUiDS`Hrk zg=BmOwp!<>E)x$x@QU#H_-5(-6l|N?DbXuCCppX-NEk?A}-w;>q7Gc2J2y&`4gfMOcfKYy|V39O!z44}wZ3C7w5 zwZI=~sG-6rP?Y5|2-R_CCsm;p!=a&Y_4GSWTwpwR1%<4T7Fo3AEAQV8(_2b<3-sga zJS_h%GXUN06f6ni@b%zqfFbx7T=di;8)S(uMc{y9P8k}K76N%EW$4jmI5KV(q|JJ_ zyj;l`b#BHvIa<<&@pZLAOAU4_g{&Cf20d2S5Zlki%{p*;E#RQM{bHfDH*+evLoPv5 zn`R!TZUkIMu4z!ESn^Nm;;>Xa3o9d}aax!|3514?-hhF=@%Ss{WKOQ|T0?gV3)Bo9 z=j-i+eaWY|I~iCVD;(2;k)WZVuf|Auk`B^Dhp<`LD%uRoM`OQw5?k z0{H&ErZ2kG#8Z*$YAEW+F7ladabt{0>AR_h|NigqZUoy3h&0VyWJ(DqP(L<pd{Z>J&Z{wA%|VDX+*==^wp`Dlj>x>6pnp%Yg&qrg+?)jXuEaOOBaxb#eU?Xi(Mt}RmMK2?2#>&cv z^PGJgA9;wxC`EmY=_@%Ir^M5UivmXL^fY?9pjz zlIMD=@A`OBCgpN^Gtd~tES9fwU1M+GBWKE z+6W>gp^lGBWw)N{NC*Q9ySK(dw@Sy>q8pLJsF#D*RmVukkDGZgG;lN{+g<1`_o=`C~v_Qnu=Fn6~a)t{oK}or~r?xRt7)NQDPo0 zn?jXeSxJ!9;?OckbY?YoNOO^hpkQk?Z4y|QtS`k^3FLs9V1Ojz_QswR+Qa-Fs2O~I zZGLrr%Jm$R-cFhOuO^C8of1I}1o*hRn*}^T&i%5RErvTjzZ^VdT!Zgki<0899bv#^ z7q%@?)vDNj-eVX)Zp9&hPa(mCpi*qSTd&{1&E$D5ONj@>V)@~Z?9<1(y2LKx(@R=S z4k!_fWHJDi6g#O(++6|=4{LopoN+F=WHFd71=xCHQyo}z4^1=8*(3?#?*2yRv!c4p z_roo3E<`ixH;XlJ5mRa87cAoP z$#fRuUGAfie~8?Alfp6B9ChJ9o4i39ZN&l@X zGLoIajtUjVNL13Kn8f<2?nYUnBfeZa&dXl5Bz2)G+tB%I3q+YOif~=-ts4gie(=0c zd~Bt5q6{$oqq4o>tmNDdDcr_R?NUAt;cd_dGOsi7ofIeYn)k6LessN^XRm+^d9mio z39SOGGT8kizC5E+qoG8jMkF1UGT7av{F?E8NXa}GE=ZxmrwmJ|n%l~a<=-2tmvvfb zEenJp-71++g+JVm=kT(}V9;E95$JNo%yKmDgcQ4GkE(j?wC*4NgMsn86+0e-QUFvkN5@=$v@{js?w&WiX^0Y$6^@Hi zm@EdhkF1PXNcbaZ6IE!RXJj25=kMo3f75wPN2(^4B1{FgJ<57DffgB5Dv^I3G%CNy zmSy9;@BB>8BZd+#z|H@XzrZo-9~Z|GfzR3YjSKT+AB#2=*6HW zM7zj$g=2l}etMS4^&N@d)m;8VGr8mXW8PjJCv!`oXJWxMs zPtCQt-o8~Ew<{Re`m*~}-mf?Ov04xT#_l6wAmEwJv9n?C+AR{`KSorxGcN1Gx|FCx zR1QVVavz@CIJ|(SjBuvO((=t@@BCXPq%=NqhmHqPA0YloOjn#Ge?%hNP0iZp3Tp;k z@}DFR;9t2~h=9{7KNqIh#n?#?WuDF5R(#dw<1$op&Fb=gX1_Kq9-uWX@3cEaFN+(QNpsY9)(3Zgrm;1u*yn38Gkv{Rw zP0qC$8H=YE2!Yu4QngK~1k%p>ZxNz9jKszuL__^@4x88#=jQlRHO!d>iec{GW|hW$ zL-ea@TId}iy;ijnwxLhWStkl@F(}dOy6*Lpmgtf5N*hI2-J#@P434oJw|cdr%5Htm zU?8_#jmM&qcd2UxrIJP@3|-ZthQ4R0+fSYdSM4gji*E!+W=nzJUnD>YBD&^w4jFhg zjQ)|U4QmWQxFSp)p(&FEG6cPmfum09FTnmX83Df4YW7`nezLxg(f8&LXdX5?R!$oV zN^r6h=YHahU~xp<;(Pe+Emp!6jGL>g~Spjg))D#&J9bEM&*E762CkuBs4k2+)l-te+q-$@6D zCOjfhDXi=%QsXmA9y()ChoFVoCY18YO(h%=h4&D98=^iuW+S2vkVd2CK$@I2E6LEZ z+RlcBS@Wu5?RcLd|+Q(^iU|6yr-1?lpR@JwlBC`o%|> ziG~Z9!Uy;w=h(Z`Lt?)8kLjUcCPCH03(Vj&hG=OGh-#mcPAWl*~SDctNe(^DYAkFVKOAnLy z)UCP25p-@L-E?`m7YsnY&Sr$I0d7c|PhY!7vzt^5-75|zaP8(Opp7O1$!bUMuMnQl z7+Z7^l@bl^4ZM3Tf>UqbfKKc4ibaar@3N-!T2U+<%wP6W@TG2@rnZOh=9tVYeCCs$ zKi{@v>8N0CbRH}QL96xS^V7aKTXi+$n1E`fUs;kyNTF_!V@=E+Lqc0Cr~rpX?Q?sb zrA5^rx{c!?t0J97A3V2?3S5Zg_<;e}H;H(krM+@r$rnXQbr;%hnhOec*np4sx-FBP zUF+mZA#&ZOWb_zC6kkV1S0>?}GAj5mZ33R!>WLnQ94<=Wf>tdOZU8j?0oP9{T1Oi! zN^1&hDLTU3LSJO4yQ9QaU#+*qU%T^F z?diEW0?PnR@?|YK+DFQ`#@JSTH`02Tn}b;meSG;kPM)y>clsIN;~qovX3w(osEx2~ z7iC3%w8kj;$R)f;>TEf~M*ZLW1Du=P%%iWnr#{`IuS{fS#SJ)7F-H=o7f9ZgcMrk% z3vRFZgBJ>45*kzCD0h2eS`RPU`ltc}zamPC)V`W2K0=3r0(k^@a8b`2)khfPqwWvp z92&`sy2)0EPhf07Iy-;sMp=g`USB(ii!|ao-4*pm6F*Iy)_Q@1F5XmYZClyBFrK$H zb45el6sC9uwYagMQce61PdxJ<7IW%~Mpv9yH-2ncaJZ;|Hrv{@?J*fw^ohfDN4<=8 zqwJ%kJ}HTXe>fq+#wTRm47m<3mQ2|>w>{%Tbi*9m_ z6KxobZHOHF@qpwT8F#3)NrFkKs!;(k67SdN|8W7Xt|=wYZRhbzH#6Z`AIIBz(-Us6 z967>6LPzo33-wH0iLQ#-BRx;xND;fkqVaIVe)ex)FVHCHv{a(@X%(=l$>;+pEEG)# z$c$^Hz)R_-qY$74BC$<$l<1XgN>b&Gn=g8xMQzbWMR7X$OMKKJwxm^nV3!5NRAg{!KjHe0eyqrUW7Y!3+<8rC;JI+XS(-Lk?IdtNtz3Kl za`3$UwiVmvZe3VWfd`h)QB(vZ@(y}3Qpgj+I?D0K?tWb$sP#PK3a9{&KgAr1dBN#KuU|B_WB>kq^SqY$iItGaGt<8!-8>FDceNLRxvJkX-B9Chy}H`z zefyhm-y-AMHFxkwI40AY}*q}oQ`il|1a;m z?#J67d!5x)U8ivB)Nk)SEX^C7F^OOZ?0lFCMPTM70MWB|_@@>ctH}KCLj|CKT!S$w z!FLft9wUg-!bp9+_J2Dt4G-(5DQxQ!-K>Fs7t8nl33?+T3wq{yD0g0@>s90qAPUCmvYej;9AjdCAl>P9F zzTjO@`fWO+4)O@TinK3~c{kx30`@^gl$7z-S_5#U#zWJl)2R35es&lH76)1s=!HX~ z5Sn2eA@oAZw&_8afOysa5KaLU{v$m}(!q6$-1teR9#j~@x!}W-nbACt?U?)>{R>XA zT#sul&)I@Lj4JiMSd)aT*gF50d*FgbUyvGu1|;IoY_?cDzR@vG7nP1-97jBK7^fw? z`^?6+~`RrKfZJ(Kjf*{ zI=`#(@dX>#DGdW19B%|C`rn2>AVUIA%BgKP>hX5JK8KXCQ(p$JxBa+3fjqc={op&x z(%7MOZIVT80vKgz;b9PnbCNPv_V%OYNIAFtA<*S}xaQ391za#WoVJ6{B=1FSCm}&i zGyGT@`c8D%0!_ojFz{GnQb6a1%UXkhiWB9vwFbCnp_{}%s*U*PcozB5KbU(_W3U+q z+8a!qE*RT#@FTIAEoOxvGxXe9)0w<>#^x}@o9D(Y?sI`BTtQj4%XQnhRFk-&y}h+a zW5n!upn``XLBW7G{DJHWLRcC4&fwV0y3z6kocp~n#Im|;r&B^0pl(D2O1zip%P|QT z?K>WJaPY{FBjDN(`X>}?BX}p``;Ji{(!xCU4JR*V9)>vb?Oy=wzxGRVSKGBfvsp&P zpSf@t@x$vD`Pj#k1K4JOWiDeI`q0*F%i&5KeYwv3sa#G-kR&KlY?LUt#l~PH zIc%27goNvawEN@gGz74}UdFt)ewshl=X)KnKf`xDP?GRLlGBR&YZ*BqL&aBX88No} z#Jsu9W3S^>9~Oy;{OcO-{-m(34o9cW?#DslSN#PFsd=?e4-$wC|0ekHJ0T)}UAv^m z53<+mqpjX$EFRE=WP2BvW!QiKW@(of9`HWar&zq$>$17+`R<{3(0*tRZW|Bhv=zdh zo7x%_ZCRRSr-2TU!lNF9S5vci^YvK=G4*dNY>b49<*m|ht<#O~pd2b-tz|M^VpX~{ z>AWv}SeWHS({WX+%x4U_TC;(^X!+r(J&!UEP?^jtiCG{a;1#G5)xxr#KKxyIHt?^FEPQmExpWz=(-=hpf4ESa;Ms!6@|ag5B9l5Ap8LkiPC27;y`Cp3*JmaR zxFdj44r~OFA5>f=jW(Jw@0I8DrGy548l93PR#nQA8`0*`fMZh+3v(^4DYL(|D%Quo zZMn=Imgn@QP)6efV5fu&W-xMTIn(0OmVaLC$AR&`EJ665 z)d@z6p%DG!vdl6A&KY#WSme3EyI*a@wdJ~!6Tc4V{TZ(EQ`>SneP*#oUb z&zDG*s3e{3G*E=H$VPQ*Kenv@aF-&96o-TPKO=i z7yzK~8kK5W5tQ;)hqBpfR~IC+(*JO|UsizL6$+c~ zBp-e(tBGXE!cP$m50AC(GI58N^B14_K`P+uV;kkXqdnrk?sxQ9Yx_~C3j>eE9JWWz zhex$ZSuD)|0jdq|S5?4-0>NO=Qq}KP@DV^*OY!(Ji(yDngjd0 z<`Gvhjz(XsP2C5ew&%&g=@7|aK%OfAMoKY1_POV|(o|a81~mOfj(y!fb7D0Xkfqr8 znYq7f*F~}h_ueAi-_+>zUXMLbY-rpxB=~{I)ZcJJOkq|t%bZ1Hz%}@TrEG?pfq!Kn zaCJk`7rFol+}$fD=nK}d? z{bu^2&lF#EZPwMzZGUt3lW8Iwa+m^@RM-1YnCGrftt^EuqkMtq0UfBVXoQb>+};0u zKV~-GLvqNC*tG8v)SBAX+it&V?IMG&^d@POCk7H)dqjK}%RlAl?F2lg!#qw6y!+L& z9QvDSQ73KI;)g7}g*##&`H#)`z!|jI#kn5cy_ggwVT42YjDl&ja?l7|%2MqZdg=U< z>VUpY$1Gffy!fNN4MS4{7Am2Cvx=k*;as!aRkWRZ5tjrVC^KI5k!Vc2Z2LNZlNQ&O zI4Tq3d$RYXFx0;~H-(nC`=`wpM`T#9@kq355{Af-n|#z;r#J#*rSrk$y|b-mWJv<5R_TFc z5a(7>OG4lRqCvFQW`7p2!&J=bTgN{XkU-`-;#sxZ@ngh5w}S-kYr3xMpFg+sgA$g! z@Fe1QcG~3De0NPpQ-sSmQ-m(EM1;QPp2aP%aX=tyk$r}PRyAo$@Z3biwDtdoqOKW( z1-p!Q!<(DoFCjWNC}#3^kStE=3szl;iR~rY(SV{x8S3CtXns}lVTep3(%VS3EClPS zgC%o1tTMSyld6!~HMTS-8Yb(jAaKU4nm$4z-g}S;+S%y;C@WMWVOxgzE6OPWoyI|y zA+OX3k)8z?Z5BSKX1c7;g2A?ofLCV9>20^GO`yXpyV|u@6*@QnMbVye$=)^jd695& zzR^1J{XvOpQTiUlzXo`%hjIIEWiBw=Uv5O@1UzDXK6R%!4X@3Y6|66{K(_I}QhuHU zt6unjn6ZS#M}@U0rI~S+2_nXNj>7* zjN+G3(_ya#5j(SA0c;uOm{gsC)NoV`pyF^ZuO}Pq-{M2Ps7d&trDBQVtXG2Lul4-V z`kKvPn$>&bZpv$klt521xP16sRXi(pn?^rxDyAJlIG^|1t0;{=n9U|van-L`YxvgF z=OUBKlZHh?Dq*qc3{1>*h^NlXAIGhQem{U8s|71*R8?zF?F)ky2Lv9MgB}IG;K}l~ zUFdkVJReYme4nIX{r@irs@3eKD2D&@l<@-xQDE=Myb@!{?M~Yi1X%UiS~Ll>C$_w@ zJnL&;;GYX-OJxJpg!WLy5;{x4PiGll-L|G}qj%LV%a1dY&iVK6w~VRm?N#uRZA zo_nn5d%qr{Rjg#_BgU)7?}(-I#MW|tB3qhSb2J7k@q|u@@Q!uuawEB*ki;Al@ZI(Y zr&+2@5WM=zxrE5Q&58A`(VSav$Avu`>Nuc z5VIox6YxR~1=u;ZTwPD3avt6aY?6z=@9i6;SBx1a>_+Y&B%?kV0Od~p0h`1ZDz64x zUF_fEg%l}M8qUy(iVzKkqIBKVEa4srsN`)XR4Sth+B}Pl2;qNMY6)| zK|18*@W0=%mb`~M?sVgE`(EPyv%z_?4cH33-NVqi-5bRD@DOyIxZS~psSySP@z6IH zU+)4x>lzAe$ed1ec4Ebli7j+(T63V;O=d!G=N$YX{XYYUQR41jZ);iEi9h#C_EFKV zLc3v>4=@#?RK#261MPp+j-m4RGYO)~DP;pD>Nn(dL+1rc5Dh*Cs-L~^p=$BNI(}KU zaGlmO8(OdYK3AwF(-Ntq=XAU7-#;8RJV}Zm6+~u_edL>boAW;MB;;(}`sOj52}ycS zYzrF1Lu2uh7ici6gugu=pNcwu!wL8a5RWcJNqIhNH+(J|nMe`D_+ch#^b02*3B8xy zUQoF55}g&JDP7z21KBh;@CSzjefS~gs*{QOrYHxfy1H{@&QlBVVLNYf$U!*i3XzzA z?|nbZ^GXZN>CIRu*9zFS=V6>6f+olo7VD@H&TEmjq&7tkpBI%KO3pOu;5>6|Layx|ljns+T)w=Au9DBVy=FHsqzlR3L3 z@o{V5AOe-0Kkmm%>PR6jO?rh$@Fp^&zmY1gi+sKkzx%3Kj4GVLpzzToW5&SJx6Bom zN`j%)J;UfTfEt1eHvqo@8W~f$C0yN^WYOA_1!hpE93h;pti?)g2ws$62ua)$w@w6g z;mOAwOg5AIDYEbcx2DHx7XTTBfA+fqoFF384FYmvPy@ntpKaWO49gy7#&kk_K2&dP zGB%DZfi9V_x4)N`rv$~mD1*s)vjxz6N);ni8oNBZ=J$+Q)yTR&L)d^VRfHFmftYTj z+or07ZQUlpQbs$LVYrVsA%j|1gQ>&zf()3~)yvR{h{*QJwkJ1Z5umVXjkA*4z^;QS zOiO@3ajE#hpdq#kh`~gw5k_1AKy{lT-A4=%yg}26nNv(^trS7dvR%e4M=k&5h9?(+0<+j+v69=I z7gix5Es!x*2%(Q?|zxIbKUzYH$@;Ia0Vo)@R%*h*X+9+y^M zoL}0jAntXg>rEZO$tsW#V)-*a%oH0b2_TJ=a}kqgjnmCB*TkQPWp-C?8i%_a;{ozG z{vou@AU@TK;!8tcS2v9(S*yY|4M2|R-McZDVqu^)>OzwmT!IVncF&8og{MoqbPt`Y z$_h0jrz4Xvq+Z<;NID~YwYRA$l*!Q0dv$5Z194OXB706Sh+ zQL!P!mEX%zGUUejMnjZHH7*FO=P3%3zNuM}Odax%2mS6^=_~uC}__|m(60OH*QXgy2JaQ1yDPfkrBJMqbnkF}S zx2}J0WmE3OHHR9?L^Mqo?y{l%q*CUF)(zwYy0VzTtB%VKc`nL| zB(e3`B(^mbyRxB^yMAI0vQ;LcW{CuMut$F1h=L!V(-u3$kH(Frj08)IP{P8>6B2Fg z;yFwNlgBASZf+YdrBV1^BMOUF4RL!u6mO|mnleWkjkBZKg5~Njj19F^*3X-zH8la@LK~UD^ zP(7u+V<}R`95l3J7tNOE3D2`+cF$MHW+Sd*=<|T>63Q0dV>t>{j zzH}88mmaS^7$aV+H0X{Zl%ypODse9!nXuT4s^^!9X6|NEESF!NAc?bjTR< z<2=O**=}}uK1&3QoMLVRBar2NvjNN95`MB3rH91Krc* z5%Low@$~cEjzCG<4Mv2@4I0+wF(R>0F1Qhqe3F!L3LC*?XN!k>Vo-N?CCF@2!*KbW z<7~ZW6Zg)!G0lNcZu2&|dPJptr3rAx{+d666Sx)W9S(h(^i4tP6FY(V>6AYSZ5WIN zum83638EJlo7m}^B8XYENN9Qtfk>gd)g zaQ8&HI|QgS!B}W3*@%>$So*}tXy#W?yzE1=>=nFNeuW4n4d7@Q= zk8f30!>WRmAX(O&EXiKIe|6F`xJilhuB|;idYqw)xn&!r#Oj_)vU-@{YuNqABtFlb zsJ{rZR=^;cbcmnrk~d8@y!vQ3@yxc@=(c-ellCu=#7tkOZ6}u?vj<$3 zha!B_BiCjq&w_ojANzy{O^!b3uR9aWJ;=wXXJosoXKt=KmV64iH-+4ZMf8Q}t0$6K z9LSa|f=^BjMBkxjss^XU{6{lopBE&nK5%idfn?Hn@5tSTl|_jsUGgdu^}UKT1&>}U zr6VVMZfPmjWro)eER!{kt-I4cj|0)V;Mwr4fm$9XwvpFjhS7+qrH+RtXd?cu z9?_OlDxQwl$-$wf1fp7bEb{*Q|8V;~)DqozThpL=exJPA=zJ`qE@3!2$QGUTex<4!#`CRHIbLM}rk4+77 z=#+3&qZHPh1{QpAYF39G+onC}P`sO#8W%oJ`wd&o)Rw;ON|S>?hhIIW=#9pu#=NtU zS`x$6kA~Fx_!lasY2S%G+&u`cg})NJQLYt4Og-g8n;Mdi@Ia+=WrbK;BIm6&Tm2Z| zopE0z?>d_@zqsPa3d>p^M3fx-^y~s-rym~N$(;I=C4~w3_fXQ~kJop0i^xgljzV`B zEVrG_H_*5do~%&bSvdPhoB3ypWO(~e2G>MolEsiS0slD8qXB#hkI*mLA{BpQj>vB( zR&VfExHdJqR``iBjJ8`fxBF=o<9bh&;|mo|k=arZDjQ_flu(LzAY|mxGbI~rR*{(| zi`2K6CYGra6G*~qaYr;b8#^uleFR;%q%y*N^be-N3T2pV`FUB*rhSC2zY+fszTQN3 z=AWnTOZ^=7%oc1XN+gLQ8N#_EATJ3^0Tx$NJ|yCq34~hO90|Ort zQ7a%~fr3n1!k*{1qF|fM6}V1)#{et%KeE=r=$Z(kVVTIX)L3jz9*%h81^~~OD|qAL z&~$9l6QnZPI+*%0*?lpHS>r5SZjz7y5hOq1{;3r@GR|eZ#_^49Jvm8{N!$m!W$kG) zFdKtgcco*vni|#O$WiZh`T+vy1TKP8Y#i}KzIF~=j92-*lZRSIV6vD?ml^`D@${tP;}-$GB`o{e!4KLUOtEG zOX*;;IaB}y039xF{C-5&biw|6G3iK&4zfh{sxR{d`NKUs!P)K5UK6GRHRUo1%pYpQ z^^yp_2!!NJE)NCIS`tiI!*aAJ(!uTy7kGjnUq%~QtnIkQ*0>Pa+aj7F!AK`moFD@) zsDH%(XrbwW&=)2hp^iyn7klyr&iozxobmEebhwKR*qFd%#L_wVwIQ0owe}Ti#cb3i z5?E>JL$*dZ5`21Z2$VrJ40s+-wL~^)X=$h^Zm)&mBU`CI9&dPjuu|&{ISsNuh%j8C zrYREYdJq@!N@zg8fS7&zlBBem>hlOT8OMF@sr#zEhh8X}B8pmfT#cWux5e z8M19Dx>Ot_!=YM^o{72AXrl@ShE*#gF7opZ#g=>MNCqP|M*+95GitUmD+Jm0Ar|rN zMn#E}cp?k|UqHM*(A)@-Eo!7|M1)Jl*}t zALFv}Wk)}KF-X)3Gfl2M>WS)g2?xzH4O8Xu2F2C1D&8_p$`2kzw?w!oIaTLy0V`n9 z;g0&~W1sUcyPCT(2Ltc#SeCLG_fItn8$nXkjSWummpdnkuDfT<$6>wQRxKKwhbnkKqdQ^J6S&Sp4iRy%cJr(oRLLL^)%f*wyv zd*MDK;6k<~if`lCV6CaDQP~0{7#L8NrIp$=$~D_-JD@$c)zk5bv|q|aXG?w`3?E)O zyz=&}`iLFs2;3VtKlm~mA79s+Vzgeh9gf_oG14WOWj4TaHbk3xrQM3+8+N|ApVYv^ zftSKlRWhtdjK{;1mlKW|Z9Hc1OAJNb{fI9IvdWqQ~IwMPbXpOtsv0F07@B@8g1X&5$MBJOsXz({A z$`v#I{Ju~sRnpv(`MZG`1?K)ttT5nLqjAp1u2#{F`P7ZM2yAqL!>C?@dhTA0G{gPt z`<>dnqyyW%?z$@{&lYD*+UtnUC4H6Fk6i1@$@IErFG8<5g`O|{m*<&iN=#?kBPCsl zczR4s=UUOf^v)g(_npR%)&;V7D8j2=v-1`jHU4)5zo!*mJ2Yr+=a`GBh6QkyFuWVNHXbE2E@KQTDO{+4fymdo{ zF`z#9b5MKZ1KAg?R%O7%UxzEEAIv;yTVCb?G4ZTPRW@3u7z?Z&&AkldL@C zLuOR+124fwhrJ)c9e;!hwH%8^c%iKxm;#~|4l&hK)dKwH|E~3hU^m}V@}u~U4e25P za+0d7v~FB?)x`Z9UiM=q>w_fS_a<}*M*>)kHmJezOcvjvVpw*0Qdn|Is;L)M=mqBM z1lQX<3i6ADU8&Pa;I9)sW@=`OQ0KY%%J8_FS5w#c^qBF$2rle~q8b=~D;klSJo|Z0 znii-eiHkajnLD6GUTeiroh3qKp>?YazadRV>)=&tXtSwSQEOGDmlmB#112*p4 zmzV=9bN!s>a*}Wlobe#}(?hl==cA=XX0z=B!lrjD3jCf9+rnHu%pS4Y=pm0CW+j|uAUuY?LKi=nsD_%Y<%-mL_!6qUR(F)?QXKZkG#+ECGZ zqmmP4_{PI{%7J@Z9p0g$WLrzj?4B2kGz~}&6i`o?=|%0P1=U|}JW#5z?1cWz&Gr3= zatqT}(!c-?2OQ^5LqObM#v#+2#%@8;653}2ra+FoX^T4jA5W~CdY z;T7@ql685dqs)r8F>f|2K`cnSrDlhTo^0m?R1{T)^x+0R1Nt<# zgHxqjv?6v8cq8q3Cp=X0CYqTrGn7zx7F*0?Sa$s$RC09djb+gL8rbP)qPS`ijuNgq zU9*Fwk4n-idiBRsQ-Rd3ec7MQNrl(F01|-l`jm1`tda)SN7~gd- zJ&YDai!FXOSYfB7PD(;5a^SL*r%LMxYT6}66_##<$Fni^Z~{ZzI<5WlcvaC_o@g^x zsz07-zte@BO73~(Gs_(p|G85V$|g8_XD70|`=UXb9&oaJecvboj_5+4II$!!=)=K* zk4CW#Q+jGpuQ-sSM5;Xp8MH(guKH=BVC00S%S9g04a+|pHipYTs|GGa6ml051c7fpZLs@i z(E=1!AN`89TtAX!fy|D?Ww!hHC$k|%A~we4&ad*9*6L|EA-6*I@8jzw9>}2x#KCc$ zh!TTx>*K1*(E%|j$D=dWW&p?J^c5@134M{adSulk_hNbkedp2=)Z{g}#G*1Ff<9aQ zZ4Y$uPX+^a{&K8wwVZ9$96bqLo|ILni{72y18!r-v5MtR86x^05F` z@>S2R>BzE(IWH1qV{zjh%Qvl-GLk=caqruif5^2+!-nJTZiPvImUJtDti#_|z!OOm zAvj!3vhSB2#^AD&M?wL3T#{i`=^~?9Mxn^V(wDqO{WE?)2vF)mX}?IAR&Z3^cNJEvNB12lJ;O6oeEtLX1e5YxmO|KMj7qV1^-<^! z{9OObbg)Y#KNrUE?pJQbK*|e^Dg|W;PZW!I6T`5oMVX$2oS0|ech`=zniojJA z3l$NBd#F36bm_zITe_FJUwY7Ou)l_||BHMe%1Sl-7dR)ZxNw^mL*v28#6SnExrfRg zfhwdTVR_-0G$uq+;&VW`4Oq2JydSJ%6&C*n9Q;V?)87s2;@XhV90Ias4@RbbHxsZD z))cZ}(m-;hibBPoim-6BRK@+s-@wfXb+N9MWYg~Ix#Q^6mo+d0^FJtxGaX9I7I5oF zmK5NNs22lKVQa(aV2D-FqKBAQ;QI`38P0;B9J`UKj!2faKHlX;J5ISAhSSh&R3)P< z;U(DBdIBXg)Bstc`AFW{gXa-64S|_g-y)h#sbIlR;qx>zl;GgWDh_h2Rn2Z6V=r2$ z=bC`NDM3H~v?&ETq^dg7lOpbVR=vqoEO6=3N-U)nh(15@DWj&Hi_?Je*Z~W9^u7Vs z^P-+pLwCn@bl<;w1tSvkqt5a-!B%NF^rzCLBxZr~8V@rG-GHLFIjy!*y995B<9j0G zlapN6G|Ow};ENPOd~OrsQ~B)d=1&`8uPm*0Z&)BV^~f=joR}mE2a#V2e-}s$A=0qY zG@IPn!;y(1WiVWBN;33C?DX;){_S?3GRfue;(hg=X|?c_fI&%E+ZP3>prV%7Uqj9P z@?hrgID-SN1wRx5TXw$IEyn7<4ns0|OsuD#!!Cw^S_8~V8X6H{2%lI2-tJuXb?!nL zj5=t!uHqA?KVPwo#-PYX1M$nLjIk`dCt$xlZaJH;yAgR zN+B!U6j!*v7flyRbJZ=?3)|Zf*_T{4c{Kuxh(W-Ql#!8gELr^Iz57y!3juNrog)@m zOy)1S{7{}I3+=S%yR5-|Nn4+L#$0YEc*S=^!A3UreeNaOUPnJ%f?Zl+t#!e}N|*z| zmDdPlyikc4>_Ur#YtmF`S3ZXqdef(?7_FxAG25H)a7j#CAA}yCM{!Vvg+ByVZPwbc z!bZw!?ievw8RIrCLEO;TDAEh?zBZx0%~yyU$B_`k*7_j&JYkY|83;X`?GQ1jR|lPX zjo!)UCWb_m3q5)0humaP&vNDk^^|SminD zwb{eLaL-NR!4?1NQVD(=+lkQ^@Fx97Q#WupMOqdJfs>QXaz4YSqrX?YY;;5#s=b@mJaS#_gTO-4F zcQq|P-Tv`ZS2W478py7(vwA4*on?sao1C6R5_x2;1Ww_+So-T%QF$eF4t(p6jBQ?p zoSbZ@u`3E?J+-)L9e;akoc@WD*V8c z-JNf+K^gw37T3PoZHoE4aX}w%CFPa)I`IBzo`Fu!yAcuPLXpLT=zlh+HxYNCpr{2| zkee)Kho!=(KsUD3$n3CFYT~i-H%|`s_rS4`6LaVJ81`5c< zZ=%vV_1_yei)gulI`-&kERwUn5Pw+q8hZ64wJawgbkD*0+^DlBM`sMtUGT~Wj zeo%BYed-k>7lp?qny^8i9VPiRV?|XB(#^%>sAQl^F1J6r%gNC}#4OWY1dDTgbhPYu zy;j2g*L!RkAw`=6DfC>E;hQ4Q+c1l2RZY@>W&HQso@Z9)BUm0RNv!>0f_pI$BQ%M2s2@Pm`f954}7WUhn$ zpdoNAGc$AJy?$`#g%}P?3UkVo51c5kkXC=fzV}B5R`<&uPvCymTE~6g?JUaa!3&Oo zh^k9U)Q!_j3E5S#bwSxTB+aGFX^Mv5QVG2T|9YMY0`^7wANi~Gd(iZ{+(!hSx5D!H z+F-Ea&1a`dPRp)9yE*fWcXajbrhJ}X zT*bX&yRR*1nw_SsogV+fn;!s6%PVAr_Wj{V-)I>b$A(-^4qx>J;+$M*N8VptSgj7A zY}b@fHv@i45i9pq{qFV^y3^Og5?;2l1gb!E!KYcU1QB8l@3YW)!zrruC_jK9E{{xb z5AEE20A=+3F{dRx<pVp`aJw~w*BU9 z@?ES5mAK#w*4cSOZfvv%$T?D=`QA#{K}e9(GVR1r3F%++VT@i)x3DDwzRk3;|uZ%lUPZ}X%JM7hPrBq(8mGcX0^u7qwm3fB#y+ zMhx}dx)U~wlTU2p&@#~vB$rJ>rsaDhH97w}%#KA&SzPrc;`byaPm<0VWnFrz7x^L( z6!M1Xdp$;$^ED*Q_kH!kdnbb;@mGqykhk(7-6v4K(&XpMSt^S1kFA*d?cF2Vqzxsyy|o}>rHOJ&*%JMRYifI zou0Y`2+TsFBlOog6b~Ge!BD5Qc7LjhLnwt$MP#CZ2%qR!2tvU-x)Xs`)GrW0Y`fNu zKABNBIK95^d6cvcUgR{Rtfdwr^znCglw|}~ZH=*L5cf=&s3lAQV7-*L)@c@}wR;hfxrkR*Qqc#p+{ndmq#sf31zEM5;AlF6uL-Cw>h*$-#t|1o;|49Y)0mWa?B2HXe#B+h}xeveV@>-{vT`BuKo!QP& zvjLKlrE1yDVtSA98Oz7F)4go^jM<-23aSbEol{N7qG-Fa$t%4nB{gUker{*#ceMtf)PO6m@Oq$zit(y4}8EXhf|?)$sN$w3ZX;+%TuyeT8Yvx%~>j by8JX~hL{qBb6oub1ASy96vS&q4TJv=<=WM- diff --git a/src/gui/widgets/visualization_widget.cpp b/src/gui/widgets/visualization_widget.cpp index 7dee75d33..2f6eebe95 100644 --- a/src/gui/widgets/visualization_widget.cpp +++ b/src/gui/widgets/visualization_widget.cpp @@ -141,7 +141,7 @@ void visualizationWidget::paintEvent( QPaintEvent * ) // and set color according to that... if( max_level * master_output < 0.9 ) { - p.setPen( QColor( 128, 224, 128 ) ); + p.setPen( QColor( 71, 253, 133 ) ); } else if( max_level * master_output < 1.0 ) { From 8a508eff27bb7de16da02be2832e06478c96b29d Mon Sep 17 00:00:00 2001 From: Vesa Date: Sat, 25 Jan 2014 17:38:56 +0200 Subject: [PATCH 10/15] Graphics tweaks here and there. Lots of palette adjustments, rest of the most important icons done. CPULoad widget fix to allow transparent background without glitching. --- data/themes/default/add.png | Bin 907 -> 900 bytes data/themes/default/apply.png | Bin 736 -> 787 bytes data/themes/default/arp_down.png | Bin 604 -> 575 bytes data/themes/default/arp_up.png | Bin 581 -> 615 bytes data/themes/default/arp_up_and_down.png | Bin 569 -> 586 bytes data/themes/default/autoscroll_off.png | Bin 623 -> 599 bytes data/themes/default/autoscroll_on.png | Bin 610 -> 604 bytes data/themes/default/back_to_start.png | Bin 687 -> 296 bytes data/themes/default/back_to_zero.png | Bin 476 -> 318 bytes data/themes/default/chord.png | Bin 1044 -> 1021 bytes data/themes/default/combobox_bg.png | Bin 101 -> 369 bytes data/themes/default/cpuload_bg.png | Bin 160 -> 840 bytes data/themes/default/cpuload_leds.png | Bin 135 -> 947 bytes data/themes/default/dont_know.png | Bin 717 -> 700 bytes data/themes/default/edit_select.png | Bin 842 -> 808 bytes data/themes/default/exp_wave_active.png | Bin 546 -> 565 bytes data/themes/default/home.png | Bin 1132 -> 1312 bytes data/themes/default/keep_stop_position.png | Bin 410 -> 299 bytes data/themes/default/lfo_d100_active.png | Bin 706 -> 708 bytes data/themes/default/lfo_x100_active.png | Bin 770 -> 772 bytes data/themes/default/lfo_x1_active.png | Bin 668 -> 665 bytes data/themes/default/moog_saw_wave_active.png | Bin 539 -> 555 bytes data/themes/default/note.png | Bin 974 -> 979 bytes data/themes/default/note_double_whole.png | Bin 1219 -> 1253 bytes data/themes/default/note_eighth.png | Bin 974 -> 979 bytes data/themes/default/note_half.png | Bin 556 -> 571 bytes data/themes/default/note_quarter.png | Bin 547 -> 551 bytes data/themes/default/note_sixteenth.png | Bin 1110 -> 1112 bytes data/themes/default/note_thirtysecond.png | Bin 1191 -> 1194 bytes data/themes/default/note_tripleteighth.png | Bin 1088 -> 1105 bytes data/themes/default/note_triplethalf.png | Bin 1069 -> 1107 bytes data/themes/default/note_tripletquarter.png | Bin 726 -> 717 bytes data/themes/default/note_tripletsixteenth.png | Bin 1291 -> 1302 bytes .../default/note_tripletthirtysecond.png | Bin 1453 -> 1476 bytes data/themes/default/note_whole.png | Bin 709 -> 728 bytes data/themes/default/plugins.png | Bin 2215 -> 2110 bytes data/themes/default/preset_file.png | Bin 1482 -> 2127 bytes data/themes/default/project_file.png | Bin 1558 -> 2132 bytes .../default/round_square_wave_active.png | Bin 551 -> 552 bytes data/themes/default/sample_file.png | Bin 1572 -> 1243 bytes data/themes/default/saw_wave_active.png | Bin 518 -> 541 bytes data/themes/default/scale.png | Bin 1056 -> 1059 bytes data/themes/default/sin_wave_active.png | Bin 544 -> 576 bytes data/themes/default/square_wave_active.png | Bin 505 -> 531 bytes data/themes/default/style.css | 6 +++++- data/themes/default/trackop.png | Bin 746 -> 951 bytes data/themes/default/trackop_c.png | Bin 787 -> 988 bytes data/themes/default/trackop_h.png | Bin 746 -> 966 bytes data/themes/default/triangle_wave_active.png | Bin 537 -> 535 bytes data/themes/default/usr_wave_active.png | Bin 518 -> 474 bytes .../default/white_noise_wave_active.png | Bin 502 -> 533 bytes src/gui/widgets/cpuload_widget.cpp | 4 +++- 52 files changed, 8 insertions(+), 2 deletions(-) diff --git a/data/themes/default/add.png b/data/themes/default/add.png index e029787c716868c498d99a78a967575568a28f96..f79fdfdba28505255360397b62b26d5d5972671a 100644 GIT binary patch delta 857 zcmV-f1E&0o2ZRTZBo78+OGiWi000000Qp0^e~~d5e+P6)O+^RZ0T~V)2Jss+H~;_x z5lKWrR5;76luKxwRTRg6_wmh4rfHr{Oc86Pg~TET8oDW>4K5V1U_m#!vf{!`*TqfU zxDuBlxG#mQd~SRt2&Icud{rc3B~eKyNt>9*%s1b6?>)!GL{~NmP0!}6&hPxs)2J#t z*{M%ne|`4p2PfXYvhev)=g21pM`tGn$1YwRd+pjzah_eQ+t;sL8h^cSy#F|YbP4+8 zQgQo3;31&ATb$huJioEn_f6wF>_C8lHY2q`W|prH194x9RW0jbi-l$bfF3=>Lh}}Y z>alWda~o6-{>ke_#xYvEfHPerI;7=f~A~tW~VF+g|Ce)d?w*hk!9cTLM+r z#pp*bsdI{R4(Gr*c(nIn&K^Fqx)ko5^*7fR-+lA+%RNB@OZgqZBDPbi8o?MtNlBgx ze*j7;d1Le(&KR8WIAd|fQukFXa67IJeA<|P%U}NKixZCzALXxdiG}78##yii<2uTX z5t30#DKN$`bNgE|V^Fo!Y=!=;m$hb#xm$~Du5a60|tD^K_`27X;#q-|RiA);b1 z&SFJzu9EaBRYNU&l}H;KX9Bu z*N3+ioHtan4g{+t6ZvxaDy1zsbLbRSEmbNU=^o-peF#;9s^XmROY?U`WZDB4zHj_? z?B|vFQI~nJX1f)g0oE#>XO5jDxq@1jQG|l8|F}W4`F}(149{Vlpf1gM?=N`0e>8Iw z7`xm49C+_}ZN&oX9WG1cT9T(0%ddQ9_Oi!29!N9f7}KeuE#;n0dJka3R@ov-=U3#Z zb$@p@_{oErcJLj=D+Gz|x9$KvPhXHm)9KDVOdC;v7?ifi=M}X1&GWOn)fs_(0Bu-eYOOXQZH|}DD#(4;3 zi4ikFqksL3mB*{>Hd}mt_Cp%+_FFp5QvTU_fRizuECvTs3AF3Q;kyQpQHDST1hQ)p zlGv0-&By#*|C!yWO()5iF-NJ$I7pBXX6(Tc`=cZT`N^sDS?uHHPHHk_KSWEm}MW0e>?1>JSre1tw?-C+^rvc zS{MEIxW9_L+F84pKr2Dw;^GZp5O9&-Ub;tSa}bc&=y3iD>nzQrg(5;pfyi53usxhl z=xs@-iHqB`;)GD-hY`j1dMX@ZQd_p0Z8mnE;nR>(R%T&gK@I?(wDVJw%~O>S?>)+E zX3P;nTVAhLt9}6R$6mYavxmF!YT{Cal#wA=9<}2iEiEne1^*AAhHk=0ThQhJ0000< KMNUMnLSTZyFR2g! diff --git a/data/themes/default/apply.png b/data/themes/default/apply.png index f547bf179a3072051a52539b089ba1436de79c7a..1ae48682ea8566dd6854517ffb39e7cc82f44c4b 100644 GIT binary patch delta 774 zcmV+h1Nr>m1(ODl8Gi-<006|aY&!q|00v@9M??Ss00000`9r&Z00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-vi84er}1C`Rf*oRBWS=vkktrQbKr!I&XNMhXt1rpIs+0Or*t`sxvBD?Uy=j!G8zwZzJye|*1tDP-Rp5eU-zEV1~AUDuj!*~~glf`T>#`(MHZ1*I0Yo4oo57?0L18BNt!lNES}oM) zYhP7W?k{s1EufW3Feb`9pPFW2M}s{8fMTb@ZnXt!J%8DDotO!h<-o;x@QPXZ`v%EO z=!ZvqJoNexaDH>ey}TSF6$#70B_yO6)L_!7qHvng#Of3SwvznG%Em0GoEX6J0@wrx zH4{N!|A-h0d_O^+4)v}7+!}Z>BRNOL@CVh53LGJb3IvRif?g*-ED)xxq|t04&>z7P&L_`rXB_PTqg!vVagaC(z zhA_ZMQ#0&2u6yYIR>wnaG!o-q9?pqOrOm9eFMpVMEGrUVRRo|ZWa(%K&zGf7)3Hmu zfB5d-PMzA!6oRvzi$ve(ve23AUNr<7aHv!e9?T;Yh_uIh-`(0)6fkuK6XjiX($OiO zly|vQQr5UT{!7L@kve4BYWKLcxiF!uI(Tz8b$6D20o?!h-f;x8rvLx|07*qoM6N<$ Ef_BJaH~;_u delta 723 zcmV;^0xbQL2H*vd8Gi!+008r9oCyE`00VPENmK|32;1RL-~a#tl2A-kMgRZ*|Nnph zKmY(U004jh09610O#lF0002n<09*h7TmS%800dP815yJ6Py+=`1qf0I2TcbCMg|5& z1|)YR21Eu6X$uo)6B1|=5Ni+yT?PkO2MSdR2xtfiO9>2Y41Wqp3JgRG5l0Lkavl$P z4Ig(O9eN!bdm0yh77~6C9&H{Ac?nRUP7;F=8mL}AYyVt=?qW3)wOs7Yn3PGzuDW|ui;nmuQS!N$wg*4*FU;pFG(?e6aO_xk(${Qds^{{DU9 z;8_3w0DrbgL_t&-(_>(uAK*~Y;ldPU*KBIlHUL8~Bh5+0xj+B_002ovPDHLk FV1g+8GEV>i diff --git a/data/themes/default/arp_down.png b/data/themes/default/arp_down.png index b0ce4a5cc110e4dfc2cf1c6e352e8bf76c056d95..85586f7dae1700692dcc04e0dcc760008e156576 100644 GIT binary patch delta 561 zcmV-10?z&11iu838Gi-<001BJ|6u?C00v@9M??Ss00000`9r&Z00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-vi84es4?5rbP0005ZNkl;9c2#=TbgncS;fhg+C}ZgK}d>|la#9iH90x#fpQ_Vi+>!P&`RMXr5rX&Y3z_O z?C?A@^L*#|{lnoY#o9lBcfD_)*XQ%;{f2*DV(XQYmrm67oPA|A@U<9~ix>A4&9BWPlT9?)%X7Ac#}H6Tt)fqQza zyaAQ^*fKx`F8#=bAO=5XWRS;dx5pW-d}V4r)_%qLw0{W;4fE5ka&KdK{gi=*Lx}Pm zEYF4@rkWHmzjrQh;NER+EhYfkie8?4c=>jxv13bRY?B-N!gTsrp2840lpnlc=Faio zYFxG8tNYc#k!^+7{ibXtR?6sFn4Xh=j>*5mvy*~T4@>uhH?n9(sa9Phn4Xi|m|1af z^$#xZ6)JqOtH-wQ>ny6zwSLZ9Y975F^Z)55z(URWuuZb200000NkvXXu0mjfA@&Bu delta 590 zcmXAlZAeoA6o%imyQ%4jZJAy}9IolqHBb{2F_}!or4rLz3|*Riu*5N97}RiL{xDGx zQwrUWTve1f7)R#7 zztK*FD=rpphl|QlrDj|+88&4PTT{mz%zgXW`S3L2UrA_03Qo0 zfFJk*tO4u52Jj8|0R(_Qz%H1NB8XWI+s=;g#zcRL=FY|P=HqxC9{&ZOd`FTWNb)0@ zIFp!kGf7|;B#$NwCxqfzaoYPd>04>GX(2mjDkpCyuVA>KaH3G=l*wM_m)J`b;|hga zp>!#0#%ffLRjMhKno`%=G<6T_G!Bi{sntvU_+LQfyn7Yc6N>FZ3R*}&=U+1V;0eWKW=A$Xl1A+)=->xL@N84DbU9hebZd PaQL~h;!3%#sJ{I#@@>@@ diff --git a/data/themes/default/arp_up.png b/data/themes/default/arp_up.png index 78e7ad37fb7a2f6a2b51a18384c5367f71086f55..07a4ecc7e4a1af2746fbd521ee0d750ede941ca7 100644 GIT binary patch delta 564 zcmV-40?Yly1m^^hBo78+OGiWi000000Qp0^e~~~Qf8GHZ4jdVL6F$uV00Hz#L_t(I z%gvKbYZFlvhTr><%wz~jtAiy?YiKJt#LrSih1OzMiYU4fgwjfluB3D&B6Oi3NS4Kg zxDs6W19Ty{5L76LP$OAfltkN7LNTT!P3)MNxyMC76si%r@!6i2m*;Re%yArS1&%H9 z#{xB{e{kf^W!A1h*tWgtpqv_Fx%|TRGgB8EZx7R>=vca@hMtiAlSK%Ql7S5O%RXRb(UW}tFTrUS1l!h=$URQ8bTWIvF)p`dPl{+VZ+ zT|s4fpH2>poh(sJ6dJ22Pz9!G!Zq>Qx&ChCfA0pDlG7LZhfiw>;hP+Y89>Z{YcbeX zd|2H*F#Bu%Hv=`E=o?AyEgtPoV}+_%H0oHUDwcQ+kR0F)Hex6*Ef1n++j}STN^<~E zS9dZ1NX5H~r**4X4Jx_8k;d70;^wBUhHUvSe zYcS7)qySO}5S|G^5}^$V-t^h1)tO}f8t*gxD?b3@-@Pu|4%BV{0000q zbfZNw16nPdY39y3_nsD-t1QV)&-y(-9^S(%j4?P)B#xOw0nQVbo{x%uZ}0))_4@Lu z%P+3@+DvT-PnF_B9u43$g;_LSTol{yHrBJ<-e!!sG=+xvE5I^g=8fkAejC^0sU5H~ zttOt8k1bO%o_{k0AAdfW7r*-jmicDt+|>1|ud28aBlaCX-BaC%~B z;zp)3DW}cL#+u3&wMjo2xfhQU6hwsZZhL z9?;fppkx1W0l>+k~e1j+=E8Gi-<001BJ|6u?C00v@9M??Ss00000`9r&Z00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-vi84esA40*~z0005kNklt8=aL(a9u!#~kNA1bS1P;H;dT9l3mX{<|YQqeD9aI-wvQgJcAP z5SfbY4?k2c0=L#rP;MT0a_Z{cRkx+J*1i__LI~fCD4$f+7rPR^kxBWXWd^xy|26)V z#G2W0=lH>yp-V3-ttI)jQNs!9lu`}mdtDZKyq|ZF0)Lzpa#htS?Yj|Qx5ARwd^PrT zYBFghq?A%ggaT9;bQJB5qS02=T_q7_sq9?oK4QM8f!TAW94ib?9F4XN5ov>H`ry0Z z1^|Sg>Ti(ZcGn7j@pZ6E*zO?uQq2%WG0g8#GQn65D>JkBbZTv7Ws&oNrnFmwo{6NvOzwsZ9(30000< KMNUMnLSTZ-kp4md delta 555 zcmX@bvXf1dJq!#Jn7RA;K->uo3@r@& zQ~4PhKn#W*3=F#%7&^cR$N-`~2CWNfdY9BzUR}B7#u|{8CkzZP7#LnLFuY-4_`|^P zkAd+&BlCY|>D$t>w`FZk*(B{rsyR?oKjqAnc~|BwxVC`l0Ta^`rq1J?49gf8R)Gx# zy5Im1u`(QCU^vIXaEXE83IoF}28MeK438KXo`Fq&$H4G`fnyI3&nf}l*}Qyn`1n@v zNnVwdye=tqN=oXCl-w*i`MvTAQxp_-DJU&dQd*;=wm?mNp_cVYYoH?>>km6R9dYv5 z<>9f%!)Jq!&laEL-N`9?QnHriWbMexUY?V^GrMqWVbPAF+Jm)qhwA?S|9^`+F&7wU z+9g4L!3>OyEW#p^k|yQ}Nd?6_cbz%=?fds1KYso~0l)wJ`}gnagS|liFfb;0ySu~} zUkua*awd4zyEukOTux4CV7OLb#wPOM?Yo9U+xfp;+2;6&+m*fQ#Vg4JKmSAt{yXQU zcC6`4f}Zg7sGJq+7tdVU%Elkj;OrCX8tEArh?_U0HWX%$~(%aJZ!NILpqL(ozaDlf@q`O;%}6+SI>VcU7p)#5XtY b0z-R4uP`Hz*P2g2*D-jy`njxgN@xNAebw6y diff --git a/data/themes/default/autoscroll_off.png b/data/themes/default/autoscroll_off.png index c0a4f37c84bec44cf6a1a61d18dcb3cbab5c3972..a2d56e672db983c3b89cccaec32ed4a8cf4e013a 100644 GIT binary patch delta 499 zcmVB%z4TfCiU@AZMHzXPoo4Nx3pwF76^a@WA1mhu{00^KuR& zBHZNQH%j}zfR5ulImO3LZHjH%p8;GMW1bC%L;slX$>lZ zF&9MiEe9l`Q5?s&<2Yv5yL&DDtxBaL7K_Cu2!gNE>1^~8z#AgEI@o2#*j)fm0pw`_ z8jZ$F&Uqz@qED{tzW)vTo--2BNoqEmU#ivWM*uGX+&Sixxe7-{9LKLb&*K0ti0H>L p-^p*8F;)hU5Yf*+`u_PJ`xnC@3Xo*WPE-H@002ovPDHLkV1lg+^34DM delta 524 zcmV+n0`vXX1n&fpZh!1aL_t(Ijop;bs}fNZ$G_*!)tqr`X5lU?kb3CoE`&Dif_^~I z|I%L)1VKEgMZ34CMVnp_wUEG_l?Z|h-KgU*x^Nsv=XzQxhWa#c)fc{;&6f}7o^v_G z%s8dQNooHABqBN~uv99&DVNK4P6h<-Q5RlNh$B@x(?Gc zVVWk=>GZl9h5=pIp=lasvl*(@su~OilQ@o_G@H#IJ7*|_Kq{45Ti12yx(>rIV45Z@ z%YtDTNG6l0RDUX3Hk-AC5a09p{OuJ(ZUUv0NF)-FQbI}zP17KR01-hcg~?=sIF1p9 zA=>RWT-RN?u6yBm-Wh<-7I0I{45btniv_0BDdzJzm>F>#qtof2)oQ8XaQNQyyh{LI zcXhaoq9`5?hfCl0*PX2@5s6$bCxam1ZnwJ}3RN+y$0}X)yOU%4YVxl9)QP(a_c7_5)oZv=ICJV|2eS7>JOn}=9A zF+Kr7277^iT&Q0=<$BG}`su;Ts71M=s@JCjgMGpA`6atpBgs;Hmf|Z3KBV|8!H0zE z;X0vSqy1!^*DFt>#<;45o>$d;2y{Qu>lx{h1wyq#s8tBn3h7`C)r@pch8Tl8caX3+ zXV))1I-7skYJZBzX;ppyTMwrw9qX#90c_%HnH?x{ u0oV)NQPrpi_jdl!PSke{M<0OA~jdqvY5qE4LQ&PJMI5TKSBb zt@Rfs{*x|GoQ|dr5ocABtV)tqNU|z%Rv}I+gw+@yc-rfme7^mn__?&&w03dD%wBed zJ3?{Z6DBcHWq+%x2~nC5rxlWsD(QGelqLitF~{#;^4YngDNYNL&UYQbPNBnx9v^yK z=y8EV&ViuJ3z{1ZicU_u(c=4Tjg6(%lG0{@@xDTwK*9hkjWRFE+a2@^@>U0cqLWj9 zw#>J??+PpIDKH1j_Y0+_vFM~5jY@fka}GHnCy+x9cX!~%WYGGuZa?n5FRidAz`U6) z^bbY43S8?Qm@P1L7osx~8ZhG5`Po07*qoM6N<$f~phk AV*mgE diff --git a/data/themes/default/back_to_start.png b/data/themes/default/back_to_start.png index 5eb2c12bc8f5e20ca5f021a6295ee57d2a49e947..d8b8b73fed3e22574bec0102b0df665cbd7478b4 100644 GIT binary patch delta 195 zcmV;!06hP%1*ig$ZGQlzNkluBv=3d002ovPDHLkV1gotR%QSI delta 589 zcmV-T0+R*62g+!|0LI@N@ zQ7W$7xhlF5^lxzEPDI6(;;Z07MG$FmC4%5aTRCx5h=tEWamQTgRZJV9e)F=fjSCf6siVv3{(}y z7^tgY$u42Jc9L~|-5>}6nbUitgHyW`j@^ROXu+|Y?eUkoy=LmpcHUchEh76!t^k0n zyDTC*V};CpSdylyrAklk86#Ol~V2f@^t`>o{Rx% z0Om+G0Y-QRt!HR7J{=f}z5{TobN+9#3+%Rg6994~ANP2}?)|^}U_~TMve%Y37yOs# b`+xWoUxJh;4dzEp00000NkvXXu0mjfYb6r0 diff --git a/data/themes/default/back_to_zero.png b/data/themes/default/back_to_zero.png index b89c2107a338e7b73aeaf03d3e62c7b54c18c1a0..dfde88b4e588a087df4886ee1042502f3d7a2119 100644 GIT binary patch delta 217 zcmV;~04D$31HJ-~ZGQl}Nkl4CEccJ(r@49&CX1Ag(O1e6x8-RLTfFpwLymYotBL;nK9<(!=pV> zS(fR#uC0jFuCp%g6joIgEz42^XaS^0_>-_GiVMjrfXr3w6;l8FQl@F@lO)LjGyvwK z+E;XwylTiY|&EC@zYti)*2D zFBVrPhdzWa;3l}ZSseQSE`o?lCqcxvf(j;u_TIF|!BDECCbkv4aF)xtAOD5Jp@?9T z$C#-0XP{vi+P3Xi!!Yzjz+^J%mdj7h;VU1$((pS2r8NBecXTfv3qQ@_C^Nd-Pw07G|5ilaNbcPg&adVV zHnX)-l0;Bo78+OGiWi000000Qp0^e~~d5e+P6)O+^RZ0T~V)AC+*M_y7O{ zib+I4R7l6AmCK79RTRd*Td%3=?&_|7&UDX=1|voYqZy;_{0CfU2xvxerAXZP%nVs5 z1QAil!&L-#irF|K>c&KfWZ}k@M8`o!ky*rO_jFZvy>C@l-FsbR6c?rkYwq&GcYYks z_nkw8e-PN~HD6w?n%(*nwQ}{CuIm;Nn51cX#Z7{bx7V)rr)kMvfb!aXN4xF0&u5$M z#b&(;(?JA<8(eeBn@ufMyUUYS~C`wILe^qFT3SCoSmdh|^bVw3F2mv4+Y#!=8 zSf~R4cVt?&6nPgy$!STlMLmv^1kovRm9Ie&I%G`uTLVwCg}6h#4J3^b+i!{84hOV5ibPTA8% zf3;Ib8o9(T2q7K^VC{bI09coa^j2{8hn;Eqy=DOK{Pj`o^zz%SR?8{Rl#c7VUey#e zPqRtM3;fUkfJ;xeIfhS-E4iV3tjA~oG6zSHd_#NjD(N@;^DqIaq#qM$=x{ zmx}ZfE56T1wldtHUNA|P5y;Av&pAv{{qh3%fl9NWYPct002ovPDHLkV1m%W B%P{}| delta 1022 zcmVnJebcI4y6c9onfs>t6ohO%?0KnR8Hba)@V4Ptb`pBj^ z3Q@oheMCuwgfrwkXG;O3lz&Dn0u3n$A>bKDO|L-+fqytn;D=Rf zd%2pwJn}~yX_jJ4O=y}1Aq05F5wYktQOK*ZA}I?~nCx$1`ZMm?m z1~m}k>(sx z5}~Hoz&Jx83ItJrAPy0y37BC1QUC(-bCM?K$A1$KkP?iu2R%r50zaJKC^-5t`!G9L z3Xt0Ar$%JFI1c@%SeC-122}Na4{{Ek@!z50mC8ddN)fq0blRZXM3PMarvVfIt^>Hn zOa8IkmAp#7um|!JIcvYu{-xLIJ<+tAkC@b;AmntGWlslj@E3sZ{?`P~+s?&f?y=p~ z?tiMiUL9ih(g%POgS~rqdKO9 zG_q+1#uCw>mL-xjfv)KgLV$4w zKbpXsc>DY+zqJ&A|IPP}HRG8u4mVkvz@R2nMMYWO>%p{`eZQiwyjFP&|K;0aZksOv s*aYyHgv|ZvX%Q07*qoM6N<$fGU@IB009C?L_t(I%e_@w4#GeP93p?Mr|}ft|14^Z zG5FECJa#szCT)M3Ei3~wK;>fC{gKn3AO_j&tGa(7&?y%Ne@pLZS+aLK^Wn7Uc`d%W z)Np=AXK{FGWFq+J)XW|P;rb|rs16FehhHn1lTn73#>9;Lyf&SW5dP6vjf^tVoHj`w z2)Cm)Zqq6CNzXhNx#}b#ycGy6Agr@;*vztZ&0?JrvFr5p!{oAguanOzt0000MzCV_|S*E^l&Yo9;Xs0008TNklV#6OP{J!RbBTUPWSmu60>G` zdATzf3~c6wUpq@IEkU>2-Nj2g0Vl?zU9imj{8|&cs<91{&ZU%68?|SNyW{RaC<1WD zvtL9IIQa@i+5O6nN#OJT7T#qVR8q41mnxUjI8cdMCoflI(~Nq+!Hx>@E< z7h7g_3+R@6M;`t8sIA`j0P4CPa)9v;JOcbaTD+IAVrDmh1bilG-E8MG%3qJyX4mZ= z{~{>~Hh&lJA+Ts>??}4)lK7jFKHTDa2ppTRmw?|!#*@FF%&yx#wj}^0HRVw9wV8bh z+y+hq_jky>27GE}_kjJt2f(S(;M;+mZE6IF*@j zC+nlEm#PUpmBW0jl^}?s#i}Yz#6_+ZG0sUT$s@+viGV8AMNeg|mg>6Hh+-#YMV9lD zCq--?)WakDXhlB%Z#Hb>b}OB9`u(5sF||9o3f(OqdEoBa>YI-1ZTfmpMF@J+N8#RP z!ZkR$3sqff$Z8HxS3j3^P6QmJvFY7PC;ah(F$ekD8@+DRR4X3>Nz}dxpQW%PpUtMwU`CT-O6wdhi zhHoxTNEjN%_Vu2J&(@uBKE0ZGbdk_7G@Sn~3*VoE;-oPCed9bn@3jfz?>F${dF}NW z?=J^_dOD*Xh<_{ZE;l@R(ok10<=xvAPkso*6gAt(EMSVd@b)j^>30b+MO^v) zeQ^G0b>!dvX*_$l>1@j7hr-2!6T~~e`MB`>{@L;T_4UMyvwKJg!*#wnip%4clf3#O z3xS4F#w|5N3M1j{cUMGiXml~Vaf?n12_s=_#~tf@=YP-$V>`~APU#@tx!D!&O`urM z?~F0`CMAsB4)#+$=6Ab+Y04xIFlF3r$a_Ov5L3pRHF=EV#m8+TKaiui{Z`0#6JiN< zWq<9=C+lPV{<<-*HiyP2`>Vn%r>G?`W&bI&c)hK^npjF84#Tcax8mlJR!_gkf|J5o z<{i}GR)6d~vZ`_vJLVfUwM$LW*yoY6S{TAm8dJ{XI*_6_W6FiO-in=OV=4V?z{nYv z@;PtJd7zdF^FS;y=M81)6Dy|7(;e#KU7QK?G*D+jEFmV$d!^-cU}fGrZTc)Wv5XZv zEq%f*QFaTqHr)Gp*=1~?*SAEu8L?2rg<*d=r#jb}RV-*&zj(`>#JY1d za?32C2eHQ7CW;#tUG`ijiVq}OZ&X{T-o-{3r8b)PEEuJNc>x+Jj9LfGCpfHvS{m*R ztjnvV;^s(8U_x6~coU>4>PlObs0msES8R5oG%y8Av|Nc2hrH7ALM;8?SiY1E-h4va#jrG|zk>D%_5Of8Cpe~Lra}&LtOYDX#}j4_l>Xf00000 LNkvXXu0mjf=a;K< delta 118 zcmdnY-p)8dBABk`C|*ag~ymGyl)H@;~F1|BU|`82?8y{$IlQ{}ki@ z|BRp84(|dgQ}=Xn4B?1Q7Dy2};Ns=Ob?gkAtPJndH>{aCoD0`5>gn+5@i_bFGOTx% VwKO`T7!K6J;OXk;vd$@?2>{`ICD8x? diff --git a/data/themes/default/dont_know.png b/data/themes/default/dont_know.png index 21a0cab6271bbd28319ee1149331667f3e789a6d..3924a91734d13b36b2cd8a841c646d25608c4146 100644 GIT binary patch delta 629 zcmV-*0*d|31-u22Dlq^60002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2i^f04jeE(p{AjcTP%MdNkl$@%}Z2a6o;Sp-f=!0O=lPtDzq$hNCjt+QAm{k zMjNSrpmxzRXj2fh2wFvp+O!BFbm5|0m}G>AmZ+r?79lvP^Lc0Hp7XYt>lD?2mzQ%m z59jM=_-#$WZ~4~@pnx3uA%KaA31YF>r4QrZS1*o_-vWB33NwF|)s>yoz0L9W7v_53 zBz{DzwOZ|Exm>PPDwVJUAR?%0dup`j?xMHWHMud@vbwU91lTMUuRa}F?##zMM^#UV zNC;3Dpnsqr6?Hd5-yU{NIV%LX0Ctqy(KL@Lw3;@K+ef?y38Y@=iy^o5{Rr)f*Khwn(6!l2_>&sP)1S`T9}7;FGG z?if6q8#U+s$KCJz`+d)Lu5eAoPpb7@6-9hOgYN2}Hb81_4c(6<*0S3}e%Rj?5i7o0 z5vk{?G&DI#I-UNXHXXnP;(y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2i6E45F8Gb?CsT&TP%MuNkl$@%S%*o6vscmd&e2C`5N&-X+`2=P-iiOP$E%o z`WJ#WLi?y)v<%wSqD9auXwfPNdM@19LczjZ*i+31ilN{*Iu0{;?%Z>JE#|6F9r*F% z9L|UH`{S$VdIYo|E?o3Th`DztWLBwjg*>8UUhIePm_f9Q()2TbDM~PpF zIkgtGid6+51|TAlfEH2BPR@V6UBA-!wJn?QC9sPI!5T2wBbBRQC{>BUsadPp7`ort zWMR;9-4c;f8`!vEymNiD*+qz8niyt5p;Vg9k?n_B8<4MWiAkpG9OzL_UhhdlBI_aA#)+v$M0z z%+n%LtbbOkKUY^*!OZY|ADK)h>^RO-B2ukqkNoAixjAO$X#k%9M05eb6#(lZ^8L8FKm8gDddz)7J^%m!07*qoM6N<$g2fF`HUIzs delta 744 zcmV8EapjxdGMSl@-9Am9zd3o8atgM(Y4BvCk-4l^#?*vrUt1t{7o}Qi(MG;XH(QGzJ zl7#8$Y1Y@*&EVi*CJ2Ia5qbG84)NaKD-;SEMG=iggE)@=h7Jr2u(q~lGnq`Ei0q5V z`ywL$1^lj1D6~2bJJCB(fcg1(SzKH+VHmDjYmY=^pno$T+~WH1^77KvYBf@+6e5DE z(r&kjqKHbRLb+U~R4RE@74Q8^z@CWAsOrPpfIk4fR4N7IVghUJnut8tJ$NfnRbi{ZYrwa_zN&tqs=s;f-#j=tXkTAn z)8F4O-uq{Ok43~iHgZ?=v70?>?bjlr#+Vq`13my|JOA?6;GHERgTP0?&p-|M9yn6f a7~oGsjX*uWh6P;!0000`3f=)34j&V@>x2-INi2VvNklFP4rMZxGQta^gy#d!Gl0R$a(CGI8Cid?LkOF__a1-&P&ba5jWJs5vs=T*hu!|u(bdmU2th=K zVQAYnj$;ELU#_aiDAHj}KQg^G(P_5wWr%773gX3wetKos04U3HBVOJZeVboO4(pS- z<)h-_$r^x&5YZM5o`nFC!3w8JSAkPCSoVPtL=jl9b@hRTz!%hdPpN;>tL30-UhkR2 zigFSt&|j39L#Fe2Qrt~ufeV&%68qjGyQjX)?B| P00000NkvXXu0mjf2wmJ` delta 480 zcmV<60U!Rg1fm3xBqa%ONLh0L01FcU01FcV0GgZ_00007bV*G`2h;}!5-uN0odlAR zTP%N=Nkl%OcKZvKVbz~8+(OxTVz47)50H+AL7rk5(H5! z6x7Cc5iHk@F`byqOfq+7GWXnLk!-(D`##MBFK}%Lz-%__^?Gp}8)JwF01>IGs)|U{ zG-X*j=L`Vvy%%8-0Ih9T0(kMa@6=}!gn+8B$6i|S4bAPj# zE|T-)a(XF0q(2`JR24)xsKE;efVQ@kRJdSC#ouT}JQM^d0Kfo{APSWvG`H)hh@yWr zN1Ld=Rd;O?IVR}dH2_2;q#>JT`DuRidX#=k`CpVh%}~+_>yWyK*`XQx)R0A6AEILrlUgqVK(w^I6 zb8G;NUyaF;{b{ufa%fQGl)Ov$mjN)q7mPJNR9J=Wm(Ob*RTRfRckaD2uh=4J(xz$CU#4whf7)WZv@R@I zsbDw$2^JU0MsVr>P@z8r7ZyQuA*d^{QUwtg7J?155Zh>Ln*J0@e0gu~PZxJ)k~BWS zBJHLJh8gagd(QWM&-a`&PsA8`oR&S-=uZGV0RV{pHG_W-T?R_$*POHO-MKmQQGCd9 zQUHfvf3xQcS}BxLNF|Y3hLjmXWC$Vn^WNXa0`O0k=bBt= zv`zq&Qb?IVWLX06^s1H2ZrdK)?YXzx?fX9qA@2WIB9;MAN|NU}MV==Bxkf96u34x+ z2q6Gi-M@cY4Gs<+8yHx3EQG+0-TU$0NJ&<)P+JIr5CYD7oO4*~FxFy>#TY|r3}uc#6gjO{L8~Y#AO%IP6A-PdR7ii6l!z=t01=2y@C3kEi#Dc8+d|3! zB9Y;dUE=!m)Is1S1t4XXXfJY#yr3uwS{0ZCBB#hTx@JO3+U+(%2v)6J*__^5hqV@E zl3ub3BnV=J7$YG@LI}hdGhmwn(5lL_*5tXS$aTX&t0-u-YG4|fNzR}98X+pd3&|^o zUnPG;FxF6(icBs#af~T&2>6g#@=Djl%ZdTHK(CT0U4hXRn7m*`t6=h%39d|CW_)~% z(a})=E?v6JiT6*iePjoF_U}G9O@0>pO=T>WmZ1;=1f-il zh;+@j+kEx;r^MhmbLI?veSJOa`L!cQIC$UyZyi65RGK44-yoB^@s<2i#aRH5)p;V4 zghFiccJJO@cJAKCGyMZhPEIzP=H})Y8yjbAe4M$txn_NGa*{Oz>)5;R0C(@)Y5af0 z7%RV2aTc1DN_8CZl}NnzNi5#8c5po_S_M+dC8xb`;Q~ANynv{l4;?zx{I+q^7Pf95 zrQ7Y&>6W<4U+ve2KnM>2@KpnGPNiD54l8X_O2(OGly|#b1Y+5`F_zMll*VGL#oE*f zQ;$e-y!T51SZ9$=qO3(`vS}Q3u1tSvnV6VpHcd=S(6tdE#Ip6$lyo{})&0uU0Zr

^D{SZ5z(AYhCks|6zt4>;$@wPtW=E*t~2OwA+94J!gTn z3q4>7003hxA%-MKA8^iNox>>Ga~jrwebsb)wZ}S#t#nYDbaLlB51JA}IOm*FDq%@N z>7=QqHQM(69%zP9(`v&aK`)((y-Z1^zPNJv;<4e;T|&wQLQEx`fBPa5f@a9Xm{{{6 z;48IT=XwTi0C>}R_uBNY>wi3-o_diqp&qH#iF_7#85jm+@7Mo#b0WrA3o2U#=#iOt e^5^t%1Na*j2+-Z_M}~X=0000>SJxiXFw zC=4jD0kxd1R)KTW=els$b z=x{jj8G{lmmu=u~Vb8X)hH))t1I5FJ30=PsVZ4G{=j@F$5Oos5L+XgSV$@c})zppZ z8Ygskf~#a0%<7S3c1!b~T5{Otwkdsj&(V*ah76{JKBXhKs^S`C6ur!jo7gZ;Y zZ;~fb{?eo|O_}|cUmjbF2CZcyVAYtdmIpQR?QL@~V-e|HK_9Q9gIid)$Wg$OMc0cH zn&rvu_$p&&pE>uDrC`8Z!nOSN+*&;W(s;IqvxX+Vt!)nKd}S|W%et1JR-U$Z6~gn_ z1~Hi~ztyfz=}_Nc8Z!ETY!(H`VFCBqKpsny{{$%Dm=FN$HxiWFXz!J>UwB!}1K@WuhWseu1c zz^|3?mJ;4pAvKsyG) znC%z`gg9W-fuIf)b6^<$U>qqPpL*ff9+?w;BZlDQb|#1z9u*g#ka{n#yoy>&qtWOs ztsRUm4tI2Rc6Ryo_Kr;PKPgQV;6Iry7ONGs*&rA>93zbq2u^XNu#nh`Udt~cBI1(I z6-&V%3iL&jA9>fGJQeQdO#)OG0@aRF*H5=y%@p;&*DUuPR|}`6YsF`YM}cV~U}oCm z{DdsZw$)o-F|f1B(yi6l?4Lm+9RZqzHF!a?8(0hD#T61k5a9jpr1&zbps}2)Z-7 zq{*)y%%>PDz24{E&gk8ZAG$S^Ym$~FRVqo|T-_M6y zOb?7qqjZ*qdoI?*1iq+>{WA4iR@U0ha}-jK@9%5TSKA*HxYvE>lfWLp3qDo8$zyIk zq6T6x+s`fdc1-Z)fS`*Zo&ncpO5Y9fbPw_l*c7_2@?#i1uJiusML%_LR($8teg0P; oP=`KK)9yB5@_6|@S4W9>ou3p+Ze(3Q{8*ei9*|XQNDI_Eh1B|1k%?L0M0MJ)T4Q(ScbN~PV07*qoM6N<$g3DW4 Ang9R* delta 310 zcmV-60m=TW0-6JmZGQn5NklQSB279gi?qIm zm9L?XAlUm579t1+i?kNjiYQiMlXLHO=C=?r+#RBFpn^Xv3sZbMv+N2<)R~}G?H~L( zP(a0_KX-HUS3K{r~^~07*qo IM6N<$f{XQwX8-^I diff --git a/data/themes/default/lfo_d100_active.png b/data/themes/default/lfo_d100_active.png index f2a05b55542f62b2944cbfa7c620b2d18fbf5078..bb966c5799704715aabd359969f984b5ac1594eb 100644 GIT binary patch delta 617 zcmV-v0+#*41;hoABo78+OGiWi000000Qp0^e~}>`3f=)34j&a>h#@7BNi2UTNklX?Gs&yrUh>4)A|W0a#yOFBXfQ=V`5# zQUH`vA|fJ(_l|NRa$Wa09FKp;aU3T}q5)WIiHL{};xjw0d%%fEM23>t_0KrML8wa`01c_MvU+3AZ1H4ozyJo9P|P*3;M9WmZ^8Y2B7>QHdWQRSE+9f zrVGN%mI(lR3Pw_9Ntu5OY8nE7VJ;|Pn&=v1cGs%YLi5jdbGl3xfEqJvFj;ZojAR;) zQ$vcKk&I0`(IukGt6Ko*tgAy75z2Liuq6hdyQ!%=L}YxeyXHig_3Na*ne9An_U}~a zr~wc`c0ThdN?N7hVI#RwEPRPif>9PSsjs#G;PkE9ONj_dAWA_&1PTE2BtdDTW3Cj2 zcWblX;?hQkh;y*K8BG2cfM&CKy2GK}ZtHA2^||v80H(AOAcuKD00000NkvXXu0mjf D`OF(i delta 641 zcmV-{0)G9(1;Pc8Bqa%ONLh0L01FcU01FcV0GgZ_00007bV*G`2iOJ|3@QhRA`Xj@ zTP%M#NklL&ny*Y@^&=Q=#WQW){%Bsclx+%Mn#PI7_&QwG5L`g*Zg z48t%80%HsSV~lgoIrnewGAHT#{#DrRc3Xd~R+^>(01*+=Cok@2byfF*lXT8qg%lAH z00Dqzt0|ORkn??i;5p87+po4~zt66GS^>~0c6Qcw>UZkZU)9wQtNAoP0Bi4S+SD)% zeE`!_)9p^Xm8Q*RlJxb_!=r;I2g!6Yd^DWf%O%a^@bO`^9L?;^M9WdqNy6Q50JeW@ zI<#LX7K;IZ)3Y-;0QmXl$Hd3U^5=49_V<3wW&AP*Q2J7`V>Wsbjc--^Q&xYcR07aYVIfM_gAQGS0AQg7Ri5iwYfsir`h_a* zDwnpWN)Z62Yt&aIov&WU>xZ^y>Cx+W-Cpn9uW)DbqCo=H}*Z_H(G!YC(3~ b_`mZ9z5CBO4@w)%00000NkvXXu0mjfO5!eZ diff --git a/data/themes/default/lfo_x100_active.png b/data/themes/default/lfo_x100_active.png index 479ff38c1217185fe0545fb99e2db91f6e40e697..cb563f432ed383d073f33b70eed6a6be816aa244 100644 GIT binary patch delta 682 zcmV;b0#*Hj280HXBo78+OGiWi000000Qp0^e~}>`3f=)34j&vRRGER1Ni2V8NklY@}h;U?s9b6+|4%p4at^pSK~KL*b5W9B=YfiuAWkp^I4VZpX-%d$+< z)HDr%rfEtkrPO}iVNOJbVGMu5Znx|Eeh>sE04XIA5z$_MqCww1PDDznK}bYWN&p4` zZE5P$qN|!Bvn{tzyKf#;{5Z`0mQfUiarAnr+AxFMrVPWdX#^i`JD=z4JCj~q znd`gB_!1&YhUvsCDOG=o#kkoAEr-Oonao!QAemTD_GsRf%Qxr2}1SE|!Rh zNhU?iy*o0?m7!lj=SJSz^fSwqL708v^!^usa=CoG%VBPA&PDfKUJzY~#R7zckbj^k>z8it_>KuRfz45DUz;~nhVbRtqp z9Ym5+N(sOKpgqxM9?htt>iE*JacX1g@l>^5^*(!16xBp+^66yJDtc>PtyU}PrRh7< zvm>*c+0D#KroLTo!Sr%EF2{yp7yt%&uyCp1XMOLTw|H-n+j!u`K($m|zqr11eJOwF z3EJ1&t$8ch306i{^27P;hira0A4GvYXSZNggoyjLe$$t`C1u3<#HuXMNHHT0E(HU zBq_C6V}qGU8LUV8UKDjfI_Z%f*Xz6UO8R}bNG^50>{OQW?{7&-lKut&R*HX^C9|2g zL`Fy=(Jjopc_{9g*AwMiWoOlK-@1vpL~u2TPuG};N$$?8ND`Aw%sF8$^v4R}`OsN# z4#7_jHTzZ`RFtFKahFKCuU+UUJ}eOtNopji#(s(2iH^3_w%}%9ui5Uajze(5ZIoyL odV711_BiBnIkWK{`Q7;g*IN=8K-RZ(RsaA107*qoM6N<$f|*K4umAu6 diff --git a/data/themes/default/lfo_x1_active.png b/data/themes/default/lfo_x1_active.png index 3a44b3e2882df84edba6cf62efab226fa9b0cbfb..2c54a6ab1d727e50cb3ef7d162b6f8d530c774a5 100644 GIT binary patch delta 575 zcmV-F0>J&81(^kqBo78+OGiWi000000Qp0^e~}>`3f=)34j&rMH$1eFNh^N={YgYY zR5;7El+SAuK@`WoGdtPZY&K*`&B22PL`3jnQD{ycs^CdM#FK~;Jct+n8&7&EC?150 z6-2><;K4&dY4Kc?)|!Nx&5zw?citNh6Sr$}Fo*gWnBl{FZ{DvN;QxpK&}=q6&vRW@ zDJ6seAcQc+7-J6f{^msFIL?1G9F0c9;V_CK1wd;}L`0O?TbcHoaUwFtOhY2lS_4o3 zzBKw@uZHK>if2B}Z=X)z-|C(HFn{h{5rA>9`mlRq!(Dt^%%{oBQp$@5}P%1v#k5!Jxmh8_rTzqm6&&R z$Jzim_2379jn~Jm&Oe<><=AckkN`9jC**&O0C?*$@9UH~TefhTNi*fSB^k7L8)CyW z?pu;1D68(35`b{I6s&)=3vHTc2$Ke2AaWBro)!y7e=O`=NqgG68IbQ(AGJ(DbZ%EE zCjg9LO{|IY+>!~HnJ55BMRc!Mj%>#M^G>u_>|ZYX&)V)*lIzAeidp0!-tcbC%t`<8 zF0uAkT9D$`y&4fQX{*FpOsq3*&yz5FUjXX$`r&>KjYdP+?a&who!@VJqZdyPmPG&n N002ovPDHLkV1fc*6KVhe delta 604 zcmV-i0;Bzz1)K$tBqa%ONLh0L01FcU01FcV0GgZ_00007bV*G`2iOJ|3@RWkD7)a1 zTPuG85=lfsR5;7Eluv6DQ540`>&&EubZTO(i-J(8pFj}F%7uS$DIzXKsp22}KCZe^ zuoYZMUE~9}tQ3s93TiddCQcKY%uJ^D-0Nb}F(o1{>fyrU{dn(k-o5WV;Qz=0SYBQ( zm&>J6$@hKd902E>nVH$|bw@c#&+{hXa5#S)31Mq-w?4OVcOw`Cwb!*)+}ggfy>nrwU+wq%{nn4xzm!#JwAMVg@(SD>H+080A%A zrE#KtV>h}Q1-n6Yy{bY0=bkPBXufU2EGK`L=T89;A%H0WRBEQ-yAVM6eOXf#Wf1_> zluC|4QSvZ~WfWDak^p=FS(dpF-Rpl{0KLn-lh3PuCm1(ksuanu#Td2Xt^mk5I*_pN zEBtvoV#wOFng!Or(-EO?6adtWs-im1sX7UT9P?Yrx;MKsA7;W=VSGN`zqUWO76zY7 zfaMRz)F_0r!>43`!)SIC0xbOY?)7ZO!j+Je@I{CzMECc|+!X;>USBG62}vwc`3f=)34j&xS-g|4UI$8`95sj9PvNCgwv1yvNZ7qOO3Nte^ zfW;oac{+!o!{_6jnK|D}DFA;gfOXq2v$Yn!`n{izZq$syXKng7@A6IIB-r z&Kjz^tLEz+yZ2g7?pCvT=zfWiXwf2Ra(UkZST2_U#MAnQ3t`~CgnWB2pD)5J0Z>&U z+Ne@k3EjA=54U$;t*S06WjHI@s30z0b*HzEF#iI3`uCj*A8c;NG=cEX#*|R^Ix=6lJ5viCH`u z4qu*`?;W3a1@`Y*B(EQhl=aewa1o%9=|?9qLkR##(UN delta 473 zcmV;~0Ve*d1e*kqBqa%ONLh0L01FcU01FcV0GgZ_00007bV*G`2h;}!5-c7LtX77R zTP%N(Nkly?JFgjv@gmsJ^qO^8%8E6m zmbtF$EXy2#+x4w=))>1#sjr@29eq72UKER>sBZR(lte|^@%XU=uqjI@w3EVQSJ$=w z>Dy=Ra=EO2R|HiB5e{l%0U3?BJOO||@~Qa$S4_xM P00000NkvXXu0mjf{lL_4 diff --git a/data/themes/default/note.png b/data/themes/default/note.png index f81425daed4eb550016c7efff9a545f72db8ad77..9e80341e097163d742a9dad0630f012c7c97434e 100644 GIT binary patch delta 951 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⁣a#{>6Il6otzJ;Fa}aPEpgmIWD=& p?d3JT_yW1djfa1c_rLwq{sf&gyIPu@{F(p&002ovPDHLkV1f>JLE-=a delta 1193 zcmV;a1Xlay3Bw7HDu4d~{{a7>y{D4^000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i*c06EPi*o|t9;00dA;L_t(Y$L*C}h*V`5$A9nnm~&?4%*=kwezodstLv5@n_Dc4 z3TqKbN*4wS(xq91L}Xu(dJ$1(DqVz;@rwJ)tDzcPGWk&bCv+qCb|@bVzw~2XXCCd zxm+#{6xC|v%>>o5*tFX5$P=A=0%3cl>55gWdR}w=8OyO7owmArL$UDu zU^Lie2kqGuz2wpDgHM-IlWAZ^l~C4hnx_6f%(ICD%zwxUj%Pn$I6n@QRh|8sSW}hJ z();6`k%6{1^rAeRd2eVhP^hk=b~8;NNWy8RkvKo+Csa*~KuM9*66k=X%IRQYv!-o; z!>J>{b%k+-3JL*H>rrc7`$O#y*N5w)y07QQl4D<|K1=-uTvJ4@BG3UFa0t`T^i

z&57o2$A5B6cgnqRZvVMt@qF=5ASZyhvBbDr+o=4n98+-g2)EHU14EGHN% z#!ecS^p67**0I)5Ye|pj^JT05$aLHE1p+$*`|X3awDwp(+8y=)&;@h=-HGLiRqKwf zz1sg(zYK2(uLBx@I(q1}KD4H+1D5YR=WGEMDoh8kc-8JzJ635MFh!d(U$ftp#Uc83507+C3GdO^0BMHXb{Mi*IsW2BIJ4aQJzH*aX}8!x6r z`g%H}>r3^;A|~$Fy0m+kVpv|16(AB=8Gl$9-W=XOX;1c)bLBJTH_JQlxDNRKxPMJw zp|2N?n5!+)gm>1vNCAsR;?AbfuPS+^s-pf0e?*Vyr>LWWAhR&3L*mIP zdE6WFc2!=lybnx?8r2K~HZ6phq(Ygpn#MwPDr;0yQ@D_FOTF{e#8(xdT$PGi?Y~*? zy{d545Y){i)x$PH zitJRB3A%#^r@QFfz=I6L!wx#ci-#$A@h{47P8bRz>Z%71vVSqQ${1tq(9y*-X-Jkd z|6X3+d%vHD{vuh{%{JW+zWfgF`+lGA|F4hr9SsNqL;KFWelhs?&|W)VN!HV42aqjt z$I&+c@B!UE)7Yw+zKO))Cr%IVe{2sB1-bx3>2(BX>Y4xuY3h+cEdJKi=VR|p&j5o! zXf4P_0JQw9Q-2p|n$|P^+MW~doP7U9;6b2U8KHFwkN}?L6lK||`;s2HrL6hmGpS=w zoqhEU1-Z?WjRFLKTWkD%_4w?;%DL1TZLTWZODkF_;=D5c(aaHGK;=XSw2nN`Ox><7 z=I5^-Kl^s}higY!s8sdKHTr_#BZ))1_X7_AfldIciGT3v9#8@@izhFBpZsR-ko06j z(=;u*bL3cb=jb+7*1nDa>Nr3R$Yo|1&Xup{zgUH9f!NIWODY%oW&jfKfI3jP{^9SR zdQ~q8;E#l+0RLt^XoWP~nq6_KR!W7?*ZjU&KocSq$N{j@#aX}x#Qgy1O)*0Lm~chu z#@Cm=1b-~RyI%nRmYK;hqsPCkzEnA7-6&*KZiKOpv7oic-K-Brc0c^IaK+N%x92|w z$|_vaxX0tVnxKZdgQ_y_&>1~2wY_Vo_qojMwF9Lqxtpqdy|n;MOAXcTA$6OoGyB`U z3T^KTMt6Mn_a&azy!kd7=J_2XD415d}Pbsa5xid|;Tq-Y`NyJ~1+x zUe3stY3W^g_x$Cyp15thwR^C-wWf!U_QwWxM0)#)4GuFBk5jAF5JFH`DQI={k+w%g z`+q=O3(#DP0WECql2YQjF1BrxFBGxtI#sJiyz@o;3cc4-Cve|2J#Bv-YYx+ Z{{pU!VZmRDUuXaT002ovPDHLkV1m-{($xR} delta 946 zcmV;j15NzX2hInODu4d~{{a7>y{D4^000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i*Y=6cQKbe_{^+00Ub|L_t(Y$E}r1Xk1kofWLDenaNBic4i#Y8Kt(9bcD7b)+)4u z7Ni@CSi!n*(P~}zXm?T&gf4t8Tvfr1Pn1FkDs)lMQoB*XSAP{th)shHNoq0^b32*$ zo!ooQanU~`r>nEB2k17r?ikAe zm_XF(F*lf&xaYo?2Zjgtt$PSa0=k^tRX1pYD7oy9Y=Ck#3OX z0BHN!Pz^AIv47@)Lz|Ahd;E?4z#Tv|FhZ;ppaDErF8CGgHm6MHX6Ee+Pnr7 zhc`!Gzj$))NMnpz{ZEs=(AvY>UL1HDxD5!c1aKu0hJTPi8OVcqq3g{cMm6V>JK`NWcY(zr8>H@nTI* z1N0_(wgWw@^`ITH=r{bTSNHw_5T-C&-&YH0K@=dxm9SBpX`BX{fVvd`qa}94N-JNL z&kap{4u3QNd8+_Dn;yF}Ye%iY@{BuFo@nHQ+$d`aV?ngZjjRu6b|xN|zM2{Ta`Ho< z5>%PCZt}PhOi(Mh!$D_dYfGUH(9Rq&yXruj~eBS!xCC9tmzc=*)Ph zSE4fUx6y%x4OO?zy@MO>3>f?nS3UdOYM%uVhQO<*E#R}p|wUU zZL~s`+nc>>;+snc&!5N_fyF>nH$cnfh_%5QNbXC1l+A72nn`7d_pL=Lg_Cu*{8gCM z=&RFG{`mIDxsIN=X1jHIU;jNzh2@|C*#TL=vdWzvZz~sPtabYue7jWo*mFmmZZ`Mc1bq zUwCJ{Gi{}~q#fIy!Q<>?jBhByG$ z8Ws0tyA=EmYprZ$UShyjqYvl<`hfocaC`6{Hh7L~7eF>RXxrGlKh{Z7Ks&JpQgLD( z{|CNUgh(VQpnsh_1^DjCy`C`6_Qf?9j?Hzf}rR;=^?Ye2!))xy;-raq(aPK9c&)&Lt zIdv|)Qw?<34WK$GaGj$=QzD|9j|(@J7T!MvD!|VdGk^DAE&uq|s2EcPT7ZpPPw&7+ z4f7qqnb>m*I0OXVXb_Ifp1JaI?Tc3`lpX+eAnJC%|9-%`b$Vd-^dojS$EcgnQj3y{D4^000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i*Y=6cZ^w1y1Dv00Fs4L_t(Y$L*ERYZE~jhM#X|XLo}pJ*W-XC2Amu6-0#k4-^mH z1+Ri&d#?vUPf|qCqy7idt9q#-6!9YTs+VH%ASOr*B(2rPO@A^oUUsF}nwStg<%5BN zVcuun`SA`6R|15yu18p?g?-N(COH|@!sq+;-OMl z`dFE+%x#_9%5T;;y2isF#X+{BKwVX5r7XA2j(J~Qt=?Z>S$_@a`8)I1qD$eu*3@o1 z2;lW`;Hxw0qKN43YWG%crS<~Y27at9uf1vPG&+sm_J1zW16B3_$1Dk-q%Adf*i}SJ(Y4&GWGPuB zp#ij0$UYaUp92z%*)T8FX{AKObCEkPU8&o*_GV|f^B6-bbzuIsMZW;11A?-5%^aTq P0000 diff --git a/data/themes/default/note_quarter.png b/data/themes/default/note_quarter.png index 6c3acf2cd6e01763d5ba450fe43ffa39ae7c8c97..acd47baabcb56d1cab98ed6483122e28c286e67b 100644 GIT binary patch delta 520 zcmV+j0{8u+1g8X$Dt`a~0002_L%V+f000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i^f04kH0Kp^T>h00Fc~L_t(Y$L*CrZ__{+#((~&xFn9!HdPuUkVu4zL>AUA6$2lj zVr1hJu<$*Qn7c5tu!00)MnZx$0|P>(O(n-p+t_jKyO+h5s((nW?1(Y1blbhp@1FN` z&skI}18{-v;fGh>-6y^N>F4oJAP3~OMzaRM0ya$B8fcUcG^+Gh1(Xm6K$Nx$pz%Ke z%P^zLMso$>TD7W!HDC=`18S6A;nkM0V6O6#?OVjnBGAg^mSI;XHtZWh%q|3**Mu8D z2S7xORUMR(+<&5F_qGrBUhF))`^@vaEtTa-FrNPqkut7pJ1EC;#~!qY+s_{zJ=hzL z{O&HDwujab48zgM*CGKwce)Ll{1Y(9LFJ385i?QNq$G~vM(oJ3xKNg z1(qXnfsXUEe_#$;FO8=27%f_oe5{V=@AHp;KLG&{UmMen^$%j>p286~=3@W=002ov KPDHLkU;%y{D4^000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i*Y=6ciJ-NCA)l00FQ`L_t(Y$L*E9i_}0E#($F!HutgTez@ocRBnZ9+{V`Cu&`IK zvlIUX{|~|X8cQ4N1I1nh?c@qUL^vbP?Z=r-LNfE(BzPQpB!9tjUzlc?d4BV}!#v|s zuM`jfm!G_P@cz>6VEpCv_m4mU$VD5S1^^e>a6M-NHUv6#_SXee5FbE{xFt~iPr#oN zR2}g)0M+y??HsHDYrq=NsJt4lwu%L(%}e$!5O>Nzt42_TU6a`G{vxc(`2g5DBisRc z03xE=I;bLfn}2Pt4DSygjrKAo_>ms1;ML(C+8iwz?Qr3J{?@`Py0Iq#-lMe!t2DV7;7!FZ&_d1Y-))Eam4+lVk~T5|d^rztYSArWBUC4t%PG2E%f`oQFSx4U9EJIwCJ} zP8KsF9dZ0FIsg*DHf@msR_3#Lw&*OLXL;u9`3b(~Q<$97_*7P3lNb4${A~#^O}@aY zMFG(B@A~`B#CfbX)hz@oi5!`4=4EkM90D3xooUlQ>o;;bpf#qlRk;8F002ovPDHLk FV1f~{@1Otx diff --git a/data/themes/default/note_sixteenth.png b/data/themes/default/note_sixteenth.png index 661bcb7be0043519a80ee0e6b452bd71aac3ad78..44c900cebdedf97bae68dde475624606309854aa 100644 GIT binary patch delta 1085 zcmV-D1j75)2-paaDt`a~0002_L%V+f000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i^f04kH${atUAn00ZSoL_t(Y$DLJMXk0}Y{^nfvmTa=gCe7{!7LqjvYEpt!OM|u# zwc?`UjXr2B(t@`V=|d3(17fLAkcyUy2nIxaXr(EQ57Am`sDDw3=_RPCn8e6#(;Sm+ z_m;DJ_MAQE%=nPmxTYIv_J?5xX6FCq|Nig)N5q{O0pJ9%>B%z(uei1ab{i=*t}Chu zfR&BgOxOT`2*4xCQX3J4&d93|o(?{{WjlaI04}~yss$*Wl>q>h$wH$u6nJy%=aFN( zq5%8=JOHG%Ab%SH_-{lyg#hC1cyaqjN54G27eG@bkg5P^(M~hfEQs?qZYc?QI2t>= z`@(@kWgx3`Z4`h3fT`;7>0{qNof}^`LniaKbu~*eKI1^=Cy)2@oVdAfQdI;FpS!ho zi$DAOk@L^1zbJi}$>oJ#HPp*B2k+|d-2OC?>XK*^wgo*kH;qU#oUK0;KbSTXvaQI zlUP*_01#+Jh$iH~Bb$$$RYnJ9-oJRlRJHgDg`WGlq=l*gs7@1h(p1R2iBv2>-ti8- z@xXWc-+$E;+AxnotX8HB04&|Oe&w~HzU1)i0Qq_OrZk}yoeF!F>snf_6{RzMB$^iYfHu`ec0a{yMAObH>fFKF3VDz4Q?}Q@4hfp^2TZ{p)0e=_(R5P#NjGwynUTM2F+;m@QE&Y#k zftS3<*Uo>N9Vy9`@}cLaGYYerO++H*ZX|!;4`9+dua)LPEo$XW{%5+LYwl=yxUSagw=BDmnpwK+U^Wp##d7>6>k-jl>kbIJyN?b;@{Ib*w)eB9cl`|SLX$#K(ej1JGQjI98{Oea>G2~ z8p#!?e<(E`?^`-IJH-WHRm#E2ueG!J^@bLIcVk@xg3SShLm_CI21+T?*)+*AEnF_& z$jdu7XD(3?$PT6bv2tf(E^4z%Xo^Cy@fM ze|u|WjNhlFfFSW~*RNkxD zdNQ>EX!hLl2U&-3!Z3@DR3;5smSNf^)O?N=<};s}=ao?a1@4$tXok17-*Sqa05*K` zuHX)#-MgQ-r7i%J<;`iTXs67t7tR4l1JKIoSl9jmLHDSykhpZV00000NkvXXu0mjf D0UG@I delta 1083 zcmV-B1jPH;2-XOYDu4d~{{a7>y{D4^000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i*Y=6cq(qhlPLu00ZMmL_t(Y$DLJgXj@ej|K0oEYtopeNwY3Z29-3e18sEvD>!8g znX*k~W3Ug}4XNl9-SEQ@{ZJ9gL_`WxCMZ~tf#_sT>j&9}V}H8MVaM88?B-f+X{$|_ zw8=}FyuA1N-n-Wiy%}*$WzB`dy>Rb6zkAN_cg~e?dxHRQ0a*LuiJgOi4)+s_syUTU z7#09tX3GX$1%L#=BPmi;lF0h|UWpyQ>)G%l02%t)`=o z^~SaV2maJ z*Q^WO>&;y_bZyW4Z~0Dr6k2guf>*A8{h`-dcLVSNsDG&jU@2^w1X`bt{BY09k>@YI zfBn1Jq3kx!xJd{hP4_qSggY8rgtBN=001PVp8DGlG=22UH}Qi*pZs|xf5Z3?00c}B27|N8~`9p17K4nx;1p@Oyb+_f!?trR>7JAfLeb|hmbU_j%0(SjEs|5oT8YU zRLRl0o_{y@oPG4&Lel78ijPRu%9I0uW7yND4h(iqe4p-K_?66Qmt-s~=JtAGbQ1t* zH;kVF*Z>$^rE@MwUIdUD?i>H=+}k5N)FJB^eMEu_cWhubGp>Cxd0YVSs$@ziVE{A$ znS8>SIQP!g{aVU6zXVR*(XHVJZYM=V7%iKZHh%~>00)2xAa50|x$DQKJ}B+`n!OK~ z*7E;2r=sK~v38X;yOLa)Fk^01OK`>=LWz{0DO?Z_;PMKumPMh|idhkrSufaF)|O-2 zL(PN|$=2<^M!%dsDWYSQ0Av7Oc(FFPEBIVvTjP_yI$zMXY&|oUxy(5S=bYY>LfRA$ zY=2}n%Z&B^voD`sOjiOZ9rnmkITqX<>}zR@#v_dp1blutj3FIO$Nxyqa>5{&al_X% zdt^_@y(KY_=^Q_u91#MrD{-*&Yi*X^Xb1)30bc{cjbYpwX@*wRz!-zNppq=~=5qPA z?~C0%b2-~J+&4Z6zyNUbE3Fhk4e^qVjDK@Djt#>!Ft4Ven>sXIgJBxbOw$o0G62p` z-M^m~_gRVDQq9N}3WLWyUd30E zsRN+sOgM*guG|sRGHcS=3=~;`?O4cbd0zZm|J?e~ItxG-j(LSzy?;9$JSN7)QJW}UQ70Z;)H%hIvp_!ni_tN8;xg%tn*002ovPDHLkV1hE9 B{pkPz diff --git a/data/themes/default/note_thirtysecond.png b/data/themes/default/note_thirtysecond.png index a3daee57927420c2b03de184fe65194e8346a90d..204325edc50e362425b569b75a47b9d45e5f3ca2 100644 GIT binary patch delta 1168 zcmV;B1aJGN391Q@Dt`a~0002_L%V+f000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i^f04kIjbe$dhY00cKlL_t(Y$DNf~Ok7nM$N%RpvoSL)Bg;Tj3J6^(ZDS%OL1J3# z7ENR00`DpfCUi&0L&1%JbQ7`I}deMwC{cb zfDeGnbb@3GxPKj{FmNEA%GYX-wVmwPzY-)PfG*RpIuRZsW16xs9TdOcGxp)0p4VIM z2FVD(xkT6EO{r_N<%b64Y@n0&MN*PSd1J$u&%6yFFTE!GD)MgwkiDs?t~nBx5?R}d zo^w53GIQg=nfL8B@vki2{j7u7>%0%<#}_V-4+2mDuzyTzz!Q-pjxD|;PhM>~7C13D z6dRs7Xy}IS*<5(Iv~l}3(;>1Nz>?Mp&w)r3B$~op1%0t?q_acm3H+fg$fpS*oU<@{ zjhTLuQ3Nz9--`V=-%5WE{X%ZU*>QGpxA)YeU4|0_EXAbIz|;@`9e}~FvIo4In(CUP zi!q%Ocz=E9-Lr?-jCLiqW$ z=y!GxepmTs{d53NoqO6tzcLLkY$eI0sut-3ISxNr7Hm-BnP5n z*ME=B+Oum)a;>O^73RJhZlS=pZ(~z_rGJmto$X7d3^_a+?B|W8 zd%8IelF)SH?+-4tZvFV_F2QZ9Dr_j*9vukWgcb4~-n)cyZ-wvqjbD^imRA=)P=p+> z2aExsGJo~t+%3b-s5LDafE0iPO(+ZMe1Gzs;I>t13(Ayv24R`}02kj-cqq5fSDok0 zg+IRtYm1AKOeVn?gA|oW#E7p=>j?%x1F$IM*m!v^-ZuXApVt7;JBw^ZU?(22&M*w5 zQYomaijWk6tSU&zNhq2MRn>LVbCw2?r@tNfDA+r!n80NKOXoULEEb7HN}P5Fbbmv~ zY&Zx?DWs@`xlj;uebb)jzoRa_m00{s|MNUMnLSTYsnIFag delta 1165 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 delta 1061 zcmV+=1ls%22*3!CDu4d~{{a7>y{D4^000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i*c17A-TNL8b8k00YfQL_t(Y$L*EPYg|H&LbB(KGjLxS6YQiDG?DJd19t!_Z%)hke^@t zY3bWu)4ilEJe@|Ag(w~Az>VyOpE|tIb$i*}0MUq*Ykzs-y5~+Ueg!lD7m%%QwDA6c zSF@>+`R*+2;pApmzcUh?GL&=MK;Y`r80eGM#h*jGb`f z`UVhg0~n=Lq!ePfw*tVAL*npNLPY>d6UD|s912JP;ntA<29R9>rPOeT!+b|=#~RK5 ztowlbfPeoEptj|II_S1)N<`E>Jn!%@F=Xp5umB@+7f^3IX)Ot5IM{8_)*qbM>9J*+ z0&E})z2r94YEou$^Sak+kjD2NP@ zwT@fQJa}~f$+`V=rSe3XAP87lU6HW0+0u!J67M-hXQtp3s7zOwEKZWKGpg2Kw*V_O zpMP3#%FeO;s6)9lMWsATE;~vu^jW7r4%qgb{f?7&N(HCDzH)_$LWy)Lt?KS(%7~KU zW_OcXvql(&c%DbKUgi2q^&;R&N{Zcnhi1FU;>uqbW2iUl)LQju>FllVfzZd#Z*(@O zuC3zv9s_T{t$LN^$vrzF6zgX zt@cVsE)32LKBvPPFaT2KNpmPsNgT&!9~y#l!Kv`~@N#_P0p!dp=A}d~@ra~lS{~Z+ fv;Uoc8jr@`^8ux{P0dZR00000NkvXXu0mjfLFNnE diff --git a/data/themes/default/note_triplethalf.png b/data/themes/default/note_triplethalf.png index 5c8a7e90c88eef94dc05180fde462abe3c09f7d0..a2c80fe194e01c05190e0af4b0977e49d1fd239f 100644 GIT binary patch delta 1080 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 Hu0mjf5kfX9 delta 702 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 bm!-b|(SizxToL0q00000NkvXXu0mjfS&3q& diff --git a/data/themes/default/note_tripletthirtysecond.png b/data/themes/default/note_tripletthirtysecond.png index 20e2ab65aa04fe356c3741144d9eb20e36cc41aa..9f8b31122b7c30c619b91a091e9d7c79774bdc9f 100644 GIT binary patch delta 1452 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 delta 679 zcmV;Y0$Ban1;quBDu4d~{{a7>y{D4^000SaNLh0L00l7s00l7tx9uoW00007bV*G` z2i*Y~6E7~Jue^T%00L4;L_t(Y$L&>3XcJKo{$_vk)9oga)L5Dn5sG*a#Giu^EJ(2z z6?^H)Uc73B9=z$*gSQIOo(mqNMbIL65GvcztT zRM0~QhR3q+%{TMCZ{`7e_OFe0xtDhfK!G*r0N_giZU&~c5L}h6OIKttPr3_0gn?*H zf|L9o0T9>DXq~x>xpTH<+fgm*uM}2ZFN`kC18@LTCD1P*)C52W(1ugUnnUKDY*)4~ zXJxfa`~YmjhJVijm2Z{e+~oYVrSYX%0N*7@kT$3x!BqfJ?UHsxzoI`f+KuDsSelYv z@?)ajKAToLmiJky4%RuN9#StmG3V9B`;BEu8Mi`_3Lvibskg|WF0m;}m8X>(g^9wP z45Id&?diM<*C4VTBtGXQFV``8iSC->R~t$&-6)X&UfYijFyb-Maa(jWk+ z#TP}_oHFmG29giFxYrB7kcqj!tAGFyr#JxsaIq$)#iBguNdN-iuRH53Y93Z=t4^2{ zm5}CPs?b+vcFCZWKBS)j5C_l(zye_FIeov^>y3PJKEqjaJ^-jU(i5g4lI14Md**#g z(Etmsa({^@c#&Vihd?)uDp_TaB6N^_cEuBM-h1fHNXd%eMTY?>0Ae_aoO#t8CyVks zmCr7h{Wt!wJLWzQlWDU)&;UdcLBhCc3?hSmiqc^K0(F%AFa9$;#-#h!Ey>K?!1!pX z(Y8gP%WgIUq7ahvO}ToFng7YK+ipB1@a;Ev=peA8zcA8y@74Ri?FTaK-3&BC`4|8I N002ovPDHLkV1ms$K_dVF diff --git a/data/themes/default/plugins.png b/data/themes/default/plugins.png index b7cff0117d47866f34eb5f60ebdc8842761f2a54..5ba9bc3c90e74d1d35f3122aa28cda84e107782b 100644 GIT binary patch delta 2097 zcmV-12+sGX5xx+RB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01e3i01e3jueHZa0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$XyGcYrR9J2?XEXU(6I1>DZ_Y2e{cie{ir78&xpU9t@)N-eh4R!n00)}_uHxKfhpS4w z%MPlsbJYvaoqun9>Hy#T&eOjO!_0&Ea^=K9ouribzK18hy71)35~>JsSqORAI#(TI z|0TD3-=46vrtPOB4!4@`WPVT!HLZ4(a*CN)g8j zV@&MelUlw0=u6N4w&nwzJ$ts`g@r#LL>dIfm@L5R(&C-{dvF5xdX09gNxRhquEF6n ztn_cYEq@3@^7$fD(?>Xc=Kf$TU;Iq<{kOjWd>{doO+5#k1Q3ah9>D(${jZewwmorZ zPg6V?P_M1=;l+RP%8P$QN=ejM|32`H{M^0we%?9vv~!8_)^7{uj^*LX-nK_4!8^ET zyBX1KH^C7Ap_E4Y&N-a3Sm$uo;+)0zy}bm7(|<6X9@TR`OayRjENSxu9L>O8S;%+? zLP$@J>M`J)O@yt*T8q_|R4TRCgC`Eb1LH~kR1V&(!^7p#Qp{!HjXIpn!4GE-1n|8P zoCKAKT8ps;V-40O0DFu)nt}OzQa_o4*K6?D6x>r7LH%t7PK?1bvrq~51@JtHkYWfB zgMZx;HU?voddl}8lrWot<74nh1+H{Q>stxoQVZ@W!s-B0GJ*Pc3(geb^>z5_J~0AF zIdZ^PfM<4yYmM_9zUSi#K0H(a?ULiK%kZt~#A-nzd}RaPZ^6Aq81rG%Ky2apTkwrT z@a+8U>aVUN#mHM96=OWPEv`L{#3eS>Vt=@>YcKd`lth1QL0NdK0q->6M{}c)`A-X~ z8}MOgUkAjOMgUTwFvg&bP7bXwS|g=I?3ak2Y`|laaJ@U6(HgXM5+5y9`cy}cMpI)!eX0JCq_u1U+ z-43wjf)qms5LoNT7fU?()DOsH(qz(UGUY#< zahsUz{s2il7*J|BYsJSOUVmnJ;Tokl}d$~ znHkFEGEz#~ohIFGmsBcXZFPx_jSe$2^UTi9GCe&_x7%f{5g}7qJbyohl#(C_D3{Ch z`+cNaB=GJk-q@n-fndc6)WOi8*mf~1*WE^n4O&^oldj7yiB{@B9qM_rH>E- z&+`bwkV>UO5Cp77UHbh2rOF{bx^QS>9Ma`%dMYXl4wzk|f z#u&f=dbAHXXM_;HEKeT(n&-WIsMki{wqA04@ zqx$+vw7#|+)qmI5IwYI3C3%Ex)q6l~c--8bhOtror-QKgcc8Qb&c#Z1TFofhXt$zv zyV-2kYtj13twy)o>Fp5N5;8yws1JqKcZhBbuUo+G`8E_ni2J_y(D#bv$zOEZty?R% zZUpOV%N;cssC{OnfX0r&w}k4zV8{L2{dRw8?*SM>cq+i%z**o75bqG#Dbxh?K45!< b4l4fzs(Kid#R2p300000NkvXXu0mjf6qXj5 delta 2203 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 delta 1464 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 delta 1540 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 delta 452 zcmV;#0XzPk1cn5VBqa%ONLh0L01FcU01FcV0GgZ_00007bV*G`2h;}x1S>lwoICcB zTP%NkNkl232;;%4Nr&J_slieE^20`>X$w}OM5?icik@(&cd&el3q-8ZiQ0000gwlo_e{_3^gN8aAsW1l3yPqUh@jq8mY9R+Ax452#7NwD z5#xZOWD!(Q@gh+qAU?pGL`)8Q*rO0Of~*H$F>z<6r{B-&E)PaQVUy5X=c@XB_5XkW zk0P9Nf9zxpPVRr8)oML%>c-s?6~(Hmeu? z!#XC^Qh#)>A&TO2q9{V55+q52qDU|r4Nyu!f5^X8srLd^RyvF^Im%_q)zn(bv2RXXeFf~IBk}&1({S^Mk5Z41V zPu#J;+v$GZo3{t^?Rl7*4gd&}2-DegGI6HMKdyYUw%z$_+O+ZF(t@t*-?m%Uz;1W2 z%N}6Q!XkF>T10=Y3#(~$)Q0>i84bl+e*ge0k|b#o6(P$qR8@v$w4o{LRlgGuP8aRM z+_&8Y*R$zDQ4~n?3{eupab4tj2F5rXe+EDF5hXFAEKX_x2q7C@;6JJ;3Istwk|mHu z8LVQ6q6m)fV&YDJh>i05S^y#E@0Jpt+?tGcCrN^a+JGpED9aK_mcWaGF@UG|f9n_7 zwj%%UB75~dQ;vxOAii{REjFKDvP%hX19%vKadn$V2>FUryb`~8;rDA+;U7T%)qRKU zcIWA)Vcx4K3aX0bNs^s+!trSH__=j58mdY_76}JSS$2uPvzgscFyhE9lHIe<4D9}a zey4|yHHSt+MOkuqfsZX`oL|}cfAiqxOJ~2XGwp)b(vRu7exPZXm~XW)u)DZ*VGnNZ z_F*+!&^29F6y+2d4QoZafQlaxAb=18PAUKb7-Ps;3C0*$#ZdC z4ZeD@ss*4#7?r%bXF7B43Zf9I{P$2X#t^3oD)0|dKVGdH>4b9*G8(E{M4v&$mjUzv nB%EL!75^-GYvcS*zBPXVx!bilX7e^U00000NkvXXu0mjfH{sSz delta 1035 zcmV+m1oZo(2%rd%B!2{RLP=Bz2nYy#2xN!=000SaNLh0L00l7s00l7tx9uoW0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$Tok>JNR7i=Xl*@}8RTRd* zQ}3#&s(w~?wQ=HNz<(g1q9CYi9}F=IaT6jz42DRYxRDGEf`6D%5JAO_M3I2_0Jn-{ zkwp*}ZU!aHCI-iZba%b$R&~9u3&$X0#-TjxbH3j>_ni9?=N$hhCYzJTI-SmQmSH_0 zi?Y=4=GT;^Uv3}T{)9ivYibLiDQRPjKX3=`@o|5IuHA*Es3^)3K^)+=H~aqj?E1RY zwsSq!->}E_@qfPE!)P#qJ9J?g7NRtQD2T|H`4j!Le@1B4{V6gfQF>XHB*>BsMOL7z z8cbsak|=>_FOj3&1e&4^tGZH_#S$!M2;&d}37Go}qzx@PBTP19`xl|_+% zJ7?afH_qMoolcQy>6R8}an9f8$=_@L6JVdS9~litU$}$uWY8VJG)w?M!V)Zk#eC+? z*RO3{yMJ=G`hAydoHbUvcIUgE-P4_(gNZZ2us1;6G?;la)J;81v*a_H(i-37)xT-% z{|^Wok|gVjBtuaY=$Z!G>_As_h@uE00zikI(s{Vm1OQgcvP53wNLY$R;9*%TQC1cF z$VZe!NV61ao@T881lkUh@EJ{2K_nnsW>94XRexO}VJW=O!`z?$%q;fPT{ZSwvUS>W zYNh@Wz7H=<&I`6_Kcp!tIByD;WtYR)oBs0Z&Q+R{rbg;v z;(t`-RldvLPBLJ|>QfwbeD;J354(-GgbYD5|PnpeePob^#nGi3AW4i2gK_vMNzj zC90}IRadB+`u=Xvwc7wB09Lll_RcN52X#8mxoh0?0V=t7!0f_D*)WtvCSu0fsodP?GsK5&!@I07*qoL`3f=)34k#NbH>?(sNi2V)Nkl!0@+McYd@B3@xR#bUJq^hdQ z%vDttMNyVz0KkUsbSFQ2WQl*g`)@mU4z8Lx5s`>6Gc!Bq00aQOuN4OmY2#h!f!;ru z_~-M%*k7EgYST2j-S4di0M2*K;Ca^U z6@YfTD`$_d@W)waf4)egszlW9t$F~c(bh>#vj&-qPAdS#Ex(G{2|Iu1>Xu|X0RSJs z`Xq^tELkWC{bs0MJXwj3ZS<`XAio=aeKy#79eM!by_}}bsT0SP*XC0RpuBDBHe8Hy zGg2Q*HBD1hRZ&q@QEw`6nmz5B<9XflevNv`%gM&L698c5OSNPiezrij*fvB2Ao@@& z)g(z20#?C7R?2Fxl-WFPT5Yzjz4#fwnceJPzpTn%81btM|I7j~ho$DcY->0i{_9P) am-`Qe^XQ~N%*ti}0000(_; delta 478 zcmV<40U`dt1fT?vBqa%ONLh0L01FcU01FcV0GgZ_00007bV*G`2h;}x1TzV5Q1UO4 zTP%N;Nkl}4sA99=-HqAz_EHdoM1h!QnxoNZ?uGxB0K?(XTr>0TJP3mJm$qG6 z5m8lD_1-U+%QQ{1EDM3$Am;PIp=^7IBB26cjC>L zn-!_--QEkPLFaQvpj6eeES$^pJc^;J+C)GnM-_QhmWKq&?T2zs7aaiB2Cl3>Z#%{yJhTbmk)W4KadsYi30T8{9bg}9>7!3aPCO0npCyOP> ULv#HQegFUf07*qoM6N<$f>e>(MF0Q* diff --git a/data/themes/default/square_wave_active.png b/data/themes/default/square_wave_active.png index a79a22b98b98e0b2002db440aa7a2df8c337c85a..487b5aff74f5a1f795fbb26121483c85598d2ef6 100644 GIT binary patch delta 439 zcmV;o0Z9J&1Cs=hBo78+OGiWi000000Qp0^e~}>`3f=)34k#JNIn6qeNi2VNNkl4f26ot=y^Cq*zAZt*O6oLwZsKiE6#7;biA_|D#-wV+0o{$ zqde4o1n}W?fAFrl{XGKsapQmd{mT;u1Ofzu%(4Hr+O81+q)kn|olH_u6!nnYbob-N zwQnZbuUmffB+WG6Mi~J}YMSQwCqiM9Nx>B3=SBI6Cd56{6y6v;)vI zmzc**b7m(Ufa$a%uXf#Rg@TgYnMIHUKqhAvj0AwC#$^!h?t>6WQYL>gxVzCv$VBEf zN-`^lEHZ(R+y@y*5*Jo$l-UU^^K_Rp1K>)-1sbe>Fp>mne!o&_WODaqI5NrqJdink zapmm!7=TK%M9l_wH%POgsI$7fD)#!}qjl3%=(+Kw53K{>W*F{_%CC$4-Mt9lX?O46 hT|E4IDZ2ph8{~}t;8qV7;%Wc@002ovPDHLkV1n@P(;@%> delta 439 zcmV;o0Z9In1o;DyBqa%ONLh0L01FcU01FcV0GgZ_00007bV*G`2h;}x1p*gRz@o{K zTP%NXNkl@-lCH+sN|_XiM#0+yBuY9gGTaxIDbm hiwsZiHst`|FG$=7Nf(ewA^-pY07(Z$PDHLkV1oCN%Mkzo diff --git a/data/themes/default/style.css b/data/themes/default/style.css index d1a43900a..8f2c0b699 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -104,11 +104,15 @@ QScrollBar:vertical { margin: 13px 0px; } -visualizationWidget, cpuloadWidget { +visualizationWidget { background: none; border: none; } +cpuloadWidget { + border: none; + background: url(resources:cpuload_bg.png); +} /* scrollbar: trough clicky things */ QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal, diff --git a/data/themes/default/trackop.png b/data/themes/default/trackop.png index dcb8036e2ba698f510e4463cf7470842eb2c4ce3..bc089652ecd5fa3139d584eae9daad35261ea90a 100644 GIT binary patch delta 890 zcmV-=1BLwR1-AzwiBL{Q4GJ0x0000DNk~Le0000H0000H2nGNE06T3*`jH__e*-j0 zL_t(Ijb&6pOk7nIJ@?O_kvAHNR-2|Il}M0C1r2V5MblOxCM3Es!6lKv%2*JiI~O1< zTnNc9p<8Aajf|f_A^}{86bBe=f@rM9v}uJn#7Gwc&Y$`7-a9V(hm87?m%N*I&pjvS z-TOci)jN~PoU5EY&s+CA?^^&df0CG=pFj8Ce3EcbwH6l_-&IQ8otT(-5df4@&&6V~ zW&oF0R#qC7Qg;^?7Ty<;Y8c$=Kq>VNfOu0=)5`Ml^4ChKr$j_jsnkbGsd^EKCzHuC zfMx)xyEY&QFrh%Adp0N?PW_`6;|X2K~O3b3J>D(_!*Lqtgf!UF*Y{#rG#eo)YjIfL?l*W z*IN4|ElG%o<4Me;)ogFfi~jfE>vKnVp@z0pNL(7p=7}0F+9l2fe+$eE@y{ zaGxa8>Gbce>z)@81VLbZ-@m7n`i|s#uJ8L-0GuUBYb^laydXlRo>%%TIB(2u^rt7)^fGZ*r5s|317QXNQ>3QA< zySuw70Fd$V@r$8Bk6LRD00B-rnc?e5sL&c?2q0pNDemv@U!9qm*>rv1zoWIjvAMZ< zZ*On!u&1YIQbbf}f5mBklZ4i~}w@JsFO?e741z3ToDjUm Q=l}o!07*qoM6N<$f@0#Qb^rhX delta 684 zcmV;d0#p6B2kHeOiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZzBe*$Mo zL_t(IjdfE!OJhM4J@+L~W5_lx1U9a0uo3(R5<3gEN)_4EHWo=C*a#N>ffONy)po+J zO6(*^NSEM02y7!+`~pFn4f7^>Z|>P*lVDc&z=atuGu(5}IUtGGb#ZZ#9-r&=daGWq zx8CcG%fl;NUS1YvW@dVgMq>p4e-eqr^4#3qG5|Chjg?d?)oV7Jh1YL{f z{1(82h_ppyd(=7uuojEOG9t2=%jF)XKDfTVE~siJ48x~HB5?!YGXTLf2;k0IyX5gwvbbUK|h$sT}NlJ_J(0!ZQ=L{Ve_Jge%0hzz1A$_h!eTCEl5f83RbERYlc zRMkF!ml4Hz&+}3uBF;HF=kA?z8~J>`>jA*}`g+$|+cw6CF$Tt%eh>sZo12^2t*x!B zwRWf9@Ar){2!cS2G3|Ul-vt0UJw0s!SXR|fB*&`!Di({`*W;g@ob)`;`!b@UBp*rs zj2mMhA|MG>eUCZ-z*-9te;My$;)98d$H&LtRrM=Lh{$h}JEcx5)n~VI_K_1WaHrApesj5M`_>p zd#XAM;9gb#E2DGHkbEY&Kyu*w{$Cjn4-X4r7W#w|YoQcQdw>ILt_geVfCMx-Ie2Lxl#szeP^ zOtor*(in@?AeNRU5?ZX$5N)W`RPBp_3Z>QswKQyv+GWcrd#>~Oz!qDaWHOV?e82fm z=KBUDF|)t+Q_HgH`KHmP{HD>Se>?z-B$W-rUvE zS8+Rzp#wh-16cAuNb|YR8~2QUIk(hI^^{ABs>Cv;=1O(kv|*bTyoIs(e>!29DcbyI zch||9hG(MYYHUJSp$Pfq#IXr%_<v1Z){= z&P}Afa)2-+fj!{#wXJV_e;+`!uB~?S)Gf(75mV6ANc{!p!^O`(0bqb+RyJpL{ZX*O z$_oiU5kUh0;;y0Fuig4EfI$GiljLJ(-w6FU4H1PP43KgRKOUIlSLLkx&8#(9Q-LJn=i&cw&&M@We@}V<3PKVazTS50Z`U}zPQo`y zLTP~zD9gqEfry?ccPk+Plpvyp?MPI3_r!~XpZ4tp09pG*?SmtW@`nP0K+(opIQ_mw zBNRtXgw)U=%n+#he;$t?+1R?@^e(!+sWF`LzRUJc92?819ZTQz%}9vRj>AfxmN`Na#Vjnj`PB!?&#t!nB?4leXg97ENLa3D&(bPV8i^N% zpZ)V_<|6w;x(t(LK4(2@6Q9 zuC4)KlDt6jB*|!20F!z3)S`Z)Dbw)nK>!13*K$i;I{?7b^}XwFI#Kb~`Q1N%0AS&) zyI%P>6hm1_5_hz3c;tpHcW(!n|cVkMU~{{qIB-5sXOT8jVx002ovPDHLkV1iLH Bw#@(l delta 725 zcmV;`0xJF72a^UNiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZzBe*%z6 zL_t(Ijb&3!NK|1IJ@i&{jxHWkvM zpN&B-YEdM$sZD{abmJzX5CX9Y^C!d1d~e>&eDAxb#ppEFg$wuNe&=wx=N^zmeO{O! zNUhcRrGb%iO9Lad-pb$JS{l^Ff5qTIuEF0_=nC$)1Aw1Mw)u%<8vyhKgYCZO7kZ0KC>D}0Sv+Brq)Zq^|Q0wk&Y_I-J=b^F#WDHX3{asSKVb*H@J{mFC; znWp0`preGGAqaxcNgRPNP0u!m2j13Bd7YVl+o&TfN9D+coxcvg%7-?Z3vD#Fa`1KD zYN@jl+j3k&$2xibE48OTcC2PufBg7JU`1K%N=lkTq=zD|tVj&02~qlkVr{9gJy@IF=F9gb@Atmb!y1V@FfcIl zJTnaQ444`9zPY)1trqX@?mo%oe{xR%Sj>#=?d@yN*E2IT)LAZY^1%ty`@Mb z@|w-B(IM2q6r^Fzd%<<_i)b1S*w^ZADUgg75o~QetasD=|7c`T)Qqs(}iH!oPt)APfLXDeUj> zKbn}Bm6=frBEyuOMQKPHvwdr`7!P6?EIYIV->&OkH>8wTiAeK24@xNjfa|&ffUFS!fa5q7 zDP^!m!pxRZ>S{b5f0Y1O&CSg>mY0{mvnb}u3IqZXB7&xAP)fn`Jh{5M zdN+|sd}%z6`Qhp5f9bF5>+1_MGczBR%VqXF53cK8a>sE{DwTMCe*VLajg4z>5HiT5XZc z{7W<%{n&L~q|@mKlarHgJC4JS<8Uk%dncRC-gjLW{r&y7UjP`){2w#_%*^tV06ovU zeSCcU_0rN(0zd|U2S5Pe#l^+pVzKynDwUcA@X{q2KmQxfl^tPbOifL_J3Ku6DS#Vw f`77s>TwwkOC|wJ(#1!$h00000NkvXXu0mjfh%~WD delta 684 zcmV;d0#p6Q2kHeOiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZzBe*$Mo zL_t(Ijct=ZOJh+G#n0RqS+ZmcV+gJqH<5r~XB}IKUm&v9X%zf8qSe}1?4n>RBC(2{ zg+d4{JS6+#KSW~@&Ark0=4@dSj5siGhq-sSGruz+iT8efexB~1YqeUXR;yL|vG4oo zkM|AUneY3hL?Y4feSZ!B;_>)we>@(a1%Mz3=3=o}BM5@h`!_;z5Hy?33D5JI0ImU4 zjWNprAR@aWvH)Ph7?Vk*QrANTTCG+|RZmi>)ZOFb;{|{z0D@s7fXmU*(V6@E`?N8p zkW41`DV094f{ z04)F@nKZ^EL`1?cB*`lP#e61o3l^8*0FFjSH^s`@wP zoI{_4s(#iw0Khp1k+->qe_=S#!2sj&@$qkxKS@GF+NxS!TwL4(fTN?M63Jhl=Y3OE zL{ao-X=!O?fbrnqV2t#PHzeil?d^#$44WjcNmcjTg zy1Kezt-Z0<-mI;ytvKh3udlD&D2fV0eSKWdt*x!W%5H3IR5mv^E1%{1{vR9!%R#`{ S!{Yz|002ovPDHLk0$_rf7C(9b diff --git a/data/themes/default/triangle_wave_active.png b/data/themes/default/triangle_wave_active.png index 79a4c6807df21cbcf2dcf92f055ee053611f3a0d..f3ef94abc01c8988b94af7827b8caaf88932e876 100644 GIT binary patch delta 521 zcmV+k0`~ox1eXMm8Gix*0059Gx`qG%00v@9M??Ss00000`9r&Z00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-vi84f8Br~X9W0004`Nkl>1lZl(P17_<66c(V03u>$W~Qn|QA{Qi@4W*;2&$^8KsC>gD+RFn ztr_Pw^Fs)L1J30pV`v`|_mpS(KTG^tvk%aB1~o zwIGA7`N8%=cRy>r@$P3CO>A&KrK;nv1x4NMb{!CE&8{c?oyDd7ar;?@H=zCeOy{J( zv*=Eyiw9GnF}pfnkAdXa%Xw*9)f!|}C&xLEug?`t1Aii*@#xz4UaPY=Oka7Xbv=8j z)iPA^I)2dBrd;h`h=A$iJDt5@`^iYMV1I!^<1eK(8>bI@H=o81peA~sF)FoTm;i`j zBAA`2`{1ehU10SjN#1!Y)c$18$V|zgYQ8;RlNASS$p*LnJ(piAg#L?%QE6rX0000< LMNUMnLIPld0o3gI literal 537 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F?i!z-ScU6XFWwGQVJEe$C8rorB{B z2j@*Lu47z0CwO>H^6=i}<-N-%^iW8wSxl@&OsrL0yj5HxTtcE+Lb6&?vQ1Jd8i=H% z+oh#Dq~vtuvRrw?S?>Kg)q zgQ1b3k&%O;2?&^)m;!-`d4+{}rMb;~8)s){7Z+zYcQv-s z85tcD9TO81n;jdQ9Ty)TpOBD{n2?a1oSc=Not>4HmzS4co1b4>P*_-4Qc_Y{T3S(2 zQCV48RaMn<;nr_ps4enzaSY**4L#_~caTAV?Lxkl^1nq(d^=bvm~+Bc+ma)=1N@^1{jQs+L)#ezlu^RI13H>s~WGh=7y?3)SZT&02; zHx4rGiWk@}5o|r@bKv(<&C9!#E9CuuT9iCmeolaMm625E)muH;tj8An81G<<4m`v9 zJul5|!HKO63bWi=6rPuHI>w8{AFJgE`|*)cE-k25^WYpeplcaCUHx3vIVCg!0D;h^ APXGV_ diff --git a/data/themes/default/usr_wave_active.png b/data/themes/default/usr_wave_active.png index 336ca87c6e85c49035eb2ccb979338742404fabc..2309967d5d47f9146c91c68006391321e9ef5e8d 100644 GIT binary patch delta 459 zcmV;+0W|)G1lj|T8Gix*0059Gx`qG%00v@9M??Ss00000`9r&Z00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-vi84f8AD)vb#0004JNklCS`PM5tnj>9mFqR0VYt!3uYTG&am zHz0@-Q83>-+YK72n3=7$01SXm6f*PDwYzdXlC7A&FPD2!HOB)_Zx`yzC3L%8-}eoG z*LtJvnZ*;=x_=ai0!ZF?$oT-m=VtBMTIo+^vIan_)%vO*&zSP&Gyu2B&c$P`DMa*v zie)8$)TZ2Ef1GL0Vek)1NrhrU6J$)e5)7RHC($#a&)AQBSI}R2A3ISz+piAG-(9j5kjEun8$jQ(I z1WbX@#1sfjtQJ@~J3G6$IJ>#Kxx0IKczSvPfwz}mqkk|Egak)MMn=a($Hc_MWyQr! zi;ItsPfkuw0ivdqtnBRUtgO7eywcLr#-9fQfT1+c)5S4_LpJo_-d-j{frg9c)6UF) zARwSDs1V2|=zBp$^a6{Ei9=cYkxj4fe!WqwxraSoW_iJW*PK$B=vTI3>kKWv+pLy! zT7Ua*h<^Rc@^$xwAD_GTmVZxj`-I7#e|~jn3ly-*|GM|&V&9^_J{L01ciprzS=SIsuAM MPgg&ebxsLQ08kdA(f|Me diff --git a/data/themes/default/white_noise_wave_active.png b/data/themes/default/white_noise_wave_active.png index 8c8fa9d7f8b1abd5ca1b1b19fcde6ad77c7c65ea..38b089c63d7ff48ee786656a620cae7281a88d3d 100644 GIT binary patch delta 518 zcmV+h0{Q*+1C<1j8Gix*0059Gx`qG%00v@9M??Ss00000`9r&Z00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-vi84f88#P}!%0004^NklvV27f~oT_yi!d#0V9>F&=% za`Cox`cYNXsep5f0F1}uG)=YEQc5BMKt#;U%pnBlTu~I(S_!~=Z>3-M!cn2~i=q8T z=_;u-uRE@Fnji%4Jpciqb?@5t*uTG@TVH;jg&Squ048;@(#TAOX-h zS&1whzRk%+VM6PL5hfnKJnNjS_kPX$>cNLx{i+*NCx1+AKVPP=G71dKYU+}b8&fB; z06+pzll=Ip4_zg1rHx4eK&(9S3V_)7#^=2EE(2~5fWcq@;@A{bU+Z}dpt`E`yk?HR z-&C_Qv2i#YN&q1Q05DNaY6bwPNwov{#V`M@j3;+NC07*qo IM6N<$g5&DqL;wH) delta 487 zcmV~_W=R;0Ri~|0r~*} z`vC*(0|W2_1Mma{=>!Dr1O?><1?B|?>jnqx2M6s32-64%-UtZl2o1aq4!jKywGR-t z5D>l)61Wl*vJ?~E6BL&e6y6jR-xL*%6&05i7mpVjavK|G8-E*U8yrs?98Vk^TpS!- z92{vK9BLgLbQ~O%8y-_0A739JARr+uAt5axAub>xFCihWAtI(CBO@XsBO@d)BqyLJ zFo`fUtTZ@nI6Z$oKukYCjX*+QLP&{7N{dQMi%L^dQ(0MAT8vs;TwGj_TwRb|UteEh zWMX4uV`OnUZ+mcbbaZufb$EDqd3kwydU{!*^&$WO0HaAn zK~xAGRl&;&!Y~j8(3?!sq>T^6suXnL2l??X#f?irP!Rh{lNq;q4)90eWJxP15lPc% zz^V09N!)s25Sn;#*MQHZlB6`w-7voUwtJ6l1c6gGzF;2Rt)K2@PCy)D&OPV&c^)+= z784AweJnCG_HLov%GZrs5;PW-_q!R1x2}LeweMXC!?5lE11U)b)Im0(0HMyX%$CJU d3I<#J_ySDLNX&Mrn*jg-002ovPDHLkV1jJnuQ~t# diff --git a/src/gui/widgets/cpuload_widget.cpp b/src/gui/widgets/cpuload_widget.cpp index 508581a74..f634a6b1e 100644 --- a/src/gui/widgets/cpuload_widget.cpp +++ b/src/gui/widgets/cpuload_widget.cpp @@ -45,6 +45,7 @@ cpuloadWidget::cpuloadWidget( QWidget * _parent ) : setFixedSize( m_background.width(), m_background.height() ); m_temp = QPixmap( width(), height() ); + connect( &m_updateTimer, SIGNAL( timeout() ), this, SLOT( updateCpuLoad() ) ); @@ -66,7 +67,8 @@ void cpuloadWidget::paintEvent( QPaintEvent * ) if( m_changed == true ) { m_changed = false; - + + m_temp.fill( QColor(0,0,0,0) ); QPainter p( &m_temp ); p.drawPixmap( 0, 0, m_background ); From dbe80e9f2be631825eba67e29004778aa3056c14 Mon Sep 17 00:00:00 2001 From: Vesa Date: Sat, 25 Jan 2014 18:20:48 +0200 Subject: [PATCH 11/15] Peak controller artwork fix --- plugins/peak_controller_effect/artwork.png | Bin 30448 -> 26354 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/peak_controller_effect/artwork.png b/plugins/peak_controller_effect/artwork.png index 1c5d5defb7155bd556f21a726ab82bb2f30cd00a..31296ca909354ca9680d46b0fbbcd12de5cfaa15 100644 GIT binary patch delta 7620 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 FV1g}E8rA>+ From 14e9694ecc5023e81a21a2e6abcf06c4edc14e15 Mon Sep 17 00:00:00 2001 From: Hexasoft Date: Sat, 25 Jan 2014 17:37:05 +0100 Subject: [PATCH 12/15] Added a vocoder LADSPA plugin into the tree. --- plugins/ladspa_effect/swh/vocoder_1337.c | 456 +++++++++++++++++++++++ 1 file changed, 456 insertions(+) create mode 100644 plugins/ladspa_effect/swh/vocoder_1337.c diff --git a/plugins/ladspa_effect/swh/vocoder_1337.c b/plugins/ladspa_effect/swh/vocoder_1337.c new file mode 100644 index 000000000..086faffb5 --- /dev/null +++ b/plugins/ladspa_effect/swh/vocoder_1337.c @@ -0,0 +1,456 @@ +/* vocoder.c + Version 0.3 + + LADSPA Unique ID: 1337 + + Version 0.31 + Added stereo output, renamed input/output ports, added, + added a control for stereo balance + + Version 0.3 + Added support for changing bands in real time 2003-12-09 + + Version 0.2 + Adapted to LADSPA by Josh Green + 15.6.2001 (for the LinuxTag 2001!) + + Original program can be found at: + http://www.sirlab.de/linux/ + Author: Achim Settelmeier + + Adapted to LMMS by Hexasoft (hexasoft.corp@free.fr) + + + Licence: GPL + 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 3 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, see . + +*/ + + +/* not familiar with WINDOWS stuff. Saw this in other sources, it should be needed */ + +#ifdef WIN32 +#define _WINDOWS_DLL_EXPORT_ __declspec(dllexport) +int bIsFirstTime = 1; +void _init(); // forward declaration +#else +#define _WINDOWS_DLL_EXPORT_ +#endif + + +/*****************************************************************************/ +/* general includes */ +#include +#include +#include +#include + +/*****************************************************************************/ +/* LADSPA headers */ +#include + +/*****************************************************************************/ + + +#define LADSPA_UNIQUE_ID 1337 + +#define MAX_BANDS 16 /* max 16 bandsn should be increased */ +#define AMPLIFIER 16.0 + +struct bandpass +{ + LADSPA_Data c, f, att; + + LADSPA_Data freq; + LADSPA_Data low1, low2; + LADSPA_Data mid1, mid2; + LADSPA_Data high1, high2; + LADSPA_Data y; +}; + +struct bands_out{ + LADSPA_Data decay; + LADSPA_Data oldval; + LADSPA_Data level; /* 0.0 - 1.0 level of this output band */ +}; + +const LADSPA_Data decay_table[] = +{ + 1/100.0, + 1/100.0, 1/100.0, 1/100.0, + 1/125.0, 1/125.0, 1/125.0, + 1/166.0, 1/166.0, 1/166.0, + 1/200.0, 1/200.0, 1/200.0, + 1/250.0, 1/250.0, 1/250.0 +}; + +/* The port numbers for the plugin: */ + +#define PORT_FORMANT 0 /* the track to "vocodify */ +#define PORT_CARRIER 1 /* the track to control 1st track */ +#define PORT_OUTPUT 2 /* left output */ +#define PORT_OUTPUT2 3 /* right output */ +#define CTRL_BANDCOUNT 4 /* selected # of bands to use */ +#define CTRL_PAN 5 /* stereo balance for outputs */ +#define CTRL_BAND1LVL 6 /* start of bands level */ + +#define PORT_COUNT 6 + MAX_BANDS /* bands level */ + + +/* useful macros */ +#undef CLAMP +#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) + +/* Instance data for the vocoder plugin */ +typedef struct { + LADSPA_Data SampleRate; + + int num_bands; /* current number of bands */ + float mainvol; /* main volume */ + + struct bandpass bands_formant[MAX_BANDS]; /* one structure per band */ + struct bandpass bands_carrier[MAX_BANDS]; /* one structure per band */ + struct bands_out bands_out[MAX_BANDS]; /* one structure per band */ + + /* Ports */ + + LADSPA_Data * portFormant; /* Formant signal port data location */ + LADSPA_Data * portCarrier; /* Carrier signal port data location */ + LADSPA_Data * portOutput; /* Output audio port data location */ + LADSPA_Data * portOutput2; /* Output audio port data location (copy of previous one) */ + LADSPA_Data * ctrlPan; /* PAN for output */ + LADSPA_Data * ctrlBandCount; /* Band count control */ + LADSPA_Data * ctrlBandLevels[MAX_BANDS]; /* level controls for each band */ + +} VocoderInstance; + +/*****************************************************************************/ + +/* Construct a new plugin instance. */ +LADSPA_Handle +instantiateVocoder(const LADSPA_Descriptor * Descriptor, + unsigned long SampleRate) { + VocoderInstance * vocoder; + + vocoder = (VocoderInstance *)malloc(sizeof(VocoderInstance)); + + if (vocoder == NULL) + return NULL; + + vocoder->SampleRate = (LADSPA_Data)SampleRate; + vocoder->num_bands = -1; + + return vocoder; +} + +/*****************************************************************************/ + +/* Initialise and activate a plugin instance. */ +void +activateVocoder(LADSPA_Handle Instance) { + VocoderInstance *vocoder = (VocoderInstance *)Instance; + int i; + + vocoder->mainvol = 1.0 * AMPLIFIER; + + for (i = 0; i < MAX_BANDS; i++) + vocoder->bands_out[i].oldval = 0.0; +} + +/*****************************************************************************/ + +/* Connect a port to a data location. */ +void +connectPortToVocoder(LADSPA_Handle Instance, + unsigned long Port, + LADSPA_Data * DataLocation) { + + VocoderInstance * vocoder; + + vocoder = (VocoderInstance *)Instance; + switch (Port) { + case PORT_FORMANT: /* formant port? */ + vocoder->portFormant = DataLocation; + break; + case PORT_CARRIER: /* carrier port? */ + vocoder->portCarrier = DataLocation; + break; + case PORT_OUTPUT: /* output port? */ + vocoder->portOutput = DataLocation; + break; + case PORT_OUTPUT2: /* output port? */ + vocoder->portOutput2 = DataLocation; + break; + case CTRL_BANDCOUNT: /* band count control? */ + vocoder->ctrlBandCount = DataLocation; + break; + case CTRL_PAN: /* Pan control? */ + vocoder->ctrlPan = DataLocation; + break; + default: /* a band level control? */ + if (Port >= CTRL_BAND1LVL && Port < CTRL_BAND1LVL + MAX_BANDS) + vocoder->ctrlBandLevels[Port - CTRL_BAND1LVL] = DataLocation; + break; + } +} + +/*****************************************************************************/ + +// vocoder_do_bandpasses /*fold00*/ +void vocoder_do_bandpasses(struct bandpass *bands, LADSPA_Data sample, + VocoderInstance *vocoder) +{ + int i; + for (i=0; i < vocoder->num_bands; i++) + { + bands[i].high1 = sample - bands[i].f * bands[i].mid1 - bands[i].low1; + bands[i].mid1 += bands[i].high1 * bands[i].c; + bands[i].low1 += bands[i].mid1; + + bands[i].high2 = bands[i].low1 - bands[i].f * bands[i].mid2 + - bands[i].low2; + bands[i].mid2 += bands[i].high2 * bands[i].c; + bands[i].low2 += bands[i].mid2; + bands[i].y = bands[i].high2 * bands[i].att; + } +} + +/* Run a vocoder instance for a block of SampleCount samples. */ +void +runVocoder(LADSPA_Handle Instance, + unsigned long SampleCount) +{ + VocoderInstance *vocoder = (VocoderInstance *)Instance; + int i, j, numbands, pan; + float a; + LADSPA_Data x, c; + float fl, fr; + + numbands = (int)(*vocoder->ctrlBandCount); + if (numbands < 1 || numbands > MAX_BANDS) numbands = MAX_BANDS; + + /* initialize bandpass information if num_bands control has changed, + or on first run */ + if (vocoder->num_bands != numbands) + { + vocoder->num_bands = numbands; + + for(i=0; i < numbands; i++) + { + memset(&vocoder->bands_formant[i], 0, sizeof(struct bandpass)); + + a = 16.0 * i/(double)numbands; // stretch existing bands + + if (a < 4.0) + vocoder->bands_formant[i].freq = 150 + 420 * a / 4.0; + else + vocoder->bands_formant[i].freq = 600 * pow (1.23, a - 4.0); + + c = vocoder->bands_formant[i].freq * 2 * M_PI / vocoder->SampleRate; + vocoder->bands_formant[i].c = c * c; + + vocoder->bands_formant[i].f = 0.4/c; + vocoder->bands_formant[i].att = + 1/(6.0 + ((exp (vocoder->bands_formant[i].freq + / vocoder->SampleRate) - 1) * 10)); + + memcpy(&vocoder->bands_carrier[i], + &vocoder->bands_formant[i], sizeof(struct bandpass)); + + vocoder->bands_out[i].decay = decay_table[(int)a]; + vocoder->bands_out[i].level = + CLAMP (*vocoder->ctrlBandLevels[i], 0.0, 1.0); + } + } + else /* get current values of band level controls */ + { + for (i = 0; i < numbands; i++) + vocoder->bands_out[i].level = CLAMP (*vocoder->ctrlBandLevels[i], + 0.0, 1.0); + } + + for (i=0; i < SampleCount; i++) + { + vocoder_do_bandpasses (vocoder->bands_carrier, + vocoder->portCarrier[i], vocoder); + vocoder_do_bandpasses (vocoder->bands_formant, + vocoder->portFormant[i], vocoder); + + vocoder->portOutput[i] = 0.0; + vocoder->portOutput2[i] = 0.0; + for (j=0; j < numbands; j++) + { + vocoder->bands_out[j].oldval = vocoder->bands_out[j].oldval + + (fabs (vocoder->bands_formant[j].y) + - vocoder->bands_out[j].oldval) + * vocoder->bands_out[j].decay; + x = vocoder->bands_carrier[j].y * vocoder->bands_out[j].oldval; + vocoder->portOutput[i] += x * vocoder->bands_out[j].level; + vocoder->portOutput2[i] += x * vocoder->bands_out[j].level; + } + /* treat paning + main volume */ + pan = (int)(*vocoder->ctrlPan); + fl = fr = 1.; + if (pan != 0) { /* no paning, don't compute useless values */ + if (pan > 0) { /* reduce left */ + fl = (100.-pan)/100.; + } else { + fr = (100.+pan)/100.; + } + } + /* apply volume and paning */ + vocoder->portOutput[i] *= vocoder->mainvol * fl; + vocoder->portOutput2[i] *= vocoder->mainvol * fr; + } +} + + +/*****************************************************************************/ + +/* Throw away a vocoder instance. */ +void +cleanupVocoder(LADSPA_Handle Instance) +{ + VocoderInstance * Vocoder; + Vocoder = (VocoderInstance *)Instance; + free(Vocoder); +} + +/*****************************************************************************/ + +LADSPA_Descriptor * g_psDescriptor = NULL; + +/*****************************************************************************/ + +/* _init() is called automatically when the plugin library is first + loaded. */ +void +_init() { + char ** pcPortNames; + LADSPA_PortDescriptor * piPortDescriptors; + LADSPA_PortRangeHint * psPortRangeHints; + int i; + + g_psDescriptor = (LADSPA_Descriptor *)malloc(sizeof(LADSPA_Descriptor)); + + if (g_psDescriptor) { + g_psDescriptor->UniqueID = LADSPA_UNIQUE_ID; + g_psDescriptor->Label = strdup("vocoder-lmms"); + g_psDescriptor->Properties = LADSPA_PROPERTY_HARD_RT_CAPABLE; + g_psDescriptor->Name = strdup("Vocoder for LMMS"); + g_psDescriptor->Maker = strdup("Achim Settelmeier (adapted to LADSPA by Josh Green, adapted to LMMS by Hexasoft)"); + g_psDescriptor->Copyright = strdup("GPL"); + g_psDescriptor->PortCount = PORT_COUNT; + piPortDescriptors = (LADSPA_PortDescriptor *)calloc(PORT_COUNT, + sizeof(LADSPA_PortDescriptor)); + g_psDescriptor->PortDescriptors + = (const LADSPA_PortDescriptor *)piPortDescriptors; + piPortDescriptors[PORT_FORMANT] + = LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO; + piPortDescriptors[PORT_CARRIER] + = LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO; + piPortDescriptors[PORT_OUTPUT] + = LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO; + piPortDescriptors[PORT_OUTPUT2] + = LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO; + piPortDescriptors[CTRL_BANDCOUNT] + = LADSPA_PORT_INPUT | LADSPA_PORT_CONTROL; + piPortDescriptors[CTRL_PAN] + = LADSPA_PORT_INPUT | LADSPA_PORT_CONTROL; + + pcPortNames = (char **)calloc(PORT_COUNT, sizeof(char *)); + g_psDescriptor->PortNames = (const char **)pcPortNames; + pcPortNames[PORT_FORMANT] = strdup("Formant-in"); + pcPortNames[PORT_CARRIER] = strdup("Carrier-in"); + pcPortNames[PORT_OUTPUT] = strdup("Output-out"); + pcPortNames[PORT_OUTPUT2] = strdup("Output2-out"); + pcPortNames[CTRL_BANDCOUNT] = strdup("Number of bands"); + pcPortNames[CTRL_PAN] = strdup("Left/Right"); + + psPortRangeHints = ((LADSPA_PortRangeHint *) + calloc(PORT_COUNT, sizeof(LADSPA_PortRangeHint))); + g_psDescriptor->PortRangeHints + = (const LADSPA_PortRangeHint *)psPortRangeHints; + psPortRangeHints[PORT_FORMANT].HintDescriptor = 0; + psPortRangeHints[PORT_CARRIER].HintDescriptor = 0; + psPortRangeHints[PORT_OUTPUT].HintDescriptor = 0; + psPortRangeHints[PORT_OUTPUT2].HintDescriptor = 0; + psPortRangeHints[CTRL_BANDCOUNT].HintDescriptor + = LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_BOUNDED_ABOVE + | LADSPA_HINT_INTEGER; + psPortRangeHints[CTRL_BANDCOUNT].LowerBound = 1; + psPortRangeHints[CTRL_BANDCOUNT].UpperBound = MAX_BANDS; + psPortRangeHints[CTRL_PAN].HintDescriptor + = LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_BOUNDED_ABOVE + | LADSPA_HINT_INTEGER; + psPortRangeHints[CTRL_PAN].LowerBound = -100; + psPortRangeHints[CTRL_PAN].UpperBound = +100; + + for (i=CTRL_BAND1LVL; i < CTRL_BAND1LVL + MAX_BANDS; i++) + { + piPortDescriptors[i] = LADSPA_PORT_INPUT | LADSPA_PORT_CONTROL; + pcPortNames[i] = malloc (sizeof ("Band 99 Level")); + sprintf(pcPortNames[i], "Band %d Level", i - CTRL_BAND1LVL + 1); + psPortRangeHints[i].HintDescriptor + = LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_BOUNDED_ABOVE; + psPortRangeHints[i].LowerBound = 0; + psPortRangeHints[i].UpperBound = 1; + } + + g_psDescriptor->instantiate = instantiateVocoder; + g_psDescriptor->connect_port = connectPortToVocoder; + g_psDescriptor->activate = activateVocoder; + g_psDescriptor->run = runVocoder; + g_psDescriptor->run_adding = NULL; + g_psDescriptor->set_run_adding_gain = NULL; + g_psDescriptor->deactivate = NULL; + g_psDescriptor->cleanup = cleanupVocoder; + } +} + +/*****************************************************************************/ + +/* _fini() is called automatically when the library is unloaded. */ +void +_fini() { + long lIndex; + if (g_psDescriptor) { + free((char *)g_psDescriptor->Label); + free((char *)g_psDescriptor->Name); + free((char *)g_psDescriptor->Maker); + free((char *)g_psDescriptor->Copyright); + free((LADSPA_PortDescriptor *)g_psDescriptor->PortDescriptors); + for (lIndex = 0; lIndex < g_psDescriptor->PortCount; lIndex++) + free((char *)(g_psDescriptor->PortNames[lIndex])); + free((char **)g_psDescriptor->PortNames); + free((LADSPA_PortRangeHint *)g_psDescriptor->PortRangeHints); + free(g_psDescriptor); + } +} + +/*****************************************************************************/ + +/* Return a descriptor of the requested plugin type. Only one plugin + type is available in this library. */ +const LADSPA_Descriptor * +ladspa_descriptor(unsigned long Index) { + if (Index == 0) + return g_psDescriptor; + else + return NULL; +} + +/*****************************************************************************/ + +/* EOF */ From 139db3d57a293b2a13a8a7d8f8e709d4df041bd7 Mon Sep 17 00:00:00 2001 From: Wong Cho Ching Date: Sun, 26 Jan 2014 03:13:27 +0800 Subject: [PATCH 13/15] Ported synth function --- plugins/sfxr/sfxr.cpp | 394 +++++++++++++++++++++++++++--------------- plugins/sfxr/sfxr.h | 95 +++++++--- 2 files changed, 327 insertions(+), 162 deletions(-) diff --git a/plugins/sfxr/sfxr.cpp b/plugins/sfxr/sfxr.cpp index 2e942a6ab..01beac525 100644 --- a/plugins/sfxr/sfxr.cpp +++ b/plugins/sfxr/sfxr.cpp @@ -1,6 +1,7 @@ /* * sfxr.cpp - port of sfxr to LMMS - * The original readme file of sfxr can be found in readme.txt in this directory. + * Originally written by Tomas Pettersson. For the original license, + * please read readme.txt in this directory * * Copyright (c) 2014 Wong Cho Ching * @@ -38,10 +39,8 @@ float frnd(float range) #include "sfxr.h" #include "engine.h" -#include "graph.h" #include "InstrumentTrack.h" #include "knob.h" -#include "led_checkbox.h" #include "note_play_handle.h" #include "pixmap_button.h" #include "song_editor.h" @@ -71,73 +70,252 @@ Plugin::Descriptor PLUGIN_EXPORT sfxr_plugin_descriptor = } -SfxrSynth::SfxrSynth( float * _shape, int _length, notePlayHandle * _nph, bool _interpolation, - float _factor, const sample_rate_t _sample_rate ) : - sample_index( 0 ), - sample_realindex( 0 ), - nph( _nph ), - sample_length( _length ), - sample_rate( _sample_rate ), - interpolation( _interpolation) + + +SfxrSynth::SfxrSynth( const sfxrInstrument * s ): + s(s), + playing_sample( true ) { - sample_shape = new float[sample_length]; - for (int i=0; i < _length; ++i) - { - sample_shape[i] = _shape[i] * _factor; - } + resetSample( false ); } + + SfxrSynth::~SfxrSynth() { - delete[] sample_shape; + } -sample_t SfxrSynth::nextStringSample() + + +void SfxrSynth::resetSample( bool restart ) { - float sample_step = - static_cast( sample_length / ( sample_rate / nph->frequency() ) ); - - - // check overflow - while (sample_realindex >= sample_length) { - sample_realindex -= sample_length; + if(!restart) + { + phase=0; } + fperiod=100.0/(s->m_startFreqModel.value()*s->m_startFreqModel.value()+0.001); + period=(int)fperiod; + fmaxperiod=100.0/(s->m_minFreqModel.value()*s->m_minFreqModel.value()+0.001); + fslide=1.0-pow((double)s->m_slideModel.value(), 3.0)*0.01; + fdslide=-pow((double)s->m_dSlideModel.value(), 3.0)*0.000001; + square_duty=0.5f-s->m_sqrDutyModel.value()*0.5f; + square_slide=-s->m_sqrSweepModel.value()*0.00005f; + if(s->m_changeAmtModel.value()>=0.0f) + arp_mod=1.0-pow((double)s->m_changeAmtModel.value(), 2.0)*0.9; + else + arp_mod=1.0+pow((double)s->m_changeAmtModel.value(), 2.0)*10.0; + arp_time=0; + arp_limit=(int)(pow(1.0f-s->m_changeSpeedModel.value(), 2.0f)*20000+32); + if(s->m_changeSpeedModel.value()==1.0f) + arp_limit=0; + if(!restart) + { + // reset filter + fltp=0.0f; + fltdp=0.0f; + fltw=pow(s->m_lpFilCutModel.value(), 3.0f)*0.1f; + fltw_d=1.0f+s->m_lpFilCutSweepModel.value()*0.0001f; + fltdmp=5.0f/(1.0f+pow(s->m_lpFilResoModel.value(), 2.0f)*20.0f)*(0.01f+fltw); + if(fltdmp>0.8f) fltdmp=0.8f; + fltphp=0.0f; + flthp=pow(s->m_hpFilCutModel.value(), 2.0f)*0.1f; + flthp_d=1.0+s->m_hpFilCutSweepModel.value()*0.0003f; + // reset vibrato + vib_phase=0.0f; + vib_speed=pow(s->m_vibSpeedModel.value(), 2.0f)*0.01f; + vib_amp=s->m_vibDepthModel.value()*0.5f; + // reset envelope + env_vol=0.0f; + env_stage=0; + env_time=0; + env_length[0]=(int)(s->m_attModel.value()*s->m_attModel.value()*100000.0f); + env_length[1]=(int)(s->m_holdModel.value()*s->m_holdModel.value()*100000.0f); + env_length[2]=(int)(s->m_decModel.value()*s->m_decModel.value()*100000.0f); - sample_t sample; + fphase=pow(s->m_phaserOffsetModel.value(), 2.0f)*1020.0f; + if(s->m_phaserOffsetModel.value()<0.0f) fphase=-fphase; + fdphase=pow(s->m_phaserSweepModel.value(), 2.0f)*1.0f; + if(s->m_phaserSweepModel.value()<0.0f) fdphase=-fdphase; + iphase=abs((int)fphase); + ipp=0; + for(int i=0;i<1024;i++) + phaser_buffer[i]=0.0f; - if (interpolation) { + for(int i=0;i<32;i++) + noise_buffer[i]=frnd(2.0f)-1.0f; - // find position in shape - int a = static_cast(sample_realindex); - int b; - if (a < (sample_length-1)) { - b = static_cast(sample_realindex+1); - } else { - b = 0; + rep_time=0; + rep_limit=(int)(pow(1.0f-s->m_repeatSpeedModel.value(), 2.0f)*20000+32); + if(s->m_repeatSpeedModel.value()==0.0f) + rep_limit=0; + } +} + + + + +void SfxrSynth::update( sampleFrame * buffer, const fpp_t frameNum ) +{ + for(int i=0;i=rep_limit) + { + rep_limit=0; + resetSample(true); } - // Nachkommaanteil - float frac = sample_realindex - static_cast(sample_realindex); + // frequency envelopes/arpeggios + arp_time++; + if(arp_limit!=0 && arp_time>=arp_limit) + { + arp_limit=0; + fperiod*=arp_mod; + } + fslide+=fdslide; + fperiod*=fslide; + if(fperiod>fmaxperiod) + { + fperiod=fmaxperiod; + if(s->m_minFreqModel.value()>0.0f) + playing_sample=false; + } + float rfperiod=fperiod; + if(vib_amp>0.0f) + { + vib_phase+=vib_speed; + rfperiod=fperiod*(1.0+sin(vib_phase)*vib_amp); + } + period=(int)rfperiod; + if(period<8) period=8; + square_duty+=square_slide; + if(square_duty<0.0f) square_duty=0.0f; + if(square_duty>0.5f) square_duty=0.5f; + // volume envelope + env_time++; + if(env_time>env_length[env_stage]) + { + env_time=0; + env_stage++; + if(env_stage==3) + playing_sample=false; + } + if(env_stage==0) + env_vol=(float)env_time/env_length[0]; + if(env_stage==1) + env_vol=1.0f+pow(1.0f-(float)env_time/env_length[1], 1.0f)*2.0f*s->m_susModel.value(); + if(env_stage==2) + env_vol=1.0f-(float)env_time/env_length[2]; - sample = sample_shape[a]*(1-frac) + sample_shape[b]*(frac); + // phaser step + fphase+=fdphase; + iphase=abs((int)fphase); + if(iphase>1023) iphase=1023; - } else { - // No interpolation - sample_index = static_cast(sample_realindex); - sample = sample_shape[sample_index]; + if(flthp_d!=0.0f) + { + flthp*=flthp_d; + if(flthp<0.00001f) flthp=0.00001f; + if(flthp>0.1f) flthp=0.1f; + } + + float ssample=0.0f; + for(int si=0;si<8;si++) // 8x supersampling + { + float sample=0.0f; + phase++; + if(phase>=period) + { +// phase=0; + phase%=period; + if(s->m_waveFormModel.value()==3) + for(int i=0;i<32;i++) + noise_buffer[i]=frnd(2.0f)-1.0f; + } + // base waveform + float fp=(float)phase/period; + switch(s->m_waveFormModel.value()) + { + case 0: // square + if(fp0.1f) fltw=0.1f; + if(s->m_lpFilCutModel.value()!=1.0f) + { + fltdp+=(sample-fltp)*fltw; + fltdp-=fltdp*fltdmp; + } + else + { + fltp=sample; + fltdp=0.0f; + } + fltp+=fltdp; + // hp filter + fltphp+=fltp-pp; + fltphp-=fltphp*flthp; + sample=fltphp; + // phaser + phaser_buffer[ipp&1023]=sample; + sample+=phaser_buffer[(ipp-iphase+1024)&1023]; + ipp=(ipp+1)&1023; + // final accumulation and envelope application + ssample+=sample*env_vol; + } + //ssample=ssample/8*master_vol; + + //ssample*=2.0f*sound_vol; + ssample*=0.05f; + + if(buffer!=NULL) + { + if(ssample>1.0f) ssample=1.0f; + if(ssample<-1.0f) ssample=-1.0f; + for( ch_cnt_t j=0; j < DEFAULT_CHANNELS; j++ ) + { + buffer[i][j]=ssample; + } + } } - - // progress in shape - sample_realindex += sample_step; - - return sample; } +bool SfxrSynth::isPlaying() const +{ + return playing_sample; +} + + sfxrInstrument::sfxrInstrument( InstrumentTrack * _instrument_track ) : Instrument( _instrument_track, &sfxr_plugin_descriptor ), m_attModel(0.0f, this), @@ -170,14 +348,6 @@ sfxrInstrument::sfxrInstrument( InstrumentTrack * _instrument_track ) : m_hpFilCutSweepModel(0.0f, this), m_waveFormModel( SQR_WAVE, 0, WAVES_NUM-1, this, tr( "Wave Form" ) ) { - //TODO - /* - connect( &m_sampleLength, SIGNAL( dataChanged( ) ), - this, SLOT( lengthChanged( ) ) ); - - connect( &m_graph, SIGNAL( samplesChanged( int, int ) ), - this, SLOT( samplesChanged( int, int ) ) ); - */ } @@ -267,16 +437,6 @@ void sfxrInstrument::loadSettings( const QDomElement & _this ) -void sfxrInstrument::samplesChanged( int _begin, int _end ) -{ - //TODO - //normalize(); - //engine::getSongEditor()->setModified(); -} - - - - QString sfxrInstrument::nodeName() const { return( sfxr_plugin_descriptor.name ); @@ -285,54 +445,23 @@ QString sfxrInstrument::nodeName() const -f_cnt_t sfxrInstrument::desiredReleaseFrames() const +void sfxrInstrument::playNote(notePlayHandle * _n, sampleFrame * _working_buffer ) { - //TODO: check whether this disables - return 0; -} - - - -void sfxrInstrument::playNote( notePlayHandle * _n, - sampleFrame * _working_buffer ) -{ - //TODO - /*if ( _n->totalFramesPlayed() == 0 || _n->m_pluginData == NULL ) + m_synthMutex.lock(); + fpp_t frameNum = _n->framesLeftForCurrentPeriod(); + if ( _n->totalFramesPlayed() == 0 ) { - - float factor; - if( !m_normalize.value() ) - { - factor = 1.0f; - } - else - { - factor = m_normalizeFactor; - } - - _n->m_pluginData = new SfxrSynth( - const_cast( m_graph.samples() ), - m_graph.length(), - _n, - m_interpolation.value(), factor, - engine::mixer()->processingSampleRate() ); + _n->m_pluginData = new SfxrSynth( this ); + } + else if( static_cast(_n->m_pluginData)->isPlaying() == false ) + { + _n->noteOff(); } - const fpp_t frames = _n->framesLeftForCurrentPeriod(); + static_cast(_n->m_pluginData)->update( _working_buffer, frameNum ); + m_synthMutex.unlock(); - SfxrSynth * ps = static_cast( _n->m_pluginData ); - for( fpp_t frame = 0; frame < frames; ++frame ) - { - const sample_t cur = ps->nextStringSample(); - for( ch_cnt_t chnl = 0; chnl < DEFAULT_CHANNELS; ++chnl ) - { - _working_buffer[frame][chnl] = cur; - } - } - - applyRelease( _working_buffer, _n ); - - instrumentTrack()->processAudioBuffer( _working_buffer, frames, _n );*/ + instrumentTrack()->processAudioBuffer( _working_buffer, frameNum, NULL ); } @@ -356,6 +485,7 @@ PluginView * sfxrInstrument::instantiateView( QWidget * _parent ) void sfxrInstrument::resetModels() { + m_attModel.reset(); m_holdModel.reset(); m_susModel.reset(); @@ -463,7 +593,7 @@ sfxrInstrumentView::sfxrInstrumentView( Instrument * _instrument, createKnob(m_changeSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*1, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Change Speed"); createKnob(m_sqrDutyKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*3, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Squre Duty(Square wave only)"); - createKnob(m_sqrSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*4, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Squre Sweep(Square wave only)"); + createKnob(m_sqrSweepKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*4, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*2, "Squre Sweep(Square wave only)"); createKnob(m_repeatSpeedKnob, KNOBS_BASE_X+KNOB_BLOCK_SIZE_X*0, KNOBS_BASE_Y+KNOB_BLOCK_SIZE_Y*3, "Repeat Speed"); @@ -485,9 +615,7 @@ sfxrInstrumentView::sfxrInstrumentView( Instrument * _instrument, m_waveBtnGroup->addButton(m_sqrWaveBtn); m_waveBtnGroup->addButton(m_sawWaveBtn); m_waveBtnGroup->addButton(m_sinWaveBtn); - m_waveBtnGroup->addButton(m_noiseWaveBtn); - connect( m_waveBtnGroup, SIGNAL ( dataChanged() ), - this, SLOT ( waveFormChanged() ) ); + m_waveBtnGroup->addButton(m_noiseWaveBtn); createButtonLocalGraphic(m_pickupBtn, GENERATOR_BASE_X+GENERATOR_BUTTON_WIDTH*0, GENERATOR_BASE_Y, "Generate pick up/coin sfx", "pickup"); @@ -511,10 +639,6 @@ sfxrInstrumentView::sfxrInstrumentView( Instrument * _instrument, connect( m_randomizeBtn, SIGNAL ( clicked() ), this, SLOT ( randomize() ) ); connect( m_mutateBtn, SIGNAL ( clicked() ), this, SLOT ( mutate() ) ); - //TODO: for each generator button: - /*connect( m_pickupBtn, SIGNAL ( dataChanged() ), - this, SLOT ( pickupClicked() ) );*/ - } @@ -541,7 +665,7 @@ void sfxrInstrumentView::modelChanged() m_changeSpeedKnob->setModel( &s->m_changeSpeedModel ); m_sqrDutyKnob->setModel( &s->m_sqrDutyModel ); - m_sqrSpeedKnob->setModel( &s->m_sqrSweepModel ); + m_sqrSweepKnob->setModel( &s->m_sqrSweepModel ); m_repeatSpeedKnob->setModel( &s->m_repeatSpeedModel ); @@ -560,32 +684,20 @@ void sfxrInstrumentView::modelChanged() -void sfxrInstrumentView::waveFormChanged() -{ - //TODO: do we even need this slot? - /* - m_graph->model()->setWaveToNoise(); - engine::getSong()->setModified(); - */ -} - - - - void sfxrInstrumentView::genPickup() { sfxrInstrument * s = castModel(); s->resetModels(); - s->m_startFreqModel.setValue( 0.4f+frnd(0.5f) ); - s->m_attModel.setValue( 0.0f ); - s->m_holdModel.setValue( frnd(0.1f) ); - s->m_decModel.setValue( 0.1f+frnd(0.4f) ); - s->m_susModel.setValue( 0.3f+frnd(0.3f) ); + s->m_startFreqModel.setValue( 0.4f+frnd(0.5f) ); + s->m_attModel.setValue( 0.0f ); + s->m_holdModel.setValue( frnd(0.1f) ); + s->m_decModel.setValue( 0.1f+frnd(0.4f) ); + s->m_susModel.setValue( 0.3f+frnd(0.3f) ); if(rnd(1)) { - s->m_changeAmtModel.setValue( 0.5f+frnd(0.2f) ); - s->m_changeSpeedModel.setValue( 0.2f+frnd(0.4f) ); + s->m_changeSpeedModel.setValue( 0.5f+frnd(0.2f) ); + s->m_changeAmtModel.setValue( 0.2f+frnd(0.4f) ); } } @@ -599,9 +711,9 @@ void sfxrInstrumentView::genLaser() s->m_waveFormModel.setValue( rnd(2) ); if(s->m_waveFormModel.value()==2 && rnd(1)) - s->m_waveFormModel.setValue(rnd(1)); + s->m_waveFormModel.setValue( rnd(1) ); - s->m_startFreqModel.setValue( 0.5f+frnd(0.5f) ); + s->m_startFreqModel.setValue( 0.5f+frnd(0.5f) ); s->m_minFreqModel.setValue( s->m_startFreqModel.value()-0.2f-frnd(0.6f) ); if(s->m_minFreqModel.value()<0.2f) @@ -615,7 +727,7 @@ void sfxrInstrumentView::genLaser() { s->m_startFreqModel.setValue( 0.3f+frnd(0.6f) ); s->m_minFreqModel.setValue( frnd(0.1f) ); - s->m_slideModel.setValue( -0.35f-frnd(0.3f) ); + s->m_slideModel.setValue( -0.35f-frnd(0.3f) ); } if(rnd(1)) @@ -747,9 +859,13 @@ void sfxrInstrumentView::genHit() s->m_waveFormModel.setValue( rnd(2) ); if(s->m_waveFormModel.value()==2) + { s->m_waveFormModel.setValue( 3 ); + } if(s->m_waveFormModel.value()==0) + { s->m_sqrDutyModel.setValue( frnd(0.6f) ); + } s->m_startFreqModel.setValue( 0.2f+frnd(0.6f) ); s->m_slideModel.setValue( -0.3f-frnd(0.4f) ); @@ -785,12 +901,12 @@ void sfxrInstrumentView::genJump() { s->m_hpFilCutModel.setValue( frnd(0.3f) ); } - if(rnd(1)) { s->m_lpFilCutModel.setValue( 1.0f-frnd(0.6f) ); } + } diff --git a/plugins/sfxr/sfxr.h b/plugins/sfxr/sfxr.h index e363dd343..2d9934219 100644 --- a/plugins/sfxr/sfxr.h +++ b/plugins/sfxr/sfxr.h @@ -1,6 +1,7 @@ /* * sfxr.h - declaration of classes of the LMMS sfxr plugin - * The original readme file of sfxr can be found in readme.txt in this directory. + * Originally written by Tomas Pettersson. For the original license, + * please read readme.txt in this directory * * Copyright (c) 2014 Wong Cho Ching * @@ -60,28 +61,64 @@ const int KNOB_BLOCK_SIZE_X = 40; const int KNOB_BLOCK_SIZE_Y = 40; + + +class sfxrInstrument; + + + class SfxrSynth { public: - SfxrSynth( float * sample, int length, notePlayHandle * _nph, - bool _interpolation, float factor, - const sample_rate_t _sample_rate ); + SfxrSynth( const sfxrInstrument * s ); virtual ~SfxrSynth(); - sample_t nextStringSample(); + void resetSample( bool restart ); + void update( sampleFrame * buffer, const fpp_t frameNum ); + bool isPlaying() const; private: - int sample_index; - float sample_realindex; - float* sample_shape; - notePlayHandle* nph; - const int sample_length; - const sample_rate_t sample_rate; + const sfxrInstrument * s; + bool playing_sample; + int phase; + double fperiod; + double fmaxperiod; + double fslide; + double fdslide; + int period; + float square_duty; + float square_slide; + int env_stage; + int env_time; + int env_length[3]; + float env_vol; + float fphase; + float fdphase; + int iphase; + float phaser_buffer[1024]; + int ipp; + float noise_buffer[32]; + float fltp; + float fltdp; + float fltw; + float fltw_d; + float fltdmp; + float fltphp; + float flthp; + float flthp_d; + float vib_phase; + float vib_speed; + float vib_amp; + int rep_time; + int rep_limit; + int arp_time; + int arp_limit; + double arp_mod; + +} ; - bool interpolation; -}; /** * @brief A class that simplify the constructor of FloatModel, with value [0,1] @@ -93,6 +130,15 @@ public: FloatModel( val, 0.0, 1.0, 0.001, parent) { } + /* purpose: prevent the initial value of the model from being changed */ + virtual void loadSettings( const QDomElement& element, const QString& name = QString( "value" ) ) + { + float oldInitValue = initValue(); + FloatModel::loadSettings(element, name); + float oldValue = value(); + setInitValue(oldInitValue); + setValue(oldValue); + } }; /** @@ -105,6 +151,15 @@ public: FloatModel( val, -1.0, 1.0, 0.001, parent) { } + /* purpose: prevent the initial value of the model from being changed */ + virtual void loadSettings( const QDomElement& element, const QString& name = QString( "value" ) ) + { + float oldInitValue = initValue(); + FloatModel::loadSettings(element, name); + float oldValue = value(); + setInitValue(oldInitValue); + setValue(oldValue); + } }; class sfxrInstrument : public Instrument @@ -114,28 +169,22 @@ public: sfxrInstrument(InstrumentTrack * _instrument_track ); virtual ~sfxrInstrument(); - virtual void playNote( notePlayHandle * _n, - sampleFrame * _working_buffer ); + virtual void playNote( notePlayHandle * _n, sampleFrame * _working_buffer ); virtual void deleteNotePluginData( notePlayHandle * _n ); - virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent ); virtual void loadSettings( const QDomElement & _this ); virtual QString nodeName() const; - virtual f_cnt_t desiredReleaseFrames() const; - virtual PluginView * instantiateView( QWidget * _parent ); void resetModels(); -protected slots: - void samplesChanged( int, int ); - private: + QMutex m_synthMutex; SfxrZeroToOneFloatModel m_attModel; SfxrZeroToOneFloatModel m_holdModel; SfxrZeroToOneFloatModel m_susModel; @@ -168,6 +217,7 @@ private: IntModel m_waveFormModel; friend class sfxrInstrumentView; + friend class SfxrSynth; }; @@ -182,7 +232,6 @@ public: virtual ~sfxrInstrumentView() {}; protected slots: - void waveFormChanged(); void genPickup(); void genLaser(); void genExplosion(); @@ -212,7 +261,7 @@ private: knob * m_changeSpeedKnob; //Change Speed knob * m_sqrDutyKnob; //Squre Duty - knob * m_sqrSpeedKnob; //Squre Sweep + knob * m_sqrSweepKnob; //Squre Sweep knob * m_repeatSpeedKnob; //Repeat Speed From a8d7f1e4a8fa9bcce9a1a16ad96c1e6075648c60 Mon Sep 17 00:00:00 2001 From: Wong Cho Ching Date: Sun, 26 Jan 2014 03:20:21 +0800 Subject: [PATCH 14/15] added artworks --- plugins/sfxr/blip_active.png | Bin 0 -> 222 bytes plugins/sfxr/blip_inactive.png | Bin 0 -> 334 bytes plugins/sfxr/explosion_active.png | Bin 0 -> 264 bytes plugins/sfxr/explosion_inactive.png | Bin 0 -> 350 bytes plugins/sfxr/hit_active.png | Bin 0 -> 210 bytes plugins/sfxr/hit_inactive.png | Bin 0 -> 330 bytes plugins/sfxr/jump_active.png | Bin 0 -> 272 bytes plugins/sfxr/jump_inactive.png | Bin 0 -> 347 bytes plugins/sfxr/laser_active.png | Bin 0 -> 191 bytes plugins/sfxr/laser_inactive.png | Bin 0 -> 318 bytes plugins/sfxr/mutate_active.png | Bin 0 -> 332 bytes plugins/sfxr/mutate_inactive.png | Bin 0 -> 379 bytes plugins/sfxr/pickup_active.png | Bin 0 -> 274 bytes plugins/sfxr/pickup_inactive.png | Bin 0 -> 343 bytes plugins/sfxr/powerup_active.png | Bin 0 -> 236 bytes plugins/sfxr/powerup_inactive.png | Bin 0 -> 337 bytes plugins/sfxr/randomize_active.png | Bin 0 -> 339 bytes plugins/sfxr/randomize_inactive.png | Bin 0 -> 383 bytes 18 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 plugins/sfxr/blip_active.png create mode 100644 plugins/sfxr/blip_inactive.png create mode 100644 plugins/sfxr/explosion_active.png create mode 100644 plugins/sfxr/explosion_inactive.png create mode 100644 plugins/sfxr/hit_active.png create mode 100644 plugins/sfxr/hit_inactive.png create mode 100644 plugins/sfxr/jump_active.png create mode 100644 plugins/sfxr/jump_inactive.png create mode 100644 plugins/sfxr/laser_active.png create mode 100644 plugins/sfxr/laser_inactive.png create mode 100644 plugins/sfxr/mutate_active.png create mode 100644 plugins/sfxr/mutate_inactive.png create mode 100644 plugins/sfxr/pickup_active.png create mode 100644 plugins/sfxr/pickup_inactive.png create mode 100644 plugins/sfxr/powerup_active.png create mode 100644 plugins/sfxr/powerup_inactive.png create mode 100644 plugins/sfxr/randomize_active.png create mode 100644 plugins/sfxr/randomize_inactive.png diff --git a/plugins/sfxr/blip_active.png b/plugins/sfxr/blip_active.png new file mode 100644 index 0000000000000000000000000000000000000000..f3113f77261ea00999f6c5772bbc1c6156002d23 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#9-}0eCc|EbKj}cBT2B|p5RLQ62?|mMMg|6JqPBJ|*!A`Gb>oGcsWVd^2Aw^0 z;6TCibFyq~Y-wp}K$1;ZLwxt8*XDT&EKY$tGraU;_Z&EI;6uq@#JG5$AJ!E N@O1TaS?83{1OV1bNe%!2 literal 0 HcmV?d00001 diff --git a/plugins/sfxr/blip_inactive.png b/plugins/sfxr/blip_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..e8e5ca112cf2579eb66c2d46321d540f37436ca1 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zCmInBQxB_W?eLW*1Lt|qj3kwTN zOA8wtYkPY;S65eWZ?B-Bz>tvO$jHc;nCO_8nAo_ujLgjJ?5wi#^48YYwzjtR_V&)s z&febMi4!MInlx$Z)TuLP&X_-c{=$U|7cE+}bm`J%%a*QMwQB9!wd>cfTfct&h7B7w zZQ8VX^X6^awr$_OZU6rLM~)mhe*E~UQ>V_JJ$v!u#Y>kiUAc1Q+O=!fuV24;^XBc_ zx9{A!bIn5?=uQUC0*}aI1_o|n5N2eUHAey{$X?><>&kwQQIgYIv(;f$BT&f3)5S4_ z<9c#}19O*01N$LU=K@!kBS+4-C@`FO%Fbk5$H7n}DS7t61PMK!2TzThcJvs?P2pyD c(Bn5^VA#+kkalj;$`X);p00i_>zopr0ErNW-~a#s literal 0 HcmV?d00001 diff --git a/plugins/sfxr/explosion_active.png b/plugins/sfxr/explosion_active.png new file mode 100644 index 0000000000000000000000000000000000000000..b6af2a916e0a8637af87adc0db4adffa2414b099 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#9-}0eo*V~X_+g;Xa!(h>5RLP_lQ!}mRuFKl7YM!~EfaL7qH{^{b4iVv2ZRmW zU7V-)2#H_6RlLOF^e&5z8L$4Ix36$wSbm+=!Ruwd{_`A{pZDIsbbNn}DdE|HgZ*|k zOblNV(ijSRCK*($-uFE6*&~Vk%dwNLf4LGZoqav_s7_^W`?3>WPu6^Ezc(p-ZuH!L zaw{k6H*m2{G(IZrn$3Mcq}o*?I5D@~?YwwIcE9VBb2ZcXZ>Br{p1>wk2Xr!nr>mdK II;Vst091!!`~Uy| literal 0 HcmV?d00001 diff --git a/plugins/sfxr/explosion_inactive.png b/plugins/sfxr/explosion_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..67c89f013a3630426aea3e7402c2af8cb3e604fe GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zCmInBQxB_W?eLW*1Lt|qj3kwTN zOA8wtYkPY;S65eWZ?B-Bz>tvO$jHc;nCO_8nAo_ujLgjJ?5wi#^48YYwzjtR_V&)s z&febMi4!MInlx$Z)TuLP&X_-c{=$U|7cE+}bm`J%%a*QMwQB9!wd>cfTfct&h7B7w zZQ8VX^X6^awr$_OZU6rLM~)mhe*E~UQ>V_JJ$v!u#Y>kiUAc1Q+O=!fuV24;^XBc_ zx9{A!bIn5?=uQUC0*}aI1_o|n5N2eUHAey{$X?><>&kwQQId;6zJxEY5-8;3>Eal| zaXq%@ATNU=2g}p^L+xxiNx$^pGF*JXtK}yq`}la4PxzkaYFBzTp9vM6Vi6MS%A&bV u%|Xk0$fSLG#3oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#9-}0ep1}KURY!nAg`O^sAsXlRPT0uVU?AW+UoH3r+pRRg>nAcY^F+5Ax<=hq zN>GfbXc9cAE#H6qFIHeJ5o^s#$9&~gS(S3j3^P6tvO$jHc;nCO_8nAo_ujLgjJ?5wi#^48YYwzjtR_V&)s z&febMi4!MInlx$Z)TuLP&X_-c{=$U|7cE+}bm`J%%a*QMwQB9!wd>cfTfct&h7B7w zZQ8VX^X6^awr$_OZU6rLM~)mhe*E~UQ>V_JJ$v!u#Y>kiUAc1Q+O=!fuV24;^XBc_ zx9{A!bIn5?=uQUC0*}aI1_o|n5N2eUHAey{$X?><>&kwQQId;^Pp3nN6DVZi>Eal| zaXmS~fw{}0f&G-JadV-o%MllsGiO{J7*0H8XEZi8V0~iL)G$+WhEg9ltHq8Zubw)x YF)U2yl$@2K@DgO1r>mdKI;Vst02(NTGynhq literal 0 HcmV?d00001 diff --git a/plugins/sfxr/jump_active.png b/plugins/sfxr/jump_active.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1ff1ee5f61449eeaa62830f199350406c0701a GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#9-}0e9%Cz8lo?QHy{C&~h{pNk1O+JrBLjmqQCqtf?E3opx^ZGx+RT*1(6fgQ z94L5xPL_?0EiLWY{`&vlT)#Mmh_BUf3O;q_zySqS-M`Py&JJH6uYWG`$bkb7ZayeI z{_tDj+{aAWEcXu_0BVqsl#uxH^{a%0#JqL&$ADU7HCPRqdsi=AdbTB$>0DcfGlTFf znN22}{4x?8Wg6mT4>8U-=dexcF5`(;8&)kl6TQO)WQ3Bka;K*rL(pdbpqmH(yazg+ N!PC{xWt~$(69A(`X9oZP literal 0 HcmV?d00001 diff --git a/plugins/sfxr/jump_inactive.png b/plugins/sfxr/jump_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..cc67812eb51675c5b929da37f6d08d9d281f7965 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zCmInBQxB_W?eLW*1Lt|qj3kwTN zOA8wtYkPY;S65eWZ?B-Bz>tvO$jHc;nCO_8nAo_ujLgjJ?5wi#^48YYwzjtR_V&)s z&febMi4!MInlx$Z)TuLP&X_-c{=$U|7cE+}bm`J%%a*QMwQB9!wd>cfTfct&h7B7w zZQ8VX^X6^awr$_OZU6rLM~)mhe*E~UQ>V_JJ$v!u#Y>kiUAc1Q+O=!fuV24;^XBc_ zx9{A!bIn5?=uQUC0*}aI1_o|n5N2eUHAey{$X?><>&kwQQId;M;dXHmD^SSO)5S4_ z<9hEIM=k~h4weIZ*yEN|&%g2CUiW%$ho7z_U)NgOnc=_G_>|okIMiOgV~AJFWV`Y2 rMAj3f>QLR{MZAWJ|L1NhUUfh6MLe%w@hqJkAlp4%{an^LB{Ts5Fxik8 literal 0 HcmV?d00001 diff --git a/plugins/sfxr/laser_active.png b/plugins/sfxr/laser_active.png new file mode 100644 index 0000000000000000000000000000000000000000..04a5de94c092bda381e62403bdbec05a0d70064d GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#9-}0euIw(Y&|N^GI8PVH5RLQ62?|mMMg|6JqPBJ|*!A`Gbz{MNEpBG!!*i|6 zB_t$f%$)iE-(PQsmtUpLJ4#pY+b8E(8WnX*N8sA!ujfCkn9MgNDIr1OV6;jb!yT?w jGrg?0XJuvzFBV}qRwx+B%Bso?w28sf)z4*}Q$iB}k#0LV literal 0 HcmV?d00001 diff --git a/plugins/sfxr/laser_inactive.png b/plugins/sfxr/laser_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..bf7eb18d1e399bb470f3ad89f10d868cb32f9e0b GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zCmInBQxB_W?eLW*1Lt|qj3kwTN zOA8wtYkPY;S65eWZ?B-Bz>tvO$jHc;nCO_8nAo_ujLgjJ?5wi#^48YYwzjtR_V&)s z&febMi4!MInlx$Z)TuLP&X_-c{=$U|7cE+}bm`J%%a*QMwQB9!wd>cfTfct&h7B7w zZQ8VX^X6^awr$_OZU6rLM~)mhe*E~UQ>V_JJ$v!u#Y>kiUAc1Q+O=!fuV24;^XBc_ zx9{A!bIn5?=uQUC0*}aI1_o|n5N2eUHAey{$X?><>&kwQQId;AqL0n)9#BZf)5S4_ z<9c#}19O*01ADW!l9Cz|vxA literal 0 HcmV?d00001 diff --git a/plugins/sfxr/mutate_active.png b/plugins/sfxr/mutate_active.png new file mode 100644 index 0000000000000000000000000000000000000000..31cf797b1a43507783c2757592d55c6f9407c9e8 GIT binary patch literal 332 zcmV-S0ki&zP)cE)V64AQH^wNVh)lT#L&{ry zNBDNXbI5TyG7|FLwrF<69za=?_TdU&FK629Zy$gQw|c zz0_3)gzc1e+^_5MbXzd6>OYw;HZ2^S)izF{$(8WvuM_j7ji~xPIZY2gSC(yOzN{s$ eI0fhdEP)tIXFB#J3l`@MMXtROG;8wQB+h@Sy@?JTw7dRTwPvXXlZF{Yif3P zcZG$8hK7cRhlh!YiH(hok&%&-l9H8`m6@5CpP!$hp`oIpqNSy!rlzH;s;aH6t*@`H zudlDLu&}bSva_?Zwzjsnx3<5(zr@7E$H&LY%F4~n&C$`(($dn@)YR72*4Nk9+1c6K z+uPjS+}21Z0000032;bRa{vGf6951U69E94oEQKA00(qQO+^RZ0T~Jm88O&|KmY&$ zX-PyuR4C7tj6n{-AP5BIZo-8R_=)}h(@I#ZHfdU1lW`>@t(7xM=^=s-%!UERD{j%u z082(8v+^<*RTa==6mo(i7exeqCPb1G936`S$cwms{E3l=xbJ{`Y+Q@5UfY~vAtz$5 Z#3oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#9-}0eE|a-Zgg;Pdqo<2wh{pNk1O+JrBLjmqQCqnpHBPH^H#R2Tnwfc`>Gk#X z=?6nvyqS%enVT0be7L*(eb${U1Kqn?TSNa&_yy#~?X5a`I}8iVS`=k9N;@Ai0nL~;&5V0ium5#>=VT9dFGmTVBkW>MD@zuL zuq>2pbJe`#7Sq7G+IizEmqLbRo+p}gW(Wy^x%Uj+aF literal 0 HcmV?d00001 diff --git a/plugins/sfxr/pickup_inactive.png b/plugins/sfxr/pickup_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..a4502ce56fd494e14de8a90266a26b36b01c682c GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zCmInBQxB_W?eLW*1Lt|qj3kwTN zOA8wtYkPY;S65eWZ?B-Bz>tvO$jHc;nCO_8nAo_ujLgjJ?5wi#^48YYwzjtR_V&)s z&febMi4!MInlx$Z)TuLP&X_-c{=$U|7cE+}bm`J%%a*QMwQB9!wd>cfTfct&h7B7w zZQ8VX^X6^awr$_OZU6rLM~)mhe*E~UQ>V_JJ$v!u#Y>kiUAc1Q+O=!fuV24;^XBc_ zx9{A!bIn5?=uQUC0*}aI1_o|n5N2eUHAey{$X?><>&kwQQId;IW7f-@4?rPTPZ!4! zj_bL-Cpj4mI9MLXe@JG|O!}>_8^@_6DV9=jbSv9!#-sv`rjSsPRm+qb+;x_@G#uCT n{pYoQ{_TZ}Yu4VsrubP0l+XkKIO~u~ literal 0 HcmV?d00001 diff --git a/plugins/sfxr/powerup_active.png b/plugins/sfxr/powerup_active.png new file mode 100644 index 0000000000000000000000000000000000000000..6be7826ccde2ad9030741d36bb2583c8b43cb0a4 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1SBVD?P>#3oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#9-}0ej&f2!WdKm9+tbA{MB{vNf`XKRk%7UQsI6TKc71()eY3*n%|4qhg!ot+ z^PWpfOi0*K{G5-O**V@tep#Y`X3M45=6MHx&f|>}IQFeAHzP=ghlgjnUR=Xx#W%}e z&sQv#l#tl6Ws6|mRK6)q1`l3cVBpr%KU{itvO$jHc;nCO_8nAo_ujLgjJ?5wi#^48YYwzjtR_V&)s z&febMi4!MInlx$Z)TuLP&X_-c{=$U|7cE+}bm`J%%a*QMwQB9!wd>cfTfct&h7B7w zZQ8VX^X6^awr$_OZU6rLM~)mhe*E~UQ>V_JJ$v!u#Y>kiUAc1Q+O=!fuV24;^XBc_ zx9{A!bIn5?=uQUC0*}aI1_o|n5N2eUHAey{$X?><>&kwQQId;UIBaU+M4*tpr;B3< z$Mxg{2j(u12KFCFcXsyU z@Z6$FiaT^z9T;Bh%5!0T73{mxE-TWbE#z;;yhOJQPsRzy{WXp1_QmyB>W7vFrniZg z>V>j8X!~+*x8%v+nEKa@@j>B!!)JTU567HT55Fy==4<@$%8CA@au27tQ|~5xN#n?Q z)=?`ObuM#;;%v|N>w8=u*zUXf_wEh*<4-J@^xvL$TEll jb@czQ)vQ1B^Z&4If6xtIXFB#J3l`@MMXtROG;8wQB+h@Sy@?JTw7dRTwPvXXlZF{Yif3P zcZG$8hK7cRhlh!YiH(hok&%&-l9H8`m6@5CpP!$hp`oIpqNSy!rlzH;s;aH6t*@`H zudlDLu&}bSva_?Zwzjsnx3<5(zr@7E$H&LY%F4~n&C$`(($dn@)YR72*4Nk9+1c6K z+uPjS+}21Z0000032;bRa{vGf6951U69E94oEQKA00(qQO+^RZ0T~JlEGR10qyPW_ zZAnByR4C7tkI@OhFbG8Bf50CX=o0QfS~X`Hg+lES&!`Vc#%SwmX)aJ*t40dX0|P}w zJ>05e05g!8mBVzWRKN`+BK1&QkWv8;&_x+Mr-CWU);DnVWA!&!a%vP1-+8_Qa6dl4 dhW>!FryFBsBlg61{H*{0002ovPDHLkV1jAHq4NL$ literal 0 HcmV?d00001 From fa0201ffd7c63d42a8aaa038d0c177afdc2eac22 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sat, 25 Jan 2014 20:41:20 +0100 Subject: [PATCH 15/15] AUTHORS: small updates & typo fixes --- AUTHORS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AUTHORS b/AUTHORS index 8650caad1..579d21dd9 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,6 +1,6 @@ Tobias Doerffel - Maintainer, main-development, artwork etc. + Development Manager Jonathan Aquilina @@ -32,7 +32,7 @@ Andreas Brandmaier Juan Fabián Simón - Version 4.0 plugin artwork + Version 0.4 plugin artwork Sebastian Tilsch