<snapdata remixID="10142229"><project name="U3L1-Tic-Tac-Toe Setup" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAbdUlEQVR4Xu2dB1iVR7rH/4eOHEAFewEVCyho7AU1ltjAbqJZzVp3Y252Ezf3Jntb4mY3u3eTzZObvUncuJtmNIkRuyIdC4oNBRQVxAZ2qojSpNznP/gdv4MHzgdysnCceR4fgTPfzDfv/M47M++8846uqqqqCjJJCfyTJKCTAP6TJG+Bau/cuYNTp07B0dERrVu3hk6ne6JaHBwcgMoK5OZkPSqH6qoBxVaUl8OtlQcqq4Dr16/Dw8MDAwYMgADw1q1buHTpEgoLC5/ohRvzYQqvS5cu8PX1bcxirbqsqKgoeHt7N1ob80+E4vb2/4FPS1uU6+yQ59pDsKcwqGax5t8qKiuRmZmJ9i426OpYLKDtPO1V3PadDw66paWlqKiogC47O7vq/Pnz6NSpk3jxvLw88e2pK927dw82NjZo0aJFozXWVEEPHjxAbm4uhg0bZtF6rKHw5ORkofHs7OxEc/gzO1r5X93Gmn8zlYf5M0Pew6iig6jS2eL/nAKw2nY3Kh0rzYrLp8AHX0z5Al5dvFBSUoKkbZ9j6p3tsPUPws1hq8B+ZZ0XL16ELiEhoYrqUEmvvPIKFi1aBHd3dyQkJOCFF17A999/j1mzZiE8PBz9+/fHtm3bMG3aNAwePNjsyzxphqtXr2LQoEEWh/1J3/Of/fy+ffuMFMdf//pXDBw4UCgKKhVqRo4mtra24GdlZWWYO3cuXF1dBaiVlZXi/6KiIvj4+IjmZG15F8NKT+JT10F42387erTsgXSHdFQJHahK/NWm+nddhQ6hFaHo1bGXUZZr6/8Ng3w64uqgXwkAma5duwZdREREVc+ePQ2Z161bh7Nnz6K8vFzAd/LkSdEwzi+cnZ2RlpaGUaNGoUOHDnjmmWcsLneqadb9U8Bu8cZYsIKYmBi0bNnSUENWVhaWL1+O/fv3IyMjA3/+858RHByM0aNH48SJEwLAM2fOCED5HBlg33fu3BmrV69GQUEB8nf8CYcdy/F7/z0ob1OOja03Iu5uHOxt7dFC1wK5pbm4df8WBjgOwBbXLUgpSUG73HaI6xknylWnC5HfYKQ+F1cGvCLqZuLUT7dr164qPz8/Q97Y2FgBH78ZnBN6eXkhPz8fnJDq9XrcuHFDfIv69u0rwFSr+domvVryKC9gKu/NmzcF9DLVLoHo6GjRZ0r6+OOPsWDBAjHMUVFs2bIF3bp1Q2BgoFAq1EJxcXECNE5xZs+ejY8++kgomXfeeUf0c2HoB2hjfxjTRmfhhnMF3nd6H0nFSUh3TsdKh5XIL8pHmb4MVQVViNXHIrYwFo4ljohxiEH7tu0N78I+TVn3Nib0aoUL/X5hAFBowJ07d1ZRNSvw1ARA+Z2lKRab+uQVarmW+Yi6HOVt1XmVOm/fvi0BNPPt43SJCsPe3l7k5EqYmob/cx7m5OQktBKHWCb+zoUA5/FUOEriM1Q2/Kwk8n8xvPQ4LurLMXV0FuzdO8HN1g0ZZRlob9cezrbOSC9Ox1D9UMQVxqES1fPDGedm4MNRH4r6yMzB2EiMTv0YbQZMRJrvUlE20+XLl6HbsWOHQQMys1NpPtLiw1Bpfq5pEYXUrld/uHTtZ4CdlRBAfnNlqlsCGzZsEENoYyXPjGh4n1tPzYMr+kpk9RwGG9iIOaDuoS1G/bNQGA8/q0irQFuPtrh27Sp8H5yHp10p7Mb9Gkedh4q+LS4urjYVbdu2zQBgS3d3xKwaiYkdy3DLpSfy+r+EUpf2qNIZj+eN1UChHVEFx6JstEpaB6/iNNjYO6H49UNi3qckzmckgOalTplFREQIjcdF5JMmDsft27d/Ynuiuh855HNR1KdPHzEf1W3dutUAIFfD6W/6Q+8dgMpZ78PdvaWonCr5VsJeFGReRIWGjZPSkhL0mzIXVa6eyMnJMcwTSbyillkuvwX3798X9iB+yxyi/gifwiSUvpUonlO/OF9WJm0SIIDKMKftiZ8ul2K+4zpCKKAtW7YYA/hWAErmrUE3vwGGt7p3/TJOvjUTwzztNRvBW01/GUXPvYy7d+/CxcVFfCs5H1EqZuH8xlIdc+5y+PBhDArww7D9r6HszQQjALOzs8W3RSbrk4Bu8+bNYhHC1KZNG6S99QwcVm5BVnY2Tp8+jfnz5yMpZjd67lgNR5tHezC2bq1Ref8ubFzcUHE37zHJuE1bjuLJ/yLgUgCkJlUAJHgcWuPj44WNcc2aNVjy85fguXER7N7YC0KnJGrDMWPGWJ/0ZYugCwkJMQbwtwPh/Op2YRvaunUr5syZg6SYUPTZ9Ts4qAC0aeGGzu9uxo33l6I857pJAO8/t1KAdPz4cYwfP15Y6dUakADSxMP5Co3by5Ytg/uGBXB8I1bAqayICeDYsWNld1mhBHSbNm0yANi2bVuk/XYgHF/ZKuYQNFROmjQJJyJ3wnf3u0YAOvsHQj9kMopOxeF+QqRJAO9NfFks+zt27ChAJFBqAyUNoj169BBWeNZFe1TL716Ew29iBIBK4nacBNAK6eMccOPGjYY5IAE8/++DxBCstqqnHd6LHpv/A/YqDWhOHO7Bv0TBs8vE3E8ZggmgWgPu3bvXMC8kqCNHjkTrHxbCflX0YwA+++yz5qqUnzdDCeh++OEHIwDT/2Mw7H4ZYgQgFw+upyJhU1ygrYk6HR70fRb5dtW7KYoxmzsp6t0SAqhO3O3w2LhIAEjbn5K4bJcAahN9c8ul+/777w0AtmvXDgTQ9hebBIAKOK56PeI/XY2K1MMof7iRXFdDdTY2GPebP+Jux37C1ELrPK3tXISoh2BuoCuJdVEDtvnxJditiq7eJ3zoz0YAx40b19xkK99XgwR03333nWErjgBe+M8h0C3fKNyg2PFDhgzBrTMnoPv76+jiot0g7TZtBfLGLBHgKUMw7X21Ach3HTFiBNqGLBYakAAyEUwuVLiIkcn6JKDbsGGDEYAX/2sosOwHAc7BgweFa9aRPVvgH/ZHo0WIzsEJLacuQ3HqcZSkHX98ETJ1OXJGLxYLDAVAboBzDqhoVnpqqDUgAWy3eQnsXo8CHRCUVTDthRJA64OPLdKtX7/esArmtsul/x6GyiXfCW9WT09Psbd4en84AsL/ZASgx/w3UXhoB9wnvYTsr942CWB24M/FHJBeF9OnTxcra7UGVAPIAoYPH44OW5fB9rVIAaCSCOCECROsswee8lbpvv32WwOA9PEjgOU/X48DBw4Ib4qFCxcKO2BAhDGANs4ucJ+8BCXpiSg+E28SwNsjFwktxsUH54IKgIpXDetQJwLYcRsBjBLuQEri/qEE0DpJ1a1bt84IwMtvD8eDl741WgUX3MhAu7XLYVePwyitn/8NMvsGCb8zrqL5P7WfehVcE0DaATttXyE0YE0AJ06caJ098JS3Svf111+LVTC1Es+FEMDShd8YAcgdDD9fX2RcOG9wJjQnNw69NvYO4l9tiUOzOhHAzjt+IQDkySm1BnzuuefMVSk/b4YS0H311VcGDUgAr7wzAiU/+9oIQHcne+xaHIghHnaoz0k/zx5+wGtfitU0XXuYeKBJ+TkxMVH8zkTtSLf7rrtehs2vI6rPCzysjA4NEsBmSJeGV9Z9+eWXBgC54CCARQu+FOcIuBLmgaDMk4fQbecf4GZf9xjs1GsgSs6fNKrW5qNjwuulVatW4u8Ei964CowXLlwQ9fBMAsH02r1SAMjDSEqiNuWWoEzWJwHdF198YQRgxuqRuD//CwHM2rVr8dZbb+FY2DYMT90Kz8kvoSQtAc59R8DGyQVVZaUou3kJOhtboKoSjj4DUJZxDlWVFcjf9mm1tD48IlyyFAAJlgKgWpycAnDR4x36ikkAJ0+ebH3Sly2C7h//+IcRgJm/G4XC5/+OlJQUcaDljTfewJHQLRhzNxmthk5CyfkTsG/vDZsW7qi4mwOdrR2KkvejxcAJ4hR9VUkRYGuHvJCPhHir/nJYmGLo7bJy5UpQ43FRYipxldw97FXofhVupAE5TEsArZNW3dq1aw1bcYxEkEEA560VNkBux3H4PHcwGoP3fgi3XgNRmnkOtvqWALVeRTncpyzBvaNhKL18Go7d+qHltOW4E/ql+J2p8oN4Mc9TNCDti9ya4/zuxx9/RGRktScN5390x+oR/isBIKcAyhyQz0+ZMsU6e+Apb5Xu888/N+yEEMDMd0ehYM7nxs4INkCrnR+g/Hp6vcTVYtAEZAUuER4xIs4IINyzlNP7/P29994T3s8ffvihcM3vGfka8GqYMIQLDfrwsLQEsF6ibzaZdX/7298MQzDPAHMIzp+9RhiO6ZFCKLgQUYdvqHnMsrbfKQUtYSC4XUf4eUyvVxQBDMeVK1cMzxLaqVOnNhuhyhfVLgHdmjVrjAC8+m4g8mZ9JiIg0PRBAGmvY5gHJdFZlL6DphIPGRFe4cKlOijN2CX8vXv37o89xtU3XbO6du2K3tGrhAYkgEoigAwFIpP1SUD32WefGQBk/BACmDPjExEHhrsRS5cuRXp6OoYOHWpoPYdM7mJwdcvjdfy8d+/eAtZz584Jrxba/rj7QY9nardDhw6JhcWKFSsMtj8WyM/olkXACbZv7BsCQGpDJRFoCaD1wSdGyE8//dQIwJt/CMT5wN+j9EG5ODXPeCI0x9QEkKtZHuOkpuOuBbUb81Nz0oWL+7/Mw6OYdMlnBC4CzRAQdK9iouajQwLho/NBQV4OJp15D/dfiX4MwKCgIOvsgae8VbpPPvlEAMjJPmOHZL0XiIxuM3DZ3lscBudZDbpT0VNGSfyd8zYuLKjluMjgP7pv0WDMzxUHVD5D4Gj7c3NzE2dDWBc1H+Fj3BLCRxtgWdp+zCzciayX9xkAVOyDUgNaJ6niYLoyV1MA7N6mBXa7zUCxe3d07NRJAGUujgtBoUbkHFA5FF1XnBkCx9Uw66bJRX/vKgalfwl3mxIBoIgdp9MJMxA1pKm5o3V2ydPVKl18fHwVV7scPlu6u8F103J0sauOlJpS1hY3K/SoEJFAGESjOi6c8vPj0TKVv1TnMo6lqQjW+O+MNNLO9j4CHB6eAXHUI3PBZrFlx0TtuHjx4qerV56i1ooQvTt27BC7FTyY7uWphy730QLgJ5eFRzdk5N4XQzvnjJyD0k9RJuuUgCFIOVe29E7hivNJUm0xAutTJj1jOEcMCAioz2MybzOUgIyS3ww7zZpeWQJoTb3ZDNsiAWyGnWZNrywBtKbebIZtkQA2w06zpleWAFpTbzbDtkgAm2GnWdMrSwCtqTebYVskgM2w06zplSWA1tSbzbAtEsBm2GnW9MoSQGvqzWbYFglgHZ1Gb5ysrGyjuNb16ePqqyiqXd0amkpLyx5eFlR9B1xDkp2dPYYOHdKQRy3+jASwDhGfTExE1y5d4OKib1BHlJc/wLp132LBgvkNep4P8WZLnqP29/dvcBlHjx5DUFDTPNQlAayjW5OSksTlzWVlD4QzroeZm+SVouhbefduIdq2bYNvv12P5cuXGdVCr/Gk5GRkZ+eg6P49UEPpXV1FBLKuXbsYBfE8evSoAFB9KrG+JO7ffwBjxzbNi34kgBoAJADR0TFiGKPTbl2pOgzJdkyZMllEg1ADyHM0p06dxtVrVwVQbdu0EXAph+/PnksVHuBjxowGL45kkgDW9+tmRfkVDahEeI2IjMIoRvJv42mylYWF97ApJATBQdPAgO/06lYDePjIETg6OKJ//4Ba55W5uXmIjIrCtKlTxA1SEkArAqq+TVEDyGd5kCoyMkrc6FQTQg6527dvF0GU2rWrPrSvBpBnolPT0jBxwgSz15/yhoJDh+IRHBwkrjmTQ3B9e85K8tcEkM0qKipGdEwMRgwfboBQ0XxB06YaHV9VAFy2bClC9+zBuGefFScMtaQDcQfh06MHrl6tDuYk54BapGZleUwBqGjC8IhIAaGjo4OY8zF2DRcd6qQAuHDhz7B79x7MmzdHs4Ty8vKRcuYMHB3sJYCapWZlGWsDUNGEYWFh4qD9rFkzjTSfIgYFwBkzpoMmncn1iPLK4X7fgTi4u+olgFbGlebm1AUg4+JsCtkshtSJE8abXB0rAAYFByMtNbVephA+u3fffri7uUoANfeYlWWsDUDO+XiX8uTJk8RKNTZ2r0kTjQLgiy8uwJ6wcMybq30IZh1cgLi4tJAAWhlXmptjCkCudkM2b8b04GDDnI9xcWiiGTmCC5NH80AFwKVLl2DHzl1iVWtvZ6ep/qSkZLGFl5+fJwHUJDErzFQTQGolxrqeNOm5x+Z8hDAmRtGE1XZCtRnm7LlzwowzoH9/s5JibJ3Q0D2YPj3YsBUnV8FmxWZ9GdQAcoeDc77goCCDna9mixlVIjIyGiNHjhAmGjWAjJ0YHh6BAQP6iwuBakvMt2dPGPr37y+25aQh2vq40twiBUCGG9mypXrOxx2OuhK1V1R0DIYPHwZ3NzejnRACyaG6fbt26OffD06q2wK4HXfr1m0cO3Ycvr690atXL1GNBFBzd1lfxkfOCGWoqKisdQvOlCZkWGHGQ6zpjEANd/HiJVy6fBkPHpSj8G4BHB2d4OjkhFYtW6JfPz+xsFGSBND6uNLcIrpCde7SBXqNuxc1C35QXo6QTSFYsWL5Y3VS4zGIJ/8xGBM9YmxtH78QXAKoubusL+O+fftFXGsHB9MX65hrMb1fIiLC0bOnj7mstX7O8McM5Glu6K+rgjt3CvCXv3zQ4Hew5IPSHasO6SpDMB1S63NJo1JkTW8YdVWVVVUoLSkRGpBzTMba5p5vzSQ1oCXxb+JlKwDSASErOwt9/fzMerKwSbw1oLKyCt27d3tsDkjg+Pnly1dQVFyC4iI6pNrBydkFHh6t4d+vr+FWKbkIaeKAWPr1HmlAFxw7flwEWg/w968TwnOpqTiVfErsD3Nup16EFBeXICo6Gt5eXvD17fOYxqMv4KH4eHTz9ka/fn1FPVIDWrqXm3D5ajsgFw3x8YfF7gRteaYiwfKKisSkZMydM1vApR6CqfnCwsIxXOXGZarpXCXT55DzRh4HkAA2YUAs/Wo1d0II4fHjCUIT8pCQel6YlnYeyaeSMWvmTMO9eGoAk5NPidelN7S5xB2TXbtDMT04SIRNlv6A5iRmpZ+b2gvmyvbYsQTY2tlgyODBouUcdpOTkjFnzmwDfPy70V7wjl2YPj3I6KLGusSWknIG9g72uJOfLwG0Ur7MNqs2bxhFE3LlylveqaUIX81VrALg/PkviO21F1543mydSgZeUXv02HHopTeMZplZXca6/AGpCUNCNotLFVetet3kJdwGf8CgIHFVGU+7aU3SH1CrpKw4X10Anj+fLjSfl7eX0IKmVscKgDNnzkDCiROYMnmyZmlxHrh/fxzc3KRHtGahWVvG2gA8e/YcTp0+LUwtDvb2SEg4AVs7Wwx85hmj1bEC4KJFC7E7dI9YHWtN2Tk5SE1NFeXLRYhWqVlZPlMAUvNxj5jzOdr5mDgnPHz4CPR6l4erY15H9mgRsmzZMnH97ejRgeIWUS2J24B9+vQW9+hJALVIzArz1ASQdyEzsgE1Hxcg6kQIhbHa0QkBAdXGarUZhhEP+CydWc3dJsWDTseOJ4jD6ceOHZMAWiFbmpqkBpCLiJMnEzFv3txaTSmEkDsZer0r+gf4i31e9U4In6e/4JAhg2stg/FiYmJiERw8TWhLaYjW1FXWmUkBkK74vAuZxytrar6aLVc0oaeHp/BoVgPIz86cOYsLFy7CP8AfnTp2EHZD+hrev38Pp06noPBuIcaOHW0YqiWA1smWplYpABKSap89bQeKFF8/VmIqOlZRcTHSUtOQk5uH/LxcODu3gJu7m4iE0KFDexkdS1PvPAWZGFeP1x63cHZuUGvLyysQFRX1RPEBExIScO9ekfCsaWji9IHhQZpikv6AdfRKXNxBZGVlwcmpYQ6pdCzganb8+HEN7nu6bnl7e6Nv334NLuP06dOYW48zyQ2uqAEPSgDrEBrP5vr49NBsOqlZFFfB69atw4oVKx5bMTNIZWJiEjIyrghD9oBnBqKbt5fR8MuHjhw5IlbBgwYNEqtqU06rtTVByX/w4CEEBo5qAB6Wf0QC+BMDyNBrCSdOglt5fn5+8PRoLcBKT7+A6zduoFu3bujX188QP1ABkOeCw8IjMGTwILNBMtkk2itpNuLCiaHeJICW/zI1eg2NrQGvXbuGxMRkBI4eJU7A1Uwcsk+nnEFmZiamTZsKO1tbIw3Ik3YxsXsxfNjQOiFU79Tw6KfUgI2Oxk9TYGMCyJAeUVHRmDlzutnV9OmUFBTcKRBaSz0Es9XcIw4Li8DIkcZhQBSJmNqpkQD+NLw0ei2NCeCBA3Hw6emDjh06mH1PmnEYmmPMmDE4e/aMYQ6oPMgIDNSEw4ZSEz4KFyx2arhHPdN4p0YCaFbkTTNDYwG4ePFibN+xU0THMrcNp0ji6tXruH37FnjVg7IIUUuJOyrh4ZEGTVjXTo0EsGnyZfatGgvAefPmiRBudFrVmhjs6OCheINDKlfBNRM1YWzsPrRu3UqcX6bbl6mdGgmgVqk3sXyNBWBQUDAuXb4kIuxrTYyqsHfvPrg9jJBqCkCWxbMm33yzDm+++a/o2LGjyeIlgFql3sTyNRaAzz//vNCAs2fP0txCHuGk+USvrw5QaQpADrt8x6lTp4BzzNruMZEAahZ708rYWAAuWbIE27bvqNcckH6AOTm5ePCgzCSAXHBQ+xFqDrscjmu7x0QC2LS40vw2jQUgd0LosNrVqys61TJMql+KRurdoaEYP24cUlJSHgNQHAdISsTcOXOMTDq13WMiAdTc5U0rY2MCyK03xomeMT3YrEsX6y0tKxVmlpp2QGFkPvVI89WUGMOIxMQwPuGje0wkgE2LK81v05gAslJ6OnNlGzhqlMlYg9ySox0v63aWCIZJFzA1gMLInJiIF56f99iesbpR1ITKPSa0E0oANXd508rY2ACydXcKCkA3L8LWs2dPeHp4gCaXjMwM3Lx5C3169xZxY5TzJuq9YO6kjBk7xiiyam0SoybkRTdDhwyWADYtrLS/jSUAVGrnRdR0tUpLS4WHhyd8/XzF7Zk1DdU1h2Dtb/8op9SADZFaE3iG7vD0XmEsmIYkxR9wwoTxDXlcPHPhwgXY2Nqha9euDS6DbXjxCS7NbnDFGh6U7lgahCSzWE4CEkDLyVaWrEECEkANQpJZLCcBCaDlZCtL1iABCaAGIckslpOABNByspUla5CABFCDkGQWy0lAAmg52cqSNUhAAqhBSDKL5SQgAbScbGXJGiQgAdQgJJnFchKQAFpOtrJkDRKQAGoQksxiOQlIAC0nW1myBglIADUISWaxnAQkgJaTrSxZgwQkgBqEJLNYTgISQMvJVpasQQL/D0umI5UGY01yAAAAAElFTkSuQmCC</thumbnail><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" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Square" idx="1" x="0" y="-150" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAx0lEQVRoQ+2awQ2CUBAFlybwSqzEWiTfoozWwhViONiRiYkFvMsEf4b75LEzHBmqs2eoqktVLT3cNU3n/XvQdW7L83H/65vW7VW31t4edNSMFjpqmd97WchCsAE/OVh4PGehWBkMWAgWHs9ZKFYGAxaChcdzFoqVwYCFYOHxnIViZTBgIVh4PGehWBkMWAgWHs9ZKFYGAxaChcdzFoqVwYCFYOHxnIViZTBgIVh4PGehWBkMWAgWHs9ZKFYGA30X6uWPxnE8bR/Jtp2GcsP1ZgAAAABJRU5ErkJggg==" id="10"/></item><item><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAACBUlEQVRoQ+3aO0/CUBQH8MMGIRFnooaRL0BgdCIGqQnxASgQjMjqc3A04maM38KwOTqqm8YEFx+rr0QdcSMupiQ1olTOvfec3hZha9LH/d1/e8M/rQ8AIoaR2QoG/X7w+K/V+rj2AcB4LBY/LpUXPQ16e32Bq0bjoQ3KZvNH9frhsJcDOr+4hN1abQBybYj/M6HHp2cYGx1xVSp2Y0IltFSpQjgchtrOtitQN7d3YKTTsLd/ANOZqY4xoUDN5jtUlqsQjUa1oyzMQqHYdSwokDkFbkD1wpjjRIN0ozAYYZAuFBYjBXIaJYKRBjmFEsUogbhRMhhlEBdKFkMCokapYMhAVChVDClIFUWBIQfJoqgwLCBRFCWGDYRFUWNYQb1QHBh2kB2KC+MI6Ccql8u2y5ldn+loaxIbQvVB4vxfh5h9qlAswdnpCaysrrEVRcdA5m02mUpBIBCAmdk5b4O+PzObG+usdZ49oW4LAGedZwX9tZpxodhAmKWZA8UCwmCs5Y8aRQ4SwXCgSEEyGGoUGUgFQ4kiAVFgqFDKIEoMBUoJxIFRRUmDODEqKCmQExhZlDDISYwMSgikAyOKQoN0YkRQKJAbMFgUCpRMTkA8kWBrmaLV3vpDm8vPy700duNrfRMVCg39mgtUQqIzqHP/AUjn7GOu3d8J9dsHgBEAKGNi9cA+958uiHxCYDA7+gAAAABJRU5ErkJggg==" id="11"/></item><item><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAEYElEQVRoQ+2aS0wTURSG/66Vx0oXCCIK1MfCFoxuFERDjOArahR8xKgFJS4kRuOGUsrGIBUXxgfFxKhA8REfYGKIiujCB9BqIoiSaAQV3fHQNeaMuUlLZzp3Zu4URCZpuui9Z853/jPn3numFkyxywIgG0DbVOBKTk7pkoD2H3C0Xa6r/aeZXr7qQJHD8XYaaLLKOK0QrzKtj57A7w+g7+MHtD15jM+fP4VN3bZ9BxISErDUZkfO6iwkJc7hNa84TqhC/QNf4fXWof76NWRkLpM+drsN1vQ0WWfp5r0fPuJNwI/79+5K43cWFGLrlo26wYQABYMUHSpBYcEOXdG+fec+fI0NGB4aQvHhEl1ghoGuXK2H2+UEgRwudiAuLlZ3dNlEStfqqiokJiWhvNypKTi6gYaHR1DuqkBPdzfclZVYsXyZYZBgA2T/wiUvai+ex8VaL3LX5nDZ1wVENzvoKEJsbCzOeKqFqKLkLaXh8WOlOO2p4UpBzUAMxmq1otLt4oqa0UHdPe+xIT+fC0oz0IGDRYiJicHZGo9RPzXNJ6glixfhxcvXEdNbE9C585fQ/rQNdd5aU9NMLf0CgYDi/bmBWITedfdg8aKFmqIrcvDR0mOSOaUM4QaiVLPZM3CkpFikf5pt0TNss9nQ0OiTTT0uIBpUWLATkaTW7JmBCZT6AX8X5I46XEAk84LUtAlXh8WAqdTc0hKW/qpAtK2Zm5SIoaHhCSkESkKeqvLg96/RsKVDFYi2NrR5jHaZVstIKlKlR0vR2vowZKgqEKXbylVZXKu0mhOif09JmY/xaacKJDdJtGN67ckFWxXIYrFgbGxM7z1NnUfVjq7gpSQiEP3o8Xhw84bPVMf0GqdjRpPPF1K+VYG8Xq9svdfrhMh55Px4/6aBREbYqC3NCinVeqOOiJpPh7/nz9pD1sj/q8pRJHNz15nSMxChEp0A1uflhyz6qgqVOV2YvyAV+/buEuGDUBu06D9tbw/pCqkCsV7ZZFuLWKtL816Oturx8XH40j+gqT8mVAoZY5Q5M2bG4OSJvydYdqkqRAOVJpvttJL9SEHmAqIzUXZW1qQ6sf78MSjbRuMCYirRd7R6cUrqsAOn0iPADcRUUmpORCv9qFSnpqWHPTuaniE2mLVlJ6pZQsfurs6OiH1BboUYFBWI3t7eqDcbWTDlGiOaq9z4dIo2FC8M+alZofFKuVzlpnZS6VR6proqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY6C/HzVna7iDZgiISewsK5PetjkcDsMvvmjRvFbfKKmi562gYSCCCnZidc6asB0wT0knRRoamyTFyYbe4AgBYg4T2J17zXjQ0iyV142bNkst5MwMuzRkoTVd6r7SwXF09Be+fR9EX1+fNJY+u3bvQV5eniGVhQIFK0ER7+j0Sw7TfxVGRkZw62aTNGTevBRJBXpxxoBFvaM1DYgnzcwYMw1kRlRF2pzaCk2VfzTOmjX71R8xTomk2qlpUgAAAABJRU5ErkJggg==" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="square number"><l>9</l></variable></variables><scripts><script x="10" y="10"><block s="receiveGo"></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><custom-block s="Makeboard"></custom-block><block s="doSetVar"><l>X&apos;s Turn</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>Empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l></list></block></block></script><script x="10" y="210.83333333333348"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="10" y="281.66666666666663"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="reportAttributeOf"><l><option>costume name</option></l><block s="reportGet"><l><option>self</option></l></block></block><l>Empty</l></block><script><block s="doIfElse"><block var="X&apos;s Turn"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="square 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></block></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="square 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></block></block></script></block></script></block><block s="doSayFor"><custom-block s="Wins? %s"><l>o</l></custom-block><l>1</l></block></script><script x="254.9999999999999" y="437.6666666666677"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="Status of triple %s"><l></l></custom-block></autolambda><list></list></block><list><custom-block s="Tic Tac Toe wins"></custom-block></list></custom-block></script><script x="421.9999999999999" y="498.0000000000006"><block s="show"></block></script></scripts></sprite><watcher scope="Square" s="xPosition" style="normal" x="5.967708333333235" y="5.967708333333341" color="74,108,212" hidden="true"/><watcher scope="Square" s="yPosition" style="normal" x="5.967708333333235" y="18.49989702687502" color="74,108,212" hidden="true"/><watcher scope="Square" var="square number" style="normal" x="8.5" y="8.499999999999993" color="243,118,29" hidden="true"/><watcher var="X&apos;s Turn" style="normal" x="291.9838541666668" y="1.9838565537499875" color="243,118,29"/><watcher var="board" style="normal" x="0.32961165048550356" y="4.988834951456312" color="243,118,29" extX="80" extY="70"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><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></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="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><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="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></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></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><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></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></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><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></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></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></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="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></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="reportGreaterThan"><block var="i"/><block var="end"/></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></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><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="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="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></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></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></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></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></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></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></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></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="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="Xs turn?" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="Makeboard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>square number</l><l>0</l></block><block s="show"></block><custom-block s="for %upvar = %n to %n %cs"><l>row</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>Colum</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>square number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></custom-block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="hide"></block></script></block-definition><block-definition s="Tic Tac Toe wins" 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 triple %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></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="list"/></block></block></script></block-definition><block-definition s="Wins? %&apos;Winning player&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="for each %upvar of %l %cs"><l>item</l><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="Status of triple %s"><l></l></custom-block></autolambda><list></list></block><list><custom-block s="Tic Tac Toe wins"></custom-block></list></custom-block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>Empty</l></block><script></script><script><block s="doIfElse"><block s="reportAnd"><block s="reportListContainsItem"><block var="item"/><l>X</l></block><block s="reportListContainsItem"><block var="item"/><l>0</l></block></block><script></script><script><block s="doIf"><block s="reportListContainsItem"><block var="item"/><block var="Winning player"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></custom-block></script></block-definition></blocks><variables><variable name="X&apos;s Turn"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="857">x,o,empty,x,o,empty,empty,o,x</list></variable></variables></project><media name="U3L1-Tic-Tac-Toe Setup" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>