<snapdata remixID="12450263"><project name="digi4all" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="digi4all"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%&apos;attribute&apos; of sound %&apos;sound&apos;" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">duration<options>name&#xD;duration&#xD;length&#xD;number of channels&#xD;sample rate&#xD;samples</options></input><input type="%obj"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="attribute"/><l>name</l></list></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return sound.name;</l></block><list><block var="sound"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="attribute"/><l>samples</l></list></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>audioBuffer</l></list><l>var result, i;&#xD;if (audioBuffer.numberOfChannels &gt; 1) {&#xD;    result = new List();&#xD;    for (i = 0; i &lt; audioBuffer.numberOfChannels; i += 1) {&#xD;        result.add(new List(audioBuffer.getChannelData(i)));&#xD;    }&#xD;    return result;&#xD;}&#xD;return new List(audioBuffer.getChannelData(0));</l></block><list><custom-block s="%s of sound %obj"><l></l><block var="sound"/></custom-block></list></block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>sound</l></list><l>var base64, binaryString, len, bytes, i,&#xD;    arrayBuffer, audioCtx;&#xD;if (sound.audioBuffer) {&#xD;    return;&#xD;}&#xD;base64 = sound.audio.src.split(&apos;,&apos;)[1];&#xD;binaryString =  window.atob(base64);&#xD;len = binaryString.length;&#xD;bytes = new Uint8Array(len);&#xD;for (i = 0; i &lt; len; i += 1)        {&#xD;  bytes[i] = binaryString.charCodeAt(i);&#xD;}&#xD;arrayBuffer = bytes.buffer;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;audioCtx.decodeAudioData(arrayBuffer, function(buffer) {&#xD;   sound.audioBuffer = buffer;&#xD;});</l></block><list><block var="sound"/></list></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return !isNil(sound.audioBuffer);</l></block><list><block var="sound"/></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l><l>choice</l></list><l>switch (choice) {&#xD;case &apos;sample rate&apos;:&#xD;    return sound.audioBuffer.sampleRate;&#xD;case &apos;duration&apos;:&#xD;    return sound.audioBuffer.duration;&#xD;case &apos;length&apos;:&#xD;    return sound.audioBuffer.length;&#xD;case &apos;number of channels&apos;:&#xD;    return sound.audioBuffer.numberOfChannels;&#xD;default:&#xD;    return sound.audioBuffer;&#xD;}</l></block><list><block var="sound"/><block var="attribute"/></list></block></block></script></block-definition><block-definition s="turbo %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>begin</l></list></block><block s="doSetVar"><l>begin</l><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doRun"><block var="action"/><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><block var="begin"/></block></script></block-definition><block-definition s="play %&apos;samples&apos; at %&apos;sampleRate&apos; Hz" type="command" category="sound"><comment x="0" y="0" w="164" collapsed="false">play back a sound, a list of samples (single channel), or a list of lists (multiple channels) at the given sample rate.&#xD;for demo purposes this block also fast-plots the samples on the stage</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="samples"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="samples"/></custom-block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>samples</l><l>rate</l></list><l>var audioCtx, channels, frameCount, arrayBuffer, i, source;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;channels = (samples.at(1) instanceof List) ? samples.length() : 1; &#xD;frameCount = (channels === 1) ? samples.length() : samples.at(1).length(); &#xD;arrayBuffer = audioCtx.createBuffer(channels, frameCount, rate);&#xD;if (!arrayBuffer.copyToChannel) {&#xD;    arrayBuffer.copyToChannel = function (src, channel) {&#xD;        var buffer = this.getChannelData(channel);&#xD;        for (i = 0; i &lt; src.length; i += 1) {&#xD;            buffer[i] = src[i];&#xD;        }&#xD;    }&#xD;}&#xD;if (channels === 1) {&#xD;    arrayBuffer.copyToChannel(Float32Array.from(samples.asArray()), 0, 0);&#xD;} else {&#xD;    for (i = 0; i &lt; channels; i += 1) {&#xD;        arrayBuffer.copyToChannel(Float32Array.from(samples.at(i + 1).asArray()), i, 0);&#xD;    }&#xD;}&#xD;source = audioCtx.createBufferSource();&#xD;source.buffer = arrayBuffer;&#xD;source.connect(audioCtx.destination);&#xD;source.start();&#xD;source.pause = source.stop;&#xD;this.parentThatIsA(StageMorph).activeSounds.push(source);</l></block><list><block var="samples"/><block var="sampleRate"/></list></block><custom-block s="plot sound %obj"><block var="samples"/></custom-block></script></block-definition><block-definition s="%&apos;frequency&apos; Hz for %&apos;duration&apos; secs at %&apos;sample rate&apos; Hz sample rate" type="reporter" category="sound"><comment x="0" y="0" w="205" collapsed="false">generate a list of samples representing a sine wave at the given frequency, duration and sample rate</comment><header></header><code></code><translations></translations><inputs><input type="%n">440<options>a 55=55&#xD;a 110=110&#xD;a 220=220&#xD;a 440=440&#xD;a 880=880&#xD;a 1760=1760&#xD;a 3520=3520</options></input><input type="%n">1</input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doDeclareVariables"><list><l>output</l><l>sample period</l><l>duration in samples</l><l>time</l></list></block><block s="doSetVar"><l>sample period</l><block s="reportQuotient"><l>1</l><block var="sample rate"/></block></block><block s="doSetVar"><l>duration in samples</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportVariadicProduct"><list><block var="duration"/><block var="sample rate"/></list></block></block></block><block s="doSetVar"><l>time</l><l>0</l></block><block s="doSetVar"><l>output</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doRepeat"><block var="duration in samples"/><script><block s="doAddToList"><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportVariadicProduct"><list><l>2</l><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><block s="reportVariadicProduct"><list><block var="frequency"/><block var="time"/></list></block></list></block></list></block></custom-block></block><block var="output"/></block><block s="doChangeVar"><l>time</l><block var="sample period"/></block></script></block></script></block><block s="doReport"><block var="output"/></block></script></block-definition><block-definition s="PI" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="degrees %&apos;radians&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">0.5</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="radians"/><l>180</l></list></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="find first in %&apos;list&apos; such that %&apos;test&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="list"/><block s="reportNewList"><list></list></block></list></block><script><custom-block s="error %s"><l>item not found in list</l></custom-block></script></block><block s="doIf"><block s="evaluate"><block var="test"/><list><block s="reportListItem"><l>1</l><block var="list"/></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="list"/></block></block></script></block><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportCDR"><block var="list"/></block><block var="test"/></custom-block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>msg</l></list><l>throw new Error(msg)</l></block><list><block var="msg"/></list></block></script></block-definition><block-definition s="sound named %&apos;name&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportGet"><l><option>sounds</option></l></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="%s of sound %obj"><l>name</l><block var="sound"/></custom-block><block var="name"/></list></block></autolambda><list><l>sound</l></list></block></custom-block></block></script></block-definition><block-definition s="plot sound %&apos;sound&apos;" type="command" category="pen"><comment x="0" y="0" w="164" collapsed="false">quickly plot the samples of a sound, a list of samples (single channel), or a list of lists (multiple channels) to the stage at a lower resolution.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doDeclareVariables"><list><l>samples</l><l>step</l><l>offset</l><l>i</l><l>stage height</l></list></block><block s="doSetVar"><l>stage height</l><custom-block s="stage height"></custom-block></block><block s="doIfElse"><block s="reportIsA"><block var="sound"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="sound"/></custom-block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><custom-block s="%s of sound %obj"><l>length</l><block var="sound"/></custom-block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block></script><script><block s="doSetVar"><l>samples</l><block var="sound"/></block></script></block><block s="clear"></block><block s="up"></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="samples"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="samples"/></block></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block var="stage height"/><l>4</l></block></block><custom-block s="for each %upvar of %l %cs"><l>channel</l><block var="samples"/><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><block var="offset"/></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="channel"/></block><block s="reportQuotient"><block var="stage height"/><l>6.4</l></block></list></block><block var="offset"/></list></block></block></script></block></script></custom-block><block s="up"></block><block s="doChangeVar"><l>offset</l><block s="reportQuotient"><custom-block s="stage height"></custom-block><l>-2</l></block></block></script></custom-block></script><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="samples"/></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><l>0</l></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="samples"/></block><block s="reportQuotient"><block var="stage height"/><l>3.2</l></block></list></block></block></script></block></script></custom-block><block s="up"></block></script></block></script></block-definition><block-definition s="stage width" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.x;</l></block><list></list></block></block></script></block-definition><block-definition s="stage height" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.y;</l></block><list></list></block></block></script></block-definition><block-definition s="$circleSolid-1-255-0-0 record" type="reporter" category="sensing"><comment x="0" y="0" w="192" collapsed="false">records an audio snippet and reports it as a new sound, or zero if the user cancels</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>test</l><l>pic</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var soundRecorder,&#xD;    result = false;&#xD;&#xD;soundRecorder = new SoundRecorderDialogMorph(&#xD;    function (audio) {&#xD;        if (audio) {&#xD;            result = new Sound(audio, &apos;recording&apos;);&#xD;        } else {&#xD;            result = null;&#xD;            this.destroy();&#xD;        }&#xD;    }&#xD;);&#xD;&#xD;soundRecorder.cancel = function () {&#xD;    result = null;&#xD;    this.destroy();&#xD;};&#xD;&#xD;soundRecorder.key = &apos;microphone&apos;;&#xD;soundRecorder.popUp(this.world());&#xD;return function () {return result; };</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reifyScript"><script><block s="doSetVar"><l>pic</l><block s="evaluate"><block var="test"/><list></list></block></block><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="pic"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></block></script><list></list></block><list></list></block></block><block s="doReport"><block var="pic"/></block></script></block-definition><block-definition s="loudness" type="reporter" category="sensing"><header></header><code></code><translations>ca:volum del so&#xD;es:volumen del sonido&#xD;</translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter == &apos;undefined&apos;</l></block><list></list></block><script><block s="doRun"><block s="reportJSFunction"><list></list><l>navigator.getUserMedia = ( navigator.getUserMedia ||&#xD;                       navigator.webkitGetUserMedia ||&#xD;                       navigator.mozGetUserMedia ||&#xD;                       navigator.msGetUserMedia);&#xD;&#xD;var audioContext = new AudioContext();&#xD;&#xD;/*&#xD;The MIT License (MIT)&#xD;&#xD;Copyright (c) 2014 Chris Wilson&#xD;&#xD;Permission is hereby granted, free of charge, to any person obtaining a copy&#xD;of this software and associated documentation files (the "Software"), to deal&#xD;in the Software without restriction, including without limitation the rights&#xD;to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&#xD;copies of the Software, and to permit persons to whom the Software is&#xD;furnished to do so, subject to the following conditions:&#xD;&#xD;The above copyright notice and this permission notice shall be included in all&#xD;copies or substantial portions of the Software.&#xD;&#xD;THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&#xD;IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&#xD;FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&#xD;AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&#xD;LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&#xD;OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE&#xD;SOFTWARE.&#xD;*/&#xD;&#xD;function createAudioMeter (audioContext,clipLevel,averaging,clipLag) {&#xD;	 var processor = audioContext.createScriptProcessor(512);&#xD;	 processor.onaudioprocess = volumeAudioProcess;&#xD;	 processor.clipping = false;&#xD;	 processor.lastClip = 0;&#xD;	 processor.volume = 0;&#xD;	 processor.clipLevel = clipLevel || 0.98;&#xD;	 processor.averaging = averaging || 0.95;&#xD;	 processor.clipLag = clipLag || 750;&#xD; 	processor.connect(audioContext.destination);&#xD; 	return processor;&#xD;};&#xD;&#xD;function volumeAudioProcess (event) {&#xD;  var buf = event.inputBuffer.getChannelData(0),&#xD;      bufLength = buf.length,&#xD; 	    sum = 0,&#xD;      x;&#xD;  for (var i=0; i&lt;bufLength; i++) {&#xD;   	x = buf[i];&#xD;   	if (Math.abs(x)&gt;=this.clipLevel) {&#xD;    		this.clipping = true;&#xD;    		this.lastClip = window.performance.now();&#xD;   	}&#xD;   	sum += x * x;&#xD;  }&#xD;  var rms =  Math.sqrt(sum / bufLength);&#xD;  this.volume = Math.max(rms, this.volume*this.averaging);&#xD;};&#xD;&#xD;function gotStream (stream) {&#xD;  mediaStreamSource = audioContext.createMediaStreamSource(stream);&#xD;  window.meter = createAudioMeter(audioContext);&#xD;  mediaStreamSource.connect(meter);&#xD;};&#xD;&#xD;navigator.getUserMedia(&#xD;  {&#xD;    "audio": {&#xD;      "mandatory": {&#xD;        "googEchoCancellation": "false",&#xD;        "googAutoGainControl": "false",&#xD;        "googNoiseSuppression": "false",&#xD;        "googHighpassFilter": "false"&#xD;      },&#xD;      "optional": []&#xD;    },&#xD;  }, gotStream, nop);</l></block><list></list></block></script></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter != &apos;undefined&apos;</l></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return Math.floor(meter.volume * 100);</l></block><list></list></block></block></script></block-definition><block-definition s="$flash map %&apos;fn&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicMap(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash keep %&apos;test&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicKeep(fn, data);</l></block><list><block var="test"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash combine %&apos;fn&apos; with %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicCombine(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>data</l><l>fn</l><l>proc</l></list><l>return proc.reportAtomicSort(data, fn);</l></block><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="$flash reverse %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>list</l></list><l>return new List(list.asArray().slice().reverse());</l></block><list><block var="list"/></list></block></block></script></block-definition><block-definition s="Leap number of hands" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).hands.length;</l></block><list></list></block></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).hands[num-1].stabilizedPalmPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; rotation of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">yaw<options>yaw&#xD;pitch&#xD;roll</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var f = window.controller.frame(0);&#xD;switch (pos){&#xD;  case "yaw":&#xD;    return f.hands[num-1].yaw();&#xD;  case "pitch":&#xD;    return f.hands[num-1].pitch();&#xD;  case "roll":&#xD;    return f.hands[num-1].roll();&#xD;};&#xD;            &#xD;        </l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of finger %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).fingers.length;</l></block><list></list></block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).fingers[num-1].stabilizedTipPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap hand %&apos;num&apos; is pinching" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>0.75</l></list></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Leap pinch strength of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>100</l></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap $flag" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller !== undefined</l></block><list></list></block><script><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var leapScript,&#xD;    done = false;&#xD;leapScript = document.createElement(&apos;script&apos;),&#xD;leapScript.onload = function () {&#xD;    done = true;&#xD;    console.log(&apos;leap is ready&apos;);&#xD;};&#xD;document.head.appendChild(leapScript);&#xD;leapScript.src = &apos;https://js.leapmotion.com/leap-0.6.4.min.js&apos;;&#xD;return function () {return done; }</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="test"/><list></list></block></block><block s="doRun"><block s="reportJSFunction"><list></list><l>window.controller = new Leap.Controller({enableGestures: true, background: true}); window.controller.connect();</l></block><list></list></block></script></block-definition><block-definition s="square %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRepeat"><l>4</l><script><block s="forward"><block var="side"/></block><block s="turn"><l>90</l></block></script></block></script></block-definition><block-definition s="polygon corner: %&apos;corner&apos; side: %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRepeat"><block var="corner"/><script><block s="forward"><block var="side"/></block><block s="turn"><l>45</l></block></script></block></script><scripts><script x="186.7744160625" y="106.000002"><block s="reportQuotient"><l></l><l></l></block></script></scripts></block-definition><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations>de:drucke _ in Größe _&#xD;ca:etiqueta _ de mida _&#xD;es:etiqueta _ de tamaño _&#xD;fr:étiquette _ d&apos;une taille de _&#xD;</translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;ca:_ buida?&#xD;es:_ vacía?&#xD;fr:_ vide?&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:behalte Elemente, die _ aus _&#xD;ca:manté els elements on _ de _&#xD;es:mantener los elementos donde _ de _&#xD;fr:garder les items tels que _ de _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;ca:combina amb _ els elements de _&#xD;es:combinar con _ los elementos de _&#xD;fr:combine avec _ les items de _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations>de:wenn _ dann _ sonst _&#xD;ca:si _ llavors _ si no _&#xD;es:si _ entonces _ sino _&#xD;fr:si _ alors _ sinon _&#xD;</translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations>de:für jedes _ von _ _&#xD;ca:per cada _ de _ _&#xD;es:para cada _ de _ _&#xD;fr:pour chaque _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;ca:nombres des de _ a _&#xD;es:números de _ a _&#xD;fr:nombres de _ à _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="from"/><block var="to"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportVariadicSum"><list><block var="from"/><l>1</l></list></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;ca:mapeja _ sobre _&#xD;es:mapear _ sobre _&#xD;fr:appliquer _ à _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition></blocks><stage name="Bühne" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="1440"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAlvElEQVR4Ae3dCXBd1X3H8f95T7K8AU4w4E2WZBBYNnhnMVvjTrZJUkITwrQpgW4kaZIGEhpK0iR16QTSgbQBMlmaUFI6aUq2mTYJaWgnbpOwWtZikGQs21otU8wWY2xL1nunv+uBGWzrSbLedt89X81ojO6799zz/5zH+79z7znnmvGDAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQoIALMGZCRgABBI4S2PWkPyN92M7dX2O/Wr7cjRz1In8gUCQBEnCRYCkWAQTiLzDwiH/j6Ay7Vh+Ef54yOzlrlnHOtvusPZV29uuMs670AdtWe7E7GP9oqGGlCZCAK63FqC8CCOQtMNDmFyrZftC8XaPflmza7mxY6R7vecLPc9OsyXtbqYS83nn9t7P5+qDcqaTc5VL2v5mUdc2usc7TlrqX864IBQQtQAIOuvkJHoGwBHa1+3PS3j6qpPs7ivwhc3Z33SrXMZ5C31b/BsvYMu27XEn5UiXuZTq+Xsf067dTSfph/f1UaqZ1Lmpyz49XFq8h8HoBEvDrNfhvBBBIpEDfFr/WUvYJBXdJ1tsDNmxfb1jveqcabMcmP/ukOdaUUTLWJevLlISXebOz9IH6rJJ0p3rNj6nH3K7fzvp1bs9Uz8NxyRYgASe7fYkOgWAFvHk30GKXZZ3doqR4phLkvdUZ+6cF69xzxUDp6fHT/Yt2jj5Ul+n3YvWYz9N5z9Z596uH3KVE/YSSf8s0JegFa1xfMepAmZUlQAKurPaitgggMIFA94O+Jj3P3pZydrM+4E5RErzr0Gz7XmOj2zfBoQV/ubnZV891dlY6bU1KvhfpBKv0u0y/o7rP3KUkvUUJenOVkvKibtvlrnbqVPMTigAJOJSWJk4EEi7wbIeffXDE3qswb9Ql4UMaMHXH6Cn2YEODOxSn0P1Gnxp4lzWMOluWrrK1lrV1ql+UlGuUlLelUtamfx9Tcu7cX23dTIuKU+sVti4k4MJ6UhoCCJRYYKDDvzE7atfqfuuH9YE2oH9vr1tj/+Oc03ipyvnZ8aSvnZbRqOusrdHl6guiwV6KZ040LUq956cUycNRUmZaVOW06UQ1JQFPJMTrCCAQS4HBdr9IiemD+r1GH2SbU6P2pdrz3ROxrOwUKxUtEFI9ak2jpmlR3tarmGg09nwl5Z3RJWz9+0v9dh46aF2NF5X+EvsUw+KwVwVIwLwVEECgogR6mv1S3VP9mEYav1OXb3+uyt9dt8Z1VlQQeVQ2mhal2Ju0Xte5lrZLj8xVNmvQveRBLR4yYKfa1bW1LBySB3HJDiUBl4yaEyGAQD4CQ1v92pFRu0k9wPX64Ppu9TT7+oLlrj+fMpNy7DPtftbwYVttVfY30X3k5zJ247p17nBS4ktqHCTgpLYscSGQAAHvvRtstcu1+tQtmsqzRHN5v6lE8+1zijSVqNLJBrv8qaOH7IfRIK6GNe6WSo8n6fUnASe9hYkPgQoU6O72NVX77e26vBpNJTpJl1fvOjxi3+c+58SNGS2nmaqyn+re8A8Xr3a3TXwEe5RLgARcLnnOiwACxwns/bU/af9su0rLRd6gwVUH1OO9Q4tb/KxhQ7ymEh1X8ZhtiAaoZTL2X/L7qpbavCdm1aM6CCCAAAJxEeh63J/a3+Y/2dfqt+n3571tfkM0XzYu9avEevQ3+zNluV2/11Vi/UOoMz3gEFqZGBGIqUA097Vq1D6kD6L365Lp47rP+/e6bLo5ptWtuGr1tPpV+hbzPY2avqV+lftRxQWQ8AqTgBPewISHQBwFerf4Jt2n/JgWnXiH7u/+TNOJ7qlf67riWNdKr1P/Fn+ZriXcW5W2jyxc4f670uNJUv1JwElqTWJBIOYCO5/w52v60Cc1SvdCffj8q5Zi/MbC89xAzKtd8dUb2Orfkc3Yl7Mp+0D03OOKD4gAEEAAAQQmFtgYrX3c6t8U3dvta/Pbelv8TdF0mYmPZI9CCvS3+N87ck+4xUfrTvMTAwF6wDFoBKqAQBIFejb56ek59naNZr5Z8c3SQwa+PGO6/eC0pe7lJMZbCTEpAV+ven4q4+0tS3gkYtmbjARc9iagAggkS0A9rQW6xPwuPY3oo7q/u1+XPu+oP8V+5hrdcLIircxooisQGvD2h5pj/bbFa9xQZUZBrRFAAAEEjhPobfUPq6f1SM9m/6ZoJavjdmBD2QXUPhs17evRHe3+9LJXhgoggAACCOQvMPCk7vW2+M7nu/3J+ZdGCcUS0BejlBLwl3RP/qHo4Q7FOg/lji/ARPfxfXgVAQQmKeA7/DSfsdvV5f3bUxt5NN4k2cqyW/Ss5OFZ9hlNA+tzo/ataAWyslQk8JOSgAN/AxA+AoUS6DlkV2ez5l+usR8WqkzKKZ5Ao+7JT0/bjbpPf/jALLvH9/jpxTsbJY8lwP2ZsVTYhgACJySws9mfUpWyR12VfXjxCvfLEzqYncsqoNWy5mhA1r8qGezY9Rv75IYN6hPzUxIBesAlYeYkCCRbQKssfUgRdpJ8K6+dG1a7l6Zl7Vo9Z3l1wxz7m8qLgBojgAACgQrsbfbzNZhnZ/9mf26gBIkI+9kOP09TlNoG2vxfJiIggkAAAQSSLqDke5c+uO9OepwhxLdbD8fQFKVt/a3+IyHES4wIIIBAxQoo+S4/0vvV4hsVGwQVP0pgZ6tvVBLerulkHzjqBf5AAAEEEIiPgD6kf6B1nqOlJvlJkMBQs18TJeGeZn9lgsIiFAQQQCAZAlpy8vJo0Y0XNAI6GRERxesFNDo6eoDG9t52/9uv385/I4AAAgiUUcA3+2p9OD+sy8/XlLEanLrIAn1b/O9ESVj3hM8v8qmCLJ5pSEE2O0EjkJ9Ab8qu0gIO6ZEh+35+JXF0nAXq1rofp9K2UW39HV2OXhrnulI3BBBAIPEC3VrnWZeeOwbb/IbEB0uARwR0peNDesjG07o3vBiSwgnQAy6cJSUhEIRAzSt2vR5nt33RKrcpiIAJ0upWuW+I4VuHU/aTvZ1+PiQIIIAAAiUW6HjCz4umHe3a4leU+NScLgYCeoLSrdG9/z0t/rQYVKfiq0APuOKbkAAQKJ3ArGq7WU88+s8la93W0p2VM8VFoHb7kaUqN4+Y/cuLPX5OXOpVqfUgAVdqy1FvBEosMLTFN+nS87sPV9ntJT41p4uJgLvaZbIv2S0+Zbv377N/1PKVs2NStYqsBgm4IpuNSiNQegHd/9uo3u+9jSvdYOnPzhnjItCwwR2aWW03WNbswIjd3bOJxxhOtW1IwFOV4zgEAhLQfb9LzNsK9Xy+GlDYhJpD4PTlbv/oHPugHmO4IDXHvui9T+fYlc0IIIAAAlMVaP6Gr9YUlF8rCV831TI4LpkC0WCsaFBWNDgrmREWNyp6wMX1pXQEKl5g3nq7Uh8U1br390DFB0MABRWYv8btnVmjRVmydqW+pH2qoIVTGAIIIBCywN5t/iT1cJ7SwhtvDtmB2McXiBboiBbq0PrgHx5/T15FAAEEEJiUQF+7v1HJ9z8mtTM7BS0QLVWpL2vblYj/IGgIgkcAAQTyFXim3Z+uD9Sdg0/5lfmWxfFhCEQPbXg1Cb8/jIiJEgEEECiCgD5M79CqV18rQtEUmWCB/nZ/ha6aHBx4xM9IcJgFCY1BWAVhpBAEkiUQXU70zt5TlbbbkhUZ0RRboHaF/cSl7MD+tM0s9rkqvXwScKW3IPVHoAgCLm2f18jWby88zw0UoXiKTLCAcy7rvQ3VVNuiBIdZkNBIwAVhpBAEkiPQu9WvVzRrXJV9JTlREUkpBZSAB1POFpbynJV4LhJwJbYadUagSALRikYuY1/Uh+ff1a1wLxbpNBSbdAFng1o3nB7wBO1MAp4AiJcRCEmgr9WudGYzM6fYd0OKm1gLK6AvcNvUC15a2FKTVxoJOHltSkQITEkgerKNei0bq5z9VUODOzSlQjgIAQko+fZrnejFYIwvQAIe34dXEQhG4OCw/bE361+wyj0UTNAEWhSB6B6wRtFzCXoC3aoJXudlBBAIQCBaVF8PWf+4OXtfAOESYpEFqqttMJNhENZEzPSAJxLidQQCEBhJ2U1Kvr+oX+VaAwiXEIsssP0526Ne8Oznu/3JRT5VRRdPAq7o5qPyCOQvsLPNn61S3lft7Qv5l0YJCJht2OBGlYCf2f8yl6HHez+QgMfT4TUEAhCo8vY583b/gjWuL4BwCbF0AoNaEYv7wON4k4DHweElBJIuMNDuL9TAqwtS0+yepMdKfKUV0Ij6wayRgMdTJwGPp8NrCCRYQItupDJZuz1tdkftcvdCgkMltDIIaD55t5YzjW5v8JNDgAScA4bNCCRdYKDNrtBczVNsrn0n6bESXxkEvPUowdSX4cwVc0qmIVVMU1FRBAon0LHJz9YgmVs1V/OW2lp3sHAlUxICrwpoLrAe6sF60OO8IegBj4PDSwgkVeCkOXadT9nu+tXuwaTGSFzlFchWaTEOzz3g8VqBBDyeDq8hkECBoWY/VwOvbtRDFz6bwPAIKSYCr1TZbo2uf6PebzwXOEebkIBzwLAZgaQKjKTtVsX267q1bktSYySu8gssX+60uJo9q54wU5FyNAcJOAcMmxFIqoBGp75Vo59/lNT4iCs+AhpjMDjKmtA5G4RBWDlpeAGBZAroW3erpWx6MqMjqjgJpJ0NZDP0gHO1CQk4lwzbEUiogHol/VokoS6h4RFWjASy3nZpvMFZMapSrKrCJehYNQeVQaD4AvpAfFoLJJxT/DNxhuAFnO3Ul70lwTvkACAB54BhMwJJFdDUEKaHJLVxYxaXvuwNKgEzFzhHu5CAc8CwGYGkCqQ1P1MfioxMTWoDxyiudPRlL2u1MapSrKpCAo5Vc1AZBEogkLJBPft3QbQWdAnOxilCFpirBOzs9O5uXxMyQ67Y+R8wlwzbEUiowKsPXhjp67IzEhoiYcVE4NVlTp+fdpDL0GM1CQl4LBW2IZBwAT2EYTD7CpcGE97MsQgvpalIbpRbHmM1Bgl4LBW2IZBwAQ3E2l1dTa8k4c0cj/CiL3uMORizLUjAY7KwEYFkC0QrFOlDkcExyW7mWESnkdC9WhN6SSwqE7NKkIBj1iBUB4ESCXTqQ7GpROfiNAEL6ItedyplZwZMkDN0EnBOGl5AILkCKV0WVAJmKlJymzg2kUXvtSxTkcZsDxLwmCxsRCDZAtn0kalILJCQ7GaORXSaBxxNe+PL3hitQQIeA4VNCCRdQE9iGNRIaD4Uk97QMYjv8GHbrffavOZmXx2D6sSqCiTgWDUHlUGgNALzVtpencntafGnleaMnCVUgcaL3D6Xsn0LzOaHapArbhJwLhm2I5BoAef1pJrdwyl6wYlu5pgEF60/PpLmvXZsc5CAjxXhbwQCEdB60KwJHUhbxyDM3aw/fnwrkICPN2ELAmEIqFfieFh6GG1d5iiVfPssY/VlrkbsTk8Cjl2TUCEESiOg+ZnbtEgCc4FLwx30WXQJ+mmftrODRhgjeBLwGChsQiAEAZe1fq2IxWpYITR2mWOM7gHr/cao+2PagQR8DAh/IhCKQFpzgfUBwFzgUBq8jHFGz6BmLvDxDUACPt6ELQgEIRAtkKBL0PRKgmjt8gaZ1bxz1WDB976nC9H8IIAAAqELeO9Tfa3+hb6t/g2hWxB/8QX0Xhvqb/GaDszPawL0gF+T4F8EAhNwTnflzIb0IUAvOLC2L0e4Llp9jXnnR9GTgI/i4A8EAhPQ4JgMD0sPrNHLE66+7e3OMO3tKHwS8FEc/IFAWAI+xWIcYbV4+aLVXOABvd8Wl68G8TszCTh+bUKNECiZgBbi2K6F8s8p2Qk5UbACuuHRpUcTLg0WYIzAScBjoLAJgWAE0tarngm9kmAavHyBavwzU5GO4a865m/+RACBgASiBRJ0b45BWAG1eblCjd5rxiMwj+KnB3wUB38gEJbAtAz3gMNq8fJFO7Pa9uhqS/0z7X5W+WoRrzOTgOPVHtQGgZIKDJntyWbt5L3b/EklPTEnC05geNQu0VSk514+aCzGEVzrEzACCIwp0Nvqt/Vu8TyUYUwdNhZC4NkOP1sLcTzZ3+bfWojyklIGPeCktCRxIDBVgWihfBZImKoex01C4OCw/bHuAfcvXuUemsTuwezCIKxgmppAERhbQPflBvVoQgZijc3D1jwF9rT400bMPm4pe1+eRSXucBJw4pqUgBA4MQH1THboUljjiR3F3ghMTmAkZTdp9PMv6le51skdEc5eJOBw2ppIERhTIO1sl56K9K4xX2QjAnkI7GzzZ+vw91V7++08iknsodwDTmzTEhgCkxOI5md6LkFPDou9Tkigytvn1Pu9f8Ea13dCBwayMwk4kIYmTARyCXg9LF1JuDbX62xHYCoCA+3+Ql1ZuSA1ze6ZyvEhHEMCDqGViRGBcQRGZthuvXzqwICfMc5uvITApAWiZ01nsna7JvzeUbvcvTDpAwPbkQQcWIMTLgLHCjQ2umE9kOFZe46R0Mfa8PfUBAba7Aq9p06xufadqZUQxlEk4DDamSgRGFdA94AHM9wHHteIFycn0LHJz9YtjVv1nvpcba07OLmjwtyLUdBhtjtRI3CUgJYIHLQsPeCjUPhjSgInzbHrzNnuulXuwSkVENBBJOCAGptQEcgloB7LLi3IcWau19mOwGQEhpr93MNmN1rGfm8y+4e+D5egQ38HED8CElAPeEfK2RIwEMhHYLTaPqEvc7+sW+u25FNOKMfSAw6lpYkTgXEEooela9QqU5HGMeKl8QUGtvizsl4937S9efw9efU1AXrAr0nwLwIBC2RHbLd6wQsDJiD0PAV8yj6reb/fqV/pevIsKpjDScDBNDWBIpBbYLqzAa1YdEZHh5+Wey9eQWBsgYHN/gIl34urauyusfdg61gCJOCxVNiGQGACC9a5A3pazQuzRukFB9b0eYe7caMW3UjbbRpF/6VFTe75vAsMqAAScECNTagI5BKIVi7SB+ihlLc35dqH7QiMJXDtFfYujaA/VQ9c+JexXmdbbgEScG4bXkEgGAHnXFaXoP9BI1g/PdTu1wQTOIHmJaBpRzOrnN2qAXyfP3IVJa/SOBgBBBAIWKCvzV/T1+q3D7R6ng8c8PtgsqH3t/kP6/3ykK6gaAwfPwgggAACeQn0t/qPKBFv2/2kZ1pSXpLJPvhpLboRfVnT++X8ZEdavOi4BF08W0pGoCIFFq92X1XF78uM2o97m/38igyCShddoKbKblC392G9XzYX/WScAAEEEAhJoLfVf0E9nF9FywuGFDexTizQt9Uv0ftjV3+zZ/nSibly7kEPOCcNLyAQtkDPS/bXGpjVOpK2+3ta/ZywNYj+9QI+Y5/V399dvM7tfP12/vvEBLhxfmJe7I1AUAK+x08feMm+pkQ8Y1ra/mTeSvdKUAAEe5xAf4tfp0U3vnsoa+vPWeeeO24HNkxagB7wpKnYEYHwBFyDO3TgFfu4S1nVcNa+3N3ta8JTIOLXBKLRzhrv/AXN+/0Hku9rKlP/lwQ8dTuORCAIgaWXupezKbtewdZV77fbjyzaEUTkBHmsQF+bvcN5mzctZf987Gv8jQACCCBQJIEd7f50zft8VAOzNhbpFBQbY4FmLbqhtm/RtKN3x7iaFVU1esAV1VxUFoHyCZy10j2r5Srfqxq8t7fF31S+mnDmcgickbY/0EppL9aush+X4/ycEwEEEAheYFeLr4sWYNBqWdFlaX4CEOh63J+qaUdP97T7CwMIlxARQACB+AoMPemboiTcs9n/fnxrSc0KJRDdduhr8fcXqjzKQQABBBDIQyDqDUVJWD2jd+ZRDIfGXEBzwOu1NOnOnawPHvOWonoIIBCUgFZEenOUhHVZ+vKgAg8oWH3B+qYS8O0BhUyoCCCAQGUI9G7x7zlyObrVr6qMGlPLyQpoLfA1uvS8Y0+LP22yx7AfAggggEAJBZSAr4uSMGsDlxC9BKfSaPcHlYD/vASnCvIUTEMKstkJGoHCCtStdv+s5Srvyabtp4PtflFhS6e0cggMbPFv14pXtftr7L5ynJ9zIoAAAgicgIAWafiMesItPR1+3gkcxq4xExh4xM9Qz7e5t82/J2ZVS1R16AEnqjkJBoHyCujZsLeZs5+nhu2B6IHt5a0NZ5+qQGa6vV8PXNhft93+faplcNzEAiTgiY3YAwEETkBg76h9Xgv2PzW9yu7b2exPOYFD2TUGAi9t9W/QpedPqSqfdle7TAyqlNgqkIAT27QEhkB5BNatc4fTc+0vtGzli9Vp+9oz7X5WeWrCWacisC9rH9NzarfUr3GPTuV4jpm8AAl48lbsiQACkxSorXUHR0bsY9p9xsGs/b3v8NMmeSi7lVFgqNkv1qXnPxxN2a1lrEYwpyYBB9PUBIpAaQUaL3L73DT7k5SzMwdG7AsbN3o+b0rbBCd8tsNV9hmNZv/hkpXu6RM+mAMQQAABBOIlsOsxf4ZGRj+hUbWfj1fNqM1rAj09fs5Am79F7fRi9NjJ17bzb3EFdKmfHwQQQKC4AvpwX5jN2kOWtm/WrXRfLu7ZKH2yAtF0sfSwXa/LztfpmKf0uMH769e6H032ePbLT4AEnJ8fRyOAwCQFokX9dQ36IX3I/50G+Nw7ycPYrQgCWmTjLN0Q+IgS7+9qxPovshm7a8lat7UIp6LIcQRIwOPg8BICCBRWoL/dn+uz9qN02v5q0Qr3/cKWTmkTCehL0Cp9CbpR+/2WPvx/4DVKvW6F2zXRcbxeHAEScHFcKRUBBHII6Ok6F+uD59vqCd+gnvDPcuzG5gIK9DX7Sy1lN2uRlCbZ3zctZd+at9I9W8BTUNQUBEjAU0DjEAQQyE9gqM2/9bC3r6iUP9I60g/nVxpHjyXgm311X9reog/5v9TI5rkuZfdkXrR/a9jgXhprf7aVXoAEXHpzzogAAhLQqOir1CO7LVNlVy05j/uPhXpTRAufHBi13007+4TKzKRTduczo/YTLZByoFDnoJzCCJCAC+NIKQggMAWB/jb/R7oU/WkNCHpb/UrXM4UiOORVgT4tIanVx65Rb/fPNLjqGX24377rJdu0YYMbBSmeAiTgeLYLtUIgGAHNPb1BSeNDI2l7a+NKNxhM4AUKtLfZz09X2fVZb9c6b+1ZsztZRrJAuEUuhgRcZGCKRwCBiQWURD6ne5TvzlTbO3U5+v8mPoI9Blp9o5LtRyXxbv3+dyptd9eucE8iUzkCJODKaStqikBiBbz3rr/dvqjL0RccHLGrmi50zyc22DwD0zN6V6unG00luly/39fl+69x+T5P1DIdTgIuEzynRQCBowU69MCG2cN2l+5f1mvg0J/WrnK7j94j7L/6t/jLNG/3Zl2uP0c93/ume/vW/DVub9gqlR09Cbiy24/aI5AoAT2NZ6buBT+oD6bV6g33KrhO/fcjWjxi6/BB6zrrkrDmrkZfSmaNaCqROzKV6I0aZHXPqLd/O3Od+02iGj7QYEjAgTY8YSMQV4Eo6Rw8aFULqm2p5govUz0vVa/vXE1ZOkv/vqDLr10ubY9pbem2kZR1JXHglgxmzz5sVyreTyr+w/q9MzXXfhI95jGu7Ua9TlyABHziZhyBAAJlEOju9jWp39jZVVXWpMS0XpeqV+oD7BxVJUpKXfpt1rbm6SnrPGOF9TqnVF1hP0emEo3aB1TtP9PKVUOay3vbwhX2P4olU2GhUN1JCJCAJ4HELgggEE+BTZt8Vd1sO9MpKesy9QVKzGt0ubZJvWWnS9hd+rtVg5Qe96PWVf+y7XAxnRPb3+IXqL4fVF0/oK8NrZpSdGfDWvdYPNWpVaEESMCFkqQcBBCIiYB3e7qsbviQLl97W6sPufOVkJtUuVnqEj+tBLdVU54eGc1YV8PJ+rvRDZer4jvb/NlV0VQib1eoDv+lJTPuXny+e6pc9eG8pRUgAZfWm7MhgECZBAYe0TOJp1uTHr+3Skn4oigpKyHP1YfgDv3boZ7zr6p1+dpGrGtBkZdt1LznNbqP/QnV4VL13B/QwKqvN6x2vWWi4bRlEiABlwme0yKAQPkFNOp67mhKPWVn5+my7yVHLl+b1apH2qNtnUqOv1Ki7Dgc9ZZX5/8QAz2O8TI9e/cWnadR5d87ss/+qfFyphKV/51QnhqQgMvjzlkRQCCmAs93+5P3HbBl6iVHv5frQzK6fL1ECXoopR5yJmuPWsa2zphmnZN5pJ/XqO6eQ/Y2zW2O5vC+IeXsrpmz7YFTG92+mBJQrRIJkIBLBM1pEECgcgWaNT95rtlS9VyXWdouUSTn6rdR83Jf1P3kTiXqx33G2lLV1rno1fWsj0wlGrb3qKd7oy5xj2ifO1OH7Ke1FzOVqHLfCYWtOQm4sJ6UhgACgQh0P+hrahZaYyprTVqZar3uLa9UD3epwj+khNunhLtYU4l6tf22J562/736aqYSBfLWmHSYJOBJU7EjAgggML6A1rRO72q3M6s0T1kLhfyfphL95/hH8CoCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACSRX4f1abk813TVOWAAAAAElFTkSuQmCC</pentrails><costumes><list id="1441"><item><ref mediaID="Bühne_cst_Unbenannt"></ref></item></list></costumes><sounds><list struct="atomic" id="1442"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="4"><sprite name="Stift" idx="1" x="-2.971773938043043e-10" y="-1.0317080523236655e-10" heading="279.9999999999616" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,255,250,1" pen="tip" id="1447"><costumes><list struct="atomic" id="1448"></list></costumes><sounds><list struct="atomic" id="1449"></list></sounds><blocks></blocks><variables></variables><scripts><script x="176.999999" y="30"><block s="receiveGo"></block><block s="setColor"><color>255,255,250,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>50</l></block><block s="doSetVar"><l>seitenzahl</l><l>5</l></block><block s="doForever"><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><block var="seitenzahl"/><script><block s="forward"><block var="seitenlänge"/></block><block s="turn"><block s="reportQuotient"><l>360</l><block var="seitenzahl"/></block></block></script></block></script></block><block s="turn"><l>10</l></block></script></block></script></scripts></sprite><watcher var="seitenlänge" style="normal" x="10" y="10" color="243,118,29"/><watcher var="seitenzahl" style="normal" x="10" y="31.000001999999995" color="243,118,29"/><sprite name="Objekt(2)" idx="3" x="-132.99999999999977" y="22.00000000000003" heading="215" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="145,26,68,1" pen="tip" id="1485"><costumes><list struct="atomic" id="1486"></list></costumes><sounds><list struct="atomic" id="1487"></list></sounds><blocks></blocks><variables></variables><scripts><script x="249" y="82.16666666666669"><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>100</l></block><block s="doSetVar"><l>seitenzahl</l><l>9</l></block><block s="doRepeat"><l>9</l><script><block s="forward"><l>100</l></block><block s="turn"><l>90</l></block></script></block><block s="up"></block></script><script x="265" y="279.33333333333337"><block s="doGlide"><l>1</l><l>0</l><l>0</l></block></script><script x="531" y="66.33333333333337"><block s="receiveGo"></block><block s="setColor"><color>145,26,68,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>50</l></block><block s="doSetVar"><l>seitenzahl</l><l>5</l></block><block s="doForever"><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><l>5</l><script><block s="forward"><l>50</l></block><block s="turn"><l>72</l></block></script></block></script></block><block s="turn"><l>10</l></block></script></block></script></scripts></sprite><sprite name="Objekt(3)" idx="4" x="166.41358997720454" y="85.58641002279586" heading="183" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="225,207,255,1" pen="tip" id="1538"><costumes><list struct="atomic" id="1539"></list></costumes><sounds><list struct="atomic" id="1540"></list></sounds><blocks></blocks><variables></variables><scripts><script x="293" y="40.33333333333334"><block s="receiveGo"></block><block s="setColor"><color>225,207,255,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>50</l></block><block s="doSetVar"><l>seitenzahl</l><l>10</l></block><block s="doForever"><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><l>10</l><script><block s="forward"><l>50</l></block><block s="turn"><l>36</l></block></script></block></script></block><block s="turn"><l>10</l></block></script></block></script></scripts></sprite><sprite name="Objekt" idx="2" x="-102" y="-109.6025403784439" heading="330" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="0,86.7,50.28600000000001,1" pen="tip" id="1571"><costumes><list struct="atomic" id="1572"></list></costumes><sounds><list struct="atomic" id="1573"></list></sounds><blocks></blocks><variables></variables><scripts><script x="160" y="205.83333333333337"><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>100</l></block><block s="doRepeat"><l>4</l><script><block s="forward"><l>100</l></block><block s="turn"><l>90</l></block></script></block><block s="up"></block></script><script x="554" y="45.166666666666686"><block s="receiveGo"></block><block s="down"></block><block s="doForever"><script><block s="clear"></block><block s="doWarp"><script></script></block><block s="doRepeat"><l>3</l><script><block s="forward"><l>100</l></block><block s="turn"><l>120</l></block></script></block></script></block></script></scripts></sprite></sprites></stage><variables><variable name="seitenlänge"><l>50</l></variable><variable name="seitenzahl"><l>10</l></variable></variables></scene></scenes></project><media name="digi4all" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><costume name="Unbenannt" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAOjklEQVR4Ae3VwQnAMAwEQcX995zk4Rq0nzH4fTAI9pmZ9/8eAQIECBAgsChwFrdMESBAgAABAldAgJ0CAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEPrsvA8+MDc1EAAAAAElFTkSuQmCC" mediaID="Bühne_cst_Unbenannt"/></media></snapdata>