diff --git a/basics/White-noise-with-trigger/White-noise-with-trigger/White-noise-with-trigger.ino b/basics/White-noise-with-trigger/White-noise-with-trigger/White-noise-with-trigger.ino
new file mode 100644
index 0000000..d5ea280
--- /dev/null
+++ b/basics/White-noise-with-trigger/White-noise-with-trigger/White-noise-with-trigger.ino
@@ -0,0 +1,47 @@
+/*
+ *
+ * Trigger Detect
+ *
+ *
+ * Detecting triggers is essential to interact with other modules, for example to generate short bursts of sounds
+ * Try the output of simple-lfo.ino with this patch and open the serial monitor to see what happens!
+ *
+ * A3 = Trigger in
+ *
+ */
+
+bool triggered; // logic: trigered, yes or no
+long randNumber; //variable to store random number
+int pwmPin = 11; //define output pin, Meergranen output pin is 11
+
+
+
+void setup() {
+ pinMode(pwmPin,OUTPUT);
+ Serial.begin(9600); // debugging (see if trigger is registered)
+}
+
+void loop() {
+
+ int input3 = digitalRead(A3); // read analog pin 3
+
+ // trigger
+ if(input3 && !triggered) { //if there is a reading on input3 and the bool condition triggered is not true do
+ Serial.println("I hear a trigger!");
+ // DO SOMETHING ON TRIGGER HERE
+ for(int i=0;i<2000;i++){
+ randNumber = random(10, 100); //generate random number between 10 and 100
+ digitalWrite(pwmPin, LOW); //set output pin to LOW (0v)
+ delayMicroseconds(randNumber);//wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ digitalWrite(pwmPin, HIGH); //set output pin to HIGH (5v)
+ delayMicroseconds(randNumber); //wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+
+ triggered = true;
+ }
+}
+ else if(!input3 && triggered) { //if there is no reading on input3 and condition triggered is true (aka sound is playing), set triggered to false, aka stop playing
+ // STOP WHEN NO TRIGGER IS PRESENT (or do something else ;)
+ triggered = false;
+ }
+
+}
diff --git a/basics/simple-osc-explained/simple-osc-explained.ino b/basics/simple-osc-explained/simple-osc-explained.ino
index d5f4b5d..8a7858c 100644
--- a/basics/simple-osc-explained/simple-osc-explained.ino
+++ b/basics/simple-osc-explained/simple-osc-explained.ino
@@ -31,15 +31,31 @@ void setup() {
void loop() {
-
- digitalWrite( SPEAKER_PIN, LOW );
- delayMicroseconds( analogRead(A2)*2 ); // wait
- digitalWrite( SPEAKER_PIN, HIGH );
- delayMicroseconds( analogRead(A2)*2 ); // wait
-
+ //in simple-osc.ino we use tone(outputpin, 1000); to make a 1000Hz tone
+ //1000Hz means 1000x on and off in one second.
+ //instead of using tone(), we can write out what happens:
+ //turn on a pin on and of on/off 1000x per second:
+
+ digitalWrite( SPEAKER_PIN, LOW ); //turn pin off
+ delayMicroseconds( 500 ); // wait
+ digitalWrite( SPEAKER_PIN, HIGH );//tunr pin on
+ delayMicroseconds( 500 ); // wait
+
+ //the wait period determains how long it takes to loop through the
+ //code, and thus how fast the code runs, and thus how fast
+ //the pin turns on and off and thus at what frequency this happens:
+ //we get an oscillation (on-off)!
+ //Maths:
+ // for 1Hz, the pin goes on and off in one second. So the delay should be 0.5 second
+ // for 1000Hz the pin goes on/off 1000x in 1 sec. So the delay should be 1000x smaller: 0.0005 seconds
+ // wich is 500 micro seconds (dont confuse milliseconds with microseconds).
+
+ //To control the frequency with a knob we can use analogRead, uncomment the code below (and comment out the one above):
+
+// digitalWrite( SPEAKER_PIN, LOW ); //turn pin off
+// delayMicroseconds( analogRead(A2) ); // wait
+// digitalWrite( SPEAKER_PIN, HIGH );//tunr pin on
+// delayMicroseconds( analogRead(A2) ); // wait
+
-
- //note: delayMircoseconds wont pause your whole code like normal delay() would do
- //so, the code inside the while loop is executed simultaniously with the code in the
- //main loop. See usage in simple-poly-osc.ino
}
diff --git a/basics/simple-sequence/simple-sequence.ino b/basics/simple-sequence/simple-sequence.ino
new file mode 100644
index 0000000..08f4ce4
--- /dev/null
+++ b/basics/simple-sequence/simple-sequence.ino
@@ -0,0 +1,100 @@
+/*
+ *
+ * Simple sequence - warning, not very musical
+ *
+ */
+long randNumber; //variable to store random number
+int pwmPin = 11; //define output pin, Meergranen output pin is 11
+
+//define a sequence of beats
+int pattern[][8] = { {1,2,0,2,1,1,0,1}, //multidimensional array (nested array) 8 must be there, its the number of elements in the last array
+ {1,1,1,2,1,1,0,1},
+ {1,2,0,2,0,0,2,1},
+ {1,1,2,0,1,1,0,2}
+ };
+
+
+void setup() { //default setup loop
+ Serial.begin(9600);
+ pinMode(pwmPin,OUTPUT); //set pwmPin to output mode (otherwise the built-in pulldown resistor sets it as input, aka you wont hear anything)
+}
+
+void snare(){ //custom function describing a snare
+ for(int i=0;i<25;i++){
+ randNumber = random(10, 100); //generate random number between 10 and 100
+ digitalWrite(pwmPin, LOW); //set output pin to LOW (0v)
+ delayMicroseconds(randNumber/10*(i/4)*(600/10));//wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ digitalWrite(pwmPin, HIGH); //set output pin to HIGH (5v)
+ delayMicroseconds(randNumber/10*(i/4)*(600/10)); //wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ }
+ for(int i=0;i<300;i++){
+ randNumber = random(10, 100); //generate random number between 10 and 100
+ digitalWrite(pwmPin, LOW); //set output pin to LOW (0v)
+ delayMicroseconds(randNumber);//wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ digitalWrite(pwmPin, HIGH); //set output pin to HIGH (5v)
+ delayMicroseconds(randNumber); //wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ }
+ for(int i=0;i<100;i++){
+ randNumber = random(20, 200); //generate random number between 10 and 100
+ digitalWrite(pwmPin, LOW); //set output pin to LOW (0v)
+ delayMicroseconds(randNumber);//wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ digitalWrite(pwmPin, HIGH); //set output pin to HIGH (5v)
+ delayMicroseconds(randNumber); //wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ }
+ for(int i=0;i<200;i++){
+ randNumber = random(10, 100); //generate random number between 10 and 100
+ digitalWrite(pwmPin, LOW); //set output pin to LOW (0v)
+ delayMicroseconds(randNumber);//wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ digitalWrite(pwmPin, HIGH); //set output pin to HIGH (5v)
+ delayMicroseconds(randNumber); //wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ }
+}
+
+void kick(){ //custom function describing a kick
+
+//ATTACK
+ for(int i=0;i<7;i++){ // i = DELAY+SUSTAIN+RELEASE of ATTACK
+ analogWrite(11,0);
+ delayMicroseconds(1*i*i); // lower the pitch over time
+ analogWrite(11,255);
+ delayMicroseconds(1*i*i); // lower the pitch over time
+ analogWrite(11,0);
+ }
+
+//SUSTAIN RELEASE
+ for(int i=0;i<20;i++){ // i = DELAY+SUSTAIN+RELEASE < this should be linked to lfo..
+ analogWrite(11,0);
+ delayMicroseconds(analogRead(A1)*i); // lower the pitch over time
+ analogWrite(11,255);
+ delayMicroseconds(analogRead(A1)*i); // lower the pitch over time
+ analogWrite(11,0);
+ delay(1);
+ }
+
+
+}
+
+void loop() { // main loop!
+
+int preset = map(analogRead(A0), 0, 1024, 0,4); //map analog read pot 0 to 0-4 value of our presets
+Serial.println(preset);
+
+for (byte i = 0; i < 7; i++) { //for the lenght of the pattern do:
+
+ if(pattern[preset][i]==1){
+ kick();
+ delay(analogRead(A2)); //rest
+ }
+ if(pattern[preset][i]==2){
+ snare();
+ delay(analogRead(A2)); //rest
+ }
+ if(pattern[preset][i]==0){
+ delay(analogRead(A2)*2); //rest
+ }
+}
+
+
+delay(analogRead(A2)); //main tempo
+
+}
diff --git a/basics/trigger-delay/trigger-delay.ino b/basics/trigger-delay/trigger-delay.ino
index 9a13496..a245715 100644
--- a/basics/trigger-delay/trigger-delay.ino
+++ b/basics/trigger-delay/trigger-delay.ino
@@ -13,9 +13,11 @@
unsigned long time; // for debugging/indicating delay
bool triggered; // logic: trigered, yes or no
+int pwmPin = 11; //define output pin, Meergranen output pin is 11
void setup() {
Serial.begin(9600); // debugging (see if trigger is registered)
+ pinMode(pwmPin,OUTPUT);
}
void loop() {
@@ -27,8 +29,9 @@ void loop() {
// DO SOMETHING ON NORMAL TRIGGER HERE
Serial.println("I hear a trigger!");
Serial.println("-----------------"); //print pretty line
-
+ digitalWrite(pwmPin, LOW); //set output pin to LOW (0v)
delay(analogRead(A2)); // DLEAY THE INCOMING TRIGGER (wait for amount set by analog 2 (first potentiometer on meergranen))
+ digitalWrite(pwmPin, HIGH); //set output pin to HIGH (5v)
// DO SOMETHING ON DELAYED TRIGGER HERE:
Serial.println("delayed trigger with"); // print some info about the delayed trigger
Serial.print(" ");
diff --git a/basics/trigger-detect/trigger-detect.ino b/basics/trigger-detect/trigger-detect.ino
index 2da9d9b..ac0bf57 100644
--- a/basics/trigger-detect/trigger-detect.ino
+++ b/basics/trigger-detect/trigger-detect.ino
@@ -13,12 +13,26 @@
bool triggered; // logic: trigered, yes or no
+long randNumber; //variable to store random number
+int pwmPin = 11; //define output pin, Meergranen output pin is 11
void setup() {
- Serial.begin(9600); // debugging (see if trigger is registered)
+ // if analog input pin 5 is unconnected, random analog
+ // noise will cause the call to randomSeed() to generate
+ // different seed numbers each time the sketch runs.
+ // randomSeed() will then shuffle the random function.
+ randomSeed(analogRead(5));
+
+ pinMode(pwmPin,OUTPUT); //set pwmPin to output mode (otherwise the built-in pulldown resistor sets it as input, aka you wont hear anything)
}
void loop() {
+ randNumber = random(10, 100); //generate random number between 10 and 100
+ digitalWrite(pwmPin, LOW); //set output pin to LOW (0v)
+ delayMicroseconds(randNumber);//wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ digitalWrite(pwmPin, HIGH); //set output pin to HIGH (5v)
+ delayMicroseconds(randNumber); //wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+}
int input3 = digitalRead(A3); // read analog pin 3
diff --git a/basics/white-noise-auto-loop/white-noise-auto-loop/white-noise-auto-loop.ino b/basics/white-noise-auto-loop/white-noise-auto-loop/white-noise-auto-loop.ino
new file mode 100644
index 0000000..36c2627
--- /dev/null
+++ b/basics/white-noise-auto-loop/white-noise-auto-loop/white-noise-auto-loop.ino
@@ -0,0 +1,29 @@
+/*
+ *
+ * White Noise Generator (simple)
+ *
+ */
+long randNumber; //variable to store random number
+int pwmPin = 11; //define output pin, Meergranen output pin is 11
+
+void setup() {
+ // if analog input pin 5 is unconnected, random analog
+ // noise will cause the call to randomSeed() to generate
+ // different seed numbers each time the sketch runs.
+ // randomSeed() will then shuffle the random function.
+ randomSeed(analogRead(5));
+
+ pinMode(pwmPin,OUTPUT); //set pwmPin to output mode (otherwise the built-in pulldown resistor sets it as input, aka you wont hear anything)
+}
+
+void loop() {
+ for(int i=0;i<100;i++){
+ randNumber = random(100, 1000); //generate random number between 10 and 100 /// random(analogRead(A1));
+ digitalWrite(pwmPin, LOW); //set output pin to LOW (0v)
+ delayMicroseconds(randNumber);//wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+ digitalWrite(pwmPin, HIGH); //set output pin to HIGH (5v)
+ delayMicroseconds(randNumber); //wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+}
+delay(analogRead(A2)); //fake trigger: delay (1000); it just pauses the code
+
+}
diff --git a/basics/white-noise/white-noise.ino b/basics/white-noise/white-noise.ino
index c30b386..8e1b6a4 100644
--- a/basics/white-noise/white-noise.ino
+++ b/basics/white-noise/white-noise.ino
@@ -22,4 +22,7 @@ void loop() {
delayMicroseconds(randNumber);//wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
digitalWrite(pwmPin, HIGH); //set output pin to HIGH (5v)
delayMicroseconds(randNumber); //wait for randomNumber (10-100 Mircroseconds (0.00001-0.0001 seconds))
+
+ delay (1000)
+
}
diff --git a/hardware/modules/lfo/lfo-fritzing.fzz b/hardware/modules/lfo/lfo-fritzing.fzz
new file mode 100644
index 0000000..57bf606
Binary files /dev/null and b/hardware/modules/lfo/lfo-fritzing.fzz differ
diff --git a/hardware/modules/lfo/lfo-photo.jpg b/hardware/modules/lfo/lfo-photo.jpg
new file mode 100644
index 0000000..6714247
Binary files /dev/null and b/hardware/modules/lfo/lfo-photo.jpg differ
diff --git a/hardware/modules/meergranen/meergranen-forntpanel.ai b/hardware/modules/meergranen/meergranen-forntpanel.ai
new file mode 100644
index 0000000..c562baa
--- /dev/null
+++ b/hardware/modules/meergranen/meergranen-forntpanel.ai
@@ -0,0 +1,428 @@
+%PDF-1.5
%
+1 0 obj
<>/OCGs[6 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<>stream
+
+
+
+
+ 2019-09-17T09:38:15+02:00
+ Adobe Illustrator CS6 (Macintosh)
+ 2019-09-17T09:38:15+02:00
+ 2019-09-17T09:38:15+02:00
+
+
+
+ 84
+ 256
+ JPEG
+ /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAABUAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9N2FhYmxtibaL+6T9hf5
R7ZCMRQ2cnNmnxy9R5nqr/o+w/5Zov8AgF/ph4R3NfjT/nH5u/R9h/yzRf8AAL/THhHcvjT/AJx+
bv0fYf8ALNF/wC/0x4R3L40/5x+bv0fYf8s0X/AL/THhHcvjT/nH5u/R9h/yzRf8Av8ATHhHcvjT
/nH5u/R9h/yzRf8AAL/THhHcvjT/AJx+bv0fYf8ALNF/wC/0x4R3L40/5x+bv0fYf8s0X/AL/THh
HcvjT/nH5u/R9h/yzRf8Av8ATHhHcvjT/nH5oT6vB6/o+mvpfWv7viOP+81enTrkaF/H9Ddxy4bv
fh/3yL0//eC2/wCMSf8AERko8g05vrl7yp3KxG4JuIjLDwURjgZAGq3LYBqbUxPPdlAnh9Jo++lP
jpX/ACyf9Oz/APNGD0932Mry/wA7/ZD9aJtFYI+xWIt+5QihCUG1D03rQdhkg1ZDv59VbC1uxV2K
uxV2KuxVAf8AH5/0df8AYrkOvx/Q5P8AB/m/79Eaf/vBbf8AGJP+IjDHkGvN9cveVfJNTsVdirsV
dirsVdirsVdiqA/4/P8Ao6/7Fch1+P6HJ/g/zf8AfojT/wDeC2/4xJ/xEYY8g15vrl7ylUusz3Wo
x2+kuGnsrgx6rY3CPCxgYOqyqzrWnNQyMoKuAwHiM3wRCFzH1x9BBvfbY/DYjmNvjGMOp5IaK18y
6dBJ6t3G8U2pSXVzdyyNIbexZzKYlWRaUCqI61AUNy/ZpkpZsUyLjVYxEAdZ8rP+663VdbZcMTyO
/wCPNO9M1S01O2+tWhdrcsVSR43jDgftJzC8kPZhse2Y+bDLHLhlz99/d18mshsalpxvzpwuoTqA
j9Y2fqL6wjrTn6deXGvemDwZ8HHR4Lq62vutFInK1UpLji3BEaV6VKpTYHuSxUYCWcYWLJppLirh
JI3iZvsc+JDECpAKlvxxtJhtYNq2FrdiqA/4/P8Ao6/7Fch1+P6HJ/g/zf8Afq9iCdPtwDQ+ilD1
oeIyUOQa831y95SzQr8SajfWkuox6jd2wjSZ4Y/TWMgtWJqM681rVhyqKiozJ1OLhqQiYRkNrN35
9Nt/1LL6B7z+j9Sb3EscMEksgJRFJZQCxI8AoqST2A65jtcQSdkq8rXEt1p4uf0nDqVu4VYmhjCe
myVDox5MSwOxBAIpmTqcfAREwMJDnZu/sZ5SDIpVY+Vb23/MjUfMMlraNZXVqkVtcJIy3CScUEvO
L0+LNJ6ajn6myqBTrmbl10ZaOOEGXFGVkVsRvW99LO1cyfJje1MuzUsVC029YN/eCVuf0mqf8Jxy
MW3J07q/t+23Xv8AdIO5lioPlIpP4CuMlxcz7j9yvkmp2KoD/j8/6Ov+xXIdfj+hyf4P83/fojT/
APeC2/4xJ/xEYY8g15vrl7yhtQ0gXctnSZoLa2nNzLBFVDK9G4hnUqQA78z4kD3rkQygCVjiJFAn
p7vOth3MIzMeSDGh6hKqPNePHdW18bm1k5NIv1cOV9J0JUHlCzLv0NG3IywZMcTtGwYUb/nd451v
v7tuRZnKTt+gBOkjjQsUUKXPJyABU0pU++2YxJLUuwK7FVOW3V25hmjkAoJE608CDUH6RgIZxnW3
MNR24VubO0snQM9Nh7BQqj7sQFlO9gKCrhYOxVAf8fn/AEdf9iuQ6/H9Dk/wf5v+/RGn/wC8Ft/x
iT/iIwx5BrzfXL3lTuNVs7a+t7KdjHLdJI8LsKIfRoXXn05cW5U7gE9jl8cMjAzHKNX8f0fsaxEn
klmj+b7LULGwuHjaG41C4mtobUH1HBhaQFmoBReEXOp8QO4rkZtEYykARIQiCT76+3emUoEc0+zC
YOxV2KuxV2KuxV2KoD/j8/6Ov+xXIdfj+hyf4P8AN/36rbTJDpUUzhikcCuwRWkchUqeKIGZj4BR
U5PHG6A6/BrzfXL3lLPL1rbSiaZZru5to562cWopKJIDwHLj9YRJ9+ZoZKmnQ8TmTqZnioiIIFHh
qj1/hJj8vvWRoCuv9iP1e1EllPLE5t7yOGT0LxFQyRkivw81YdQKgihzHE+HerA3rvr3LhNyA6FT
8vzWj6esVq146Qkq0moR3MczMfiLE3So7bt2HEdBQCmZGqjITuXDv/NMSP8AYkj9PUtZUYPMDSeb
Lvy+9qY/q9nDfR3XMESLNJJGV4AVXi0fc7/rnLS1p45r5yMa7qAP6Vra04zDQhkjjui7zKHjDMkc
bbqOBKkkHYksD9H05GrbjIwoDm1LDFbBZIEEfxojKoorB2C7gbVFa1xIrksZGe0t9j9iKyTS7FUB
/wAfn/R1/wBiuQ6/H9Dk/wAH+b/v0Rp/+8Ft/wAYk/4iMMeQa831y95SiFNU0/U4bcPLqU2oGWe7
nlAht4I4lCqI+CMA3J0VVNWYVJY8czZiM4GQAhw0AOZkT1PwuzVchW6ggiipy6rc6na2qLbSxafq
Uk9pNcwOWmhZeahiOFFRmjI512qu25IRpzAy4jHihUq6S5bdO/l1F/E+mO43PyTuwguoLSOG6uTd
zpUNcsixs4qeJZUovKlK8QAT2HTKMsoykTEcI7mlTXSrBdWfVhF/uQkgS0ebk28MbtIq8a8ftSMa
0rhOefh+HfoB4vidv0JtF5UhQKywu7Rp6kTnkUUgMrHrQGi0PXr1r1rkeTbYkNzRDREs5UPGYo1Y
MQxUsSp5D7JYUqPHHmu0eRsojJNTsVQH/H5/0df9iuQ6/H9Dk/wf5v8Av0Rp/wDvBbf8Yk/4iMMe
Qa831y95V8k1NIiIvFFCrueKig3NT0wkk81bwK7FXYq7FXYq7FXYqgP+Pz/o6/7Fch1+P6HJ/g/z
f9+iNP8A94Lb/jEn/ERhjyDXm+uXvKUw3+oajqUMlkJbVbQy2+qWN5GUHxqGjkRl5LIyso48HKFW
apBpmbOEccDE1IyoxkD8weo+IuwOiBEAWUHaaVqPl7S7KF74yaZYS3N3qE8cTmaRHaSVYvSHqngG
kqxU8vhApuctyamObJKRj6piMY77DkLvbu92/kmhLlzZFYXbXdpHcm3ltfUBIhuFCygVIBZQW48h
vQ7juAajMPLj4JGNiVdRy/H4DUVfK1diqi8srO0cAWqbO7VopIrQAfa2PiMF9zYIgCy0JZo2CzhS
rEKsqVAqegKmtPAbnG+9TEH6fkr4Wt2KoD/j8/6Ov+xXIdfj+hyf4P8AN/36rbRvJpUUaSNC7wKq
zJxLoSlAy8w61HUclI9snjNUSLa831y95S7y1fQTLcxx3c9+olql/cRrGJvhUH02SOCORV405ItP
cmuZGqxmEt4xhe/CDde+ySD5FZi4g9360frFwsGm3LFXkYxOEiiUvI54nZEWrMfYZQI8R4e/bdcP
1A926j5fdZdPW4j1KfVIZyWjnuEijdafCycYorfiVZSCGXkDUHMjVCp0YCBHQWfjvKX2GmssWtJf
NR/NO6D/AF0aRxZQjBjYfVvq0DROjceHrG69UGjcuPXambTJHB+RFcHif7Pi4pWD14eHh8r82W3C
zvNEwULX4DJC32w7OPdXbkCPlWn0ZENuTej5fc68+JY4hvI0iMq96I6sx+gDGS4up6UftCvkmp2K
oD/j8/6Ov+xXIdfj+hyf4P8AN/36I0//AHgtv+MSf8RGGPINeb65e8qN5pNveX9rd3DM6Wgk9K1N
PSMkgC+qy03ZU5Kvb4jl8ctQlCh6q360Onzo/AMIyI5IKz8uLEtjLLMRfWU0snrxUX1I5S/7mQEf
EnFl28VBHTLZZ4gyEYgRkAK91bjz/WWUskpczadZitbsVdiqyWCGUASIGpupI3B8QexwEWyjMx5F
0UEMVfTUAt9purNT+ZjufpxApZTMua/CxdiqA/4/P+jr/sVyHX4/ocn+D/N/36I0/wD3gtv+MSf8
RGGPINeb65e8q+SanYq7FXYq7FXYq7FXYq7FUB/x+f8AR1/2K5Dr8f0OT/B/m/79Eaf/ALwW3/GJ
P+IjDHkGvN9cveVfJNTsVdirsVdirsVdirsVdiqA/wCPz/o6/wCxXIdfj+hyf4P83/fq1pIsWmQy
N9lIFZvkEBwg7MMkbyED+d+lul+RyDRDv6RVv+B5hvx4/Rjuj0ct/f8Asr9KtDKssSSrULIoYA9a
EVwg2wlHhJHcuwsXYq7FXYq7FXYq7FUB/wAfn/R1/wBiuQ6/H9Dk/wAH+b/v1a0jWTTIY3FUeFVY
exQA4YjZhlkRkJH879Lf+nAcAIz29Yk1+fALT/hsd0ejnv7v2/sVoo1iiSJfsooVa9aAUwgMJSsk
967CxdirsVdirsVdirsVQH/H5/0df9iuQ6/H9Dk/wf5v+/RGn/7wW3/GJP8AiIwx5BrzfXL3lXyT
U7FXYq7FXYq7FXYq7FXYqgP+Pz/o6/7Fch1+P6HJ/g/zf9+iNP8A94Lb/jEn/ERhjyDXm+uXvKvk
mp2KuxV2KuxV2KuxV2KuxVAf8fn/AEdf9iuQ6/H9Dk/wf5v+/RGn/wC8Ft/xiT/iIwx5BrzfXL3l
XyTU7FXYq7FXYq7FXYq7FXYqgP8Aj8/6Ov8AsVyHX4/ocn+D/N/36I0//eC2/wCMSf8AERhjyDXm
+uXvKvkmp2KuxV2KuxV2KuxV2KuxVAf8fn/R1/2K5Dr8f0OT/B/m/wC/RGn/AO8Ft/xiT/iIwx5B
rzfXL3lXyTU7FXYq7FXYq7FXYq7FXYqgP+Pz/o6/7Fch1+P6HJ/g/wA3/fojT/8AeC2/4xJ/xEYY
8g15vrl7yr5JqdirsVdirsVdirsVdirsVQH/AB+f9HX/AGK5Dr8f0OT/AAf5v+/RGn/7wW3/ABiT
/iIwx5BrzfXL3lXyTU7FXYq7FXYq7FXYq7FXYqgP+Pz/AKOv+xXIdfj+hyf4P83/AH6I0/8A3gtv
+MSf8RGGPINeb65e8q+SanYq7FXYq7FXYq7FXYq7FUB/x+f9HX/YrkOvx/Q5P8H+b/v0Rp/+8Ft/
xiT/AIiMMeQa831y95V8k1OxV2KuxV2KuxV2KuxV2KoD/j8/6Ov+xXIdfj+hyf4P83/fojT/APeC
2/4xJ/xEYY8g15vrl7yr5JqU5bhUbgA0khFRGgqaeJrQD6TgJZxgTvyDUdwrtwZWjk68HFPuIqp+
g4grKFb8wq4WDsVad1RSzGijqcUgXsFH603X6vL6f89F6ePGvP8A4WuRts8PzF/j4farKyuoZTVT
uCMk1kU3ihAf8fn/AEdf9iuQ6/H9Dk/wf5v+/RGn/wC8Ft/xiT/iIwx5BrzfXL3lXyTUoWm4lZv7
wyvz8djRNv8AU4/ryMW3L07qH7ftt17/AHaEfaEsXE993ANP9iSPljJcXM+4/cr5Jqdiqhdf3lsD
9ky/EO2yMVr/ALKlPfIno24+Uvd+kK+SalC1+1cAf3YlPDw3VS1P9nyr75ENuTp31+PspXyTUgP+
Pz/o6/7Fch1+P6HJ/g/zf9+iNP8A94Lb/jEn/ERhjyDXm+uXvKvkmpAane2NgYpbi5+qGdmQSEVj
rHE8xMpI4qoSJiWJXwr0yzHgnkvhFkfrA+O5HLdsjLaiLCFm1rTY9El1+K5XVLO3jeVJLaSExHhV
X9Ny6ReIq77ePXLIaOZyjFIGMyeoO1+VX9iTLoBSM0PV7XWdHs9VtVdLa9iWeFZV4uFcVHIVP4HB
qdPLDkljlzia2ayKRuUIUbya0gtnlvJEhtlA9SWVgiLvQEsSKb5KOMzNAWUxJB2SjV/MXl/R9KbV
dS1tbfTEIUzF42Uk9FUopdmIP7O+X6fQZ82Tw4RkZ9zaJX/CL+P605t3geCN7dleB1DROhDKysKh
gR1B61zHMTE0diGokk7qmBCA/wCPz/o6/wCxXIdfj+hyf4P83/fojT/94Lb/AIxJ/wARGGPINeb6
5e8q+Sakj82eUNN8z2kNrfSSxJCZijQlQf8ASLWa0evJXH93cMR70zO0OvnppGUADdc/KUZffFIl
ToPKdta6Jf6TYXU1pHfz3FwZkWF2jNzKZHSNJI3i4fEVCsh2xlrpSyxyTAlwiI678IoXRBvrzW0Z
5e0S10LRLLR7R5JLaxiWGJ5m5SFV7sQAPuAA7bZTq9TLPllklVyN7KTaYZjoSrzN5dtfMGl/o+5l
kgUSxTxyxBGZZIXEiHjKskbCq9GUjMrR6uWnnxxAOxG98iK6UfkUg0xiw/J3y5ZC6hiu706fdWb2
JsWePhGjmI80cRiTmDAN2Y5s8vtBmnRMY8cZcV77/Vz3qvV0pkZlncacEVKluIA5Mak07k5oybLB
vAqA/wCPz/o6/wCxXIdfj+hyf4P83/fojT/94Lb/AIxJ/wARGGPINeb65e8qVw0QuSLiUxQ8FMZ5
mMFqty+IFa7U2xPPdlAHh9Is33X3LOWlf8tf/Ty//NeD09/2sqy/zf8AYj9SJtGYo25aIMfRcmpK
UG9T13rQ9xkotWQb+fVWwtbsVdirsVdirsVQH/H5/wBHX/YrkOvx/Q5P8H+b/v27C/sRY2wNzF/d
J+2v8o98YyFDdc2GfHL0nmeiv+kLD/lpi/4Nf64eId7X4M/5p+Tv0hYf8tMX/Br/AFx4h3r4M/5p
+Tv0hYf8tMX/AAa/1x4h3r4M/wCafk79IWH/AC0xf8Gv9ceId6+DP+afk79IWH/LTF/wa/1x4h3r
4M/5p+Tv0hYf8tMX/Br/AFx4h3r4M/5p+Tv0hYf8tMX/AAa/1x4h3r4M/wCafk79IWH/AC0xf8Gv
9ceId6+DP+afk79IWH/LTF/wa/1x4h3r4M/5p+SE+sQev63qL6X1r+85Dj/vNTr065Gxfx/Q3cEu
Gq34f98//9k=
+
+
+
+
+
+ Adobe PDF library 10.01
+
+
+ application/pdf
+
+
+ meergranen-frontpanel2
+
+
+
+
+ 1
+ False
+ False
+
+ 152.666504
+ 412.666504
+ Points
+
+
+
+
+ ElmerPFont
+ えるまーP
+ えるまーの隠れ家
+ TrueType
+ Version 1.10
+ False
+ ǶÇÈÇ‹Å[P.ttf
+
+
+
+
+
+ Cyan
+ Magenta
+ Yellow
+
+
+
+
+
+ Default Swatch Group
+ 0
+
+
+
+
+
+ xmp.did:01801174072068118083E5153E5BB1A1
+ uuid:a66d8b6c-d534-2f48-921f-1d8121a9e7fa
+ xmp.did:F77F117407206811822A8ABF3082A2CD
+ proof:pdf
+
+ uuid:478d57a8-6203-2e4a-bb92-dd7074d837b2
+ xmp.did:0180117407206811822AF9CB9B90846A
+ xmp.did:F77F117407206811822A8ABF3082A2CD
+ proof:pdf
+
+
+
+
+ saved
+ xmp.iid:F77F117407206811822A8ABF3082A2CD
+ 2019-09-04T10:34:34+02:00
+ Adobe Illustrator CS6 (Macintosh)
+ /
+
+
+ saved
+ xmp.iid:01801174072068118083E5153E5BB1A1
+ 2019-09-17T09:38:14+02:00
+ Adobe Illustrator CS6 (Macintosh)
+ /
+
+
+
+
+
+ Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
endstream
endobj
3 0 obj
<>
endobj
8 0 obj
<>/Resources<>/Font<>/ProcSet[/PDF/Text]/Properties<>>>/Thumb 12 0 R/TrimBox[0.0 0.0 152.667 412.667]/Type/Page>>
endobj
9 0 obj
<>stream
+HWɎ7+tJ#Z>3
:N~j}
+PbU|$'-}ҒQI^~'*Hj~z/&x|7Y$":^h]T,\y
|iv
;ɪĎZp.1Jd5PC> ^bϗ
N%h8Y`&* z; b|
<>Ri|V9m)1%iCrkhqLˬ2s\ߨ22sq2c37*,&jeMZY\rsqh65iA)YoKTFC;z7L WQh]C䥛P0=ڐ<*iVb7ːX7zorCk }obDXNގw56()
8Ov\e
ੳ8,6]xWc6F٤n@m(̳icWvLsb1#+ww^R?h ,6`DV|Ch"܅z9&bh'xz(7n,:حujzKśȿPO|t,uX슀PfӋx,),Ew<^ފZ:N7}eU"e]W;o#,eDeFәȘ-hAgZ
6!@;E]YX2ekҠU}/Xhvs%Gqȅwv,sQ*#aX;&n7oxOO7ۼyDζEDqXkSUQ4
d:\\/ʹ'lXuȆYW4pK#W_Ntm
+K ~4MwҤt/Oc
+k|b5v_k+d-qіDYr2Om+YiKi`Y^^̙4a=ЕnJҭ3ՕȇDO ${jZT ۬TocWwTID5,w}2/}ّoUky*'x1[odO d
endstream
endobj
12 0 obj
<>stream
+8;Z,cd1*l6#XlG[J!o'QenHYe>!Qlu/28J8\K_\0iIa8E.iQj:09c_k+qBGQPq)oh
+EZr@PXM'##Z@1`OOf[r&QW@Y(ItZL%D'>R.aqar4PRmep\#[i+*U`g8OP8Ku>@K?A
+oI+=jH/+6d!'@1C@K~>
endstream
endobj
13 0 obj
[/Indexed/DeviceRGB 255 14 0 R]
endobj
14 0 obj
<>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
6 0 obj
<>
endobj
15 0 obj
[/View/Design]
endobj
16 0 obj
<>>>
endobj
5 0 obj
<>
endobj
17 0 obj
<>
endobj
18 0 obj
<>stream
+H|ytgǟw4Fī *%W!I؊KKc-j`:5چVZv߹s~}νp jiC[O<4mr="-#53%@qc}5O 陃3\du= f>b2