<snapdata remixID="12129560"><project name="U3L3-TicTacToe" 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="U3L3-TicTacToe"><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="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></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="doSetVar"><l>position number</l><l>0</l></block><block s="doFor"><l>row</l><l>1</l><l>3</l><script><block s="doFor"><l>column</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></block></script></block-definition><block-definition s="possible winning triples" type="reporter" category="lists"><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 triples %&apos;winning triples&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="Board"/></block></autolambda><list></list></block><block var="winning triples"/></block></block><block s="reportListItem"><l>2</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="Board"/></block></autolambda><list></list></block><block var="winning triples"/></block></block></block><block s="reportEquals"><block s="reportListItem"><l>2</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="Board"/></block></autolambda><list></list></block><block var="winning triples"/></block></block><block s="reportListItem"><l>3</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="Board"/></block></autolambda><list></list></block><block var="winning triples"/></block></block></block></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="doDeclareVariables"><list><l>massive list</l></list></block><block s="doSetVar"><l>massive list</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><custom-block s="possible winning triples"></custom-block><script><block s="doAddToList"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="Board"/></block></autolambda><list></list></block><block var="item"/></block><block var="massive list"/></block></script></block><block s="doReport"><block var="massive list"/></block></script></block-definition><block-definition s="won? %&apos;letter&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>opposite letter</l><l>blankCHECK</l><l>blankFINAL</l></list></block><block s="doIfElse"><block s="reportEquals"><block var="letter"/><l>X</l></block><script><block s="doSetVar"><l>opposite letter</l><l>O</l></block></script><script><block s="doSetVar"><l>opposite letter</l><l>X</l></block></script></block><block s="doForEach"><l>item</l><custom-block s="status of all winning triples"></custom-block><script><block s="doSetVar"><l>blankCHECK</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>blankFINAL</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doFor"><l>i</l><l>1</l><l>9</l><script><block s="doSetVar"><l>blankCHECK</l><block s="reportListContainsItem"><block var="item"/><block var="i"/></block></block><block s="doIf"><block s="reportEquals"><block var="blankCHECK"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSetVar"><l>blankFINAL</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doIf"><block s="reportAnd"><block s="reportListContainsItem"><block var="item"/><block var="letter"/></block><block s="reportAnd"><block s="reportNot"><block s="reportListContainsItem"><block var="item"/><block var="opposite letter"/></block></block><block s="reportNot"><block var="blankFINAL"/></block></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></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="374"><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="375"></list></costumes><sounds><list struct="atomic" id="376"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="0" y="-150" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="381"><costumes><list id="382"><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="383"></list></sounds><blocks></blocks><variables><variable name="position number"><l>9</l></variable></variables><scripts><script x="44" y="10"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="41.73333333333335" y="95.66666666666663"><block s="receiveGo"></block><block s="doSetVar"><l>turns</l><l>0</l></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="doWait"><l>.1</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="show"></block><custom-block s="makeBoard"></custom-block><block s="hide"></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="37" y="355.0000000000001"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>turns</l><block s="reportVariadicSum"><list><block var="turns"/><l>1</l></list></block></block><block s="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doReplaceInList"><block var="position number"/><block var="Board"/><l>X</l></block><block s="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>Player X won!!</l><l>2</l></block></script><list></list></block><list></list></block><block s="doStopThis"><l><option>this script</option></l></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReplaceInList"><block var="position number"/><block var="Board"/><l>O</l></block><block s="doIf"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>Player O won!!</l><l>2</l></block></script><list></list></block><list></list></block><block s="doStopThis"><l><option>this script</option></l></block></script></block></script></block></script></block><block s="doIf"><block s="reportEquals"><block var="turns"/><l>9</l></block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>The game ends in a tie</l><l>2</l></block></script><list></list></block><list></list></block></script></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="-1000" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="186.15,0,122.85900000000002,1" pen="tip" id="531"><costumes><list struct="atomic" id="532"></list></costumes><sounds><list struct="atomic" id="533"></list></sounds><blocks></blocks><variables></variables><scripts><script x="75" y="132.33333333333337"><block s="gotoXY"><l>-1000</l><l>0</l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher var="Board" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="position number" style="normal" x="9" y="242.000002" color="243,118,29" hidden="true"/><watcher var="turns" style="normal" x="132" y="12.000001999999995" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="Board"><list struct="atomic" id="545">1,2,3,4,5,6,7,8,9</list></variable><variable name="turns"><l>0</l></variable></variables></scene></scenes></project><media name="U3L3-TicTacToe" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaEPtmrENgmAUBh9TYEfBIs6i4lAEZ6GVGAs3MjFxgK+5wJ+jv3y8O0q6auzpqupcVWsLdw3D+P4ddLlO62OZD33Tc3vVdLt/PGivGS201zL/97KQhWADfnKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAbaLtTKH419f9q+t56dV83eYNkAAAAASUVORK5CYII=" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAgVJREFUaEPt2rtOAkEUBuBDpTRgTdRQ8gRIaUUMoIk3RAQlEWm9FpYG7IzxKSyoLC3VTmPUxkvrLVFLLOhMzJJgREHOnDlnZxeh22Qv882/O+HPrgcAgvH4xKbP19MLLv9Vqx/XHgAYDocjh9mFnKtBb68vcHV58VADJZPpg3J5v8/NAZ2encN2qdgFOTbE/5nQ49MzDA70OyqVVmNCJbSYL0AgEIBSccsRqJvbOxhNJGBndw8mx8caxoQCVSrvkF8qQCgUMo6qY+Yy2aZjQYGsKXACqh3GGicaZBqFwSiDTKGwGBLIbpQKhgyyC6WK0QJJoygYbZAUiophAXGjdDBsIC6ULoYVpIviwLCDqCgujAhIFcWJEQNhUdwYUVA7lARGHNQKJYWxBfQTlUrN1MpZqz7T0NYIG0r1gXD+r0OsPpXJzsPJ8REsr6yKFUXbQNZtFo/FwOv1wtR00t2g78/MxvqaaJ0XT6jZAiBZ50VBf61mUigxEGZplkCJgDCY+vLHjWIHqWAkUKwgCoYbxQbSwXCiWEAcGC6UNogTw4HSAklgdFFkkCRGB0UC2YGhopRBdmIoKCWQCYwqCg0yiVFBoUBOwGBRKFA0OgJDkYhYy1St9vU/tKnZNO2lsRNf61sov9/3ay5QCanOoMn9uyCTs4+5dmcn1GkfAAYBIIeJ1QX73H8CynJ8DoPjGXcAAAAASUVORK5CYII=" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABGBJREFUaEPtmktME1EUhv+uFXCnCQIRBOpjYYtGN4qiIUbwFTUKPmKUghIXEKNxQyllY5ACC+ODYmJUoPiIDzAxREV04QNpNRFESDSCzx0PXWPOmJu0dKZzZ+ZOQWSSpovee+Z85z9z7r1nasE0uywA1gLomA5cSUkp3RLQocOOjksN9f8004uXXXAUFL6dAZqqMs4oxKtM+8PH8PsDGOj/gI7Hj/Dp08ewqTt37UZ8fDyW2ezIWpeJxIT5vOYVxwlVaHDoC7zeBjReu4qM5Sukj91ugzU9TdZZunnfh368Cfhx7+4dafyevHzs2L5FN5gQoGCQwiPFyM/brSvat27fg6+5CSPDwyg6WqwLzDDQ5SuNcLucIJCjRQ7ExcXqji6bSOlaXVWFhMRElJc7NQVHN9DIyCjKXRXo7emBu7ISq1auMAwSbIDsn7/oRf2Fc7hQ70X2hiwu+7qA6GYFjkLExsaixlMtRBUlbykNTxwvxRlPLVcKagZiMFarFZVuF1fUjA7q6X2Pzbm5XFCagQ4XFCImJgZ1tR6jfmqaT1BLlyzG8xevIqa3JqCz5y6i80kHGrz1pqaZWvoFAgHF+3MDsQi96+nFksWLNEVX5OCS0uOSOaUM4QaiVLPZM3CsuEikf5pt0TNss9nQ1OyTTT0uIBqUn7cHkaTW7JmBCZT6AX835I46XEAk88LUtElXh8WAqdTa1haW/qpAtK1JSkzA8PDIpBQCJSFPV3nw+9dY2NKhCkRbG9o8RrtMq2UkFanSklK0tz8IGaoKROm2ek0m1yqt5oTo35OTUzAx7VSB5CaJdkyvPblgqwJZLBaMj4/rvaep86ja0RW8lEQEoh89Hg9uXPeZ6phe43TMaPH5Qsq3KpDX65Wt93qdEDmPnJ/o3wyQyAgbtaVZIaVab9QRUfPp8PfsaWfIGvl/VTmKZHb2RlN6BiJUohPAppzckEVfVaEypwspC1Nx8MBeET4ItUGL/pPOzpCukCoQ65VNtbWItbo07+Voqz5nThw+Dw5p6o8JlULGGGXOrNkxOHXy7wmWXaoK0UClyWY7rWQ/UpC5gOhMtDYzc0qdWH/++C7bRuMCYirRd7R6cUrqsAOn0iPADcRUUmpORCv9qFSnpqWHPTuaniE2mLVlJ6tZQsfu7tddEfuC3AoxKCoQfX19UW82smDKNUY0V7mJ6RRtKF4Y8lOzQhOVcrnKTe2k0qm0proqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY2hwELV1tdxBMwTEJHaWlUlv2xwOh+EXX7RoXm1sllTR81bQMBBBBTuxLmt92A6Yp6STIk3NLZLiZENvcIQAMYcJ7PbdVtxva5XK65at26QW8vIMuzRkkTVd6r7SwXFs7Be+fvuOgYEBaSx99u7bj5ycHEMqCwUKVoIi3vXaLzlM/1UYHR3FzRst0pAFC5IlFejFGQMW9Y7WNCCeNDNjzAyQGVEVaXN6KzRd/tE4d+68l38AHzaJdYJvYYIAAAAASUVORK5CYII=" mediaID="Square_cst_O"/></media></snapdata>