<snapdata remixID="13991984"><project name="U3L1-TicTacToe" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U3L1-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><list></list></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><list></list></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><list></list></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="doSwitchToCostume"><l>Empty</l></block><block s="show"></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="gotoXY"><block s="reportVariadicSum"><list><l>-100</l><block s="reportVariadicProduct"><list><l>50</l><block var="column"/></list></block></list></block><block s="reportDifference"><l>100</l><block s="reportVariadicProduct"><list><l>50</l><block var="row"/></list></block></block></block><block s="createClone"><l><option>myself</option></l></block></script></block></script></block><block s="hide"></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;winning triple&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><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 triple"/></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 triple"/></block></block></list></block><block s="reportVariadicEquals"><list><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 triple"/></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 triple"/></block></block></list></block></list></block></block></script></block-definition><block-definition s="status of all winning triples" type="reporter" category="variables"><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" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>opposite letter</l><l>blankCHECK</l><l>blankFINAL</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="letter"/><l>X</l></list></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="reportVariadicEquals"><list><block var="blankCHECK"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doSetVar"><l>blankFINAL</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><block var="item"/><block var="letter"/></block><block s="reportVariadicAnd"><list><block s="reportNot"><block s="reportListContainsItem"><block var="item"/><block var="opposite letter"/></block></block><block s="reportNot"><block var="blankFINAL"/></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition></blocks><primitives></primitives><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="422"><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="423"></list></costumes><sounds><list struct="atomic" id="424"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="49.999999999999865" y="-49.999999999999915" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="429"><costumes><list id="430"><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="431"></list></sounds><blocks></blocks><variables><variable name="position number"><l>9</l></variable></variables><scripts><script x="20" y="10"><block s="receiveGo"><comment w="156.66666666666666" collapsed="true">Connect this to the script below it in For You To Do 5.</comment></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="show"></block><block s="doSwitchToCostume"><l>Empty</l></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><comment w="90" collapsed="true">X plays first.</comment></block></block></script><script x="20" y="211.5000000000001"><block s="doSetVar"><l>position number</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></script><script x="20" y="254.50000000000009"><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="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block></list></block><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><list></list></block></script><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block></list></block><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><list></list></block></script></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="turns"/><l>9</l></list></block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>It&apos;s a tie!</l><l>2</l></block></script><list></list></block><list></list></block></script><list></list></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="4.999999999999967" y="4.999999999999961" color="243,118,29" hidden="true"/><watcher scope="Square" var="position number" style="normal" x="10.000000000000032" y="103.0000019999999" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="13.870967741936559" y="17.74193548387101" color="243,118,29" extX="80" extY="70.00000000000006"/><sprite name="Sprite" idx="2" x="-999.9999999999997" y="-1000.0000000000005" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="155.54999999999998,0,37.33200000000003,1" pen="tip" id="629"><costumes><list struct="atomic" id="630"></list></costumes><sounds><list struct="atomic" id="631"></list></sounds><blocks></blocks><variables></variables><scripts><script x="46" y="59.33333333333337"><block s="gotoXY"><l>-1000</l><l>-1000</l></block></script></scripts></sprite><watcher var="turns" style="normal" x="12.800952065400544" y="104.32256624901109" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="640">1,2,3,4,5,6,7,8,9</list></variable><variable name="turns"><l>0</l></variable></variables></scene></scenes></project><media name="U3L1-TicTacToe" app="Snap! 10.1-dev, 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>