<snapdata remixID="12949517"><project name="Wandering Letters" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes>A swarm intelligence model for paragraph layout. Each letter knows the one before itself, and the length of the word it&apos;s in, and then independently arranges itself observing the layout constraints. You can move the corner and the margin, use the mouse to drag invididual letters around, and, of course, play with the constraints in the code.</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAvtJREFUeF7t2zFOW0EARVHDHty4YBPe/y68BiNLpEzhwvpRKCgIImg01mWSQ53/3+jOkQNCPGzbtu18KdAUeHkAsClv9bUAgCCkBQBM8xsHkIG0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsAmOY3DuBKBm632+5yubwd+XA4rHT8j84K4Eo3eL1ed6fT6e3Ix+NxpeMDuPptAbj6DS5+fgAXv8DVjw/g6je4+PkBXPwCVz8+gKvf4OLnB3DxC1z9+ACufoOLnx/AxS9w9eMDeOcb/P038n/7O/nHx8c7n+L7vh7AO9/N+XzePT8/f7ryD/z6abgigMPpvvYggJ93AvBrjob/FYAADuOZ8eB7gE9PT3+8dr/fz5ha8h0+Ae98be8B/s/f732UGkAA71zAf8FpYJ+AAAKYFgAwze8TEEAA0wIAfuP8juanYAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgL3G633eVyeTvD4XBIzzNh/OVh27Ztwou8QoGRAgCOVPPMtAIATkvpRSMFAByp5plpBQCcltKLRgoAOFLNM9MKADgtpReNFABwpJpnphUAcFpKLxopAOBINc9MKwDgtJReNFIAwJFqnplWAMBpKb1opMArwJ8jT3pGgQkFfvwCADC3bIBvJGgAAAAASUVORK5CYII=</thumbnail><scenes select="1"><scene name="Wandering Letters"><notes>A swarm intelligence model for paragraph layout. Each letter knows the one before itself, and the length of the word it&apos;s in, and then independently arranges itself observing the layout constraints. You can move the corner and the margin, use the mouse to drag invididual letters around, and, of course, play with the constraints in the code.</notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="costume from text %&apos;text&apos; size %&apos;size&apos;" type="reporter" category="looks"><header></header><code></code><translations>de:Kostüm aus Text _ Größe _&#xD;pt:um traje com o texto _ de tamanho _&#xD;ca:vestit amb el text _ i mida _&#xD;</translations><inputs><input type="%s">A</input><input type="%n">72</input></inputs><script><block s="doDeclareVariables"><list><l>costume</l><l>x</l><l>y</l><l>dir</l><l>cst</l><l>trails</l><l>pen state</l></list></block><block s="doSetVar"><l>x</l><block s="xPosition"></block></block><block s="doSetVar"><l>y</l><block s="yPosition"></block></block><block s="doSetVar"><l>dir</l><block s="direction"></block></block><block s="doSetVar"><l>cst</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>pen state</l><block s="getPenDown"></block></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><l><option>Turtle</option></l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="gotoXY"><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><l>0</l></block><block s="write"><block var="text"/><block var="size"/></block><block s="gotoXY"><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><l>0</l></block><block s="doSetVar"><l>costume</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doApplyExtension"><l>obj_name(obj, name)</l><list><block var="costume"/><block s="reportJoinWords"><list><block var="text"/></list></block></list></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><block var="cst"/></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block><block s="doIf"><block var="pen state"/><script><block s="down"></block></script><list></list></block><block s="doReport"><block var="costume"/></block></script></block-definition><block-definition s="costume %&apos;cst&apos; with background RGBA %&apos;rgb&apos; padding %&apos;padding&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%n">200</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>old</l><l>clr</l><l>new</l><l>x</l><l>y</l><l>dir</l><l>trails</l><l>flat</l><l>old size</l><l>old pen state</l></list></block><block s="doSetVar"><l>x</l><block s="xPosition"></block></block><block s="doSetVar"><l>y</l><block s="yPosition"></block></block><block s="doSetVar"><l>dir</l><block s="direction"></block></block><block s="doSetVar"><l>old</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>clr</l><block s="getPenAttribute"><l><option>r-g-b-a</option></l></block></block><block s="doSetVar"><l>flat</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doSetVar"><l>old size</l><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="doSetVar"><l>old pen state</l><block s="getPenDown"></block></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="gotoXY"><block s="reportMonadic"><l><option>neg</option></l><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportGetImageAttribute"><l><option>width</option></l><block var="cst"/></block><l>2</l></block><block var="padding"/></list></block></block><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><block s="reportVariadicSum"><list><block s="reportGetImageAttribute"><l><option>height</option></l><block var="cst"/></block><block s="reportVariadicProduct"><list><block var="padding"/><l>2</l></list></block></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block var="rgb"/></block><block s="down"></block><block s="setXPosition"><block s="reportMonadic"><l><option>neg</option></l><block s="xPosition"></block></block></block><block s="up"></block><block s="doSwitchToCostume"><block var="cst"/></block><block s="doGotoObject"><l><option>center</option></l></block><block s="gotoXY"><block s="reportMonadic"><l><option>neg</option></l><block s="reportGet"><l><option>center x</option></l></block></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportGet"><l><option>center y</option></l></block></block></block><block s="doStamp"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSetVar"><l>new</l><block s="reportPenTrailsAsCostume"></block></block><block s="doApplyExtension"><l>obj_name(obj, name)</l><list><block var="new"/><block s="reportIfElse"><block s="reportListContainsItem"><block s="reportTextSplit"><block s="reportAttributeOf"><l><option>costume name</option></l><l>Sprite</l></block><l><option>word</option></l></block><l>button</l></block><block s="reportAttributeOf"><l><option>costume name</option></l><l>Sprite</l></block><block s="reportJoinWords"><list><block s="reportAttributeOf"><l><option>costume name</option></l><l>Sprite</l></block><l> button</l></list></block></block></list></block><block s="clear"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><block var="old"/></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block var="clr"/></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat"/></block><block s="setSize"><block var="old size"/></block><block s="doIf"><block var="old pen state"/><script><block s="down"></block></script><list></list></block><block s="doReport"><block var="new"/></block></script><scripts><script x="255" y="186.19999999999996"><custom-block s="costume %s with background RGBA %n padding %n"><custom-block s="costume %s with background RGBA %n padding %n"><custom-block s="costume from text %s size %n"><l>Snap!</l><l>36</l></custom-block><l>200</l><l>10</l></custom-block><l>100</l><l>2</l></custom-block></script><comment x="248.685546875" y="121.03333333333337" w="106" collapsed="false">Use this block to make &quot;clickable&quot; buttons:</comment></scripts></block-definition><block-definition s="move towards %&apos;target&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input></inputs><script><block s="doFaceTowards"><block var="target"/></block><block s="forward"><block s="reportVariadicProduct"><list><block s="reportRelationTo"><l><option>distance</option></l><block var="target"/></block><block s="reportQuotient"><block var="speed"/><l>100</l></block></list></block></block></script></block-definition><block-definition s="right next to %&apos;target&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>position</option></l><block var="target"/></block><block s="reportNewList"><list><l>8</l><l>0</l></list></block></list></block></block></script></block-definition><block-definition s="left below of %&apos;target&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>x position</option></l><l>Corner</l></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>y position</option></l><block s="reportObject"><block var="target"/></block></block><l>14</l></block></list></block></block></script></block-definition><block-definition s="is %&apos;target&apos; space ?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input></inputs><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportObject"><block var="target"/></block><l><option>sprite</option></l></block><block s="reportListContainsItem"><block s="reportAttributeOf"><l><option>variables</option></l><block var="target"/></block><l>letter</l></block><block s="reportVariadicEquals"><list><block s="reportAttributeOf"><l>letter</l><block var="target"/></block><l> </l></list></block></list></block></block></script></block-definition><block-definition s="is %&apos;target&apos; right of %&apos;margin&apos; ?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input><input type="%s" readonly="true"><options>§_objectsMenu</options></input></inputs><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><block s="reportAttributeOf"><l><option>x position</option></l><block s="reportObject"><block var="target"/></block></block><block s="reportAttributeOf"><l><option>left</option></l><block s="reportObject"><block var="margin"/></block></block></list></block></block></script></block-definition><block-definition s="initialize %&apos;sprite&apos; with %&apos;char&apos; after %&apos;predecessor&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input><input type="%s"></input><input type="%s" readonly="true"><options>§_objectsMenu</options></input></inputs><script><block s="doTellTo"><block var="sprite"/><block s="reifyScript"><script><block s="doSetVar"><l>letter</l><block var="char"/></block><block s="doSwitchToCostume"><custom-block s="costume from text %s size %n"><block var="char"/><l>12</l></custom-block></block><block s="doSetVar"><l>last</l><block var="predecessor"/></block><block s="doGotoObject"><l><option>random position</option></l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doIf"><block s="reportListContainsItem"><block s="reportAttributeOf"><l><option>variables</option></l><block var="predecessor"/></block><l>next</l></block><script><block s="doTellTo"><block var="predecessor"/><block s="reifyScript"><script><block s="doSetVar"><l>next</l><block var="sprite"/></block></script><list></list></block><list></list></block></script><list></list></block><block s="doReport"><block var="sprite"/></block></script></block-definition><block-definition s="is word right of %&apos;margin&apos; ?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>count</l><l>char</l></list></block><block s="doSetVar"><l>char</l><block s="reportGet"><l><option>self</option></l></block></block><block s="doWarp"><script><block s="doUntil"><block s="reportVariadicOr"><list><custom-block s="is %s space ?"><block var="char"/></custom-block><block s="reportNot"><block s="reportIsA"><block var="char"/><l><option>sprite</option></l></block></block></list></block><script><block s="doChangeVar"><l>count</l><l>1</l></block><block s="doSetVar"><l>char</l><block s="reportAttributeOf"><l>next</l><block var="char"/></block></block></script></block></script></block><block s="doReport"><block s="reportVariadicGreaterThan"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>x position</option></l><block var="last"/></block><block s="reportVariadicProduct"><list><block var="count"/><l>8</l></list></block></list></block><block s="reportAttributeOf"><l><option>left</option></l><block s="reportObject"><block var="margin"/></block></block></list></block></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" 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="523"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="524"></list></costumes><sounds><list struct="atomic" id="525"></list></sounds><variables></variables><blocks></blocks><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="doSetVar"><l>text</l><l>We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.</l></block><block s="doSetVar"><l>speed</l><l>25</l></block></script><script x="20" y="131"><block s="receiveGo"></block><block s="doDeclareVariables"><list><l>before</l></list></block><block s="doSetVar"><l>before</l><block s="reportObject"><l>Corner</l></block></block><block s="doForEach"><l>char</l><block s="reportTextSplit"><block var="text"/><l><option>letter</option></l></block><script><block s="doSetVar"><l>before</l><custom-block s="initialize %s with %s after %s"><block s="newClone"><l>Letter</l></block><block var="char"/><block var="before"/></custom-block></block></script></block></script><script x="18" y="337.33333333333337"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIfElse"><block s="reportApplyExtension"><l>var_showing(name)?</l><list><l>speed</l></list></block><script><block s="doHideVar"><l>speed</l></block></script><script><block s="doShowVar"><l>speed</l></block></script></block></script><script x="18" y="506.33333333333337"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="doSetVar"><l>speed</l><l>25</l></block><block s="doHideVar"><l>speed</l></block></script></scripts><sprites select="1"><sprite name="Letter" idx="1" x="7.999678029359928" y="-0.00004056448798096435" heading="180" scale="1" volume="100" pan="0" rotation="0" draggable="true" hidden="true" costume="0" color="80,80,80,1" pen="tip" id="590"><costumes><list struct="atomic" id="591"></list></costumes><sounds><list struct="atomic" id="592"></list></sounds><blocks></blocks><variables><variable name="letter"><l>.</l></variable><variable name="last"><l>0</l></variable><variable name="next"><l>0</l></variable></variables><scripts><script x="30" y="30"><block s="receiveOnClone"></block><block s="doForever"><script><custom-block s="move towards %s"><block s="reportIfElse"><block s="reportVariadicAnd"><list><custom-block s="is %s space ?"><block var="last"/></custom-block><custom-block s="is word right of %s ?"><l>Margin</l></custom-block></list></block><custom-block s="left below of %s"><block var="last"/></custom-block><block s="reportIfElse"><custom-block s="is %s right of %s ?"><block var="last"/><l>Margin</l></custom-block><custom-block s="left below of %s"><block var="last"/></custom-block><custom-block s="right next to %s"><block var="last"/></custom-block></block></block></custom-block></script></block></script></scripts></sprite><watcher var="text" style="normal" x="10.000000000000155" y="10" color="243,118,29" hidden="true"/><watcher scope="Letter" var="letter" style="normal" x="10.000000000000155" y="124.00000399999982" color="243,118,29" hidden="true"/><watcher scope="Letter" var="last" style="normal" x="10.000000000000155" y="145.0000059999999" color="243,118,29" hidden="true"/><watcher var="speed" style="slider" min="1" max="100" x="28.81584582441115" y="20.740905357601736" color="243,118,29" hidden="true"/><watcher scope="Letter" var="next" style="normal" x="6.852248394004282" y="6.852248394004282" color="243,118,29" hidden="true"/><sprite name="Margin" idx="3" x="89.00000000000006" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="633"><costumes><list id="634"><item><ref mediaID="Margin_cst_vertical"></ref></item></list></costumes><sounds><list struct="atomic" id="635"></list></sounds><blocks></blocks><variables></variables><scripts><script x="33" y="43.33333333333337"><block s="receiveGo"></block><block s="setEffect"><l><option>ghost</option></l><l>80</l></block></script><script x="30" y="148.33333333333337"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="gotoXY"><l>89</l><l>0</l></block></script></scripts></sprite><sprite name="Corner" idx="2" x="-122.99999999999996" y="78" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="650"><costumes><list id="651"><item><ref mediaID="Corner_cst_corner"></ref></item></list></costumes><sounds><list struct="atomic" id="652"></list></sounds><blocks></blocks><variables><variable name="after"><l>0</l></variable></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="setEffect"><l><option>ghost</option></l><l>80</l></block></script><script x="31" y="131.33333333333334"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="gotoXY"><l>-123</l><l>78</l></block></script></scripts></sprite></sprites></stage><variables><variable name="text"><l>We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.</l></variable><variable name="speed"><l>25</l></variable></variables></scene></scenes></project><media name="Wandering Letters" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><costume name="vertical" center-x="5" center-y="141.5" image="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHNuYXA9Imh0dHA6Ly9zbmFwLmJlcmtlbGV5LmVkdS9ydW4iIHZlcnNpb249IjEuMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSBtZWV0IiB2aWV3Qm94PSI5MTkgMzczIDEwIDI4MyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjI4MyI+PGxpbmUgc3Ryb2tlPSJyZ2IoMCwwLDApIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2Utd2lkdGg9IjEwIiBmaWxsPSJub25lIiBwcm90b3R5cGU9IlZlY3RvckxpbmUiIHgxPSI5MjQiIHkxPSIzNzgiIHgyPSI5MjQiIHkyPSI2NTEiLz48L3N2Zz4=" mediaID="Margin_cst_vertical"/><costume name="corner" center-x="15" center-y="24" image="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHNuYXA9Imh0dHA6Ly9zbmFwLmJlcmtlbGV5LmVkdS9ydW4iIHZlcnNpb249IjEuMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSBtZWV0IiB2aWV3Qm94PSI4ODYgNDg1IDM1IDM1IiB3aWR0aD0iMzUiIGhlaWdodD0iMzUiPjxsaW5lIHN0cm9rZT0icmdiKDAsMCwwKSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIgc3Ryb2tlLXdpZHRoPSIxMCIgZmlsbD0ibm9uZSIgcHJvdG90eXBlPSJWZWN0b3JMaW5lIiB4MT0iODk2IiB5MT0iNTE1IiB4Mj0iODk2IiB5Mj0iNDkwIi8+PGxpbmUgc3Ryb2tlPSJyZ2IoMCwwLDApIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2Utd2lkdGg9IjEwIiBmaWxsPSJub25lIiBwcm90b3R5cGU9IlZlY3RvckxpbmUiIHgxPSI4OTEiIHkxPSI0OTAiIHgyPSI5MTYiIHkyPSI0OTAiLz48L3N2Zz4=" mediaID="Corner_cst_corner"/></media></snapdata>