<snapdata remixID="10919468"><project name="U3L1-Tic-Tac-Toe" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U3L1-Tic-Tac-Toe"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="errorObsolete"></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></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="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></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></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="doSetVar"><l>position number</l><l>1</l></block><block s="doRepeat"><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="setHeading"><l>90</l></block><block s="forward"><l>50</l></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></block><block s="gotoXY"><l>-50</l><l>0</l></block><block s="doRepeat"><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="setHeading"><l>90</l></block><block s="forward"><l>50</l></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></block><block s="gotoXY"><l>-50</l><l>-50</l></block><block s="doRepeat"><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="setHeading"><l>90</l></block><block s="forward"><l>50</l></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></block></script></block-definition><block-definition s="Possible Winning Triples" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></list></block></block></script></block-definition><block-definition s="status of triple %&apos;triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="Board"/></block></autolambda><list></list></block><block var="triple"/></block></block></script></block-definition><block-definition s="status of all winning triples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="Possible Winning Triples"></custom-block></block></block></script></block-definition><block-definition s="won, Player? %&apos;player&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doForEach"><l>triple</l><custom-block s="status of all winning triples"></custom-block><script><block s="doIf"><block s="reportEquals"><block var="triple"/><block s="reportNewList"><list><block var="player"/><block var="player"/><block var="player"/></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="Tie Game?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><l>square</l><block var="Board"/><script><block s="doIf"><block s="reportIsA"><block var="square"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="Variable Initialization" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="show"></block><block s="doSetVar"><l>Game Over</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>position number</l><l>0</l></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>Board</l><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l><l>4</l><l>5</l><l>6</l><l>7</l><l>8</l><l>9</l></list></block></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block><block s="hide"></block></script></block-definition><block-definition s="Player Moves" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position number"/><block var="Board"/><l>X</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position number"/><block var="Board"/><l>O</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block></script></block></script></block-definition><block-definition s="Check for tie" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><custom-block s="won, Player? %txt"><l>X</l></custom-block><script><block s="doSayFor"><l>X wins!</l><l>2</l></block><block s="doSetVar"><l>Game Over</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><custom-block s="Tie Game?"></custom-block><script><block s="doSayFor"><l>Tie Gmae!</l><l>2</l></block><block s="doSetVar"><l>Game Over</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><custom-block s="won, Player? %txt"><l>O</l></custom-block><script><block s="doSayFor"><l>O wins!</l><l>2</l></block><block s="doSetVar"><l>Game Over</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></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="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="389"><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="390"></list></costumes><sounds><list struct="atomic" id="391"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="2"><sprite name="Square" idx="1" x="100" y="-50" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="396"><costumes><list id="397"><item><ref mediaID="Square_cst_Empty"></ref></item><item><ref mediaID="Square_cst_X"></ref></item><item><ref mediaID="Square_cst_O"></ref></item></list></costumes><sounds><list struct="atomic" id="398"></list></sounds><blocks></blocks><variables><variable name="position number"><l>10</l></variable></variables><scripts><script x="20" y="10"><block s="receiveGo"><comment w="156.66666666666666" collapsed="false">Connect this to the script below it in For You To Do 5.</comment></block><custom-block s="Variable Initialization"></custom-block></script><script x="20" y="80.83333333333326"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIfElse"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><script><custom-block s="Player Moves"></custom-block><custom-block s="Check for tie"></custom-block></script><script><block s="doSayFor"><l>Invalid Move</l><l>2</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="Game Over"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSayFor"><l>Click the green flag to play again!</l><l>2</l></block></script></block></script><script x="20" y="758.6666666666663"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="Board"/></block></script></scripts></sprite><sprite name="Procedures" idx="2" x="40" y="-14" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="0,142.188,173.4,1" pen="tip" id="444"><costumes><list struct="atomic" id="445"></list></costumes><sounds><list struct="atomic" id="446"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><custom-block s="won, Player? %txt"><l></l></custom-block></script><script x="20" y="53"><block s="receiveGo"></block></script><script x="20" y="106"><custom-block s="makeBoard"></custom-block></script><script x="20" y="141.83333333333334"><custom-block s="Possible Winning Triples"></custom-block></script><script x="20" y="171.66666666666663"><custom-block s="status of all winning triples"></custom-block></script><script x="20" y="201.5"><custom-block s="status of triple %l"><l/></custom-block></script><script x="20" y="231.5"><custom-block s="Tie Game?"></custom-block></script><script x="20" y="261.33333333333337"><custom-block s="Check for tie"></custom-block></script><script x="20" y="297.16666666666663"><custom-block s="Player Moves"></custom-block></script><script x="20" y="333.0000000000001"><custom-block s="Variable Initialization"></custom-block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher scope="Square" var="position number" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="Board" style="normal" x="12" y="27" color="243,118,29" extX="80" extY="70"/><watcher var="Game Over" style="normal" x="10" y="31.000002000000002" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="Board"><list struct="atomic" id="467">X,2,X,4,O,6,O,8,X</list></variable><variable name="Game Over"><bool>false</bool></variable></variables></scene></scenes></project><media name="U3L1-Tic-Tac-Toe" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaEPtmsENglAQBZcm8EhiJdYi/qaM1sIVYjjYkYmJBbzLBH+G++SxMxwZqrNnqKpLVS093DVN5/170HVuy/Nx/+ub1u1V7dbeHnTUjBY6apnfe1nIQrABPzlYeDxnoVgZDFgIFh7PWShWBgMWgoXHcxaKlcGAhWDh8ZyFYmUwYCFYeDxnoVgZDFgIFh7PWShWBgMWgoXHcxaKlcGAhWDh8ZyFYmUwYCFYeDxnoVgZDFgIFh7PWShWBgN9F+rlj8ZxPG0fpgqdIlzL6G8AAAAASUVORK5CYII=" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAgVJREFUaEPt2jtPwlAUB/DDpB0QZ6KGkS9AYHQiBtCEqAgKBCOy+hwcTRmN8VuYMDk6qpvG4ORj9ZWoIy4sDqYkNaIg5957Tm+LsDXp4/7uv73hn9YHAKFkMr3j9w8Ng8d/zebHtQ8AJiOR6HGxtOxp0NvrC1zV6w8tUCaTO6rVDke9HND5xSVUTXMAcm2I/zOhx6dnmBgfc1Uq3caESmilXIFgMAhVc9cVqJvbO5hOpWBv/wBm0zNtY0KBGo13KK9WIBwOa0fZmKV8oeNYUCBrCtyA6oWxxokG6UZhMMIgXSgsRgrkNEoEIw1yCiWKUQJxo2QwyiAulCyGBESNUsGQgahQqhhSkCqKAkMOkkVRYVhAoihKDBsIi6LGsIJ6oTgw7KBuKC6MI6CfqGx2oVXOuvWZtrYmsSFUHyTO/3WI1afyhSKcnZ7A2voGW1F0DGTdZslEAgzDgLn5jLdB35+Z7a1N1jrPnlCnBYCzzrOC/lrNuFBsIMzSzIFiAWEw9vJHjSIHiWA4UKQgGQw1igykgqFEkYAoMFQoZRAlhgKlBOLAqKKkQZwYFZQUyAmMLEoY5CRGBiUE0oERRaFBOjEiKBTIDRgsCgWKx6cgGouxtUzRam//oc3mFuVeGrvxtb6FCgRGfs0FKiHRGdS5/wCkc/Yx1+7vhPrtA8AQAJQwsXpgn/tPUFR7qLbGkSAAAAAASUVORK5CYII=" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABF9JREFUaEPtmktME1EUhv+uFXClCwQCCtTHwhaNbhRFQ4zgK2oUfMQoBSUuJETjhlLKxiAVF8YHxcSoQPERH2BiiILoQhRpNRFESSSCzx0PXWPOmJu0dKZzZ+ZOQWSSpovee+Z85z9z7r1nasE0uywA1gJonw5cSUkp3RLQocOO9it1tf80U+fLLjgKHG9ngKaqjDMK8SrT+rgNfn8A/R8/oL3tCQYGPoVN3blrN+Lj47HMZkfWukwkJsznNa84TqhCg0Nf4PXWof7GdWQsXyF97HYbrOlpss7Szfs+fMSbgB8P7t+Txu/Jy8eO7Vt0gwkBCgYpPFKM/LzduqJ95+4D+BobMDI8jKKjxbrADANdvVYPt8sJAjla5EBcXKzu6LKJlK7VVVVISExEeblTU3B0A42MjKLcVYHenh64KyuxauUKwyDBBsj+xcte1F66gEu1XmRvyOKyrwuIblbgKERsbCzOeqqFqKLkLaXhidISnPHUcKWgZiAGY7VaUel2cUXN6KCe3vfYnJvLBaUZ6HBBIWJiYnCuxmPUT03zCWrpksV40fkqYnprAjp/4TI6nrajzltrapqppV8gEFC8PzcQi9C7nl4sWbxIU3RFDj5eUiqZU8oQbiBKNZs9A8eKi0T6p9kWPcM2mw0NjT7Z1OMCokH5eXsQSWrNnhmYQKkf8HdD7qjDBUQyL0xNm3R1WAyYSs0tLWHprwpE25qkxAQMD49MSiFQEvJ0lQe/f42FLR2qQLS1oc1jtMu0WkZSkSo5XoLW1kchQ1WBKN1Wr8nkWqXVnBD9e0rKAkxMO1UguUmiHdNrTy7YqkAWiwXj4+N672nqPKp2dAUvJRGB6EePx4NbN32mOqbXOB0zmny+kPKtCuT1emXrvV4nRM4j5yf6NwMkMsJGbWlWSKnWG3VE1Hw6/D1/1hGyRv5fVY4imZ290ZSegQiV6ASwKSc3ZNFXVajM6cKChak4eGCvCB+E2qBF/2lHR0hXSBWI9cqm2lrEWl2a93K0VZ8zJw6fB4c09ceESiFjjDJn1uwYnDr59wTLLlWFaKDSZLOdVrIfKchcQHQmWpuZOaVOrD9/fJdto3EBMZXoO1q9OCV12IFT6RHgBmIqKTUnopV+VKpT09LDnh1NzxAbzNqyk9UsoWN39+uuiH1BboUYFBWIvr6+qDcbWTDlGiOaq9zEdIo2FC8M+alZoYlKuVzlpnZS6VR6troqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY2hwEDXnariDZgiISewsK5PetjkcDsMvvmjRvF7fKKmi562gYSCCCnZiXdb6sB0wT0knRRoamyTFyYbe4AgBYg4T2N37zXjY0iyV1y1bt0kt5OUZdmnIImu61H2lg+PY2C98/fYd/f390lj67N23Hzk5OYZUFgoUrARFvOu1X3KY/qswOjqK27eapCHJySmSCvTijAGLekdrGhBPmpkxZgbIjKiKtDm9FZou/2icO3feyz8NoolAOmg4eQAAAABJRU5ErkJggg==" mediaID="Square_cst_O"/></media></snapdata>