- clean working copy for leaving SVN

This commit is contained in:
2022-06-28 19:04:46 +02:00
parent 62a2d47cb3
commit 762b8f0e7d
1966 changed files with 699872 additions and 126 deletions
@@ -0,0 +1,90 @@
# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on
# which plugin types you've built
original=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME
# this looks inside the binary to detect which platforms are needed..
copyAU=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'AudioUnit' | wc -l`
copyVST=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'VSTPlugin' | wc -l`
copyVST3=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'GetPluginFactory' | wc -l`
copyRTAS=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'CProcess' | wc -l`
copyAAX=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'ACFStartup' | wc -l`
if [ $copyAU -gt 0 ]; then
echo "Copying to AudioUnit folder..."
AU=~/Library/Audio/Plug-Ins/Components/$PRODUCT_NAME.component
if [ -d "$AU" ]; then
rm -r "$AU"
fi
cp -r "$original" "$AU"
sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$AU/Contents/PkgInfo"
sed -i "" -e 's/TDMw/BNDL/g' "$AU/Contents/$INFOPLIST_FILE"
# Fix info.plist for AUs built with Xcode 3
if [ -f "$DEVELOPER_DIR/Library/Developer/CoreAudio/AudioUnits/AUPublic/AUBase/AUPlugInDispatch.cpp" ]; then
echo
else
echo "Removing AudioComponents entry from Info.plist because this is not a new-format AU"
/usr/libexec/PlistBuddy -c "Delete AudioComponents" "$AU/Contents/Info.plist"
fi
fi
if [ $copyVST -gt 0 ]; then
echo "Copying to VST folder..."
VST=~/Library/Audio/Plug-Ins/VST/$PRODUCT_NAME.vst
if [ -d "$VST" ]; then
rm -r "$VST"
fi
cp -r "$original" "$VST"
sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$VST/Contents/PkgInfo"
sed -i "" -e 's/TDMw/BNDL/g' "$VST/Contents/$INFOPLIST_FILE"
fi
if [ $copyVST3 -gt 0 ]; then
echo "Copying to VST3 folder..."
VST3=~/Library/Audio/Plug-Ins/VST3/$PRODUCT_NAME.vst3
if [ -d "$VST3" ]; then
rm -r "$VST3"
fi
cp -r "$original" "$VST3"
sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$VST3/Contents/PkgInfo"
sed -i "" -e 's/TDMw/BNDL/g' "$VST3/Contents/$INFOPLIST_FILE"
fi
if [ $copyRTAS -gt 0 ]; then
echo "Copying to RTAS folder..."
RTAS=/Library/Application\ Support/Digidesign/Plug-Ins/$PRODUCT_NAME.dpm
if [ -d "$RTAS" ]; then
rm -r "$RTAS"
fi
cp -r "$original" "$RTAS"
fi
if [ $copyAAX -gt 0 ]; then
echo "Copying to AAX folder..."
if [ -d "/Applications/ProTools_3PDev/Plug-Ins" ]; then
AAX1="/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin"
if [ -d "$AAX1" ]; then
rm -r "$AAX1"
fi
cp -R -H "$original" "$AAX1"
fi
if [ -d "/Library/Application Support/Avid/Audio/Plug-Ins" ]; then
AAX2="/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin"
if [ -d "$AAX2" ]; then
rm -r "$AAX2"
fi
cp -R -H "$original" "$AAX2"
fi
fi
Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<COLOUR_SCHEME font="&lt;Monospaced&gt;; 13.0">
<COLOUR name="Main Window Bkgd" colour="FF29292A"/>
<COLOUR name="Treeview Highlight" colour="2BFFFEC3"/>
<COLOUR name="Code Background" colour="FF222222"/>
<COLOUR name="Line Number Bkgd" colour="44C1C1C1"/>
<COLOUR name="Line Numbers" colour="E9B2B2B2"/>
<COLOUR name="Plain Text" colour="FFCECECE"/>
<COLOUR name="Selected Text Bkgd" colour="FF2859AC"/>
<COLOUR name="Caret" colour="FFFFFFFF"/>
<COLOUR name="Preprocessor Text" colour="FFF8F631"/>
<COLOUR name="Punctuation" colour="FFCFBEFF"/>
<COLOUR name="Bracket" colour="FF058202"/>
<COLOUR name="String" colour="FFBC45DD"/>
<COLOUR name="Float" colour="ff885500"/>
<COLOUR name="Integer" colour="FF42C8C4"/>
<COLOUR name="Identifier" colour="FFCFCFCF"/>
<COLOUR name="Operator" colour="FFC4EB19"/>
<COLOUR name="Keyword" colour="FFEE6F6F"/>
<COLOUR name="Comment" colour="FF72D20C"/>
<COLOUR name="Error" colour="FFE60000"/>
</COLOUR_SCHEME>
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<COLOUR_SCHEME font="&lt;Monospaced&gt;; 13.0">
<COLOUR name="Main Window Bkgd" colour="FFE6E7E9"/>
<COLOUR name="Treeview Highlight" colour="401111ee"/>
<COLOUR name="Code Background" colour="ffffffff"/>
<COLOUR name="Line Number Bkgd" colour="44999999"/>
<COLOUR name="Line Numbers" colour="44000000"/>
<COLOUR name="Plain Text" colour="ff000000"/>
<COLOUR name="Selected Text Bkgd" colour="401111ee"/>
<COLOUR name="Caret" colour="ff000000"/>
<COLOUR name="Preprocessor Text" colour="ff660000"/>
<COLOUR name="Punctuation" colour="ff004400"/>
<COLOUR name="Bracket" colour="ff000055"/>
<COLOUR name="String" colour="ff990099"/>
<COLOUR name="Float" colour="ff885500"/>
<COLOUR name="Integer" colour="ff880000"/>
<COLOUR name="Identifier" colour="ff000000"/>
<COLOUR name="Operator" colour="ff225500"/>
<COLOUR name="Keyword" colour="ff0000cc"/>
<COLOUR name="Comment" colour="ff00aa00"/>
<COLOUR name="Error" colour="ffcc0000"/>
</COLOUR_SCHEME>
Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

@@ -0,0 +1,71 @@
/*
==============================================================================
This file was auto-generated!
==============================================================================
*/
#ifndef MAINCOMPONENT_H_INCLUDED
#define MAINCOMPONENT_H_INCLUDED
INCLUDE_JUCE
//==============================================================================
/*
This component lives inside our window, and this is where you should put all
your controls and content.
*/
class MainContentComponent : public AnimatedAppComponent
{
public:
//==============================================================================
MainContentComponent()
{
setSize (800, 600);
setFramesPerSecond (60);
}
~MainContentComponent()
{
}
void update() override
{
// This function is called at the frequency specified by the setFramesPerSecond() call
// in the constructor. You can use it to update counters, animate values, etc.
}
void paint (Graphics& g) override
{
// (Our component is opaque, so we must completely fill the background with a solid colour)
g.fillAll (Colours::black);
// You can add your drawing code here!
}
void resized() override
{
// This is called when the MainContentComponent is resized.
// If you add any child components, this is where you should
// update their positions.
}
private:
//==============================================================================
// Your private member variables go here...
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
};
// (This function is called by the app startup code to create our main component)
Component* createMainContentComponent() { return new MainContentComponent(); }
#endif // MAINCOMPONENT_H_INCLUDED
@@ -0,0 +1,95 @@
/*
==============================================================================
This file was auto-generated!
==============================================================================
*/
#ifndef MAINCOMPONENT_H_INCLUDED
#define MAINCOMPONENT_H_INCLUDED
INCLUDE_JUCE
//==============================================================================
/*
This component lives inside our window, and this is where you should put all
your controls and content.
*/
class MainContentComponent : public AudioAppComponent
{
public:
//==============================================================================
MainContentComponent()
{
setSize (800, 600);
// specify the number of input and output channels that we want to open
setAudioChannels (2, 2);
}
~MainContentComponent()
{
shutdownAudio();
}
//=======================================================================
void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override
{
// This function will be called when the audio device is started, or when
// its settings (i.e. sample rate, block size, etc) are changed.
// You can use this function to initialise any resources you might need,
// but be careful - it will be called on the audio thread, not the GUI thread.
// For more details, see the help for AudioProcessor::prepareToPlay()
}
void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override
{
// Your audio-processing code goes here!
// For more details, see the help for AudioProcessor::getNextAudioBlock()
}
void releaseResources() override
{
// This will be called when the audio device stops, or when it is being
// restarted due to a setting change.
// For more details, see the help for AudioProcessor::releaseResources()
}
//=======================================================================
void paint (Graphics& g) override
{
// (Our component is opaque, so we must completely fill the background with a solid colour)
g.fillAll (Colours::black);
// You can add your drawing code here!
}
void resized() override
{
// This is called when the MainContentComponent is resized.
// If you add any child components, this is where you should
// update their positions.
}
private:
//==============================================================================
// Your private member variables go here...
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
};
// (This function is called by the app startup code to create our main component)
Component* createMainContentComponent() { return new MainContentComponent(); }
#endif // MAINCOMPONENT_H_INCLUDED
@@ -0,0 +1,41 @@
/*
==============================================================================
This file was auto-generated by the Introjucer!
It contains the basic framework code for a JUCE plugin editor.
==============================================================================
*/
EDITORCPPHEADERS
//==============================================================================
EDITORCLASSNAME::EDITORCLASSNAME (FILTERCLASSNAME& p)
: AudioProcessorEditor (&p), processor (p)
{
// Make sure that before the constructor has finished, you've set the
// editor's size to whatever you need it to be.
setSize (400, 300);
}
EDITORCLASSNAME::~EDITORCLASSNAME()
{
}
//==============================================================================
void EDITORCLASSNAME::paint (Graphics& g)
{
g.fillAll (Colours::white);
g.setColour (Colours::black);
g.setFont (15.0f);
g.drawFittedText ("Hello World!", getLocalBounds(), Justification::centred, 1);
}
void EDITORCLASSNAME::resized()
{
// This is generally where you'll want to lay out the positions of any
// subcomponents in your editor..
}
@@ -0,0 +1,39 @@
/*
==============================================================================
This file was auto-generated by the Introjucer!
It contains the basic framework code for a JUCE plugin editor.
==============================================================================
*/
#ifndef HEADERGUARD
#define HEADERGUARD
EDITORHEADERS
//==============================================================================
/**
*/
class EDITORCLASSNAME : public AudioProcessorEditor
{
public:
EDITORCLASSNAME (FILTERCLASSNAME&);
~EDITORCLASSNAME();
//==============================================================================
void paint (Graphics&) override;
void resized() override;
private:
// This reference is provided as a quick way for your editor to
// access the processor object that created it.
FILTERCLASSNAME& processor;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EDITORCLASSNAME)
};
#endif // HEADERGUARD
@@ -0,0 +1,189 @@
/*
==============================================================================
This file was auto-generated by the Introjucer!
It contains the basic framework code for a JUCE plugin processor.
==============================================================================
*/
FILTERHEADERS
//==============================================================================
FILTERCLASSNAME::FILTERCLASSNAME()
{
}
FILTERCLASSNAME::~FILTERCLASSNAME()
{
}
//==============================================================================
const String FILTERCLASSNAME::getName() const
{
return JucePlugin_Name;
}
int FILTERCLASSNAME::getNumParameters()
{
return 0;
}
float FILTERCLASSNAME::getParameter (int index)
{
return 0.0f;
}
void FILTERCLASSNAME::setParameter (int index, float newValue)
{
}
const String FILTERCLASSNAME::getParameterName (int index)
{
return String();
}
const String FILTERCLASSNAME::getParameterText (int index)
{
return String();
}
const String FILTERCLASSNAME::getInputChannelName (int channelIndex) const
{
return String (channelIndex + 1);
}
const String FILTERCLASSNAME::getOutputChannelName (int channelIndex) const
{
return String (channelIndex + 1);
}
bool FILTERCLASSNAME::isInputChannelStereoPair (int index) const
{
return true;
}
bool FILTERCLASSNAME::isOutputChannelStereoPair (int index) const
{
return true;
}
bool FILTERCLASSNAME::acceptsMidi() const
{
#if JucePlugin_WantsMidiInput
return true;
#else
return false;
#endif
}
bool FILTERCLASSNAME::producesMidi() const
{
#if JucePlugin_ProducesMidiOutput
return true;
#else
return false;
#endif
}
bool FILTERCLASSNAME::silenceInProducesSilenceOut() const
{
return false;
}
double FILTERCLASSNAME::getTailLengthSeconds() const
{
return 0.0;
}
int FILTERCLASSNAME::getNumPrograms()
{
return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs,
// so this should be at least 1, even if you're not really implementing programs.
}
int FILTERCLASSNAME::getCurrentProgram()
{
return 0;
}
void FILTERCLASSNAME::setCurrentProgram (int index)
{
}
const String FILTERCLASSNAME::getProgramName (int index)
{
return String();
}
void FILTERCLASSNAME::changeProgramName (int index, const String& newName)
{
}
//==============================================================================
void FILTERCLASSNAME::prepareToPlay (double sampleRate, int samplesPerBlock)
{
// Use this method as the place to do any pre-playback
// initialisation that you need..
}
void FILTERCLASSNAME::releaseResources()
{
// When playback stops, you can use this as an opportunity to free up any
// spare memory, etc.
}
void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)
{
// In case we have more outputs than inputs, this code clears any output
// channels that didn't contain input data, (because these aren't
// guaranteed to be empty - they may contain garbage).
// I've added this to avoid people getting screaming feedback
// when they first compile the plugin, but obviously you don't need to
// this code if your algorithm already fills all the output channels.
for (int i = getNumInputChannels(); i < getNumOutputChannels(); ++i)
buffer.clear (i, 0, buffer.getNumSamples());
// This is the place where you'd normally do the guts of your plugin's
// audio processing...
for (int channel = 0; channel < getNumInputChannels(); ++channel)
{
float* channelData = buffer.getWritePointer (channel);
// ..do something to the data...
}
}
//==============================================================================
bool FILTERCLASSNAME::hasEditor() const
{
return true; // (change this to false if you choose to not supply an editor)
}
AudioProcessorEditor* FILTERCLASSNAME::createEditor()
{
return new EDITORCLASSNAME (*this);
}
//==============================================================================
void FILTERCLASSNAME::getStateInformation (MemoryBlock& destData)
{
// You should use this method to store your parameters in the memory block.
// You could do that either as raw data, or use the XML or ValueTree classes
// as intermediaries to make it easy to save and load complex data.
}
void FILTERCLASSNAME::setStateInformation (const void* data, int sizeInBytes)
{
// You should use this method to restore your parameters from this memory block,
// whose contents will have been created by the getStateInformation() call.
}
//==============================================================================
// This creates new instances of the plugin..
AudioProcessor* JUCE_CALLTYPE createPluginFilter()
{
return new FILTERCLASSNAME();
}
@@ -0,0 +1,74 @@
/*
==============================================================================
This file was auto-generated by the Introjucer!
It contains the basic framework code for a JUCE plugin processor.
==============================================================================
*/
#ifndef HEADERGUARD
#define HEADERGUARD
APPHEADERS
//==============================================================================
/**
*/
class FILTERCLASSNAME : public AudioProcessor
{
public:
//==============================================================================
FILTERCLASSNAME();
~FILTERCLASSNAME();
//==============================================================================
void prepareToPlay (double sampleRate, int samplesPerBlock) override;
void releaseResources() override;
void processBlock (AudioSampleBuffer&, MidiBuffer&) override;
//==============================================================================
AudioProcessorEditor* createEditor() override;
bool hasEditor() const override;
//==============================================================================
const String getName() const override;
int getNumParameters() override;
float getParameter (int index) override;
void setParameter (int index, float newValue) override;
const String getParameterName (int index) override;
const String getParameterText (int index) override;
const String getInputChannelName (int channelIndex) const override;
const String getOutputChannelName (int channelIndex) const override;
bool isInputChannelStereoPair (int index) const override;
bool isOutputChannelStereoPair (int index) const override;
bool acceptsMidi() const override;
bool producesMidi() const override;
bool silenceInProducesSilenceOut() const override;
double getTailLengthSeconds() const override;
//==============================================================================
int getNumPrograms() override;
int getCurrentProgram() override;
void setCurrentProgram (int index) override;
const String getProgramName (int index) override;
void changeProgramName (int index, const String& newName) override;
//==============================================================================
void getStateInformation (MemoryBlock& destData) override;
void setStateInformation (const void* data, int sizeInBytes) override;
private:
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FILTERCLASSNAME)
};
#endif // HEADERGUARD
@@ -0,0 +1,71 @@
/*
==============================================================================
This is an automatically generated GUI class created by the Introjucer!
Be careful when adding custom code to these files, as only the code within
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
and re-saved.
Created with Introjucer version: %%version%%
------------------------------------------------------------------------------
The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-13 by Raw Material Software Ltd.
==============================================================================
*/
//[Headers] You can add your own extra header files here...
//[/Headers]
%%includeFilesCPP%%
//[MiscUserDefs] You can add your own user definitions and misc code here...
//[/MiscUserDefs]
//==============================================================================
%%className%%::%%className%% (%%constructorParams%%)
%%initialisers%%{
%%constructor%%
//[Constructor] You can add your own custom stuff here..
//[/Constructor]
}
%%className%%::~%%className%%()
{
//[Destructor_pre]. You can add your own custom destruction code here..
//[/Destructor_pre]
%%destructor%%
//[Destructor]. You can add your own custom destruction code here..
//[/Destructor]
}
//==============================================================================
%%methodDefinitions%%
//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...
//[/MiscUserCode]
//==============================================================================
#if 0
/* -- Introjucer information section --
This is where the Introjucer stores the metadata that describe this GUI layout, so
make changes in here at your peril!
BEGIN_JUCER_METADATA
%%metadata%%
END_JUCER_METADATA
*/
#endif
%%staticMemberDefinitions%%
//[EndFile] You can add extra defines here...
//[/EndFile]
@@ -0,0 +1,64 @@
/*
==============================================================================
This is an automatically generated GUI class created by the Introjucer!
Be careful when adding custom code to these files, as only the code within
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
and re-saved.
Created with Introjucer version: %%version%%
------------------------------------------------------------------------------
The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-13 by Raw Material Software Ltd.
==============================================================================
*/
#ifndef %%headerGuard%%
#define %%headerGuard%%
//[Headers] -- You can add your own extra header files here --
#include "JuceHeader.h"
//[/Headers]
%%includeFilesH%%
//==============================================================================
/**
//[Comments]
An auto-generated component, created by the Introjucer.
Describe your class and how it works here!
//[/Comments]
*/
%%classDeclaration%%
{
public:
//==============================================================================
%%className%% (%%constructorParams%%);
~%%className%%();
//==============================================================================
//[UserMethods] -- You can add your own custom methods in this section.
//[/UserMethods]
%%publicMemberDeclarations%%
private:
//[UserVariables] -- You can add your own custom variables in this section.
//[/UserVariables]
//==============================================================================
%%privateMemberDeclarations%%
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%className%%)
};
//[EndFile] You can add extra defines here...
//[/EndFile]
#endif // %%headerGuard%%
@@ -0,0 +1,36 @@
/*
==============================================================================
This file was auto-generated!
==============================================================================
*/
INCLUDE_CORRESPONDING_HEADER
//==============================================================================
CONTENTCOMPCLASS::CONTENTCOMPCLASS()
{
setSize (600, 400);
}
CONTENTCOMPCLASS::~CONTENTCOMPCLASS()
{
}
void CONTENTCOMPCLASS::paint (Graphics& g)
{
g.fillAll (Colour (0xff001F36));
g.setFont (Font (16.0f));
g.setColour (Colours::white);
g.drawText ("Hello World!", getLocalBounds(), Justification::centred, true);
}
void CONTENTCOMPCLASS::resized()
{
// This is called when the CONTENTCOMPCLASS is resized.
// If you add any child components, this is where you should
// update their positions.
}
@@ -0,0 +1,36 @@
/*
==============================================================================
This file was auto-generated!
==============================================================================
*/
#ifndef HEADERGUARD
#define HEADERGUARD
INCLUDE_JUCE
//==============================================================================
/*
This component lives inside our window, and this is where you should put all
your controls and content.
*/
class CONTENTCOMPCLASS : public Component
{
public:
//==============================================================================
CONTENTCOMPCLASS();
~CONTENTCOMPCLASS();
void paint (Graphics&);
void resized();
private:
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS)
};
#endif // HEADERGUARD
@@ -0,0 +1,40 @@
//==============================================================================
class COMPONENTCLASS : public Component
{
public:
COMPONENTCLASS()
{
// In your constructor, you should add any child components, and
// initialise any special settings that your component needs.
}
~COMPONENTCLASS()
{
}
void paint (Graphics& g)
{
// You should replace everything in this method with your own drawing code..
g.fillAll (Colours::white); // clear the background
g.setColour (Colours::grey);
g.drawRect (getLocalBounds(), 1); // draw an outline around the component
g.setColour (Colours::lightblue);
g.setFont (14.0f);
g.drawText ("COMPONENTCLASS", getLocalBounds(),
Justification::centred, true); // draw some placeholder text
}
void resized()
{
// This method is where you should set the bounds of any child
// components that your component contains..
}
private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)
};
@@ -0,0 +1,22 @@
/*
==============================================================================
This file was auto-generated!
It contains the basic startup code for a Juce application.
==============================================================================
*/
APPHEADERS
//==============================================================================
int main (int argc, char* argv[])
{
// ..your code goes here!
return 0;
}
@@ -0,0 +1,54 @@
/*
==============================================================================
This file was auto-generated by the Introjucer!
It contains the basic startup code for a Juce application.
==============================================================================
*/
APPHEADERS
//==============================================================================
class APPCLASSNAME : public JUCEApplication
{
public:
//==============================================================================
APPCLASSNAME() {}
const String getApplicationName() override { return ProjectInfo::projectName; }
const String getApplicationVersion() override { return ProjectInfo::versionString; }
bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }
//==============================================================================
void initialise (const String& commandLine) override
{
// Add your application's initialisation code here..
}
void shutdown() override
{
// Add your application's shutdown code here..
}
//==============================================================================
void systemRequestedQuit() override
{
// This is called when the app is being asked to quit: you can ignore this
// request and let the app carry on running, or call quit() to allow the app to close.
quit();
}
void anotherInstanceStarted (const String& commandLine) override
{
// When another instance of the app is launched while this one is running,
// this method is invoked, and the commandLine parameter tells you what
// the other instance's command-line arguments were.
}
};
//==============================================================================
// This macro generates the main() routine that launches the app.
START_JUCE_APPLICATION (APPCLASSNAME)
@@ -0,0 +1,101 @@
/*
==============================================================================
This file was auto-generated by the Introjucer!
It contains the basic startup code for a Juce application.
==============================================================================
*/
APPHEADERS
Component* createMainContentComponent();
//==============================================================================
class APPCLASSNAME : public JUCEApplication
{
public:
//==============================================================================
APPCLASSNAME() {}
const String getApplicationName() override { return ProjectInfo::projectName; }
const String getApplicationVersion() override { return ProjectInfo::versionString; }
bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }
//==============================================================================
void initialise (const String& commandLine) override
{
// This method is where you should put your application's initialisation code..
mainWindow = new MainWindow (getApplicationName());
}
void shutdown() override
{
// Add your application's shutdown code here..
mainWindow = nullptr; // (deletes our window)
}
//==============================================================================
void systemRequestedQuit() override
{
// This is called when the app is being asked to quit: you can ignore this
// request and let the app carry on running, or call quit() to allow the app to close.
quit();
}
void anotherInstanceStarted (const String& commandLine) override
{
// When another instance of the app is launched while this one is running,
// this method is invoked, and the commandLine parameter tells you what
// the other instance's command-line arguments were.
}
//==============================================================================
/*
This class implements the desktop window that contains an instance of
our CONTENTCOMPCLASS class.
*/
class MainWindow : public DocumentWindow
{
public:
MainWindow (String name) : DocumentWindow (name,
Colours::lightgrey,
DocumentWindow::allButtons)
{
setUsingNativeTitleBar (true);
setContentOwned (createMainContentComponent(), true);
setResizable (true, true);
centreWithSize (getWidth(), getHeight());
setVisible (true);
}
void closeButtonPressed() override
{
// This is called when the user tries to close this window. Here, we'll just
// ask the app to quit when this happens, but you can change this to do
// whatever you need.
JUCEApplication::getInstance()->systemRequestedQuit();
}
/* Note: Be careful if you override any DocumentWindow methods - the base
class uses a lot of them, so by overriding you might break its functionality.
It's best to do all your work in your content component instead, but if
you really have to override any DocumentWindow methods, make sure your
subclass also calls the superclass's method.
*/
private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)
};
private:
ScopedPointer<MainWindow> mainWindow;
};
//==============================================================================
// This macro generates the main() routine that launches the app.
START_JUCE_APPLICATION (APPCLASSNAME)
@@ -0,0 +1,99 @@
/*
==============================================================================
This file was auto-generated by the Introjucer!
It contains the basic startup code for a Juce application.
==============================================================================
*/
APPHEADERS
//==============================================================================
class APPCLASSNAME : public JUCEApplication
{
public:
//==============================================================================
APPCLASSNAME() {}
const String getApplicationName() override { return ProjectInfo::projectName; }
const String getApplicationVersion() override { return ProjectInfo::versionString; }
bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }
//==============================================================================
void initialise (const String& commandLine) override
{
// This method is where you should put your application's initialisation code..
mainWindow = new MainWindow (getApplicationName());
}
void shutdown() override
{
// Add your application's shutdown code here..
mainWindow = nullptr; // (deletes our window)
}
//==============================================================================
void systemRequestedQuit() override
{
// This is called when the app is being asked to quit: you can ignore this
// request and let the app carry on running, or call quit() to allow the app to close.
quit();
}
void anotherInstanceStarted (const String& commandLine) override
{
// When another instance of the app is launched while this one is running,
// this method is invoked, and the commandLine parameter tells you what
// the other instance's command-line arguments were.
}
//==============================================================================
/*
This class implements the desktop window that contains an instance of
our CONTENTCOMPCLASS class.
*/
class MainWindow : public DocumentWindow
{
public:
MainWindow (String name) : DocumentWindow (name,
Colours::lightgrey,
DocumentWindow::allButtons)
{
setUsingNativeTitleBar (true);
setContentOwned (new CONTENTCOMPCLASS(), true);
centreWithSize (getWidth(), getHeight());
setVisible (true);
}
void closeButtonPressed() override
{
// This is called when the user tries to close this window. Here, we'll just
// ask the app to quit when this happens, but you can change this to do
// whatever you need.
JUCEApplication::getInstance()->systemRequestedQuit();
}
/* Note: Be careful if you override any DocumentWindow methods - the base
class uses a lot of them, so by overriding you might break its functionality.
It's best to do all your work in your content component instead, but if
you really have to override any DocumentWindow methods, make sure your
subclass also calls the superclass's method.
*/
private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)
};
private:
ScopedPointer<MainWindow> mainWindow;
};
//==============================================================================
// This macro generates the main() routine that launches the app.
START_JUCE_APPLICATION (APPCLASSNAME)
@@ -0,0 +1,51 @@
/*
==============================================================================
FILENAME
Created: DATE
Author: AUTHOR
==============================================================================
*/
INCLUDE_JUCE
INCLUDE_CORRESPONDING_HEADER
//==============================================================================
COMPONENTCLASS::COMPONENTCLASS()
{
// In your constructor, you should add any child components, and
// initialise any special settings that your component needs.
}
COMPONENTCLASS::~COMPONENTCLASS()
{
}
void COMPONENTCLASS::paint (Graphics& g)
{
/* This demo code just fills the component's background and
draws some placeholder text to get you started.
You should replace everything in this method with your own
drawing code..
*/
g.fillAll (Colours::white); // clear the background
g.setColour (Colours::grey);
g.drawRect (getLocalBounds(), 1); // draw an outline around the component
g.setColour (Colours::lightblue);
g.setFont (14.0f);
g.drawText ("COMPONENTCLASS", getLocalBounds(),
Justification::centred, true); // draw some placeholder text
}
void COMPONENTCLASS::resized()
{
// This method is where you should set the bounds of any child
// components that your component contains..
}
@@ -0,0 +1,33 @@
/*
==============================================================================
FILENAME
Created: DATE
Author: AUTHOR
==============================================================================
*/
#ifndef HEADERGUARD
#define HEADERGUARD
INCLUDE_JUCE
//==============================================================================
/*
*/
class COMPONENTCLASS : public Component
{
public:
COMPONENTCLASS();
~COMPONENTCLASS();
void paint (Graphics&);
void resized();
private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)
};
#endif // HEADERGUARD
@@ -0,0 +1,11 @@
/*
==============================================================================
FILENAME
Created: DATE
Author: AUTHOR
==============================================================================
*/
INCLUDE_CORRESPONDING_HEADER
@@ -0,0 +1,18 @@
/*
==============================================================================
FILENAME
Created: DATE
Author: AUTHOR
==============================================================================
*/
#ifndef HEADERGUARD
#define HEADERGUARD
#endif // HEADERGUARD
@@ -0,0 +1,65 @@
/*
==============================================================================
FILENAME
Created: DATE
Author: AUTHOR
==============================================================================
*/
#ifndef HEADERGUARD
#define HEADERGUARD
INCLUDE_JUCE
//==============================================================================
/*
*/
class COMPONENTCLASS : public Component
{
public:
COMPONENTCLASS()
{
// In your constructor, you should add any child components, and
// initialise any special settings that your component needs.
}
~COMPONENTCLASS()
{
}
void paint (Graphics& g)
{
/* This demo code just fills the component's background and
draws some placeholder text to get you started.
You should replace everything in this method with your own
drawing code..
*/
g.fillAll (Colours::white); // clear the background
g.setColour (Colours::grey);
g.drawRect (getLocalBounds(), 1); // draw an outline around the component
g.setColour (Colours::lightblue);
g.setFont (14.0f);
g.drawText ("COMPONENTCLASS", getLocalBounds(),
Justification::centred, true); // draw some placeholder text
}
void resized()
{
// This method is where you should set the bounds of any child
// components that your component contains..
}
private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)
};
#endif // HEADERGUARD
@@ -0,0 +1,76 @@
/*
==============================================================================
This file was auto-generated!
==============================================================================
*/
#ifndef MAINCOMPONENT_H_INCLUDED
#define MAINCOMPONENT_H_INCLUDED
INCLUDE_JUCE
//==============================================================================
/*
This component lives inside our window, and this is where you should put all
your controls and content.
*/
class MainContentComponent : public OpenGLAppComponent
{
public:
//==============================================================================
MainContentComponent()
{
setSize (800, 600);
}
~MainContentComponent()
{
shutdownOpenGL();
}
void initialise() override
{
}
void shutdown() override
{
}
void render() override
{
OpenGLHelpers::clear (Colours::black);
}
void paint (Graphics& g) override
{
// You can add your component specific drawing code here!
// This will draw over the top of the openGL background.
}
void resized() override
{
// This is called when the MainContentComponent is resized.
// If you add any child components, this is where you should
// update their positions.
}
private:
//==============================================================================
// private member variables
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
};
// (This function is called by the app startup code to create our main component)
Component* createMainContentComponent() { return new MainContentComponent(); }
#endif // MAINCOMPONENT_H_INCLUDED
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 136.9 114.8" enable-background="new 0 0 136.9 114.8" xml:space="preserve">
<g id="Layer_1_18_">
<rect x="16.3" y="10.9" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" width="103.6" height="67.5"/>
</g>
<rect x="16.3" y="10.9" fill="none" stroke="#F29300" stroke-width="1.3469" stroke-miterlimit="10" width="103.6" height="2.4"/>
<circle fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" cx="80.3" cy="45" r="20.8"/>
<g>
<g>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M97.8,40.1c0.9,3.2,0,8-2.1,8.3
c-2,0.2-10.5-2.2-14.8-3.6c2.9-3.4,8.9-10,10.8-10.8C93.5,33.2,96.9,36.9,97.8,40.1z"/>
</g>
<g>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M93.3,57.7c-2.3,2.4-7,4-8.2,2.4
c-1.2-1.6-3.4-10.2-4.3-14.6c4.4,0.8,13.1,2.8,14.7,4C97.2,50.5,95.6,55.3,93.3,57.7z"/>
</g>
<g>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M75.7,62.6c-3.2-0.8-7-4.1-6.1-6
c0.8-1.9,7.2-8,10.5-11.1c1.5,4.3,4.1,12.7,3.9,14.8C83.9,62.4,79,63.4,75.7,62.6z"/>
</g>
<g>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M62.9,49.9c-0.9-3.2,0-8,2.1-8.3
c2-0.2,10.5,2.2,14.8,3.6c-2.9,3.4-8.9,10-10.8,10.8C67.2,56.8,63.8,53.1,62.9,49.9z"/>
</g>
<g>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M67.4,32.3c2.3-2.4,7-4,8.2-2.4
c1.2,1.6,3.4,10.2,4.3,14.6c-4.4-0.8-13.1-2.8-14.7-4C63.5,39.4,65.1,34.7,67.4,32.3z"/>
</g>
<g>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M84.8,27.4c3.2,0.8,7,4.1,6.1,6
c-0.8,1.9-7.2,8-10.5,11.1c-1.5-4.3-4.1-12.7-3.9-14.8C76.7,27.6,81.6,26.6,84.8,27.4z"/>
</g>
</g>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M130,114.8H6.9c-3.8,0-6.9-3.1-6.9-6.9V6.9
C0,3.1,3.1,0,6.9,0H130c3.8,0,6.9,3.1,6.9,6.9v101.1C136.9,111.7,133.9,114.8,130,114.8z"/>
<path opacity="0.8" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M62.6,61.4
c-9.1-9.1-9.1-23.7,0-32.8"/>
<path opacity="0.5" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M55.9,57.3
c-4.7-7.4-4.7-16.9-0.1-24.4"/>
<line opacity="0.7" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" x1="57.7" y1="41.5" x2="37.8" y2="41.5"/>
<line opacity="0.7" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" x1="57.7" y1="48.4" x2="34.2" y2="48.4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 136.9 114.8" enable-background="new 0 0 136.9 114.8" xml:space="preserve">
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M130,114.8H6.9c-3.8,0-6.9-3.1-6.9-6.9V6.9
C0,3.1,3.1,0,6.9,0H130c3.8,0,6.9,3.1,6.9,6.9v101.1C136.9,111.7,133.9,114.8,130,114.8z"/>
<rect x="16.5" y="10.9" fill="none" stroke="#F29300" stroke-width="1.3412" stroke-miterlimit="10" width="102.7" height="2.4"/>
<rect x="16.5" y="10.9" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" width="102.9" height="67.5"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="17.1" y1="43.8" x2="17.1" y2="44.5"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="18.8" y1="43.6" x2="18.8" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="20.4" y1="43.8" x2="20.4" y2="44.5"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="22.1" y1="43.6" x2="22.1" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="23.8" y1="43.1" x2="23.8" y2="45.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="25.4" y1="42.3" x2="25.4" y2="46"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="27.1" y1="43.9" x2="27.1" y2="44.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="28.8" y1="43.3" x2="28.8" y2="45"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="30.4" y1="29.3" x2="30.4" y2="59"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="32.1" y1="40.9" x2="32.1" y2="47.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="33.8" y1="42.7" x2="33.8" y2="45.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="35.4" y1="36.6" x2="35.4" y2="51.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="37.1" y1="33.3" x2="37.1" y2="55.1"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="38.8" y1="42.6" x2="38.8" y2="45.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="40.4" y1="37.4" x2="40.4" y2="50.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="42.1" y1="27.4" x2="42.1" y2="60.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="43.8" y1="39.3" x2="43.8" y2="49"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="45.4" y1="41.1" x2="45.4" y2="47.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="47.1" y1="42.6" x2="47.1" y2="45.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="48.8" y1="36.2" x2="48.8" y2="52.1"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="50.4" y1="42.5" x2="50.4" y2="45.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="52.1" y1="39.3" x2="52.1" y2="49"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="53.8" y1="34.8" x2="53.8" y2="53.5"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="55.4" y1="42.2" x2="55.4" y2="46.1"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="57.1" y1="41" x2="57.1" y2="47.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="58.8" y1="35.4" x2="58.8" y2="53"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="60.4" y1="32.6" x2="60.4" y2="55.8"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="62.1" y1="37.4" x2="62.1" y2="50.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="63.8" y1="38.1" x2="63.8" y2="50.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="65.4" y1="42.2" x2="65.4" y2="46.1"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="67.1" y1="38.9" x2="67.1" y2="49.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="68.8" y1="43.6" x2="68.8" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="70.4" y1="41.4" x2="70.4" y2="47"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="72.1" y1="39" x2="72.1" y2="49.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="73.8" y1="40.9" x2="73.8" y2="47.5"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="75.4" y1="40.6" x2="75.4" y2="47.8"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="77.1" y1="38.4" x2="77.1" y2="49.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="78.8" y1="42" x2="78.8" y2="46.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="80.4" y1="42.2" x2="80.4" y2="46.1"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="82.1" y1="43.6" x2="82.1" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="83.8" y1="42.6" x2="83.8" y2="45.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="85.4" y1="43.3" x2="85.4" y2="45"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="87.1" y1="39.9" x2="87.1" y2="48.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="88.8" y1="42.9" x2="88.8" y2="45.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="90.4" y1="43.6" x2="90.4" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="92.1" y1="43.6" x2="92.1" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="93.8" y1="42.7" x2="93.8" y2="45.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="95.4" y1="41.1" x2="95.4" y2="47.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="97.1" y1="42.7" x2="97.1" y2="45.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="98.8" y1="43.6" x2="98.8" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="100.4" y1="43.1" x2="100.4" y2="45.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="102.1" y1="43.6" x2="102.1" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="103.8" y1="42" x2="103.8" y2="46.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="105.4" y1="43.6" x2="105.4" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="107.1" y1="43.8" x2="107.1" y2="44.5"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="108.8" y1="43.6" x2="108.8" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="110.4" y1="43.6" x2="110.4" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="112.1" y1="42.6" x2="112.1" y2="45.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="113.8" y1="43.1" x2="113.8" y2="45.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="115.4" y1="43.6" x2="115.4" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="117.1" y1="43.8" x2="117.1" y2="44.5"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="118.8" y1="43.8" x2="118.8" y2="44.5"/>
</svg>

After

Width:  |  Height:  |  Size: 9.6 KiB

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 136.9 114.8" enable-background="new 0 0 136.9 114.8" xml:space="preserve">
<g id="Layer_1_23_">
<rect x="16.3" y="10.9" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" width="103.6" height="67.5"/>
</g>
<rect x="16.3" y="10.9" fill="none" stroke="#F29300" stroke-width="1.3469" stroke-miterlimit="10" width="103.6" height="2.4"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M130,114.8H6.9c-3.8,0-6.9-3.1-6.9-6.9V6.9
C0,3.1,3.1,0,6.9,0H130c3.8,0,6.9,3.1,6.9,6.9v101.1C136.9,111.7,133.9,114.8,130,114.8z"/>
<g id="Layer_1_8_">
<rect x="35.7" y="23.6" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" width="64.4" height="42.3"/>
</g>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="36" y1="44.1" x2="36" y2="44.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="37.1" y1="44" x2="37.1" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="38.1" y1="44.1" x2="38.1" y2="44.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="39.2" y1="44" x2="39.2" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="40.2" y1="43.7" x2="40.2" y2="45"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="41.3" y1="43.2" x2="41.3" y2="45.5"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="42.3" y1="44.2" x2="42.3" y2="44.5"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="43.3" y1="43.8" x2="43.3" y2="44.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="44.4" y1="35.1" x2="44.4" y2="53.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="45.4" y1="42.3" x2="45.4" y2="46.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="46.5" y1="43.4" x2="46.5" y2="45.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="47.5" y1="39.6" x2="47.5" y2="49.1"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="48.6" y1="37.5" x2="48.6" y2="51.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="49.6" y1="43.4" x2="49.6" y2="45.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="50.6" y1="40.1" x2="50.6" y2="48.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="51.7" y1="33.9" x2="51.7" y2="54.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="52.7" y1="41.3" x2="52.7" y2="47.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="53.8" y1="42.5" x2="53.8" y2="46.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="54.8" y1="43.4" x2="54.8" y2="45.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="55.9" y1="39.4" x2="55.9" y2="49.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="56.9" y1="43.3" x2="56.9" y2="45.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="57.9" y1="41.3" x2="57.9" y2="47.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="59" y1="38.5" x2="59" y2="50.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="60" y1="43.1" x2="60" y2="45.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="61.1" y1="42.4" x2="61.1" y2="46.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="62.1" y1="38.8" x2="62.1" y2="49.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="63.2" y1="37.1" x2="63.2" y2="51.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="64.2" y1="40.1" x2="64.2" y2="48.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="65.2" y1="40.6" x2="65.2" y2="48.1"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="66.3" y1="43.1" x2="66.3" y2="45.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="67.3" y1="41.1" x2="67.3" y2="47.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="68.4" y1="44" x2="68.4" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="69.4" y1="42.6" x2="69.4" y2="46.1"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="70.5" y1="41.1" x2="70.5" y2="47.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="71.5" y1="42.3" x2="71.5" y2="46.4"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="72.5" y1="42.1" x2="72.5" y2="46.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="73.6" y1="40.8" x2="73.6" y2="47.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="74.6" y1="43" x2="74.6" y2="45.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="75.7" y1="43.1" x2="75.7" y2="45.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="76.7" y1="44" x2="76.7" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="77.8" y1="43.4" x2="77.8" y2="45.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="78.8" y1="43.8" x2="78.8" y2="44.9"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="79.9" y1="41.7" x2="79.9" y2="47"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="80.9" y1="43.6" x2="80.9" y2="45.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="81.9" y1="44" x2="81.9" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="83" y1="44" x2="83" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="84" y1="43.4" x2="84" y2="45.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="85.1" y1="42.5" x2="85.1" y2="46.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="86.1" y1="43.5" x2="86.1" y2="45.2"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="87.2" y1="44" x2="87.2" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="88.2" y1="43.7" x2="88.2" y2="45"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="89.2" y1="44" x2="89.2" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="90.3" y1="43" x2="90.3" y2="45.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="91.3" y1="44" x2="91.3" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="92.4" y1="44.2" x2="92.4" y2="44.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="93.4" y1="44" x2="93.4" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="94.5" y1="44" x2="94.5" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="95.5" y1="43.4" x2="95.5" y2="45.3"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="96.5" y1="43.7" x2="96.5" y2="45"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="97.6" y1="44" x2="97.6" y2="44.7"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="98.6" y1="44.2" x2="98.6" y2="44.6"/>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-linecap="round" stroke-miterlimit="10" x1="99.7" y1="44.2" x2="99.7" y2="44.6"/>
<g>
<g>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-miterlimit="10" x1="16.3" y1="35.1" x2="35.8" y2="35.1"/>
<g>
<circle fill="#F29300" cx="35.7" cy="35.1" r="1.7"/>
</g>
</g>
</g>
<g>
<g>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-miterlimit="10" x1="16.3" y1="54.4" x2="35.8" y2="54.4"/>
<g>
<circle fill="#F29300" cx="35.7" cy="54.4" r="1.7"/>
</g>
</g>
</g>
<g>
<g>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-miterlimit="10" x1="119.7" y1="54.4" x2="100.2" y2="54.4"/>
<g>
<circle fill="#F29300" cx="100.3" cy="54.4" r="1.7"/>
</g>
</g>
</g>
<g>
<g>
<line fill="none" stroke="#F29300" stroke-width="1.5" stroke-miterlimit="10" x1="119.7" y1="35.1" x2="100.2" y2="35.1"/>
<g>
<circle fill="#F29300" cx="100.3" cy="35.1" r="1.7"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 136.9 114.8" enable-background="new 0 0 136.9 114.8" xml:space="preserve">
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M130,114.8H6.9c-3.8,0-6.9-3.1-6.9-6.9V6.9
C0,3.1,3.1,0,6.9,0H130c3.8,0,6.9,3.1,6.9,6.9v101.1C136.9,111.7,133.9,114.8,130,114.8z"/>
<g id="Layer_1_22_">
<rect x="16.3" y="10.9" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" width="102.9" height="67.5"/>
</g>
<g id="Layer_3_3_">
<g opacity="0.8">
<path fill="#F29300" d="M40.6,28.3l-14.4-6.6v-2.3l17.3,7.8v2.1l-17.3,7.8v-2.3L40.6,28.3z"/>
<path fill="#F29300" d="M62,39.5v1.7H45v-1.7H62z"/>
</g>
<g>
<path fill="#F29300" d="M40.6,28.3l-14.4-6.6v-2.3l17.3,7.8v2.1l-17.3,7.8v-2.3L40.6,28.3z"/>
<path fill="#F29300" d="M62,39.5v1.7H45v-1.7H62z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 136.9 114.8" enable-background="new 0 0 136.9 114.8" xml:space="preserve">
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M130,114.9H6.9c-3.8,0-6.9-3.1-6.9-6.9V7
c0-3.8,3.1-6.9,6.9-6.9H130c3.8,0,6.9,3.1,6.9,6.9V108C136.9,111.8,133.9,114.9,130,114.9z"/>
<g id="Layer_1_19_">
<rect x="16.3" y="11" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" width="102.9" height="67.5"/>
</g>
<g>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="39.6" y1="25" x2="39.6" y2="62.3"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="41.2" y1="25" x2="41.2" y2="62.3"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="42.8" y1="25" x2="42.8" y2="62.3"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="44.5" y1="25" x2="44.5" y2="62.3"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="46.1" y1="25" x2="46.1" y2="62.3"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="47.7" y1="25" x2="47.7" y2="62.3"/>
</g>
<path fill="none" stroke="#F29100" stroke-width="1.0853" stroke-miterlimit="10" d="M49.9,23.9v38.6c0,0.9-0.7,1.6-1.6,1.6H39
c-0.9,0-1.6-0.7-1.6-1.6V23.9"/>
<g>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="54.8" y1="27.5" x2="67.4" y2="62.6"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="56.3" y1="27" x2="69" y2="62"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="57.8" y1="26.4" x2="70.5" y2="61.5"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="59.4" y1="25.9" x2="72.1" y2="60.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="60.9" y1="25.3" x2="73.6" y2="60.4"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="62.4" y1="24.8" x2="75.1" y2="59.8"/>
</g>
<path fill="none" stroke="#F29100" stroke-width="1.0853" stroke-miterlimit="10" d="M64.1,23l13.1,36.3c0.3,0.8-0.1,1.7-0.9,2
l-8.8,3.2c-0.8,0.3-1.7-0.1-2-0.9L52.4,27.2"/>
<g>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="72.5" y1="30.6" x2="93.5" y2="61.4"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="73.8" y1="29.7" x2="94.9" y2="60.5"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="75.2" y1="28.8" x2="96.2" y2="59.6"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="76.5" y1="27.9" x2="97.6" y2="58.6"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="77.9" y1="27" x2="98.9" y2="57.7"/>
<line fill="none" stroke="#F29100" stroke-width="0.4307" stroke-miterlimit="10" x1="79.2" y1="26" x2="100.3" y2="56.8"/>
</g>
<path fill="none" stroke="#F29100" stroke-width="1.0853" stroke-miterlimit="10" d="M80.4,23.9l21.8,31.9c0.5,0.7,0.3,1.7-0.4,2.2
l-7.7,5.3c-0.7,0.5-1.7,0.3-2.2-0.4L70.1,31"/>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 136.9 114.8" enable-background="new 0 0 136.9 114.8" xml:space="preserve">
<rect x="16.3" y="10.9" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" width="103.6" height="67.5"/>
<path fill="none" stroke="#F29300" stroke-width="0.7078" stroke-miterlimit="10" d="M55.2,62.5H23.4c-0.4,0-0.7-0.4-0.7-0.9l0,0
c0-0.5,0.3-0.9,0.7-0.9h31.8c0.4,0,0.7,0.4,0.7,0.9l0,0C55.9,62.1,55.5,62.5,55.2,62.5z"/>
<path fill="#F29300" d="M38.1,62.5H23.4c-0.4,0-0.7-0.4-0.7-0.9l0,0c0-0.5,0.3-0.9,0.7-0.9h14.7c0.4,0,0.7,0.4,0.7,0.9l0,0
C38.7,62.1,38.4,62.5,38.1,62.5z"/>
<path fill="none" stroke="#F29300" stroke-width="0.7078" stroke-miterlimit="10" d="M55.2,67.8H23.4c-0.4,0-0.7-0.4-0.7-0.9l0,0
c0-0.5,0.3-0.9,0.7-0.9h31.8c0.4,0,0.7,0.4,0.7,0.9l0,0C55.9,67.4,55.5,67.8,55.2,67.8z"/>
<path fill="#F29300" d="M44.2,67.8H23.4c-0.4,0-0.7-0.4-0.7-0.9l0,0c0-0.5,0.3-0.9,0.7-0.9h20.8c0.4,0,0.7,0.4,0.7,0.9l0,0
C44.8,67.4,44.6,67.8,44.2,67.8z"/>
<path fill="none" stroke="#F29300" stroke-width="0.7078" stroke-miterlimit="10" d="M55.2,73H23.4c-0.4,0-0.7-0.4-0.7-0.9l0,0
c0-0.5,0.3-0.9,0.7-0.9h31.8c0.4,0,0.7,0.4,0.7,0.9l0,0C55.9,72.6,55.5,73,55.2,73z"/>
<path fill="#F29300" d="M49.4,73h-26c-0.4,0-0.7-0.4-0.7-0.9l0,0c0-0.5,0.3-0.9,0.7-0.9h26c0.4,0,0.7,0.4,0.7,0.9l0,0
C50.1,72.6,49.8,73,49.4,73z"/>
<rect x="16.3" y="10.9" fill="none" stroke="#F29300" stroke-width="1.3469" stroke-miterlimit="10" width="103.6" height="2.4"/>
<circle fill="none" stroke="#F29300" stroke-width="1.3469" stroke-miterlimit="10" cx="69.3" cy="39.6" r="13.9"/>
<g>
<g>
<path fill="none" stroke="#F29300" stroke-width="1.2523" stroke-miterlimit="10" d="M79.8,33.5c1.1,1.9,1.3,5.2,0,5.7
c-1.3,0.5-7.2,0.3-10.2,0.2c1.3-2.7,4.1-7.9,5.2-8.8C75.9,29.7,78.7,31.6,79.8,33.5z"/>
</g>
<g>
<path fill="none" stroke="#F29300" stroke-width="1.2523" stroke-miterlimit="10" d="M79.8,45.6c-1.1,1.9-3.8,3.7-4.9,2.9
c-1.1-0.9-3.9-6.1-5.2-8.8c3-0.2,8.9-0.4,10.2,0.1C81.2,40.4,80.9,43.7,79.8,45.6z"/>
</g>
<g>
<path fill="none" stroke="#F29300" stroke-width="1.2523" stroke-miterlimit="10" d="M69.3,51.7c-2.2,0-5.2-1.5-5-2.8
s3.3-6.4,5-8.9c1.7,2.5,4.8,7.5,5,8.9S71.5,51.7,69.3,51.7z"/>
</g>
<g>
<path fill="none" stroke="#F29300" stroke-width="1.2523" stroke-miterlimit="10" d="M58.9,45.6c-1.1-1.9-1.3-5.2,0-5.7
c1.3-0.5,7.2-0.3,10.2-0.2c-1.3,2.7-4.1,7.9-5.2,8.8C62.8,49.4,60,47.6,58.9,45.6z"/>
</g>
<g>
<path fill="none" stroke="#F29300" stroke-width="1.2523" stroke-miterlimit="10" d="M58.9,33.5c1.1-1.9,3.8-3.7,4.9-2.9
c1.1,0.9,3.9,6.1,5.2,8.8c-3,0.2-8.9,0.4-10.2-0.1C57.5,38.8,57.8,35.5,58.9,33.5z"/>
</g>
<g>
<path fill="none" stroke="#F29300" stroke-width="1.2523" stroke-miterlimit="10" d="M69.3,27.5c2.2,0,5.2,1.5,5,2.8
s-3.3,6.4-5,8.9c-1.7-2.5-4.8-7.5-5-8.9S67.1,27.5,69.3,27.5z"/>
</g>
</g>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M130,114.8H6.9c-3.8,0-6.9-3.1-6.9-6.9V6.9
C0,3.1,3.1,0,6.9,0H130c3.8,0,6.9,3.1,6.9,6.9v101.1C136.9,111.7,133.9,114.8,130,114.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 136.9 114.8" enable-background="new 0 0 136.9 114.8" xml:space="preserve">
<path opacity="0.2" fill="#F29300" d="M130.1,114.8H6.9c-3.8,0-6.9-3.1-6.9-6.9V6.9C0,3.1,3.1,0,6.9,0h123.2c3.8,0,6.9,3.1,6.9,6.9
V108C136.9,111.8,133.9,114.8,130.1,114.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 638 B

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 136.9 114.8" enable-background="new 0 0 136.9 114.8" xml:space="preserve">
<rect x="16.3" y="10.9" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" width="103.6" height="67.5"/>
<rect x="16.3" y="10.9" fill="none" stroke="#F29300" stroke-width="1.3469" stroke-miterlimit="10" width="103.6" height="2.4"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M75.8,31.5c8.7,4.7,14.8,13.2,13.5,20
c-1.6,8.5-13.8,11.4-26.8,4.3S45.3,36.9,51.6,30.9C56.7,26.1,67.1,26.7,75.8,31.5z"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M86.1,43.6c1,2.4,0.5,5.5-1.3,5
c-1.9-0.5-9.8-5-13.8-7.4c2.9-1.2,8.2-3.2,9.8-3.2C82.2,38.2,85.2,41.4,86.1,43.6z"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M83,55.3c-2.3,1.3-7.3,1.2-8.6-0.7
c-1.2-1.9-2.9-9.5-3.5-12.9c4.2,2.1,12.2,6.3,13.8,7.7C86.3,50.7,85.2,54,83,55.3z"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M63.6,53.5c-3.6-2-7.3-6.3-5.9-7.6
c1.3-1.2,9-3.5,12.5-4.4c1.2,3.5,3.4,11.2,3.1,13C73,56.3,67.3,55.5,63.6,53.5z"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M51.9,38.3c-0.1-2.5,2-5.2,4.1-4.6
c2.1,0.6,9.9,5.1,13.9,7.5c-3.2,1.3-10.5,4.1-12.8,4.1C54.9,45.1,52,40.9,51.9,38.3z"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M60,29.3c2.4-0.4,6.6,0.3,7.5,1.5
c0.9,1.2,2.1,6.8,2.6,9.9c-4.2-2.1-12.3-6.3-13.7-7.6C55,31.8,57.4,29.8,60,29.3z"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M75.2,32.5c2.5,1.4,5.6,4.3,5,5
c-0.7,0.8-6.3,2.5-9.5,3.3c-1.1-3.2-2.7-8.9-2.4-9.9C68.6,30,72.6,31.1,75.2,32.5z"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M130,114.8H6.9c-3.8,0-6.9-3.1-6.9-6.9V6.9
C0,3.1,3.1,0,6.9,0H130c3.8,0,6.9,3.1,6.9,6.9v101.1C136.9,111.7,133.9,114.8,130,114.8z"/>
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M87.4,55.5c-6.6,10.4-20.4,14.6-30.8,8
s-13.4-19.6-6.9-30"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 177.9 114.8" enable-background="new 0 0 177.9 114.8" xml:space="preserve">
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M164.7,71.4H13.2c-3.8,0-6.9-3.1-6.9-6.9V43.6
c0-3.8,3.1-6.9,6.9-6.9h151.5c3.8,0,6.9,3.1,6.9,6.9v20.9C171.6,68.3,168.5,71.4,164.7,71.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 686 B

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 136.9 114.8" enable-background="new 0 0 136.9 114.8" xml:space="preserve">
<path fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" d="M130,114.8H6.9c-3.8,0-6.9-3.1-6.9-6.9V6.9
C0,3,3.1,0,6.9,0H130c3.8,0,6.9,3.1,6.9,6.9v101.1C136.9,111.7,133.9,114.8,130,114.8z"/>
<g id="Layer_1_21_">
<rect x="16.3" y="10.9" fill="none" stroke="#F29100" stroke-width="1.3469" stroke-miterlimit="10" width="102.9" height="67.5"/>
</g>
<g>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="43.1" y1="22.1" x2="43.1" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="45" y1="22.1" x2="45" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="46.8" y1="22.1" x2="46.8" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="48.7" y1="22.1" x2="48.7" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="50.6" y1="22.1" x2="50.6" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="52.5" y1="22.1" x2="52.5" y2="64.9"/>
</g>
<path fill="none" stroke="#F29100" stroke-width="1.2453" stroke-miterlimit="10" d="M54.9,20.8v44.3c0,1-0.8,1.8-1.8,1.8H42.4
c-1,0-1.8-0.8-1.8-1.8V20.8"/>
<g>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="64.5" y1="22.1" x2="64.5" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="66.4" y1="22.1" x2="66.4" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="68.3" y1="22.1" x2="68.3" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="70.1" y1="22.1" x2="70.1" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="72" y1="22.1" x2="72" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="73.9" y1="22.1" x2="73.9" y2="64.9"/>
</g>
<path fill="none" stroke="#F29100" stroke-width="1.2453" stroke-miterlimit="10" d="M76.4,20.8v44.3c0,1-0.8,1.8-1.8,1.8H63.8
c-1,0-1.8-0.8-1.8-1.8V20.8"/>
<g>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="85.9" y1="22.1" x2="85.9" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="87.8" y1="22.1" x2="87.8" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="89.7" y1="22.1" x2="89.7" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="91.6" y1="22.1" x2="91.6" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="93.4" y1="22.1" x2="93.4" y2="64.9"/>
<line fill="none" stroke="#F29100" stroke-width="0.4942" stroke-miterlimit="10" x1="95.3" y1="22.1" x2="95.3" y2="64.9"/>
</g>
<path fill="none" stroke="#F29100" stroke-width="1.2453" stroke-miterlimit="10" d="M97.8,20.8v44.3c0,1-0.8,1.8-1.8,1.8H85.3
c-1,0-1.8-0.8-1.8-1.8V20.8"/>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB